From 3b4a3762087cc3f75f7ac297b236bfd98f858076 Mon Sep 17 00:00:00 2001 From: Faton Ramadani Date: Thu, 11 Jul 2024 13:47:11 +0200 Subject: [PATCH] feat(frontend): date select component (#4064) * feat(frontend): add date select component * feat(frontend): add date select component * feat(frontend): add missing tooltip * feat(frontend): add support for locale * feat(frontend): correct number of days depending on month and year + fix output format * feat(frontend): Fix display * feat(frontend): Fix initial dimension * feat(frontend): Fix outputs * feat(frontend): clear and set the outputs depending on what field is enabled * feat(frontend): improve code --- .../components/inputs/AppDateSelect.svelte | 313 ++++++++++++++++++ .../apps/editor/component/Component.svelte | 9 + .../apps/editor/component/components.ts | 57 ++++ .../components/apps/editor/component/sets.ts | 3 +- .../componentsPanel/quickStyleProperties.ts | 3 + 5 files changed, 384 insertions(+), 1 deletion(-) create mode 100644 frontend/src/lib/components/apps/components/inputs/AppDateSelect.svelte diff --git a/frontend/src/lib/components/apps/components/inputs/AppDateSelect.svelte b/frontend/src/lib/components/apps/components/inputs/AppDateSelect.svelte new file mode 100644 index 0000000000..0d7dad526f --- /dev/null +++ b/frontend/src/lib/components/apps/components/inputs/AppDateSelect.svelte @@ -0,0 +1,313 @@ + + +{#each Object.keys(components['dateselectcomponent'].initialData.configuration) as key (key)} + +{/each} + +{#each Object.keys(css ?? {}) as key (key)} + +{/each} + + + + + + +
+ {#if resolvedConfig?.enableDay} +
+ { + selectedMonth = e.detail.value + outputs.month.set(monthItems.findIndex((item) => item.value === selectedMonth) + 1) + }} + on:clear={() => { + selectedMonth = '' + outputs.month.set(undefined) + }} + items={monthItems} + placeholder="Pick a month" + class={twMerge('text-clip min-w-0', css?.input?.class, 'wm-date-select')} + containerStyles={(darkMode + ? SELECT_INPUT_DEFAULT_STYLE.containerStylesDark + : SELECT_INPUT_DEFAULT_STYLE.containerStyles) + css?.input?.style} + clearable + /> +
+ {/if} + {#if resolvedConfig?.enableYear} +
+