Commit Graph

94 Commits

Author SHA1 Message Date
Chirag Chhatrala eb493c357c
Enhance CheckboxInput and ToggleSwitchInput Components with Help Slot Positioning (#728)
- Introduce conditional rendering for help text in CheckboxInput.vue and ToggleSwitchInput.vue, allowing help text to be displayed either above or below the input based on the helpPosition prop.
- Update the structure of the help slot to improve flexibility and user experience.

These changes enhance the usability of the form components by providing clearer guidance to users.
2025-03-20 15:33:14 +01:00
Chirag Chhatrala 37a10cbdfa
Add regex matching filters to open_filters.json (#722)
* Add regex matching filters to open_filters.json

- Introduce new regex-based filters: matches_regex and does_not_match_regex
- Add support for string-based regex matching in both API and client filter configurations
- Update filter schemas to include new regex filter options with expected string type

* Add barcode comparators and regex filters to open_filters.json and validatePropertiesLogic.js

- Introduce new barcode comparators: equals, does_not_equal, contains, does_not_contain, starts_with, ends_with, is_empty, is_not_empty, matches_regex, does_not_match_regex, content_length_equals, content_length_does_not_equal, content_length_greater_than, content_length_greater_than_or_equal_to, content_length_less_than, content_length_less_than_or_equal_to.
- Add regex matching filters: matches_regex and does_not_match_regex to open_filters.json.
- Remove console log statements from validatePropertiesLogic.js and FormPropertyLogicRule.js for cleaner code.

This update enhances the filtering capabilities and improves the validation logic by removing unnecessary debug outputs.

* Refactor Vue Components for Improved Readability and Consistency

- Update CameraUpload.vue to enhance formatting and maintain consistent indentation for better readability.
- Modify OpenFormField.vue to improve tooltip component formatting, ensuring consistent styling across the application.
- Refactor FormSecurityAccess.vue to enhance the layout of the conditional rendering for captcha providers.
- Adjust RegisterForm.vue to improve the formatting of the terms and conditions section, ensuring consistent indentation and readability.

These changes aim to enhance code maintainability and visual consistency across the components, contributing to a cleaner codebase.

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2025-03-15 13:55:42 +08:00
Julien Nahum d836d531a7 Refactor BarcodeInput and CameraUpload Components for Enhanced UI and Functionality
- Replace SVG icon in BarcodeInput with a new Icon component for improved visual consistency.
- Update CameraUpload component to enhance styling and functionality, including:
  - Add a barcode scanning overlay for better user experience during scanning.
  - Refactor video and canvas elements to improve layout and responsiveness.
  - Adjust button sizes and styles for better accessibility and usability.
  - Implement more robust camera handling logic, including improved facing mode management and error handling for mobile devices.

These changes aim to enhance the user interface and overall functionality of the barcode scanning feature, ensuring a smoother experience for users.
2025-03-15 13:38:38 +08:00
Chirag Chhatrala c3c66e0b71
Barcode scanner issue fixed (#721)
Co-authored-by: Julien Nahum <julien@nahum.net>
2025-03-12 15:28:50 +08:00
Julien Nahum d2f77aaa3f Enhance UI components with dark mode and tooltip improvements
- Update FileInput component dark mode text color
- Modify OpenForm dragging state background for dark mode
- Refactor OpenFormField admin preview actions with tooltips and improved styling
- Add z-index and styling improvements for form field action buttons
2025-03-04 12:21:30 +08:00
Julien Nahum d2f938803b Improve Captcha Provider Handling and Availability Checks
- Add conditional rendering for captcha based on site key availability
- Dynamically generate captcha options based on configured providers
- Prevent displaying captcha input when no providers are configured
- Add runtime config checks for captcha site keys
2025-02-27 15:00:56 +08:00
Julien Nahum efd31133cc Enhance default field values and block type configuration
- Refactor field options to use default values from blocks_types.json
- Add default values for various form input types in blocks_types.json
- Improve default field initialization logic in FieldOptions and working_form store
- Add camera switching functionality for mobile devices in CameraUpload component
2025-02-19 12:25:26 +01:00
Chirag Chhatrala 83ef18f453
fix camera upload for mobile (#686)
Co-authored-by: Julien Nahum <julien@nahum.net>
2025-02-19 11:23:26 +01:00
Chirag Chhatrala 82fae97a3e
Clean up empty HTML and help text in form inputs (#700)
* Clean up empty HTML and help text in form inputs

* Update api/app/Http/Requests/UserFormRequest.php

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-02-14 15:23:09 +00:00
Chirag Chhatrala 5f0fc2f62d
Quill translate bug (#689)
Co-authored-by: Julien Nahum <julien@nahum.net>
2025-02-03 20:19:03 +01:00
Julien Nahum 4a2adcf8f7 Add client linting to GitHub Actions workflow
Enhance CI/CD pipeline by introducing a new job to run ESLint on the client application. This ensures code quality and consistency for the frontend codebase.
2025-01-27 18:24:27 +01:00
Chirag Chhatrala 06c35121a0
Set char limit on rich text (#662)
* Set char limit on rich text

* richtext placeholder
2025-01-14 11:27:37 +01:00
Chirag Chhatrala 75f82b3bc7
Refactor form components (#659)
* Add Barcode Input Component and Integrate Quagga for Scanning

- Introduced a new BarcodeInput component for scanning barcodes using the Quagga library.
- Updated package.json and package-lock.json to include Quagga as a dependency.
- Enhanced form themes to accommodate the new BarcodeInput component.
- Added localization support for barcode scanning actions in English.
- Updated blocks_types.json to register the new barcode input type.

These changes improve the application's functionality by allowing users to scan barcodes directly within forms, enhancing user experience and data input efficiency.

* Update Barcode scanner UI

* Barcode decoder as user selection

* improve barcode

* Refactor form components and update Tailwind configuration

- Removed unused box shadow styles from tailwind.config.js.
- Enhanced DateInput, FileInput, MatrixInput, RichTextAreaInput, and VSelect components with improved styling and error handling.
- Updated theme settings in form-themes.js to include new styles for MatrixInput and other form elements.
- Adjusted labels in FieldOptions.vue for clarity.
- Improved overall UI consistency and responsiveness across form components.

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2025-01-03 16:15:47 +01:00
Chirag Chhatrala 1285dc18d3
Support for Barcode reader (#650)
* Add Barcode Input Component and Integrate Quagga for Scanning

- Introduced a new BarcodeInput component for scanning barcodes using the Quagga library.
- Updated package.json and package-lock.json to include Quagga as a dependency.
- Enhanced form themes to accommodate the new BarcodeInput component.
- Added localization support for barcode scanning actions in English.
- Updated blocks_types.json to register the new barcode input type.

These changes improve the application's functionality by allowing users to scan barcodes directly within forms, enhancing user experience and data input efficiency.

* Update Barcode scanner UI

* Barcode decoder as user selection

* improve barcode
2025-01-03 16:07:58 +01:00
Chirag Chhatrala d7ce8536c8
Add reCAPTCHA support and update captcha provider handling (#647)
* Add reCAPTCHA support and update captcha provider handling

- Introduced reCAPTCHA as an additional captcha provider alongside hCaptcha.
- Updated form request validation to handle different captcha providers based on user selection.
- Added a new validation rule for reCAPTCHA.
- Modified the forms model to include a 'captcha_provider' field.
- Created a migration to add the 'captcha_provider' column to the forms table.
- Updated frontend components to support dynamic rendering of captcha based on the selected provider.
- Enhanced tests to cover scenarios for both hCaptcha and reCAPTCHA.

These changes improve the flexibility of captcha options available to users, enhancing form security and user experience.

* fix pint

* change comment text

* Refactor captcha implementation and integrate new captcha components

- Removed the old RecaptchaV2 component and replaced it with a new implementation that supports both reCAPTCHA and hCaptcha through a unified CaptchaInput component.
- Updated the OpenForm component to utilize the new CaptchaInput for dynamic captcha rendering based on user-selected provider.
- Cleaned up the package.json by removing the deprecated @hcaptcha/vue3-hcaptcha dependency.
- Enhanced form initialization to set a default captcha provider.
- Improved error handling and cleanup for both reCAPTCHA and hCaptcha scripts.

These changes streamline captcha integration, improve maintainability, and enhance user experience by providing a more flexible captcha solution.

* Refactor captcha error messages and localization support

* Refactor registration process to integrate reCAPTCHA

- Replaced hCaptcha implementation with reCAPTCHA in RegisterController and related test cases.
- Updated validation rules to utilize g-recaptcha-response instead of h-captcha-response.
- Modified RegisterForm component to support reCAPTCHA, including changes to the form data structure and component references.
- Enhanced test cases to reflect the new reCAPTCHA integration, ensuring proper validation and response handling.

These changes improve security and user experience during the registration process by adopting a more widely used captcha solution.

* Fix reCAPTCHA configuration and update RegisterForm styling

- Corrected the configuration key for reCAPTCHA in RegisterController from 'services.recaptcha.secret_key' to 'services.re_captcha.secret_key'.
- Updated the styling of the Captcha input section in RegisterForm.vue to improve layout consistency.

These changes ensure proper reCAPTCHA functionality and enhance the user interface during the registration process.

* Fix reCAPTCHA configuration in RegisterTest to use the correct key format

- Updated the configuration key for reCAPTCHA in RegisterTest from 'services.recaptcha.secret_key' to 'services.re_captcha.secret_key' to ensure proper functionality during tests.

This change aligns the test setup with the recent updates in the reCAPTCHA integration, improving the accuracy of the registration process tests.

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-12-18 16:35:09 +01:00
Chirag Chhatrala daca69267b
Form Translation (#616)
* Form Translation

* Support for other languages

* Support locale for datepicker

* Apply translation on select input

* Apply translation on select input

* Improve translation

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-12-04 18:32:14 +01:00
Chirag Chhatrala 1224b890db
Fix phoneinput inputval watcher (#631) 2024-11-25 17:26:43 +01:00
Chirag Chhatrala 5cd9885185
improve RTL mode (#625)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-11-21 16:14:27 +01:00
Chirag Chhatrala 5870c447d5
fix disabled input dark mode (#622)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-11-21 15:59:04 +01:00
Chirag Chhatrala ab83aa166c
Matrix Improvements (#606)
* Support disable on matrix

* fix checkbox and radio icon

* Use Nuxt UI toggle

* Can set max_char_limit null

* fix action icon design

* Support for URL prefill for Matrix

* Apply theme color on toggle

* Set --form-color as style variable and use it

* Set default value for form-color

* fix formatting

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-11-20 17:06:11 +01:00
Chirag Chhatrala 8a1282f4b0
Form Editor v2.5 (#599)
* Form Editor v2.5

* Remove log debug

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-10-23 10:34:51 +02:00
Chirag Chhatrala dad5c825b1
Apply Mentions everywhere (#595)
* variables and mentions

* fix lint

* add missing changes

* fix tests

* update quilly, fix bugs

* fix lint

* apply fixes

* apply fixes

* Fix MentionParser

* Apply Mentions everywhere

* Fix MentionParserTest

* Small refactoring

* Fixing quill import issues

* Polished email integration, added customer sender mail

* Add missing changes

* improve migration command

---------

Co-authored-by: Frank <csskfaves@gmail.com>
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-10-22 10:34:29 +02:00
Favour Olayinka 0208b0caa1
fix checkbox input (#582)
* fix checkbox input

* fix divs

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-10-19 11:04:47 +02:00
Favour Olayinka fa8c264cd4
fix phone input height (#585)
* fix phone input height

* fix width classes

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-10-10 10:45:01 +02:00
Chirag Chhatrala d6181cd249
Form editor v2 (#579)
* Form editor v2

* fix template test

* setFormDefaults when save

* fix form cleaning dark mode

* improvements on open sidebar

* UI polish

* Fix change type button

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-09-23 20:02:38 +02:00
Favour Olayinka 0d3733a137
fix dark mode (#558)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-09-05 09:41:58 +02:00
Favour Olayinka 3fb961af0d
fix matrix input (#556)
* fix matrix input

* Fix matrix responsiveness

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-09-04 11:51:38 +02:00
Chirag Chhatrala da0ea04475
Dynamic OauthDriver scope (#544)
* Dynamic OauthDriver scope

* support migration for mysql

* Refactor default scopes for integrations

* Small UI changes

* fix flet select tooltip

* fix linter

* Fix google token size in DB

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-29 13:28:02 +02:00
Julien Nahum 79d3dd7888
Feature flags (#543)
* Re-organize a bit controllers

* Added the featureflagcontroller

* Implement feature flags in the front-end

* Clean env files

* Clean console.log messages

* Fix feature flag test
2024-08-27 16:49:43 +02:00
Favour Olayinka 1adac8e00f
Dc3e4 new matrix field (#484)
* fix password reset bug

* wip: matrix input

* wip: matrix input

* wip: matrix input

* Fixed matric input component logic

* matrix input cleanup

* fix lint errors

* table border and radius

* cleanup, linting

* fix component methos

* wip matrix input

* matrix condition for contains and not contain

* patch matrix input condition logic

* linting

* refactor and cleanup

* fix syntax error

* Polished the matrix input

* Fix linting

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-23 15:28:21 +02:00
Chirag Chhatrala 5049ba7fb1
Manually upload signature (#521)
* Manually upload signature

* Signature upload UI changes

* fix signature on clear

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-16 16:49:23 +02:00
Boris Lepikhin 517bccc695
Zapier integration (#491)
* create zapier app

* install sanctum

* move OAuthProviderController

* make `api-external` middleware

* add zapier endpoints

* add tests

* token management

* zapier event handler

* add policy

* use `slug` instead of `id`

* wip

* check policies

* change api prefix to `external`

* ui tweaks

* validate token abilities

* open zapier URL

* zapier ui tweaks

* update zap

* Fix linting

* Added sample endpoints + minor UI changes

* Run PHP code linter

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-12 11:14:02 +02:00
Julien Nahum 2f0f87267f ESC-240: Fix null pointer exception in SelectInput getOptionName method 2024-08-07 17:30:48 +02:00
Favour Olayinka 6fc4fbafa3
auto-close datepicker (#512)
* auto-close datepicker

* auto close date modification

* remove unused attributes

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-08-05 14:22:05 +02:00
Favour Olayinka d11f59210b
41db1 submission editor theme fix (#501)
* fix password reset bug

* fix: themes on submission editor

* fix form themes

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-07-26 11:54:15 +02:00
Chirag Chhatrala bafd190ad2
fix signature input height (#497)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-07-26 11:47:42 +02:00
Favour Olayinka 5f320fbc23
41db1 submission editor theme fix (#500)
* fix password reset bug

* fix: themes on submission editor
2024-07-24 09:50:42 +02:00
Chirag Chhatrala a2c1757815
Google Sheet integration fix (#493)
* Google Sheet integration fix

* fix testcase

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-07-17 14:22:54 +02:00
Chirag Chhatrala 3a658ab7e2
Camera Upload UI fixes (#487)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-07-17 13:14:30 +02:00
Favour Olayinka 2a23c0a4f5
F24d9 custom time format (#473)
* fix password reset bug

* feat: time format in dat input

* fix lint issues

* fix time prefill, time format backend

* fix time format in OpenDate

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-07-15 23:31:04 +02:00
Chirag Chhatrala 08171adc56
fix image input clear (#485) 2024-07-15 10:07:00 +02:00
Julien Nahum 2ca2d97e8e
Better form themes (#465)
* Working on custom radius + input size

* Fix date input clear vertical align

* Moslty finished implementing small size

* Polishing larger theme

* Finish large theme

* Added size/radius options in form editor

* Darken help text, improve switch input help location

* Slight form editor improvement

* Fix styling

* Polish of the form editor
2024-06-27 17:52:49 +02:00
Favour Olayinka 1875faa123
942e6 fix scale input decimal value (#444)
* fix password reset bug

* fix default integer value on scale input
2024-06-10 13:23:18 +02:00
Favour Olayinka f9dacd0a74
B8e23 submission list UI fixes (#426)
* fix password reset bug

* fix vSwitch component, column toggle, table ordering
2024-05-29 11:00:27 +02:00
Julien Nahum ca159804f9 Simplify syntax of InputHelp 2024-05-27 11:27:46 +02:00
Favour Olayinka 55d50a24e9
A2683 fix decimal value page crash on scale input (#420)
* fix scale step crashing bug

* cleanup fixes

* cleanup
2024-05-24 10:34:47 +02:00
Favour Olayinka 443f4ef7b9
Checkbox input color (#413)
* stule: checkbox input color

* fix toggle switch input color

* clean up console.log
2024-05-20 13:57:36 +02:00
Chirag Chhatrala 795fcfc973
Select Design Changes (#409)
* Select Design Changes

* update theme file for SelectInput

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-05-16 14:50:40 +02:00
Favour Olayinka 34f92a6f34
slider input color (#391)
* slider input color

* fix slider input  accent  color

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2024-05-07 13:29:19 +02:00
Favour Olayinka 6d50bba76b
fix date input (#399)
Co-authored-by: Julien Nahum <julien@nahum.net>
2024-05-06 12:42:21 +02:00