File: slider_limit.js

package info (click to toggle)
node-nouislider 15.8.1%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,928 kB
  • sloc: javascript: 5,234; php: 474; sh: 32; python: 28; makefile: 11
file content (77 lines) | stat: -rw-r--r-- 2,385 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
QUnit.test("Limit option", function (assert) {

    document.getElementById('qunit-fixture').innerHTML = '<div class="slider"></div>';

    var settings = {
        start: [50, 100],
        limit: 30,
        range: {
            'min': 30,
            'max': 986
        }
    };

    var slider = document.getElementById('qunit-fixture').querySelector('.slider');

    noUiSlider.create(slider, settings);

    assert.deepEqual(slider.noUiSlider.get(), ['50.00', '80.00'], 'Limit applied on init.');

    slider.noUiSlider.set([null, 600]);
    assert.deepEqual(slider.noUiSlider.get(), ['50.00', '80.00'], 'Handle can\'t leave limit.');

    slider.noUiSlider.set([150, 600]);
    assert.deepEqual(slider.noUiSlider.get(), ['150.00', '180.00'], 'Multiple set limit.');

    // Rebuild with new settings;
    settings.direction = 'rtl';
    slider.noUiSlider.destroy();

    noUiSlider.create(slider, settings);

    assert.deepEqual(slider.noUiSlider.get(), ['50.00', '80.00'], 'RTL correct value.');

    slider.noUiSlider.set([120, 240]);
    assert.deepEqual(slider.noUiSlider.get(), ['120.00', '150.00'], 'RTL set.');
});

QUnit.test("Limit option (non-linear)", function (assert) {

    document.getElementById('qunit-fixture').innerHTML = '<div class="slider"></div>';

    var settings = {
        start: [50, 310],
        limit: 100,
        range: {
            'min': [0],
            '20%': [160],
            '40%': [240],
            '60%': [280],
            '80%': [300],
            'max': [310]
        }
    };

    var slider = document.getElementById('qunit-fixture').querySelector('.slider');

    noUiSlider.create(slider, settings);

    assert.deepEqual(slider.noUiSlider.get(), ['50.00', '150.00'], 'Limit applied on init.');

    slider.noUiSlider.set([null, 600]);
    assert.deepEqual(slider.noUiSlider.get(), ['50.00', '150.00'], 'Handle can\'t leave limit.');

    slider.noUiSlider.set([150, 310]);
    assert.deepEqual(slider.noUiSlider.get(), ['150.00', '250.00'], 'Multiple set limit.');

    // Rebuild with new settings;
    settings.direction = 'rtl';
    slider.noUiSlider.destroy();

    noUiSlider.create(slider, settings);

    assert.deepEqual(slider.noUiSlider.get(), ['50.00', '150.00'], 'RTL correct value.');

    slider.noUiSlider.set([120, 240]);
    assert.deepEqual(slider.noUiSlider.get(), ['120.00', '220.00'], 'RTL set.');
});