From 910ef2a2e9a7f4fb29dfa4c03d633f48e9db1735 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Thu, 24 Aug 2023 10:48:29 +0200 Subject: [PATCH] template --- .../language/language-workspace.context.ts | 2 +- .../workspace/template-workspace-editor.element.ts | 9 ++++----- .../workspace/template-workspace.context.ts | 13 +++++++++++-- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/settings/languages/workspace/language/language-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/settings/languages/workspace/language/language-workspace.context.ts index 18061c36a1..1b8609c9b1 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/settings/languages/workspace/language/language-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/settings/languages/workspace/language/language-workspace.context.ts @@ -105,5 +105,5 @@ export class UmbLanguageWorkspaceContext export const UMB_LANGUAGE_WORKSPACE_CONTEXT = new UmbContextToken( 'UmbWorkspaceContext', - (context): context is UmbLanguageWorkspaceContext => context.getEntityType?.() === 'document' + (context): context is UmbLanguageWorkspaceContext => context.getEntityType?.() === 'language' ); diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/templates/workspace/template-workspace-editor.element.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/templates/workspace/template-workspace-editor.element.ts index d42558c8f8..e205153628 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/templating/templates/workspace/template-workspace-editor.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/templating/templates/workspace/template-workspace-editor.element.ts @@ -2,7 +2,7 @@ import type { UmbTemplatingInsertMenuElement } from '../../components/insert-men import { UMB_MODAL_TEMPLATING_INSERT_SECTION_MODAL } from '../../modals/insert-section-modal/insert-section-modal.element.js'; import { UMB_TEMPLATE_QUERY_BUILDER_MODAL } from '../modals/modal-tokens.js'; import { getQuerySnippet } from '../../utils.js'; -import type { UmbTemplateWorkspaceContext } from './template-workspace.context.js'; +import { UMB_TEMPLATE_WORKSPACE_CONTEXT } from './template-workspace.context.js'; import type { UmbCodeEditorElement } from '@umbraco-cms/backoffice/code-editor'; import { camelCase } from '@umbraco-cms/backoffice/external/lodash'; import { UUITextStyles, UUIInputElement } from '@umbraco-cms/backoffice/external/uui'; @@ -14,7 +14,6 @@ import { } from '@umbraco-cms/backoffice/modal'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { Subject, debounceTime } from '@umbraco-cms/backoffice/external/rxjs'; -import { UMB_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace'; @customElement('umb-template-workspace-editor') export class UmbTemplateWorkspaceEditorElement extends UmbLitElement { @@ -36,7 +35,7 @@ export class UmbTemplateWorkspaceEditorElement extends UmbLitElement { @query('umb-code-editor') private _codeEditor?: UmbCodeEditorElement; - #templateWorkspaceContext?: UmbTemplateWorkspaceContext; + #templateWorkspaceContext?: typeof UMB_TEMPLATE_WORKSPACE_CONTEXT.TYPE; #isNew = false; #masterTemplateId: string | null = null; @@ -50,8 +49,8 @@ export class UmbTemplateWorkspaceEditorElement extends UmbLitElement { this._modalContext = instance; }); - this.consumeContext(UMB_WORKSPACE_CONTEXT, (workspaceContext) => { - this.#templateWorkspaceContext = workspaceContext as UmbTemplateWorkspaceContext; + this.consumeContext(UMB_TEMPLATE_WORKSPACE_CONTEXT, (workspaceContext) => { + this.#templateWorkspaceContext = workspaceContext; this.observe(this.#templateWorkspaceContext.name, (name) => { this._name = name; }); diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/templates/workspace/template-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/templates/workspace/template-workspace.context.ts index 7c0d3b12b4..eb16956d22 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/templating/templates/workspace/template-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/templating/templates/workspace/template-workspace.context.ts @@ -1,6 +1,6 @@ import { UmbTemplateRepository } from '../repository/template.repository.js'; import { loadCodeEditor } from '@umbraco-cms/backoffice/code-editor'; -import { UmbWorkspaceContext } from '@umbraco-cms/backoffice/workspace'; +import { UmbEntityWorkspaceContextInterface, UmbWorkspaceContext } from '@umbraco-cms/backoffice/workspace'; import { createObservablePart, UmbBooleanState, @@ -9,8 +9,9 @@ import { } from '@umbraco-cms/backoffice/observable-api'; import type { TemplateItemResponseModel, TemplateResponseModel } from '@umbraco-cms/backoffice/backend-api'; import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; -export class UmbTemplateWorkspaceContext extends UmbWorkspaceContext { +export class UmbTemplateWorkspaceContext extends UmbWorkspaceContext implements UmbEntityWorkspaceContextInterface { #data = new UmbDeepState(undefined); data = this.#data.asObservable(); #masterTemplate = new UmbObjectState(null); @@ -163,5 +164,13 @@ ${currentContent}`; public destroy() { this.#data.complete(); + super.destroy(); } } + + + +export const UMB_TEMPLATE_WORKSPACE_CONTEXT = new UmbContextToken( + 'UmbWorkspaceContext', + (context): context is UmbTemplateWorkspaceContext => context.getEntityType?.() === 'template' +);