ember-power-datepicker
ember-power-datepicker copied to clipboard
API ideas
Just a bunch of ideas for APIs
Regular datepicker for a single date, displayed inline:
{{#power-datepicker value=date onchange=(action (mut date)) as |datepicker|}}
{{datepicker.calendar}}
{{/power-datepicker}}
Regular datepicker for a single date, with a trigger that open the dropdown when clicked. The trigger contains one input.
{{#power-datepicker value=date onchange=(action (mut date)) as |datepicker|}}
{{#datepicker.trigger}}
<input value={{datepicker.formatedDate}} onchange={{datepicker.actions.update}}/>
{{/datepicker.trigger}}
{{#datepicker.dropdown}}{{datepicker.calendar}}{{/datepicker.dropdown}}
{{/power-datepicker}}
Datepicker for a range, with one calendar for both dates and one trigger containing one input with a formatted range (2015/07/12 - 2016/02/19)
{{#power-datepicker-multiple
rangeStart=start
rangeEnd=end
startChange=(action (mut start))
endChange=(action (mut end)) as |datepicker|}}
{{#datepicker.trigger}}
<input value={{datepicker.formatedRange}} onchange={{datepicker.actions.update}}/>
{{/datepicker.trigger}}
{{#datepicker.dropdown}}
{{datepicker.calendar}}
{{/datepicker.dropdown}}
{{/power-datepicker-multiple}}
Datepicker for a range, with one calendar for each date and one trigger containing one input with a formatted range (2015/07/12 - 2016/02/19)
{{#power-datepicker-multiple
rangeStart=start
rangeEnd=end
startChange=(action (mut start))
endChange=(action (mut end)) as |datepicker|}}
{{#datepicker.trigger}}
<input value={{datepicker.formatedRange}} onchange={{datepicker.actions.update}}/>
{{/datepicker.trigger}}
{{#datepicker.dropdown}}
{{datepicker.calendar}}
{{datepicker.calendar}}
{{/datepicker.dropdown}}
{{/power-datepicker-multiple}}
Datepicker for a range, with one calendar for each date and one trigger for each input too
{{#power-datepicker-multiple
rangeStart=start
rangeEnd=end
startChange=(action (mut start))
endChange=(action (mut end)) as |datepicker|}}
{{#datepicker.trigger}}
<input value={{datepicker.formatedStart}} onchange={{datepicker.actions.updateStart}}/>
{{/datepicker.trigger}}
{{#datepicker.trigger}}
<input value={{datepicker.formatedEnd}} onchange={{datepicker.actions.updateEnd}}/>
{{/datepicker.trigger}}
{{#datepicker.dropdown}}
{{datepicker.calendar}}
{{datepicker.calendar}}
{{/datepicker.dropdown}}
{{/power-datepicker-multiple}}
Having a mode where the date range change is not committed until both fields have been edited might be nice, e.g.,
{{#power-datepicker-multiple
rangeStart=start
rangeEnd=end
dateRangeChange=(action updateDateRange) ...
I'll consider it, but for the time being I'd handle that in userland.
{{#power-datepicker-multiple onSelect=(action "selectWhenRangeCompleted")
It's easy enough to be low priority.