ember-power-datepicker icon indicating copy to clipboard operation
ember-power-datepicker copied to clipboard

API ideas

Open cibernox opened this issue 9 years ago • 2 comments
trafficstars

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}}

cibernox avatar Jun 01 '16 09:06 cibernox

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) ...

les2 avatar Mar 29 '17 20:03 les2

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.

cibernox avatar Apr 02 '17 00:04 cibernox