From 76e2e0560f471dea90a16db63eeaf7040892257e Mon Sep 17 00:00:00 2001 From: Fenris Wolf Date: Tue, 21 Oct 2025 23:06:11 +0200 Subject: [PATCH] [int] --- source/pages/overview/logic.ts | 194 ++++++++++++++--------------- source/widgets/event_edit/logic.ts | 9 +- source/widgets/weekview/logic.ts | 3 + 3 files changed, 102 insertions(+), 104 deletions(-) diff --git a/source/pages/overview/logic.ts b/source/pages/overview/logic.ts index f376976..39656aa 100644 --- a/source/pages/overview/logic.ts +++ b/source/pages/overview/logic.ts @@ -36,13 +36,18 @@ namespace _dali.pages.overview } /** - * @todo add return type */ async function get_available_calendars( ) + : Promise< + Array< + _dali.type_calendar_object_reduced_with_id + > + > { return ( (await _dali.model.calendar_list()) + /* .filter( (entry) => ( (entry.access_level === _dali.enum_access_level.edit) @@ -50,6 +55,7 @@ namespace _dali.pages.overview (entry.access_level === _dali.enum_access_level.admin) ) ) + */ ); } @@ -260,111 +266,95 @@ namespace _dali.pages.overview : Promise { const event_object_extended : _dali.type_event_object_extended = await _dali.model.event_get(event_key); - const calendar_id = event_object_extended.calendar_id; - const access_level = event_object_extended.access_level; - const event_id = event_object_extended.event_id; - /* - if (! _dali.is_logged_in()) - { - // do nothing - } - else - { - } - */ - let read_only : boolean; - switch (access_level) - { - case _dali.enum_access_level.none: + const read_only : boolean = (() => { + switch (event_object_extended.access_level) { - throw (new Error("this event should not be visible")); - break; - } - case _dali.enum_access_level.view: - { - read_only = true; - break; - } - case _dali.enum_access_level.edit: - case _dali.enum_access_level.admin: - { - read_only = false; - break; - } - } - (async () => { - const event_object : _dali.type_event_object = await _dali.backend.calendar_event_get( - calendar_id, - event_id - ); - const widget = new _dali.widgets.event_edit.class_widget_event_edit( - (await get_available_calendars()), + case _dali.enum_access_level.none: { - "calendar_id": calendar_id, - "event_name": event_object.name, - "event_begin": event_object.begin, - "event_end": event_object.end, - "event_location": event_object.location, - "event_link": event_object.link, - "event_description": event_object.description, - }, - { - "read_only": read_only, - "action_cancel": () => { - _dali.overlay.toggle({"mode": false}); - }, - "action_change": (data) => { - _dali.model.event_change( - event_key, - { - "name": data.event_name, - "begin": data.event_begin, - "end": data.event_end, - "location": data.event_location, - "link": data.event_link, - "description": data.event_description, - } - ) - .then( - () => { - update_entries(); - _dali.overlay.toggle({"mode": false}); - } - ) - .catch( - (reason) => { - lib_plankton.log.warning( - "dali.overview.event_change.error", - {"reason": String(reason)} - ); - } - ); - }, - "action_remove": () => { - _dali.model.event_remove( - event_key - ) - .then( - () => { - update_entries(); - _dali.overlay.toggle({"mode": false}); - } - ) - .catch( - (reason) => { - lib_plankton.log.warning( - "dali.overview.event_remove_error", - {"reason": String(reason)} - ); - } - ); - }, + throw (new Error("this event should not be visible")); + break; } - ); - _dali.overlay.clear(); - _dali.overlay.toggle({"mode": true}); - await widget.load(_dali.overlay.get_content_element()); + case _dali.enum_access_level.view: + { + return true; + break; + } + case _dali.enum_access_level.edit: + case _dali.enum_access_level.admin: + { + return false; + break; + } + } }) (); + const widget = new _dali.widgets.event_edit.class_widget_event_edit( + (await get_available_calendars()), + { + "calendar_id": event_object_extended.calendar_id, + "event_name": event_object_extended.event_object.name, + "event_begin": event_object_extended.event_object.begin, + "event_end": event_object_extended.event_object.end, + "event_location": event_object_extended.event_object.location, + "event_link": event_object_extended.event_object.link, + "event_description": event_object_extended.event_object.description, + }, + { + "read_only": read_only, + "action_cancel": () => { + _dali.overlay.toggle({"mode": false}); + }, + "action_change": (data) => { + _dali.model.event_change( + event_key, + { + "name": data.event_name, + "begin": data.event_begin, + "end": data.event_end, + "location": data.event_location, + "link": data.event_link, + "description": data.event_description, + } + ) + .then( + () => { + update_entries(); + _dali.overlay.toggle({"mode": false}); + } + ) + .catch( + (reason) => { + lib_plankton.log.warning( + "dali.overview.event_change.error", + {"reason": String(reason)} + ); + } + ); + }, + "action_remove": () => { + _dali.model.event_remove( + event_key + ) + .then( + () => { + update_entries(); + _dali.overlay.toggle({"mode": false}); + } + ) + .catch( + (reason) => { + lib_plankton.log.warning( + "dali.overview.event_remove_error", + {"reason": String(reason)} + ); + } + ); + }, + } + ); + + _dali.overlay.clear(); + _dali.overlay.toggle({"mode": true}); + await widget.load(_dali.overlay.get_content_element()); } // hint diff --git a/source/widgets/event_edit/logic.ts b/source/widgets/event_edit/logic.ts index 56e0977..14c07d4 100644 --- a/source/widgets/event_edit/logic.ts +++ b/source/widgets/event_edit/logic.ts @@ -179,18 +179,23 @@ namespace _dali.widgets.event_edit { "name": "event_name", "input": new lib_plankton.zoo_input.class_input_text( + { + "read_only": this.read_only, + } ), "label": lib_plankton.translate.get("event.name") }, { "name": "event_begin", - "input": _dali.helpers.datetime_input(), + "input": _dali.helpers.datetime_input( + ), "label": lib_plankton.translate.get("event.begin") }, { "name": "event_end", "input": new lib_plankton.zoo_input.class_input_soft( - _dali.helpers.datetime_input() + _dali.helpers.datetime_input( + ) ), "label": lib_plankton.translate.get("event.end") }, diff --git a/source/widgets/weekview/logic.ts b/source/widgets/weekview/logic.ts index bc2fd79..1c69318 100644 --- a/source/widgets/weekview/logic.ts +++ b/source/widgets/weekview/logic.ts @@ -366,10 +366,13 @@ namespace _dali.widgets.weekview "tableview-cell-entry", { "color": _dali.helpers.event_color(entry.hue), + /* "title": class_widget_weekview.event_generate_tooltip( entry.calendar_name, entry.event_object ), + */ + "title": "", "name": entry.event_object.name, "rel": entry.key, "additional_classes": lib_plankton.string.coin(