From 9776a678e0707ed26fce1e8724e6a2f8065df9cc Mon Sep 17 00:00:00 2001 From: Jannik Stehle Date: Fri, 25 Nov 2022 09:32:27 +0100 Subject: [PATCH] Remove '-item'-suffix from sidebar panels --- .../enhancement-access-sidebar-via-url | 10 ++++---- .../components/FilesList/ResourceTable.vue | 6 ++--- .../SideBar/Details/FileDetails.vue | 2 +- .../SideBar/Details/SpaceDetails.vue | 2 +- .../src/components/Spaces/SpaceHeader.vue | 2 +- packages/web-app-files/src/fileSideBars.ts | 18 +++++++-------- .../src/helpers/statusIndicators.js | 4 ++-- .../src/mixins/actions/createQuicklink.ts | 2 +- .../src/mixins/actions/showActions.js | 4 ++-- .../src/mixins/actions/showShares.ts | 2 +- .../src/mixins/spaces/actions/showMembers.js | 2 +- packages/web-app-files/src/quickActions.js | 6 ++--- .../src/views/spaces/Projects.vue | 2 +- .../tests/__fixtures__/fileActions.js | 4 ++-- .../composables/scrollTo/useScrollTo.spec.ts | 2 +- .../FilesPageElement/appSideBar.js | 23 +++++++------------ 16 files changed, 42 insertions(+), 49 deletions(-) diff --git a/changelog/unreleased/enhancement-access-sidebar-via-url b/changelog/unreleased/enhancement-access-sidebar-via-url index a5427329f5f..941622a719f 100644 --- a/changelog/unreleased/enhancement-access-sidebar-via-url +++ b/changelog/unreleased/enhancement-access-sidebar-via-url @@ -6,11 +6,11 @@ For private or internal links it only requires the new `details` param in the UR The following values can be used for the `details` param: -* `details-item` - sidebar open, no specific panel -* `actions-item` - actions panel -* `sharing-item` - share panel -* `versions-item` - versions panel -* `space-share-item` - members panel (project space only) +* `details` - sidebar open, no specific panel +* `actions` - actions panel +* `sharing` - share panel +* `versions` - versions panel +* `space-share` - members panel (project space only) https://github.com/owncloud/web/pull/8021 https://github.com/owncloud/web/issues/7927 diff --git a/packages/web-app-files/src/components/FilesList/ResourceTable.vue b/packages/web-app-files/src/components/FilesList/ResourceTable.vue index 5902f0f8c44..f15df45cc06 100644 --- a/packages/web-app-files/src/components/FilesList/ResourceTable.vue +++ b/packages/web-app-files/src/components/FilesList/ResourceTable.vue @@ -566,11 +566,11 @@ export default defineComponent({ openSharingSidebar(file) { let panelToOpen if (file.type === 'space') { - panelToOpen = 'space-share-item' + panelToOpen = 'space-share' } else if (file.share?.shareType === ShareTypes.link.value) { - panelToOpen = 'sharing-item#linkShares' + panelToOpen = 'sharing#linkShares' } else { - panelToOpen = 'sharing-item#peopleShares' + panelToOpen = 'sharing#peopleShares' } eventBus.publish(SideBarEventTopics.openWithPanel, panelToOpen) }, diff --git a/packages/web-app-files/src/components/SideBar/Details/FileDetails.vue b/packages/web-app-files/src/components/SideBar/Details/FileDetails.vue index 4a4166c6dcb..b53f6de1fed 100644 --- a/packages/web-app-files/src/components/SideBar/Details/FileDetails.vue +++ b/packages/web-app-files/src/components/SideBar/Details/FileDetails.vue @@ -430,7 +430,7 @@ export default defineComponent({ return null }, expandVersionsPanel() { - eventBus.publish(SideBarEventTopics.setActivePanel, 'versions-item') + eventBus.publish(SideBarEventTopics.setActivePanel, 'versions') }, async loadData() { const calls = [] diff --git a/packages/web-app-files/src/components/SideBar/Details/SpaceDetails.vue b/packages/web-app-files/src/components/SideBar/Details/SpaceDetails.vue index 62b059baf09..7b71b6911cc 100644 --- a/packages/web-app-files/src/components/SideBar/Details/SpaceDetails.vue +++ b/packages/web-app-files/src/components/SideBar/Details/SpaceDetails.vue @@ -246,7 +246,7 @@ export default defineComponent({ }, methods: { expandSharesPanel() { - eventBus.publish(SideBarEventTopics.setActivePanel, 'space-share-item') + eventBus.publish(SideBarEventTopics.setActivePanel, 'space-share') } } }) diff --git a/packages/web-app-files/src/components/Spaces/SpaceHeader.vue b/packages/web-app-files/src/components/Spaces/SpaceHeader.vue index 026645f0145..d0a656beb69 100644 --- a/packages/web-app-files/src/components/Spaces/SpaceHeader.vue +++ b/packages/web-app-files/src/components/Spaces/SpaceHeader.vue @@ -250,7 +250,7 @@ export default defineComponent({ const openSideBarSharePanel = () => { store.commit('Files/SET_SELECTED_IDS', []) - eventBus.publish(SideBarEventTopics.openWithPanel, 'space-share-item') + eventBus.publish(SideBarEventTopics.openWithPanel, 'space-share') } return { diff --git a/packages/web-app-files/src/fileSideBars.ts b/packages/web-app-files/src/fileSideBars.ts index 6b11c5beee7..50100a7d4a2 100644 --- a/packages/web-app-files/src/fileSideBars.ts +++ b/packages/web-app-files/src/fileSideBars.ts @@ -41,7 +41,7 @@ const panelGenerators: (({ // We don't have file details in the trashbin, yet. // Only allow `actions` panel on trashbin route for now. ({ rootFolder, highlightedFile }): Panel => ({ - app: 'no-selection-item', + app: 'no-selection', icon: 'questionnaire-line', title: $gettext('Details'), component: NoSelection, @@ -51,7 +51,7 @@ const panelGenerators: (({ } }), ({ router, multipleSelection, rootFolder, highlightedFile }) => ({ - app: 'details-item', + app: 'details', icon: 'questionnaire-line', title: $gettext('Details'), component: FileDetails, @@ -66,7 +66,7 @@ const panelGenerators: (({ } }), ({ multipleSelection, rootFolder, highlightedFile, router }) => ({ - app: 'details-multiple-item', + app: 'details-multiple', icon: 'questionnaire-line', title: $gettext('Details'), component: FileDetailsMultiple, @@ -85,7 +85,7 @@ const panelGenerators: (({ } }), ({ multipleSelection, highlightedFile }) => ({ - app: 'details-space-item', + app: 'details-space', icon: 'questionnaire-line', title: $gettext('Details'), component: SpaceDetails, @@ -95,7 +95,7 @@ const panelGenerators: (({ } }), ({ router, multipleSelection, rootFolder, highlightedFile }) => ({ - app: 'actions-item', + app: 'actions', icon: 'slideshow-3', title: $gettext('Actions'), component: FileActions, @@ -105,7 +105,7 @@ const panelGenerators: (({ } }), ({ multipleSelection, highlightedFile, user }) => ({ - app: 'space-actions-item', + app: 'space-actions', icon: 'slideshow-3', title: $gettext('Actions'), component: SpaceActions, @@ -123,7 +123,7 @@ const panelGenerators: (({ } }), ({ capabilities, router, multipleSelection, rootFolder, highlightedFile }) => ({ - app: 'sharing-item', + app: 'sharing', icon: 'user-add', iconFillType: 'line', title: $gettext('Shares'), @@ -155,7 +155,7 @@ const panelGenerators: (({ } }), ({ multipleSelection, highlightedFile, capabilities }) => ({ - app: 'space-share-item', + app: 'space-share', icon: 'group', title: $gettext('Members'), component: SharesPanel, @@ -173,7 +173,7 @@ const panelGenerators: (({ } }), ({ capabilities, highlightedFile, router, multipleSelection, rootFolder }) => ({ - app: 'versions-item', + app: 'versions', icon: 'git-branch', title: $gettext('Versions'), component: FileVersions, diff --git a/packages/web-app-files/src/helpers/statusIndicators.js b/packages/web-app-files/src/helpers/statusIndicators.js index c18c40b1d5b..31005302de0 100644 --- a/packages/web-app-files/src/helpers/statusIndicators.js +++ b/packages/web-app-files/src/helpers/statusIndicators.js @@ -95,7 +95,7 @@ export const getIndicators = (resource, sharesTree, hasShareJail = false) => { label: $gettext('Show invited people'), visible: isUserShare(resource, sharesTree, hasShareJail), icon: 'group', - target: 'sharing-item', + target: 'sharing', type: isDirectUserShare(resource) ? 'user-direct' : 'user-indirect', handler: (resource, panel) => { eventBus.publish(SideBarEventTopics.openWithPanel, `${panel}#peopleShares`) @@ -107,7 +107,7 @@ export const getIndicators = (resource, sharesTree, hasShareJail = false) => { label: $gettext('Show links'), visible: isLinkShare(resource, sharesTree), icon: 'link', - target: 'sharing-item', + target: 'sharing', type: isDirectLinkShare(resource) ? 'link-direct' : 'link-indirect', handler: (resource, panel) => { eventBus.publish(SideBarEventTopics.openWithPanel, `${panel}#linkShares`) diff --git a/packages/web-app-files/src/mixins/actions/createQuicklink.ts b/packages/web-app-files/src/mixins/actions/createQuicklink.ts index 48d797f5493..0ba0de42bb2 100644 --- a/packages/web-app-files/src/mixins/actions/createQuicklink.ts +++ b/packages/web-app-files/src/mixins/actions/createQuicklink.ts @@ -44,7 +44,7 @@ export default { $gettext: this.$gettext }) - eventBus.publish(SideBarEventTopics.openWithPanel, 'sharing-item#linkShares') + eventBus.publish(SideBarEventTopics.openWithPanel, 'sharing#linkShares') } } } diff --git a/packages/web-app-files/src/mixins/actions/showActions.js b/packages/web-app-files/src/mixins/actions/showActions.js index 88b44812b07..1dfc4f5909f 100644 --- a/packages/web-app-files/src/mixins/actions/showActions.js +++ b/packages/web-app-files/src/mixins/actions/showActions.js @@ -33,11 +33,11 @@ export default { $_showActions_trigger() { // we don't have details in the trashbin, yet. the actions panel is the default // panel at the moment, so we need to use `null` as panel name for trashbins. - // unconditionally return hardcoded `actions-item` once we have a dedicated + // unconditionally return hardcoded `actions` once we have a dedicated // details panel in trashbins. const panelName = isLocationTrashActive(this.$router, 'files-trash-generic') ? null - : 'actions-item' + : 'actions' eventBus.publish(SideBarEventTopics.openWithPanel, panelName) } } diff --git a/packages/web-app-files/src/mixins/actions/showShares.ts b/packages/web-app-files/src/mixins/actions/showShares.ts index 13da5bdf51b..687990dd1e8 100644 --- a/packages/web-app-files/src/mixins/actions/showShares.ts +++ b/packages/web-app-files/src/mixins/actions/showShares.ts @@ -47,7 +47,7 @@ export default { $_showShares_trigger({ resources }) { this.SET_FILE_SELECTION(resources) - eventBus.publish(SideBarEventTopics.openWithPanel, 'sharing-item#peopleShares') + eventBus.publish(SideBarEventTopics.openWithPanel, 'sharing#peopleShares') } } } diff --git a/packages/web-app-files/src/mixins/spaces/actions/showMembers.js b/packages/web-app-files/src/mixins/spaces/actions/showMembers.js index 19c9898147c..7a99824fd03 100644 --- a/packages/web-app-files/src/mixins/spaces/actions/showMembers.js +++ b/packages/web-app-files/src/mixins/spaces/actions/showMembers.js @@ -27,7 +27,7 @@ export default { $_showMembers_trigger({ resources }) { this.SET_FILE_SELECTION(resources) - eventBus.publish(SideBarEventTopics.openWithPanel, 'space-share-item') + eventBus.publish(SideBarEventTopics.openWithPanel, 'space-share') } } } diff --git a/packages/web-app-files/src/quickActions.js b/packages/web-app-files/src/quickActions.js index ee84a4cb7d8..9be640db44c 100644 --- a/packages/web-app-files/src/quickActions.js +++ b/packages/web-app-files/src/quickActions.js @@ -52,7 +52,7 @@ export default { id: 'collaborators', label: ($gettext) => $gettext('Add people'), icon: 'user-add', - handler: () => eventBus.publish(SideBarEventTopics.openWithPanel, 'sharing-item#peopleShares'), + handler: () => eventBus.publish(SideBarEventTopics.openWithPanel, 'sharing#peopleShares'), displayed: canShare }, quicklink: { @@ -67,12 +67,12 @@ export default { if (passwordEnforced) { return showQuickLinkPasswordModal(ctx, async (password) => { await createQuicklink({ ...ctx, resource: ctx.item, password }) - eventBus.publish(SideBarEventTopics.openWithPanel, 'sharing-item#linkShares') + eventBus.publish(SideBarEventTopics.openWithPanel, 'sharing#linkShares') }) } await createQuicklink({ ...ctx, resource: ctx.item }) - eventBus.publish(SideBarEventTopics.openWithPanel, 'sharing-item#linkShares') + eventBus.publish(SideBarEventTopics.openWithPanel, 'sharing#linkShares') }, displayed: canShare } diff --git a/packages/web-app-files/src/views/spaces/Projects.vue b/packages/web-app-files/src/views/spaces/Projects.vue index a53b24c7be4..3e9868ed8db 100644 --- a/packages/web-app-files/src/views/spaces/Projects.vue +++ b/packages/web-app-files/src/views/spaces/Projects.vue @@ -311,7 +311,7 @@ export default defineComponent({ openSidebarSharePanel(space: SpaceResource) { this.SET_FILE_SELECTION([space]) - eventBus.publish(SideBarEventTopics.openWithPanel, 'space-share-item') + eventBus.publish(SideBarEventTopics.openWithPanel, 'space-share') }, getSpaceLinkProps(space: SpaceResource) { diff --git a/packages/web-app-files/tests/__fixtures__/fileActions.js b/packages/web-app-files/tests/__fixtures__/fileActions.js index d236678ad36..729abee8137 100644 --- a/packages/web-app-files/tests/__fixtures__/fileActions.js +++ b/packages/web-app-files/tests/__fixtures__/fileActions.js @@ -61,12 +61,12 @@ const editors = [ const sideBars = [ { - app: 'details-item', + app: 'details', enabled: jest.fn(), icon: 'information' }, { - app: 'actions-item', + app: 'actions', enabled: jest.fn(), icon: 'information' } diff --git a/packages/web-app-files/tests/unit/composables/scrollTo/useScrollTo.spec.ts b/packages/web-app-files/tests/unit/composables/scrollTo/useScrollTo.spec.ts index 89ab247fa64..136c0e5da04 100644 --- a/packages/web-app-files/tests/unit/composables/scrollTo/useScrollTo.spec.ts +++ b/packages/web-app-files/tests/unit/composables/scrollTo/useScrollTo.spec.ts @@ -130,7 +130,7 @@ describe('useScrollTo', () => { { mocks: { ...defaultComponentMocks({ - currentRoute: { query: { scrollTo: resourceId, details: 'details-item' } } + currentRoute: { query: { scrollTo: resourceId, details: 'details' } } }), $store: { commit: jest.fn() } }, diff --git a/tests/acceptance/pageObjects/FilesPageElement/appSideBar.js b/tests/acceptance/pageObjects/FilesPageElement/appSideBar.js index 162c2895077..39b366734cf 100644 --- a/tests/acceptance/pageObjects/FilesPageElement/appSideBar.js +++ b/tests/acceptance/pageObjects/FilesPageElement/appSideBar.js @@ -253,36 +253,29 @@ module.exports = { }, collaboratorsPanel: { selector: - '//*[@id="sidebar-panel-sharing-item"]//*[contains(@class, "sidebar-panel__body-content")]', + '//*[@id="sidebar-panel-sharing"]//*[contains(@class, "sidebar-panel__body-content")]', locateStrategy: 'xpath' }, collaboratorsPanelMenuItem: { - selector: '//button[@id="sidebar-panel-sharing-item-select"]', - locateStrategy: 'xpath' - }, - linksPanel: { - selector: '#oc-files-file-link' - }, - linksPanelMenuItem: { - selector: '//button[@id="sidebar-panel-links-item-select"]', + selector: '//button[@id="sidebar-panel-sharing-select"]', locateStrategy: 'xpath' }, actionsPanel: { selector: - '//*[@id="sidebar-panel-actions-item"]//*[contains(@class, "sidebar-panel__body-content")]', + '//*[@id="sidebar-panel-actions"]//*[contains(@class, "sidebar-panel__body-content")]', locateStrategy: 'xpath' }, actionsPanelMenuItem: { - selector: '//button[@id="sidebar-panel-actions-item-select"]', + selector: '//button[@id="sidebar-panel-actions-select"]', locateStrategy: 'xpath' }, detailsPanel: { selector: - '//*[@id="sidebar-panel-details-item"]//*[contains(@class, "sidebar-panel__body-content")]', + '//*[@id="sidebar-panel-details"]//*[contains(@class, "sidebar-panel__body-content")]', locateStrategy: 'xpath' }, detailsPanelMenuItem: { - selector: '//button[@id="sidebar-panel-details-item-select"]', + selector: '//button[@id="sidebar-panel-details-select"]', locateStrategy: 'xpath' }, privateLinkURLCopyButton: { @@ -290,11 +283,11 @@ module.exports = { }, versionsPanel: { selector: - '//*[@id="sidebar-panel-versions-item"]//*[contains(@class, "sidebar-panel__body-content")]', + '//*[@id="sidebar-panel-versions"]//*[contains(@class, "sidebar-panel__body-content")]', locateStrategy: 'xpath' }, versionsPanelMenuItem: { - selector: '//button[@id="sidebar-panel-versions-item-select"]', + selector: '//button[@id="sidebar-panel-versions-select"]', locateStrategy: 'xpath' } }