diff --git a/op25/gr-op25_repeater/www/www-static/index.html b/op25/gr-op25_repeater/www/www-static/index.html index d1b882f..e58a103 100644 --- a/op25/gr-op25_repeater/www/www-static/index.html +++ b/op25/gr-op25_repeater/www/www-static/index.html @@ -116,6 +116,7 @@
- Open configuration editor (any previous unsaved work will be lost)
- Run flowgraph using selected configuration
+ - End running flowgraph

@@ -260,7 +261,7 @@  
- +
@@ -277,7 +278,24 @@ - + + +
Trunking Info NAC
+ + + + + + + + + + + + + +
diff --git a/op25/gr-op25_repeater/www/www-static/main.js b/op25/gr-op25_repeater/www/www-static/main.js index daefb0d..5917e79 100644 --- a/op25/gr-op25_repeater/www/www-static/main.js +++ b/op25/gr-op25_repeater/www/www-static/main.js @@ -172,24 +172,29 @@ function amend_d(myrow, mytbl, command) { } else if (command == "new") { var newrow = null; var parent = null; + var pfx = "id_"; if (mytbl.id == "chtable") { newrow = document.getElementById("chrow").cloneNode(true); parent = document.getElementById("chrow").parentNode; } else if (mytbl.id == "devtable") { newrow = document.getElementById("devrow").cloneNode(true); parent = document.getElementById("devrow").parentNode; + } else if (mytbl.className == "tgtable") { + newrow = mytbl.querySelector(".tgrow").cloneNode(true); + parent = mytbl.querySelector(".tgrow").parentNode; + pfx = "tg_"; } else { return null; } newrow.style['display'] = ''; - newrow.id = find_free_id("id_"); + newrow.id = find_free_id(pfx); parent.appendChild(newrow); if (mytbl.id == "chtable") { var newrow2 = document.getElementById("trrow").cloneNode(true); newrow2.id = "tr_" + newrow.id.substring(3); parent.appendChild(newrow2); } - return newrow.id; + return newrow; } } @@ -372,9 +377,9 @@ function config_data(d) { var chrow = document.getElementById("chrow"); var devrow = document.getElementById("devrow"); for (var device in cfg['devices']) - rollup_row("dev", document.getElementById(amend_d(devrow, devtable, "new")), cfg['devices'][device]); + rollup_row("dev", amend_d(devrow, devtable, "new"), cfg['devices'][device]); for (var channel in cfg['channels']) - rollup_row("ch", document.getElementById(amend_d(chrow, chtable, "new")), cfg['channels'][channel]); + rollup_row("ch", amend_d(chrow, chtable, "new"), cfg['channels'][channel]); rollup_rx_rows(cfg['backend-rx']); } @@ -588,15 +593,37 @@ function rollup_row(which, row, def) { var elements = Array.from(row.querySelectorAll("input,select")); if (which == "ch") { var trrow = document.getElementById("tr_" + row.id.substring(3)); - elements = elements.concat(Array.from(trrow.querySelectorAll("input,select"))); + var trtable = trrow.querySelector("table.trtable"); + elements = elements.concat(Array.from(trtable.querySelectorAll("input,select"))); + if (def) + trrow.style["display"] = (def["trunked"]) ? "" : "none"; } else if (which == "rx") { var advrow = document.getElementById("rx_2"); elements = elements.concat(Array.from(advrow.querySelectorAll("input,select"))); } - if (def && which == "ch") - trrow.style["display"] = (def["trunked"]) ? "" : "none"; var result = read_write(elements, def); + if (which == "ch") { + var tgtable = trrow.querySelector("table.tgtable"); + var tgrow = trrow.querySelector("tr.tgrow"); + if (def) { + for (var i=0; i