From ec538f524de1c9eab2ec38af1cca619e9e86d443 Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Mon, 20 Jul 2026 18:10:48 +0200 Subject: [PATCH] feat(scheduling): compose request editor from core UI --- .../test-scheduling-page-structure.mjs | 31 +- .../features/scheduling/SchedulingPage.tsx | 964 ++++++++++-------- webui/src/i18n/generatedTranslations.ts | 2 + webui/src/styles/scheduling.css | 380 ++----- 4 files changed, 702 insertions(+), 675 deletions(-) diff --git a/webui/scripts/test-scheduling-page-structure.mjs b/webui/scripts/test-scheduling-page-structure.mjs index 1135ad0..07e2b6d 100644 --- a/webui/scripts/test-scheduling-page-structure.mjs +++ b/webui/scripts/test-scheduling-page-structure.mjs @@ -11,6 +11,8 @@ assert.match(page, /usePlatformUiCapability\("calend assert.match(page, /hasScope\(auth, "calendar:calendar:read"\)/); assert.match(page, /Boolean\(calendarPickerCapability\) && canReadCalendars && canReadAvailability && canWriteCalendarEvent/); assert.doesNotMatch(page, /@govoplan\/calendar-webui|govoplan-calendar\/webui/); +assert.match(page, /Card,[\s\S]*DataGrid,[\s\S]*DataGridEmptyAction,[\s\S]*DataGridRowActions,[\s\S]*ModuleSubnav,[\s\S]*ToggleSwitch,[\s\S]*from "@govoplan\/core-webui"/); +assert.doesNotMatch(page, /@govoplan\/core-webui\/src\//); assert.match(page, /className="scheduling-full-editor"/); assert.match(page, /className="scheduling-page-actions"/); @@ -19,10 +21,35 @@ const editorActions = page.slice( page.indexOf('', page.indexOf('
')) ); assert.ok(editorActions.indexOf("I18N.discard") < editorActions.indexOf("I18N.save")); -assert.match(page, /