From b27fae1373861d6eab4e121cbd1b4dde53a1b708 Mon Sep 17 00:00:00 2001 From: Lone Iversen <108085781+loivsen@users.noreply.github.com> Date: Wed, 3 Jan 2024 11:38:30 +0100 Subject: [PATCH 01/31] culture and hostnames --- .../culture-and-hostnames-modal.token.ts | 25 +++ .../src/packages/core/modal/token/index.ts | 1 + .../culture-and-hostnames.action.ts | 14 -- .../culture-and-hostnames-domain.element.ts | 0 .../culture-and-hostnames-modal.element.ts | 178 ++++++++++++++++++ .../culture-and-hostnames.action.ts | 38 ++++ .../culture-and-hostnames/manifests.ts | 31 +++ .../documents/entity-actions/manifests.ts | 5 +- 8 files changed, 277 insertions(+), 15 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/modal/token/culture-and-hostnames-modal.token.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames.action.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames/culture-and-hostnames-domain.element.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames/culture-and-hostnames-modal.element.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames/culture-and-hostnames.action.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/culture-and-hostnames-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/culture-and-hostnames-modal.token.ts new file mode 100644 index 0000000000..9e23f9f0b8 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/culture-and-hostnames-modal.token.ts @@ -0,0 +1,25 @@ +import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; + +export interface UmbCultureAndHostnamesModalData { + unique: string | null; + culture?: string | null; +} + +export interface UmbCultureAndHostnamesModalValue { + data: Array; +} + +export interface CultureAndHostnames { + hostname: string; + culture: string; +} + +export const UMB_CULTURE_AND_HOSTNAMES_MODAL = new UmbModalToken< + UmbCultureAndHostnamesModalData, + UmbCultureAndHostnamesModalValue +>('Umb.Modal.CultureAndHostnames', { + modal: { + type: 'sidebar', + size: 'small', + }, +}); diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/index.ts index b6302f9905..aceb336063 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/index.ts @@ -5,6 +5,7 @@ export * from './create-dictionary-modal.token.js'; export * from './create-document-modal.token.js'; export * from './create-user-modal.token.js'; export * from './create-user-success-modal.token.js'; +export * from './culture-and-hostnames-modal.token.js'; export * from './current-user-modal.token.js'; export * from './data-type-picker-flow-data-type-picker-modal.token.js'; export * from './data-type-picker-flow-modal.token.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames.action.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames.action.ts deleted file mode 100644 index 01932ae60e..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames.action.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { UmbDocumentRepository } from '../repository/document.repository.js'; -import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action'; -import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api'; - -export class UmbDocumentCultureAndHostnamesEntityAction extends UmbEntityActionBase { - constructor(host: UmbControllerHostElement, repositoryAlias: string, unique: string) { - super(host, repositoryAlias, unique); - } - - async execute() { - console.log(`execute for: ${this.unique}`); - await this.repository?.setCultureAndHostnames(); - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames/culture-and-hostnames-domain.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames/culture-and-hostnames-domain.element.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames/culture-and-hostnames-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames/culture-and-hostnames-modal.element.ts new file mode 100644 index 0000000000..102c4a26ea --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/culture-and-hostnames/culture-and-hostnames-modal.element.ts @@ -0,0 +1,178 @@ +import { html, customElement, state, css, query, repeat } from '@umbraco-cms/backoffice/external/lit'; +import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; +import { + CultureAndHostnames, + UmbCultureAndHostnamesModalData, + UmbCultureAndHostnamesModalValue, + UmbModalBaseElement, +} from '@umbraco-cms/backoffice/modal'; +import { UUIInputEvent, UUISelectEvent } from '@umbraco-cms/backoffice/external/uui'; + +@customElement('umb-culture-and-hostnames-modal') +export class UmbCultureAndHostnamesModalElement extends UmbModalBaseElement< + UmbCultureAndHostnamesModalData, + UmbCultureAndHostnamesModalValue +> { + #unique?: string | null; + + @state() + private _cultureOptions: Array