Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | webui: main.js: Add new styles for "products.html" | Aaron LI | 2016-11-22 | 1 | -1/+19 |
| | | | | Also update the ".btn" rule and add the ".btn.btn-small" rule | ||||
* | webui: products: Implement client-side AJAX interactions | Aaron LI | 2016-11-22 | 2 | -0/+290 |
| | |||||
* | webui: Add "ProductsAJAXHandler" to manipulate the products manifest | Aaron LI | 2016-11-22 | 3 | -0/+180 |
| | | | | TODO: some actions currently not implemented yet | ||||
* | webui: Finish the "products.html" page | Aaron LI | 2016-11-22 | 1 | -4/+37 |
| | |||||
* | webui: Update against the improved "showModal()" | Aaron LI | 2016-11-22 | 2 | -16/+16 |
| | |||||
* | webui: main.js: Extend "showModal()" with "title" and "contents" | Aaron LI | 2016-11-22 | 1 | -4/+15 |
| | | | | | * Change original "message" attribute to "title" * Add new attribute "contents" which allow multiple paragraphs | ||||
* | webui: Add "/debug" handler when in debug mode. | Aaron LI | 2016-11-22 | 2 | -0/+10 |
| | |||||
* | webui: Move several generic functions from "configs.js" to "main.js" | Aaron LI | 2016-11-22 | 2 | -47/+47 |
| | |||||
* | webui: configs: Some minor fixes | Aaron LI | 2016-11-22 | 2 | -9/+22 |
| | | | | | | | | * configs.py/_set_configs(): Also return the original data if the input values failed the validation; * setServerConfigs(): Success callback also reset value if the input value failed pass the server-side validation; * getServerConfigs(): Return "undefined" if key does not exists. | ||||
* | webui: configs.html: Add field "output/manifest" | Aaron LI | 2016-11-22 | 1 | -0/+6 |
| | |||||
* | webui: websocket.py: Also push current task status when connected | Aaron LI | 2016-11-21 | 2 | -0/+18 |
| | |||||
* | Update the "process time" to "CPU process time" | Aaron LI | 2016-11-21 | 1 | -2/+2 |
| | |||||
* | webui: configs: Add pixel resolution note for "common/nside" | Aaron LI | 2016-11-19 | 2 | -6/+33 |
| | | | | | | * Calculate pixel resolution note on pressing "Enter" in "common/nside" * Update the pixel resolution note as well as "common/lmax" when "common/nside" changed. | ||||
* | webui: Rename "Results" to "Products" | Aaron LI | 2016-11-19 | 4 | -16/+16 |
| | |||||
* | webui: Minor update the docstring. | Aaron LI | 2016-11-19 | 2 | -2/+6 |
| | |||||
* | webui: Remove jQuery version from its filename | Aaron LI | 2016-11-18 | 2 | -1/+1 |
| | |||||
* | webui: console.py: Fix the wrong import path for "Foregrounds" | Aaron LI | 2016-11-18 | 1 | -1/+1 |
| | |||||
* | webui: configs.js: Fix two bugs | Aaron LI | 2016-11-18 | 1 | -2/+2 |
| | | | | | * Fix the wrong "action=reset" in "setServerConfigs()" * Add the missing "return" in the jQuery AJAX chain | ||||
* | webui: Rename jQuery ".fail()" callback argument "error" to "jqxhr" | Aaron LI | 2016-11-18 | 2 | -21/+21 |
| | |||||
* | webui: console.js: Disable the "Start" button when task started | Aaron LI | 2016-11-18 | 1 | -0/+7 |
| | |||||
* | webui: main.js: Extend jQuery with ".disable()" | Aaron LI | 2016-11-18 | 1 | -1/+16 |
| | |||||
* | webui: Redirect to login page if not authenticated on POST request | Aaron LI | 2016-11-18 | 4 | -12/+14 |
| | | | | | | * 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()` | ||||
* | webui: console.py: Add timing reports | Aaron LI | 2016-11-18 | 1 | -2/+16 |
| | |||||
* | webui: Fix a bug for "showModal()"; Cleanup ".onmessage()" | Aaron LI | 2016-11-17 | 2 | -16/+6 |
| | |||||
* | configs: Update logging message format | Aaron LI | 2016-11-17 | 1 | -2/+8 |
| | | | | | * Also update the logging messages styles for the Web UI * Show a modal notification when the task finished. | ||||
* | webui: console.js: Change to use AJAX instead of WebSocket messages | Aaron LI | 2016-11-17 | 2 | -42/+65 |
| | | | | Also support modal dialog for confirmation and operation results. | ||||
* | webui: console.py: Change to request/response instead of WebSocket | Aaron LI | 2016-11-17 | 1 | -198/+145 |
| | | | | | | | | * Rename to "ConsoleAJAXHandler" * Change to use the request/response model, which accepts the AJAX request and then response. * Update logging handler to push messages to all connected clients * Many simplifications and rewrites. | ||||
* | webui: WebSocketLogHandler: Support push to multiple websockets | Aaron LI | 2016-11-17 | 1 | -13/+15 |
| | | | | Also change the pushed messages to have "action=push" and "subtype=log" | ||||
* | webui: app.py: Add new attributes and an option for ConsoleAJAXHandler | Aaron LI | 2016-11-17 | 2 | -10/+24 |
| | | | | | | | * Add new attributes "executor" and "task_status" for "console.py" * Define an option for the "executor" * Rename attribute "ws_clients" to "websockets" * Update docstring and comments | ||||
* | webui: login.html: Auto focus the password input | Aaron LI | 2016-11-17 | 1 | -1/+1 |
| | |||||
* | webui: Support IE11; Fix a missing quotation. | Aaron LI | 2016-11-17 | 2 | -3/+8 |
| | | | | | | | * 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" | ||||
* | webui: websocket.py: Remove on_message(); Only push messages to client | Aaron LI | 2016-11-17 | 1 | -77/+30 |
| | | | | See the docstring for more details. | ||||
* | webui: Move "password" option definition to "login.py" | Aaron LI | 2016-11-17 | 1 | -1/+9 |
| | | | | | | | NOTE: By using the "tornado.options", each module can defines its own options, which are added to the global namespace. And the defined options can also be used by other modules. | ||||
* | webui: login: Submit login form on "Enter" key | Aaron LI | 2016-11-17 | 2 | -1/+28 |
| | |||||
* | webui: configs.html: Add section toggling support | Aaron LI | 2016-11-17 | 1 | -447/+522 |
| | | | | No contents/functionalities changes. | ||||
* | webui: console.html: Remove extra modal "#console-invalid-configs" | Aaron LI | 2016-11-17 | 3 | -44/+58 |
| | | | | | * Implement "showModalConsole()" based on "showModal()" * Move binding function from "websocket.js" to "console.js" | ||||
* | webui: configs.js: Rename "showConfigsModal" to "showModalConfigs()" | Aaron LI | 2016-11-17 | 1 | -11/+11 |
| | |||||
* | webui: Implement "showModal()" in "main.js" allowing use in others | Aaron LI | 2016-11-17 | 2 | -43/+57 |
| | |||||
* | webui: main.js: Refactor out the function "toggleBlock()" | Aaron LI | 2016-11-17 | 1 | -22/+20 |
| | |||||
* | webui: console.html: Re-organize structures to support section toggle | Aaron LI | 2016-11-17 | 1 | -39/+44 |
| | | | | | Wrap the section contents with a div of class "body", separating from its heading. | ||||
* | webui: Support toggle the body/contents of sections | Aaron LI | 2016-11-17 | 2 | -3/+38 |
| | | | | | | 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. | ||||
* | webui: Add panel toggle and allow expand/collapse its body | Aaron LI | 2016-11-17 | 3 | -2/+37 |
| | |||||
* | webui: configs.js: Confirm before reset the configurations | Aaron LI | 2016-11-17 | 1 | -2/+20 |
| | |||||
* | webui: configs.js: Confirm before overwrite the configuration file | Aaron LI | 2016-11-17 | 1 | -18/+74 |
| | | | | Also improve the "showConfigsModal()" to support buttons. | ||||
* | webui: configs.py: Add "exists" action support through GET | Aaron LI | 2016-11-17 | 1 | -0/+40 |
| | | | | | The "exists" action through the GET request will check the existence of the specified filepath (which should be an absolute path). | ||||
* | webui: configs.js: Re-implement using AJAX instead of WebSocket | Aaron LI | 2016-11-16 | 2 | -92/+221 |
| | | | | | | | | | | * 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" | ||||
* | webui: configs.py: Re-implement using AJAX instead of WebSocket | Aaron LI | 2016-11-16 | 1 | -103/+110 |
| | |||||
* | webui: websocket.py: Do not handle "configs" and "console" messages | Aaron LI | 2016-11-16 | 1 | -32/+6 |
| | | | | | | | | | | | | | | | | | | | The handling of "configs" and "console" types of messages, will be changed to implement using the AJAX techniques. The basic WebSocket communication is too low-level, and there is no easy way to relate each received message to the corresponding sent message. There are high-level sub-protocols exists (e.g., WAMP [1]) to allow the RPC (remote procedure call) and publish/subscribe operations, however, the Tornado web framework current does not support them, and another client JavaScript library is also required. Using the more traditional AJAX techniques allow the request-response model and sequential operations (e.g., jQuery deferred and promises) be easily implemented. Therefore better operation interaction and reflection and error handling is achieved. [1]: WAMP: Web Application Messaging Protocl, http://wamp-proto.org/ | ||||
* | webui: Add AJAX handlers "ConfigsAJAXHandler" & "ConsoleAJAXHandler" | Aaron LI | 2016-11-16 | 2 | -2/+10 |
| | | | | | NOTE: These two AJAX handlers are currently not finished! | ||||
* | webui: configs.html: Add XSRF token and a modal dialog container | Aaron LI | 2016-11-16 | 1 | -0/+3 |
| |