123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- //
- // KMBatchSettingView.swift
- // PDF Master
- //
- // Created by lizhe on 2023/1/16.
- //
- import Cocoa
- import KMComponentLibrary
- class KMBatchSettingView: BaseXibView {
- var currentView: KMBatchSettingItemView = KMBatchSettingItemView()
- lazy var itemViewArray: [KMBatchSettingItemView] = []
-
- var filesData: [KMBatchProcessingTableViewModel]? {
- didSet {
- currentView.filesData = filesData!
- self.reloadData()
- }
- }
-
- var type: KMBatchCollectionViewType = .convertPDF {
- didSet {
- self.reloadData()
- }
- }
-
- var subType: Any? {
- didSet {
- self.reloadData()
- }
- }
-
- var isDisable: Bool = false {
- didSet {
- for item in self.itemViewArray {
- if item.type == type {
- item.isDisable = isDisable
- }
- }
- }
- }
-
- override func setup() {
- super.setup()
-
- self.wantsLayer = true
- // self.border(ComponentLibrary.shared.getComponentColorFromKey("colorBorder/divider"), 0.5, 0)
-
- self.type = .convertPDF
- }
-
- func reloadData() {
-
- if (self.type != self.currentView.type) {
- let view: KMBatchSettingItemView = self.fetchCurrentView(type: self.type, subType: self.subType as Any)
- self.currentView.removeFromSuperview()
- self.addSubview(view)
- view.translatesAutoresizingMaskIntoConstraints = false
- NSLayoutConstraint.activate([
- view.topAnchor.constraint(equalTo: topAnchor),
- view.leftAnchor.constraint(equalTo: leftAnchor),
- view.rightAnchor.constraint(equalTo: rightAnchor),
- view.bottomAnchor.constraint(equalTo: bottomAnchor)])
- view.updateConstraintsForSubtreeIfNeeded()
- self.currentView = view
- } else if (self.subType.debugDescription != self.currentView.subType.debugDescription) {
- self.currentView.subType = self.subType
- }
- }
-
- func fetchCurrentView(type: KMBatchCollectionViewType, subType: Any) -> KMBatchSettingItemView {
- var resultView: KMBatchSettingItemView = KMBatchSettingItemView()
-
- var isExist = false
- for item in self.itemViewArray {
- if item.type == type {
- isExist = true
- resultView = item
- }
- }
-
- if !isExist {
- switch type {
- case .convertPDF:
- resultView = KMBatchConvertPDFView.init()
- resultView.batchExport = { [unowned self] (view, data) in
- KMBatchManager.manager.batch(type: type, data: data)
- }
- break
- case .OCR:
- resultView = KMBatchOCRView.init()
- resultView.batchExport = { [unowned self] (view, data) in
- KMBatchManager.manager.batch(type: type, data: data)
- }
- break
- case .compress:
- resultView = KMBatchCompressView.init()
- resultView.batchExport = { [unowned self] (view, data) in
- KMBatchManager.manager.batch(type: type, data: data)
- }
- break
- case .security:
- resultView = KMBatchSecurityView.init()
- resultView.batchExport = { [unowned self] (view, data) in
- KMBatchManager.manager.batch(type: type, data: data)
- }
- break
- case .watermark:
- resultView = KMBatchWatermarkView.init()
- if let view = resultView as? KMBatchWatermarkView {
- view.editSubType = .template
- view.reloadInfoView()
- }
- resultView.batchExport = { [unowned self] (view, data) in
- KMBatchManager.manager.batch(type: type, data: data)
- }
- break
- case .background:
- resultView = KMBatchBackgroundView.init()
- if let view = resultView as? KMBatchBackgroundView {
- view.editSubType = .template
- view.reloadInfoView()
- }
- resultView.batchExport = { [unowned self] (view, data) in
- KMBatchManager.manager.batch(type: type, data: data)
- }
- break
- case .headerAndFooter:
- resultView = KMBatchHeaderAndFooterView.init()
- if let view = resultView as? KMBatchHeaderAndFooterView {
- view.editSubType = .template
- view.reloadInfoView()
- }
- resultView.batchExport = { [unowned self] (view, data) in
- KMBatchManager.manager.batch(type: type, data: data)
- }
- break
- case .batesNumber:
- resultView = KMBatchBatesNumberView.init()
- if let view = resultView as? KMBatchBatesNumberView {
- view.editSubType = .template
- view.reloadInfoView()
- }
- resultView.batchExport = { [unowned self] (view, data) in
- KMBatchManager.manager.batch(type: type, data: data)
- }
- break
- case .batchRemove:
- resultView = KMBatchRemoveView.init()
- resultView.batchExport = { [unowned self] (view, data) in
- KMBatchManager.manager.batch(type: type, data: data)
- }
- break
- case .imageToPDF:
- resultView = KMBatchImageToPDFView()
- resultView.batchExport = { [unowned self] (view, data) in
- KMBatchManager.manager.batch(type: type, data: data)
- }
- default:
- KMPrint("找不到")
- break
- }
- resultView.type = type
- resultView.subType = subType
- resultView.filesData = self.filesData ?? []
- resultView.isDisable = self.isDisable
- resultView.reloadData()
- self.itemViewArray.append(resultView)
- } else {
- if resultView.filesData.count == 0 && self.filesData?.count != 0{
- resultView.filesData = self.filesData ?? []
- }
- }
-
- return resultView
- }
- }
|