UNPKG

@quartic/bokehjs

Version:

Interactive, novel data visualization

104 lines (85 loc) 3.03 kB
var extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, hasProp = {}.hasOwnProperty; import "jqrangeslider/jQDateRangeSlider"; import * as p from "core/properties"; import { isObject } from "core/util/types"; import { InputWidget, InputWidgetView } from "./input_widget"; export var DateRangeSliderView = (function(superClass) { extend(DateRangeSliderView, superClass); function DateRangeSliderView() { return DateRangeSliderView.__super__.constructor.apply(this, arguments); } DateRangeSliderView.prototype.initialize = function(options) { DateRangeSliderView.__super__.initialize.call(this, options); this.render(); return this.listenTo(this.model, 'change', (function(_this) { return function() { return _this.render; }; })(this)); }; DateRangeSliderView.prototype.render = function() { var bounds_max, bounds_min, range_max, range_min, ref, ref1, ref2, value_max, value_min; DateRangeSliderView.__super__.render.call(this); this.$el.empty(); ref = this.model.value, value_min = ref[0], value_max = ref[1]; ref1 = this.model.range, range_min = ref1[0], range_max = ref1[1]; ref2 = this.model.bounds, bounds_min = ref2[0], bounds_max = ref2[1]; this.$el.dateRangeSlider({ defaultValues: { min: new Date(value_min), max: new Date(value_max) }, bounds: { min: new Date(bounds_min), max: new Date(bounds_max) }, range: { min: isObject(range_min) ? range_min : false, max: isObject(range_max) ? range_max : false }, step: this.model.step || {}, enabled: this.model.enabled, arrows: this.model.arrows, valueLabels: this.model.value_labels, wheelMode: this.model.wheel_mode }); this.$el.on("userValuesChanged", (function(_this) { return function(event, data) { var ref3; _this.model.value = [data.values.min, data.values.max]; return (ref3 = _this.model.callback) != null ? ref3.execute(_this.model) : void 0; }; })(this)); return this; }; return DateRangeSliderView; })(InputWidgetView); export var DateRangeSlider = (function(superClass) { extend(DateRangeSlider, superClass); function DateRangeSlider() { return DateRangeSlider.__super__.constructor.apply(this, arguments); } DateRangeSlider.prototype.type = "DateRangeSlider"; DateRangeSlider.prototype.default_view = DateRangeSliderView; DateRangeSlider.define({ value: [p.Any], range: [p.Any], bounds: [p.Any], step: [p.Any, {}], enabled: [p.Bool, true], arrows: [p.Bool, true], value_labels: [p.String, "show"], wheel_mode: [p.Any] /* formatter scales */ }); return DateRangeSlider; })(InputWidget);