21 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
 | 
						|
function computeForTimeline (store, key) {
 | 
						|
  store.compute(key, ['currentTimelineData'], (currentTimelineData) => currentTimelineData[key])
 | 
						|
}
 | 
						|
 | 
						|
export function timelineComputations (store) {
 | 
						|
  store.compute('currentTimelineData', ['currentInstance', 'currentTimeline', 'timelines'],
 | 
						|
    (currentInstance, currentTimeline, timelines) => {
 | 
						|
      return ((timelines && timelines[currentInstance]) || {})[currentTimeline] || {}
 | 
						|
    })
 | 
						|
 | 
						|
  computeForTimeline(store, 'timelineItemIds')
 | 
						|
  computeForTimeline(store, 'runningUpdate')
 | 
						|
  computeForTimeline(store, 'initialized')
 | 
						|
  computeForTimeline(store, 'lastFocusedElementSelector')
 | 
						|
  computeForTimeline(store, 'ignoreBlurEvents')
 | 
						|
  computeForTimeline(store, 'itemIdsToAdd')
 | 
						|
 | 
						|
  store.compute('firstTimelineItemId', ['timelineItemIds'], (timelineItemIds) => timelineItemIds && timelineItemIds.length && timelineItemIds[0])
 | 
						|
  store.compute('lastTimelineItemId', ['timelineItemIds'], (timelineItemIds) => timelineItemIds && timelineItemIds.length && timelineItemIds[timelineItemIds.length - 1])
 | 
						|
}
 |