From e5d7c1909469cd2a1813b7fe7150413a4def6201 Mon Sep 17 00:00:00 2001 From: Daniel Spaude Date: Mon, 30 Jan 2023 18:17:46 +0100 Subject: [PATCH] mobile optimisations - switch to createSharedComposable (vue-use) for useViews composable --- packages/nc-gui/components.d.ts | 7 ------- .../components/smartsheet/sidebar/index.vue | 4 ++-- .../components/smartsheet/sidebar/mobile.vue | 4 ++-- packages/nc-gui/composables/useViews.ts | 15 ++++----------- .../pages/[projectType]/[projectId]/index.vue | 2 +- 5 files changed, 9 insertions(+), 23 deletions(-) diff --git a/packages/nc-gui/components.d.ts b/packages/nc-gui/components.d.ts index 386d0f7775..255251c499 100644 --- a/packages/nc-gui/components.d.ts +++ b/packages/nc-gui/components.d.ts @@ -80,7 +80,6 @@ declare module '@vue/runtime-core' { ClaritySuccessLine: typeof import('~icons/clarity/success-line')['default'] EvaEmailOutline: typeof import('~icons/eva/email-outline')['default'] IcBaselineMoreVert: typeof import('~icons/ic/baseline-more-vert')['default'] - Icon: typeof import('~icons/ic/on')['default'] IcOutlineInsertDriveFile: typeof import('~icons/ic/outline-insert-drive-file')['default'] IcRoundEdit: typeof import('~icons/ic/round-edit')['default'] IcRoundKeyboardArrowDown: typeof import('~icons/ic/round-keyboard-arrow-down')['default'] @@ -140,7 +139,6 @@ declare module '@vue/runtime-core' { MdiChevronDown: typeof import('~icons/mdi/chevron-down')['default'] MdiChevronLeft: typeof import('~icons/mdi/chevron-left')['default'] MdiChevronRight: typeof import('~icons/mdi/chevron-right')['default'] - MdiChevronUp: typeof import('~icons/mdi/chevron-up')['default'] MdiClose: typeof import('~icons/mdi/close')['default'] MdiCloseBox: typeof import('~icons/mdi/close-box')['default'] MdiCloseCircle: typeof import('~icons/mdi/close-circle')['default'] @@ -151,10 +149,8 @@ declare module '@vue/runtime-core' { MdiCog: typeof import('~icons/mdi/cog')['default'] MdiCommentTextOutline: typeof import('~icons/mdi/comment-text-outline')['default'] MdiContentCopy: typeof import('~icons/mdi/content-copy')['default'] - MdiContentCopyOutline: typeof import('~icons/mdi/content-copy-outline')['default'] MdiContentSave: typeof import('~icons/mdi/content-save')['default'] MdiContentSaveEdit: typeof import('~icons/mdi/content-save-edit')['default'] - MdiCopyOutline: typeof import('~icons/mdi/copy-outline')['default'] MdiCurrencyUsd: typeof import('~icons/mdi/currency-usd')['default'] MdiDatabaseAlert: typeof import('~icons/mdi/database-alert')['default'] MdiDatabaseLockOutline: typeof import('~icons/mdi/database-lock-outline')['default'] @@ -164,8 +160,6 @@ declare module '@vue/runtime-core' { MdiDeleteOutline: typeof import('~icons/mdi/delete-outline')['default'] MdiDiscord: typeof import('~icons/mdi/discord')['default'] MdiDotsHorizontal: typeof import('~icons/mdi/dots-horizontal')['default'] - MdiDotsHorizontalhOutline: typeof import('~icons/mdi/dots-horizontalh-outline')['default'] - MdiDotsHorizontalOutline: typeof import('~icons/mdi/dots-horizontal-outline')['default'] MdiDotsVertical: typeof import('~icons/mdi/dots-vertical')['default'] MdiDownload: typeof import('~icons/mdi/download')['default'] MdiDownloadOutline: typeof import('~icons/mdi/download-outline')['default'] @@ -188,7 +182,6 @@ declare module '@vue/runtime-core' { MdiFileUploadOutline: typeof import('~icons/mdi/file-upload-outline')['default'] MdiFilterOutline: typeof import('~icons/mdi/filter-outline')['default'] MdiFlag: typeof import('~icons/mdi/flag')['default'] - MdiFlashOutline: typeof import('~icons/mdi/flash-outline')['default'] MdiFolder: typeof import('~icons/mdi/folder')['default'] MdiFunction: typeof import('~icons/mdi/function')['default'] MdiGestureDoubleTap: typeof import('~icons/mdi/gesture-double-tap')['default'] diff --git a/packages/nc-gui/components/smartsheet/sidebar/index.vue b/packages/nc-gui/components/smartsheet/sidebar/index.vue index 86da8b0a53..29b3eb6bcd 100644 --- a/packages/nc-gui/components/smartsheet/sidebar/index.vue +++ b/packages/nc-gui/components/smartsheet/sidebar/index.vue @@ -13,7 +13,7 @@ import { useRouter, useSidebar, useUIPermission, - useViewsStoreOrThrow, + useViews, watch, } from '#imports' @@ -23,7 +23,7 @@ const activeView = inject(ActiveViewInj, ref()) const { activeTab } = useTabs() -const { views, loadViews, isLoading } = useViewsStoreOrThrow() +const { views, loadViews, isLoading } = useViews(meta) const { lastOpenedViewMap } = useProject() diff --git a/packages/nc-gui/components/smartsheet/sidebar/mobile.vue b/packages/nc-gui/components/smartsheet/sidebar/mobile.vue index 826d8d35bd..3878923ec1 100644 --- a/packages/nc-gui/components/smartsheet/sidebar/mobile.vue +++ b/packages/nc-gui/components/smartsheet/sidebar/mobile.vue @@ -11,7 +11,7 @@ import { useRoute, useRouter, useUIPermission, - useViewsStoreOrThrow, + useViews, watch, } from '#imports' @@ -23,7 +23,7 @@ const activeView = inject(ActiveViewInj, ref()) const { activeTab } = useTabs() -const { views, loadViews, isLoading } = useViewsStoreOrThrow() +const { views, loadViews, isLoading } = useViews(meta) const { lastOpenedViewMap } = useProject() diff --git a/packages/nc-gui/composables/useViews.ts b/packages/nc-gui/composables/useViews.ts index f5d8f0179d..636f27e127 100644 --- a/packages/nc-gui/composables/useViews.ts +++ b/packages/nc-gui/composables/useViews.ts @@ -2,7 +2,7 @@ import type { TableType, ViewType } from 'nocodb-sdk' import type { MaybeRef } from '@vueuse/core' import { ref, unref, useNuxtApp, watch } from '#imports' -const [useProvideViewsStore, useViewsStore] = useInjectionState((meta: MaybeRef) => { +function _useViews(meta: MaybeRef) { const views = ref([]) const isLoading = ref(false) @@ -25,14 +25,7 @@ const [useProvideViewsStore, useViewsStore] = useInjectionState((meta: MaybeRef< watch(() => unref(meta), loadViews, { immediate: true }) return { views, isLoading, loadViews } -}, 'views-store') - -export { useProvideViewsStore } - -export function useViewsStoreOrThrow() { - const viewsStore = useViewsStore() - - if (viewsStore == null) throw new Error('Please call `useProvideViewsStore` on the appropriate parent component') - - return viewsStore + // return createSharedComposable({ views, isLoading, loadViews }) } + +export default createSharedComposable(_useViews) diff --git a/packages/nc-gui/pages/[projectType]/[projectId]/index.vue b/packages/nc-gui/pages/[projectType]/[projectId]/index.vue index 83c940799a..e544495a0d 100644 --- a/packages/nc-gui/pages/[projectType]/[projectId]/index.vue +++ b/packages/nc-gui/pages/[projectType]/[projectId]/index.vue @@ -75,7 +75,7 @@ const meta = computed(() => activeTab.value && metas.valu provide(ActiveViewInj, activeView) provide(MetaInj, meta) -useProvideViewsStore(meta) +useViews(meta) const showViewsMobileSidebar = ref(false)