headline for modal
This commit is contained in:
@@ -1,7 +1,8 @@
|
|||||||
import { UmbModalToken } from '@umbraco-cms/backoffice/modal';
|
import { UmbModalToken } from '@umbraco-cms/backoffice/modal';
|
||||||
|
|
||||||
export interface UmbAllowedDocumentTypesModalData {
|
export interface UmbAllowedDocumentTypesModalData {
|
||||||
id: string | null;
|
parentId: string | null;
|
||||||
|
parentName?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface UmbAllowedDocumentTypesModalResult {
|
export interface UmbAllowedDocumentTypesModalResult {
|
||||||
|
|||||||
@@ -15,12 +15,23 @@ export class UmbAllowedDocumentTypesModalElement extends UmbModalBaseElement<
|
|||||||
@state()
|
@state()
|
||||||
private _allowedDocumentTypes: DocumentTypeTreeItemResponseModel[] = [];
|
private _allowedDocumentTypes: DocumentTypeTreeItemResponseModel[] = [];
|
||||||
|
|
||||||
|
@state()
|
||||||
|
private _headline?: string;
|
||||||
|
|
||||||
public connectedCallback() {
|
public connectedCallback() {
|
||||||
super.connectedCallback();
|
super.connectedCallback();
|
||||||
// TODO: Support root aka. id of null? or maybe its an active prop, like 'atRoot'.
|
|
||||||
// TODO: show error
|
const parentName = this.data?.parentName;
|
||||||
if (this.data?.id) {
|
if (parentName) {
|
||||||
this._retrieveAllowedChildrenOf(this.data.id);
|
this._headline = `Create at '${parentName}'`;
|
||||||
|
} else {
|
||||||
|
this._headline = `Create`;
|
||||||
|
}
|
||||||
|
if (this.data?.parentId) {
|
||||||
|
// TODO: Support root aka. id of null? or maybe its an active prop, like 'atRoot'.
|
||||||
|
// TODO: show error
|
||||||
|
|
||||||
|
this._retrieveAllowedChildrenOf(this.data.parentId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -46,7 +57,7 @@ export class UmbAllowedDocumentTypesModalElement extends UmbModalBaseElement<
|
|||||||
|
|
||||||
render() {
|
render() {
|
||||||
return html`
|
return html`
|
||||||
<umb-body-layout headline="Create">
|
<umb-body-layout headline=${this._headline}>
|
||||||
<uui-box>
|
<uui-box>
|
||||||
${this._allowedDocumentTypes.length === 0 ? html`<p>No allowed types</p>` : nothing}
|
${this._allowedDocumentTypes.length === 0 ? html`<p>No allowed types</p>` : nothing}
|
||||||
${this._allowedDocumentTypes.map(
|
${this._allowedDocumentTypes.map(
|
||||||
|
|||||||
@@ -34,7 +34,8 @@ export class UmbCreateDocumentEntityAction extends UmbEntityActionBase<UmbDocume
|
|||||||
const { data } = await this.repository.requestById(this.unique);
|
const { data } = await this.repository.requestById(this.unique);
|
||||||
|
|
||||||
if (data && data.contentTypeId) {
|
if (data && data.contentTypeId) {
|
||||||
this._openModal(data.contentTypeId);
|
// TODO: We need to get the APP language context, use its VariantId to retrieve the right variant. The variant of which we get the name from.
|
||||||
|
this._openModal(data.contentTypeId, data.variants?.[0]?.name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -42,10 +43,11 @@ export class UmbCreateDocumentEntityAction extends UmbEntityActionBase<UmbDocume
|
|||||||
this._openModal(null);
|
this._openModal(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async _openModal(documentId: string | null) {
|
private async _openModal(parentId: string | null, parentName?: string) {
|
||||||
if (!this.#modalContext) return;
|
if (!this.#modalContext) return;
|
||||||
const modalHandler = this.#modalContext.open(UMB_ALLOWED_DOCUMENT_TYPES_MODAL, {
|
const modalHandler = this.#modalContext.open(UMB_ALLOWED_DOCUMENT_TYPES_MODAL, {
|
||||||
id: documentId,
|
parentId: parentId,
|
||||||
|
parentName: parentName,
|
||||||
});
|
});
|
||||||
|
|
||||||
const { documentTypeKey } = await modalHandler.onSubmit();
|
const { documentTypeKey } = await modalHandler.onSubmit();
|
||||||
|
|||||||
Reference in New Issue
Block a user