From b29c0353707da7a3b44259bdfa3f35436de34c0a Mon Sep 17 00:00:00 2001 From: Afiq Date: Wed, 6 Aug 2025 19:24:03 +0800 Subject: [PATCH] Enhance Form Builder with New Component Insertion and Styling Updates - Added functionality to insert components at a specific index in the form builder, allowing for more flexible component arrangement. - Updated the form store to support the new insertion method, ensuring components can be added dynamically at designated positions. - Modified CSS styles for form components, including adjustments to disabled states and ghost component appearance for improved user experience. - Refined drag-and-drop behavior by removing animation for immediate feedback during reordering, enhancing usability. - Introduced a new background color for disabled states to maintain visual consistency across the form builder. --- assets/style/css/base/theme.css | 1 + assets/style/css/form/global.css | 2 +- assets/style/css/form/text.css | 6 +-- components/FormBuilderCanvas.vue | 25 ++++++++---- pages/form-builder/index.vue | 6 +++ stores/formBuilder.js | 68 +++++++++++++++++++++++++++++++- 6 files changed, 95 insertions(+), 13 deletions(-) diff --git a/assets/style/css/base/theme.css b/assets/style/css/base/theme.css index 69178e4..a312a90 100644 --- a/assets/style/css/base/theme.css +++ b/assets/style/css/base/theme.css @@ -10,6 +10,7 @@ html[data-theme="default"] { --border-color: 228, 228, 231; --bg-1: 243, 244, 246; --bg-2: 255, 255, 255; + --bg-disabled: 250, 250, 250; --scroll-color: 170, 170, 170; --scroll-hover-color: 155, 155, 155; --fk-border-color: 228, 228, 231; diff --git a/assets/style/css/form/global.css b/assets/style/css/form/global.css index 73416b1..c118bee 100644 --- a/assets/style/css/form/global.css +++ b/assets/style/css/form/global.css @@ -3,7 +3,7 @@ } .formkit-outer-global { - @apply mb-4 text-[rgb(var(--text-color))] formkit-disabled:opacity-50; + @apply mb-4 text-[rgb(var(--text-color))]; } .formkit-help-global { diff --git a/assets/style/css/form/text.css b/assets/style/css/form/text.css index 16ac948..25e40b7 100644 --- a/assets/style/css/form/text.css +++ b/assets/style/css/form/text.css @@ -26,9 +26,9 @@ bg-[rgb(var(--bg-2))] placeholder-[rgb(var(--fk-placeholder-color))] focus:outline-none - disabled:bg-[rgb(var(--bg-1))] - disabled:border-[rgb(var(--bg-1))] - disabled:placeholder-[rgb(var(--bg-1))]; + disabled:bg-[rgb(var(--bg-disabled))] + disabled:border-[rgb(var(--bg-disabled))] + disabled:placeholder-[rgb(var(--bg-disabled))]; } .formkit-prefix-text { diff --git a/components/FormBuilderCanvas.vue b/components/FormBuilderCanvas.vue index 0076bf9..23ce394 100644 --- a/components/FormBuilderCanvas.vue +++ b/components/FormBuilderCanvas.vue @@ -29,13 +29,14 @@ item-key="id" handle=".drag-handle" ghost-class="ghost" - animation="300" + animation="0" class="draggable-container" @end="onDragEnd" + @start="onDragStart" >