Dynamic Tune In
A package that compares today's date, to a premiere date, and returns a given string for that day.
Usage
Initialize your tune-in by passing it an options object with a premiereDate and a fallback which will be returned if no date is matched. When providing a date it must be in the following format: Month Day
.
While testing, you can supply the today
property which will run the TuneIn as if today is whatever day you set it to.
Property | Type | Example | Required |
---|
premiereDate | String | 'June 9' or 'August 15' | true |
today | String | 'June 10' or 'May 5' | false - defaults to today's date. |
fallback | String | '.fallback-tune-in' | true |
TuneIn.create({
premiereDate: 'June 9',
today: 'June 3',
fallback: '.new-season-june'
})
The goal here is to make it easier to show a specific element on the page, given a date or date range. Below we supply a className to each TuneIn date, which will be returned when today falls within that range. See below.
TuneIn.before('May 20').show('.tune-in-0')
TuneIn.between('May 20', 'June 3').show('.tune-in-1')
TuneIn.between('June 3', 'June 9').show('.tune-in-2')
TuneIn.between('June 10', 'June 15').show('.tune-in-3')
TuneIn.after('June 15').show('.tune-in-4')
TuneIn.dayOfPremiere().show('.premiere-tune-in')
NOTE: if multiple cases are true - the last case satisfying the condition will win.
Now that we've added tune in dates, all we need to do is call TuneIn.getElSelector()
to get our current tune-in className.
var tuneInClassName = TuneIn.getElSelector()
var tuneInEl = document.querySelector(tuneInEl)
@todo - add an execute method on tunein that runs a fn rather than returning a string.