datatype workspace modal
This commit is contained in:
committed by
Jacob Overgaard
parent
0a38673a21
commit
a3381b3669
@@ -1,11 +1,8 @@
|
||||
import { UMB_DATATYPE_WORKSPACE_MODAL } from '../../index.js';
|
||||
import { css, html, customElement, property, state } from '@umbraco-cms/backoffice/external/lit';
|
||||
import { FormControlMixin } from '@umbraco-cms/backoffice/external/uui';
|
||||
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
|
||||
import {
|
||||
UmbModalRouteRegistrationController,
|
||||
UMB_DATA_TYPE_PICKER_FLOW_MODAL,
|
||||
UMB_WORKSPACE_MODAL,
|
||||
} from '@umbraco-cms/backoffice/modal';
|
||||
import { UmbModalRouteRegistrationController, UMB_DATA_TYPE_PICKER_FLOW_MODAL } from '@umbraco-cms/backoffice/modal';
|
||||
import { UmbChangeEvent } from '@umbraco-cms/backoffice/event';
|
||||
|
||||
// Note: Does only support picking a single data type. But this could be developed later into this same component. To follow other picker input components.
|
||||
@@ -49,9 +46,7 @@ export class UmbInputDataTypeElement extends FormControlMixin(UmbLitElement) {
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
this.#editDataTypeModal = new UmbModalRouteRegistrationController(this, UMB_WORKSPACE_MODAL).onSetup(() => {
|
||||
return { data: { entityType: 'data-type', preset: {} } };
|
||||
});
|
||||
this.#editDataTypeModal = new UmbModalRouteRegistrationController(this, UMB_DATATYPE_WORKSPACE_MODAL);
|
||||
|
||||
new UmbModalRouteRegistrationController(this, UMB_DATA_TYPE_PICKER_FLOW_MODAL)
|
||||
.onSetup(() => {
|
||||
|
||||
@@ -4,7 +4,6 @@ import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
|
||||
import type { UUIInputEvent } from '@umbraco-cms/backoffice/external/uui';
|
||||
import {
|
||||
UMB_DATA_TYPE_PICKER_FLOW_DATA_TYPE_PICKER_MODAL,
|
||||
UMB_WORKSPACE_MODAL,
|
||||
UmbDataTypePickerFlowModalData,
|
||||
UmbDataTypePickerFlowModalValue,
|
||||
UmbModalBaseElement,
|
||||
@@ -13,6 +12,7 @@ import {
|
||||
} from '@umbraco-cms/backoffice/modal';
|
||||
import { ManifestPropertyEditorUi, umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
|
||||
import { UmbEntityTreeItemModel } from '@umbraco-cms/backoffice/tree';
|
||||
import { UMB_DATATYPE_WORKSPACE_MODAL } from '@umbraco-cms/backoffice/data-type';
|
||||
|
||||
interface GroupedItems<T> {
|
||||
[key: string]: Array<T>;
|
||||
@@ -73,7 +73,7 @@ export class UmbDataTypePickerFlowModalElement extends UmbModalBaseElement<
|
||||
this.requestUpdate('_dataTypePickerModalRouteBuilder');
|
||||
});
|
||||
|
||||
this._createDataTypeModal = new UmbModalRouteRegistrationController(this, UMB_WORKSPACE_MODAL)
|
||||
this._createDataTypeModal = new UmbModalRouteRegistrationController(this, UMB_DATATYPE_WORKSPACE_MODAL)
|
||||
.addAdditionalPath(':uiAlias')
|
||||
.onSetup((params) => {
|
||||
return { data: { entityType: 'data-type', preset: { editorUiAlias: params.uiAlias } } };
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
import { CreateDataTypeRequestModel } from '@umbraco-cms/backoffice/backend-api';
|
||||
import { UmbModalToken, UmbWorkspaceData, UmbWorkspaceValue } from '@umbraco-cms/backoffice/modal';
|
||||
|
||||
export const UMB_DATATYPE_WORKSPACE_MODAL = new UmbModalToken<
|
||||
UmbWorkspaceData<CreateDataTypeRequestModel>,
|
||||
UmbWorkspaceValue
|
||||
>('Umb.Modal.Workspace', {
|
||||
modal: {
|
||||
type: 'sidebar',
|
||||
size: 'large',
|
||||
},
|
||||
data: { entityType: 'data-type', preset: {} },
|
||||
// Recast the type, so the entityType data prop is not required:
|
||||
}) as UmbModalToken<Omit<UmbWorkspaceData<CreateDataTypeRequestModel>, 'entityType'>, UmbWorkspaceValue>;
|
||||
@@ -1 +1,2 @@
|
||||
export * from './data-type-workspace.context-token.js';
|
||||
export * from './data-type-workspace.modal-token.js';
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
import { CreateDataTypeRequestModel } from '@umbraco-cms/backoffice/backend-api';
|
||||
import { UmbModalToken } from '@umbraco-cms/backoffice/modal';
|
||||
|
||||
// TODO: Change model:
|
||||
export interface UmbWorkspaceData {
|
||||
export interface UmbWorkspaceData<DataModelType = unknown> {
|
||||
entityType: string;
|
||||
preset: Partial<CreateDataTypeRequestModel>;
|
||||
preset: Partial<DataModelType>;
|
||||
}
|
||||
|
||||
// TODO: It would be good with a WorkspaceValueBaseType, to avoid the hardcoded type for unique here:
|
||||
|
||||
Reference in New Issue
Block a user