commit 01/10/2025

This commit is contained in:
2025-10-01 13:57:20 +07:00
parent 54775641bb
commit c55db5e4f7
23 changed files with 895 additions and 517 deletions

View File

@@ -9,12 +9,12 @@
/** List of Languagebank data loaded from server
* @type {LanguageBank[]}
*/
let languagebankdata = [];
window.languagebankdata = [];
/**
* Currently selected languagebank row in the table
* @type {JQuery<HTMLElement>|null}
*/
let selectedlanguagerow = null;
window.selectedlanguagerow = null;
/**
* Fill languagebank table body with values
@@ -32,17 +32,17 @@ function fill_languagebanktablebody(vv) {
$('#languagebanktablebody').append(row);
let $addedrow = $('#languagebanktablebody tr:last');
$addedrow.click(function () {
if (selectedlanguagerow) {
selectedlanguagerow.find('td').css('background-color', '');
if (selectedlanguagerow.is($(this))) {
selectedlanguagerow = null;
if (window.selectedlanguagerow) {
window.selectedlanguagerow.find('td').css('background-color', '');
if (window.selectedlanguagerow.is($(this))) {
window.selectedlanguagerow = null;
$('#btnRemove').prop('disabled', true);
$('#btnEdit').prop('disabled', true);
return;
}
}
$addedrow.find('td').css('background-color', '#ffeeba');
selectedlanguagerow = $addedrow;
window.selectedlanguagerow = $addedrow;
$('#btnRemove').prop('disabled', false);
$('#btnEdit').prop('disabled', false);
});
@@ -55,12 +55,12 @@ function fill_languagebanktablebody(vv) {
* @param {string} APIURL API URL endpoint, default "LanguageLink/"
*/
function reloadLanguageBank(APIURL = "LanguageLink/") {
languagebankdata = [];
window.languagebankdata = [];
fetchAPI(APIURL + "List", "GET", {}, null, (okdata) => {
if (Array.isArray(okdata)) {
languagebankdata = okdata;
selectedlanguagerow = null;
fill_languagebanktablebody(languagebankdata);
window.languagebankdata.push(...okdata);
window.selectedlanguagerow = null;
fill_languagebanktablebody(window.languagebankdata);
}
}, (errdata) => {
alert("Error loading languagebank : " + errdata.message);
@@ -71,7 +71,7 @@ $(document).ready(function () {
console.log('languagebank.js loaded');
$('#languagebanktablebody').empty();
selectedlanguagerow = null;
window.selectedlanguagerow = null;
let $btnClear = $('#btnClear');
let $btnAdd = $('#btnAdd');
let $btnRemove = $('#btnRemove');
@@ -106,12 +106,12 @@ $(document).ready(function () {
$findlanguage.on('input', function () {
let searchTerm = $findlanguage.val().toLowerCase();
if (searchTerm.length > 0) {
selectedlanguagerow = null;
let filtered = languagebankdata.filter(item => item.tag.toLowerCase().includes(searchTerm) || item.language.toLowerCase().includes(searchTerm));
window.selectedlanguagerow = null;
let filtered = window.languagebankdata.filter(item => item.tag.toLowerCase().includes(searchTerm) || item.language.toLowerCase().includes(searchTerm));
fill_languagebanktablebody(filtered);
} else {
selectedlanguagerow = null;
fill_languagebanktablebody(languagebankdata);
window.selectedlanguagerow = null;
fill_languagebanktablebody(window.languagebankdata);
}
});
@@ -171,8 +171,8 @@ $(document).ready(function () {
});
});
$btnRemove.click(() => {
if (selectedlanguagerow) {
let cells = selectedlanguagerow.find('td');
if (window.selectedlanguagerow) {
let cells = window.selectedlanguagerow.find('td');
/** @type {Language} */
let ll = {
index: cells.eq(0).text(),
@@ -190,8 +190,8 @@ $(document).ready(function () {
}
});
$btnEdit.click(() => {
if (selectedlanguagerow) {
let cells = selectedlanguagerow.find('td');
if (window.selectedlanguagerow) {
let cells = window.selectedlanguagerow.find('td');
/** @type {Language} */
let ll = {
index: cells.eq(0).text(),