use slotchange callback + clean up
This commit is contained in:
@@ -33,12 +33,13 @@ export class UmbWorkspaceSplitViewElement extends UmbLitElement {
|
||||
|
||||
@state()
|
||||
private _variantSelectorSlotHasContent = false;
|
||||
private _variantSelectorSlotChanged = (e: Event) => {
|
||||
this._variantSelectorSlotHasContent = (e.target as HTMLSlotElement).assignedNodes({ flatten: true }).length > 0;
|
||||
};
|
||||
|
||||
splitViewContext = new UmbWorkspaceSplitViewContext(this);
|
||||
|
||||
#onVariantSelectorSlotChanged(e: Event) {
|
||||
this._variantSelectorSlotHasContent = (e.target as HTMLSlotElement).assignedNodes({ flatten: true }).length > 0;
|
||||
}
|
||||
|
||||
override render() {
|
||||
return html`
|
||||
<umb-workspace-editor
|
||||
@@ -46,7 +47,7 @@ export class UmbWorkspaceSplitViewElement extends UmbLitElement {
|
||||
back-path=${ifDefined(this.backPath)}
|
||||
.hideNavigation=${!this.displayNavigation}
|
||||
.enforceNoFooter=${true}>
|
||||
<slot id="header" name="variant-selector" slot="header">
|
||||
<slot id="header" name="variant-selector" slot="header" @slotchange=${this.#onVariantSelectorSlotChanged}>
|
||||
${this._variantSelectorSlotHasContent
|
||||
? nothing
|
||||
: html`<umb-workspace-split-view-variant-selector></umb-workspace-split-view-variant-selector>`}
|
||||
|
||||
@@ -2,7 +2,6 @@ import type { UmbDocumentVariantOptionModel } from '../types.js';
|
||||
import { sortVariants } from '../utils.js';
|
||||
import { customElement, html } from '@umbraco-cms/backoffice/external/lit';
|
||||
import { DocumentVariantStateModel } from '@umbraco-cms/backoffice/external/backend-api';
|
||||
import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
|
||||
import { UmbWorkspaceSplitViewVariantSelectorElement } from '@umbraco-cms/backoffice/workspace';
|
||||
|
||||
const elementName = 'umb-document-workspace-split-view-variant-selector';
|
||||
@@ -22,8 +21,6 @@ export class UmbDocumentWorkspaceSplitViewVariantSelectorElement extends UmbWork
|
||||
this.#publishStateLocalizationMap[variantOption.variant?.state || DocumentVariantStateModel.NOT_CREATED],
|
||||
)}`;
|
||||
}
|
||||
|
||||
static override styles = [...UmbWorkspaceSplitViewVariantSelectorElement.styles, UmbTextStyles];
|
||||
}
|
||||
|
||||
declare global {
|
||||
|
||||
Reference in New Issue
Block a user