Files
comaps/iphone/Maps/UI/PlacePage/PlacePageLayout/Content/UGC/UGCSpecificReviewCell.swift
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

33 lines
1.1 KiB
Swift

@objc(MWMUGCSpecificReviewDelegate)
protocol UGCSpecificReviewDelegate: NSObjectProtocol {
func changeReviewRate(_ rate: Int, atIndexPath: NSIndexPath)
}
@objc(MWMUGCSpecificReviewCell)
final class UGCSpecificReviewCell: MWMTableViewCell {
@IBOutlet private weak var specification: UILabel!
@IBOutlet private var stars: [UIButton]!
private var indexPath: NSIndexPath = NSIndexPath()
private var delegate: UGCSpecificReviewDelegate?
@objc func configWith(specification: String, rate: Int, atIndexPath: NSIndexPath, delegate: UGCSpecificReviewDelegate?) {
self.specification.text = specification
self.delegate = delegate
indexPath = atIndexPath
stars.forEach { $0.isSelected = $0.tag <= rate }
}
@IBAction private func tap(on: UIButton) {
stars.forEach { $0.isSelected = $0.tag <= on.tag }
delegate?.changeReviewRate(on.tag, atIndexPath: indexPath)
}
// TODO: Make highlighting and dragging.
@IBAction private func highlight(on _: UIButton) {}
@IBAction private func touchingCanceled(on _: UIButton) {}
@IBAction private func drag(inside _: UIButton) {}
}