# HG changeset patch # User Nicholas Jillings # Date 1553875386 0 # Node ID 3dcdada1058f9a3c834ae0e9bf2ad48733421016 # Parent afc32cd44b220a539add8e28408961a1298eb885 Fix issue with test scale range not being set. diff -r afc32cd44b22 -r 3dcdada1058f js/specification.js --- a/js/specification.js Mon Mar 11 11:41:14 2019 +0000 +++ b/js/specification.js Fri Mar 29 16:03:06 2019 +0000 @@ -585,8 +585,9 @@ } this.options.forEach(function (option) { var child = doc.createElement("interfaceoption"); - child.setAttribute("type", option.type); - child.setAttribute("name", option.name); + Object.keys(option).forEach(function(key) { + child.setAttribute(key, option[key]); + }); if (option.type == "check" && option.errorMessage !== undefined) { var errorMessage = doc.createElement("errormessage"); errorMessage.textContent = option.errorMessage; diff -r afc32cd44b22 -r 3dcdada1058f test_create.html --- a/test_create.html Mon Mar 11 11:41:14 2019 +0000 +++ b/test_create.html Fri Mar 29 16:03:06 2019 +0000 @@ -450,10 +450,12 @@
Enforce a scale usage: - Minimum: - - Maximum: - +
+ Minimum: + + Maximum: + +
Show master volume control: diff -r afc32cd44b22 -r 3dcdada1058f test_create/test_core.js --- a/test_create/test_core.js Mon Mar 11 11:41:14 2019 +0000 +++ b/test_create/test_core.js Fri Mar 29 16:03:06 2019 +0000 @@ -443,13 +443,25 @@ var index = $s.interface.options.findIndex(function (io) { return io.name == name; }); + if (name == "scalerange") { + $e[0].querySelector("[name=min]").value = option.getAttribute("min"); + $e[0].querySelector("[name=max]").value = option.getAttribute("max"); + } option.querySelector("input").checked = (index >= 0); - if (name == "scalerange" && index >= 0) { - option.querySelector("[name=min]").value = $s.interface.options[index].min; - option.querySelector("[name=max]").value = $s.interface.options[index].max; - } }); }); + $s.updateScaleRange = function() { + var obj = $s.interface.options.find(function(i) { + return i.name == "scalerange"; + }); + if (obj === undefined) { + return; + } + var min = $e[0].querySelector("[name=min]").value; + var max = $e[0].querySelector("[name=max]").value; + obj.min = min; + obj.max = max; + }; $s.enableInterfaceOption = function ($event) { var name = $event.currentTarget.parentElement.getAttribute("name"); var type = $event.currentTarget.parentElement.getAttribute("type"); @@ -457,14 +469,14 @@ return io.name == name; }); if (index == -1 && $event.currentTarget.checked) { - var obj = $s.interface.options.push({ + var obj = { name: name, type: type - }); + }; if (name == "scalerange") { - obj.min = $event.currentTarget.parentElement.querySelector("[name=min]").value; - obj.max = $event.currentTarget.parentElement.querySelector("[name=max]").value; + $s.updateScaleRange(); } + $s.interface.options.push(obj); } else if (index >= 0 && !$event.currentTarget.checked) { $s.interface.options.splice(index, 1); }