Code Monkey home page Code Monkey logo

ember-power-datepicker's Introduction

ember-power-datepicker

This addon it's the last member of the Ember Power Project family and it combines ember-basic-dropdown and ember-power-calendar into a single datepicker component that exposes the public APIs of both components as one.

As the components this one is born from, it aims to be flexible and customizable so you can taylor your perfect datepicker. For that it extrictly follows DDAU approach and all its subcomponents can be omitted or replaced by your own.

Disclaimer

This addon is in active development so expect some churn. A changelog file will be maintained to surface what changed and when and ease updates.

Small demo

Installation

  • ember install ember-power-datepicker

Setup

If you are using sass, you can import the styles in your app.scss

@import "ember-power-datepicker";

This component doesn't has any style of itself, so the only thing this import is doing is in turn importing the styles of ember-basic-dropdown and ember-power-calendar, so this is just a convenience. If you already use and import the styles of those addons yourself, you don't have to import these.

Usage

The API of the component will remind you the APIs of its both parents. It leverages contextual components and most of the options you can pass to the original components are accepted by this addon.

Let's see a basic example:

  {{#power-datepicker selected=selected onSelect=(action (mut selected) value="date") as |dp|}}
    {{#dp.trigger tabindex="-1"}}
      <input type="text" class="my-input-class" readonly value={{moment-format selected}}>
    {{/dp.trigger}}

    {{#dp.content class="demo-datepicker-small"}}
      {{dp.nav}}
      {{dp.days}}
    {{/dp.content}}
  {{/power-datepicker}}

The {{dp.trigger}} and {{dp.content}} come from ember-basic-dropdown. You can learn more about them here: https://www.ember-basic-dropdown.com/docs/how-to-use-it

The {{dp.nav}} and dp.days components along with the selected and onSelect properties come from ember-power-calendar. You can learm more about them it here: http://www.ember-power-calendar.com/docs/action-handling

The selected and onSelect are the only mandatory options. You can omit them, but if you do and you don't allow users to select a date, what do you want a datepicker for?

Ember and Browser support

This addon is only tested back to Ember 2.8. It may or may not work in older versions. Javascript wise the addon should work back to IE10, but CSS wise the default styles use flexbox, so expect only IE11 support unless you roll out your own template using <table>, which you can.

Testing

This addon also provides a convenient datepickerSelect('selector', dateOrMoment) test helper to interact with the component in tests.

Import this helpers in your tests like this:

import { datepickerSelect } from 'ember-power-datepicker/test-support';

Contributing

Contributions are welcomes. However if your contribution involves adding a new feature, please open an issue before to share your idea and agree the details of the feature before starting implementing it.

ember-power-datepicker's People

Contributors

cibernox avatar jherdman avatar samdemaeyer avatar bantic avatar simonihmig avatar ember-tomster avatar vishwaas avatar williamhaley avatar

Watchers

James Cloos avatar Andrew Paterson avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.