X-Git-Url: https://git.mdrn.pl/wl-app.git/blobdiff_plain/53b27422d140022594fc241cca91c3183be57bca..48b2fe9f7c2dc3d9aeaaa6dbfb27c7da4f3235ff:/iOS/WolneLektury/Screens/Common/Cells/BookTableViewCell.swift diff --git a/iOS/WolneLektury/Screens/Common/Cells/BookTableViewCell.swift b/iOS/WolneLektury/Screens/Common/Cells/BookTableViewCell.swift new file mode 100644 index 0000000..cdfd4bf --- /dev/null +++ b/iOS/WolneLektury/Screens/Common/Cells/BookTableViewCell.swift @@ -0,0 +1,92 @@ +// +// BookTableViewCell.swift +// WolneLektury +// +// Created by Pawel Dabrowski on 14/06/2018. +// Copyright © 2018 Fundacja Nowoczesna Polska. All rights reserved. +// + +import UIKit +import Kingfisher + +protocol BookTableViewCellDelegate: class{ + func bookTableViewCellDelegateDidTapTrashButton(bookSlug: String, indexPath: IndexPath?) +} + +class BookTableViewCell: UITableViewCell { + + weak var delegate: BookTableViewCellDelegate? + + @IBOutlet weak var coverImageView: UIImageView! + @IBOutlet weak var authorLabel: UILabel! + @IBOutlet weak var titleLabel: UILabel! + + @IBOutlet weak var epochTitleLabel: UILabel! + @IBOutlet weak var kindTitleLabel: UILabel! + @IBOutlet weak var genreTitleLabel: UILabel! + + @IBOutlet weak var epochLabel: UILabel! + @IBOutlet weak var kindLabel: UILabel! + @IBOutlet weak var genreLabel: UILabel! + + @IBOutlet weak var descFirstImageView: UIImageView! + @IBOutlet weak var descFirstLabel: UILabel! + @IBOutlet weak var descSecondImageView: UIImageView! + @IBOutlet weak var descSecondLabel: UILabel! + + @IBOutlet weak var epochTopConstraint: NSLayoutConstraint! + + @IBOutlet weak var bookDescriptionView: BookDescriptionView! + + private var bookSlug = "" + private var indexPath: IndexPath? + + override func awakeFromNib() { + super.awakeFromNib() + coverImageView.layer.cornerRadius = 4 + } + + func setup(bookModel: BookModel){ + + bookDescriptionView.setup(bookModel: bookModel) + + coverImageView.image = nil + bookSlug = bookModel.slug + if let url = bookModel.getCoverThumbUrl(){ + + coverImageView.kf.setImage(with: ImageResource(downloadURL: url), + placeholder: #imageLiteral(resourceName: "list_nocover"), + options: [.transition(.fade(1))], + progressBlock: nil, + completionHandler: { (image, error, cacheType, url) in + }) + } + } + + func setup(bookDetailsModel: BookDetailsModel, delegate: BookTableViewCellDelegate, indexPath: IndexPath){ + + self.delegate = delegate + self.indexPath = indexPath + + bookSlug = bookDetailsModel.slug + bookDescriptionView.setup(bookDetailsModel: bookDetailsModel) + bookDescriptionView.trashButton.removeTarget(nil, action: nil, for: .allEvents) + bookDescriptionView.trashButton.addTarget(self, action: #selector(trashButtonAction), for: .touchUpInside) + + coverImageView.image = nil + + if let url = bookDetailsModel.getCoverThumbUrl(){ + + coverImageView.kf.setImage(with: ImageResource(downloadURL: url), + placeholder: #imageLiteral(resourceName: "list_nocover"), + options: [.transition(.fade(1))], + progressBlock: nil, + completionHandler: { (image, error, cacheType, url) in + }) + } + } + + @objc func trashButtonAction(){ + delegate?.bookTableViewCellDelegateDidTapTrashButton(bookSlug: bookSlug, indexPath: indexPath) + } +}