From 81f8167ffe5f2d683ae5e3b3c0b5ae362f546f18 Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Sat, 6 Aug 2022 13:44:08 +0800 Subject: [PATCH] feat(gui-v2): add loadFormData & formData --- packages/nc-gui-v2/composables/useViewData.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/nc-gui-v2/composables/useViewData.ts b/packages/nc-gui-v2/composables/useViewData.ts index 9ee4a5b735..2847261482 100644 --- a/packages/nc-gui-v2/composables/useViewData.ts +++ b/packages/nc-gui-v2/composables/useViewData.ts @@ -1,4 +1,4 @@ -import type { Api, PaginatedType, TableType, ViewType } from 'nocodb-sdk' +import type { Api, FormType, PaginatedType, TableType, ViewType } from 'nocodb-sdk' import type { ComputedRef, Ref } from 'vue' import { notification } from 'ant-design-vue' import { useNuxtApp } from '#app' @@ -26,6 +26,7 @@ export function useViewData( ) { const formattedData = ref([]) const paginationData = ref({ page: 1, pageSize: 25 }) + const formData = ref(undefined) const { project } = useProject() const { $api } = useNuxtApp() @@ -223,6 +224,18 @@ export function useViewData( } } + const loadFormData = async () => { + if (!viewMeta?.value?.id) return + try { + formData.value = (({ columns, ...view }) => view)(await $api.dbView.formRead(viewMeta.value.id)) + } catch (e: any) { + return notification.error({ + message: 'Failed to set form data', + description: await extractSdkResponseErrorMsg(e), + }) + } + } + return { loadData, paginationData, @@ -235,5 +248,7 @@ export function useViewData( deleteSelectedRows, updateOrSaveRow, selectedAllRecords, + loadFormData, + formData, } }