|
1 | | -/*! nouislider - 14.0.3 - 10/10/2019 */ |
| 1 | +/*! nouislider - 14.1.0 - 12/4/2019 */ |
2 | 2 | (function(factory) { |
3 | 3 | if (typeof define === "function" && define.amd) { |
4 | 4 | // AMD. Register as an anonymous module. |
|
13 | 13 | })(function() { |
14 | 14 | "use strict"; |
15 | 15 |
|
16 | | - var VERSION = "14.0.3"; |
| 16 | + var VERSION = "14.1.0"; |
17 | 17 |
|
18 | 18 | //region Helper Methods |
19 | 19 |
|
|
893 | 893 | connects: "connects", |
894 | 894 | ltr: "ltr", |
895 | 895 | rtl: "rtl", |
| 896 | + textDirectionLtr: "txt-dir-ltr", |
| 897 | + textDirectionRtl: "txt-dir-rtl", |
896 | 898 | draggable: "draggable", |
897 | 899 | drag: "state-drag", |
898 | 900 | tap: "state-tap", |
|
1090 | 1092 | addClass(addTarget, options.cssClasses.vertical); |
1091 | 1093 | } |
1092 | 1094 |
|
| 1095 | + var textDirection = getComputedStyle(addTarget).direction; |
| 1096 | + |
| 1097 | + if (textDirection === "ltr") { |
| 1098 | + addClass(addTarget, options.cssClasses.textDirectionLtr); |
| 1099 | + } else { |
| 1100 | + addClass(addTarget, options.cssClasses.textDirectionRtl); |
| 1101 | + } |
| 1102 | + |
1093 | 1103 | return addNodeTo(addTarget, options.cssClasses.base); |
1094 | 1104 | } |
1095 | 1105 |
|
|
1798 | 1808 |
|
1799 | 1809 | var horizontalKeys = ["Left", "Right"]; |
1800 | 1810 | var verticalKeys = ["Down", "Up"]; |
| 1811 | + var largeStepKeys = ["PageDown", "PageUp"]; |
| 1812 | + var edgeKeys = ["Home", "End"]; |
1801 | 1813 |
|
1802 | 1814 | if (options.dir && !options.ort) { |
1803 | 1815 | // On an right-to-left slider, the left and right keys act inverted |
1804 | 1816 | horizontalKeys.reverse(); |
1805 | 1817 | } else if (options.ort && !options.dir) { |
1806 | 1818 | // On a top-to-bottom slider, the up and down keys act inverted |
1807 | 1819 | verticalKeys.reverse(); |
| 1820 | + largeStepKeys.reverse(); |
1808 | 1821 | } |
1809 | 1822 |
|
1810 | 1823 | // Strip "Arrow" for IE compatibility. https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key |
1811 | 1824 | var key = event.key.replace("Arrow", ""); |
1812 | | - var isDown = key === verticalKeys[0] || key === horizontalKeys[0]; |
1813 | | - var isUp = key === verticalKeys[1] || key === horizontalKeys[1]; |
1814 | 1825 |
|
1815 | | - if (!isDown && !isUp) { |
| 1826 | + var isLargeDown = key === largeStepKeys[0]; |
| 1827 | + var isLargeUp = key === largeStepKeys[1]; |
| 1828 | + var isDown = key === verticalKeys[0] || key === horizontalKeys[0] || isLargeDown; |
| 1829 | + var isUp = key === verticalKeys[1] || key === horizontalKeys[1] || isLargeUp; |
| 1830 | + var isMin = key === edgeKeys[0]; |
| 1831 | + var isMax = key === edgeKeys[1]; |
| 1832 | + |
| 1833 | + if (!isDown && !isUp && !isMin && !isMax) { |
1816 | 1834 | return true; |
1817 | 1835 | } |
1818 | 1836 |
|
1819 | 1837 | event.preventDefault(); |
1820 | 1838 |
|
1821 | | - var direction = isDown ? 0 : 1; |
1822 | | - var steps = getNextStepsForHandle(handleNumber); |
1823 | | - var step = steps[direction]; |
| 1839 | + var to; |
1824 | 1840 |
|
1825 | | - // At the edge of a slider, do nothing |
1826 | | - if (step === null) { |
1827 | | - return false; |
1828 | | - } |
| 1841 | + if (isUp || isDown) { |
| 1842 | + var multiplier = 5; |
| 1843 | + var direction = isDown ? 0 : 1; |
| 1844 | + var steps = getNextStepsForHandle(handleNumber); |
| 1845 | + var step = steps[direction]; |
1829 | 1846 |
|
1830 | | - // No step set, use the default of 10% of the sub-range |
1831 | | - if (step === false) { |
1832 | | - step = scope_Spectrum.getDefaultStep(scope_Locations[handleNumber], isDown, 10); |
1833 | | - } |
| 1847 | + // At the edge of a slider, do nothing |
| 1848 | + if (step === null) { |
| 1849 | + return false; |
| 1850 | + } |
1834 | 1851 |
|
1835 | | - // Step over zero-length ranges (#948); |
1836 | | - step = Math.max(step, 0.0000001); |
| 1852 | + // No step set, use the default of 10% of the sub-range |
| 1853 | + if (step === false) { |
| 1854 | + step = scope_Spectrum.getDefaultStep(scope_Locations[handleNumber], isDown, 10); |
| 1855 | + } |
1837 | 1856 |
|
1838 | | - // Decrement for down steps |
1839 | | - step = (isDown ? -1 : 1) * step; |
| 1857 | + if (isLargeUp || isLargeDown) { |
| 1858 | + step *= multiplier; |
| 1859 | + } |
| 1860 | + |
| 1861 | + // Step over zero-length ranges (#948); |
| 1862 | + step = Math.max(step, 0.0000001); |
| 1863 | + |
| 1864 | + // Decrement for down steps |
| 1865 | + step = (isDown ? -1 : 1) * step; |
| 1866 | + |
| 1867 | + to = scope_Values[handleNumber] + step; |
| 1868 | + } else if (isMax) { |
| 1869 | + // End key |
| 1870 | + to = options.spectrum.xVal[options.spectrum.xVal.length - 1]; |
| 1871 | + } else { |
| 1872 | + // Home key |
| 1873 | + to = options.spectrum.xVal[0]; |
| 1874 | + } |
1840 | 1875 |
|
1841 | | - setHandle(handleNumber, scope_Spectrum.toStepping(scope_Values[handleNumber] + step), true, true); |
| 1876 | + setHandle(handleNumber, scope_Spectrum.toStepping(to), true, true); |
1842 | 1877 |
|
1843 | 1878 | fireEvent("slide", handleNumber); |
1844 | 1879 | fireEvent("update", handleNumber); |
|
0 commit comments