Skip to content

Commit 25adb06

Browse files
committed
render editable name
1 parent c84b00c commit 25adb06

File tree

3 files changed

+51
-4
lines changed

3 files changed

+51
-4
lines changed

src/packages/data-type/tree/folder/workspace/data-type-folder-editor.element.ts

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import { UMB_DATA_TYPE_FOLDER_WORKSPACE_ALIAS } from './constants.js';
22
import { UMB_DATA_TYPE_FOLDER_WORKSPACE_CONTEXT } from './data-type-folder.workspace.context-token.js';
33
import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit';
4-
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
4+
import type { UUIInputElement } from '@umbraco-cms/backoffice/external/uui';
5+
import { UUIInputEvent } from '@umbraco-cms/backoffice/external/uui';
6+
import { umbFocus, UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
57
import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
8+
import { umbBindToValidation } from '@umbraco-cms/backoffice/validation';
69

710
const elementName = 'umb-data-type-folder-workspace-editor';
811
@customElement(elementName)
@@ -30,12 +33,37 @@ export class UmbDataTypeFolderWorkspaceEditorElement extends UmbLitElement {
3033
});
3134
}
3235

36+
#handleInput(event: UUIInputEvent) {
37+
if (event instanceof UUIInputEvent) {
38+
const target = event.composedPath()[0] as UUIInputElement;
39+
40+
if (typeof target?.value === 'string') {
41+
this.#workspaceContext?.setName(target.value);
42+
}
43+
}
44+
}
45+
3346
override render() {
34-
return html`<umb-workspace-editor headline=${this._name} alias=${UMB_DATA_TYPE_FOLDER_WORKSPACE_ALIAS}>
47+
return html`<umb-workspace-editor alias=${UMB_DATA_TYPE_FOLDER_WORKSPACE_ALIAS}>
48+
<uui-input
49+
slot="header"
50+
id="nameInput"
51+
.value=${this._name ?? ''}
52+
@input="${this.#handleInput}"
53+
required
54+
${umbBindToValidation(this, `$.name`, this._name)}
55+
${umbFocus()}></uui-input>
3556
</umb-workspace-editor>`;
3657
}
3758

38-
static override styles = [UmbTextStyles, css``];
59+
static override styles = [
60+
UmbTextStyles,
61+
css`
62+
#nameInput {
63+
flex: 1 1 auto;
64+
}
65+
`,
66+
];
3967
}
4068

4169
export { UmbDataTypeFolderWorkspaceEditorElement as element };

src/packages/data-type/tree/folder/workspace/manifests.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { UmbSubmitWorkspaceAction } from '@umbraco-cms/backoffice/workspace';
12
import { UMB_DATA_TYPE_FOLDER_ENTITY_TYPE } from '../../../entity.js';
23
import { UMB_DATA_TYPE_FOLDER_WORKSPACE_ALIAS } from './constants.js';
34

@@ -12,4 +13,22 @@ export const manifests: Array<UmbExtensionManifest> = [
1213
entityType: UMB_DATA_TYPE_FOLDER_ENTITY_TYPE,
1314
},
1415
},
16+
{
17+
type: 'workspaceAction',
18+
kind: 'default',
19+
alias: 'Umb.WorkspaceAction.MediaType.Folder.Submit',
20+
name: 'Save Media Type Folder Workspace Action',
21+
api: UmbSubmitWorkspaceAction,
22+
meta: {
23+
label: '#buttons_save',
24+
look: 'primary',
25+
color: 'positive',
26+
},
27+
conditions: [
28+
{
29+
alias: 'Umb.Condition.WorkspaceAlias',
30+
match: UMB_DATA_TYPE_FOLDER_WORKSPACE_ALIAS,
31+
},
32+
],
33+
},
1534
];

src/packages/media/media-types/tree/folder/workspace/manifests.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export const manifests: Array<UmbExtensionManifest> = [
1616
{
1717
type: 'workspaceAction',
1818
kind: 'default',
19-
alias: 'Umb.WorkspaceAction.MediaType.Folder.Save',
19+
alias: 'Umb.WorkspaceAction.MediaType.Folder.Submit',
2020
name: 'Save Media Type Folder Workspace Action',
2121
api: UmbSubmitWorkspaceAction,
2222
meta: {

0 commit comments

Comments
 (0)