dont insert partialviews in partialviews

This commit is contained in:
Lone Iversen
2024-04-24 13:29:15 +02:00
committed by Jacob Overgaard
parent d38a87e319
commit 296a46c78f
3 changed files with 30 additions and 20 deletions

View File

@@ -18,6 +18,9 @@ export class UmbTemplatingInsertMenuElement extends UmbLitElement {
@property()
value = '';
@property({ type: Boolean })
hidePartialViews = false;
#modalContext?: UmbModalManagerContext;
#dictionaryDetailRepository = new UmbDictionaryDetailRepository(this);
@@ -58,7 +61,9 @@ export class UmbTemplatingInsertMenuElement extends UmbLitElement {
}
async #openTemplatingItemPickerModal() {
const itemPickerContext = this.#modalContext?.open(this, UMB_TEMPLATING_ITEM_PICKER_MODAL);
const itemPickerContext = this.#modalContext?.open(this, UMB_TEMPLATING_ITEM_PICKER_MODAL, {
data: { hidePartialViews: this.hidePartialViews },
});
const result = await itemPickerContext?.onSubmit().catch(() => undefined);
if (result === undefined) return;
@@ -135,12 +140,14 @@ export class UmbTemplatingInsertMenuElement extends UmbLitElement {
label=${this.localize.term('template_insertPageField')}
title=${this.localize.term('template_insertPageField')}
@click=${this.#openPageFieldBuilderModal}></uui-menu-item>
<uui-menu-item
class="insert-menu-item"
label=${this.localize.term('template_insertPartialView')}
title=${this.localize.term('template_insertPartialView')}
@click=${this.#openPartialViewPickerModal}>
</uui-menu-item>
${!this.hidePartialViews
? html`<uui-menu-item
class="insert-menu-item"
label=${this.localize.term('template_insertPartialView')}
title=${this.localize.term('template_insertPartialView')}
@click=${this.#openPartialViewPickerModal}>
</uui-menu-item>`
: ''}
<uui-menu-item
class="insert-menu-item"
label=${this.localize.term('template_insertDictionaryItem')}

View File

@@ -106,18 +106,20 @@ export class UmbTemplatingItemPickerModalElement extends UmbModalBaseElement<
</umb-localize>
</p>
</uui-button>
<uui-button
@click=${this.#openPartialViewPickerModal}
look="placeholder"
label=${this.localize.term('template_insert')}>
<h3><umb-localize key="template_insertPartialView">Partial view</umb-localize></h3>
<p>
<umb-localize key="template_insertPartialViewDesc">
A partial view is a separate template file which can be rendered inside another template, it's great for
reusing markup or for separating complex templates into separate files.
</umb-localize>
</p>
</uui-button>
${!this.data?.hidePartialViews
? html`<uui-button
@click=${this.#openPartialViewPickerModal}
look="placeholder"
label=${this.localize.term('template_insert')}>
<h3><umb-localize key="template_insertPartialView">Partial view</umb-localize></h3>
<p>
<umb-localize key="template_insertPartialViewDesc">
A partial view is a separate template file which can be rendered inside another template, it's great for
reusing markup or for separating complex templates into separate files.
</umb-localize>
</p>
</uui-button>`
: ''}
<uui-button
@click=${this.#openDictionaryItemPickerModal}
look="placeholder"

View File

@@ -102,7 +102,7 @@ export class UmbPartialViewWorkspaceEditorElement extends UmbLitElement {
</div>
<uui-box>
<div slot="header" id="code-editor-menu-container">
<umb-templating-insert-menu @insert=${this.#insertSnippet}></umb-templating-insert-menu>
<umb-templating-insert-menu @insert=${this.#insertSnippet} hidePartialViews></umb-templating-insert-menu>
<uui-button
look="secondary"
id="query-builder-button"
@@ -183,6 +183,7 @@ export class UmbPartialViewWorkspaceEditorElement extends UmbLitElement {
display: flex;
justify-content: flex-end;
gap: var(--uui-size-space-3);
width: 100%;
}
`,
];