aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/demos/slider.html
blob: 1c85e67f765d23016b1ce448e58d2f2b5677bfd5 (plain)
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<!DOCTYPE html>
<html>
<!--
Copyright 2010 The Closure Library Authors. All Rights Reserved.

Use of this source code is governed by the Apache License, Version 2.0.
See the COPYING file for details.
-->
<head>
  <title>goog.ui.Slider</title>
  <meta charset="utf-8">
  <script src="../base.js"></script>
  <script>
    goog.require('goog.dom');
    goog.require('goog.ui.Component');
    goog.require('goog.ui.Slider');
  </script>
  <link rel="stylesheet" href="css/demo.css">
  <style>
    .goog-slider-vertical,
    .goog-slider-horizontal {
      background-color: ThreeDFace;
      position: relative;
      overflow: hidden;
    }
    .goog-slider-thumb {
      position: absolute;
      background-color: ThreeDShadow;
      overflow: hidden;
    }

    .goog-slider-vertical .goog-slider-thumb {
      left: 0;
      height: 20px;
      width: 100%;
    }

    .goog-slider-horizontal .goog-slider-thumb {
      top: 0;
      width: 20px;
      height: 100%;
    }
    .goog-slider-disabled {
      background-color: lightgray
    }
    #s-h {
      margin-bottom: 2em;
    }
    strong {
      display: block;
      margin-bottom: 3px;
    }
  </style>
</head>
<body>
  <h1>goog.ui.Slider</h1>

  <div id="s-h">
    <strong>Horizontal Slider</strong>
    <div id="s1" class="goog-slider" style="width: 200px; height: 20px">
      <!-- this line is here just to show that custom content can be added -->
      <div style="position:absolute;width:100%;top:9px;border:1px inset white;
                  overflow:hidden;height:0"></div>
      <div class="goog-slider-thumb"></div>
    </div>
    <input type="checkbox" onclick="s.setMoveToPointEnabled(this.checked)">
    MoveToPointEnabled
    <input type="checkbox" onclick="s.setEnabled(this.checked)" checked>
    Enable
    <br>
    <input type="text" value="0" id="out1" style="margin-left: 0px">
    <input type="button" value="Set Value" onclick="setSliderValue(s, 'out1')">
  </div>

  <div id="s-v">
    <strong>Vertical Slider, inserted w/ script</strong>
    <label id="s2-label">
      <input type="checkbox" onclick="s2.setMoveToPointEnabled(this.checked)">
      MoveToPointEnabled
    </label>
    <input type="checkbox" onclick="s2.setEnabled(this.checked)" checked>
    Enable
    <br>
    <input type="text" value="0" id="out2" style="margin-left: 0px">
    <input type="button" value="Set Value" onclick="setSliderValue(s2, 'out2')">
  </div>
  <script>

  var el = document.getElementById('s1');
  var s = new goog.ui.Slider;
  s.decorate(el);
  s.addEventListener(goog.ui.Component.EventType.CHANGE, function() {
    document.getElementById('out1').value = s.getValue();
  });


  var s2 = new goog.ui.Slider;
  s2.setOrientation(goog.ui.Slider.Orientation.VERTICAL);
  s2.createDom();
  var el = s2.getElement();
  el.style.width = '20px';
  el.style.height = '200px';
  s2.render(document.body);
  s2.setStep(null);
  s2.addEventListener(goog.ui.Component.EventType.CHANGE, function() {
    document.getElementById('out2').value = s2.getValue();
  });

  var label = document.getElementById('s2-label');
  label.parentNode.insertBefore(el, label);

  function toggleSliderEnable(button, slider) {
    var buttonValue = slider.isEnabled() ? 'Enable Slider' : 'Disable Slider';
    button.value = buttonValue;
    slider.setEnabled(!slider.isEnabled());
  }

  function setSliderValue(slider, textId) {
    if (document.getElementById(textId)) {
      var value = document.getElementById(textId).value;
      window.console.log(value);
      slider.setValue(new Number(value));
    }
  }

  </script>
</body>
</html>