Sha256: 9ae369ffe791881f02ba17c5720794e96b05a0f7415b0587c06b904e428e2773

Contents?: true

Size: 1.22 KB

Versions: 58

Compression:

Stored size: 1.22 KB

Contents

/**
 * A slider for numeric inputs.
 *
 * @see {@link module:pageflow/ui.pageflow.inputView pageflow.inputView} for options
 * @class
 * @memberof module:pageflow/ui
 */
pageflow.SliderInputView = Backbone.Marionette.ItemView.extend({
  mixins: [pageflow.inputView],

  className: 'slider_input',
  template: 'pageflow/ui/templates/inputs/slider_input',

  ui: {
    widget: '.slider',
    value: '.value'
  },

  events: {
    'slidechange': 'save'
  },

  onRender: function() {
    this.ui.widget.slider({
      animate: 'fast',
      min: 'minValue' in this.options ? this.options.minValue : 0,
      max: 'maxValue' in this.options ? this.options.maxValue : 100,
    });

    this.load();
  },

  save: function() {
    var value = this.ui.widget.slider('option', 'value');
    var unit = 'unit' in this.options ? this.options.unit : '%';

    this.ui.value.text(value + unit);

    this.model.set(this.options.propertyName, value);
  },

  load: function() {
    var value;

    if (this.model.has(this.options.propertyName)) {
      value = this.model.get(this.options.propertyName)
    }
    else {
      value = 'defaultValue' in this.options ? this.options.defaultValue : 0
    }

    this.ui.widget.slider('option', 'value', value);
  }
});

Version data entries

58 entries across 58 versions & 1 rubygems

Version Path
pageflow-14.5.2 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js
pageflow-15.0.2 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js
pageflow-15.0.1 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js
pageflow-15.0.0 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js
pageflow-14.5.1 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js
pageflow-14.5.0 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js
pageflow-15.0.0.rc2 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js
pageflow-15.0.0.rc1 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js
pageflow-15.0.0.beta4 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js
pageflow-15.0.0.beta3 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js
pageflow-14.4.0 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js
pageflow-15.0.0.beta2 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js
pageflow-15.0.0.beta1 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js
pageflow-14.3.0 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js
pageflow-14.2.1 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js
pageflow-14.2.0 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js
pageflow-14.1.1 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js
pageflow-14.1.0 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js
pageflow-14.0.0 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js
pageflow-14.0.0.rc2 app/assets/javascripts/pageflow/ui/views/inputs/slider_input_view.js