All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
v1.2.6 - 2025-04-08
-
Utility Abstractions: Introduced several utility functions to improve modularity and testability:
createFormProxy
(moved proxy logic out of class)deepClone
(replaces internaldeepClone
method)prepareSubmissionData
(encapsulates data transformation and file handling logic)getDefaultHeaders
(extracts CSRF token header logic)createProgressObject
(standardizes upload progress structure)formatGeneralError
andformatValidationErrors
(modular error formatting)createTimeout
(abstracts timeout creation)
-
Debounce Time Configuration: Added optional
debounceTime
parameter tosubmitDebounced
method for customizable delay duration.
- Proxy Creation: Replaced inline proxy logic within the constructor with
createFormProxy()
helper. - Deep Cloning: Refactored cloning logic to use the
deepClone()
utility instead of a private method. - Data Preparation: Moved data transformation and file handling into
prepareSubmissionData()
. - Header Management: Extracted CSRF token header logic into
getDefaultHeaders()
. - Progress Tracking: Refactored
updateProgress
to usecreateProgressObject()
for standardized formatting. - Error Handling: Replaced inline error formatting with
formatValidationErrors()
andformatGeneralError()
for better readability and separation of concerns. - Timeout Management: Switched from
window.setTimeout
tocreateTimeout()
for better control and consistency. - Cleaner Disposal: Updated
dispose()
to useObject.keys().forEach()
for better clarity and reliability when clearing object keys.
- Potential Proxy Redundancy: Improved property fallback logic by moving proxy logic out, reducing chances of conflicts or duplication.
- Error Object Casting: Made error response casting and fallback more robust using type-safe utilities.
- Form Reset Edge Cases: Fixed edge case where resetting with specific fields might not deep clone defaults properly.
- Timeout Cleanup: Ensured all timeouts (including debounce) are properly cleared in all scenarios, improving memory safety.
v1.2.5 - 2025-04-05
- Strip
lodash
and use native JS/TS functions instead
v1.2.4 - 2024-11-15
- Option to install as Vue plugin
- Laravel validation errors set without input name as key in
errors
object (#59)
v2.0.0 - 2024-11-15
Bumping version to 2.0.0
to avoid version collisions when publishing to npm
registry.
v1.2.2 - 2024-11-15
- Lodash debounce method not found (#58)
v1.2.1 - 2024-11-15
- Lodash debounce method not found (#58)
v1.2.0 - 2024-10-19
- Form Validation: Introduced a new form validation feature that validates form data based on provided rules before submission, ensuring correct data is sent.- File Upload Progress Tracking: Added support for tracking the progress of file uploads during form submission.
- Debounced Form Submission: Added support for debounced form submissions, reducing redundant network requests by delaying execution for a specified time.
- Improved Error Handling: The error handling mechanism has been improved to integrate more effectively with Laravel's backend for validation errors.
- Dependency Updates: Project dependencies have been updated to ensure compatibility and performance improvements.
- Form Error Handling: Fixed issues where form errors were not being correctly cleared or reset upon new submissions.
v1.0.11 - 2024-10-18
- Complete code refactor and restructure
- Added support for file upload progress tracking.
- Added handling of Laravel validation error responses within the form.
- Updated API to support all common HTTP methods (
GET
,POST
,PUT
,PATCH
,DELETE
). - Improved error handling and validation mechanisms to integrate seamlessly with Laravel.
- Updted dependencies
- Fixed CSRF token management for automatic inclusion in form requests.
- Fixed issues where form errors were not being properly cleared or reset upon new submissions.
v0.0.11 - 17-10-2023
- Add
getInitial
method to Form
- Update dependencies
- Update docblocks to option types and update
package.json
- Update proxy instance to use lodash when checking for reserved field names
- Fix props being set directly on form client
- Fix all props being set inside data and initial data props of form client
v0.0.10 - 11-10-2023
- Update import statements to use proper relative paths
- Export response types and error types from
index.ts
v0.0.9 - 10-10-2023
- Add
extractError
private method to Form - Add
getFirstInputFieldName
private method to Form - Add
exception
enum - Add
initialise
private method to Form
- Update type hints on
Form
class - Update http initialise method call priority
- Update README.md with CI badges
- Update error handler to extract error from response
- Fix typo on ErrorResponse interface name
v0.0.6 - 09-10-2023
- Update set data method and error handler
- Update README.md with more information about how to use with Vue 3 Composition API
v0.0.5 - 09-10-2023
- Add
getIsDirty
method to Form - Add
setIsDirty
method to Form - Add
isDirty
property to Form
- Update initials data setting mechanism
- Update
allErrors
method toerrors
- Integrate Axios types into Formlink types
v0.0.4 - 08-10-2023
- Create proxy instance when Form is instantiated
- Minor method refactors
v0.0.3 - 08-10-2023
- Update
package.json
with more information about the project - Update
package.json
with proper export details
v0.0.2 - 08-10-2023
- Update
README.md
with more information about the project - Update package description
Initial release (alpha)