diff --git a/e2e/components/menu/menu.ts b/e2e/components/menu/menu.ts index 3afdd87c3..a805a1f6b 100755 --- a/e2e/components/menu/menu.ts +++ b/e2e/components/menu/menu.ts @@ -37,7 +37,7 @@ export class Menu extends Component { submenu: 'app-context-menu-item .mat-menu-item', - editFolder: `app.context.menu.editFolder`, + editFolder: `.mat-menu-item[id$='editFolder']`, editOffline: `.mat-menu-item[title='Edit offline']`, cancelEditing: `.mat-menu-item[title='Cancel editing']` }; @@ -54,7 +54,7 @@ export class Menu extends Component { createLibraryAction: ElementFinder = this.component.element(by.cssContainingText(Menu.selectors.item, 'Create Library')); deleteAction: ElementFinder = this.component.element(by.cssContainingText(Menu.selectors.item, 'Delete')); downloadAction: ElementFinder = this.component.element(by.cssContainingText(Menu.selectors.item, 'Download')); - editFolderAction: ElementFinder = this.component.element(by.id(Menu.selectors.editFolder)); + editFolderAction: ElementFinder = this.component.element(by.css(Menu.selectors.editFolder)); editOfflineAction: ElementFinder = this.component.element(by.css(Menu.selectors.editOffline)); favoriteAction: ElementFinder = this.component.element(by.cssContainingText(Menu.selectors.item, 'Favorite')); joinAction: ElementFinder = this.component.element(by.cssContainingText(Menu.selectors.item, 'Join')); @@ -196,6 +196,9 @@ export class Menu extends Component { return this.uploadFiles; } + async clickEditFolder() { + return await this.editFolderAction.click(); + } async clickShare() { const action = this.shareAction; diff --git a/e2e/suites/actions/edit-folder.test.ts b/e2e/suites/actions/edit-folder.test.ts index df86932df..47ab9df03 100755 --- a/e2e/suites/actions/edit-folder.test.ts +++ b/e2e/suites/actions/edit-folder.test.ts @@ -111,7 +111,8 @@ describe('Edit folder', () => { it('dialog UI defaults - [C216331]', async () => { await dataTable.doubleClickOnRowByName(parent); await dataTable.selectItem(folderName); - await toolbar.clickEditFolder(); + await toolbar.openMoreMenu(); + await toolbar.menu.clickEditFolder(); expect(await editDialog.getTitle()).toEqual('Edit folder'); expect(await editDialog.getName()).toBe(folderName); @@ -130,7 +131,8 @@ describe('Edit folder', () => { it('properties are modified when pressing OK - [C216335]', async (done) => { await dataTable.selectItem(folderNameToEdit); - await toolbar.clickEditFolder(); + await toolbar.openMoreMenu(); + await toolbar.menu.clickEditFolder(); await editDialog.waitForDialogToOpen(); await editDialog.enterDescription(folderDescriptionEdited); await editDialog.enterName(folderNameEdited); @@ -146,7 +148,8 @@ describe('Edit folder', () => { it('with empty folder name - [C216332]', async () => { await dataTable.selectItem(folderName); - await toolbar.clickEditFolder(); + await toolbar.openMoreMenu(); + await toolbar.menu.clickEditFolder(); await editDialog.deleteNameWithBackspace(); expect(await editDialog.isUpdateButtonEnabled()).toBe(false, 'upload button is not enabled'); @@ -157,7 +160,8 @@ describe('Edit folder', () => { const namesWithSpecialChars = [ 'a*a', 'a"a', 'aa', `a\\a`, 'a/a', 'a?a', 'a:a', 'a|a' ]; await dataTable.selectItem(folderName); - await toolbar.clickEditFolder(); + await toolbar.openMoreMenu(); + await toolbar.menu.clickEditFolder(); for (const name of namesWithSpecialChars) { await editDialog.enterName(name); @@ -168,7 +172,8 @@ describe('Edit folder', () => { it('with name ending with a dot - [C216334]', async () => { await dataTable.selectItem(folderName); - await toolbar.clickEditFolder(); + await toolbar.openMoreMenu(); + await toolbar.menu.clickEditFolder(); await editDialog.waitForDialogToOpen(); await editDialog.nameInput.sendKeys('.'); @@ -178,7 +183,8 @@ describe('Edit folder', () => { it('Cancel button - [C216336]', async () => { await dataTable.selectItem(folderName); - await toolbar.clickEditFolder(); + await toolbar.openMoreMenu(); + await toolbar.menu.clickEditFolder(); await editDialog.waitForDialogToOpen(); await editDialog.clickCancel(); @@ -187,7 +193,8 @@ describe('Edit folder', () => { it('with duplicate folder name - [C216337]', async () => { await dataTable.selectItem(folderName); - await toolbar.clickEditFolder(); + await toolbar.openMoreMenu(); + await toolbar.menu.clickEditFolder(); await editDialog.waitForDialogToOpen(); await editDialog.enterName(duplicateFolderName); await editDialog.clickUpdate(); @@ -198,7 +205,8 @@ describe('Edit folder', () => { it('trim ending spaces - [C216338]', async () => { await dataTable.selectItem(folderName); - await toolbar.clickEditFolder(); + await toolbar.openMoreMenu(); + await toolbar.menu.clickEditFolder(); await editDialog.nameInput.sendKeys(' '); await editDialog.clickUpdate(); await editDialog.waitForDialogToClose(); @@ -216,7 +224,8 @@ describe('Edit folder', () => { it('properties are modified when pressing OK - [C280384]', async (done) => { await dataTable.selectItem(folderFavoriteToEdit); - await toolbar.clickEditFolder(); + await toolbar.openMoreMenu(); + await toolbar.menu.clickEditFolder(); await editDialog.waitForDialogToOpen(); await editDialog.enterDescription(folderDescriptionEdited); await editDialog.enterName(folderNameEdited); @@ -232,7 +241,8 @@ describe('Edit folder', () => { it('with duplicate folder name - [C280386]', async () => { await dataTable.selectItem(folderFavorite); - await toolbar.clickEditFolder(); + await toolbar.openMoreMenu(); + await toolbar.menu.clickEditFolder(); await editDialog.waitForDialogToOpen(); await editDialog.enterName(folderFavoriteDuplicate); await editDialog.clickUpdate(); @@ -251,7 +261,8 @@ describe('Edit folder', () => { it('properties are modified when pressing OK - [C280509]', async (done) => { await dataTable.selectItem(folderSiteToEdit); - await toolbar.clickEditFolder(); + await toolbar.openMoreMenu(); + await toolbar.menu.clickEditFolder(); await editDialog.waitForDialogToOpen(); await editDialog.enterDescription(folderDescriptionEdited); await editDialog.enterName(folderNameEdited); @@ -267,7 +278,8 @@ describe('Edit folder', () => { it('with duplicate folder name - [C280511]', async () => { await dataTable.selectItem(folderSite); - await toolbar.clickEditFolder(); + await toolbar.openMoreMenu(); + await toolbar.menu.clickEditFolder(); await editDialog.waitForDialogToOpen(); await editDialog.enterName(duplicateFolderSite); await editDialog.clickUpdate(); diff --git a/e2e/suites/actions/special-permissions-available-actions.test.ts b/e2e/suites/actions/special-permissions-available-actions.test.ts index 242dee3d0..3646124e4 100755 --- a/e2e/suites/actions/special-permissions-available-actions.test.ts +++ b/e2e/suites/actions/special-permissions-available-actions.test.ts @@ -392,12 +392,12 @@ describe('Granular permissions available actions : ', () => { expect(await toolbar.isViewPresent()).toBe(false, `View is not displayed for ${folder1}`); expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${folder1}`); expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${folder1}`); - // TODO: change expect to false when ACA-1737 is done - expect(await toolbar.isEditFolderPresent()).toBe(true, `Edit folder is displayed for ${folder1}`); expect(await toolbar.isSharePresent()).toBe(false, `Share is displayed`); await toolbar.openMoreMenu(); + // TODO: change expect to false when ACA-1737 is done + expect(await toolbar.menu.isEditFolderPresent()).toBe(true, `Edit folder is displayed for ${folder1}`); expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${folder1}`); expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${folder1}`); expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${folder1}`); diff --git a/e2e/suites/actions/toolbar-single-selection.test.ts b/e2e/suites/actions/toolbar-single-selection.test.ts index 7386e3dde..565339c04 100755 --- a/e2e/suites/actions/toolbar-single-selection.test.ts +++ b/e2e/suites/actions/toolbar-single-selection.test.ts @@ -182,10 +182,10 @@ describe('Toolbar actions - single selection : ', () => { expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${folderUser}`); expect(await toolbar.isViewPresent()).toBe(false, `View is displayed for ${folderUser}`); expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not enabled for ${folderUser}`); - expect(await toolbar.isEditFolderPresent()).toBe(true, `Edit folder is not displayed for ${folderUser}`); await toolbar.openMoreMenu(); + expect(await toolbar.menu.isEditFolderPresent()).toBe(true, `Edit folder is not displayed for ${folderUser}`); expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${folderUser}`); expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${folderUser}`); expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${folderUser}`); @@ -264,10 +264,10 @@ describe('Toolbar actions - single selection : ', () => { expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${folderInSite}`); expect(await toolbar.isViewPresent()).toBe(false, `View is displayed for ${folderInSite}`); expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not enabled for ${folderInSite}`); - expect(await toolbar.isEditFolderPresent()).toBe(true, `Edit folder is not displayed for ${folderInSite}`); await toolbar.openMoreMenu(); + expect(await toolbar.menu.isEditFolderPresent()).toBe(true, `Edit folder is not displayed for ${folderInSite}`); expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${folderInSite}`); expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${folderInSite}`); expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${folderInSite}`); @@ -599,10 +599,10 @@ describe('Toolbar actions - single selection : ', () => { expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${folderUser}`); expect(await toolbar.isViewPresent()).toBe(false, `View is displayed for ${folderUser}`); expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not enabled for ${folderUser}`); - expect(await toolbar.isEditFolderPresent()).toBe(true, `Edit folder is not displayed for ${folderUser}`); await toolbar.openMoreMenu(); + expect(await toolbar.menu.isEditFolderPresent()).toBe(true, `Edit folder is not displayed for ${folderUser}`); expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${folderUser}`); expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${folderUser}`); expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${folderUser}`); @@ -725,10 +725,10 @@ describe('Toolbar actions - single selection : ', () => { expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${folderUser}`); expect(await toolbar.isViewPresent()).toBe(false, `View is displayed for ${folderUser}`); expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not enabled for ${folderUser}`); - expect(await toolbar.isEditFolderPresent()).toBe(true, `Edit folder is not displayed for ${folderUser}`); await toolbar.openMoreMenu(); + expect(await toolbar.menu.isEditFolderPresent()).toBe(true, `Edit folder is not displayed for ${folderUser}`); expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${folderUser}`); expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${folderUser}`); expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${folderUser}`); diff --git a/src/app/ui/overrides/adf-toolbar.theme.scss b/src/app/ui/overrides/adf-toolbar.theme.scss index 97356587a..b9b573faf 100644 --- a/src/app/ui/overrides/adf-toolbar.theme.scss +++ b/src/app/ui/overrides/adf-toolbar.theme.scss @@ -1,6 +1,10 @@ @mixin adf-toolbar-theme($theme) { $foreground: map-get($theme, foreground); + .app-toolbar-menu-item:last-child > .mat-divider-horizontal { + display: none; + } + .adf-viewer { .adf-toolbar { .mat-toolbar { diff --git a/src/assets/app.extensions.json b/src/assets/app.extensions.json index 3e352449f..25e1170b6 100644 --- a/src/assets/app.extensions.json +++ b/src/assets/app.extensions.json @@ -456,18 +456,6 @@ "visible": "app.toolbar.canDownload" } }, - { - "id": "app.toolbar.editFolder", - "order": 250, - "title": "APP.ACTIONS.EDIT", - "icon": "create", - "actions": { - "click": "EDIT_FOLDER" - }, - "rules": { - "visible": "app.toolbar.canEditFolder" - } - }, { "id": "app.toolbar.purgeDeletedNodes", "order": 400, @@ -552,11 +540,28 @@ "visible": "app.toolbar.canToggleLock" } }, + { + "id": "app.toolbar.uploadNodeVersion", + "order": 200, + "title": "APP.ACTIONS.UPLOAD_VERSION", + "icon": "playlist_add", + "actions": { + "click": "UPLOAD_FILE_VERSION" + }, + "rules": { + "visible": "app.toolbar.versions" + } + }, + { + "id": "app.create.separator.1", + "type": "separator", + "order": 300 + }, { "id": "app.toolbar.favorite", "comment": "workaround for Recent Files and Search API issue", "type": "custom", - "order": 200, + "order": 400, "component": "app.toolbar.toggleFavorite", "rules": { "visible": "app.toolbar.favorite.canToggle" @@ -565,7 +570,7 @@ { "id": "app.libraries.toolbar.toggleFavorite", "type": "custom", - "order": 201, + "order": 401, "component": "app.toolbar.toggleFavoriteLibrary", "rules": { "visible": "app.libraries.toolbar" @@ -573,7 +578,7 @@ }, { "id": "app.toolbar.favorite.add", - "order": 300, + "order": 402, "title": "APP.ACTIONS.FAVORITE", "icon": "star_border", "actions": { @@ -585,7 +590,7 @@ }, { "id": "app.toolbar.favorite.remove", - "order": 400, + "order": 403, "title": "APP.ACTIONS.FAVORITE", "icon": "star", "actions": { @@ -595,14 +600,31 @@ "visible": "app.toolbar.favorite.canRemove" } }, + { + "id": "app.create.separator.2", + "type": "separator", + "order": 450 + }, + { + "id": "app.toolbar.editFolder", + "order": 450, + "title": "APP.ACTIONS.EDIT", + "icon": "create", + "actions": { + "click": "EDIT_FOLDER" + }, + "rules": { + "visible": "app.toolbar.canEditFolder" + } + }, { "id": "app.create.separator.3", "type": "separator", - "order": 3480 + "order": 500 }, { "id": "app.toolbar.copy", - "order": 500, + "order": 600, "title": "APP.ACTIONS.COPY", "icon": "content_copy", "actions": { @@ -614,7 +636,7 @@ }, { "id": "app.toolbar.move", - "order": 600, + "order": 700, "title": "APP.ACTIONS.MOVE", "icon": "adf:move_file", "actions": { @@ -636,38 +658,14 @@ "visible": "app.toolbar.canDelete" } }, - { - "id": "app.toolbar.deleteLibrary", - "order": 900, - "title": "APP.ACTIONS.DELETE", - "icon": "delete", - "actions": { - "click": "DELETE_LIBRARY" - }, - "rules": { - "visible": "app.selection.library" - } - }, { "id": "app.create.separator.4", "type": "separator", - "order": 980 - }, - { - "id": "app.toolbar.uploadNodeVersion", - "order": 1000, - "title": "APP.ACTIONS.UPLOAD_VERSION", - "icon": "playlist_add", - "actions": { - "click": "UPLOAD_FILE_VERSION" - }, - "rules": { - "visible": "app.selection.file.canUploadVersion" - } + "order": 900 }, { "id": "app.toolbar.versions", - "order": 1000, + "order": 1100, "title": "APP.ACTIONS.VERSIONS", "icon": "history", "actions": { @@ -679,7 +677,7 @@ }, { "id": "app.toolbar.permissions", - "order": 1100, + "order": 1200, "title": "APP.ACTIONS.PERMISSIONS", "icon": "settings_input_component", "actions": { @@ -688,6 +686,18 @@ "rules": { "visible": "app.toolbar.permissions" } + }, + { + "id": "app.toolbar.deleteLibrary", + "order": 100, + "title": "APP.ACTIONS.DELETE", + "icon": "delete", + "actions": { + "click": "DELETE_LIBRARY" + }, + "rules": { + "visible": "app.selection.library" + } } ] } @@ -702,10 +712,27 @@ "visible": "app.toolbar.canToggleLock" } }, + { + "id": "app.context.menu.uploadNodeVersion", + "title": "APP.ACTIONS.UPLOAD_VERSION", + "order": 200, + "icon": "playlist_add", + "actions": { + "click": "UPLOAD_FILE_VERSION" + }, + "rules": { + "visible": "app.toolbar.versions" + } + }, + { + "id": "app.create.separator.1", + "type": "separator", + "order": 300 + }, { "id": "app.context.menu.share", "type": "custom", - "order": 200, + "order": 400, "component": "app.shared-link.toggleSharedLink", "rules": { "visible": "app.context.canShare" @@ -713,7 +740,7 @@ }, { "id": "app.context.menu.download", - "order": 300, + "order": 500, "title": "APP.ACTIONS.DOWNLOAD", "icon": "get_app", "actions": { @@ -725,7 +752,7 @@ }, { "id": "app.context.menu.preview", - "order": 400, + "order": 600, "title": "APP.ACTIONS.VIEW", "icon": "visibility", "actions": { @@ -735,22 +762,10 @@ "visible": "app.toolbar.canViewFile" } }, - { - "id": "app.context.menu.editFolder", - "order": 500, - "title": "APP.ACTIONS.EDIT", - "icon": "create", - "actions": { - "click": "EDIT_FOLDER" - }, - "rules": { - "visible": "app.toolbar.canEditFolder" - } - }, { "id": "app.context.menu.favorite.add", "title": "APP.ACTIONS.FAVORITE", - "order": 600, + "order": 700, "icon": "star_border", "actions": { "click": "ADD_FAVORITE" @@ -762,7 +777,7 @@ { "id": "app.context.menu.favorite.remove", "title": "APP.ACTIONS.FAVORITE", - "order": 700, + "order": 701, "icon": "star", "actions": { "click": "REMOVE_FAVORITE" @@ -775,7 +790,7 @@ "id": "app.context.menu.favorite", "comment": "workaround for Recent Files and Search API issue", "type": "custom", - "order": 701, + "order": 702, "component": "app.toolbar.toggleFavorite", "rules": { "visible": "app.toolbar.favorite.canToggle" @@ -784,42 +799,33 @@ { "id": "app.context.menu.libraries.toggleFavorite", "type": "custom", - "order": 702, + "order": 703, "component": "app.toolbar.toggleFavoriteLibrary", "rules": { "visible": "app.libraries.toolbar" } }, { - "id": "app.context.menu.joinLibrary", - "type": "custom", - "order": 703, - "component": "app.menu.toggleJoinLibrary", - "rules": { - "visible": "app.libraries.toolbar.canToggleJoin" - } - }, - { - "id": "app.context.menu.leaveLibrary", - "order": 803, - "title": "APP.ACTIONS.LEAVE", - "icon": "exit_to_app", + "id": "app.context.menu.editFolder", + "order": 800, + "title": "APP.ACTIONS.EDIT", + "icon": "create", "actions": { - "click": "LEAVE_LIBRARY" + "click": "EDIT_FOLDER" }, "rules": { - "visible": "app.libraries.toolbar.canLeaveLibrary" + "visible": "app.toolbar.canEditFolder" } }, { - "id": "app.create.separator.5", + "id": "app.create.separator.2", "type": "separator", - "order": 820 + "order": 900 }, { "id": "app.context.menu.copy", "title": "APP.ACTIONS.COPY", - "order": 850, + "order": 1000, "icon": "content_copy", "actions": { "click": "COPY_NODES" @@ -831,7 +837,7 @@ { "id": "app.context.menu.move", "title": "APP.ACTIONS.MOVE", - "order": 900, + "order": 1100, "icon": "adf:move_file", "actions": { "click": "MOVE_NODES" @@ -843,7 +849,7 @@ { "id": "app.context.menu.delete", "title": "APP.ACTIONS.DELETE", - "order": 1000, + "order": 1200, "icon": "delete", "actions": { "click": "DELETE_NODES" @@ -853,38 +859,14 @@ } }, { - "id": "app.context.menu.deleteLibrary", - "order": 1001, - "title": "APP.ACTIONS.DELETE", - "icon": "delete", - "actions": { - "click": "DELETE_LIBRARY" - }, - "rules": { - "visible": "app.libraries.toolbar" - } - }, - { - "id": "app.create.separator.6", + "id": "app.create.separator.3", "type": "separator", - "order": 1080 - }, - { - "id": "app.context.menu.uploadNodeVersion", - "title": "APP.ACTIONS.UPLOAD_VERSION", - "order": 1100, - "icon": "playlist_add", - "actions": { - "click": "UPLOAD_FILE_VERSION" - }, - "rules": { - "visible": "app.selection.file.canUploadVersion" - } + "order": 1300 }, { "id": "app.context.menu.versions", "title": "APP.ACTIONS.VERSIONS", - "order": 1100, + "order": 1400, "icon": "history", "actions": { "click": "MANAGE_VERSIONS" @@ -897,7 +879,7 @@ "id": "app.context.menu.permissions", "title": "APP.ACTIONS.PERMISSIONS", "icon": "settings_input_component", - "order": 1200, + "order": 1500, "actions": { "click": "MANAGE_PERMISSIONS" }, @@ -905,9 +887,42 @@ "visible": "app.toolbar.permissions" } }, + { + "id": "app.context.menu.joinLibrary", + "type": "custom", + "order": 100, + "component": "app.menu.toggleJoinLibrary", + "rules": { + "visible": "app.libraries.toolbar.canToggleJoin" + } + }, + { + "id": "app.context.menu.leaveLibrary", + "order": 200, + "title": "APP.ACTIONS.LEAVE", + "icon": "exit_to_app", + "actions": { + "click": "LEAVE_LIBRARY" + }, + "rules": { + "visible": "app.libraries.toolbar.canLeaveLibrary" + } + }, + { + "id": "app.context.menu.deleteLibrary", + "order": 300, + "title": "APP.ACTIONS.DELETE", + "icon": "delete", + "actions": { + "click": "DELETE_LIBRARY" + }, + "rules": { + "visible": "app.libraries.toolbar" + } + }, { "id": "app.context.menu.purgeDeletedNodes", - "order": 1300, + "order": 100, "title": "APP.ACTIONS.DELETE_PERMANENT", "icon": "delete_forever", "actions": { @@ -919,7 +934,7 @@ }, { "id": "app.context.menu.restoreDeletedNodes", - "order": 1400, + "order": 200, "title": "APP.ACTIONS.RESTORE", "icon": "restore", "actions": { @@ -1014,8 +1029,25 @@ } }, { - "id": "app.viewer.favorite.add", + "id": "app.toolbar.uploadNodeVersion", "order": 200, + "title": "APP.ACTIONS.UPLOAD_VERSION", + "icon": "playlist_add", + "actions": { + "click": "UPLOAD_FILE_VERSION" + }, + "rules": { + "visible": "app.toolbar.versions" + } + }, + { + "id": "app.viewer.more.separator.1", + "type": "separator", + "order": 300 + }, + { + "id": "app.viewer.favorite.add", + "order": 400, "title": "APP.ACTIONS.FAVORITE", "icon": "star_border", "actions": { @@ -1027,7 +1059,7 @@ }, { "id": "app.viewer.favorite.remove", - "order": 300, + "order": 401, "title": "APP.ACTIONS.FAVORITE", "icon": "star", "actions": { @@ -1041,20 +1073,20 @@ "id": "app.viewer.favorite", "comment": "workaround for Recent Files and Search API issue", "type": "custom", - "order": 201, + "order": 402, "component": "app.toolbar.toggleFavorite", "rules": { "visible": "app.toolbar.favorite.canToggle" } }, { - "id": "app.viewer.more.separator.1", + "id": "app.viewer.more.separator.2", "type": "separator", - "order": 380 + "order": 500 }, { "id": "app.viewer.copy", - "order": 400, + "order": 600, "title": "APP.ACTIONS.COPY", "icon": "content_copy", "actions": { @@ -1066,7 +1098,7 @@ }, { "id": "app.viewer.move", - "order": 500, + "order": 700, "title": "APP.ACTIONS.MOVE", "icon": "adf:move_file", "actions": { @@ -1078,7 +1110,7 @@ }, { "id": "app.viewer.delete", - "order": 600, + "order": 800, "title": "APP.ACTIONS.DELETE", "icon": "delete", "actions": { @@ -1089,25 +1121,14 @@ } }, { - "id": "app.viewer.more.separator.2", + "id": "app.viewer.more.separator.3", "type": "separator", - "order": 680 - }, - { - "id": "app.toolbar.uploadNodeVersion", - "order": 700, - "title": "APP.ACTIONS.UPLOAD_VERSION", - "icon": "playlist_add", - "actions": { - "click": "UPLOAD_FILE_VERSION" - }, - "rules": { - "visible": "app.selection.file.canUploadVersion" - } + "order": 900 }, + { "id": "app.viewer.versions", - "order": 800, + "order": 1000, "title": "APP.ACTIONS.VERSIONS", "icon": "history", "actions": { @@ -1119,7 +1140,7 @@ }, { "id": "app.viewer.permissions", - "order": 900, + "order": 1100, "title": "APP.ACTIONS.PERMISSIONS", "icon": "settings_input_component", "actions": {