Wired up the DynamicRoot manifests with the modals
This reduces extra calls to the `umbExtensionsRegistry` to re-get the manifests.
This commit is contained in:
@@ -87,7 +87,9 @@ export class UmbInputDocumentRootPickerElement extends FormControlMixin(UmbLitEl
|
||||
});
|
||||
|
||||
#openDynamicRootOriginPicker() {
|
||||
this.#openModal = this.#modalContext?.open(this, UMB_DYNAMIC_ROOT_ORIGIN_PICKER_MODAL, {});
|
||||
this.#openModal = this.#modalContext?.open(this, UMB_DYNAMIC_ROOT_ORIGIN_PICKER_MODAL, {
|
||||
data: { items: this._originManifests },
|
||||
});
|
||||
this.#openModal?.onSubmit().then((data: UmbTreePickerDynamicRoot) => {
|
||||
const existingData = { ...this.data };
|
||||
existingData.originKey = undefined;
|
||||
@@ -98,7 +100,9 @@ export class UmbInputDocumentRootPickerElement extends FormControlMixin(UmbLitEl
|
||||
}
|
||||
|
||||
#openDynamicRootQueryStepPicker() {
|
||||
this.#openModal = this.#modalContext?.open(this, UMB_DYNAMIC_ROOT_QUERY_STEP_PICKER_MODAL, {});
|
||||
this.#openModal = this.#modalContext?.open(this, UMB_DYNAMIC_ROOT_QUERY_STEP_PICKER_MODAL, {
|
||||
data: { items: this._queryStepManifests },
|
||||
});
|
||||
this.#openModal?.onSubmit().then((step) => {
|
||||
if (this.data) {
|
||||
const querySteps = [...(this.data.querySteps ?? []), step];
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import { UmbDocumentPickerContext } from '../../documents/documents/components/input-document/input-document.context.js';
|
||||
import type { UmbDynamicRootOriginModalData } from './index.js';
|
||||
import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal';
|
||||
import { css, html, customElement, state, ifDefined, repeat } from '@umbraco-cms/backoffice/external/lit';
|
||||
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
|
||||
import type { ManifestDynamicRootOrigin } from '@umbraco-cms/backoffice/extension-registry';
|
||||
import type { UmbTreePickerDynamicRoot } from '@umbraco-cms/backoffice/components';
|
||||
|
||||
@customElement('umb-dynamic-root-origin-picker-modal')
|
||||
export class UmbDynamicRootOriginPickerModalModalElement extends UmbModalBaseElement {
|
||||
export class UmbDynamicRootOriginPickerModalModalElement extends UmbModalBaseElement<UmbDynamicRootOriginModalData> {
|
||||
@state()
|
||||
private _origins: Array<ManifestDynamicRootOrigin> = [];
|
||||
|
||||
@@ -16,10 +16,14 @@ export class UmbDynamicRootOriginPickerModalModalElement extends UmbModalBaseEle
|
||||
super();
|
||||
|
||||
this.#documentPickerContext.max = 1;
|
||||
}
|
||||
|
||||
this.observe(umbExtensionsRegistry.byType('dynamicRootOrigin'), (origins: Array<ManifestDynamicRootOrigin>) => {
|
||||
this._origins = origins;
|
||||
});
|
||||
connectedCallback() {
|
||||
super.connectedCallback();
|
||||
|
||||
if (this.data) {
|
||||
this._origins = this.data.items;
|
||||
}
|
||||
}
|
||||
|
||||
#choose(item: ManifestDynamicRootOrigin) {
|
||||
|
||||
@@ -1,28 +1,25 @@
|
||||
import { UmbDocumentTypePickerContext } from '../../documents/document-types/components/input-document-type/input-document-type.context.js';
|
||||
import type { UmbDynamicRootQueryStepModalData } from './index.js';
|
||||
import { UmbId } from '@umbraco-cms/backoffice/id';
|
||||
import { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal';
|
||||
import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
|
||||
import { css, html, customElement, state, ifDefined, repeat } from '@umbraco-cms/backoffice/external/lit';
|
||||
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry';
|
||||
import type { UmbTreePickerDynamicRootQueryStep } from '@umbraco-cms/backoffice/components';
|
||||
import type { ManifestDynamicRootQueryStep } from '@umbraco-cms/backoffice/extension-registry';
|
||||
|
||||
@customElement('umb-dynamic-root-query-step-picker-modal')
|
||||
export class UmbDynamicRootQueryStepPickerModalModalElement extends UmbModalBaseElement {
|
||||
export class UmbDynamicRootQueryStepPickerModalModalElement extends UmbModalBaseElement<UmbDynamicRootQueryStepModalData> {
|
||||
@state()
|
||||
private _querySteps: Array<ManifestDynamicRootQueryStep> = [];
|
||||
|
||||
#documentTypePickerContext = new UmbDocumentTypePickerContext(this);
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
connectedCallback() {
|
||||
super.connectedCallback();
|
||||
|
||||
this.observe(
|
||||
umbExtensionsRegistry.byType('dynamicRootQueryStep'),
|
||||
(querySteps: Array<ManifestDynamicRootQueryStep>) => {
|
||||
this._querySteps = querySteps;
|
||||
},
|
||||
);
|
||||
if (this.data) {
|
||||
this._querySteps = this.data.items;
|
||||
}
|
||||
}
|
||||
|
||||
#choose(item: ManifestDynamicRootQueryStep) {
|
||||
|
||||
Reference in New Issue
Block a user