Blame view

App/createNew/VCNhapMucChup.swift 3.68 KB
d774f0637   Trịnh Văn Quân   fisrt comit
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
  import UIKit
  
  class VCNhapMucChup: UIViewController, IVCLoadDataTableViewUIThread {
      @IBOutlet weak var edtTitle: UITextField!
      @IBOutlet weak var topMargin: NSLayoutConstraint!
      @IBOutlet weak var tableView: UITableViewLoadDataFromUIThread!
  
      static func getInstance() -> VCNhapMucChup {
          let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
          let vcOpen = storyboard.instantiateViewController(withIdentifier: "VCNhapMucChup") as! VCNhapMucChup
          return vcOpen
      }
  
      override func viewDidLoad() {
          super.viewDidLoad()
          tableView.emptyText = "Empty"
          CellMucChupWithDelete.registerClass(tableView: tableView, forCellReuseIdentifier: "CellMucChupWithDelete")
          self.tableView.separatorStyle = UITableViewCellSeparatorStyle.singleLine
          self.tableView.rowHeight = UITableViewAutomaticDimension
          self.tableView.estimatedRowHeight = 150
      }
  
      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? MucChup, mc.name == title {
                      CommonUtils.showToastLong(text: LocalizedString("muc_chup_da_ton_tai"))
                      return
                  }
              }
              tableView.itemsData.insert(MucChup(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()
          _ = getVcRoot()?.changeCurrentController(VCNhapTenCtruong.getInstance())
      }
  
      private func saveMucChup() {
          var mucChups = [MucChup]()
          for item in tableView.itemsData {
              if let mucChup = item as? MucChup {
                  mucChups.append(mucChup)
              }
          }
          getVcRoot()?.mucChups = mucChups
      }
      //region ============== TableView Data =========
  
      func loadDataOnUI(complete: @escaping ([Any]?) -> ()) {
          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? MucChup {
              edtTitle.text = mucChup.name
          }
      }
  
      func deleteMucChup(_ mucChupParam: MucChup) {
          var indexFind = -1, index = -1
          for item in self.tableView.itemsData {
              index += 1
              if let mucChup = item as? MucChup, 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
      }
  }