Skip to content

Commit

Permalink
Fixed issue: sliders not working
Browse files Browse the repository at this point in the history
  • Loading branch information
lacrioque committed Jan 22, 2018
1 parent 0c7ab87 commit 362c775
Show file tree
Hide file tree
Showing 5 changed files with 94 additions and 85 deletions.
Expand Up @@ -72,10 +72,10 @@
window.activeSliders.s{{myfname}} = new LSSlider({
'qid': "{{qid}}",
'element': "{{myfname}}",
'value' : "{{slider_value}}",
'min' : "{{slider_min}}",
'max' : "{{slider_max}}",
'step' : "{{slider_step}}",
'value' : {{slider_value}},
'min' : {{slider_min}},
'max' : {{slider_max}},
'step' : {{slider_step}},
'orientation' : "{{slider_orientation}}",
'handle' : "{{slider_handle}}",
'tooltip' : 'always',
Expand Down
116 changes: 56 additions & 60 deletions assets/packages/bootstrap/plugins/slider/bootstrap-slider.js
@@ -1,5 +1,5 @@
/*! =======================================================
VERSION 9.7.0
VERSION 10.0.0
========================================================= */
"use strict";

Expand Down Expand Up @@ -296,6 +296,9 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
var min = this.options.min === 0 ? 0 : Math.log(this.options.min);
var max = Math.log(this.options.max);
var value = Math.exp(min + (max - min) * percentage / 100);
if (Math.round(value) === this.options.max) {
return this.options.max;
}
value = this.options.min + Math.round((value - this.options.min) / this.options.step) * this.options.step;
/* Rounding to the nearest step could exceed the min or
* max, so clip to those values. */
Expand Down Expand Up @@ -460,12 +463,12 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win

/* Create highlight range elements */
this.rangeHighlightElements = [];
if (Array.isArray(this.options.rangeHighlights) && this.options.rangeHighlights.length > 0) {
for (var j = 0; j < this.options.rangeHighlights.length; j++) {

var rangeHighlightsOpts = this.options.rangeHighlights;
if (Array.isArray(rangeHighlightsOpts) && rangeHighlightsOpts.length > 0) {
for (var j = 0; j < rangeHighlightsOpts.length; j++) {
var rangeHighlightElement = document.createElement("div");
rangeHighlightElement.className = "slider-rangeHighlight slider-selection";

var customClassString = rangeHighlightsOpts[j].class || "";
rangeHighlightElement.className = "slider-rangeHighlight slider-selection " + customClassString;
this.rangeHighlightElements.push(rangeHighlightElement);
sliderTrack.appendChild(rangeHighlightElement);
}
Expand Down Expand Up @@ -634,9 +637,6 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
this._removeProperty(tooltip, 'left');
this._removeProperty(tooltip, 'right');
this._removeProperty(tooltip, 'top');
this._removeProperty(tooltip, 'margin-left');
this._removeProperty(tooltip, 'margin-right');
this._removeProperty(tooltip, 'margin-top');

this._removeClass(tooltip, 'right');
this._removeClass(tooltip, 'left');
Expand Down Expand Up @@ -826,7 +826,7 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
step: 1,
precision: 0,
orientation: 'horizontal',
value: 5,
value: null,
range: false,
selection: 'before',
tooltip: 'show',
Expand Down Expand Up @@ -860,7 +860,7 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
},

getValue: function getValue() {
if (this.options.range) {
if (this.options.range || this._state.value === null) {
return this._state.value;
} else {
return this._state.value[0];
Expand All @@ -869,7 +869,7 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win

setValue: function setValue(val, triggerSlideEvent, triggerChangeEvent) {
if (!val) {
val = 0;
val = null;
}
var oldValue = this.getValue();
this._state.value = this._validateInputValue(val);
Expand Down Expand Up @@ -1113,11 +1113,6 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
this._setText(this.tooltipInner, formattedTooltipVal);

this.tooltip.style[this.stylePos] = positionPercentages[0] + "%";
if (this.options.orientation === 'vertical') {
this._css(this.tooltip, "margin-" + this.stylePos, -this.tooltip.offsetHeight / 2 + "px");
} else {
this._css(this.tooltip, "margin-" + this.stylePos, -this.tooltip.offsetWidth / 2 + "px");
}

function getPositionPercentages(state, reversed) {
if (reversed) {
Expand Down Expand Up @@ -1287,12 +1282,6 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
this._setText(this.tooltipInner, formattedTooltipVal);
this.tooltip.style[this.stylePos] = (positionPercentages[1] + positionPercentages[0]) / 2 + "%";

if (this.options.orientation === 'vertical') {
this._css(this.tooltip, "margin-" + this.stylePos, -this.tooltip.offsetHeight / 2 + "px");
} else {
this._css(this.tooltip, "margin-" + this.stylePos, -this.tooltip.offsetWidth / 2 + "px");
}

var innerTooltipMinText = this.options.formatter(this._state.value[0]);
this._setText(this.tooltipInner_min, innerTooltipMinText);

Expand All @@ -1301,29 +1290,12 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win

this.tooltip_min.style[this.stylePos] = positionPercentages[0] + "%";

if (this.options.orientation === 'vertical') {
this._css(this.tooltip_min, "margin-" + this.stylePos, -this.tooltip_min.offsetHeight / 2 + "px");
} else {
this._css(this.tooltip_min, "margin-" + this.stylePos, -this.tooltip_min.offsetWidth / 2 + "px");
}

this.tooltip_max.style[this.stylePos] = positionPercentages[1] + "%";

if (this.options.orientation === 'vertical') {
this._css(this.tooltip_max, "margin-" + this.stylePos, -this.tooltip_max.offsetHeight / 2 + "px");
} else {
this._css(this.tooltip_max, "margin-" + this.stylePos, -this.tooltip_max.offsetWidth / 2 + "px");
}
} else {
formattedTooltipVal = this.options.formatter(this._state.value[0]);
this._setText(this.tooltipInner, formattedTooltipVal);

this.tooltip.style[this.stylePos] = positionPercentages[0] + "%";
if (this.options.orientation === 'vertical') {
this._css(this.tooltip, "margin-" + this.stylePos, -this.tooltip.offsetHeight / 2 + "px");
} else {
this._css(this.tooltip, "margin-" + this.stylePos, -this.tooltip.offsetWidth / 2 + "px");
}
}

if (this.options.orientation === 'vertical') {
Expand Down Expand Up @@ -1415,6 +1387,7 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
}
},
_mousedown: function _mousedown(ev) {
console.ls.log('BootstrapSliderEvent', 'mousedown',ev);
if (!this._state.enabled) {
return false;
}
Expand Down Expand Up @@ -1477,6 +1450,7 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
return true;
},
_touchstart: function _touchstart(ev) {
console.ls.log('BootstrapSliderEvent','touchstart',ev);
if (ev.changedTouches === undefined) {
this._mousedown(ev);
return;
Expand Down Expand Up @@ -1525,10 +1499,18 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
dir = -dir;
}
}

if (this._state.value === null) {
this._state.value[0] = this._state.min;
this._state.value[1] = this._state.max;
}
var val = this._state.value[handleIdx] + dir * this.options.step;
var percentage = val / this.options.max * 100;
this._state.keyCtrl = handleIdx;
if (this.options.range) {
val = [!handleIdx ? val : this._state.value[0], handleIdx ? val : this._state.value[1]];
this._adjustPercentageForRangeSliders(percentage);
var val1 = !this._state.keyCtrl ? val : this._state.value[0];
var val2 = this._state.keyCtrl ? val : this._state.value[1];
val = [val1, val2];
}

this._trigger('slideStart', val);
Expand All @@ -1540,6 +1522,7 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
this._layout();

this._pauseEvent(ev);
delete this._state.keyCtrl;

return false;
},
Expand All @@ -1554,6 +1537,7 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
ev.returnValue = false;
},
_mousemove: function _mousemove(ev) {
console.ls.log('BootstrapSliderEvent', 'mousemove',ev);
if (!this._state.enabled) {
return false;
}
Expand All @@ -1569,6 +1553,7 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
return false;
},
_touchmove: function _touchmove(ev) {
console.ls.log('BootstrapSliderEvent','touchmove',ev);
if (ev.changedTouches === undefined) {
return;
}
Expand Down Expand Up @@ -1600,6 +1585,14 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
} else if (this._state.dragged === 1 && this._applyToFixedAndParseFloat(this._state.percentage[0], precision) > percentageWithAdjustedPrecision) {
this._state.percentage[1] = this._state.percentage[0];
this._state.dragged = 0;
} else if (this._state.keyCtrl === 0 && this._state.value[1] / this.options.max * 100 < percentage) {
this._state.percentage[0] = this._state.percentage[1];
this._state.keyCtrl = 1;
this.handle2.focus();
} else if (this._state.keyCtrl === 1 && this._state.value[0] / this.options.max * 100 > percentage) {
this._state.percentage[1] = this._state.percentage[0];
this._state.keyCtrl = 0;
this.handle1.focus();
}
}
},
Expand Down Expand Up @@ -1673,6 +1666,9 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
return Math.max(0, (match[1] ? match[1].length : 0) - (match[2] ? +match[2] : 0));
},
_applyToFixedAndParseFloat: function _applyToFixedAndParseFloat(num, toFixedInput) {
if (num === null) {
return null;
}
var truncatedNum = num.toFixed(toFixedInput);
return parseFloat(truncatedNum);
},
Expand Down Expand Up @@ -1709,14 +1705,16 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
} else if (Array.isArray(val)) {
this._validateArray(val);
return val;
} else if (val === null) {
return null;
} else {
throw new Error(ErrorMsgs.formatInvalidInputErrorMsg(val));
}
},
_validateArray: function _validateArray(val) {
for (var i = 0; i < val.length; i++) {
var input = val[i];
if (typeof input !== 'number') {
if (typeof input !== 'number' && input !== null) {
throw new Error(ErrorMsgs.formatInvalidInputErrorMsg(input));
}
}
Expand Down Expand Up @@ -1863,26 +1861,24 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
/*********************************
Attach to global namespace
*********************************/
if ($) {
(function () {
var autoRegisterNamespace = void 0;
if ($ && $.fn) {
var autoRegisterNamespace = void 0;

if (!$.fn.slider) {
$.bridget(NAMESPACE_MAIN, Slider);
autoRegisterNamespace = NAMESPACE_MAIN;
} else {
if (windowIsDefined) {
window.console.warn("bootstrap-slider.js - WARNING: $.fn.slider namespace is already bound. Use the $.fn.bootstrapSlider namespace instead.");
}
autoRegisterNamespace = NAMESPACE_ALTERNATE;
if (!$.fn.slider) {
$.bridget(NAMESPACE_MAIN, Slider);
autoRegisterNamespace = NAMESPACE_MAIN;
} else {
if (windowIsDefined) {
window.console.warn("bootstrap-slider.js - WARNING: $.fn.slider namespace is already bound. Use the $.fn.bootstrapSlider namespace instead.");
}
$.bridget(NAMESPACE_ALTERNATE, Slider);
autoRegisterNamespace = NAMESPACE_ALTERNATE;
}
$.bridget(NAMESPACE_ALTERNATE, Slider);

// Auto-Register data-provide="slider" Elements
$(function () {
$("input[data-provide=slider]")[autoRegisterNamespace]();
});
})();
// Auto-Register data-provide="slider" Elements
$(function () {
$("input[data-provide=slider]")[autoRegisterNamespace]();
});
}
})($);

Expand Down

Large diffs are not rendered by default.

45 changes: 29 additions & 16 deletions assets/packages/bootstrap/plugins/slider/css/bootstrap-slider.css
@@ -1,5 +1,5 @@
/*! =======================================================
VERSION 9.7.0
VERSION 10.0.0
========================================================= */
/*! =========================================================
* bootstrap-slider.js
Expand Down Expand Up @@ -70,11 +70,12 @@
.slider.slider-horizontal .slider-handle.triangle {
position: relative;
top: 50%;
-ms-transform: translateY(-50%);
transform: translateY(-50%);
border-width: 0 10px 10px 10px;
width: 0;
height: 0;
border-bottom-color: #0480be;
border-bottom-color: #2e6da4;
margin-top: 0;
}
.slider.slider-horizontal .slider-tick-container {
Expand All @@ -93,6 +94,10 @@
display: inline-block;
text-align: center;
}
.slider.slider-horizontal .tooltip {
-ms-transform: translateX(-50%);
transform: translateX(-50%);
}
.slider.slider-horizontal.slider-rtl .slider-track {
left: initial;
right: 0;
Expand All @@ -106,6 +111,10 @@
left: initial;
right: 0;
}
.slider.slider-horizontal.slider-rtl .tooltip {
-ms-transform: translateX(50%);
transform: translateX(50%);
}
.slider.slider-vertical {
height: 210px;
width: 20px;
Expand Down Expand Up @@ -137,8 +146,8 @@
border-width: 10px 0 10px 10px;
width: 1px;
height: 1px;
border-left-color: #0480be;
border-right-color: #0480be;
border-left-color: #2e6da4;
border-right-color: #2e6da4;
margin-left: 0;
margin-right: 0;
}
Expand All @@ -148,6 +157,10 @@
.slider.slider-vertical .slider-tick-label-container .slider-tick-label {
padding-left: 4px;
}
.slider.slider-vertical .tooltip {
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}
.slider.slider-vertical.slider-rtl .slider-track {
left: initial;
right: 25%;
Expand Down Expand Up @@ -219,11 +232,11 @@
border-radius: 4px;
}
.slider-selection.tick-slider-selection {
background-image: -webkit-linear-gradient(top, #89cdef 0%, #81bfde 100%);
background-image: -o-linear-gradient(top, #89cdef 0%, #81bfde 100%);
background-image: linear-gradient(to bottom, #89cdef 0%, #81bfde 100%);
background-image: -webkit-linear-gradient(top, #8ac1ef 0%, #82b3de 100%);
background-image: -o-linear-gradient(top, #8ac1ef 0%, #82b3de 100%);
background-image: linear-gradient(to bottom, #8ac1ef 0%, #82b3de 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff89cdef', endColorstr='#ff81bfde', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff8ac1ef', endColorstr='#ff82b3de', GradientType=0);
}
.slider-track-low,
.slider-track-high {
Expand All @@ -240,11 +253,11 @@
width: 20px;
height: 20px;
background-color: #337ab7;
background-image: -webkit-linear-gradient(top, #149bdf 0%, #0480be 100%);
background-image: -o-linear-gradient(top, #149bdf 0%, #0480be 100%);
background-image: linear-gradient(to bottom, #149bdf 0%, #0480be 100%);
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
filter: none;
-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
Expand Down Expand Up @@ -299,10 +312,10 @@
color: #726204;
}
.slider-tick.in-selection {
background-image: -webkit-linear-gradient(top, #89cdef 0%, #81bfde 100%);
background-image: -o-linear-gradient(top, #89cdef 0%, #81bfde 100%);
background-image: linear-gradient(to bottom, #89cdef 0%, #81bfde 100%);
background-image: -webkit-linear-gradient(top, #8ac1ef 0%, #82b3de 100%);
background-image: -o-linear-gradient(top, #8ac1ef 0%, #82b3de 100%);
background-image: linear-gradient(to bottom, #8ac1ef 0%, #82b3de 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff89cdef', endColorstr='#ff81bfde', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff8ac1ef', endColorstr='#ff82b3de', GradientType=0);
opacity: 1;
}

0 comments on commit 362c775

Please sign in to comment.