Browse Source

Update UpcomingEventsDataSource.swift

pull/101/head
Abhishek 3 years ago
parent
commit
8e40e4a99b
  1. 15
      Clocker/Panel/Upcoming Events/UpcomingEventsDataSource.swift

15
Clocker/Panel/Upcoming Events/UpcomingEventsDataSource.swift

@ -4,11 +4,13 @@ import Foundation
class UpcomingEventsDataSource: NSObject, NSCollectionViewDataSource, NSCollectionViewDelegateFlowLayout { class UpcomingEventsDataSource: NSObject, NSCollectionViewDataSource, NSCollectionViewDelegateFlowLayout {
private var upcomingEvents: [EventInfo] = [] private var upcomingEvents: [EventInfo] = []
private var eventCenter: EventCenter!
private weak var delegate: UpcomingEventPanelDelegate? private weak var delegate: UpcomingEventPanelDelegate?
init(_ panelDelegate: UpcomingEventPanelDelegate?) { init(_ panelDelegate: UpcomingEventPanelDelegate?, _ center: EventCenter) {
super.init() super.init()
delegate = panelDelegate delegate = panelDelegate
eventCenter = center
} }
func updateEventsDataSource(_ events: [EventInfo]) { func updateEventsDataSource(_ events: [EventInfo]) {
@ -16,7 +18,7 @@ class UpcomingEventsDataSource: NSObject, NSCollectionViewDataSource, NSCollecti
} }
func collectionView(_: NSCollectionView, numberOfItemsInSection _: Int) -> Int { func collectionView(_: NSCollectionView, numberOfItemsInSection _: Int) -> Int {
if upcomingEvents.isEmpty { if eventCenter.calendarAccessDenied() || eventCenter.calendarAccessNotDetermined() || upcomingEvents.isEmpty {
return 1 return 1
} }
return upcomingEvents.count return upcomingEvents.count
@ -24,8 +26,13 @@ class UpcomingEventsDataSource: NSObject, NSCollectionViewDataSource, NSCollecti
func collectionView(_ collectionView: NSCollectionView, itemForRepresentedObjectAt indexPath: IndexPath) -> NSCollectionViewItem { func collectionView(_ collectionView: NSCollectionView, itemForRepresentedObjectAt indexPath: IndexPath) -> NSCollectionViewItem {
let item = collectionView.makeItem(withIdentifier: UpcomingEventViewItem.reuseIdentifier, for: indexPath) as! UpcomingEventViewItem let item = collectionView.makeItem(withIdentifier: UpcomingEventViewItem.reuseIdentifier, for: indexPath) as! UpcomingEventViewItem
if eventCenter.calendarAccessNotDetermined() {
item.setupUndeterminedState(delegate)
return item
}
if upcomingEvents.isEmpty { if upcomingEvents.isEmpty {
item.setupUndeterminedState(delegate) item.setupEmptyState()
return item return item
} }
@ -37,7 +44,7 @@ class UpcomingEventsDataSource: NSObject, NSCollectionViewDataSource, NSCollecti
} }
func collectionView(_ collectionView: NSCollectionView, layout _: NSCollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> NSSize { func collectionView(_ collectionView: NSCollectionView, layout _: NSCollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> NSSize {
if upcomingEvents.isEmpty { if upcomingEvents.isEmpty || eventCenter.calendarAccessNotDetermined() {
return NSSize(width: collectionView.frame.width - 20, height: 50) return NSSize(width: collectionView.frame.width - 20, height: 50)
} }

Loading…
Cancel
Save