restructure
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
"Backoffice",
|
||||
"combobox",
|
||||
"Elementable",
|
||||
"invariantable",
|
||||
"Niels",
|
||||
"pickable",
|
||||
"templating",
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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';
|
||||
|
||||
@@ -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:
|
||||
@@ -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;
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user