//
//  MPPositive_CollectionListsShowTypeView.swift
//  relax.offline.mp3.music
//
//  Created by Mr.Zhou on 2024/6/24.
//

import UIKit
///收藏歌单View
class MPPositive_CollectionListsShowTypeView: UIView, JXSegmentedListContainerViewListDelegate, UITableViewDataSource, UITableViewDelegate  {
    //tableView
    private lazy var tableView:UITableView = {
        let tableView = UITableView(frame: .init(x: 0, y: 0, width: screen_Width, height: screen_Height), style: .plain)
        if #available(iOS 15.0, *) {
            tableView.sectionHeaderTopPadding = 0
        }
        tableView.backgroundColor = .clear
        tableView.separatorStyle = .none
        tableView.estimatedRowHeight = 200
        tableView.rowHeight = UITableView.automaticDimension
        tableView.dataSource = self
        tableView.delegate = self
        tableView.register(MPPositive_LibraryTableViewCell.self, forCellReuseIdentifier: MPPositive_LibraryTableViewCellID)
        tableView.contentInset = .init(top: 0, left: 0, bottom: 70*width, right: 0)
        return tableView
    }()
    private let MPPositive_LibraryTableViewCellID = "MPPositive_LibraryTableViewCell"
    var chooseBlock:((MPPositive_CollectionListViewModel) -> Void)?
    override init(frame: CGRect) {
        super.init(frame: frame)
        backgroundColor = .clear
        configure()
    }
    
    required init?(coder: NSCoder) {
        super.init(coder: coder)
    }
    //配置
    private func configure() {
        addSubview(tableView)
        tableView.snp.makeConstraints { make in
            make.top.equalToSuperview().offset(24*width)
            make.left.right.bottom.equalToSuperview()
        }
    }
    //刷新页面
    private func reload(){
        tableView.showMessage(MPPositive_LoadCoreModel.shared.listViewModels.count)
        tableView.reloadData()
    }
    //MARK: - 分页代理
    func listView() -> UIView {
        return self
    }
    func listWillAppear() {
        reload()
    }
    //MARK: - tableView
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return MPPositive_LoadCoreModel.shared.listViewModels.count
    }
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: MPPositive_LibraryTableViewCellID, for: indexPath) as! MPPositive_LibraryTableViewCell
        cell.listViewModel = MPPositive_LoadCoreModel.shared.listViewModels[indexPath.row]
        return cell
    }
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        let item = MPPositive_LoadCoreModel.shared.listViewModels[indexPath.row]
        if let block = chooseBlock {
            block(item)
        }
    }
}
