diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/property-editors/models/Umbraco.CheckboxList.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/property-editors/models/Umbraco.CheckboxList.ts new file mode 100644 index 0000000000..8bbc7811d4 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/property-editors/models/Umbraco.CheckboxList.ts @@ -0,0 +1,8 @@ +import type { ManifestPropertyEditorModel } from '@umbraco-cms/models'; + +export const manifest: ManifestPropertyEditorModel = { + type: 'propertyEditorModel', + name: 'Checkbox List', + alias: 'Umbraco.CheckboxList', + meta: {}, +}; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/property-editors/uis/checkbox-list/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/property-editors/uis/checkbox-list/manifests.ts new file mode 100644 index 0000000000..26fea14b52 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/property-editors/uis/checkbox-list/manifests.ts @@ -0,0 +1,24 @@ +import type { ManifestPropertyEditorUI } from '@umbraco-cms/models'; + +export const manifest: ManifestPropertyEditorUI = { + type: 'propertyEditorUI', + alias: 'Umb.PropertyEditorUI.CheckboxList', + name: 'Checkbox List Property Editor UI', + loader: () => import('./property-editor-ui-checkbox-list.element'), + meta: { + label: 'Checkbox List', + propertyEditorModel: 'Umbraco.CheckboxList', + icon: 'umb:bulleted-list', + group: 'lists', + config: { + properties: [ + { + alias: 'options', + label: 'Add option', + description: 'Add, remove or sort options for the list.', + propertyEditorUI: 'Umb.PropertyEditorUI.MultipleTextString', + }, + ], + }, + }, +}; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/property-editors/uis/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/property-editors/uis/manifests.ts index 46e3dd09fe..1ae46f4370 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/property-editors/uis/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/property-editors/uis/manifests.ts @@ -15,6 +15,7 @@ import { manifest as toggle } from './toggle/manifests'; import { manifest as tags } from './tags/manifests'; import { manifest as markdownEditor } from './markdown-editor/manifests'; import { manifest as radioButtonList } from './radio-button-list/manifests'; +import { manifest as checkboxList } from './checkbox-list/manifests'; import type { ManifestPropertyEditorUI } from '@umbraco-cms/models'; @@ -36,6 +37,7 @@ export const manifests: Array = [ tags, markdownEditor, radioButtonList, + checkboxList, { type: 'propertyEditorUI', alias: 'Umb.PropertyEditorUI.BlockList', @@ -48,18 +50,6 @@ export const manifests: Array = [ propertyEditorModel: 'Umbraco.BlockList', }, }, - { - type: 'propertyEditorUI', - alias: 'Umb.PropertyEditorUI.CheckboxList', - name: 'Checkbox List Property Editor UI', - loader: () => import('./checkbox-list/property-editor-ui-checkbox-list.element'), - meta: { - label: 'Checkbox List', - icon: 'umb:bulleted-list', - group: 'lists', - propertyEditorModel: 'Umbraco.CheckBoxList', - }, - }, { type: 'propertyEditorUI', alias: 'Umb.PropertyEditorUI.Number', diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/property-editors/uis/radio-button-list/manifests.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/property-editors/uis/radio-button-list/manifests.ts index af657a5a82..2f118350d6 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/property-editors/uis/radio-button-list/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/property-editors/uis/radio-button-list/manifests.ts @@ -3,7 +3,7 @@ import type { ManifestPropertyEditorUI } from '@umbraco-cms/models'; export const manifest: ManifestPropertyEditorUI = { type: 'propertyEditorUI', alias: 'Umb.PropertyEditorUI.RadioButtonList', - name: 'RadioButtonList Property Editor UI', + name: 'Radio Button List Property Editor UI', loader: () => import('./property-editor-ui-radio-button-list.element'), meta: { label: 'Radio Button List', diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/data-type.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/data-type.data.ts index a0849f578d..62227f4c08 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/data-type.data.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/data-type.data.ts @@ -278,6 +278,19 @@ export const data: Array = [ propertyEditorUIAlias: 'Umb.PropertyEditorUI.RadioButtonList', data: [], }, + { + name: 'Checkbox List', + type: 'data-type', + icon: 'umb:autofill', + hasChildren: false, + key: 'dt-checkboxList', + isContainer: false, + parentKey: null, + isFolder: false, + propertyEditorModelAlias: 'Umbraco.CheckboxList', + propertyEditorUIAlias: 'Umb.PropertyEditorUI.CheckboxList', + data: [], + }, ]; // Temp mocked database diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/document.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/document.data.ts index 01162294fc..3afaed6615 100644 --- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/document.data.ts +++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/document.data.ts @@ -108,6 +108,12 @@ export const data: Array = [ description: '', dataTypeKey: 'dt-radioButtonList', }, + { + alias: 'checkboxList', + label: 'Checkbox List', + description: '', + dataTypeKey: 'dt-checkboxList', + }, ], data: [], variants: [],