/** * Load message bank data into selection dropdowns * @param {Function || null} cbOK callback when complete */ function load_messagebank(cbOK = null) { $("#input_GOP").empty(); $("#input_GBD").empty(); $("#input_GFC").empty(); $("#input_FLD").empty(); // get messagebank data from server, which contains [FLIGHT_NUMBER] let messageData = [...new Set(window.messagebankdata.filter(mb => mb.message_Detail.includes('[FLIGHT_NUMBER]')).map(mb => `${mb.description} [${mb.aNN_ID}]`))]; messageData.forEach((item) => { $("#input_GOP").append($("").attr("value", item).text(item)); $("#input_GBD").append($("").attr("value", item).text(item)); $("#input_GFC").append($("").attr("value", item).text(item)); $("#input_FLD").append($("").attr("value", item).text(item)); }); if (window.messagebankdata.length > 0) { if (cbOK) cbOK(); } } function load_remark_selection() { fetchAPI("Settings/FISCode", "GET", {}, null, (okdata) => { $("#input_GOP").val(okdata.gop) $("#input_GBD").val(okdata.gbd); $("#input_GFC").val(okdata.gfc); $("#input_FLD").val(okdata.fld); $("#input_defaultvoice").val(okdata.defaultvoice); }, (errdata) => { alert("Error getting FIS codes : " + errdata.message); }); } function Get_OldResultDays(){ fetchAPI("Settings/OldResultDays", "GET", {}, null, (okdata) => { let days = parseInt(okdata.message); if(isNaN(days) || days < 0){ days = 3; } $("#oldresultdays").val(days); }, (errdata) => { alert("Error getting Old Result Days : " + errdata.message); }); } function Set_OldResultDays(){ let days = parseInt($("#oldresultdays").val()); if(isNaN(days) || days < 0){ alert("Please enter a valid number of days (0 or more)."); return; } fetchAPI("Settings/OldResultDays", "POST", {}, { days: days }, (okdata) => { alert("Old Result Days updated successfully."); }, (errdata) => { alert("Error updating Old Result Days : " + errdata.message); }); } function load_default_voice(){ $("#input_defaultvoice").empty(); window.voiceTypes.forEach((voice) => { $("#input_defaultvoice").append($("").attr("value", voice).text(voice)); }); } $(document).ready(function () { console.log("setting.js loaded"); load_default_voice(); Get_OldResultDays(); load_messagebank(() => load_remark_selection()); $("#fiscodesave").off('click').on('click', function () { Set_OldResultDays(); let gop = $("#input_GOP").val(); let gbd = $("#input_GBD").val(); let gfc = $("#input_GFC").val(); let fld = $("#input_FLD").val(); let voice = $("#input_defaultvoice").val(); if (gop && gbd && gfc && fld && voice) { let data = { GOP: gop, GBD: gbd, GFC: gfc, FLD: fld, defaultvoice: voice }; fetchAPI("Settings/FISCode", "POST", {}, data, (okdata) => { alert("FIS codes saved successfully."); }, (errdata) => { alert("Error saving FIS codes : " + errdata.message); }); } else { alert("Please select all FIS codes (GOP, GBD, GFC, FLD) and Default Voice before saving."); } }); });