// // NCShareUserCell.swift // Nextcloud // // Created by Henrik Storch on 15.11.2021. // Copyright © 2021 Henrik Storch. All rights reserved. // // Author Henrik Storch // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . import UIKit import DropDown class NCShareUserCell: UITableViewCell, NCCellProtocol { @IBOutlet weak var imageItem: UIImageView! @IBOutlet weak var labelTitle: UILabel! @IBOutlet weak var buttonMenu: UIButton! @IBOutlet weak var imageStatus: UIImageView! @IBOutlet weak var status: UILabel! @IBOutlet weak var btnQuickStatus: UIButton! @IBOutlet weak var labelQuickStatus: UILabel! @IBOutlet weak var imageDownArrow: UIImageView! var tableShare: tableShare? weak var delegate: NCShareUserCellDelegate? var fileAvatarImageView: UIImageView? { get { return imageItem } } var fileObjectId: String? { get { return nil } } var filePreviewImageView: UIImageView? { get { return nil } } var fileUser: String? { get { return tableShare?.shareWith } } override func awakeFromNib() { super.awakeFromNib() let tapGesture = UITapGestureRecognizer(target: self, action: #selector(tapAvatarImage)) imageItem?.addGestureRecognizer(tapGesture) buttonMenu.setImage(UIImage(named: "shareMenu")!.image(color: .gray, size: 50), for: .normal) labelQuickStatus.textColor = NCBrandColor.shared.customer imageDownArrow.image = NCUtility.shared.loadImage(named: "arrowtriangle.down.fill", color: NCBrandColor.shared.customer) } @objc func tapAvatarImage(_ sender: UITapGestureRecognizer) { delegate?.showProfile(with: tableShare, sender: sender) } @IBAction func touchUpInsideMenu(_ sender: Any) { delegate?.tapMenu(with: tableShare, sender: sender) } @IBAction func quickStatusClicked(_ sender: Any) { delegate?.quickStatus(with: tableShare, sender: sender) } } protocol NCShareUserCellDelegate: AnyObject { func tapMenu(with tableShare: tableShare?, sender: Any) func showProfile(with tableComment: tableShare?, sender: Any) func quickStatus(with tableShare: tableShare?, sender: Any) } // MARK: - NCShareUserDropDownCell class NCShareUserDropDownCell: DropDownCell, NCCellProtocol { @IBOutlet weak var imageItem: UIImageView! @IBOutlet weak var imageStatus: UIImageView! @IBOutlet weak var status: UILabel! @IBOutlet weak var imageShareeType: UIImageView! @IBOutlet weak var centerTitle: NSLayoutConstraint! private var user: String = "" var fileAvatarImageView: UIImageView? { get { return imageItem } } var fileObjectId: String? { get { return nil } } var filePreviewImageView: UIImageView? { get { return nil } } var fileUser: String? { get { return user } set { user = newValue ?? "" } } }