diff --git a/packages/web-app-files/src/components/AppBar/SelectedResources/BatchActions.vue b/packages/web-app-files/src/components/AppBar/SelectedResources/BatchActions.vue index a8fedcb5c2a..f576703f9c1 100644 --- a/packages/web-app-files/src/components/AppBar/SelectedResources/BatchActions.vue +++ b/packages/web-app-files/src/components/AppBar/SelectedResources/BatchActions.vue @@ -23,7 +23,7 @@ import DownloadFile from '../../../mixins/actions/downloadFile' import EmptyTrashBin from '../../../mixins/actions/emptyTrashBin' import Move from '../../../mixins/actions/move' import Restore from '../../../mixins/actions/restore' -import { useIsFilesAppActive } from '../../../composables/useIsFilesAppActive' +import { useIsFilesAppActive } from '../../../composables' export default { setup() { diff --git a/packages/web-app-files/src/components/FilesList/ContextActions.vue b/packages/web-app-files/src/components/FilesList/ContextActions.vue index ed60b7d2682..6661f71889f 100644 --- a/packages/web-app-files/src/components/FilesList/ContextActions.vue +++ b/packages/web-app-files/src/components/FilesList/ContextActions.vue @@ -39,14 +39,8 @@ import Restore from '../../mixins/actions/restore' import ShowActions from '../../mixins/actions/showActions' import ShowDetails from '../../mixins/actions/showDetails' import ShowShares from '../../mixins/actions/showShares' -import { useIsFilesAppActive } from '../../composables/useIsFilesAppActive' export default { - setup() { - return { - isFilesAppActive: useIsFilesAppActive() - } - }, name: 'ContextActions', components: { ActionMenuItem }, mixins: [ diff --git a/packages/web-app-files/src/components/SideBar/Actions/FileActions.vue b/packages/web-app-files/src/components/SideBar/Actions/FileActions.vue index eb019f1ad3e..6455d379bdd 100644 --- a/packages/web-app-files/src/components/SideBar/Actions/FileActions.vue +++ b/packages/web-app-files/src/components/SideBar/Actions/FileActions.vue @@ -15,14 +15,8 @@ import { mapGetters } from 'vuex' import ActionMenuItem from '../../ActionMenuItem.vue' import FileActions from '../../../mixins/fileActions' -import { useIsFilesAppActive } from '../../../composables/useIsFilesAppActive' export default { - setup() { - return { - isFilesAppActive: useIsFilesAppActive() - } - }, name: 'FileActions', title: ($gettext) => { return $gettext('Actions') diff --git a/packages/web-app-files/src/composables/router/index.ts b/packages/web-app-files/src/composables/router/index.ts index dd989cc08b2..50532d088cc 100644 --- a/packages/web-app-files/src/composables/router/index.ts +++ b/packages/web-app-files/src/composables/router/index.ts @@ -1 +1,2 @@ export * from './useActiveLocation' +export * from './useIsFilesAppActive' diff --git a/packages/web-app-files/src/composables/useIsFilesAppActive.ts b/packages/web-app-files/src/composables/useIsFilesAppActive.ts deleted file mode 100644 index bef36d31308..00000000000 --- a/packages/web-app-files/src/composables/useIsFilesAppActive.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { computed, ComputedRef, unref } from '@vue/composition-api' -import { useActiveApp } from 'web-pkg/src/composables' -import FilesApp from '../index' - -/* - * This composable can be used to check whether the current route - * belongs to the file app. It's used to determine whether certain - * file actions should be enabled in other apps too, for instance - * in the search app. This way we avoid having cross references to - * other apps in the files app. - */ -export const useIsFilesAppActive = (): ComputedRef => { - const activeApp = useActiveApp() - return computed(() => { - return unref(activeApp) === FilesApp.appInfo.id - }) -} diff --git a/packages/web-app-files/src/mixins/fileActions.js b/packages/web-app-files/src/mixins/fileActions.js index 8b0067ad742..314755e1e50 100644 --- a/packages/web-app-files/src/mixins/fileActions.js +++ b/packages/web-app-files/src/mixins/fileActions.js @@ -17,6 +17,9 @@ import Rename from './actions/rename' import Restore from './actions/restore' import kebabCase from 'lodash-es/kebabCase' +import { activeApp } from 'web-pkg/src/composables' +import { isFilesAppActive } from '../composables' + const actionsMixins = [ 'fetch', 'navigate', @@ -55,6 +58,12 @@ export default { ...mapGetters('Files', ['highlightedFile', 'currentFolder']), ...mapGetters(['capabilities', 'configuration']), + // TODO: Replace this with the useIsFilesAppActive composable + // once we port this mixin to something using the composition api + isFilesAppActive() { + return isFilesAppActive(activeApp(this.$route)) + }, + $_fileActions_systemActions() { return actionsMixins.flatMap((actionMixin) => { return this[`$_${actionMixin}_items`] diff --git a/packages/web-pkg/src/composables/router/useActiveApp.ts b/packages/web-pkg/src/composables/router/useActiveApp.ts index 6c5e75632b9..2de018e716d 100644 --- a/packages/web-pkg/src/composables/router/useActiveApp.ts +++ b/packages/web-pkg/src/composables/router/useActiveApp.ts @@ -1,9 +1,14 @@ import { computed, ComputedRef, unref } from '@vue/composition-api' import { useRoute } from './useRoute' +import { Route } from 'vue-router' + +export const activeApp = (route : Route) : string => { + return route.path.split('/')[1] +} export const useActiveApp = (): ComputedRef => { const route = useRoute() return computed(() => { - return unref(route).path.split('/')[1] + return activeApp(unref(route)) }) }