Update workspace.element.ts
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user