This commit is contained in:
Niels Lyngsø
2023-08-24 10:48:29 +02:00
parent 8080930f0c
commit 910ef2a2e9
3 changed files with 16 additions and 8 deletions

View File

@@ -105,5 +105,5 @@ export class UmbLanguageWorkspaceContext
export const UMB_LANGUAGE_WORKSPACE_CONTEXT = new UmbContextToken<UmbEntityWorkspaceContextInterface, UmbLanguageWorkspaceContext>(
'UmbWorkspaceContext',
(context): context is UmbLanguageWorkspaceContext => context.getEntityType?.() === 'document'
(context): context is UmbLanguageWorkspaceContext => context.getEntityType?.() === 'language'
);

View File

@@ -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;
});

View File

@@ -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<UmbTemplateRepository, TemplateResponseModel> {
export class UmbTemplateWorkspaceContext extends UmbWorkspaceContext<UmbTemplateRepository, TemplateResponseModel> implements UmbEntityWorkspaceContextInterface {
#data = new UmbDeepState<TemplateResponseModel | undefined>(undefined);
data = this.#data.asObservable();
#masterTemplate = new UmbObjectState<TemplateItemResponseModel | null>(null);
@@ -163,5 +164,13 @@ ${currentContent}`;
public destroy() {
this.#data.complete();
super.destroy();
}
}
export const UMB_TEMPLATE_WORKSPACE_CONTEXT = new UmbContextToken<UmbEntityWorkspaceContextInterface, UmbTemplateWorkspaceContext>(
'UmbWorkspaceContext',
(context): context is UmbTemplateWorkspaceContext => context.getEntityType?.() === 'template'
);