kennethkalmer / ember-cli-nouislider

{{range-slider}} component for ember-cli powered by noUiSlider
http://kennethkalmer.github.com/ember-cli-nouislider
MIT License
44 stars 52 forks source link
ember ember-addon ember-cli nouislider range-slider-component

ember-cli-nouislider

Build Status npm version Code Climate Ember Observer Score Open Source Helpers

This ember-cli addon provides you with a range-slider component, based on noUiSlider. It includes everything you need, and adds no extra dependencies other than noUiSlider itself (which has no external dependencies).

To get started simply install the addon:

$ ember install ember-cli-nouislider

This will install nouislider via Bower, and will include it into your application's mergetree, so you don't need to worry about anything there.

Compatibility

Demo & documentation

Have a look around then demo and documentation to get a feel for how to use it.

Component

You have the opportunity to customize if needed.

To do this, generate your own component and re-export the one provided:

$ ember g component range-slider
// app/components/range-slider.js
import RangeSlider from 'ember-cli-nouislider/components/range-slider';

export default RangeSlider;

Include the slider into your views like this:

{{range-slider start=someValue on-change=(action "changedAction")}}

And setup an action handler in your route:

// app/routes/my-route.js
import Controller from '@ember/controller';
import { debug } from '@ember/debug';

export default Controller.extend({
  // ...
  actions: {
    // ...
    changedAction: function(value) {
      debug( `New slider value: ${value}`);
    }
  }
});

See the documentation for more actions.

Configuration

The component has a lot of configurable options, most of them mapping directly to the original options. To see how the slider is initialized internally, please have a look at app/components/range-slider.js in this project, or browse through the documentation.

License

This project is licensed under the MIT License.