From 90c3e5c0f10254a2057c18cc57e43171ff8419db Mon Sep 17 00:00:00 2001 From: Lone Iversen <108085781+loivsen@users.noreply.github.com> Date: Tue, 26 Sep 2023 09:48:20 +0200 Subject: [PATCH] property editor dropdown --- .../src/mocks/data/data-type.data.ts | 15 ++++- .../core/components/input-dropdown/index.ts | 1 + .../input-dropdown-list.element.ts | 54 +++++++++++++++++ .../input-dropdown-list.stories.ts | 50 ++++++++++++++++ .../input-dropdown-list.test.ts | 18 ++++++ .../property-editor-ui-dropdown.element.ts | 59 ++++++++++++++++--- 6 files changed, 188 insertions(+), 9 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/components/input-dropdown/index.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/components/input-dropdown/input-dropdown-list.element.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/components/input-dropdown/input-dropdown-list.stories.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/components/input-dropdown/input-dropdown-list.test.ts diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/data-type.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/data-type.data.ts index 113799666c..8c1490effe 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/data-type.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/data-type.data.ts @@ -299,7 +299,20 @@ export const data: Array = parentId: null, propertyEditorAlias: 'Umbraco.DropDown.Flexible', propertyEditorUiAlias: 'Umb.PropertyEditorUi.Dropdown', - values: [], + values: [ + { + alias: 'multiple', + value: false, + }, + { + alias: 'items', + value: { + 0: { sortOrder: 1, value: 'First Option' }, + 1: { sortOrder: 2, value: 'Second Option' }, + 2: { sortOrder: 3, value: 'I Am the third Option' }, + }, + }, + ], }, { type: 'data-type', diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/input-dropdown/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-dropdown/index.ts new file mode 100644 index 0000000000..6ba9298f35 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-dropdown/index.ts @@ -0,0 +1 @@ +export * from './input-dropdown-list.element.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/input-dropdown/input-dropdown-list.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-dropdown/input-dropdown-list.element.ts new file mode 100644 index 0000000000..c822ce0d85 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-dropdown/input-dropdown-list.element.ts @@ -0,0 +1,54 @@ +import { css, html, nothing, customElement, property, query, state } from '@umbraco-cms/backoffice/external/lit'; +import { FormControlMixin, UUISelectEvent } from '@umbraco-cms/backoffice/external/uui'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; + +@customElement('umb-input-dropdown-list') +export class UmbInputDropdownListElement extends FormControlMixin(UmbLitElement) { + @property({ type: Array }) + public options?: Array