GroupDescViewController.swift 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. //
  2. // GroupDescViewController.swift
  3. // Qmera
  4. //
  5. // Created by Yayan Dwi on 29/09/21.
  6. //
  7. import UIKit
  8. class GroupDescViewController: UITableViewController {
  9. @IBOutlet weak var descText: UITextField!
  10. var isDismiss: (() -> ())?
  11. var data: String = ""
  12. var quote: String = ""
  13. override func viewDidLoad() {
  14. super.viewDidLoad()
  15. title = "Change Description".localized()
  16. navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .save, target: self, action: #selector(save(sender:)))
  17. navigationItem.rightBarButtonItem?.isEnabled = false
  18. descText.text = quote
  19. descText.addTarget(self, action: #selector(didChanged(sender:)), for: .editingChanged)
  20. }
  21. @objc func didChanged(sender: Any) {
  22. if let text = descText.text, text.trimmingCharacters(in: .whitespaces).isEmpty {
  23. navigationItem.rightBarButtonItem?.isEnabled = false
  24. } else if let button = navigationItem.rightBarButtonItem, !button.isEnabled {
  25. button.isEnabled = true
  26. }
  27. }
  28. @objc func save(sender: Any) {
  29. if let text = descText.text {
  30. DispatchQueue.global().async {
  31. if let resp = Nexilis.writeAndWait(message: CoreMessage_TMessageBank.getChangeGroupInfo(p_group_id: self.data, p_quote: text)) {
  32. if resp.isOk() {
  33. Database.shared.database?.inTransaction({ fmdb, rollback in
  34. _ = Database.shared.updateRecord(fmdb: fmdb, table: "GROUPZ", cvalues: ["quote": text], _where: "group_id = '\(self.data)'")
  35. })
  36. DispatchQueue.main.async {
  37. self.navigationController?.dismiss(animated: true, completion: {
  38. self.isDismiss?()
  39. })
  40. }
  41. }
  42. }
  43. }
  44. }
  45. }
  46. }