From 17889a2b4682d4d9ff2b588f6d1d58e4f2e384f0 Mon Sep 17 00:00:00 2001 From: Marc Date: Fri, 24 Apr 2015 14:46:41 +0200 Subject: [PATCH] Slider DefaultValue always an Int and in range(min, max) --- .../static/js/app/viewmodels/control.js | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/octoprint/static/js/app/viewmodels/control.js b/src/octoprint/static/js/app/viewmodels/control.js index 46a8b878..17ec4623 100644 --- a/src/octoprint/static/js/app/viewmodels/control.js +++ b/src/octoprint/static/js/app/viewmodels/control.js @@ -156,9 +156,24 @@ $(function() { if (control.hasOwnProperty("input")) { for (var i = 0; i < control.input.length; i++) { - control.input[i].value = ko.observable(control.input[i].defaultValue || "0"); - if (!control.input[i].hasOwnProperty("slider")) { - control.input[i].slider = false; + if (control.input[i].hasOwnProperty("slider") && typeof control.input[i].slider == "object") { + var param = control.input[i].hasOwnProperty("defaultValue") ? control.input[i].defaultValue : (control.input[i].slider.hasOwnProperty("min") ? control.input[i].slider.min : 0); + if (typeof param == "string") + param = parseInt(param); + + if (control.input[i].slider.hasOwnProperty("min") && param < control.input[i].slider.min) + param = control.input[i].slider.min; + + if (control.input[i].slider.hasOwnProperty("max") && param > control.input[i].slider.max) + param = control.input[i].slider.max; + + if (typeof param == "string") + param = parseInt(param); + + control.input[i].value = ko.observable(param); + } else { + control.input[i].slider = false; + control.input[i].value = ko.observable(control.input[i].hasOwnProperty("defaultValue") ? control.input[i].defaultValue : ""); } } }