From c0585635c32d9fdf758676ced824d8bb3dba7c27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Thu, 24 Aug 2023 10:52:43 +0200 Subject: [PATCH] dictionary --- .../workspace/dictionary-workspace-editor.element.ts | 9 ++++----- .../dictionary/workspace/dictionary-workspace.context.ts | 7 +++++++ .../editor/workspace-view-dictionary-editor.element.ts | 9 ++++----- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/dictionary/dictionary/workspace/dictionary-workspace-editor.element.ts b/src/Umbraco.Web.UI.Client/src/packages/dictionary/dictionary/workspace/dictionary-workspace-editor.element.ts index 782c224aec..7da4156282 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/dictionary/dictionary/workspace/dictionary-workspace-editor.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/dictionary/dictionary/workspace/dictionary-workspace-editor.element.ts @@ -1,20 +1,19 @@ -import { UmbDictionaryWorkspaceContext } from './dictionary-workspace.context.js'; import { UUIInputElement, UUIInputEvent, UUITextStyles } from '@umbraco-cms/backoffice/external/uui'; import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; -import { UMB_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace'; +import { UMB_DICTIONARY_WORKSPACE_CONTEXT } from './dictionary-workspace.context'; @customElement('umb-dictionary-workspace-editor') export class UmbDictionaryWorkspaceEditorElement extends UmbLitElement { @state() private _name?: string | null = ''; - #workspaceContext?: UmbDictionaryWorkspaceContext; + #workspaceContext?: typeof UMB_DICTIONARY_WORKSPACE_CONTEXT.TYPE; constructor() { super(); - this.consumeContext(UMB_WORKSPACE_CONTEXT, (instance) => { - this.#workspaceContext = instance as UmbDictionaryWorkspaceContext; + this.consumeContext(UMB_DICTIONARY_WORKSPACE_CONTEXT, (instance) => { + this.#workspaceContext = instance; this.#observeName(); }); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/dictionary/dictionary/workspace/dictionary-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/dictionary/dictionary/workspace/dictionary-workspace.context.ts index 70981cb8d3..65a134993d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/dictionary/dictionary/workspace/dictionary-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/dictionary/dictionary/workspace/dictionary-workspace.context.ts @@ -3,6 +3,7 @@ import { UmbEntityWorkspaceContextInterface, UmbWorkspaceContext } from '@umbrac import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api'; import { UmbObjectState } from '@umbraco-cms/backoffice/observable-api'; import { DictionaryItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; export class UmbDictionaryWorkspaceContext extends UmbWorkspaceContext @@ -83,3 +84,9 @@ export class UmbDictionaryWorkspaceContext this.#data.complete(); } } + + +export const UMB_DICTIONARY_WORKSPACE_CONTEXT = new UmbContextToken( + 'UmbWorkspaceContext', + (context): context is UmbDictionaryWorkspaceContext => context.getEntityType?.() === 'dictionary-item' +); diff --git a/src/Umbraco.Web.UI.Client/src/packages/dictionary/dictionary/workspace/views/editor/workspace-view-dictionary-editor.element.ts b/src/Umbraco.Web.UI.Client/src/packages/dictionary/dictionary/workspace/views/editor/workspace-view-dictionary-editor.element.ts index d099923ff7..c8a800a7be 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/dictionary/dictionary/workspace/views/editor/workspace-view-dictionary-editor.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/dictionary/dictionary/workspace/views/editor/workspace-view-dictionary-editor.element.ts @@ -1,10 +1,9 @@ -import { UmbDictionaryWorkspaceContext } from '../../dictionary-workspace.context.js'; +import { UMB_DICTIONARY_WORKSPACE_CONTEXT } from '../../dictionary-workspace.context.js'; import { UmbDictionaryRepository } from '../../../repository/dictionary.repository.js'; import { UUITextStyles, UUITextareaElement, UUITextareaEvent } from '@umbraco-cms/backoffice/external/uui'; import { css, html, customElement, state, repeat, ifDefined } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { DictionaryItemResponseModel, LanguageResponseModel } from '@umbraco-cms/backoffice/backend-api'; -import { UMB_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace'; @customElement('umb-workspace-view-dictionary-editor') export class UmbWorkspaceViewDictionaryEditorElement extends UmbLitElement { @state() @@ -15,7 +14,7 @@ export class UmbWorkspaceViewDictionaryEditorElement extends UmbLitElement { @state() private _languages: Array = []; - #workspaceContext!: UmbDictionaryWorkspaceContext; + #workspaceContext!: typeof UMB_DICTIONARY_WORKSPACE_CONTEXT.TYPE; async connectedCallback() { super.connectedCallback(); @@ -23,8 +22,8 @@ export class UmbWorkspaceViewDictionaryEditorElement extends UmbLitElement { this.#repo = new UmbDictionaryRepository(this); this._languages = await this.#repo.getLanguages(); - this.consumeContext(UMB_WORKSPACE_CONTEXT, (_instance) => { - this.#workspaceContext = _instance as UmbDictionaryWorkspaceContext; + this.consumeContext(UMB_DICTIONARY_WORKSPACE_CONTEXT, (_instance) => { + this.#workspaceContext = _instance; this.#observeDictionary(); }); }