VCNhapMucChup.swift
4.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
import UIKit
import GeneralUtils
class VCNhapMucChup: UIViewController, IVCLoadDataTableViewUIThread {
@IBOutlet weak var edtTitle: UITextField!
@IBOutlet weak var topMargin: NSLayoutConstraint!
@IBOutlet weak var tableView: UITableViewLoadDataFromUIThread!
@IBOutlet weak var vTopLogo: VTopLogo!
@IBOutlet weak var btnNext: UIButtonCustomGradientBg!
var cTruong: CongTruong?
static func getInstance() -> VCNhapMucChup {
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let vcOpen = storyboard.instantiateViewController(withIdentifier: "VCNhapMucChup") as! VCNhapMucChup
return vcOpen
}
static func openControllerFromEdit(_ viewController: UIViewController, cTruong: CongTruong?) {
let vcOpen = getInstance()
vcOpen.cTruong = cTruong;
viewController.present(vcOpen, animated: true, completion: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
vTopLogo.leftBtnClick = {
self.btnLeftClick(self.vTopLogo)
}
tableView.emptyText = LocalizedString("list_empty")
CellMucChupWithDelete.registerClass(tableView: tableView, forCellReuseIdentifier: "CellMucChupWithDelete")
self.tableView.separatorStyle = UITableViewCellSeparatorStyle.singleLine
self.tableView.rowHeight = UITableViewAutomaticDimension
self.tableView.estimatedRowHeight = 150
if self.cTruong != nil {
btnNext.isHidden = true;
}
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
tableView.initAndLoadData(self)
}
@IBAction func btnAddClick(_ sender: Any) {
if let title = edtTitle.text?.trimAndReturn(), title.length > 0 {
for item in tableView.itemsData {
if let mc = item as? ShootItem, mc.name == title {
CommonUtils.showToastLong(text: LocalizedString("muc_chup_da_ton_tai"))
return
}
}
tableView.itemsData.insert(ShootItem(name: title), at: 0)
tableView.insertRows(at: [IndexPath(row: 0, section: 0)], with: .automatic)
tableView.removeAllLoaddingEmpty()
edtTitle.text = ""
} else {
CommonUtils.showToastLong(text: LocalizedString("khong_de_trong"))
}
}
@IBAction func btnRightClick(_ sender: Any) {
saveMucChup()
_ = getVcRoot()?.changeCurrentController(VCChonMucChup.getInstance())
}
@IBAction func btnLeftClick(_ sender: Any) {
saveMucChup()
if self.cTruong != nil {
dismiss(animated: true)
} else {
_ = getVcRoot()?.changeCurrentController(VCNhapTenCtruong.getInstance())
}
}
private func saveMucChup() {
var mucChups = [ShootItem]()
for item in tableView.itemsData {
if let mucChup = item as? ShootItem {
mucChups.append(mucChup)
}
}
if let cTruong = self.cTruong {
cTruong.shootItems = mucChups;
} else {
getVcRoot()?.mucChups = mucChups
}
}
//region ============== TableView Data =========
func loadDataOnUI(complete: @escaping ([Any]?) -> ()) {
if let cTruong = self.cTruong {
complete(cTruong.shootItems);
} else {
complete(getVcRoot()?.mucChups)
}
}
func getAllCell() -> [BaseCell] {
var baseCells: [BaseCell] = [BaseCell]();
baseCells.append(BaseCell(type: 0, identifier: "CellMucChupWithDelete"))
return baseCells
}
func getTypeOfData(baseobj: Any) -> Int {
return 0
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if let mucChup = self.tableView.getItem(indexPath) as? ShootItem {
edtTitle.text = mucChup.name
}
}
func deleteMucChup(_ mucChupParam: ShootItem) {
var indexFind = -1, index = -1
for item in self.tableView.itemsData {
index += 1
if let mucChup = item as? ShootItem, mucChup.name == mucChupParam.name {
indexFind = index
break
}
}
if indexFind >= 0 {
tableView.itemsData.remove(at: indexFind)
tableView.deleteRows(at: [IndexPath(row: indexFind, section: 0)], with: .automatic)
}
}
//endregion
@IBAction func edtActionTrigerClick(_ sender: Any) {
edtTitle.endEditing(true)
}
func getVcRoot() -> VCRootCreateNew? {
return self.parent as? VCRootCreateNew
}
override var prefersStatusBarHidden: Bool {
return true
}
override open var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return UIInterfaceOrientationMask.portrait
}
}