diff options
author | Aaron LI <aaronly.me@outlook.com> | 2016-11-13 15:02:17 +0800 |
---|---|---|
committer | Aaron LI <aaronly.me@outlook.com> | 2016-11-13 15:02:17 +0800 |
commit | 2db6464949e65df55396640dda598ffcdd27420c (patch) | |
tree | e8e4e114eddc3e6394314954ec16622d7e96b202 /fg21sim | |
parent | bb0ee7f9f713a4371f3837486293f85aa0fbaec8 (diff) | |
download | fg21sim-2db6464949e65df55396640dda598ffcdd27420c.tar.bz2 |
webui: Store config validity; Check before start task
* "updateFormConfigStatus()": Store the configuration validity as a
custom data attribute.
* Check the current configuration validity before start the task on the
server.
Diffstat (limited to 'fg21sim')
-rw-r--r-- | fg21sim/webui/static/js/configs.js | 16 | ||||
-rw-r--r-- | fg21sim/webui/static/js/websocket.js | 10 |
2 files changed, 17 insertions, 9 deletions
diff --git a/fg21sim/webui/static/js/configs.js b/fg21sim/webui/static/js/configs.js index d05892b..4e635ae 100644 --- a/fg21sim/webui/static/js/configs.js +++ b/fg21sim/webui/static/js/configs.js @@ -262,28 +262,32 @@ var setFormConfigs = function (data, errors) { /** * Update the configuration form status indicator: "#conf-status" + * Also store the validity status in a custom data attribute. */ var updateFormConfigStatus = function () { + var target = $("#conf-status"); var recheck_icon = $("#conf-recheck"); var invalid = $("#conf-form").find("input[name]:invalid"); if (invalid.length) { // Exists invalid configurations console.warn("Found", invalid.length, "invalid configurations!"); recheck_icon.show(); - $("#conf-status").removeClass("label-default label-success") + target.removeClass("label-default label-success") .addClass("label-warning"); - $("#conf-status .icon").removeClass("fa-question-circle fa-check-circle") + target.find(".icon").removeClass("fa-question-circle fa-check-circle") .addClass("fa-warning"); - $("#conf-status .text").text("Invalid!"); + target.find(".text").text("Invalid!"); + target.data("validity", false); } else { // All valid // console.info("Great, all configurations are valid :)"); recheck_icon.hide(); - $("#conf-status").removeClass("label-default label-warning") + target.removeClass("label-default label-warning") .addClass("label-success"); - $("#conf-status .icon").removeClass("fa-question-circle fa-warning") + target.find(".icon").removeClass("fa-question-circle fa-warning") .addClass("fa-check-circle"); - $("#conf-status .text").text("Valid :)"); + target.find(".text").text("Valid :)"); + target.data("validity", true); } }; diff --git a/fg21sim/webui/static/js/websocket.js b/fg21sim/webui/static/js/websocket.js index fdca619..26d7fce 100644 --- a/fg21sim/webui/static/js/websocket.js +++ b/fg21sim/webui/static/js/websocket.js @@ -227,9 +227,13 @@ $(document).ready(function () { // Start the task on the server $("#task-start").on("click", function () { - updateTaskStatus({running: true, finished: false}); - startServerTask(g_ws); - getServerTaskStatus(g_ws); + if ($("#conf-status").data("validity")) { + updateTaskStatus({running: true, finished: false}); + startServerTask(g_ws); + getServerTaskStatus(g_ws); + } else { + console.error("Exist invalid configuration values!"); + } }); /* Logging messages controls */ |