From ad322f75502979e6fc86d8624e716412b85ffbd6 Mon Sep 17 00:00:00 2001 From: Fenris Wolf Date: Mon, 21 Oct 2024 23:17:53 +0200 Subject: [PATCH] [mod] config switch for central europe datetime inputs --- lib/plankton/plankton.js | 12 ++++++------ source/logic/conf.ts | 5 +++++ source/logic/helpers.ts | 26 ++++++++++++++++++++++++++ source/pages/event_add/logic.ts | 16 ++-------------- source/pages/event_edit/logic.ts | 16 ++-------------- 5 files changed, 41 insertions(+), 34 deletions(-) diff --git a/lib/plankton/plankton.js b/lib/plankton/plankton.js index 4f669c0..fe44d46 100644 --- a/lib/plankton/plankton.js +++ b/lib/plankton/plankton.js @@ -10766,11 +10766,16 @@ var lib_plankton; */ constructor(options = {}) { options = Object.assign({ + "label_timezone_shift": "", "label_date": "", "label_time": "", - "label_timezone_shift": "", }, options); this.core = new zoo_input.class_input_group([ + { + "name": "timezone_shift", + "input": new zoo_input.class_input_number(), + "label": options.label_timezone_shift, + }, { "name": "date", "input": new zoo_input.class_input_date(), @@ -10781,11 +10786,6 @@ var lib_plankton; "input": new zoo_input.class_input_soft(new zoo_input.class_input_time()), "label": options.label_time, }, - { - "name": "timezone_shift", - "input": new zoo_input.class_input_number(), - "label": options.label_timezone_shift, - }, ]); } /** diff --git a/source/logic/conf.ts b/source/logic/conf.ts index dbc7950..4eefd5c 100644 --- a/source/logic/conf.ts +++ b/source/logic/conf.ts @@ -52,6 +52,11 @@ namespace _zeitbild.frontend_web.conf "type": "string", "default": "http://localhost:8888/#oidc_finish,session_key={{session_key}}" }, + "use_central_europe_specific_datetime_inputs": { + "nullable": true, + "type": "boolean", + "default": false + }, }, "required": [ ], diff --git a/source/logic/helpers.ts b/source/logic/helpers.ts index 7914fc6..612da3d 100644 --- a/source/logic/helpers.ts +++ b/source/logic/helpers.ts @@ -257,4 +257,30 @@ namespace _zeitbild.frontend_web.helpers ); } + + /** + */ + export function datetime_input( + ) : lib_plankton.zoo_input.interface_input + { + return ( + _zeitbild.frontend_web.conf.get().misc.use_central_europe_specific_datetime_inputs + ? + new lib_plankton.zoo_input.class_input_datetime_central_europe( + { + "label_date": lib_plankton.translate.get("common.date"), + "label_time": lib_plankton.translate.get("common.time"), + } + ) + : + new lib_plankton.zoo_input.class_input_datetime( + { + "label_timezone_shift": lib_plankton.translate.get("common.timezone_shift"), + "label_date": lib_plankton.translate.get("common.date"), + "label_time": lib_plankton.translate.get("common.time"), + } + ) + ); + } + } diff --git a/source/pages/event_add/logic.ts b/source/pages/event_add/logic.ts index 50a08cb..915dba7 100644 --- a/source/pages/event_add/logic.ts +++ b/source/pages/event_add/logic.ts @@ -140,25 +140,13 @@ namespace _zeitbild.frontend_web.pages }, { "name": "begin", - "input": new lib_plankton.zoo_input.class_input_datetime( - { - "label_timezone_shift": lib_plankton.translate.get("common.timezone_shift"), - "label_date": lib_plankton.translate.get("common.date"), - "label_time": lib_plankton.translate.get("common.time"), - } - ), + "input": _zeitbild.frontend_web.helpers.datetime_input(), "label": lib_plankton.translate.get("event.begin") }, { "name": "end", "input": new lib_plankton.zoo_input.class_input_soft( - new lib_plankton.zoo_input.class_input_datetime( - { - "label_timezone_shift": lib_plankton.translate.get("common.timezone_shift"), - "label_date": lib_plankton.translate.get("common.date"), - "label_time": lib_plankton.translate.get("common.time"), - } - ) + _zeitbild.frontend_web.helpers.datetime_input() ), "label": lib_plankton.translate.get("event.end") }, diff --git a/source/pages/event_edit/logic.ts b/source/pages/event_edit/logic.ts index e829916..a08b761 100644 --- a/source/pages/event_edit/logic.ts +++ b/source/pages/event_edit/logic.ts @@ -70,25 +70,13 @@ namespace _zeitbild.frontend_web.pages }, { "name": "begin", - "input": new lib_plankton.zoo_input.class_input_datetime( - { - "label_timezone_shift": lib_plankton.translate.get("common.timezone_shift"), - "label_date": lib_plankton.translate.get("common.date"), - "label_time": lib_plankton.translate.get("common.time"), - } - ), + "input": _zeitbild.frontend_web.helpers.datetime_input(), "label": lib_plankton.translate.get("event.begin") }, { "name": "end", "input": new lib_plankton.zoo_input.class_input_soft( - new lib_plankton.zoo_input.class_input_datetime( - { - "label_timezone_shift": lib_plankton.translate.get("common.timezone_shift"), - "label_date": lib_plankton.translate.get("common.date"), - "label_time": lib_plankton.translate.get("common.time"), - } - ) + _zeitbild.frontend_web.helpers.datetime_input() ), "label": lib_plankton.translate.get("event.end") },