// // LabelCell.swift // Sirani // // Created by Hendi on 20/06/23. // Copyright © 2023 PT. Mitra Sinerji Teknoindo. All rights reserved. // import UIKit import MaterialComponents.MaterialCards protocol LabelCellDelegate: NSObjectProtocol { func openLabelDetail(data : Label?) } class LabelCell: UITableViewCell { @IBOutlet weak var card: MDCCard! @IBOutlet weak var lblNomor: UILabel! @IBOutlet weak var lblPemohon: UILabel! @IBOutlet weak var lblPerangkat: UILabel! @IBOutlet weak var lblMerk: UILabel! @IBOutlet weak var lblModel: UILabel! @IBOutlet weak var lblBrand: UILabel! @IBOutlet weak var lblBerlakuDate: UILabel! @IBOutlet weak var lblBerakhirDate: UILabel! @IBOutlet weak var lblStatus: UILabel! @IBOutlet weak var lblNegara: UILabel! var cellDelegate: LabelCellDelegate? var dataLabel: Label? func updateViews(labelData: Label) { card.isInteractable = true let gesture = UITapGestureRecognizer(target: self, action: #selector(self.onItemTap)) card.addGestureRecognizer(gesture) lblNomor.text = labelData.nomor lblPemohon.text = labelData.cust_name lblPerangkat.text = labelData.eqp_name lblMerk.text = labelData.merk lblModel.text = labelData.model lblNegara.text = labelData.negara var brand = "" if labelData.brand != "null" { brand = labelData.brand } lblBrand.text = brand var expDate = "" if (labelData.exp_date == "null" || labelData.exp_date.isEmpty) { expDate = "" } else { let inputFormatter = DateFormatter() inputFormatter.dateFormat = "yyyy-MM-dd" let expDateString = String(labelData.exp_date.prefix(10)) if let output = inputFormatter.date(from: expDateString) { let outputFormatter = DateFormatter() outputFormatter.dateFormat = "dd MMM yyyy" expDate = outputFormatter.string(from: output) } } lblBerakhirDate.text = expDate var licDate = "" if (labelData.lic_date == "null" || labelData.lic_date.isEmpty) { licDate = "" } else { let inputFormatter = DateFormatter() inputFormatter.dateFormat = "yyyy-MM-dd" let expDateString = String(labelData.lic_date.prefix(10)) if let output = inputFormatter.date(from: expDateString) { let outputFormatter = DateFormatter() outputFormatter.dateFormat = "dd MMM yyyy" licDate = outputFormatter.string(from: output) } } lblBerlakuDate.text = licDate lblStatus?.layer.cornerRadius = 6 lblStatus?.layer.masksToBounds = true lblStatus.text = labelData.statusBerlaku if let statusColor = UIColor(hexString: labelData.statusBgColor) { lblStatus.backgroundColor = statusColor } self.dataLabel = labelData } @objc func onItemTap(sender : UITapGestureRecognizer) { cellDelegate?.openLabelDetail(data: dataLabel) } }