opnform-host-nginx/client
Chirag Chhatrala ff1a4d17d8
Partial submissions (#705)
* Implement partial form submissions feature

* Add status filtering for form submissions

* Add Partial Submission in Analytics

* improve partial submission

* fix lint

* Add type checking for submission ID in form submission job

* on form stats Partial Submissions only if enable

* Partial Submissions is PRO Feature

* Partial Submissions is PRO Feature

* improvement migration

* Update form submission status labels to 'Submitted' and 'In Progress'

* start partial sync when dataFormValue update

* badge size xs

* Refactor partial submission hash management

* Refactor partial form submission handling in PublicFormController

* fix submissiona

* Refactor form submission ID handling and metadata processing

- Improve submission ID extraction and decoding across controllers
- Add robust handling for submission hash and ID conversion
- Enhance metadata processing in StoreFormSubmissionJob
- Simplify submission storage logic with clearer metadata extraction
- Minor UI improvements in FormSubmissions and OpenTable components

* Enhance form submission settings UI with advanced partial submission options

- Restructure partial submissions toggle with more descriptive label
- Add advanced submission options section with Pro tag
- Improve help text for partial submissions feature
- Update ProTag with more detailed upgrade modal description

* Refactor partial form submission sync mechanism

- Improve partial submission synchronization in usePartialSubmission composable
- Replace interval-based sync with Vue's reactive watch
- Add robust handling for different form data input patterns
- Implement onBeforeUnmount hook for final sync attempt
- Enhance data synchronization reliability and performance

* Improve partial form submission validation and synchronization

* fix lint

* Refactor submission identifier processing in PublicFormController

- Updated the docblock for the method responsible for processing submission identifiers to clarify its functionality. The method now explicitly states that it converts a submission hash or string ID into a numeric submission_id, ensuring consistent internal storage format.

These changes aim to improve code documentation and enhance understanding of the method's purpose and behavior.

* Enhance Form Logic Condition Checker to Exclude Partial Submissions

- Updated the query in FormLogicConditionChecker to exclude submissions with a status of 'partial', ensuring that only complete submissions are processed.
- Minor formatting adjustment in the docblock of PublicFormController for improved clarity.

These changes aim to refine submission handling and enhance the accuracy of form logic evaluations.

* Partial Submission Test

* Refactor FormSubmissionController and PartialSubmissionTest for Consistency

- Updated the `FormSubmissionController` to improve code consistency by adjusting the formatting of anonymous functions in the `filter` and `first` methods.
- Modified `PartialSubmissionTest` to simplify the `Storage::fake()` method call, removing the unnecessary 'local' parameter for better clarity.

These changes aim to enhance code readability and maintainability across the form submission handling and testing components.

* Enhance FormSubmissionController and EditSubmissionTest for Clarity

- Added validation to the `FormSubmissionController` by introducing `$submissionData = $request->validated();` to ensure that only validated data is processed for form submissions.
- Improved code readability in the `FormSubmissionController` by adjusting the formatting of anonymous functions in the `filter` and `first` methods.
- Removed unnecessary blank lines in the `EditSubmissionTest` to streamline the test setup.

These changes aim to enhance data integrity during form submissions and improve overall code clarity and maintainability.

---------

Co-authored-by: Julien Nahum <julien@nahum.net>
2025-04-28 17:33:55 +02:00
..
components Partial submissions (#705) 2025-04-28 17:33:55 +02:00
composables Partial submissions (#705) 2025-04-28 17:33:55 +02:00
data Stripe Payment (#679) 2025-04-10 12:04:25 +02:00
i18n/lang Stripe Payment (#679) 2025-04-10 12:04:25 +02:00
layouts 0351d front end linting (#377) 2024-04-15 19:39:03 +02:00
lib Stripe Payment (#679) 2025-04-10 12:04:25 +02:00
middleware Enhance JWT Token Management and Authentication Flow (#720) 2025-03-10 17:32:17 +08:00
mixins/forms 41db1 submission editor theme fix (#500) 2024-07-24 09:50:42 +02:00
pages Partial submissions (#705) 2025-04-28 17:33:55 +02:00
plugins Sentry + Nuxt upgrade & (#738) 2025-04-01 17:41:10 +02:00
public Refactor Form Not Found Handling and Improve Error Response (#730) 2025-03-20 16:55:53 +01:00
scss Form Editor v2.5 (#599) 2024-10-23 10:34:51 +02:00
server 0351d front end linting (#377) 2024-04-15 19:39:03 +02:00
stores Enhance OAuth Providers Configuration for Stripe Integration 2025-04-10 12:20:34 +02:00
.env.docker Feature flags (#543) 2024-08-27 16:49:43 +02:00
.env.example Stripe Payment (#679) 2025-04-10 12:04:25 +02:00
.eslintrc.cjs Enhance ESLint Configuration and Improve Code Consistency 2025-03-27 11:07:39 +01:00
.gitignore Reworked docker scripts for new nuxt infrastructure (#285) 2024-01-18 16:35:45 +01:00
README.md Work in progress 2023-12-09 15:47:03 +01:00
app.config.ts Form editor v2 (#579) 2024-09-23 20:02:38 +02:00
app.vue Re-login modal (#717) 2025-03-25 10:41:11 +01:00
error.vue Track 500 errors in Sentry 2024-06-18 12:31:17 +02:00
gtm.js Migrate to GTM 2024-06-06 18:03:41 +02:00
nuxt.config.ts Stripe Payment (#679) 2025-04-10 12:04:25 +02:00
opnform.config.js Technical docs (#553) 2024-09-02 15:33:17 +02:00
package-lock.json Stripe Payment (#679) 2025-04-10 12:04:25 +02:00
package.json Stripe Payment (#679) 2025-04-10 12:04:25 +02:00
runtimeConfig.js Add client linting to GitHub Actions workflow 2025-01-27 18:24:27 +01:00
sentry.client.config.ts Sentry + Nuxt upgrade & (#738) 2025-04-01 17:41:10 +02:00
sentry.server.config.ts Sentry + Nuxt upgrade & (#738) 2025-04-01 17:41:10 +02:00
sitemap.js 0351d front end linting (#377) 2024-04-15 19:39:03 +02:00
tailwind.config.js Refactor form components (#659) 2025-01-03 16:15:47 +01:00
tsconfig.json Work in progress 2023-12-09 15:47:03 +01:00

README.md

Nuxt 3 Minimal Starter

Look at the Nuxt 3 documentation to learn more.

Setup

Make sure to install the dependencies:

# npm
npm install

# pnpm
pnpm install

# yarn
yarn install

# bun
bun install

Development Server

Start the development server on http://localhost:3000:

# npm
npm run dev

# pnpm
pnpm run dev

# yarn
yarn dev

# bun
bun run dev

Production

Build the application for production:

# npm
npm run build

# pnpm
pnpm run build

# yarn
yarn build

# bun
bun run build

Locally preview production build:

# npm
npm run preview

# pnpm
pnpm run preview

# yarn
yarn preview

# bun
bun run preview

Check out the deployment documentation for more information.