DaftarSertifikatCell.swift 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. //
  2. // DaftarSertifikatCell.swift
  3. // Sirani
  4. //
  5. // Created by Anhar Solehudin on 30/03/19.
  6. // Copyright © 2019 Anhar Solehudin. All rights reserved.
  7. //
  8. import UIKit
  9. import MaterialComponents.MaterialCards
  10. protocol SertifikatCellDelegate: NSObjectProtocol {
  11. func openSertifikatDetail(data : CertificateData?)
  12. }
  13. class DaftarSertifikatCell: UITableViewCell {
  14. @IBOutlet weak var card: MDCCard!
  15. @IBOutlet weak var lblNomor: UILabel!
  16. @IBOutlet weak var lblPlgId: UILabel!
  17. @IBOutlet weak var lblCustomerName: UILabel!
  18. @IBOutlet weak var lblPerangkat: UILabel!
  19. @IBOutlet weak var lblMerk: UILabel!
  20. @IBOutlet weak var lblBrand: UILabel!
  21. @IBOutlet weak var lblExpDate: UILabel!
  22. var cellDelegate: SertifikatCellDelegate?
  23. var dataSertifikat: CertificateData?
  24. func updateViews(certificateData: CertificateData) {
  25. card.isInteractable = true
  26. let gesture = UITapGestureRecognizer(target: self, action: #selector(self.onItemTap))
  27. card.addGestureRecognizer(gesture)
  28. lblNomor.text = certificateData.nomor
  29. lblPlgId.text = String(certificateData.plg_id)
  30. lblCustomerName.text = certificateData.cust_name
  31. lblPerangkat.text = certificateData.eqp_name
  32. lblMerk.text = certificateData.models
  33. var brand = ""
  34. if certificateData.brand != "null" {
  35. brand = certificateData.brand
  36. }
  37. lblBrand.text = brand
  38. var expDate = ""
  39. if (certificateData.exp_date == "null" || certificateData.exp_date.isEmpty) {
  40. expDate = ""
  41. } else {
  42. let inputFormatter = DateFormatter()
  43. inputFormatter.dateFormat = "yyyy-MM-dd"
  44. let expDateString = String(certificateData.exp_date.prefix(10))
  45. if let output = inputFormatter.date(from: expDateString) {
  46. let outputFormatter = DateFormatter()
  47. outputFormatter.dateFormat = "dd MMMM yyyy"
  48. expDate = outputFormatter.string(from: output)
  49. }
  50. }
  51. lblExpDate.text = expDate
  52. self.dataSertifikat = certificateData
  53. }
  54. @objc func onItemTap(sender : UITapGestureRecognizer) {
  55. cellDelegate?.openSertifikatDetail(data: dataSertifikat)
  56. }
  57. }