From 51a8f4a4d73bc3bd17e0c3d6442a4f68864f950c Mon Sep 17 00:00:00 2001 From: Ramesh Mane <101566080+rameshmane7218@users.noreply.github.com> Date: Tue, 27 Feb 2024 12:39:20 +0000 Subject: [PATCH] fix(nc-gui): shared form select type list options --- .../nc-gui/components/smartsheet/Form.vue | 25 ++++++++++++++----- .../composables/useSharedFormViewStore.ts | 1 + packages/nocodb-sdk/src/lib/UITypes.ts | 7 ++++++ packages/nocodb-sdk/src/lib/index.ts | 1 + 4 files changed, 28 insertions(+), 6 deletions(-) diff --git a/packages/nc-gui/components/smartsheet/Form.vue b/packages/nc-gui/components/smartsheet/Form.vue index ea84ba026a..63f8ad8d94 100644 --- a/packages/nc-gui/components/smartsheet/Form.vue +++ b/packages/nc-gui/components/smartsheet/Form.vue @@ -4,7 +4,16 @@ import Draggable from 'vuedraggable' import tinycolor from 'tinycolor2' import { Pane, Splitpanes } from 'splitpanes' import 'splitpanes/dist/splitpanes.css' -import { ProjectRoles, RelationTypes, UITypes, ViewTypes, getSystemColumns, isLinksOrLTAR, isVirtualCol } from 'nocodb-sdk' +import { + ProjectRoles, + RelationTypes, + UITypes, + ViewTypes, + getSystemColumns, + isLinksOrLTAR, + isVirtualCol, + isSelectTypeCol, +} from 'nocodb-sdk' import type { Permission } from '#imports' import { ActiveViewInj, @@ -157,8 +166,6 @@ const focusLabel: VNodeRef = (el) => { const searchQuery = ref('') -const selectTypeFields = [UITypes.SingleSelect, UITypes.MultiSelect, UITypes.User] - const { t } = useI18n() const { betaFeatureToggleState } = useBetaFeatureToggle() @@ -1090,7 +1097,7 @@ useEventListener( class="nc-form-field-settings border-t border-gray-200 p-4 lg:p-6 flex flex-col gap-3" > -
+
Layout
- +
{{ $t('labels.limitOptions') }}
{{ $t('labels.limitOptionsSubtext') }}.
+
diff --git a/packages/nc-gui/composables/useSharedFormViewStore.ts b/packages/nc-gui/composables/useSharedFormViewStore.ts index e60f089657..4be41faebc 100644 --- a/packages/nc-gui/composables/useSharedFormViewStore.ts +++ b/packages/nc-gui/composables/useSharedFormViewStore.ts @@ -109,6 +109,7 @@ const [useProvideSharedFormStore, useSharedFormStore] = useInjectionState((share columns.value = viewMeta.model?.columns?.map((c) => ({ ...c, + meta: { ...parseProp(fieldById[c.id].meta), ...parseProp(c.meta) }, description: fieldById[c.id].description, })) diff --git a/packages/nocodb-sdk/src/lib/UITypes.ts b/packages/nocodb-sdk/src/lib/UITypes.ts index d5fa23214c..f7895f0cac 100644 --- a/packages/nocodb-sdk/src/lib/UITypes.ts +++ b/packages/nocodb-sdk/src/lib/UITypes.ts @@ -202,4 +202,11 @@ export const getEquivalentUIType = ({ } }; +export const isSelectTypeCol = ( + colOrUidt: ColumnType | { uidt: UITypes | string } | UITypes | string +) => { + return [UITypes.SingleSelect, UITypes.MultiSelect, UITypes.User].includes( + (typeof colOrUidt === 'object' ? colOrUidt?.uidt : colOrUidt) + ); +}; export default UITypes; diff --git a/packages/nocodb-sdk/src/lib/index.ts b/packages/nocodb-sdk/src/lib/index.ts index e06f405e5d..2a38f678de 100644 --- a/packages/nocodb-sdk/src/lib/index.ts +++ b/packages/nocodb-sdk/src/lib/index.ts @@ -18,6 +18,7 @@ export { isCreatedOrLastModifiedByCol, isHiddenCol, getEquivalentUIType, + isSelectTypeCol, } from '~/lib/UITypes'; export { default as CustomAPI, FileType } from '~/lib/CustomAPI'; export { default as TemplateGenerator } from '~/lib/TemplateGenerator';