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 @@
-
+
Trunking Info
NAC
@@ -277,7 +278,24 @@
-
+
+
+
+
+
+
Tags
+
TG ID
+
TG Text
+
Priority
+
 
+
+
+
+
+
+
+
+
 
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