Skip to content

Commit c54a64c

Browse files
Merge pull request #2337 from umbraco/v15/feature/discard-changes
Feature: Discard changes
2 parents c1dc5e2 + ee06f4c commit c54a64c

26 files changed

+622
-315
lines changed

src/assets/lang/en-us.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -447,8 +447,7 @@ export default {
447447
stay: 'Stay',
448448
discardChanges: 'Discard changes',
449449
unsavedChanges: 'You have unsaved changes',
450-
unsavedChangesWarning:
451-
'Are you sure you want to navigate away from this page? - you have unsaved\n changes\n ',
450+
unsavedChangesWarning: 'Are you sure you want to navigate away from this page? You have unsaved changes',
452451
confirmListViewPublish: 'Publishing will make the selected items visible on the site.',
453452
confirmListViewUnpublish:
454453
'Unpublishing will remove the selected items and all their descendants from the\n site.\n ',
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1-
export * from './confirm-modal.token.js';
21
export * from './confirm-modal.controller.js';
2+
export * from './confirm-modal.element.js';
3+
export * from './confirm-modal.token.js';
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import { UmbModalBaseElement } from '../../component/modal-base.element.js';
2+
import { html, customElement } from '@umbraco-cms/backoffice/external/lit';
3+
import { UmbTextStyles } from '@umbraco-cms/backoffice/style';
4+
5+
@customElement('umb-discard-changes-modal')
6+
export class UmbDiscardChangesModalElement extends UmbModalBaseElement {
7+
override render() {
8+
return html`
9+
<uui-dialog-layout class="uui-text" headline=${this.localize.term('prompt_unsavedChanges')}>
10+
<umb-localize key="prompt_unsavedChangesWarning"></umb-localize>
11+
<uui-button
12+
slot="actions"
13+
id="cancel"
14+
label=${this.localize.term('prompt_stay')}
15+
@click=${this._rejectModal}></uui-button>
16+
<uui-button
17+
slot="actions"
18+
id="confirm"
19+
color="positive"
20+
look="primary"
21+
label=${this.localize.term('prompt_discardChanges')}
22+
@click=${this._submitModal}></uui-button>
23+
</uui-dialog-layout>
24+
`;
25+
}
26+
27+
static override styles = [UmbTextStyles];
28+
}
29+
30+
export { UmbDiscardChangesModalElement as element };
31+
32+
declare global {
33+
interface HTMLElementTagNameMap {
34+
'umb-discard-changes-modal': UmbDiscardChangesModalElement;
35+
}
36+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { UmbModalToken } from '../../token/index.js';
2+
3+
export const UMB_DISCARD_CHANGES_MODAL = new UmbModalToken('Umb.Modal.DiscardChanges', {
4+
modal: {
5+
type: 'dialog',
6+
},
7+
});
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export * from './discard-changes-modal.element.js';
2+
export * from './discard-changes-modal.tokent.js';
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
export const manifests: Array<UmbExtensionManifest> = [
2+
{
3+
type: 'modal',
4+
alias: 'Umb.Modal.DiscardChanges',
5+
name: 'Discard Changes Modal',
6+
element: () => import('./discard-changes-modal.element.js'),
7+
},
8+
];
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
export * from './confirm/index.js';
2+
export * from './discard-changes/index.js';
23
export * from './item-picker/index.js';
Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
import { manifests as confirmManifests } from './confirm/manifests.js';
2+
import { manifests as discardChangesManifests } from './discard-changes/manifests.js';
23
import { manifests as itemPickerManifests } from './item-picker/manifests.js';
34

4-
export const manifests: Array<UmbExtensionManifest> = [...confirmManifests, ...itemPickerManifests];
5+
export const manifests: Array<UmbExtensionManifest> = [
6+
...confirmManifests,
7+
...discardChangesManifests,
8+
...itemPickerManifests,
9+
];

src/packages/core/modal/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import './component/modal.element.js';
22

3+
export * from './common/index.js';
4+
export * from './component/modal-base.element.js';
5+
export * from './component/modal.element.js';
36
export * from './context/index.js';
47
export * from './token/index.js';
58
export * from './types.js';
6-
export * from './component/modal-base.element.js';
7-
export * from './component/modal.element.js';
8-
export * from './common/index.js';
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
export * from './default-workspace.context.js';
2-
export * from './submittable-workspace-context-base.js';
32
export * from './tokens/index.js';

0 commit comments

Comments
 (0)