/**
* 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 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();
load_messagebank(() => load_remark_selection());
$("#fiscodesave").off('click').on('click', function () {
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.");
}
});
});