restructure

This commit is contained in:
Niels Lyngsø
2023-08-28 12:33:26 +02:00
parent 973dcf51e5
commit a8b36c0f50
9 changed files with 15 additions and 21 deletions

View File

@@ -5,6 +5,7 @@
"Backoffice",
"combobox",
"Elementable",
"invariantable",
"Niels",
"pickable",
"templating",

View File

@@ -6,7 +6,7 @@ import {
} from '@umbraco-cms/backoffice/extension-registry';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
import { UmbDataTypeDatasetContext } from '@umbraco-cms/backoffice/data-type';
import { UmbInvariantDatasetContext } from '@umbraco-cms/backoffice/data-type';
/**
* @element umb-property-editor-config
@@ -15,7 +15,7 @@ import { UmbDataTypeDatasetContext } from '@umbraco-cms/backoffice/data-type';
@customElement('umb-property-editor-config')
export class UmbPropertyEditorConfigElement extends UmbLitElement {
#datasetContext?: UmbDataTypeDatasetContext;
#datasetContext?: UmbInvariantDatasetContext;
/**
* Data. The element will render configuration editors with values from this data.

View File

@@ -2,3 +2,4 @@ export * from './dataset-context.interface.js';
export * from './dataset-context.token.js';
export * from './variant-dataset-context.interface.js';
export * from './variant-dataset-context.token.js';
export * from './invariant-dataset-context.js';

View File

@@ -1,14 +1,11 @@
import { UmbDataTypeWorkspaceContext } from "../workspace/data-type-workspace.context.js";
import { DocumentVariantResponseModel } from "@umbraco-cms/backoffice/backend-api";
import { UmbBaseController, UmbControllerHost } from "@umbraco-cms/backoffice/controller-api";
import { PropertyEditorConfigProperty } from "@umbraco-cms/backoffice/extension-registry";
import { Observable } from "@umbraco-cms/backoffice/external/rxjs";
import { UmbObjectState } from "@umbraco-cms/backoffice/observable-api";
import { UMB_DATASET_CONTEXT, UmbDatasetContext } from "@umbraco-cms/backoffice/workspace";
import { UMB_DATASET_CONTEXT, UmbDatasetContext, UmbInvariantableWorkspaceContextInterface } from "@umbraco-cms/backoffice/workspace";
export class UmbDataTypeDatasetContext extends UmbBaseController implements UmbDatasetContext {
export class UmbInvariantDatasetContext extends UmbBaseController implements UmbDatasetContext {
#workspace: UmbDataTypeWorkspaceContext;
#workspace: UmbInvariantableWorkspaceContextInterface;
#currentVariant = new UmbObjectState<DocumentVariantResponseModel | undefined>(undefined);
currentVariant = this.#currentVariant.asObservable();
@@ -17,8 +14,6 @@ export class UmbDataTypeDatasetContext extends UmbBaseController implements UmbD
culture = this.#currentVariant.asObservablePart((x) => x?.culture);
segment = this.#currentVariant.asObservablePart((x) => x?.segment);
properties: Observable<Array<PropertyEditorConfigProperty> | undefined>;
// default data:
@@ -37,13 +32,11 @@ export class UmbDataTypeDatasetContext extends UmbBaseController implements UmbD
constructor(host: UmbControllerHost, workspace: UmbDataTypeWorkspaceContext) {
constructor(host: UmbControllerHost, workspace: UmbInvariantableWorkspaceContextInterface) {
// The controller alias, is a very generic name cause we want only one of these for this controller host.
super(host, 'dataSetContext');
this.#workspace = workspace;
this.properties = this.#workspace.properties;
// TODO: Refactor: use the document dataset context token.
this.provideContext(UMB_DATASET_CONTEXT, this);
}

View File

@@ -6,5 +6,5 @@ export * from './variant-workspace-context.token.js';
export * from './workspace-context.interface.js';
export * from './workspace-context.js';
export * from './workspace-context.token.js';
export * from './workspace-invariable-context.interface.js';
export * from './workspace-invariantable-context.interface.js';
export * from './workspace-variantable-context.interface.js';

View File

@@ -3,7 +3,7 @@ import type { UmbSaveableWorkspaceContextInterface } from './saveable-workspace-
import type { Observable } from '@umbraco-cms/backoffice/external/rxjs';
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
export interface UmbInvariableWorkspaceContextInterface<T = unknown>
export interface UmbInvariantableWorkspaceContextInterface<T = unknown>
extends UmbSaveableWorkspaceContextInterface<T> {
// Name:

View File

@@ -6,6 +6,7 @@ import { UmbObjectState } from "@umbraco-cms/backoffice/observable-api";
import { UmbVariantId } from "@umbraco-cms/backoffice/variant";
import { UMB_DATASET_CONTEXT, UmbVariantDatasetContext } from "@umbraco-cms/backoffice/workspace";
// TODO: This code can be split into a UmbContentTypeDatasetContext, leaving just the publishing state and methods to this class.
export class UmbDocumentDatasetContext extends UmbBaseController implements UmbVariantDatasetContext {
#workspace: UmbDocumentWorkspaceContext;

View File

@@ -3,4 +3,3 @@ import './components/index.js';
export type { UmbDataTypeModel } from './models.js';
export * from './entities.js';
export * from './repository/index.js';
export * from './dataset-context/data-type-dataset-context.js';

View File

@@ -1,6 +1,5 @@
import { UmbDataTypeRepository } from '../repository/data-type.repository.js';
import { UmbDataTypeDatasetContext } from '../index.js';
import { UmbInvariableWorkspaceContextInterface, UmbWorkspaceContext, UmbWorkspaceContextInterface } from '@umbraco-cms/backoffice/workspace';
import { UmbInvariantDatasetContext, UmbInvariantableWorkspaceContextInterface, UmbWorkspaceContext, UmbWorkspaceContextInterface } from '@umbraco-cms/backoffice/workspace';
import type { DataTypeResponseModel } from '@umbraco-cms/backoffice/backend-api';
import { appendToFrozenArray, UmbArrayState, UmbObjectState } from '@umbraco-cms/backoffice/observable-api';
import { UmbControllerHost, UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
@@ -11,7 +10,7 @@ import { UMB_PROPERTY_EDITOR_SCHEMA_ALIAS_DEFAULT } from '@umbraco-cms/backoffic
export class UmbDataTypeWorkspaceContext
extends UmbWorkspaceContext<UmbDataTypeRepository, DataTypeResponseModel>
implements UmbInvariableWorkspaceContextInterface<DataTypeResponseModel | undefined>
implements UmbInvariantableWorkspaceContextInterface<DataTypeResponseModel | undefined>
{
// TODO: revisit. temp solution because the create and response models are different.
#data = new UmbObjectState<DataTypeResponseModel | undefined>(undefined);
@@ -100,8 +99,8 @@ export class UmbDataTypeWorkspaceContext
return this._configDefaultData?.find((x) => x.alias === alias)?.value;
}
createDatasetContext(host: UmbControllerHost): UmbDataTypeDatasetContext {
return new UmbDataTypeDatasetContext(host, this);
createDatasetContext(host: UmbControllerHost): UmbInvariantDatasetContext {
return new UmbInvariantDatasetContext(host, this);
}
async load(id: string) {