aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* foregrounds.py: Import "Products" to build the manifestAaron LI2016-11-211-9/+22
|
* extragalactic/pointsources: Return "None" file path and add a TODOAaron LI2016-11-211-2/+4
|
* Update "simulate_frequency()" to also return the output file pathAaron LI2016-11-215-20/+108
| | | | | * Update "output()" method to return the output file path * Update "simulate()" to also return the list of output file paths
* products.py: Add method "add_product()" to add one single product.Aaron LI2016-11-211-11/+45
| | | | Also update the "add_component()" method to use "add_product()"
* configs: Add new option "output/manifest"Aaron LI2016-11-201-0/+3
| | | | | The option "output/manifest" is the filename of the output manifest for the simulation products.
* Add "products.py" to manager and manipulate the simulation productsAaron LI2016-11-202-0/+280
| | | | | The class "Products" may build the manifest for the simulation products, and can manage/manipulate this manifest.
* webui: configs: Add pixel resolution note for "common/nside"Aaron LI2016-11-192-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 LI2016-11-194-16/+16
|
* foregrounds.py: Fix import and COMPONENTS_ALLAaron LI2016-11-191-11/+10
|
* webui: Minor update the docstring.Aaron LI2016-11-192-2/+6
|
* Bump version to 0.3.0v0.3.0Aaron LI2016-11-181-1/+1
| | | | | | | | | | | | | | | | | * Major change to the Web UI. + The WebSocket is only used to push configurations and logging messages to the client; + The configuration manipulations and console operations are implemented using the AJAX techniques; + Modal box is used to notify the AJAX request results, therefore much better user experience. * Several bug fixes to the Web UI. * Minor improvements to the simulation parts. * TODO/problems: + The console task currently still blocks the Tornado IO loop!
* Add "LICENSE-3RDPARTY" for 3rd-party code/products usedAaron LI2016-11-183-3/+168
| | | | | | | Credit: What is the best practice for arranging third-party library licenses “paperwork”? https://softwareengineering.stackexchange.com/a/234526
* webui: Remove jQuery version from its filenameAaron LI2016-11-182-1/+1
|
* utils/draw.py: Remove the "Modified BSD" license; Update creditAaron LI2016-11-181-40/+4
|
* webui: console.py: Fix the wrong import path for "Foregrounds"Aaron LI2016-11-181-1/+1
|
* webui: configs.js: Fix two bugsAaron LI2016-11-181-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 LI2016-11-182-21/+21
|
* webui: console.js: Disable the "Start" button when task startedAaron LI2016-11-181-0/+7
|
* webui: main.js: Extend jQuery with ".disable()"Aaron LI2016-11-181-1/+16
|
* MANIFEST.in: Install the Web UI templates and static filesAaron LI2016-11-181-0/+2
|
* webui: Redirect to login page if not authenticated on POST requestAaron LI2016-11-184-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 reportsAaron LI2016-11-181-2/+16
|
* bin/fg21sim: Import "Foregrounds" when using; Add timingAaron LI2016-11-181-3/+18
|
* webui: Fix a bug for "showModal()"; Cleanup ".onmessage()"Aaron LI2016-11-172-16/+6
|
* configs: Update logging message formatAaron LI2016-11-172-3/+9
| | | | | * 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 messagesAaron LI2016-11-172-42/+65
| | | | Also support modal dialog for confirmation and operation results.
* webui: console.py: Change to request/response instead of WebSocketAaron LI2016-11-171-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 websocketsAaron LI2016-11-171-13/+15
| | | | Also change the pushed messages to have "action=push" and "subtype=log"
* webui: app.py: Add new attributes and an option for ConsoleAJAXHandlerAaron LI2016-11-172-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 inputAaron LI2016-11-171-1/+1
|
* webui: Support IE11; Fix a missing quotation.Aaron LI2016-11-172-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 clientAaron LI2016-11-171-77/+30
| | | | See the docstring for more details.
* webui: Move "password" option definition to "login.py"Aaron LI2016-11-172-6/+11
| | | | | | | 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" keyAaron LI2016-11-172-1/+28
|
* configs/checkers.py: Add checker "check_extragalactic_clusters()"Aaron LI2016-11-171-9/+28
|
* webui: configs.html: Add section toggling supportAaron LI2016-11-171-447/+522
| | | | No contents/functionalities changes.
* webui: console.html: Remove extra modal "#console-invalid-configs"Aaron LI2016-11-173-44/+58
| | | | | * Implement "showModalConsole()" based on "showModal()" * Move binding function from "websocket.js" to "console.js"
* webui: configs.js: Rename "showConfigsModal" to "showModalConfigs()"Aaron LI2016-11-171-11/+11
|
* webui: Implement "showModal()" in "main.js" allowing use in othersAaron LI2016-11-172-43/+57
|
* webui: main.js: Refactor out the function "toggleBlock()"Aaron LI2016-11-171-22/+20
|
* webui: console.html: Re-organize structures to support section toggleAaron LI2016-11-171-39/+44
| | | | | Wrap the section contents with a div of class "body", separating from its heading.
* webui: Support toggle the body/contents of sectionsAaron LI2016-11-172-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 bodyAaron LI2016-11-173-2/+37
|
* webui: configs.js: Confirm before reset the configurationsAaron LI2016-11-171-2/+20
|
* webui: configs.js: Confirm before overwrite the configuration fileAaron LI2016-11-171-18/+74
| | | | Also improve the "showConfigsModal()" to support buttons.
* webui: configs.py: Add "exists" action support through GETAaron LI2016-11-171-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 WebSocketAaron LI2016-11-162-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 WebSocketAaron LI2016-11-161-103/+110
|
* webui: websocket.py: Do not handle "configs" and "console" messagesAaron LI2016-11-161-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/
* configs/manager.py: Make a backup when output file already existsAaron LI2016-11-161-4/+15
| | | | Also expand the output file for the prefix "~" (tilde)