From 442ad58ff6e7be5041e4e43751fe0d47d658814b Mon Sep 17 00:00:00 2001 From: Rijk van Zanten Date: Wed, 8 Apr 2020 13:26:43 -0400 Subject: [PATCH] Add files module (#361) --- src/compositions/use-items/use-items.ts | 6 +- .../files/components/navigation/index.ts | 4 + .../components/navigation/navigation.vue | 3 + src/modules/files/index.ts | 23 ++ src/modules/files/routes/browse/browse.vue | 178 ++++++++++++++++ src/modules/files/routes/browse/index.ts | 4 + src/modules/files/routes/detail/detail.vue | 197 ++++++++++++++++++ src/modules/files/routes/detail/index.ts | 4 + src/modules/index.ts | 3 +- 9 files changed, 420 insertions(+), 2 deletions(-) create mode 100644 src/modules/files/components/navigation/index.ts create mode 100644 src/modules/files/components/navigation/navigation.vue create mode 100644 src/modules/files/index.ts create mode 100644 src/modules/files/routes/browse/browse.vue create mode 100644 src/modules/files/routes/browse/index.ts create mode 100644 src/modules/files/routes/detail/detail.vue create mode 100644 src/modules/files/routes/detail/index.ts diff --git a/src/compositions/use-items/use-items.ts b/src/compositions/use-items/use-items.ts index b5f342c67f..67fbd84998 100644 --- a/src/compositions/use-items/use-items.ts +++ b/src/compositions/use-items/use-items.ts @@ -122,7 +122,11 @@ export function useItems(collection: Ref, options: Options) { const { currentProjectKey } = projectsStore.state; - const response = await api.get(`/${currentProjectKey}/items/${collection.value}`, { + const endpoint = collection.value.startsWith('directus_') + ? `/${currentProjectKey}/${collection.value.substring(9)}` + : `/${currentProjectKey}/items/${collection.value}`; + + const response = await api.get(endpoint, { params: { limit: 0, fields: primaryKeyField.value.field, diff --git a/src/modules/files/components/navigation/index.ts b/src/modules/files/components/navigation/index.ts new file mode 100644 index 0000000000..91a55896d1 --- /dev/null +++ b/src/modules/files/components/navigation/index.ts @@ -0,0 +1,4 @@ +import FilesNavigation from './navigation.vue'; + +export { FilesNavigation }; +export default FilesNavigation; diff --git a/src/modules/files/components/navigation/navigation.vue b/src/modules/files/components/navigation/navigation.vue new file mode 100644 index 0000000000..d1da5cc6d8 --- /dev/null +++ b/src/modules/files/components/navigation/navigation.vue @@ -0,0 +1,3 @@ + diff --git a/src/modules/files/index.ts b/src/modules/files/index.ts new file mode 100644 index 0000000000..c6992cc015 --- /dev/null +++ b/src/modules/files/index.ts @@ -0,0 +1,23 @@ +import { defineModule } from '@/modules/define'; +import FilesBrowse from './routes/browse/'; +import FilesDetail from './routes/detail/'; + +export default defineModule(({ i18n }) => ({ + id: 'files', + name: i18n.t('files'), + icon: 'folder', + routes: [ + { + name: 'files-browse', + path: '/', + component: FilesBrowse, + props: true, + }, + { + name: 'files-detail', + path: '/:primaryKey', + component: FilesDetail, + props: true, + }, + ], +})); diff --git a/src/modules/files/routes/browse/browse.vue b/src/modules/files/routes/browse/browse.vue new file mode 100644 index 0000000000..0cc855c18d --- /dev/null +++ b/src/modules/files/routes/browse/browse.vue @@ -0,0 +1,178 @@ + + + + + diff --git a/src/modules/files/routes/browse/index.ts b/src/modules/files/routes/browse/index.ts new file mode 100644 index 0000000000..c0ef6ea919 --- /dev/null +++ b/src/modules/files/routes/browse/index.ts @@ -0,0 +1,4 @@ +import FilesBrowse from './browse.vue'; + +export { FilesBrowse }; +export default FilesBrowse; diff --git a/src/modules/files/routes/detail/detail.vue b/src/modules/files/routes/detail/detail.vue new file mode 100644 index 0000000000..8fc82bdedb --- /dev/null +++ b/src/modules/files/routes/detail/detail.vue @@ -0,0 +1,197 @@ + + + + + diff --git a/src/modules/files/routes/detail/index.ts b/src/modules/files/routes/detail/index.ts new file mode 100644 index 0000000000..99de591237 --- /dev/null +++ b/src/modules/files/routes/detail/index.ts @@ -0,0 +1,4 @@ +import FilesDetail from './detail.vue'; + +export { FilesDetail }; +export default FilesDetail; diff --git a/src/modules/index.ts b/src/modules/index.ts index 3cf809cc1d..96b3fba702 100644 --- a/src/modules/index.ts +++ b/src/modules/index.ts @@ -1,6 +1,7 @@ import CollectionsModule from './collections/'; +import FilesModule from './files/'; import UsersModule from './users/'; import SettingsModule from './settings/'; -export const modules = [CollectionsModule, UsersModule, SettingsModule]; +export const modules = [CollectionsModule, UsersModule, FilesModule, SettingsModule]; export default modules;