mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2026-09-09 18:02:54 +00:00
[ACA-2047] navigate to restored library content folder (#836)
This commit is contained in:
committed by
Denys Vuika
parent
6e0bfe8187
commit
9b717c2743
@@ -36,6 +36,7 @@ import {
|
|||||||
SNACKBAR_WARNING,
|
SNACKBAR_WARNING,
|
||||||
PurgeDeletedNodesAction,
|
PurgeDeletedNodesAction,
|
||||||
RestoreDeletedNodesAction,
|
RestoreDeletedNodesAction,
|
||||||
|
NavigateToParentFolder,
|
||||||
NavigateRouteAction,
|
NavigateRouteAction,
|
||||||
NAVIGATE_ROUTE,
|
NAVIGATE_ROUTE,
|
||||||
DeleteNodesAction,
|
DeleteNodesAction,
|
||||||
@@ -1205,6 +1206,45 @@ describe('ContentManagementService', () => {
|
|||||||
expect(contentApi.restoreNode).toHaveBeenCalled();
|
expect(contentApi.restoreNode).toHaveBeenCalled();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
it('should navigate to library folder when node is a library content', fakeAsync(() => {
|
||||||
|
spyOn(store, 'dispatch').and.callThrough();
|
||||||
|
spyOn(contentApi, 'restoreNode').and.returnValue(of({}));
|
||||||
|
spyOn(contentApi, 'getDeletedNodes').and.returnValue(
|
||||||
|
of({
|
||||||
|
list: { entries: [] }
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
const path = {
|
||||||
|
elements: [
|
||||||
|
{
|
||||||
|
id: '1-1',
|
||||||
|
name: 'Company Home'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '1-2',
|
||||||
|
name: 'Sites'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
|
||||||
|
const selection = [
|
||||||
|
{
|
||||||
|
entry: {
|
||||||
|
id: '1',
|
||||||
|
path
|
||||||
|
}
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
store.dispatch(new RestoreDeletedNodesAction(selection));
|
||||||
|
|
||||||
|
expect(
|
||||||
|
store.dispatch['calls'].argsFor(1)[0].userAction.action instanceof
|
||||||
|
NavigateToParentFolder
|
||||||
|
).toBe(true);
|
||||||
|
}));
|
||||||
|
|
||||||
describe('refresh()', () => {
|
describe('refresh()', () => {
|
||||||
it('dispatch event on finish', fakeAsync(done => {
|
it('dispatch event on finish', fakeAsync(done => {
|
||||||
spyOn(contentApi, 'restoreNode').and.returnValue(of({}));
|
spyOn(contentApi, 'restoreNode').and.returnValue(of({}));
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ import {
|
|||||||
SnackbarAction,
|
SnackbarAction,
|
||||||
SnackbarWarningAction,
|
SnackbarWarningAction,
|
||||||
NavigateRouteAction,
|
NavigateRouteAction,
|
||||||
|
NavigateToParentFolder,
|
||||||
SnackbarUserAction,
|
SnackbarUserAction,
|
||||||
UndoDeleteNodesAction,
|
UndoDeleteNodesAction,
|
||||||
SetSelectedNodesAction
|
SetSelectedNodesAction
|
||||||
@@ -874,9 +875,17 @@ export class ContentManagementService {
|
|||||||
const isSite = this.isSite(status.success[0].entry);
|
const isSite = this.isSite(status.success[0].entry);
|
||||||
const path: PathInfoEntity = status.success[0].entry.path;
|
const path: PathInfoEntity = status.success[0].entry.path;
|
||||||
const parent = path.elements[path.elements.length - 1];
|
const parent = path.elements[path.elements.length - 1];
|
||||||
const route = isSite ? ['/libraries'] : ['/personal-files', parent.id];
|
const route = isSite
|
||||||
|
? ['/libraries', parent.id]
|
||||||
|
: ['/personal-files', parent.id];
|
||||||
|
|
||||||
const navigate = new NavigateRouteAction(route);
|
let navigate;
|
||||||
|
|
||||||
|
if (this.isLibraryContent(path)) {
|
||||||
|
navigate = new NavigateToParentFolder(status.success[0]);
|
||||||
|
} else {
|
||||||
|
navigate = new NavigateRouteAction(route);
|
||||||
|
}
|
||||||
|
|
||||||
message.userAction = new SnackbarUserAction(
|
message.userAction = new SnackbarUserAction(
|
||||||
'APP.ACTIONS.VIEW',
|
'APP.ACTIONS.VIEW',
|
||||||
@@ -892,6 +901,18 @@ export class ContentManagementService {
|
|||||||
return entry.nodeType === 'st:site';
|
return entry.nodeType === 'st:site';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private isLibraryContent(path: PathInfoEntity): boolean {
|
||||||
|
if (
|
||||||
|
path &&
|
||||||
|
path.elements.length >= 2 &&
|
||||||
|
path.elements[1].name === 'Sites'
|
||||||
|
) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private getRestoreMessage(status: DeleteStatus): SnackbarAction {
|
private getRestoreMessage(status: DeleteStatus): SnackbarAction {
|
||||||
if (status.someFailed && !status.oneFailed) {
|
if (status.someFailed && !status.oneFailed) {
|
||||||
return new SnackbarErrorAction(
|
return new SnackbarErrorAction(
|
||||||
|
|||||||
Reference in New Issue
Block a user