frontend-dali/source/pages/calendar_edit/logic.ts
2025-10-14 00:16:22 +02:00

69 lines
1.5 KiB
TypeScript

namespace _dali.pages
{
/**
*/
lib_plankton.zoo_page.register(
"calendar_edit",
async (parameters, target_element) => {
const read_only : boolean = ((parameters["read_only"] ?? "yes") === "yes");
const calendar_id : int = parseInt(parameters["calendar_id"]);
target_element.innerHTML = "";
target_element.innerHTML = await _dali.helpers.template_coin(
"calendar_edit",
"default",
{
"label": lib_plankton.translate.get("page.calendar_edit.title.regular")
}
);
const calendar_object : _dali.type.calendar_object = await _dali.backend.calendar_get(
calendar_id
);
const widget = new _dali.widgets.calendar_edit.class_widget_calendar_edit(
{
"read_only": read_only,
"action_change": (data) => {
_dali.backend.calendar_change(
calendar_id,
data
)
.then(
() => {
lib_plankton.zoo_page.set(
{
"name": "overview",
"parameters": {}
}
);
}
);
},
"action_remove": (data) => {
_dali.backend.calendar_remove(
calendar_id
)
.then(
() => {
lib_plankton.zoo_page.set(
{
"name": "overview",
"parameters": {}
}
);
}
);
},
"initial_value": {
"name": calendar_object.name,
"hue": calendar_object.hue,
"access": calendar_object.access,
},
}
);
await widget.load(document.querySelector("#calendar_edit_form"));
return Promise.resolve<void>(undefined);
}
);
}