@blueprint-ts/core 4.1.0-beta.1 → 4.1.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bulkRequests/BulkRequestEvent.enum.d.ts +4 -0
- package/dist/bulkRequests/BulkRequestEvent.enum.js +5 -0
- package/dist/bulkRequests/BulkRequestSender.d.ts +31 -0
- package/dist/bulkRequests/BulkRequestSender.js +161 -0
- package/dist/bulkRequests/BulkRequestWrapper.d.ts +15 -0
- package/dist/bulkRequests/BulkRequestWrapper.js +50 -0
- package/dist/bulkRequests/index.d.ts +5 -0
- package/dist/bulkRequests/index.js +5 -0
- package/{src/laravel/pagination/contracts/PaginationResponseBodyContract.ts → dist/laravel/pagination/contracts/PaginationResponseBodyContract.d.ts} +4 -4
- package/dist/laravel/pagination/contracts/PaginationResponseBodyContract.js +1 -0
- package/dist/laravel/pagination/dataDrivers/RequestDriver.d.ts +10 -0
- package/dist/laravel/pagination/dataDrivers/RequestDriver.js +18 -0
- package/dist/laravel/pagination/index.d.ts +4 -0
- package/dist/laravel/pagination/index.js +2 -0
- package/dist/laravel/requests/JsonBaseRequest.d.ts +14 -0
- package/dist/laravel/requests/JsonBaseRequest.js +15 -0
- package/dist/laravel/requests/PaginationJsonBaseRequest.d.ts +8 -0
- package/dist/laravel/requests/PaginationJsonBaseRequest.js +13 -0
- package/dist/laravel/requests/index.d.ts +7 -0
- package/dist/laravel/requests/index.js +5 -0
- package/dist/laravel/requests/responses/JsonResponse.d.ts +5 -0
- package/dist/laravel/requests/responses/JsonResponse.js +6 -0
- package/dist/laravel/requests/responses/PaginationResponse.d.ts +7 -0
- package/dist/laravel/requests/responses/PaginationResponse.js +9 -0
- package/dist/pagination/BasePaginator.d.ts +19 -0
- package/dist/pagination/BasePaginator.js +65 -0
- package/dist/pagination/InfiniteScroller.d.ts +6 -0
- package/dist/pagination/InfiniteScroller.js +17 -0
- package/dist/pagination/PageAwarePaginator.d.ts +32 -0
- package/dist/pagination/PageAwarePaginator.js +86 -0
- package/dist/pagination/StatePaginator.d.ts +25 -0
- package/dist/pagination/StatePaginator.js +55 -0
- package/dist/pagination/contracts/BaseViewDriverContract.d.ts +6 -0
- package/dist/pagination/contracts/BaseViewDriverContract.js +1 -0
- package/{src/pagination/contracts/BaseViewDriverFactoryContract.ts → dist/pagination/contracts/BaseViewDriverFactoryContract.d.ts} +2 -3
- package/dist/pagination/contracts/BaseViewDriverFactoryContract.js +1 -0
- package/dist/pagination/contracts/PaginateableRequestContract.d.ts +4 -0
- package/dist/pagination/contracts/PaginateableRequestContract.js +1 -0
- package/dist/pagination/contracts/PaginationDataDriverContract.d.ts +4 -0
- package/dist/pagination/contracts/PaginationDataDriverContract.js +1 -0
- package/{src/pagination/contracts/PaginationResponseContract.ts → dist/pagination/contracts/PaginationResponseContract.d.ts} +3 -5
- package/dist/pagination/contracts/PaginationResponseContract.js +1 -0
- package/{src/pagination/contracts/PaginatorLoadDataOptions.ts → dist/pagination/contracts/PaginatorLoadDataOptions.d.ts} +2 -2
- package/dist/pagination/contracts/PaginatorLoadDataOptions.js +1 -0
- package/{src/pagination/contracts/StatePaginationDataDriverContract.ts → dist/pagination/contracts/StatePaginationDataDriverContract.d.ts} +2 -3
- package/dist/pagination/contracts/StatePaginationDataDriverContract.js +1 -0
- package/dist/pagination/contracts/ViewDriverContract.d.ts +9 -0
- package/dist/pagination/contracts/ViewDriverContract.js +1 -0
- package/dist/pagination/contracts/ViewDriverFactoryContract.d.ts +4 -0
- package/dist/pagination/contracts/ViewDriverFactoryContract.js +1 -0
- package/dist/pagination/dataDrivers/ArrayDriver.d.ts +9 -0
- package/dist/pagination/dataDrivers/ArrayDriver.js +20 -0
- package/dist/pagination/dtos/PaginationDataDto.d.ts +7 -0
- package/dist/pagination/dtos/PaginationDataDto.js +12 -0
- package/dist/pagination/dtos/StatePaginationDataDto.d.ts +7 -0
- package/dist/pagination/dtos/StatePaginationDataDto.js +13 -0
- package/dist/pagination/factories/VueBaseViewDriverFactory.d.ts +5 -0
- package/dist/pagination/factories/VueBaseViewDriverFactory.js +6 -0
- package/dist/pagination/factories/VuePaginationDriverFactory.d.ts +5 -0
- package/dist/pagination/factories/VuePaginationDriverFactory.js +6 -0
- package/dist/pagination/frontendDrivers/VueBaseViewDriver.d.ts +11 -0
- package/dist/pagination/frontendDrivers/VueBaseViewDriver.js +19 -0
- package/dist/pagination/frontendDrivers/VuePaginationDriver.d.ts +21 -0
- package/dist/pagination/frontendDrivers/VuePaginationDriver.js +41 -0
- package/dist/pagination/index.d.ts +22 -0
- package/dist/pagination/index.js +13 -0
- package/dist/persistenceDrivers/LocalStorageDriver.d.ts +9 -0
- package/dist/persistenceDrivers/LocalStorageDriver.js +18 -0
- package/dist/persistenceDrivers/NonPersistentDriver.d.ts +7 -0
- package/dist/persistenceDrivers/NonPersistentDriver.js +8 -0
- package/dist/persistenceDrivers/SessionStorageDriver.d.ts +9 -0
- package/dist/persistenceDrivers/SessionStorageDriver.js +18 -0
- package/dist/persistenceDrivers/index.d.ts +6 -0
- package/dist/persistenceDrivers/index.js +4 -0
- package/dist/persistenceDrivers/types/PersistenceDriver.d.ts +5 -0
- package/dist/persistenceDrivers/types/PersistenceDriver.js +1 -0
- package/dist/requests/BaseRequest.d.ts +62 -0
- package/dist/requests/BaseRequest.js +224 -0
- package/dist/requests/ErrorHandler.d.ts +11 -0
- package/dist/requests/ErrorHandler.js +127 -0
- package/dist/requests/RequestConcurrencyMode.enum.d.ts +6 -0
- package/dist/requests/RequestConcurrencyMode.enum.js +7 -0
- package/dist/requests/RequestErrorRouter.d.ts +38 -0
- package/dist/requests/RequestErrorRouter.js +38 -0
- package/dist/requests/RequestEvents.enum.d.ts +4 -0
- package/dist/requests/RequestEvents.enum.js +5 -0
- package/dist/requests/RequestMethod.enum.d.ts +8 -0
- package/dist/requests/RequestMethod.enum.js +9 -0
- package/dist/requests/bodies/BinaryBody.d.ts +10 -0
- package/dist/requests/bodies/BinaryBody.js +22 -0
- package/dist/requests/bodies/FormDataBody.d.ts +14 -0
- package/dist/requests/bodies/FormDataBody.js +60 -0
- package/dist/requests/bodies/JsonBody.d.ts +8 -0
- package/dist/requests/bodies/JsonBody.js +13 -0
- package/{src/requests/contracts/AbortableRequestContract.ts → dist/requests/contracts/AbortableRequestContract.d.ts} +1 -1
- package/dist/requests/contracts/AbortableRequestContract.js +1 -0
- package/dist/requests/contracts/BaseRequestContract.d.ts +23 -0
- package/dist/requests/contracts/BaseRequestContract.js +1 -0
- package/dist/requests/contracts/BodyContract.d.ts +6 -0
- package/dist/requests/contracts/BodyContract.js +1 -0
- package/dist/requests/contracts/BodyFactoryContract.d.ts +4 -0
- package/dist/requests/contracts/BodyFactoryContract.js +1 -0
- package/dist/requests/contracts/DriverConfigContract.d.ts +8 -0
- package/dist/requests/contracts/DriverConfigContract.js +1 -0
- package/dist/requests/contracts/HeadersContract.d.ts +7 -0
- package/dist/requests/contracts/HeadersContract.js +1 -0
- package/dist/requests/contracts/RequestDriverContract.d.ts +8 -0
- package/dist/requests/contracts/RequestDriverContract.js +1 -0
- package/dist/requests/contracts/RequestLoaderContract.d.ts +4 -0
- package/dist/requests/contracts/RequestLoaderContract.js +1 -0
- package/{src/requests/contracts/RequestLoaderFactoryContract.ts → dist/requests/contracts/RequestLoaderFactoryContract.d.ts} +2 -3
- package/dist/requests/contracts/RequestLoaderFactoryContract.js +1 -0
- package/dist/requests/contracts/ResponseContract.d.ts +5 -0
- package/dist/requests/contracts/ResponseContract.js +1 -0
- package/dist/requests/drivers/contracts/ResponseHandlerContract.d.ts +9 -0
- package/dist/requests/drivers/contracts/ResponseHandlerContract.js +1 -0
- package/dist/requests/drivers/fetch/FetchDriver.d.ts +26 -0
- package/dist/requests/drivers/fetch/FetchDriver.js +73 -0
- package/dist/requests/drivers/fetch/FetchResponse.d.ts +12 -0
- package/dist/requests/drivers/fetch/FetchResponse.js +38 -0
- package/dist/requests/drivers/xhr/XMLHttpRequestDriver.d.ts +13 -0
- package/dist/requests/drivers/xhr/XMLHttpRequestDriver.js +107 -0
- package/dist/requests/drivers/xhr/XMLHttpRequestResponse.d.ts +17 -0
- package/dist/requests/drivers/xhr/XMLHttpRequestResponse.js +84 -0
- package/dist/requests/exceptions/BadGatewayException.d.ts +3 -0
- package/dist/requests/exceptions/BadGatewayException.js +3 -0
- package/dist/requests/exceptions/BadRequestException.d.ts +3 -0
- package/dist/requests/exceptions/BadRequestException.js +3 -0
- package/dist/requests/exceptions/ConflictException.d.ts +3 -0
- package/dist/requests/exceptions/ConflictException.js +3 -0
- package/dist/requests/exceptions/ForbiddenException.d.ts +3 -0
- package/dist/requests/exceptions/ForbiddenException.js +3 -0
- package/dist/requests/exceptions/GatewayTimeoutException.d.ts +3 -0
- package/dist/requests/exceptions/GatewayTimeoutException.js +3 -0
- package/dist/requests/exceptions/GoneException.d.ts +3 -0
- package/dist/requests/exceptions/GoneException.js +3 -0
- package/dist/requests/exceptions/InvalidJsonException.d.ts +7 -0
- package/dist/requests/exceptions/InvalidJsonException.js +10 -0
- package/dist/requests/exceptions/LockedException.d.ts +3 -0
- package/dist/requests/exceptions/LockedException.js +3 -0
- package/dist/requests/exceptions/MethodNotAllowedException.d.ts +3 -0
- package/dist/requests/exceptions/MethodNotAllowedException.js +3 -0
- package/dist/requests/exceptions/NoResponseReceivedException.d.ts +3 -0
- package/{src/requests/exceptions/NoResponseReceivedException.ts → dist/requests/exceptions/NoResponseReceivedException.js} +3 -3
- package/dist/requests/exceptions/NotFoundException.d.ts +3 -0
- package/dist/requests/exceptions/NotFoundException.js +3 -0
- package/dist/requests/exceptions/NotImplementedException.d.ts +3 -0
- package/dist/requests/exceptions/NotImplementedException.js +3 -0
- package/dist/requests/exceptions/PageExpiredException.d.ts +3 -0
- package/dist/requests/exceptions/PageExpiredException.js +3 -0
- package/dist/requests/exceptions/PayloadTooLargeException.d.ts +3 -0
- package/dist/requests/exceptions/PayloadTooLargeException.js +3 -0
- package/dist/requests/exceptions/PreconditionFailedException.d.ts +3 -0
- package/dist/requests/exceptions/PreconditionFailedException.js +3 -0
- package/dist/requests/exceptions/RequestTimeoutException.d.ts +3 -0
- package/dist/requests/exceptions/RequestTimeoutException.js +3 -0
- package/dist/requests/exceptions/ResponseBodyException.d.ts +7 -0
- package/dist/requests/exceptions/ResponseBodyException.js +10 -0
- package/dist/requests/exceptions/ResponseException.d.ts +6 -0
- package/dist/requests/exceptions/ResponseException.js +9 -0
- package/dist/requests/exceptions/ServerErrorException.d.ts +3 -0
- package/dist/requests/exceptions/ServerErrorException.js +3 -0
- package/dist/requests/exceptions/ServiceUnavailableException.d.ts +3 -0
- package/dist/requests/exceptions/ServiceUnavailableException.js +3 -0
- package/dist/requests/exceptions/StaleResponseException.d.ts +5 -0
- package/dist/requests/exceptions/StaleResponseException.js +10 -0
- package/dist/requests/exceptions/TooManyRequestsException.d.ts +3 -0
- package/dist/requests/exceptions/TooManyRequestsException.js +3 -0
- package/dist/requests/exceptions/UnauthorizedException.d.ts +3 -0
- package/dist/requests/exceptions/UnauthorizedException.js +3 -0
- package/dist/requests/exceptions/UnsupportedMediaTypeException.d.ts +3 -0
- package/dist/requests/exceptions/UnsupportedMediaTypeException.js +3 -0
- package/dist/requests/exceptions/ValidationException.d.ts +3 -0
- package/dist/requests/exceptions/ValidationException.js +3 -0
- package/dist/requests/exceptions/index.d.ts +25 -0
- package/dist/requests/exceptions/index.js +25 -0
- package/dist/requests/factories/BinaryBodyFactory.d.ts +8 -0
- package/dist/requests/factories/BinaryBodyFactory.js +9 -0
- package/dist/requests/factories/FormDataFactory.d.ts +12 -0
- package/dist/requests/factories/FormDataFactory.js +6 -0
- package/dist/requests/factories/JsonBodyFactory.d.ts +5 -0
- package/dist/requests/factories/JsonBodyFactory.js +6 -0
- package/dist/requests/index.d.ts +31 -0
- package/dist/requests/index.js +19 -0
- package/dist/requests/responses/BaseResponse.d.ts +14 -0
- package/dist/requests/responses/BaseResponse.js +36 -0
- package/dist/requests/responses/BlobResponse.d.ts +7 -0
- package/dist/requests/responses/BlobResponse.js +16 -0
- package/dist/requests/responses/JsonResponse.d.ts +5 -0
- package/dist/requests/responses/JsonResponse.js +12 -0
- package/dist/requests/responses/PlainTextResponse.d.ts +5 -0
- package/dist/requests/responses/PlainTextResponse.js +12 -0
- package/{src/requests/types/RequestConcurrencyOptions.ts → dist/requests/types/RequestConcurrencyOptions.d.ts} +4 -5
- package/dist/requests/types/RequestConcurrencyOptions.js +1 -0
- package/dist/requests/types/RequestUploadProgress.d.ts +6 -0
- package/dist/requests/types/RequestUploadProgress.js +1 -0
- package/dist/support/DeferredPromise.d.ts +37 -0
- package/dist/support/DeferredPromise.js +55 -0
- package/dist/support/helpers.d.ts +5 -0
- package/dist/support/helpers.js +69 -0
- package/{src/support/index.ts → dist/support/index.d.ts} +3 -4
- package/dist/support/index.js +3 -0
- package/dist/vue/composables/useConfirmDialog.d.ts +20 -0
- package/dist/vue/composables/useConfirmDialog.js +52 -0
- package/dist/vue/composables/useGlobalCheckbox.d.ts +13 -0
- package/dist/vue/composables/useGlobalCheckbox.js +123 -0
- package/dist/vue/composables/useIsEmpty.d.ts +4 -0
- package/dist/vue/composables/useIsEmpty.js +27 -0
- package/dist/vue/composables/useIsOpen.d.ts +5 -0
- package/dist/vue/composables/useIsOpen.js +25 -0
- package/dist/vue/composables/useIsOpenFromVar.d.ts +6 -0
- package/dist/vue/composables/useIsOpenFromVar.js +45 -0
- package/dist/vue/composables/useModelWrapper.d.ts +9 -0
- package/dist/vue/composables/useModelWrapper.js +18 -0
- package/dist/vue/composables/useOnOpen.d.ts +7 -0
- package/dist/vue/composables/useOnOpen.js +25 -0
- package/{src/vue/contracts/ModelValueOptions.ts → dist/vue/contracts/ModelValueOptions.d.ts} +1 -1
- package/dist/vue/contracts/ModelValueOptions.js +1 -0
- package/dist/vue/contracts/ModelValueProps.d.ts +3 -0
- package/dist/vue/contracts/ModelValueProps.js +1 -0
- package/dist/vue/forms/BaseForm.d.ts +162 -0
- package/dist/vue/forms/BaseForm.js +997 -0
- package/dist/vue/forms/PropertyAwareArray.d.ts +53 -0
- package/dist/vue/forms/PropertyAwareArray.js +54 -0
- package/{src/vue/forms/index.ts → dist/vue/forms/index.d.ts} +9 -11
- package/dist/vue/forms/index.js +6 -0
- package/dist/vue/forms/types/PersistedForm.d.ts +6 -0
- package/dist/vue/forms/types/PersistedForm.js +1 -0
- package/dist/vue/forms/validation/ValidationMode.enum.d.ts +11 -0
- package/dist/vue/forms/validation/ValidationMode.enum.js +14 -0
- package/dist/vue/forms/validation/index.d.ts +12 -0
- package/dist/vue/forms/validation/index.js +9 -0
- package/dist/vue/forms/validation/rules/BaseRule.d.ts +5 -0
- package/dist/vue/forms/validation/rules/BaseRule.js +5 -0
- package/dist/vue/forms/validation/rules/ConfirmedRule.d.ts +10 -0
- package/dist/vue/forms/validation/rules/ConfirmedRule.js +26 -0
- package/dist/vue/forms/validation/rules/EmailRule.d.ts +7 -0
- package/dist/vue/forms/validation/rules/EmailRule.js +19 -0
- package/dist/vue/forms/validation/rules/JsonRule.d.ts +7 -0
- package/dist/vue/forms/validation/rules/JsonRule.js +25 -0
- package/dist/vue/forms/validation/rules/MinRule.d.ts +26 -0
- package/dist/vue/forms/validation/rules/MinRule.js +52 -0
- package/dist/vue/forms/validation/rules/RequiredRule.d.ts +7 -0
- package/dist/vue/forms/validation/rules/RequiredRule.js +16 -0
- package/dist/vue/forms/validation/rules/UrlRule.d.ts +7 -0
- package/dist/vue/forms/validation/rules/UrlRule.js +22 -0
- package/{src/vue/forms/validation/types/BidirectionalRule.ts → dist/vue/forms/validation/types/BidirectionalRule.d.ts} +4 -4
- package/dist/vue/forms/validation/types/BidirectionalRule.js +1 -0
- package/dist/vue/forms/validation/types/ValidationRules.d.ts +11 -0
- package/dist/vue/forms/validation/types/ValidationRules.js +1 -0
- package/dist/vue/index.d.ts +11 -0
- package/dist/vue/index.js +10 -0
- package/dist/vue/requests/factories/VueRequestLoaderFactory.d.ts +6 -0
- package/dist/vue/requests/factories/VueRequestLoaderFactory.js +6 -0
- package/{src/vue/requests/index.ts → dist/vue/requests/index.d.ts} +4 -5
- package/dist/vue/requests/index.js +4 -0
- package/dist/vue/requests/loaders/VueRequestBatchLoader.d.ts +12 -0
- package/dist/vue/requests/loaders/VueRequestBatchLoader.js +29 -0
- package/dist/vue/requests/loaders/VueRequestLoader.d.ts +8 -0
- package/dist/vue/requests/loaders/VueRequestLoader.js +12 -0
- package/dist/vue/router/routeResourceBinding/RouteResourceBoundView.d.ts +57 -0
- package/dist/vue/router/routeResourceBinding/RouteResourceBoundView.js +135 -0
- package/dist/vue/router/routeResourceBinding/RouteResourceRequestResolver.d.ts +6 -0
- package/dist/vue/router/routeResourceBinding/RouteResourceRequestResolver.js +20 -0
- package/dist/vue/router/routeResourceBinding/defineRoute.d.ts +23 -0
- package/dist/vue/router/routeResourceBinding/defineRoute.js +42 -0
- package/dist/vue/router/routeResourceBinding/index.d.ts +8 -0
- package/dist/vue/router/routeResourceBinding/index.js +6 -0
- package/dist/vue/router/routeResourceBinding/installRouteInjection.d.ts +14 -0
- package/dist/vue/router/routeResourceBinding/installRouteInjection.js +133 -0
- package/dist/vue/router/routeResourceBinding/types.d.ts +55 -0
- package/dist/vue/router/routeResourceBinding/types.js +1 -0
- package/dist/vue/router/routeResourceBinding/useRouteResource.d.ts +8 -0
- package/dist/vue/router/routeResourceBinding/useRouteResource.js +29 -0
- package/dist/vue/state/State.d.ts +75 -0
- package/dist/vue/state/State.js +267 -0
- package/dist/vue/state/index.d.ts +2 -0
- package/dist/vue/state/index.js +2 -0
- package/package.json +81 -23
- package/.editorconfig +0 -508
- package/.eslintrc.cjs +0 -15
- package/.prettierrc.json +0 -8
- package/CHANGELOG.md +0 -213
- package/docker-compose.yaml +0 -8
- package/docs/.vitepress/config.ts +0 -124
- package/docs/index.md +0 -13
- package/docs/laravel/pagination.md +0 -67
- package/docs/laravel/requests.md +0 -62
- package/docs/services/pagination/index.md +0 -46
- package/docs/services/pagination/infinite-scroller.md +0 -20
- package/docs/services/pagination/page-aware.md +0 -51
- package/docs/services/pagination/state-pagination.md +0 -77
- package/docs/services/pagination/updating-rows.md +0 -52
- package/docs/services/persistence/index.md +0 -46
- package/docs/services/requests/abort-requests.md +0 -29
- package/docs/services/requests/bulk-requests.md +0 -70
- package/docs/services/requests/concurrency.md +0 -58
- package/docs/services/requests/drivers.md +0 -115
- package/docs/services/requests/error-handling.md +0 -153
- package/docs/services/requests/events.md +0 -53
- package/docs/services/requests/file-uploads.md +0 -105
- package/docs/services/requests/getting-started.md +0 -201
- package/docs/services/requests/headers.md +0 -40
- package/docs/services/requests/loading.md +0 -63
- package/docs/services/requests/request-bodies.md +0 -61
- package/docs/services/requests/responses.md +0 -34
- package/docs/services/support/deferred-promise.md +0 -63
- package/docs/services/support/helpers.md +0 -77
- package/docs/services/support/index.md +0 -6
- package/docs/upgrading/v1-to-v2.md +0 -64
- package/docs/upgrading/v2-to-v3.md +0 -52
- package/docs/upgrading/v3-to-v4.md +0 -214
- package/docs/upgrading.md +0 -0
- package/docs/vue/composables/use-confirm-dialog.md +0 -96
- package/docs/vue/composables/use-global-checkbox.md +0 -73
- package/docs/vue/composables/use-is-empty.md +0 -26
- package/docs/vue/composables/use-is-open-from-var.md +0 -32
- package/docs/vue/composables/use-is-open.md +0 -28
- package/docs/vue/composables/use-model-wrapper.md +0 -29
- package/docs/vue/composables/use-on-open.md +0 -26
- package/docs/vue/forms/arrays.md +0 -102
- package/docs/vue/forms/errors.md +0 -52
- package/docs/vue/forms/index.md +0 -99
- package/docs/vue/forms/payloads.md +0 -99
- package/docs/vue/forms/persistence.md +0 -19
- package/docs/vue/forms/state-and-properties.md +0 -26
- package/docs/vue/forms/utilities.md +0 -27
- package/docs/vue/forms/validation.md +0 -189
- package/docs/vue/requests/loading.md +0 -51
- package/docs/vue/router/route-resource-binding.md +0 -240
- package/docs/vue/state.md +0 -309
- package/env.d.ts +0 -1
- package/eslint.config.js +0 -15
- package/release-tool.json +0 -26
- package/src/bulkRequests/BulkRequestEvent.enum.ts +0 -4
- package/src/bulkRequests/BulkRequestSender.ts +0 -196
- package/src/bulkRequests/BulkRequestWrapper.ts +0 -49
- package/src/bulkRequests/index.ts +0 -6
- package/src/laravel/pagination/dataDrivers/RequestDriver.ts +0 -30
- package/src/laravel/pagination/index.ts +0 -6
- package/src/laravel/requests/JsonBaseRequest.ts +0 -35
- package/src/laravel/requests/PaginationJsonBaseRequest.ts +0 -29
- package/src/laravel/requests/index.ts +0 -9
- package/src/laravel/requests/responses/JsonResponse.ts +0 -8
- package/src/laravel/requests/responses/PaginationResponse.ts +0 -16
- package/src/pagination/BasePaginator.ts +0 -94
- package/src/pagination/InfiniteScroller.ts +0 -22
- package/src/pagination/PageAwarePaginator.ts +0 -132
- package/src/pagination/StatePaginator.ts +0 -86
- package/src/pagination/contracts/BaseViewDriverContract.ts +0 -6
- package/src/pagination/contracts/PaginateableRequestContract.ts +0 -13
- package/src/pagination/contracts/PaginationDataDriverContract.ts +0 -5
- package/src/pagination/contracts/ViewDriverContract.ts +0 -10
- package/src/pagination/contracts/ViewDriverFactoryContract.ts +0 -5
- package/src/pagination/dataDrivers/ArrayDriver.ts +0 -28
- package/src/pagination/dtos/PaginationDataDto.ts +0 -14
- package/src/pagination/dtos/StatePaginationDataDto.ts +0 -19
- package/src/pagination/factories/VueBaseViewDriverFactory.ts +0 -9
- package/src/pagination/factories/VuePaginationDriverFactory.ts +0 -9
- package/src/pagination/frontendDrivers/VueBaseViewDriver.ts +0 -28
- package/src/pagination/frontendDrivers/VuePaginationDriver.ts +0 -61
- package/src/pagination/index.ts +0 -46
- package/src/persistenceDrivers/LocalStorageDriver.ts +0 -22
- package/src/persistenceDrivers/NonPersistentDriver.ts +0 -12
- package/src/persistenceDrivers/SessionStorageDriver.ts +0 -22
- package/src/persistenceDrivers/index.ts +0 -8
- package/src/persistenceDrivers/types/PersistenceDriver.ts +0 -5
- package/src/requests/BaseRequest.ts +0 -321
- package/src/requests/ErrorHandler.ts +0 -144
- package/src/requests/RequestConcurrencyMode.enum.ts +0 -6
- package/src/requests/RequestErrorRouter.ts +0 -89
- package/src/requests/RequestEvents.enum.ts +0 -4
- package/src/requests/RequestMethod.enum.ts +0 -8
- package/src/requests/bodies/FormDataBody.ts +0 -81
- package/src/requests/bodies/JsonBody.ts +0 -16
- package/src/requests/contracts/BaseRequestContract.ts +0 -39
- package/src/requests/contracts/BodyContract.ts +0 -7
- package/src/requests/contracts/BodyFactoryContract.ts +0 -5
- package/src/requests/contracts/DriverConfigContract.ts +0 -9
- package/src/requests/contracts/HeadersContract.ts +0 -5
- package/src/requests/contracts/RequestDriverContract.ts +0 -15
- package/src/requests/contracts/RequestLoaderContract.ts +0 -5
- package/src/requests/contracts/ResponseContract.ts +0 -7
- package/src/requests/drivers/contracts/ResponseHandlerContract.ts +0 -10
- package/src/requests/drivers/fetch/FetchDriver.ts +0 -115
- package/src/requests/drivers/fetch/FetchResponse.ts +0 -30
- package/src/requests/drivers/xhr/XMLHttpRequestDriver.ts +0 -138
- package/src/requests/drivers/xhr/XMLHttpRequestResponse.ts +0 -95
- package/src/requests/exceptions/BadGatewayException.ts +0 -3
- package/src/requests/exceptions/BadRequestException.ts +0 -3
- package/src/requests/exceptions/ConflictException.ts +0 -3
- package/src/requests/exceptions/ForbiddenException.ts +0 -3
- package/src/requests/exceptions/GatewayTimeoutException.ts +0 -3
- package/src/requests/exceptions/GoneException.ts +0 -3
- package/src/requests/exceptions/InvalidJsonException.ts +0 -15
- package/src/requests/exceptions/LockedException.ts +0 -3
- package/src/requests/exceptions/MethodNotAllowedException.ts +0 -3
- package/src/requests/exceptions/NotFoundException.ts +0 -3
- package/src/requests/exceptions/NotImplementedException.ts +0 -3
- package/src/requests/exceptions/PageExpiredException.ts +0 -3
- package/src/requests/exceptions/PayloadTooLargeException.ts +0 -3
- package/src/requests/exceptions/PreconditionFailedException.ts +0 -3
- package/src/requests/exceptions/RequestTimeoutException.ts +0 -3
- package/src/requests/exceptions/ResponseBodyException.ts +0 -15
- package/src/requests/exceptions/ResponseException.ts +0 -11
- package/src/requests/exceptions/ServerErrorException.ts +0 -3
- package/src/requests/exceptions/ServiceUnavailableException.ts +0 -3
- package/src/requests/exceptions/StaleResponseException.ts +0 -13
- package/src/requests/exceptions/TooManyRequestsException.ts +0 -3
- package/src/requests/exceptions/UnauthorizedException.ts +0 -3
- package/src/requests/exceptions/UnsupportedMediaTypeException.ts +0 -3
- package/src/requests/exceptions/ValidationException.ts +0 -3
- package/src/requests/exceptions/index.ts +0 -51
- package/src/requests/factories/FormDataFactory.ts +0 -17
- package/src/requests/factories/JsonBodyFactory.ts +0 -9
- package/src/requests/index.ts +0 -61
- package/src/requests/responses/BaseResponse.ts +0 -41
- package/src/requests/responses/BlobResponse.ts +0 -19
- package/src/requests/responses/JsonResponse.ts +0 -15
- package/src/requests/responses/PlainTextResponse.ts +0 -15
- package/src/requests/types/RequestUploadProgress.ts +0 -6
- package/src/support/DeferredPromise.ts +0 -67
- package/src/support/helpers.ts +0 -78
- package/src/vue/composables/useConfirmDialog.ts +0 -63
- package/src/vue/composables/useGlobalCheckbox.ts +0 -145
- package/src/vue/composables/useIsEmpty.ts +0 -34
- package/src/vue/composables/useIsOpen.ts +0 -37
- package/src/vue/composables/useIsOpenFromVar.ts +0 -61
- package/src/vue/composables/useModelWrapper.ts +0 -27
- package/src/vue/composables/useOnOpen.ts +0 -34
- package/src/vue/contracts/ModelValueProps.ts +0 -3
- package/src/vue/forms/BaseForm.ts +0 -1192
- package/src/vue/forms/PropertyAwareArray.ts +0 -81
- package/src/vue/forms/types/PersistedForm.ts +0 -6
- package/src/vue/forms/validation/ValidationMode.enum.ts +0 -14
- package/src/vue/forms/validation/index.ts +0 -15
- package/src/vue/forms/validation/rules/BaseRule.ts +0 -7
- package/src/vue/forms/validation/rules/ConfirmedRule.ts +0 -39
- package/src/vue/forms/validation/rules/EmailRule.ts +0 -23
- package/src/vue/forms/validation/rules/JsonRule.ts +0 -28
- package/src/vue/forms/validation/rules/MinRule.ts +0 -61
- package/src/vue/forms/validation/rules/RequiredRule.ts +0 -19
- package/src/vue/forms/validation/rules/UrlRule.ts +0 -24
- package/src/vue/forms/validation/types/ValidationRules.ts +0 -15
- package/src/vue/index.ts +0 -14
- package/src/vue/requests/factories/VueRequestLoaderFactory.ts +0 -10
- package/src/vue/requests/loaders/VueRequestBatchLoader.ts +0 -35
- package/src/vue/requests/loaders/VueRequestLoader.ts +0 -18
- package/src/vue/router/routeResourceBinding/RouteResourceBoundView.ts +0 -145
- package/src/vue/router/routeResourceBinding/RouteResourceRequestResolver.ts +0 -11
- package/src/vue/router/routeResourceBinding/defineRoute.ts +0 -59
- package/src/vue/router/routeResourceBinding/index.ts +0 -11
- package/src/vue/router/routeResourceBinding/installRouteInjection.ts +0 -164
- package/src/vue/router/routeResourceBinding/types.ts +0 -53
- package/src/vue/router/routeResourceBinding/useRouteResource.ts +0 -24
- package/src/vue/state/State.ts +0 -380
- package/src/vue/state/index.ts +0 -3
- package/tests/service/bulkRequests/BulkRequestSender.test.ts +0 -76
- package/tests/service/bulkRequests/BulkRequestWrapper.test.ts +0 -51
- package/tests/service/helpers/mergeDeep.test.ts +0 -53
- package/tests/service/laravel/pagination/dataDrivers/RequestDriver.test.ts +0 -84
- package/tests/service/laravel/requests/JsonBaseRequest.test.ts +0 -43
- package/tests/service/laravel/requests/PaginationJsonBaseRequest.test.ts +0 -58
- package/tests/service/laravel/requests/responses/JsonResponse.test.ts +0 -59
- package/tests/service/laravel/requests/responses/PaginationResponse.test.ts +0 -127
- package/tests/service/pagination/BasePaginator.test.ts +0 -100
- package/tests/service/pagination/InfiniteScroller.test.ts +0 -101
- package/tests/service/pagination/PageAwarePaginator.test.ts +0 -133
- package/tests/service/pagination/StatePaginator.test.ts +0 -76
- package/tests/service/pagination/VueViewDrivers.test.ts +0 -46
- package/tests/service/pagination/dtos/PaginationDataDto.test.ts +0 -35
- package/tests/service/pagination/dtos/StatePaginationDataDto.test.ts +0 -14
- package/tests/service/pagination/factories/VuePaginationDriverFactory.test.ts +0 -32
- package/tests/service/pagination/frontendDrivers/VuePaginationDriver.test.ts +0 -66
- package/tests/service/persistenceDrivers/PersistenceDrivers.test.ts +0 -56
- package/tests/service/requests/BaseRequest.test.ts +0 -250
- package/tests/service/requests/BodiesAndFactories.test.ts +0 -28
- package/tests/service/requests/Enums.test.ts +0 -20
- package/tests/service/requests/ErrorHandler.test.ts +0 -188
- package/tests/service/requests/FormDataBody.test.ts +0 -63
- package/tests/service/requests/RequestErrorRouter.test.ts +0 -44
- package/tests/service/requests/Responses.test.ts +0 -83
- package/tests/service/requests/exceptions/Exceptions.test.ts +0 -43
- package/tests/service/requests/fetch/FetchDriver.test.ts +0 -76
- package/tests/service/requests/fetch/FetchResponse.test.ts +0 -21
- package/tests/service/requests/xhr/XMLHttpRequestDriver.test.ts +0 -178
- package/tests/service/support/DeferredPromise.test.ts +0 -40
- package/tests/service/support/helpers.test.ts +0 -37
- package/tests/vue/composables/useConfirmDialog.test.ts +0 -77
- package/tests/vue/composables/useGlobalCheckbox.test.ts +0 -126
- package/tests/vue/composables/useIsEmpty.test.ts +0 -18
- package/tests/vue/composables/useIsOpen.test.ts +0 -25
- package/tests/vue/composables/useIsOpenFromVar.test.ts +0 -22
- package/tests/vue/composables/useModelWrapper.test.ts +0 -30
- package/tests/vue/composables/useOnOpen.test.ts +0 -26
- package/tests/vue/forms/BaseForm.behavior.test.ts +0 -98
- package/tests/vue/forms/BaseForm.transformers.test.ts +0 -109
- package/tests/vue/forms/PropertyAwareArray.test.ts +0 -30
- package/tests/vue/forms/validation/ValidationRules.test.ts +0 -79
- package/tests/vue/requests/VueRequestLoaders.test.ts +0 -48
- package/tests/vue/router/routeResourceBinding/RouteResourceBoundView.test.ts +0 -344
- package/tests/vue/router/routeResourceBinding/RouteResourceUtils.test.ts +0 -70
- package/tests/vue/router/routeResourceBinding/installRouteInjection.test.ts +0 -450
- package/tests/vue/state/State.test.ts +0 -151
- package/tsconfig.json +0 -114
- package/vite.config.ts +0 -34
- package/vitest.config.ts +0 -23
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
# Upgrading v3 to v4
|
|
2
|
-
|
|
3
|
-
This guide covers breaking changes when upgrading from v3 to v4.
|
|
4
|
-
|
|
5
|
-
## Bulk Request Sender Is Now Generic
|
|
6
|
-
|
|
7
|
-
`BulkRequestSender` is now a generic class, and `setRequests()` expects wrappers with matching type parameters. If you
|
|
8
|
-
instantiated the sender without generics, TypeScript may report type errors when passing typed request wrappers.
|
|
9
|
-
|
|
10
|
-
### What Changed
|
|
11
|
-
|
|
12
|
-
- `BulkRequestSender` is now generic over:
|
|
13
|
-
- `RequestLoaderLoadingType`
|
|
14
|
-
- `RequestBodyInterface`
|
|
15
|
-
- `ResponseClass`
|
|
16
|
-
- `RequestParamsInterface`
|
|
17
|
-
- `setRequests()` is now typed to accept wrappers with the same generics.
|
|
18
|
-
|
|
19
|
-
### How to Fix
|
|
20
|
-
|
|
21
|
-
Add generics when creating the sender so it matches your wrapper types:
|
|
22
|
-
|
|
23
|
-
```typescript
|
|
24
|
-
const bulkRequestSenderInstance = new BulkRequestSender<
|
|
25
|
-
RequestLoaderLoadingType,
|
|
26
|
-
RequestBodyInterface,
|
|
27
|
-
ResponseClass,
|
|
28
|
-
RequestParamsInterface
|
|
29
|
-
>([], bulkRequestExecutionMode, retryCount)
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
If you already have typed wrappers, TypeScript will infer the rest once the sender is typed.
|
|
33
|
-
|
|
34
|
-
## Paginator `init()` Was Removed
|
|
35
|
-
|
|
36
|
-
Pagination now marks a paginator as initialized only after the first successful load. The `init()` method was removed
|
|
37
|
-
in favor of `load()`.
|
|
38
|
-
|
|
39
|
-
### What Changed
|
|
40
|
-
|
|
41
|
-
- `isInitialized()` now becomes `true` only after a successful data load.
|
|
42
|
-
- `init()` no longer exists.
|
|
43
|
-
|
|
44
|
-
### How to Fix
|
|
45
|
-
|
|
46
|
-
Replace `init(...)` with `load(...)`:
|
|
47
|
-
|
|
48
|
-
```typescript
|
|
49
|
-
await paginator.load()
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## Paginator `refresh()` Was Removed
|
|
53
|
-
|
|
54
|
-
`refresh()` was removed in favor of `load()` to make the first load more intuitive.
|
|
55
|
-
|
|
56
|
-
### How to Fix
|
|
57
|
-
|
|
58
|
-
Replace `refresh(...)` with `load(...)`:
|
|
59
|
-
|
|
60
|
-
```typescript
|
|
61
|
-
await paginator.load()
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## Pagination Setters No Longer Trigger Loads
|
|
65
|
-
|
|
66
|
-
`setPageNumber()` and `setPageSize()` now only update state. Call `load()` to fetch data:
|
|
67
|
-
|
|
68
|
-
```typescript
|
|
69
|
-
await paginator.setPageNumber(2).load()
|
|
70
|
-
await paginator.setPageSize(50).load()
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
`setPage()` was renamed to `setPageNumber()`.
|
|
74
|
-
Page navigation helpers (`toNextPage`, `toPreviousPage`, `toFirstPage`, `toLastPage`) still load the new page in one call.
|
|
75
|
-
|
|
76
|
-
## PaginationParamsContract Was Removed
|
|
77
|
-
|
|
78
|
-
`PaginationParamsContract` was removed from the Laravel pagination exports because it was unused. Define your own params
|
|
79
|
-
interface in your app instead.
|
|
80
|
-
|
|
81
|
-
## Deprecated `Paginator` alias removed
|
|
82
|
-
|
|
83
|
-
`Paginator` (and the related `PaginatorOptions` alias) was an old alias for `PageAwarePaginator`. The alias file has been removed, so importing `Paginator` or `PaginatorOptions` now results in a build error.
|
|
84
|
-
|
|
85
|
-
### How to Fix
|
|
86
|
-
|
|
87
|
-
- Replace `import { Paginator } from '@blueprint-ts/core/pagination'` with:
|
|
88
|
-
|
|
89
|
-
```typescript
|
|
90
|
-
import { PageAwarePaginator } from '@blueprint-ts/core/pagination'
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
- Replace `import { type PaginatorOptions } from '@blueprint-ts/core/pagination'` with:
|
|
94
|
-
|
|
95
|
-
```typescript
|
|
96
|
-
import { type PageAwarePaginatorOptions } from '@blueprint-ts/core/pagination'
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## Core Modules Moved out of `service/`
|
|
100
|
-
|
|
101
|
-
Core (non-framework) modules moved from `@blueprint-ts/core/service/*` to `@blueprint-ts/core/*`.
|
|
102
|
-
|
|
103
|
-
### How to Fix
|
|
104
|
-
|
|
105
|
-
Replace:
|
|
106
|
-
|
|
107
|
-
```typescript
|
|
108
|
-
import { BaseRequest } from '@blueprint-ts/core/service/requests'
|
|
109
|
-
import { PageAwarePaginator } from '@blueprint-ts/core/service/pagination'
|
|
110
|
-
import { DeferredPromise } from '@blueprint-ts/core/service/support'
|
|
111
|
-
import { BulkRequestSender } from '@blueprint-ts/core/service/bulkRequests'
|
|
112
|
-
import { LocalStorageDriver } from '@blueprint-ts/core/service/persistenceDrivers'
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
with:
|
|
116
|
-
|
|
117
|
-
```typescript
|
|
118
|
-
import { BaseRequest } from '@blueprint-ts/core/requests'
|
|
119
|
-
import { PageAwarePaginator } from '@blueprint-ts/core/pagination'
|
|
120
|
-
import { DeferredPromise } from '@blueprint-ts/core/support'
|
|
121
|
-
import { BulkRequestSender } from '@blueprint-ts/core/bulkRequests'
|
|
122
|
-
import { LocalStorageDriver } from '@blueprint-ts/core/persistenceDrivers'
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
## Helpers Moved to Support
|
|
126
|
-
|
|
127
|
-
Helpers are now exported from `@blueprint-ts/core/support`. The `@blueprint-ts/core/helpers` export was removed.
|
|
128
|
-
|
|
129
|
-
### How to Fix
|
|
130
|
-
|
|
131
|
-
Replace:
|
|
132
|
-
|
|
133
|
-
```typescript
|
|
134
|
-
import { isAtBottom } from '@blueprint-ts/core/helpers'
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
with:
|
|
138
|
-
|
|
139
|
-
```typescript
|
|
140
|
-
import { isAtBottom } from '@blueprint-ts/core/support'
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
## ConfirmDialogSeverity Is Now an Enum
|
|
144
|
-
|
|
145
|
-
`ConfirmDialogSeverity` was changed from a string union type to an enum. Update any `getSeverity()` implementations to return the enum value.
|
|
146
|
-
|
|
147
|
-
### How to Fix
|
|
148
|
-
|
|
149
|
-
Replace:
|
|
150
|
-
|
|
151
|
-
```typescript
|
|
152
|
-
import { type ConfirmDialogOptions } from '@blueprint-ts/core/vue'
|
|
153
|
-
|
|
154
|
-
export class MyConfirmOptions implements ConfirmDialogOptions {
|
|
155
|
-
getSeverity() {
|
|
156
|
-
return 'warning'
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
with:
|
|
162
|
-
|
|
163
|
-
```typescript
|
|
164
|
-
import { type ConfirmDialogOptions, ConfirmDialogSeverity } from '@blueprint-ts/core/vue'
|
|
165
|
-
|
|
166
|
-
export class MyConfirmOptions implements ConfirmDialogOptions {
|
|
167
|
-
getSeverity() {
|
|
168
|
-
return ConfirmDialogSeverity.WARNING
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
## BaseRequestContract Requires `setConcurrency`
|
|
174
|
-
|
|
175
|
-
`BaseRequestContract` now includes `setConcurrency(...)` so requests can opt into concurrency handling (e.g., latest-wins or replace-latest).
|
|
176
|
-
If you implemented `BaseRequestContract` directly (instead of extending `BaseRequest`), TypeScript will now require this method.
|
|
177
|
-
|
|
178
|
-
### How to Fix
|
|
179
|
-
|
|
180
|
-
Add the method to your custom request implementation:
|
|
181
|
-
|
|
182
|
-
```typescript
|
|
183
|
-
setConcurrency(options?: RequestConcurrencyOptions): this {
|
|
184
|
-
// no-op by default; use options if your implementation needs them
|
|
185
|
-
return this
|
|
186
|
-
}
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
## Laravel Packages Moved
|
|
190
|
-
|
|
191
|
-
Laravel modules moved from `@blueprint-ts/core/service/laravel/*` to `@blueprint-ts/core/laravel/*`.
|
|
192
|
-
|
|
193
|
-
### How to Fix
|
|
194
|
-
|
|
195
|
-
Replace:
|
|
196
|
-
|
|
197
|
-
```typescript
|
|
198
|
-
import { JsonBaseRequest } from '@blueprint-ts/core/service/laravel/requests'
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
with:
|
|
202
|
-
|
|
203
|
-
```typescript
|
|
204
|
-
import { JsonBaseRequest } from '@blueprint-ts/core/laravel/requests'
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
## BaseForm `state` is now protected
|
|
208
|
-
|
|
209
|
-
`BaseForm.state` was public in previous versions, but it is now `protected readonly`. That means external consumers can no longer import form instances and access `form.state`. Subclasses can still read/write state internally, so any code that depended on reading it from outside the form must switch to supported accessors such as `form.properties`.
|
|
210
|
-
|
|
211
|
-
### How to Fix
|
|
212
|
-
|
|
213
|
-
- Replace direct `form.state` usage with the public helpers (`form.properties`, getters, or explicit payload builders).
|
|
214
|
-
- If you were creating helpers that accessed `state` from outside the form, move those helpers inside the form class so they can rely on the protected field.
|
package/docs/upgrading.md
DELETED
|
File without changes
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
# `useConfirmDialog`
|
|
2
|
-
|
|
3
|
-
`useConfirmDialog` mounts a confirmation dialog component on demand and returns an `openConfirmDialog` function that resolves to `true` or `false`.
|
|
4
|
-
|
|
5
|
-
## Requirements
|
|
6
|
-
|
|
7
|
-
- Call `useConfirmDialog` inside a `setup()` function.
|
|
8
|
-
- The dialog component must expose an `open()` method via `defineExpose`.
|
|
9
|
-
- `open()` must return a `Promise<boolean>`.
|
|
10
|
-
- The component receives an `options` prop that matches `ConfirmDialogOptions`.
|
|
11
|
-
|
|
12
|
-
## Example
|
|
13
|
-
|
|
14
|
-
```vue
|
|
15
|
-
<template>
|
|
16
|
-
<button @click.prevent="click">
|
|
17
|
-
<slot />
|
|
18
|
-
</button>
|
|
19
|
-
</template>
|
|
20
|
-
|
|
21
|
-
<script setup lang="ts">
|
|
22
|
-
import { useConfirmDialog, type ConfirmDialogOptions } from '@blueprint-ts/core/vue'
|
|
23
|
-
import ConfirmDialog from '@/ConfirmDialog.vue'
|
|
24
|
-
|
|
25
|
-
const props = defineProps<{
|
|
26
|
-
confirmation?: ConfirmDialogOptions
|
|
27
|
-
}>()
|
|
28
|
-
|
|
29
|
-
const { openConfirmDialog } = useConfirmDialog(ConfirmDialog)
|
|
30
|
-
|
|
31
|
-
async function click() {
|
|
32
|
-
if (props.confirmation) {
|
|
33
|
-
const confirmed = await openConfirmDialog(props.confirmation)
|
|
34
|
-
|
|
35
|
-
if (confirmed) {
|
|
36
|
-
const request = new Request()
|
|
37
|
-
|
|
38
|
-
request.send()
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
</script>
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## ConfirmDialogOptions
|
|
46
|
-
|
|
47
|
-
The options object must implement the following contract:
|
|
48
|
-
|
|
49
|
-
```ts
|
|
50
|
-
import { ConfirmDialogSeverity } from '@blueprint-ts/core/vue'
|
|
51
|
-
|
|
52
|
-
export interface ConfirmDialogOptions {
|
|
53
|
-
getMessage(): string
|
|
54
|
-
getSeverity(): ConfirmDialogSeverity
|
|
55
|
-
getTitle(): string
|
|
56
|
-
getOkText(): string
|
|
57
|
-
getCancelText(): string
|
|
58
|
-
}
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
The available severities are:
|
|
62
|
-
|
|
63
|
-
```ts
|
|
64
|
-
export enum ConfirmDialogSeverity {
|
|
65
|
-
INFO = 'info',
|
|
66
|
-
WARNING = 'warning',
|
|
67
|
-
DANGER = 'danger'
|
|
68
|
-
}
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## Dialog Component Contract
|
|
72
|
-
|
|
73
|
-
The dialog component must expose `open()` using `defineExpose`:
|
|
74
|
-
|
|
75
|
-
```vue
|
|
76
|
-
<script setup lang="ts">
|
|
77
|
-
import { type ConfirmDialogOptions } from '@blueprint-ts/core/vue'
|
|
78
|
-
|
|
79
|
-
const props = defineProps<{ options: ConfirmDialogOptions }>()
|
|
80
|
-
|
|
81
|
-
async function open(): Promise<boolean> {
|
|
82
|
-
// open dialog and resolve with true or false
|
|
83
|
-
return true
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
defineExpose({ open })
|
|
87
|
-
</script>
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
## Mount Target
|
|
91
|
-
|
|
92
|
-
`useConfirmDialog` accepts an optional second parameter to control where the dialog is mounted:
|
|
93
|
-
|
|
94
|
-
```ts
|
|
95
|
-
const { openConfirmDialog } = useConfirmDialog(ConfirmDialog, '#dialog-root')
|
|
96
|
-
```
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
# `useGlobalCheckbox`
|
|
2
|
-
|
|
3
|
-
`useGlobalCheckbox` helps you implement “select all” behavior across a paginated data set. It manages:
|
|
4
|
-
|
|
5
|
-
- selected rows
|
|
6
|
-
- indeterminate/checked state
|
|
7
|
-
- a dialog to choose between selecting the current page or all rows
|
|
8
|
-
|
|
9
|
-
## Requirements
|
|
10
|
-
|
|
11
|
-
- Call `useGlobalCheckbox` inside a `setup()` function.
|
|
12
|
-
- Provide a dialog component that exposes an `open()` method via `defineExpose`.
|
|
13
|
-
- `open()` must return a `Promise<boolean>`.
|
|
14
|
-
- The dialog receives `checked` and `indeterminate` props.
|
|
15
|
-
|
|
16
|
-
## Example
|
|
17
|
-
|
|
18
|
-
```ts
|
|
19
|
-
const { selectedRows, indeterminate, checked, handleGlobalCheckboxChange } =
|
|
20
|
-
useGlobalCheckbox<CredentialListResource>(BulkSelectDialog, {
|
|
21
|
-
getAll: async () => {
|
|
22
|
-
isLoadingAllElements.value = true
|
|
23
|
-
|
|
24
|
-
try {
|
|
25
|
-
const response = await request.withParams(buildParams()).send()
|
|
26
|
-
return response.getData()
|
|
27
|
-
} catch (error) {
|
|
28
|
-
console.error(error)
|
|
29
|
-
return []
|
|
30
|
-
} finally {
|
|
31
|
-
isLoadingAllElements.value = false
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
getPage: () => paginator.getPageData(),
|
|
35
|
-
totalCount: () => paginator.getTotal()
|
|
36
|
-
})
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
In the template, bind the handler to your global checkbox:
|
|
40
|
-
|
|
41
|
-
```vue
|
|
42
|
-
<input
|
|
43
|
-
type="checkbox"
|
|
44
|
-
:checked="checked"
|
|
45
|
-
:indeterminate="indeterminate"
|
|
46
|
-
@change="handleGlobalCheckboxChange"
|
|
47
|
-
/>
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Dialog Component Contract
|
|
51
|
-
|
|
52
|
-
Your dialog component should accept `checked` and `indeterminate` props and expose `open()`:
|
|
53
|
-
|
|
54
|
-
```vue
|
|
55
|
-
<script setup lang="ts">
|
|
56
|
-
const props = defineProps<{ checked: boolean; indeterminate: boolean }>()
|
|
57
|
-
|
|
58
|
-
async function open(): Promise<boolean> {
|
|
59
|
-
// true = select all entries, false = select current page / discard
|
|
60
|
-
return true
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
defineExpose({ open })
|
|
64
|
-
</script>
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## Mount Target
|
|
68
|
-
|
|
69
|
-
You can pass a third argument to control where the dialog is mounted:
|
|
70
|
-
|
|
71
|
-
```ts
|
|
72
|
-
const { handleGlobalCheckboxChange } = useGlobalCheckbox(BulkSelectDialog, options, '#dialog-root')
|
|
73
|
-
```
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# `useIsEmpty`
|
|
2
|
-
|
|
3
|
-
`useIsEmpty` provides small helpers to check whether a value should be treated as empty.
|
|
4
|
-
|
|
5
|
-
## What It Considers Empty
|
|
6
|
-
|
|
7
|
-
- `undefined`, `null`, and `''`
|
|
8
|
-
- arrays with `length === 0`
|
|
9
|
-
- plain objects with no keys (checked via `lodash-es` `isEmpty`)
|
|
10
|
-
|
|
11
|
-
Everything else is treated as not empty.
|
|
12
|
-
|
|
13
|
-
## Example
|
|
14
|
-
|
|
15
|
-
```ts
|
|
16
|
-
import { useIsEmpty } from '@blueprint-ts/core/vue'
|
|
17
|
-
|
|
18
|
-
const { isEmpty, isNotEmpty } = useIsEmpty()
|
|
19
|
-
|
|
20
|
-
isEmpty(null) // true
|
|
21
|
-
isEmpty('') // true
|
|
22
|
-
isEmpty([]) // true
|
|
23
|
-
isEmpty({}) // true
|
|
24
|
-
|
|
25
|
-
isNotEmpty('Hello') // true
|
|
26
|
-
```
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# `useIsOpenFromVar`
|
|
2
|
-
|
|
3
|
-
`useIsOpenFromVar` ties a “selected value” to open/close state. When `fromVar` is set to a non-empty value, `isOpenFromVar` becomes `true`. When the modal closes, `fromVar` resets after a delay so exit animations can finish.
|
|
4
|
-
|
|
5
|
-
## Example
|
|
6
|
-
|
|
7
|
-
```ts
|
|
8
|
-
const { fromVar: selectedItem, isOpenFromVar: isDialogOpen, isOpenFromVarKey: dialogKey } =
|
|
9
|
-
useIsOpenFromVar<Resource>()
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
Use it like this:
|
|
13
|
-
|
|
14
|
-
- set `selectedItem.value = item` to open the modal
|
|
15
|
-
- set `isDialogOpen.value = false` to close and reset `fromVar`
|
|
16
|
-
|
|
17
|
-
In the template:
|
|
18
|
-
|
|
19
|
-
```vue
|
|
20
|
-
<BulkEditDialog
|
|
21
|
-
:key="dialogKey"
|
|
22
|
-
v-model="isDialogOpen"
|
|
23
|
-
:item="selectedItem"
|
|
24
|
-
/>
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Options
|
|
28
|
-
|
|
29
|
-
`useIsOpenFromVar` accepts two optional parameters:
|
|
30
|
-
|
|
31
|
-
- `defaultValue` (default `undefined`): value assigned to `fromVar` after close
|
|
32
|
-
- `delay` (default `500`): delay in milliseconds before resetting `fromVar` and bumping `isOpenFromVarKey`, so exit animations can finish
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# `useIsOpen`
|
|
2
|
-
|
|
3
|
-
`useIsOpen` manages a boolean open state and an `isOpenKey` that increments whenever the state is closed. This is useful for forcing re-mounts after a close animation.
|
|
4
|
-
|
|
5
|
-
## Example
|
|
6
|
-
|
|
7
|
-
```ts
|
|
8
|
-
import { useIsOpen } from '@blueprint-ts/core/vue'
|
|
9
|
-
|
|
10
|
-
const { isOpen, isOpenKey } = useIsOpen((value) => {
|
|
11
|
-
if (!value) {
|
|
12
|
-
// closed
|
|
13
|
-
}
|
|
14
|
-
})
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
In a template, bind `isOpenKey` to force a re-mount when closing:
|
|
18
|
-
|
|
19
|
-
```vue
|
|
20
|
-
<Modal :key="isOpenKey" v-model="isOpen" />
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Options
|
|
24
|
-
|
|
25
|
-
`useIsOpen` accepts two optional parameters:
|
|
26
|
-
|
|
27
|
-
- `callback` (default `() => {}`): called whenever `isOpen` changes
|
|
28
|
-
- `delay` (default `500`): delay in milliseconds before incrementing `isOpenKey` on close so exit animations can finish
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# `useModelWrapper`
|
|
2
|
-
|
|
3
|
-
`useModelWrapper` is a small helper to implement `v-model` in components. It returns a computed ref that proxies the model value and emits the update event.
|
|
4
|
-
|
|
5
|
-
Deprecated: In Vue 3.4+, prefer `defineModel()` where possible. `useModelWrapper` remains available for legacy usage or when you need a callback on update.
|
|
6
|
-
|
|
7
|
-
## Example
|
|
8
|
-
|
|
9
|
-
```vue
|
|
10
|
-
<script setup lang="ts">
|
|
11
|
-
import { useModelWrapper } from '@blueprint-ts/core/vue'
|
|
12
|
-
|
|
13
|
-
const props = defineProps<{ modelValue: boolean }>()
|
|
14
|
-
const emit = defineEmits<{ (event: 'update:modelValue', value: boolean): void }>()
|
|
15
|
-
|
|
16
|
-
const model = useModelWrapper<boolean, typeof emit>(props, emit)
|
|
17
|
-
</script>
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Using a custom model name:
|
|
21
|
-
|
|
22
|
-
```ts
|
|
23
|
-
const model = useModelWrapper<boolean, typeof emit>(props, emit, { name: 'open' })
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Options
|
|
27
|
-
|
|
28
|
-
- `name` (default `modelValue`): the model prop/event name
|
|
29
|
-
- `callback` (optional): invoked with the new value after emitting the update event
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# `useOnOpen`
|
|
2
|
-
|
|
3
|
-
`useOnOpen` lets you register callbacks that run when a boolean ref toggles from closed to open or vice versa.
|
|
4
|
-
|
|
5
|
-
## Example
|
|
6
|
-
|
|
7
|
-
```ts
|
|
8
|
-
import { useOnOpen } from '@blueprint-ts/core/vue'
|
|
9
|
-
import { ref } from 'vue'
|
|
10
|
-
|
|
11
|
-
const isOpen = ref(false)
|
|
12
|
-
const { onOpen, onClose } = useOnOpen(isOpen)
|
|
13
|
-
|
|
14
|
-
onOpen(() => {
|
|
15
|
-
// opened
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
onClose(() => {
|
|
19
|
-
// closed
|
|
20
|
-
})
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Notes
|
|
24
|
-
|
|
25
|
-
Callbacks are executed on the next tick after the value changes.
|
|
26
|
-
You can register multiple callbacks for both `onOpen` and `onClose`.
|
package/docs/vue/forms/arrays.md
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
# Arrays
|
|
2
|
-
|
|
3
|
-
## PropertyAwareArray
|
|
4
|
-
|
|
5
|
-
Use `PropertyAwareArray` for arrays with per-item `v-model`, errors, and dirty state when your array contains objects.
|
|
6
|
-
|
|
7
|
-
```ts
|
|
8
|
-
import { BaseForm, PropertyAwareArray } from '@blueprint-ts/core/vue/forms'
|
|
9
|
-
|
|
10
|
-
export interface FormWithPositions {
|
|
11
|
-
positions: PositionItem[]
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export class MyComplexForm extends BaseForm<RequestType, FormWithPositions> {
|
|
15
|
-
constructor() {
|
|
16
|
-
super({
|
|
17
|
-
positions: new PropertyAwareArray([{ id: 1, value: '' }])
|
|
18
|
-
})
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
public addPosition(): void {
|
|
22
|
-
this.addToArrayProperty('positions', {
|
|
23
|
-
id: this.properties.positions.length + 1,
|
|
24
|
-
value: ''
|
|
25
|
-
})
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
public removePosition(id: number): void {
|
|
29
|
-
this.removeArrayItem('positions', (position) => position.id !== id)
|
|
30
|
-
this.resetArrayCounter('positions', 'id')
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
Example component usage:
|
|
36
|
-
|
|
37
|
-
```vue
|
|
38
|
-
<template>
|
|
39
|
-
<div v-for="(position, index) in form.properties.positions" :key="index">
|
|
40
|
-
<input v-model="position.value.model.value" />
|
|
41
|
-
<div v-if="position.value.errors.length">{{ position.value.errors[0] }}</div>
|
|
42
|
-
<div v-if="position.value.dirty">Changed</div>
|
|
43
|
-
</div>
|
|
44
|
-
</template>
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
Nested error keys like `positions.0.value` map into `position.value.errors`.
|
|
48
|
-
|
|
49
|
-
## propertyAwareToRaw
|
|
50
|
-
|
|
51
|
-
`propertyAwareToRaw` converts a property-aware object (each field wrapped in `{ model: { value } }`) into a plain object by unwrapping every field's `model.value`. It is purely a transformation: metadata such as `errors`, `dirty`, and `touched` is dropped, while arrays and nested objects are processed recursively. Keys starting with `_` are omitted from the result, and arrays are mapped element-by-element via the same unwrapping.
|
|
52
|
-
|
|
53
|
-
### Input shape (property-aware)
|
|
54
|
-
|
|
55
|
-
```ts
|
|
56
|
-
const propertyAwarePosition = {
|
|
57
|
-
id: {
|
|
58
|
-
model: { value: 'pos-1' },
|
|
59
|
-
errors: [],
|
|
60
|
-
dirty: false,
|
|
61
|
-
touched: false
|
|
62
|
-
},
|
|
63
|
-
sort_order: {
|
|
64
|
-
model: { value: 10 },
|
|
65
|
-
errors: [],
|
|
66
|
-
dirty: false,
|
|
67
|
-
touched: false
|
|
68
|
-
},
|
|
69
|
-
description: {
|
|
70
|
-
model: { value: 'Service' },
|
|
71
|
-
errors: [],
|
|
72
|
-
dirty: false,
|
|
73
|
-
touched: false
|
|
74
|
-
},
|
|
75
|
-
net_amount: {
|
|
76
|
-
model: { value: 100 },
|
|
77
|
-
errors: [],
|
|
78
|
-
dirty: false,
|
|
79
|
-
touched: false
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
Note that this is only an example of how the input shape looks When used in a form the model is a WritableComputedRef.
|
|
85
|
-
|
|
86
|
-
### Output shape (raw)
|
|
87
|
-
|
|
88
|
-
```ts
|
|
89
|
-
const rawPosition = {
|
|
90
|
-
id: 'pos-1',
|
|
91
|
-
sort_order: 10,
|
|
92
|
-
description: 'Service',
|
|
93
|
-
net_amount: 100
|
|
94
|
-
}
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
### Notes
|
|
98
|
-
|
|
99
|
-
- Arrays are mapped element-by-element.
|
|
100
|
-
- Nested objects are unwrapped recursively.
|
|
101
|
-
- Any keys starting with `_` are ignored.
|
|
102
|
-
- Only the `model.value` remains; form metadata is dropped.
|
package/docs/vue/forms/errors.md
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# Errors
|
|
2
|
-
|
|
3
|
-
`BaseForm` maps validation errors to fields and exposes them on `properties.<field>.errors`.
|
|
4
|
-
|
|
5
|
-
## Filling External Errors
|
|
6
|
-
|
|
7
|
-
`fillErrors` is intended for server-side validation responses.
|
|
8
|
-
It overwrites any existing client-side validation errors.
|
|
9
|
-
|
|
10
|
-
### Expected Error Format
|
|
11
|
-
|
|
12
|
-
`fillErrors` expects an object where each key is a field path and each value is an array of messages. For example:
|
|
13
|
-
|
|
14
|
-
```json
|
|
15
|
-
{
|
|
16
|
-
"email": ["The email field is required."],
|
|
17
|
-
"positions.0.value": ["The value is invalid."]
|
|
18
|
-
}
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
If you provide a single string instead of an array, it will be assigned as-is, but the UI helpers assume arrays.
|
|
22
|
-
This format matches Laravel's validation error response and is currently the only supported format.
|
|
23
|
-
|
|
24
|
-
```ts
|
|
25
|
-
form.fillErrors(error.response.data.errors)
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
`fillErrors` supports:
|
|
29
|
-
- direct field keys (e.g. `email`)
|
|
30
|
-
- array dot notation where the 2nd segment is a numeric index (e.g. `positions.0.value`)
|
|
31
|
-
- remapping via `errorMap` (including mapping one server key to multiple fields)
|
|
32
|
-
|
|
33
|
-
## Checking For Errors
|
|
34
|
-
|
|
35
|
-
```ts
|
|
36
|
-
form.hasErrors()
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Advanced Usage
|
|
40
|
-
|
|
41
|
-
### Mapping Server Errors
|
|
42
|
-
|
|
43
|
-
This is especially useful for appended fields that do not exist in your form state. See [Building Payloads – Appended Fields](/vue/forms/payloads#appended-fields).
|
|
44
|
-
|
|
45
|
-
Map server error keys to your form fields with `errorMap`:
|
|
46
|
-
|
|
47
|
-
```ts
|
|
48
|
-
protected override errorMap: { [serverKey: string]: string | string[] } = {
|
|
49
|
-
started_at: ['start_date', 'start_time'],
|
|
50
|
-
ended_at: ['end_date', 'end_time']
|
|
51
|
-
}
|
|
52
|
-
```
|