commit 20/10/2025
This commit is contained in:
@@ -61,6 +61,42 @@ function fill_schedulebanktablebody(vv) {
|
||||
$('#tablesize').text("Table Size: " + vv.length);
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert input date string yyyy-mm-dd to dd/mm/yyyy
|
||||
* @param {String} value from input date, which is in format yyyy-mm-dd
|
||||
* @returns {String} converted date in format dd/mm/yyyy
|
||||
*/
|
||||
function Convert_input_date_to_string(value){
|
||||
if (value && value.length>0 && value.includes('-')){
|
||||
let parts = value.split('-');
|
||||
if (parts.length === 3) {
|
||||
let year = parts[0];
|
||||
let month = parts[1];
|
||||
let day = parts[2];
|
||||
return `${day}/${month}/${year}`;
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert string date dd/mm/yyyy to input date yyyy-mm-dd
|
||||
* @param {String} value string date in format dd/mm/yyyy
|
||||
* @returns {String} converted date in format yyyy-mm-dd
|
||||
*/
|
||||
function Convert_string_to_input_date(value){
|
||||
if (value && value.length>0 && value.includes('/')){
|
||||
let parts = value.split('/');
|
||||
if (parts.length === 3) {
|
||||
let day = parts[0];
|
||||
let month = parts[1];
|
||||
let year = parts[2];
|
||||
return `${year}-${month}-${day}`;
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* Reload timer bank from server
|
||||
* @param {string} APIURL API URL endpoint, default "ScheduleBank/"
|
||||
@@ -249,7 +285,7 @@ $(document).ready(function () {
|
||||
if ($scheduleeveryday.is(':checked')) {
|
||||
_Day = "Everyday";
|
||||
} else if ($schedulespecialdate.is(':checked')) {
|
||||
_Day = $scheduledate.val();
|
||||
_Day = Convert_input_date_to_string($scheduledate.val());
|
||||
} else if ($scheduleweekly.is(':checked')) {
|
||||
_Day = $weeklyselect.val();
|
||||
}
|
||||
@@ -322,59 +358,46 @@ $(document).ready(function () {
|
||||
/** @type {ScheduleBank} */
|
||||
let sr = {
|
||||
index: Number(cells.eq(0).text()),
|
||||
description: cells.eq(1).text(),
|
||||
day: cells.eq(2).text(),
|
||||
time: cells.eq(3).text(),
|
||||
soundpath: cells.eq(4).text(),
|
||||
repeat: cells.eq(5).text(),
|
||||
enable: cells.eq(6).text(),
|
||||
broadcastZones: cells.eq(7).text(),
|
||||
language: cells.eq(8).text()
|
||||
Description: cells.eq(1).text(),
|
||||
Day: cells.eq(2).text(),
|
||||
Time: cells.eq(3).text(),
|
||||
Soundpath: cells.eq(4).text(),
|
||||
Repeat: cells.eq(5).text(),
|
||||
Enable: cells.eq(6).text(),
|
||||
BroadcastZones: cells.eq(7).text(),
|
||||
Language: cells.eq(8).text()
|
||||
}
|
||||
if (confirm(`Are you sure to edit schedule [${sr.index}] Description=${sr.description}?`)) {
|
||||
console.log('Editing schedule:', sr);
|
||||
if (confirm(`Are you sure to edit schedule [${sr.index}] Description=${sr.Description}?`)) {
|
||||
$schedulemodal.modal('show');
|
||||
clearScheduleModal();
|
||||
|
||||
// fill the form with existing data
|
||||
$scheduleid.val(sr.index);
|
||||
$scheduledescription.val(sr.description);
|
||||
let [hour, minute] = sr.time.split(':').map(num => parseInt(num, 10));
|
||||
$scheduledescription.val(sr.Description);
|
||||
let [hour, minute] = sr.Time.split(':').map(num => parseInt(num, 10));
|
||||
$schedulehour.val(hour.toString());
|
||||
$scheduleminute.val(minute.toString());
|
||||
$schedulemessage.val(sr.soundpath);
|
||||
$schedulerepeat.val(sr.repeat.toString());
|
||||
$scheduleenable.prop('checked', sr.enable.toLowerCase() === 'true');
|
||||
switch (sr.day) {
|
||||
$schedulemessage.val(sr.Soundpath).trigger('change');
|
||||
$schedulerepeat.val(sr.Repeat);
|
||||
$scheduleenable.prop('checked', sr.Enable.toLowerCase() === 'true');
|
||||
$languageselect.val(sr.Language.split(';')).trigger('change');
|
||||
$schedulezones.val(sr.BroadcastZones.split(';')).trigger('change');
|
||||
switch (sr.Day) {
|
||||
case 'Everyday':
|
||||
$scheduleeveryday.click();
|
||||
break;
|
||||
case 'Sunday':
|
||||
$schedulesunday.click();
|
||||
break;
|
||||
case 'Monday':
|
||||
$schedulemonday.click();
|
||||
break;
|
||||
case 'Tuesday':
|
||||
$scheduletuesday.click();
|
||||
break;
|
||||
case 'Wednesday':
|
||||
$schedulewednesday.click();
|
||||
break;
|
||||
case 'Thursday':
|
||||
$schedulethursday.click();
|
||||
break;
|
||||
case 'Friday':
|
||||
$schedulefriday.click();
|
||||
break;
|
||||
case 'Saturday':
|
||||
$schedulesaturday.click();
|
||||
case 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday':
|
||||
console.log(`Setting weekly schedule for day: ${sr.Day}`);
|
||||
$scheduleweekly.click();
|
||||
$weeklyselect.val(sr.Day).trigger('change');
|
||||
break;
|
||||
default:
|
||||
// check if the day is in format dd/mm/yyyy
|
||||
// and set the special date radio button and date input
|
||||
if (/^\d{2}\/\d{2}\/\d{4}$/.test(sr.day)) {
|
||||
if (/^\d{2}\/\d{2}\/\d{4}$/.test(sr.Day)) {
|
||||
$schedulespecialdate.click();
|
||||
$scheduledate.val(sr.day);
|
||||
$scheduledate.val(Convert_string_to_input_date(sr.Day));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user