bootstrap-slider-rails 9.2.0 → 9.3.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 27a6cf2a46cf57d43480f2cf07edd1d7bf69cca2
|
4
|
+
data.tar.gz: 98e72dcc23fb45785b34482f4654f2ba18f4a2db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d217975506863ce924849ed5d82d7b0ebc2a6083121aa6d0863392ff2a414b03ac4e5d69cc0e35d4dcd39e9e26647b30473b8cbfdbc6d3ab3aa737529c583f69
|
7
|
+
data.tar.gz: 3150c0999906506e7eb1d15ef9bb7e9aaeaba7344da98d36e40073f97c08837b548a89e59ae6a765a24c1577a4b4170e3e3e36b9ed0b3d05b22cf6552fa63c55
|
@@ -1,9 +1,9 @@
|
|
1
1
|
/*! =======================================================
|
2
|
-
VERSION 9.
|
2
|
+
VERSION 9.3.0
|
3
3
|
========================================================= */
|
4
4
|
"use strict";
|
5
5
|
|
6
|
-
function
|
6
|
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
|
7
7
|
|
8
8
|
/*! =========================================================
|
9
9
|
* bootstrap-slider.js
|
@@ -310,7 +310,7 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
|
|
310
310
|
/*************************************************
|
311
311
|
CONSTRUCTOR
|
312
312
|
**************************************************/
|
313
|
-
Slider = function (element, options) {
|
313
|
+
Slider = function Slider(element, options) {
|
314
314
|
createNewSlider.call(this, element, options);
|
315
315
|
return this;
|
316
316
|
};
|
@@ -319,7 +319,7 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
|
|
319
319
|
|
320
320
|
/*
|
321
321
|
The internal state object is used to store data about the current 'state' of slider.
|
322
|
-
|
322
|
+
This includes values such as the `value`, `enabled`, etc...
|
323
323
|
*/
|
324
324
|
this._state = {
|
325
325
|
value: null,
|
@@ -331,6 +331,10 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
|
|
331
331
|
over: false
|
332
332
|
};
|
333
333
|
|
334
|
+
// The objects used to store the reference to the tick methods if ticks_tooltip is on
|
335
|
+
this.ticksCallbackMap = {};
|
336
|
+
this.handleCallbackMap = {};
|
337
|
+
|
334
338
|
if (typeof element === "string") {
|
335
339
|
this.element = document.querySelector(element);
|
336
340
|
} else if (element instanceof HTMLElement) {
|
@@ -468,6 +472,16 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
|
|
468
472
|
for (i = 0; i < this.options.ticks.length; i++) {
|
469
473
|
var tick = document.createElement('div');
|
470
474
|
tick.className = 'slider-tick';
|
475
|
+
if (this.options.ticks_tooltip) {
|
476
|
+
var tickListenerReference = this._addTickListener();
|
477
|
+
var enterCallback = tickListenerReference.addMouseEnter(this, tick, i);
|
478
|
+
var leaveCallback = tickListenerReference.addMouseLeave(this, tick);
|
479
|
+
|
480
|
+
this.ticksCallbackMap[i] = {
|
481
|
+
mouseEnter: enterCallback,
|
482
|
+
mouseLeave: leaveCallback
|
483
|
+
};
|
484
|
+
}
|
471
485
|
this.ticks.push(tick);
|
472
486
|
this.ticksContainer.appendChild(tick);
|
473
487
|
}
|
@@ -710,8 +724,26 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
|
|
710
724
|
this.showTooltip = this._showTooltip.bind(this);
|
711
725
|
this.hideTooltip = this._hideTooltip.bind(this);
|
712
726
|
|
713
|
-
this.
|
714
|
-
|
727
|
+
if (this.options.ticks_tooltip) {
|
728
|
+
var callbackHandle = this._addTickListener();
|
729
|
+
//create handle1 listeners and store references in map
|
730
|
+
var mouseEnter = callbackHandle.addMouseEnter(this, this.handle1);
|
731
|
+
var mouseLeave = callbackHandle.addMouseLeave(this, this.handle1);
|
732
|
+
this.handleCallbackMap.handle1 = {
|
733
|
+
mouseEnter: mouseEnter,
|
734
|
+
mouseLeave: mouseLeave
|
735
|
+
};
|
736
|
+
//create handle2 listeners and store references in map
|
737
|
+
mouseEnter = callbackHandle.addMouseEnter(this, this.handle2);
|
738
|
+
mouseLeave = callbackHandle.addMouseLeave(this, this.handle2);
|
739
|
+
this.handleCallbackMap.handle2 = {
|
740
|
+
mouseEnter: mouseEnter,
|
741
|
+
mouseLeave: mouseLeave
|
742
|
+
};
|
743
|
+
} else {
|
744
|
+
this.sliderElem.addEventListener("mouseenter", this.showTooltip, false);
|
745
|
+
this.sliderElem.addEventListener("mouseleave", this.hideTooltip, false);
|
746
|
+
}
|
715
747
|
|
716
748
|
this.handle1.addEventListener("focus", this.showTooltip, false);
|
717
749
|
this.handle1.addEventListener("blur", this.hideTooltip, false);
|
@@ -764,6 +796,7 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
|
|
764
796
|
ticks_positions: [],
|
765
797
|
ticks_labels: [],
|
766
798
|
ticks_snap_bounds: 0,
|
799
|
+
ticks_tooltip: false,
|
767
800
|
scale: 'linear',
|
768
801
|
focus: false,
|
769
802
|
tooltip_position: null,
|
@@ -933,13 +966,29 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
|
|
933
966
|
HELPERS
|
934
967
|
- Any method that is not part of the public interface.
|
935
968
|
- Place it underneath this comment block and write its signature like so:
|
936
|
-
|
969
|
+
_fnName : function() {...}
|
937
970
|
********************************/
|
938
971
|
_removeSliderEventHandlers: function _removeSliderEventHandlers() {
|
939
972
|
// Remove keydown event listeners
|
940
973
|
this.handle1.removeEventListener("keydown", this.handle1Keydown, false);
|
941
974
|
this.handle2.removeEventListener("keydown", this.handle2Keydown, false);
|
942
975
|
|
976
|
+
//remove the listeners from the ticks and handles if they had their own listeners
|
977
|
+
if (this.options.ticks_tooltip) {
|
978
|
+
var ticks = this.ticksContainer.getElementsByClassName('slider-tick');
|
979
|
+
for (var i = 0; i < ticks.length; i++) {
|
980
|
+
ticks[i].removeEventListener('mouseenter', this.ticksCallbackMap[i].mouseEnter, false);
|
981
|
+
ticks[i].removeEventListener('mouseleave', this.ticksCallbackMap[i].mouseLeave, false);
|
982
|
+
}
|
983
|
+
this.handle1.removeEventListener('mouseenter', this.handleCallbackMap.handle1.mouseEnter, false);
|
984
|
+
this.handle2.removeEventListener('mouseenter', this.handleCallbackMap.handle2.mouseEnter, false);
|
985
|
+
this.handle1.removeEventListener('mouseleave', this.handleCallbackMap.handle1.mouseLeave, false);
|
986
|
+
this.handle2.removeEventListener('mouseleave', this.handleCallbackMap.handle2.mouseLeave, false);
|
987
|
+
}
|
988
|
+
|
989
|
+
this.handleCallbackMap = null;
|
990
|
+
this.ticksCallbackMap = null;
|
991
|
+
|
943
992
|
if (this.showTooltip) {
|
944
993
|
this.handle1.removeEventListener("focus", this.showTooltip, false);
|
945
994
|
this.handle2.removeEventListener("focus", this.showTooltip, false);
|
@@ -1007,6 +1056,49 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
|
|
1007
1056
|
}
|
1008
1057
|
this._state.over = false;
|
1009
1058
|
},
|
1059
|
+
_setToolTipOnMouseOver: function _setToolTipOnMouseOver(tempState) {
|
1060
|
+
var formattedTooltipVal = this.options.formatter(!tempState ? this._state.value[0] : tempState.value[0]);
|
1061
|
+
var positionPercentages = !tempState ? getPositionPercentages(this._state, this.options.reversed) : getPositionPercentages(tempState, this.options.reversed);
|
1062
|
+
this._setText(this.tooltipInner, formattedTooltipVal);
|
1063
|
+
|
1064
|
+
this.tooltip.style[this.stylePos] = positionPercentages[0] + '%';
|
1065
|
+
if (this.options.orientation === 'vertical') {
|
1066
|
+
this._css(this.tooltip, 'margin-top', -this.tooltip.offsetHeight / 2 + 'px');
|
1067
|
+
} else {
|
1068
|
+
this._css(this.tooltip, 'margin-left', -this.tooltip.offsetWidth / 2 + 'px');
|
1069
|
+
}
|
1070
|
+
|
1071
|
+
function getPositionPercentages(state, reversed) {
|
1072
|
+
if (reversed) {
|
1073
|
+
return [100 - state.percentage[0], this.options.range ? 100 - state.percentage[1] : state.percentage[1]];
|
1074
|
+
}
|
1075
|
+
return [state.percentage[0], state.percentage[1]];
|
1076
|
+
}
|
1077
|
+
},
|
1078
|
+
_addTickListener: function _addTickListener() {
|
1079
|
+
return {
|
1080
|
+
addMouseEnter: function addMouseEnter(reference, tick, index) {
|
1081
|
+
var enter = function enter() {
|
1082
|
+
var tempState = reference._state;
|
1083
|
+
var idString = index >= 0 ? index : this.attributes['aria-valuenow'].value;
|
1084
|
+
var hoverIndex = parseInt(idString, 10);
|
1085
|
+
tempState.value[0] = hoverIndex;
|
1086
|
+
tempState.percentage[0] = reference.options.ticks_positions[hoverIndex];
|
1087
|
+
reference._setToolTipOnMouseOver(tempState);
|
1088
|
+
reference._showTooltip();
|
1089
|
+
};
|
1090
|
+
tick.addEventListener("mouseenter", enter, false);
|
1091
|
+
return enter;
|
1092
|
+
},
|
1093
|
+
addMouseLeave: function addMouseLeave(reference, tick) {
|
1094
|
+
var leave = function leave() {
|
1095
|
+
reference._hideTooltip();
|
1096
|
+
};
|
1097
|
+
tick.addEventListener("mouseleave", leave, false);
|
1098
|
+
return leave;
|
1099
|
+
}
|
1100
|
+
};
|
1101
|
+
},
|
1010
1102
|
_layout: function _layout() {
|
1011
1103
|
var positionPercentages;
|
1012
1104
|
|
@@ -1028,6 +1120,12 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
|
|
1028
1120
|
var startPercent = this._toPercentage(this.options.rangeHighlights[_i].start);
|
1029
1121
|
var endPercent = this._toPercentage(this.options.rangeHighlights[_i].end);
|
1030
1122
|
|
1123
|
+
if (this.options.reversed) {
|
1124
|
+
var sp = 100 - endPercent;
|
1125
|
+
endPercent = 100 - startPercent;
|
1126
|
+
startPercent = sp;
|
1127
|
+
}
|
1128
|
+
|
1031
1129
|
var currentRange = this._createHighlightRange(startPercent, endPercent);
|
1032
1130
|
|
1033
1131
|
if (currentRange) {
|
@@ -1648,20 +1746,20 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
|
|
1648
1746
|
if (this.options.orientation === 'vertical') {
|
1649
1747
|
var tooltipPos = this.options.tooltip_position || 'right';
|
1650
1748
|
var oppositeSide = tooltipPos === 'left' ? 'right' : 'left';
|
1651
|
-
tooltips.forEach(
|
1749
|
+
tooltips.forEach(function (tooltip) {
|
1652
1750
|
this._addClass(tooltip, tooltipPos);
|
1653
1751
|
tooltip.style[oppositeSide] = '100%';
|
1654
|
-
}
|
1752
|
+
}.bind(this));
|
1655
1753
|
} else if (this.options.tooltip_position === 'bottom') {
|
1656
|
-
tooltips.forEach(
|
1754
|
+
tooltips.forEach(function (tooltip) {
|
1657
1755
|
this._addClass(tooltip, 'bottom');
|
1658
1756
|
tooltip.style.top = 22 + 'px';
|
1659
|
-
}
|
1757
|
+
}.bind(this));
|
1660
1758
|
} else {
|
1661
|
-
tooltips.forEach(
|
1759
|
+
tooltips.forEach(function (tooltip) {
|
1662
1760
|
this._addClass(tooltip, 'top');
|
1663
1761
|
tooltip.style.top = -this.tooltip.outerHeight - 14 + 'px';
|
1664
|
-
}
|
1762
|
+
}.bind(this));
|
1665
1763
|
}
|
1666
1764
|
}
|
1667
1765
|
};
|
@@ -1671,7 +1769,7 @@ var windowIsDefined = (typeof window === "undefined" ? "undefined" : _typeof(win
|
|
1671
1769
|
*********************************/
|
1672
1770
|
if ($) {
|
1673
1771
|
(function () {
|
1674
|
-
var autoRegisterNamespace =
|
1772
|
+
var autoRegisterNamespace = void 0;
|
1675
1773
|
|
1676
1774
|
if (!$.fn.slider) {
|
1677
1775
|
$.bridget(NAMESPACE_MAIN, Slider);
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bootstrap-slider-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 9.
|
4
|
+
version: 9.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pedr Browne
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-06-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -97,7 +97,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
97
97
|
version: '0'
|
98
98
|
requirements: []
|
99
99
|
rubyforge_project:
|
100
|
-
rubygems_version: 2.6.
|
100
|
+
rubygems_version: 2.6.12
|
101
101
|
signing_key:
|
102
102
|
specification_version: 4
|
103
103
|
summary: This Gem integrates Seiyara's fork of Bootstrap Slider with Rails, exposing
|