diff options
Diffstat (limited to 'static/js/controller.js')
| -rw-r--r-- | static/js/controller.js | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/static/js/controller.js b/static/js/controller.js new file mode 100644 index 0000000..a12362b --- /dev/null +++ b/static/js/controller.js @@ -0,0 +1,93 @@ +/* + * + * Copyright (C) 2026 Private Island Networks Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * file: controller.js + * + * + */ + +function ajaxData() { + var data = {}; + return data; +} + + +function log_msg(msg) { + let msg_str = ''; + + msg_str += msg.type + ': ' + msg.address + ' ' + msg.data + '<br>'; + + return msg_str; +} + +function postControllerMsg(event) { + $.loading('block'); + event.preventDefault(); + console.log("postControllerMsg"); + + let fd = new FormData($('#mc-cont_message')); + fd.append('dummy', 'foo') + + $.post("/controller", fd, function(resp) { + $.loading('none'); + resp = JSON.parse(resp); + if (resp.r == STATUS.OK) { + let log = document.getElementById('mc-log'); + let height = 2 * resp.d.length; + for (let i=0; i < resp.d.length; i++) { + msg = resp.d[i]; + if (msg.port == PORT_PC) { + log.innerHTML += '<div class="mc-log-row style=height:' + height.toString() + 'rem"><div class="mc-log-col-time">' + msg.time + '</div>' + + '<div class="mc-log-col-pc">' + log_msg(msg) + '</div>' + + '<div class="mc-log-col-phy0"></div>' + + '<div class="mc-log-col-phy1"></div></div>'; + } + else if (msg.port == PORT_PHY0) { + log.innerHTML += '<div class="mc-log-row"><div class="mc-log-col-time">' + msg.time + '</div>' + + '<div class="mc-log-col-pc"></div>' + + '<div class="mc-log-col-phy0">' + log_msg(msg) + + '</div><div class="mc-log-col-phy1"></div></div>'; + } + } + } + + console.log("done"); + }); + +} + +/* +The DOMContentLoaded event fires as soon as the HTML document has been fully parsed, +which typically occurs long before images, stylesheets, and other external resources +have loaded. +*/ +window.addEventListener("DOMContentLoaded", function(e) { + var MsgForm = $('#mc-cont_message') + try { + // $('button[value=submit]').addEventListener('click', postControllerMsg); + MsgForm.addEventListener('submit', postControllerMsg); + } catch (event) { + } +}); + +/* +The load event is essential for operations that require the entire web page to be fully loaded, +including all dependent resources like images and stylesheets. +This event ensures that every element is available for script manipulation. +*/ +window.addEventListener("load", function(e) { + console.log("controller loaded"); +});
\ No newline at end of file |



