From 4c29fa18ff064af4d82b1ba72837c1d05a2a144c Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Thu, 22 Sep 2022 18:19:11 +0200 Subject: [PATCH] refactor(nc-gui): use lazy load and cleanup imports --- .../nc-gui/components/api-client/Headers.vue | 29 ++++--- .../nc-gui/components/api-client/Params.vue | 25 +++--- packages/nc-gui/components/cell/Currency.vue | 5 +- .../nc-gui/components/cell/DateTimePicker.vue | 2 +- packages/nc-gui/components/cell/Decimal.vue | 4 +- packages/nc-gui/components/cell/Duration.vue | 14 +++- packages/nc-gui/components/cell/Email.vue | 5 +- packages/nc-gui/components/cell/Float.vue | 4 +- packages/nc-gui/components/cell/Integer.vue | 4 +- packages/nc-gui/components/cell/Json.vue | 3 +- .../nc-gui/components/cell/MultiSelect.vue | 1 + packages/nc-gui/components/cell/Percent.vue | 61 +------------- .../nc-gui/components/cell/PhoneNumber.vue | 6 +- packages/nc-gui/components/cell/Rating.vue | 3 +- packages/nc-gui/components/cell/Text.vue | 1 + packages/nc-gui/components/cell/TextArea.vue | 4 +- .../nc-gui/components/cell/TimePicker.vue | 4 +- packages/nc-gui/components/cell/Url.vue | 7 +- .../components/cell/attachment/index.vue | 6 +- .../components/cell/attachment/utils.ts | 5 +- .../nc-gui/components/dashboard/TreeView.vue | 28 +++---- .../dashboard/settings/AppStore.vue | 30 ++++--- .../dashboard/settings/AuditTab.vue | 9 +- .../dashboard/settings/Metadata.vue | 25 ++++-- .../components/dashboard/settings/Misc.vue | 8 +- .../components/dashboard/settings/Modal.vue | 31 +++---- .../components/dashboard/settings/UIAcl.vue | 26 ++++-- .../settings/app-store/AppInstall.vue | 35 ++++---- .../nc-gui/components/dlg/AirtableImport.vue | 15 ++-- .../nc-gui/components/dlg/QuickImport.vue | 7 +- .../nc-gui/components/dlg/TableCreate.vue | 11 +-- .../nc-gui/components/dlg/TableRename.vue | 38 +++++++-- packages/nc-gui/components/dlg/ViewCreate.vue | 22 +++-- packages/nc-gui/components/dlg/ViewDelete.vue | 21 ++--- .../components/general/ChromeWrapper.vue | 2 - .../components/general/ColorModeSwitcher.vue | 2 - .../nc-gui/components/general/ColorPicker.vue | 4 +- .../components/general/FlippingCard.vue | 5 ++ .../nc-gui/components/general/FullScreen.vue | 3 +- .../components/general/HelpAndSupport.vue | 10 ++- .../nc-gui/components/general/MiniSidebar.vue | 3 +- .../nc-gui/components/general/ReleaseInfo.vue | 23 ++++- packages/nc-gui/components/general/Share.vue | 2 + .../components/general/ShareBaseButton.vue | 3 +- packages/nc-gui/components/general/Social.vue | 10 +-- .../nc-gui/components/general/SocialCard.vue | 9 +- .../nc-gui/components/general/Tooltip.vue | 4 +- .../components/general/TruncateText.vue | 32 +++---- .../nc-gui/components/smartsheet/Form.vue | 2 +- .../nc-gui/components/smartsheet/Gallery.vue | 2 +- .../nc-gui/components/smartsheet/Grid.vue | 2 +- packages/nc-gui/components/smartsheet/Row.vue | 2 +- .../components/smartsheet/VirtualCell.vue | 2 +- .../smartsheet/column/SelectOptions.vue | 6 +- .../smartsheet/expanded-form/index.vue | 2 +- .../components/smartsheet/header/Menu.vue | 2 +- .../components/smartsheet/sidebar/MenuTop.vue | 3 +- .../toolbar/FieldListAutoCompleteDropdown.vue | 15 ++-- .../smartsheet/toolbar/FieldsMenu.vue | 9 +- .../smartsheet/toolbar/SharedViewList.vue | 2 +- packages/nc-gui/components/tabs/Auth.vue | 6 +- .../nc-gui/components/tabs/Smartsheet.vue | 4 +- .../tabs/auth/ApiTokenManagement.vue | 41 +++++---- .../components/tabs/auth/UserManagement.vue | 19 +++-- .../auth/user-management/FeedbackForm.vue | 3 + .../tabs/auth/user-management/ShareBase.vue | 15 +++- .../tabs/auth/user-management/UsersModal.vue | 24 ++++-- .../nc-gui/components/template/Editor.vue | 8 +- .../components/virtual-cell/BelongsTo.vue | 21 +++-- .../nc-gui/components/virtual-cell/Count.vue | 2 - .../components/virtual-cell/Formula.vue | 5 +- .../components/virtual-cell/HasMany.vue | 27 +++--- .../nc-gui/components/virtual-cell/Lookup.vue | 6 +- .../components/virtual-cell/ManyToMany.vue | 24 ++++-- .../virtual-cell/components/ItemChip.vue | 15 +--- .../components/ListChildItems.vue | 21 +++-- .../virtual-cell/components/ListItems.vue | 15 ++-- .../components/webhook/ChannelMultiSelect.vue | 2 +- packages/nc-gui/components/webhook/Drawer.vue | 5 +- packages/nc-gui/components/webhook/Editor.vue | 37 ++++++--- packages/nc-gui/components/webhook/List.vue | 11 ++- packages/nc-gui/components/webhook/Test.vue | 5 +- packages/nc-gui/composables/index.ts | 28 ------- packages/nc-gui/composables/useApi/index.ts | 3 +- packages/nc-gui/composables/useColors.ts | 4 +- packages/nc-gui/composables/useColumn.ts | 17 ++-- .../composables/useColumnCreateStore.ts | 22 ++++- packages/nc-gui/composables/useCopy.ts | 2 +- packages/nc-gui/composables/useDashboard.ts | 3 + .../nc-gui/composables/useDialog/index.ts | 2 +- .../composables/useExpandedFormStore.ts | 52 +++++++----- .../nc-gui/composables/useGlobal/actions.ts | 14 ++-- .../nc-gui/composables/useGlobal/state.ts | 6 +- .../composables/useGridViewColumnWidth.ts | 12 +-- packages/nc-gui/composables/useLTARStore.ts | 43 +++++----- packages/nc-gui/composables/useMetas.ts | 11 ++- packages/nc-gui/composables/useProject.ts | 4 +- .../composables/useSharedFormViewStore.ts | 2 +- packages/nc-gui/composables/useSharedView.ts | 13 ++- .../nc-gui/composables/useSidebar/index.ts | 31 +++---- .../composables/useSmartsheetRowStore.ts | 6 +- .../nc-gui/composables/useSmartsheetStore.ts | 9 +- packages/nc-gui/composables/useTable.ts | 32 ++++--- packages/nc-gui/composables/useTabs.ts | 22 ++--- packages/nc-gui/composables/useTheme/index.ts | 7 +- .../composables/useUIPermission/index.ts | 6 +- .../useUIPermission/rolePermissions.ts | 83 ------------------- packages/nc-gui/composables/useViewColumns.ts | 4 +- packages/nc-gui/composables/useViewData.ts | 31 ++++--- packages/nc-gui/composables/useViewFilters.ts | 3 +- packages/nc-gui/composables/useViewSorts.ts | 26 ++++-- packages/nc-gui/composables/useVirtualCell.ts | 22 ++--- packages/nc-gui/context/index.ts | 3 +- packages/nc-gui/layouts/base.vue | 6 +- packages/nc-gui/layouts/shared-view.vue | 3 + packages/nc-gui/lib/constants.ts | 56 ++++++++++++- packages/nc-gui/lib/enums.ts | 6 ++ packages/nc-gui/lib/types.ts | 36 +++++++- packages/nc-gui/nuxt.config.ts | 4 + .../pages/[projectType]/[projectId]/index.vue | 30 ++++--- .../[projectType]/[projectId]/index/index.vue | 22 +++-- .../index/[type]/[title]/[[viewTitle]].vue | 4 +- .../[projectId]/index/index/auth.vue | 6 +- .../[projectId]/index/index/index.vue | 13 +-- .../pages/[projectType]/base/[baseId].vue | 1 + .../[projectType]/form/[viewId]/index.vue | 13 +-- packages/nc-gui/pages/forgot-password.vue | 4 +- .../nc-gui/pages/index/index/[projectId].vue | 1 + .../pages/index/index/create-external.vue | 5 +- packages/nc-gui/pages/index/index/create.vue | 2 +- packages/nc-gui/pages/index/index/index.vue | 3 +- packages/nc-gui/pages/signin.vue | 2 +- packages/nc-gui/pages/signup/[[token]].vue | 2 +- packages/nc-gui/plugins/a.i18n.ts | 3 +- packages/nc-gui/plugins/feedbackForm.ts | 4 +- packages/nc-gui/plugins/resizeDirective.ts | 3 +- packages/nc-gui/plugins/tele.ts | 5 +- packages/nc-gui/utils/iconUtils.ts | 29 +++++++ 138 files changed, 985 insertions(+), 777 deletions(-) delete mode 100644 packages/nc-gui/composables/index.ts diff --git a/packages/nc-gui/components/api-client/Headers.vue b/packages/nc-gui/components/api-client/Headers.vue index 419a82c7ff..9cdeb71934 100644 --- a/packages/nc-gui/components/api-client/Headers.vue +++ b/packages/nc-gui/components/api-client/Headers.vue @@ -1,18 +1,15 @@ diff --git a/packages/nc-gui/components/virtual-cell/ManyToMany.vue b/packages/nc-gui/components/virtual-cell/ManyToMany.vue index 0bb553d693..10cbc79228 100644 --- a/packages/nc-gui/components/virtual-cell/ManyToMany.vue +++ b/packages/nc-gui/components/virtual-cell/ManyToMany.vue @@ -10,6 +10,7 @@ import { ReloadRowDataHookInj, RowInj, computed, + createEventHook, inject, ref, useProvideLTARStore, @@ -17,12 +18,6 @@ import { useUIPermission, } from '#imports' -const ItemChip = defineAsyncComponent(() => import('./components/ItemChip.vue')) - -const ListItems = defineAsyncComponent(() => import('./components/ListItems.vue')) - -const ListChildItems = defineAsyncComponent(() => import('./components/ListChildItems.vue')) - const column = inject(ColumnInj)! const row = inject(RowInj)! @@ -44,6 +39,7 @@ const childListDlg = ref(false) const { isUIAllowed } = useUIPermission() const { state, isNew, removeLTARRef } = useSmartsheetRowStoreOrThrow() + const { loadRelatedTableMeta, relatedTablePrimaryValueProp, unlink } = useProvideLTARStore( column as Ref>, row, @@ -93,7 +89,13 @@ const onAttachRecord = () => { - + - + diff --git a/packages/nc-gui/components/virtual-cell/components/ItemChip.vue b/packages/nc-gui/components/virtual-cell/components/ItemChip.vue index 4cb81f0865..8a033fd790 100644 --- a/packages/nc-gui/components/virtual-cell/components/ItemChip.vue +++ b/packages/nc-gui/components/virtual-cell/components/ItemChip.vue @@ -1,14 +1,5 @@ - diff --git a/packages/nc-gui/pages/[projectType]/[projectId]/index/index/index.vue b/packages/nc-gui/pages/[projectType]/[projectId]/index/index/index.vue index 174b5969db..49a84801d3 100644 --- a/packages/nc-gui/pages/[projectType]/[projectId]/index/index/index.vue +++ b/packages/nc-gui/pages/[projectType]/[projectId]/index/index/index.vue @@ -1,9 +1,6 @@