aboutsummaryrefslogtreecommitdiffstats
path: root/src/js
diff options
context:
space:
mode:
authorHumberto Alfonso Díaz <humberto.alfonso@asvito.es>2019-07-05 13:37:04 +0200
committerLorenzo Tilve <ltilve@igalia.com>2020-02-04 09:42:15 +0100
commit7c3999c0457e5cc9a273b2ae5029c35ecab0792c (patch)
tree54e8fdd212764793c92db355a9b3761f2611a0b2 /src/js
parentc614436d29a11ddbb1218485a05da7dde0e57038 (diff)
FUNCT Add temperature management
Diffstat (limited to 'src/js')
-rw-r--r--src/js/temperature.js73
1 files changed, 73 insertions, 0 deletions
diff --git a/src/js/temperature.js b/src/js/temperature.js
new file mode 100644
index 0000000..45cbe8c
--- /dev/null
+++ b/src/js/temperature.js
@@ -0,0 +1,73 @@
+var left = 22;
+var right = 22;
+
+var lowTemperature = 15;
+var hiTemperature = 30;
+var temperatures = [];
+
+var isScrolling;
+var elementHeight;
+
+function createTemperatureElement() {
+ var element = document.createElement('div');
+ element.classList = ['temperature'];
+ element.style.height = elementHeight+'px';
+ element.style.lineHeight = elementHeight+'px';
+ return element;
+}
+
+function update(node, index) {
+ node.scrollTop = index*elementHeight;
+
+ for( var i=0; i<node.children.length; i++) {
+ node.children[i].setAttribute('enabled',false);
+ }
+ node.children[index].setAttribute('enabled', true);
+}
+
+module.exports = {
+ left: function(node) {
+ clearTimeout(isScrolling);
+
+ isScrolling = setTimeout(function(){
+ var index = Math.round(node.scrollTop/elementHeight);
+ left = temperatures[index];
+ update(node, index);
+ console.log('LEFT', left);
+ }, 100);
+ },
+ right: function(node) {
+ clearTimeout(isScrolling);
+
+ isScrolling = setTimeout(function(){
+ var index = Math.round(node.scrollTop/elementHeight);
+ right = temperatures[index];
+ update(node, index);
+ console.log('RIGHT', right);
+ }, 100);
+ },
+ init: function() {
+ var leftTemperature = document.getElementById('lefttemperature');
+ var rightTemperature = document.getElementById('righttemperature');
+ elementHeight = leftTemperature.offsetHeight/2;
+
+ for( var i=lowTemperature; i<=hiTemperature; i++) {
+ var element = createTemperatureElement();
+ if( i === lowTemperature) {
+ element.innerHTML = 'LO';
+ } else if( i === hiTemperature ) {
+ element.innerHTML = 'HI';
+ } else {
+ element.innerHTML = i+'º';
+ }
+ leftTemperature.appendChild(element);
+ rightTemperature.appendChild(element.cloneNode(true));
+ temperatures[temperatures.length] = i;
+ }
+ leftTemperature.appendChild(createTemperatureElement());
+ rightTemperature.appendChild(createTemperatureElement());
+
+ update(leftTemperature, temperatures.indexOf(left));
+ update(rightTemperature, temperatures.indexOf(right));
+ }
+} \ No newline at end of file