From b26f568412900ff577cd8d452bee07f20467b619 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 27 Sep 2024 08:53:24 +0200 Subject: [PATCH] render editable name --- .../data-type-folder-editor.element.ts | 34 +++++++++++++++++-- .../tree/folder/workspace/manifests.ts | 19 +++++++++++ .../tree/folder/workspace/manifests.ts | 2 +- 3 files changed, 51 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/data-type/tree/folder/workspace/data-type-folder-editor.element.ts b/src/Umbraco.Web.UI.Client/src/packages/data-type/tree/folder/workspace/data-type-folder-editor.element.ts index bae58ba66c..aaf4f175f7 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/data-type/tree/folder/workspace/data-type-folder-editor.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/data-type/tree/folder/workspace/data-type-folder-editor.element.ts @@ -1,8 +1,11 @@ import { UMB_DATA_TYPE_FOLDER_WORKSPACE_ALIAS } from './constants.js'; import { UMB_DATA_TYPE_FOLDER_WORKSPACE_CONTEXT } from './data-type-folder.workspace.context-token.js'; import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit'; -import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; +import type { UUIInputElement } from '@umbraco-cms/backoffice/external/uui'; +import { UUIInputEvent } from '@umbraco-cms/backoffice/external/uui'; +import { umbFocus, UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; +import { umbBindToValidation } from '@umbraco-cms/backoffice/validation'; const elementName = 'umb-data-type-folder-workspace-editor'; @customElement(elementName) @@ -30,12 +33,37 @@ export class UmbDataTypeFolderWorkspaceEditorElement extends UmbLitElement { }); } + #handleInput(event: UUIInputEvent) { + if (event instanceof UUIInputEvent) { + const target = event.composedPath()[0] as UUIInputElement; + + if (typeof target?.value === 'string') { + this.#workspaceContext?.setName(target.value); + } + } + } + override render() { - return html` + return html` + `; } - static override styles = [UmbTextStyles, css``]; + static override styles = [ + UmbTextStyles, + css` + #nameInput { + flex: 1 1 auto; + } + `, + ]; } export { UmbDataTypeFolderWorkspaceEditorElement as element }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/data-type/tree/folder/workspace/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/data-type/tree/folder/workspace/manifests.ts index 70c9a96b92..353629fefa 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/data-type/tree/folder/workspace/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/data-type/tree/folder/workspace/manifests.ts @@ -1,3 +1,4 @@ +import { UmbSubmitWorkspaceAction } from '@umbraco-cms/backoffice/workspace'; import { UMB_DATA_TYPE_FOLDER_ENTITY_TYPE } from '../../../entity.js'; import { UMB_DATA_TYPE_FOLDER_WORKSPACE_ALIAS } from './constants.js'; @@ -12,4 +13,22 @@ export const manifests: Array = [ entityType: UMB_DATA_TYPE_FOLDER_ENTITY_TYPE, }, }, + { + type: 'workspaceAction', + kind: 'default', + alias: 'Umb.WorkspaceAction.MediaType.Folder.Submit', + name: 'Save Media Type Folder Workspace Action', + api: UmbSubmitWorkspaceAction, + meta: { + label: '#buttons_save', + look: 'primary', + color: 'positive', + }, + conditions: [ + { + alias: 'Umb.Condition.WorkspaceAlias', + match: UMB_DATA_TYPE_FOLDER_WORKSPACE_ALIAS, + }, + ], + }, ]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/tree/folder/workspace/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/tree/folder/workspace/manifests.ts index a385a330fd..bb3707c048 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/tree/folder/workspace/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/tree/folder/workspace/manifests.ts @@ -16,7 +16,7 @@ export const manifests: Array = [ { type: 'workspaceAction', kind: 'default', - alias: 'Umb.WorkspaceAction.MediaType.Folder.Save', + alias: 'Umb.WorkspaceAction.MediaType.Folder.Submit', name: 'Save Media Type Folder Workspace Action', api: UmbSubmitWorkspaceAction, meta: {