Update workspace.element.ts

This commit is contained in:
Mads Rasmussen
2024-09-17 15:21:09 +02:00
parent 027fc5406d
commit 2d19efdc99

View File

@@ -1,9 +1,7 @@
import { UMB_DISCARD_CHANGES_MODAL } from '../modal/common/discard-changes/discard-changes-modal.tokent.js';
import { html, nothing, customElement, property } from '@umbraco-cms/backoffice/external/lit';
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';
import type { ManifestWorkspace } from '@umbraco-cms/backoffice/workspace';
import type { UmbApiConstructorArgumentsMethodType } from '@umbraco-cms/backoffice/extension-api';
import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal';
const apiArgsCreator: UmbApiConstructorArgumentsMethodType<unknown> = (manifest: unknown) => {
return [{ manifest }];
@@ -14,31 +12,6 @@ export class UmbWorkspaceElement extends UmbLitElement {
@property({ type: String, attribute: 'entity-type' })
entityType = '';
constructor() {
super();
window.addEventListener(
'willchangestate',
async (e) => {
// prevent the navigation
e.preventDefault();
const modalManager = await this.getContext(UMB_MODAL_MANAGER_CONTEXT);
const modal = modalManager.open(this, UMB_DISCARD_CHANGES_MODAL);
try {
// navigate to the new url when discarding changes
await modal.onSubmit();
history.pushState({}, '', e.detail.url);
return true;
} catch {
return false;
}
},
{ once: true },
);
}
override render() {
if (!this.entityType) return nothing;
return html`<umb-extension-with-api-slot