Skip to content

Commit f16aacf

Browse files
committed
clean up
1 parent 2a241ed commit f16aacf

File tree

8 files changed

+35
-35
lines changed

8 files changed

+35
-35
lines changed

src/packages/documents/documents/rollback/entity-action/manifests.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { UMB_DOCUMENT_ENTITY_TYPE } from '../../entity.js';
22
import { UMB_USER_PERMISSION_DOCUMENT_ROLLBACK } from '../../user-permissions/index.js';
3+
import { UMB_DOCUMENT_WORKSPACE_ALIAS } from '../../workspace/index.js';
34
import { UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS } from '@umbraco-cms/backoffice/recycle-bin';
45
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
56

@@ -24,6 +25,12 @@ export const manifests: Array<ManifestTypes> = [
2425
{
2526
alias: UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS,
2627
},
28+
/* Currently the rollback is tightly coupled to the workspace contexts so we only allow it to show up
29+
In the document workspace. */
30+
{
31+
alias: 'Umb.Condition.WorkspaceAlias',
32+
match: UMB_DOCUMENT_WORKSPACE_ALIAS,
33+
},
2734
],
2835
},
2936
];

src/packages/documents/documents/rollback/entity-action/rollback.action.ts

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,21 @@
1-
import type { UmbEntityActionArgs } from '@umbraco-cms/backoffice/entity-action';
1+
import { UMB_ROLLBACK_MODAL } from '../modal/rollback-modal.token.js';
22
import { UmbEntityActionBase } from '@umbraco-cms/backoffice/entity-action';
3-
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
3+
import { UMB_MODAL_MANAGER_CONTEXT } from '@umbraco-cms/backoffice/modal';
4+
import { UMB_NOTIFICATION_CONTEXT } from '@umbraco-cms/backoffice/notification';
5+
import { UmbLocalizationController } from '@umbraco-cms/backoffice/localization-api';
46

57
export class UmbRollbackDocumentEntityAction extends UmbEntityActionBase<never> {
6-
constructor(host: UmbControllerHost, args: UmbEntityActionArgs<never>) {
7-
super(host, args);
8-
}
8+
#localize = new UmbLocalizationController(this);
99

1010
override async execute() {
11-
debugger;
11+
const modalManagerContext = await this.getContext(UMB_MODAL_MANAGER_CONTEXT);
12+
const modalContext = modalManagerContext.open(this, UMB_ROLLBACK_MODAL, {});
13+
14+
await modalContext.onSubmit();
15+
const notificationContext = await this.getContext(UMB_NOTIFICATION_CONTEXT);
16+
notificationContext.peek('positive', {
17+
data: { message: this.#localize.term('rollback_documentRolledBack') },
18+
});
1219
}
1320
}
1421

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
import { manifests as entityActionManifests } from './entity-action/manifests.js';
22
import { manifests as modalManifests } from './modal/manifests.js';
33
import { manifests as repositoryManifests } from './repository/manifests.js';
4+
import type { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry';
45

5-
export const manifests: Array<UmbExtensionManifest> = [
6-
...entityActionManifests,
7-
...modalManifests,
8-
...repositoryManifests,
9-
];
6+
export const manifests: Array<ManifestTypes> = [...entityActionManifests, ...modalManifests, ...repositoryManifests];
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const UMB_DOCUMENT_WORKSPACE_ALIAS = 'Umb.Workspace.Document';

src/packages/documents/documents/workspace/document-workspace.context.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import {
2626
import { UMB_DOCUMENTS_SECTION_PATH } from '../../section/paths.js';
2727
import { UmbDocumentPreviewRepository } from '../repository/preview/index.js';
2828
import { sortVariants } from '../utils.js';
29-
import { UMB_DOCUMENT_WORKSPACE_ALIAS } from './manifests.js';
29+
import { UMB_DOCUMENT_WORKSPACE_ALIAS } from './constants.js';
3030
import { UmbEntityContext } from '@umbraco-cms/backoffice/entity';
3131
import { UMB_INVARIANT_CULTURE, UmbVariantId } from '@umbraco-cms/backoffice/variant';
3232
import { UmbContentTypeStructureManager } from '@umbraco-cms/backoffice/content-type';
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
export * from './document-workspace.context-token.js';
22
export * from './document-workspace.context.js';
3+
export * from './constants.js';

src/packages/documents/documents/workspace/manifests.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {
44
UMB_USER_PERMISSION_DOCUMENT_PUBLISH,
55
} from '../user-permissions/index.js';
66
import { UMB_DOCUMENT_ENTITY_TYPE } from '../entity.js';
7+
import { UMB_DOCUMENT_WORKSPACE_ALIAS } from './constants.js';
78
import { UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS } from '@umbraco-cms/backoffice/recycle-bin';
89
import type {
910
ManifestWorkspaces,
@@ -14,8 +15,6 @@ import type {
1415
} from '@umbraco-cms/backoffice/extension-registry';
1516
import { UMB_CONTENT_HAS_PROPERTIES_WORKSPACE_CONDITION } from '@umbraco-cms/backoffice/content';
1617

17-
export const UMB_DOCUMENT_WORKSPACE_ALIAS = 'Umb.Workspace.Document';
18-
1918
const workspace: ManifestWorkspaces = {
2019
type: 'workspace',
2120
kind: 'routable',
@@ -41,7 +40,7 @@ const workspaceViews: Array<ManifestWorkspaceView> = [
4140
conditions: [
4241
{
4342
alias: 'Umb.Condition.WorkspaceAlias',
44-
match: workspace.alias,
43+
match: UMB_DOCUMENT_WORKSPACE_ALIAS,
4544
},
4645
{
4746
alias: 'Umb.Condition.WorkspaceHasCollection',
@@ -62,7 +61,7 @@ const workspaceViews: Array<ManifestWorkspaceView> = [
6261
conditions: [
6362
{
6463
alias: 'Umb.Condition.WorkspaceAlias',
65-
match: workspace.alias,
64+
match: UMB_DOCUMENT_WORKSPACE_ALIAS,
6665
},
6766
{
6867
alias: UMB_CONTENT_HAS_PROPERTIES_WORKSPACE_CONDITION,
@@ -83,7 +82,7 @@ const workspaceViews: Array<ManifestWorkspaceView> = [
8382
conditions: [
8483
{
8584
alias: 'Umb.Condition.WorkspaceAlias',
86-
match: workspace.alias,
85+
match: UMB_DOCUMENT_WORKSPACE_ALIAS,
8786
},
8887
],
8988
},
@@ -105,7 +104,7 @@ const workspaceActions: Array<ManifestWorkspaceActions> = [
105104
conditions: [
106105
{
107106
alias: 'Umb.Condition.WorkspaceAlias',
108-
match: workspace.alias,
107+
match: UMB_DOCUMENT_WORKSPACE_ALIAS,
109108
},
110109
{
111110
alias: UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS,
@@ -127,7 +126,7 @@ const workspaceActions: Array<ManifestWorkspaceActions> = [
127126
conditions: [
128127
{
129128
alias: 'Umb.Condition.WorkspaceAlias',
130-
match: workspace.alias,
129+
match: UMB_DOCUMENT_WORKSPACE_ALIAS,
131130
},
132131
{
133132
alias: UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS,
@@ -147,7 +146,7 @@ const workspaceActions: Array<ManifestWorkspaceActions> = [
147146
conditions: [
148147
{
149148
alias: 'Umb.Condition.WorkspaceAlias',
150-
match: workspace.alias,
149+
match: UMB_DOCUMENT_WORKSPACE_ALIAS,
151150
},
152151
{
153152
alias: UMB_ENTITY_IS_NOT_TRASHED_CONDITION_ALIAS,

src/packages/documents/documents/workspace/views/info/document-workspace-view-info-history.element.ts

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -66,16 +66,6 @@ export class UmbDocumentWorkspaceViewInfoHistoryElement extends UmbLitElement {
6666
this.#requestAuditLogs();
6767
}
6868

69-
#onRollbackModalOpen = async () => {
70-
const modalManagerContext = await this.getContext(UMB_MODAL_MANAGER_CONTEXT);
71-
const modalContext = modalManagerContext.open(this, UMB_ROLLBACK_MODAL, {});
72-
73-
await modalContext.onSubmit();
74-
// TODO: This notification won't actually show at the moment because we perform a full page reload after rollback. However, when we can do it without a full page reload, this should be used.
75-
const notificationContext = await this.getContext(UMB_NOTIFICATION_CONTEXT);
76-
notificationContext.peek('positive', { data: { message: this.localize.term('rollback_documentRolledBack') } });
77-
};
78-
7969
async #requestAndCacheUserItems() {
8070
const allUsers = this._items?.map((item) => item.user.unique).filter(Boolean) as string[];
8171
const uniqueUsers = [...new Set(allUsers)];
@@ -98,12 +88,10 @@ export class UmbDocumentWorkspaceViewInfoHistoryElement extends UmbLitElement {
9888
override render() {
9989
return html`<uui-box>
10090
<umb-localize slot="headline" key="general_history">History</umb-localize>
101-
<uui-button
91+
<umb-extension-with-api-slot
10292
slot="header-actions"
103-
label=${this.localize.term('actions_rollback')}
104-
look="secondary"
105-
@click=${this.#onRollbackModalOpen}>
106-
<uui-icon name="icon-undo"></uui-icon> ${this.localize.term('actions_rollback')}
93+
type="entityAction"
94+
.filter=${(manifest: any) => manifest.alias === 'Umb.EntityAction.Document.Rollback'}></umb-extension-with-api-slot>
10795
</uui-button>
10896
${this._items ? this.#renderHistory() : html`<uui-loader-circle></uui-loader-circle> `}
10997
${this.#renderPagination()}

0 commit comments

Comments
 (0)