Skip to content

Commit f06f538

Browse files
committed
use element on language workspace
1 parent 26e0fae commit f06f538

File tree

2 files changed

+11
-65
lines changed

2 files changed

+11
-65
lines changed

src/packages/language/workspace/language/language-workspace-editor.element.ts

Lines changed: 7 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,11 @@
1-
import type { UmbLanguageDetailModel } from '../../types.js';
21
import { UMB_LANGUAGE_WORKSPACE_CONTEXT } from './language-workspace.context-token.js';
3-
import type { UUIInputElement } from '@umbraco-cms/backoffice/external/uui';
4-
import { UUIInputEvent } from '@umbraco-cms/backoffice/external/uui';
5-
import { css, html, customElement, state, ifDefined } from '@umbraco-cms/backoffice/external/lit';
6-
import { UmbLitElement, umbFocus } from '@umbraco-cms/backoffice/lit-element';
2+
import { html, customElement, state } from '@umbraco-cms/backoffice/external/lit';
3+
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
74
import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
85
@customElement('umb-language-workspace-editor')
96
export class UmbLanguageWorkspaceEditorElement extends UmbLitElement {
107
#workspaceContext?: typeof UMB_LANGUAGE_WORKSPACE_CONTEXT.TYPE;
118

12-
@state()
13-
_language?: UmbLanguageDetailModel;
14-
159
@state()
1610
_isNew?: boolean;
1711

@@ -20,73 +14,21 @@ export class UmbLanguageWorkspaceEditorElement extends UmbLitElement {
2014

2115
this.consumeContext(UMB_LANGUAGE_WORKSPACE_CONTEXT, (context) => {
2216
this.#workspaceContext = context;
23-
this.#observeData();
17+
this.observe(this.#workspaceContext.isNew, (isNew) => (this._isNew = isNew));
2418
});
2519
}
2620

27-
#observeData() {
28-
if (!this.#workspaceContext) return;
29-
this.observe(this.#workspaceContext.data, (data) => {
30-
this._language = data;
31-
});
32-
this.observe(this.#workspaceContext.isNew, (isNew) => {
33-
this._isNew = isNew;
34-
});
35-
}
36-
37-
#handleInput(event: UUIInputEvent) {
38-
if (event instanceof UUIInputEvent) {
39-
const target = event.composedPath()[0] as UUIInputElement;
40-
41-
if (typeof target?.value === 'string') {
42-
this.#workspaceContext?.setName(target.value);
43-
}
44-
}
45-
}
46-
4721
override render() {
4822
return html`<umb-workspace-editor
4923
alias="Umb.Workspace.Language"
5024
back-path="section/settings/workspace/language-root">
51-
<div id="header" slot="header">
52-
${this._isNew
53-
? html`<strong>Add language</strong>`
54-
: html`<uui-input
55-
label="Language name"
56-
value=${ifDefined(this._language?.name)}
57-
@input="${this.#handleInput}"
58-
${umbFocus()}></uui-input>`}
59-
</div>
25+
${this._isNew
26+
? html`<h3 slot="header">Add language</h3>`
27+
: html`<umb-workspace-name slot="header"></umb-workspace-name>`}
6028
</umb-workspace-editor>`;
6129
}
6230

63-
static override styles = [
64-
UmbTextStyles,
65-
css`
66-
#header {
67-
display: flex;
68-
gap: var(--uui-size-space-4);
69-
width: 100%;
70-
}
71-
72-
uui-input {
73-
width: 100%;
74-
}
75-
76-
strong {
77-
display: flex;
78-
align-items: center;
79-
}
80-
81-
#footer-into {
82-
padding: 0 var(--uui-size-layout-1);
83-
}
84-
85-
uui-input:not(:focus) {
86-
border: 1px solid transparent;
87-
}
88-
`,
89-
];
31+
static override styles = [UmbTextStyles];
9032
}
9133

9234
export default UmbLanguageWorkspaceEditorElement;

src/packages/language/workspace/language/language-workspace.context.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ export class UmbLanguageWorkspaceContext
5555
this._data.updateCurrent({ name });
5656
}
5757

58+
getName() {
59+
return this._data.getCurrent()?.name;
60+
}
61+
5862
setCulture(unique: string) {
5963
this._data.updateCurrent({ unique });
6064
}

0 commit comments

Comments
 (0)