FUITimelinePreviewCollectionViewCell

@MainActor
open class FUITimelinePreviewCollectionViewCell : FUIBaseCollectionViewCell

FUITimelinePreviewCollectionViewCell is an UI component that extends FUIBaseCollectionViewCell which contains a FUITimelinePreviewView. It resizes itself to fit content using the auto-layout size of FUITimelinePreviewView.

Example Initialization and Configuration:

var data: [FUITimelineItem] {
let item0 = FUITimelineItem()
item0.title = "Planned Downtime Period Identified for Tasks"
item0.due = Date(timeIntervalSinceNow: -86400 * 2) // 86400 sec equal to 1 day
item0.status = .complete

let item1 = FUITimelineItem()
item1.title = "UX Design Review"
item1.due = Date(timeIntervalSinceNow: -86400)
item1.status = .open

let item2 = FUITimelineItem()
item2.title = "Planned Downtime Period Identified for Tasks"
item2.due = Date()
item2.status = .open

let item3 = FUITimelineItem()
item3.title = "UX Design Review"
item3.due = Date(timeIntervalSinceNow: 86400)
item3.status = .open

let item4 = FUITimelineItem()
item4.title = "Project End"
item4.due = Date(timeIntervalSinceNow: 86400 * 2.0)
item4.status = .end

return [item0, item1, item2, item3, item4]
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: FUITimelinePreviewCollectionViewCell.reuseIdentifier, for: indexPath) as! FUITimelinePreviewCollectionViewCell

cell.timelinePreviewView.header.titleLabel.text = "Timeline"
cell.timelinePreviewView.header.attributeLabel.text = "attribute"
cell.timelinePreviewView.header.isDisclosureAccessoryHidden = false
cell.timelinePreviewView.header.didSelectHandler = {
}

// If you want to display other styles than date, for example, Time.
let formatter = DateFormatter()
formatter.dateFormat = "hh:mm"
cell.timelinePreviewView.dateFormatter = formatter

cell.timelinePreviewView.addItems(data)

return cell
}

theming

fdlFUITimelinePreviewCollectionViewCell {
background-color: @clear;
}
fdlFUITimelinePreviewCollectionViewCell_selected {
background-color: @line;
}
  • The FUITimelinePreviewView object of FUITimelinePreviewCollectionViewCell.

    Declaration

    Swift

    @MainActor
    public private(set) var timelinePreviewView: FUITimelinePreviewView { get }
  • Workaround for the compile issue where empty initializer is not accessible in xcframework.

    Declaration

    Swift

    @MainActor
    required public init()