From 5b332c5c5b639a6bbd7cb2fa42cc6d23a0cd11ac Mon Sep 17 00:00:00 2001 From: Ramesh Mane <101566080+rameshmane7218@users.noreply.github.com> Date: Tue, 26 Mar 2024 08:17:47 +0000 Subject: [PATCH 01/36] feat(nc-gui): form field in right pannel setup --- .../nc-gui/components/smartsheet/Form.vue | 940 +++++++++--------- 1 file changed, 467 insertions(+), 473 deletions(-) diff --git a/packages/nc-gui/components/smartsheet/Form.vue b/packages/nc-gui/components/smartsheet/Form.vue index b64ab3f9e635..12a42c0667a6 100644 --- a/packages/nc-gui/components/smartsheet/Form.vue +++ b/packages/nc-gui/components/smartsheet/Form.vue @@ -190,6 +190,15 @@ const visibleColumns = computed(() => localColumns.value.filter((f) => f.show).s const getFormLogoSrc = computed(() => getPossibleAttachmentSrc(parseProp(formViewData.value.logo_url))) +const activeField = computed({ + get: () => { + return visibleColumns.value.find((c) => c.title === activeRow.value) || null + }, + set: (val) => { + console.log('value', val) + }, +}) + const updateView = useDebounceFn( () => { updateFormView(formViewData.value) @@ -598,7 +607,8 @@ onClickOutside(draggableRef, (e) => { if ( (e.target as HTMLElement)?.closest( '.nc-dropdown-single-select-cell, .nc-dropdown-multi-select-cell, .nc-dropdown-user-select-cell, .nc-form-rich-text-field', - ) + ) || + (activeField && (e.target as HTMLElement)?.closest('.nc-form-left-drawer')) ) { return } @@ -673,6 +683,7 @@ watch(activeRow, (newValue) => { watch([focusLabel, activeRow], () => { if (activeRow && focusLabel.value) { + console.log('focus input') focusLabel.value?.focus() } }) @@ -1090,17 +1101,17 @@ useEventListener( > @@ -1399,212 +1243,361 @@ useEventListener(
- - -
-
-
- {{ $t('objects.viewType.form') }} {{ $t('objects.fields') }} -
- - {{ visibleColumns.length }}/{{ localColumns.length }} {{ $t('objects.field') }} - -
+
+ +
+
+ + +
- - + + + {{ activeField.title }} + + +  * +
+ +
+
Form Text
+ + + + + +
+
+ + -
- - {{ $t('activity.addFieldFromFormView') }} -
- + {{ $t('general.enableScanner') }} +
+
+
+
- - +
+
Field Settings
+
+ + {{ $t('general.required') }} + +
-
- +
+
Layout
+ + - - - + {{ $t('general.dropdown') }} + {{ $t('general.list') }} +
-
-
- {{ $t('title.noFieldsFound') }} + + +
+ +
+
{{ $t('labels.showOnConditions') }}
+
{{ $t('labels.showFieldOnConditionsMet') }}
-
From c5a02bd1f19d8af5421830e1e8ed42224d1be608 Mon Sep 17 00:00:00 2001 From: Ramesh Mane <101566080+rameshmane7218@users.noreply.github.com> Date: Tue, 26 Mar 2024 08:17:48 +0000 Subject: [PATCH 02/36] fix(nc-gui): inline form field reorder issue --- .../nc-gui/components/smartsheet/Form.vue | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/packages/nc-gui/components/smartsheet/Form.vue b/packages/nc-gui/components/smartsheet/Form.vue index 12a42c0667a6..9e01bc7e63db 100644 --- a/packages/nc-gui/components/smartsheet/Form.vue +++ b/packages/nc-gui/components/smartsheet/Form.vue @@ -306,11 +306,7 @@ async function onMove(event: any, isVisibleFormFields = false) { if (isVisibleFormFields) { element = localColumns.value[localColumns.value?.findIndex((c) => c.fk_column_id === element.fk_column_id)] - newIndex = localColumns.value.findIndex( - (c) => - c.fk_column_id === - visibleColumns.value[newIndex > oldIndex ? newIndex - 1 : newIndex < oldIndex ? newIndex + 1 : newIndex].fk_column_id, - ) + newIndex = localColumns.value.findIndex((c) => c.fk_column_id === visibleColumns.value[newIndex].fk_column_id) } if (!localColumns.value.length || localColumns.value.length === 1) { element.order = 1 @@ -326,7 +322,7 @@ async function onMove(event: any, isVisibleFormFields = false) { fields.value[fieldIndex] = element as any - localColumns.value = localColumns.value.sort((a, b) => { + localColumns.value = [...localColumns.value].sort((a, b) => { if (a.order !== undefined && b.order !== undefined) { return a.order - b.order } @@ -1088,7 +1084,7 @@ useEventListener( +
+ + + +
{{ element.label || element.title }} From 56c586ac0935f3ccddbd34ae8f7c6d56a263164b Mon Sep 17 00:00:00 2001 From: Ramesh Mane <101566080+rameshmane7218@users.noreply.github.com> Date: Tue, 26 Mar 2024 08:17:48 +0000 Subject: [PATCH 03/36] fix(nc-gui): make edit form field right panel scrollable --- .../nc-gui/components/smartsheet/Form.vue | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/packages/nc-gui/components/smartsheet/Form.vue b/packages/nc-gui/components/smartsheet/Form.vue index 9e01bc7e63db..31adced8fc8d 100644 --- a/packages/nc-gui/components/smartsheet/Form.vue +++ b/packages/nc-gui/components/smartsheet/Form.vue @@ -1250,13 +1250,22 @@ useEventListener(
-
+
-
- - +
+ +
@@ -1385,9 +1394,9 @@ useEventListener( />
{{ $t('labels.limitOptions') }}
-
+
{{ $t('labels.limitOptionsSubtext') }}.
-
+
Date: Tue, 26 Mar 2024 08:17:48 +0000 Subject: [PATCH 04/36] fix(nc-gui): form field limit option hide btn focus box shadow style issue --- packages/nc-gui/components/smartsheet/form/LimitOptions.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nc-gui/components/smartsheet/form/LimitOptions.vue b/packages/nc-gui/components/smartsheet/form/LimitOptions.vue index c12b9ba4c546..4f4e92df6ae0 100644 --- a/packages/nc-gui/components/smartsheet/form/LimitOptions.vue +++ b/packages/nc-gui/components/smartsheet/form/LimitOptions.vue @@ -162,7 +162,7 @@ const showOrHideAll = (showAll: boolean) => {
- + Date: Tue, 26 Mar 2024 08:17:48 +0000 Subject: [PATCH 05/36] fix(nc-gui): add support to edit form column in form view builder --- .../nc-gui/components/smartsheet/Form.vue | 73 +++++++++++++------ 1 file changed, 50 insertions(+), 23 deletions(-) diff --git a/packages/nc-gui/components/smartsheet/Form.vue b/packages/nc-gui/components/smartsheet/Form.vue index 31adced8fc8d..83f5e664496f 100644 --- a/packages/nc-gui/components/smartsheet/Form.vue +++ b/packages/nc-gui/components/smartsheet/Form.vue @@ -604,7 +604,7 @@ onClickOutside(draggableRef, (e) => { (e.target as HTMLElement)?.closest( '.nc-dropdown-single-select-cell, .nc-dropdown-multi-select-cell, .nc-dropdown-user-select-cell, .nc-form-rich-text-field', ) || - (activeField && (e.target as HTMLElement)?.closest('.nc-form-left-drawer')) + (activeField && (e.target as HTMLElement)?.closest('.nc-form-left-drawer, .nc-dropdown-form-add-column')) ) { return } @@ -679,7 +679,6 @@ watch(activeRow, (newValue) => { watch([focusLabel, activeRow], () => { if (activeRow && focusLabel.value) { - console.log('focus input') focusLabel.value?.focus() } }) @@ -1267,20 +1266,47 @@ useEventListener( />
+ +
+ + - -