diff --git a/html/webpage/assets/js/broadcastzones.js b/html/webpage/assets/js/broadcastzones.js
index f3bf763..adb4a0f 100644
--- a/html/webpage/assets/js/broadcastzones.js
+++ b/html/webpage/assets/js/broadcastzones.js
@@ -19,6 +19,12 @@ window.BroadcastZoneList ??= [];
*/
window.selectedBroadcastZoneRow = null;
+/**
+ * List of sound channels available
+ * @type {String[]}
+ */
+window.SoundChannelList = []
+
/**
* Fill broadcast zone table body with values
* @param {BroadcastZone[]} vv values to fill
@@ -36,7 +42,7 @@ function fill_broadcastzonetablebody(vv) {
`;
$('#broadcastzonetablebody').append(row);
let $addedrow = $('#broadcastzonetablebody tr:last');
- $addedrow.click(function () {
+ $addedrow.off('click').on('click', function () {
if (window.selectedBroadcastZoneRow) {
window.selectedBroadcastZoneRow.find('td').css('background-color', '');
if (window.selectedBroadcastZoneRow.is($(this))) {
@@ -72,6 +78,18 @@ function reloadBroadcastZones(APIURL = "BroadcastZones/") {
});
}
+function fetchSoundChannels(APIURL = "SoundChannel/") {
+ window.SoundChannelList = [];
+ fetchAPI(APIURL + "SoundChannelDescriptions", "GET", {}, null, (okdata) => {
+ if (Array.isArray(okdata)) {
+ //console.log("fetchSoundChannels : ", okdata)
+ window.SoundChannelList.push(...okdata);
+ } else console.log("fetchSoundChannels: okdata is not array");
+ }, (errdata) => {
+ alert("Error loading sound channels : " + errdata.message);
+ });
+}
+
$(document).ready(function () {
console.log("broadcastzones.js loaded successfully");
window.selectedBroadcastZoneRow = null;
@@ -95,7 +113,7 @@ $(document).ready(function () {
let $findzone = $('#findzone');
- $findzone.on('input', function () {
+ $findzone.off('input').on('input', function () {
let searchTerm = $findzone.val().trim().toLowerCase();
if (searchTerm.length > 0) {
window.selectedBroadcastZoneRow = null;
@@ -125,24 +143,26 @@ $(document).ready(function () {
$broadcastzonedescription.val('');
// fill broadcastzonesoundchannel from SoundChannelList
$broadcastzonesoundchannel.empty();
- if (Array.isArray(SoundChannelList) && SoundChannelList.length > 0) {
+ console.log("SoundChannelList:", window.SoundChannelList);
+ if (Array.isArray(window.SoundChannelList) && window.SoundChannelList.length > 0) {
// SoundChannelList ada isinya
- SoundChannelList.forEach(ch => {
- if (ch.channel && ch.channel.length > 0){
- // hanya yang punya channel saja
- $broadcastzonesoundchannel.append($('