commit 14/10/2025
Messagebank belum beres
This commit is contained in:
@@ -121,17 +121,32 @@ $(document).ready(function () {
|
|||||||
function refill_messageavailablevariables() {
|
function refill_messageavailablevariables() {
|
||||||
$messageavailablevariables.empty();
|
$messageavailablevariables.empty();
|
||||||
categories.forEach(cat => {
|
categories.forEach(cat => {
|
||||||
$messageavailablevariables.append(ListItem(`{${cat}}`));
|
$messageavailablevariables.append(ListItem(`[${cat}]`));
|
||||||
});
|
});
|
||||||
if ($messagelanguage.val() && $messagevoicetype.val()) {
|
let lang = $messagelanguage.val();
|
||||||
soundbankdata
|
let vt = $messagevoicetype.val();
|
||||||
.filter(sb => sb.language.toLowerCase() === $messagelanguage.val().toLowerCase())
|
if (lang && lang.length > 0){
|
||||||
.filter(sb => sb.voiceType.toLowerCase() === $messagevoicetype.val().toLowerCase())
|
console.log("Selected Language:", lang);
|
||||||
.filter(sb => sb.category.toLowerCase() === "phrase")
|
if (vt && vt.length > 0){
|
||||||
.forEach(sb => {
|
console.log("Selected Voice Type:", vt);
|
||||||
$messageavailablevariables.append(ListItem(`[${sb.Description}]`));
|
|
||||||
|
fetchAPI(`SoundBank/GetPhrases/${lang}/${vt}`, "GET", {}, null, (okdata) => {
|
||||||
|
if (Array.isArray(okdata) && okdata.length > 0) {
|
||||||
|
console.log(`Loaded ${okdata.length} phrases from soundbank for language=${lang} and voiceType=${vt}`);
|
||||||
|
console.log(JSON.stringify(okdata));
|
||||||
|
okdata.forEach(sb => {
|
||||||
|
if (sb.description && sb.description.length > 0) {
|
||||||
|
$messageavailablevariables.append(ListItem(`${sb.description} [${sb.TAG}]`));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}, (errdata) => {
|
||||||
|
//alert("Error loading phrases from soundbank : " + errdata.message);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -143,7 +158,7 @@ $(document).ready(function () {
|
|||||||
$messagedescription.val('');
|
$messagedescription.val('');
|
||||||
// fill messagelanguage options from languages[]
|
// fill messagelanguage options from languages[]
|
||||||
$messagelanguage.empty();
|
$messagelanguage.empty();
|
||||||
languages.forEach(lang => {
|
window.languages.forEach(lang => {
|
||||||
$messagelanguage.append(new Option(lang, lang));
|
$messagelanguage.append(new Option(lang, lang));
|
||||||
});
|
});
|
||||||
$messagelanguage.val(null);
|
$messagelanguage.val(null);
|
||||||
@@ -154,7 +169,7 @@ $(document).ready(function () {
|
|||||||
$messageannid.val(1);
|
$messageannid.val(1);
|
||||||
// fill messagevoicetype options from voiceTypes[]
|
// fill messagevoicetype options from voiceTypes[]
|
||||||
$messagevoicetype.empty();
|
$messagevoicetype.empty();
|
||||||
voiceTypes.forEach(vt => {
|
window.voiceTypes.forEach(vt => {
|
||||||
$messagevoicetype.append(new Option(vt, vt));
|
$messagevoicetype.append(new Option(vt, vt));
|
||||||
});
|
});
|
||||||
$messagevoicetype.val(null);
|
$messagevoicetype.val(null);
|
||||||
@@ -344,19 +359,8 @@ $(document).ready(function () {
|
|||||||
// Fill modal fields with selected messagebank data
|
// Fill modal fields with selected messagebank data
|
||||||
$messageindex.val(mb.index).prop('disabled', true);
|
$messageindex.val(mb.index).prop('disabled', true);
|
||||||
$messagedescription.val(mb.description);
|
$messagedescription.val(mb.description);
|
||||||
// Fill messagelanguage options and select current
|
|
||||||
$messagelanguage.empty();
|
|
||||||
languages.forEach(lang => {
|
|
||||||
$messagelanguage.append(new Option(lang, lang));
|
|
||||||
});
|
|
||||||
$messagelanguage.val(mb.language);
|
$messagelanguage.val(mb.language);
|
||||||
// Fill messagevoicetype options and select current
|
|
||||||
$messagevoicetype.empty();
|
|
||||||
voiceTypes.forEach(vt => {
|
|
||||||
$messagevoicetype.append(new Option(vt, vt));
|
|
||||||
});
|
|
||||||
$messagevoicetype.val(mb.voice_Type);
|
$messagevoicetype.val(mb.voice_Type);
|
||||||
// Set annid
|
|
||||||
$messageannid.val(mb.aNN_ID);
|
$messageannid.val(mb.aNN_ID);
|
||||||
// Refill message available variables
|
// Refill message available variables
|
||||||
refill_messageavailablevariables();
|
refill_messageavailablevariables();
|
||||||
|
|||||||
@@ -1,3 +1,11 @@
|
|||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @typedef {Object} Select2item
|
||||||
|
* @property {number} id
|
||||||
|
* @property {string} text
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @typedef {Object} SoundBank
|
* @typedef {Object} SoundBank
|
||||||
* @property {number} index
|
* @property {number} index
|
||||||
@@ -9,12 +17,6 @@
|
|||||||
* @property {string} path
|
* @property {string} path
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
|
||||||
* @typedef {Object} Select2item
|
|
||||||
* @property {number} id
|
|
||||||
* @property {string} text
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* List of Soundbank data loaded from server
|
* List of Soundbank data loaded from server
|
||||||
* @type {SoundBank[]}
|
* @type {SoundBank[]}
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ import io.javalin.apibuilder.ApiBuilder.path
|
|||||||
import io.javalin.apibuilder.ApiBuilder.post
|
import io.javalin.apibuilder.ApiBuilder.post
|
||||||
import io.javalin.apibuilder.ApiBuilder.ws
|
import io.javalin.apibuilder.ApiBuilder.ws
|
||||||
import io.javalin.http.Context
|
import io.javalin.http.Context
|
||||||
|
import io.javalin.http.servlet.splitKeyValueStringAndGroupByKey
|
||||||
import io.javalin.json.JavalinJackson
|
import io.javalin.json.JavalinJackson
|
||||||
import io.javalin.websocket.WsMessageContext
|
import io.javalin.websocket.WsMessageContext
|
||||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook
|
||||||
@@ -235,6 +236,23 @@ class WebApp(val listenPort: Int, val userlist: List<Pair<String, String>>) {
|
|||||||
get("ListFiles") {
|
get("ListFiles") {
|
||||||
it.result(objectmapper.writeValueAsString(ListAudioFiles(Somecodes.Soundbank_directory)))
|
it.result(objectmapper.writeValueAsString(ListAudioFiles(Somecodes.Soundbank_directory)))
|
||||||
}
|
}
|
||||||
|
get("GetPhrases/{Language}/{VoiceType}"){
|
||||||
|
val language = it.pathParam("Language")
|
||||||
|
val voiceType = it.pathParam("VoiceType")
|
||||||
|
if (ValidString(language) && Language.entries.any { lang -> lang.name == language }) {
|
||||||
|
if (ValidString(voiceType) && VoiceType.entries.any { vt -> vt.name == voiceType }) {
|
||||||
|
val phrases = db.soundDB.List
|
||||||
|
.filter { sb -> sb.Language == language }
|
||||||
|
.filter {sb -> sb.VoiceType == voiceType}
|
||||||
|
.filter { sb -> sb.Category == Category.Phrase.name}
|
||||||
|
.distinctBy { sb -> sb.TAG }
|
||||||
|
.sortedBy { sb -> sb.TAG }
|
||||||
|
it.result(objectmapper.writeValueAsString(phrases))
|
||||||
|
} else it.status(400)
|
||||||
|
.result(objectmapper.writeValueAsString(resultMessage("Invalid VoiceType")))
|
||||||
|
} else it.status(400)
|
||||||
|
.result(objectmapper.writeValueAsString(resultMessage("Invalid Language")))
|
||||||
|
}
|
||||||
get("AirlineTags") { ctx ->
|
get("AirlineTags") { ctx ->
|
||||||
val value = db.soundDB.List
|
val value = db.soundDB.List
|
||||||
.filter { it.Category == Category.Airplane_Name.name }
|
.filter { it.Category == Category.Airplane_Name.name }
|
||||||
|
|||||||
Reference in New Issue
Block a user