| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
* Fix the wrong "action=reset" in "setServerConfigs()"
* Add the missing "return" in the jQuery AJAX chain
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* Remove the authentication requirement on GET operation
* "main.js": Redirect to the login page if POST response 403 forbidden
* "main.js": Use global AJAX events handling instead of `$.ajaxSetup()`
|
| |
|
|
|
|
|
| |
* Also update the logging messages styles for the Web UI
* Show a modal notification when the task finished.
|
|
|
|
| |
Also support modal dialog for confirmation and operation results.
|
|
|
|
|
|
|
| |
* IE11 does NOT support most of the ECMAScript 6 features, such as the
"computed property names" which used in "configs.js".
* Do not use the "computed property names" feature to support IE11
* Fix a missing quotation in "index.html"
|
| |
|
|
|
|
|
| |
* Implement "showModalConsole()" based on "showModal()"
* Move binding function from "websocket.js" to "console.js"
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The section header has class "heading" and a toggle control with class
"toggle", which will toggle the display of the next block with the
"body" class.
|
| |
|
| |
|
|
|
|
| |
Also improve the "showConfigsModal()" to support buttons.
|
|
|
|
|
|
|
|
|
|
| |
* Interact with server-side configurations using AJAX GET and POST,
instead of sending and receiving messages through the WebSocket.
* Add callbacks on both AJAX success and error, to show a modal box
displaying the operation results/errors, achieving better user
experiences.
* Use jQuery deferred and promises to achieve sequential operations.
* Also move the binding function from "websocket.js" to "configs.js"
|
|
|
|
|
|
|
|
| |
* Add function "getCookie()": get the value of the specified key from
the cookies;
* Add jQuery extension ".postJSON()": wrapper for easier AJAX post,
with the XSRF header and correct content type;
* Also set the default "error" handle function for AJAX request.
|
| |
|
|
|
|
|
|
|
| |
* Change configuration status text from "Valid :)" to "OK"
* Reduce maximum WS connection trials from 100 to 21
* Fix the wrong global name of "g_ws_reconnect"
* Comment the Console "Stop" button, which is currently not implemented
|
| |
|
|
|
|
| |
configs.js: Update "workdir" and "configfile" to be sync with server.
|
| |
|
|
|
|
|
|
| |
Thanks:
http://jquerymodal.com/
https://github.com/kylefox/jquery-modal
|
|
|
|
|
|
|
| |
* "updateFormConfigStatus()": Store the configuration validity as a
custom data attribute.
* Check the current configuration validity before start the task on the
server.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix bug with getting value of the configuration form. "null" is
returned if the requested configuration field does not exist or has
empty value. Boolean "true/false" is returned if the requested field
is a single checkbox with "data-type=boolean".
* Improve the "setFormConfigSingle()" to support the boolean single
checkbox field.
* Improve the "joinPath()" to validate the two input paths to be joined,
and return "null" if both paths are empty.
* Implement "updateFormConfigStatus()" and enable "#conf-recheck" button.
|
|
|
|
|
|
|
|
|
|
| |
* The original sleep test task "_task()" renamed to "_task_test()"
* Also add the new "startServerTaskTest()" to trigger the "_task_test()"
NOTE/XXX:
The foregrounds simulation requires the configurations, which is
currently obtained from "self.websocket.configs", which I think is a
HACK. How to better solve this??
|
| |
|
| |
|
|
|
|
|
| |
* Colorize the logging messages of different level with different colors
* Also add a different icon for each message
|
|
|
|
|
|
|
| |
Add "updateTaskStatus()" to update the "#task-status" element.
Also add function "getServerTaskStatus()" to get the task status from
the server.
|
| |
|
|
|
|
|
|
|
| |
When the configuration form changed, the changed values are synced to
the server and validated. The validation errors are then sent back to
the client, which set the custom error messages on the corresponding
fields.
|
|
|
|
|
|
|
|
| |
* Split out functions "{g,s}etFormConfigSingle()" from
"setConfigForm()";
* Rename original "setConfigForm()" to "setFormConfigs()", and uses
"{g,s}etFormConfigSingle()" to simplify;
* Update other places accordingly.
|
|
|
|
|
|
| |
* milligram.css: Remove the "sourceMappingURL"
* main.js: Add "use strict";
* utils.py: Add a TODO task
|
|
|
|
|
|
|
|
|
| |
* Rewrite "configs.js" to be more modular and generic
* Bind functions to button click event
* Implement the function to set form fields to given configuration data
* Implement the function to reset server-side configurations
* Implement the function to load user configuration file on server
* Implement get the configuration data from the server
|
|
|
|
|
|
|
| |
NOTE:
Still missing important client-side functions to be usable, e.g.,
set the configuration form according to the received data from the
server, and mark the error states on the fields with invalid values.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Server side:
+ Update the "on_message()" method to support 3 types of message
requests (i.e., "configs", "console", and "results");
+ Add messages stub handlers: "_handle_{configs,console,results}()";
+ Reorder the methods
+ Client side:
+ Change timeout before reconnection to 3000 ms;
+ Parse the received JSON message to JS object;
|
|
|
|
|
| |
Also add a global variable "ws_reconnect" to control the timeout between
reconnection and the maximum reconnection times (default: 100).
|
| |
|
|
|
|
|
| |
Add a label to the header banner to show the WebSocket support status
and connection status.
|
|
|
|
| |
The js code still misses many necessary functions.
|
|
|