@anzusystems/common-admin 2.0.0-rc.1 → 2.0.0-rc.11
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/README.md +5 -1
- package/dist/AnzuSystemsCommonAdmin.d.ts +51 -32
- package/dist/AnzuSystemsCommonAdmin.js +7 -8
- package/dist/AnzuSystemsCommonAdmin.js.map +1 -1
- package/dist/_virtual/_plugin-vue_export-helper.js +1 -2
- package/dist/_virtual/_rolldown/runtime.js +1 -2
- package/dist/assets/dam-meta-icons/2k.js +1 -2
- package/dist/assets/dam-meta-icons/4k.js +1 -2
- package/dist/assets/dam-meta-icons/8k.js +1 -2
- package/dist/assets/dam-meta-icons/fhd.js +1 -2
- package/dist/assets/dam-meta-icons/low.js +1 -2
- package/dist/assets/dam-meta-icons/qhd.js +1 -2
- package/dist/assets/dam-meta-icons/rss.js +1 -2
- package/dist/assets/dam-meta-icons/slot.js +1 -2
- package/dist/assets/dam-meta-icons/tts.js +1 -2
- package/dist/assets/image/placeholder16x9.js +1 -2
- package/dist/common-admin.css +1 -1
- package/dist/common-admin.js +299 -297
- package/dist/domains/anzuUser/api/anzuUserApi.d.ts +9 -12
- package/dist/domains/anzuUser/api/anzuUserApi.js +9 -10
- package/dist/domains/anzuUser/api/anzuUserApi.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserDatatable.js +1 -2
- package/dist/domains/anzuUser/components/AAnzuUserDatatable.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserDatatable.vue.d.ts +38 -44
- package/dist/domains/anzuUser/components/AAnzuUserDatatable.vue_vue_type_script_setup_true_lang.js +46 -47
- package/dist/domains/anzuUser/components/AAnzuUserDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserFilter.js +1 -2
- package/dist/domains/anzuUser/components/AAnzuUserFilter.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserFilter.vue.d.ts +12 -13
- package/dist/domains/anzuUser/components/AAnzuUserFilter.vue_vue_type_script_setup_true_lang.js +16 -17
- package/dist/domains/anzuUser/components/AAnzuUserFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserForm.js +1 -2
- package/dist/domains/anzuUser/components/AAnzuUserForm.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserForm.vue.d.ts +18 -20
- package/dist/domains/anzuUser/components/AAnzuUserForm.vue_vue_type_script_setup_true_lang.js +45 -46
- package/dist/domains/anzuUser/components/AAnzuUserForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserRoleAutocomplete.js +1 -2
- package/dist/domains/anzuUser/components/AAnzuUserRoleAutocomplete.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserRoleAutocomplete.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/anzuUser/components/AAnzuUserRoleAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserBulkActionDialog.js +1 -2
- package/dist/domains/anzuUser/components/AUserBulkActionDialog.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserBulkActionDialog.vue_vue_type_script_setup_true_lang.js +88 -89
- package/dist/domains/anzuUser/components/AUserBulkActionDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.js +1 -2
- package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.vue.d.ts +2 -3
- package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.vue_vue_type_script_setup_true_lang.js +13 -14
- package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserCreateInSystemButton.js +1 -2
- package/dist/domains/anzuUser/components/AUserCreateInSystemButton.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserCreateInSystemButton.vue.d.ts +9 -15
- package/dist/domains/anzuUser/components/AUserCreateInSystemButton.vue_vue_type_script_setup_true_lang.js +19 -20
- package/dist/domains/anzuUser/components/AUserCreateInSystemButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserEnabledSwitch.js +1 -2
- package/dist/domains/anzuUser/components/AUserEnabledSwitch.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserEnabledSwitch.vue.d.ts +8 -7
- package/dist/domains/anzuUser/components/AUserEnabledSwitch.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/anzuUser/components/AUserEnabledSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserManageButton.js +1 -2
- package/dist/domains/anzuUser/components/AUserManageButton.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserManageButton.vue.d.ts +0 -1
- package/dist/domains/anzuUser/components/AUserManageButton.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/anzuUser/components/AUserManageButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserMetadataForm.js +1 -2
- package/dist/domains/anzuUser/components/AUserMetadataForm.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserMetadataForm.vue.d.ts +8 -9
- package/dist/domains/anzuUser/components/AUserMetadataForm.vue_vue_type_script_setup_true_lang.js +21 -22
- package/dist/domains/anzuUser/components/AUserMetadataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.js +1 -2
- package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.vue_vue_type_script_setup_true_lang.js +59 -60
- package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserOtherSystemsTable.js +1 -2
- package/dist/domains/anzuUser/components/AUserOtherSystemsTable.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserOtherSystemsTable.vue.d.ts +1 -2
- package/dist/domains/anzuUser/components/AUserOtherSystemsTable.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/anzuUser/components/AUserOtherSystemsTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemOverview.js +1 -2
- package/dist/domains/anzuUser/components/AUserSystemOverview.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemOverview.vue_vue_type_script_setup_true_lang.js +231 -232
- package/dist/domains/anzuUser/components/AUserSystemOverview.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemPanel.js +1 -2
- package/dist/domains/anzuUser/components/AUserSystemPanel.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemPanel.vue.d.ts +2 -2
- package/dist/domains/anzuUser/components/AUserSystemPanel.vue_vue_type_script_setup_true_lang.js +16 -17
- package/dist/domains/anzuUser/components/AUserSystemPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemStatusChip.js +1 -2
- package/dist/domains/anzuUser/components/AUserSystemStatusChip.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemStatusChip.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/anzuUser/components/AUserSystemStatusChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserTabsShell.js +1 -2
- package/dist/domains/anzuUser/components/AUserTabsShell.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserTabsShell.vue.d.ts +17 -22
- package/dist/domains/anzuUser/components/AUserTabsShell.vue_vue_type_script_setup_true_lang.js +67 -68
- package/dist/domains/anzuUser/components/AUserTabsShell.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/composables/anzuUserActions.d.ts +11 -9
- package/dist/domains/anzuUser/composables/anzuUserActions.js +26 -23
- package/dist/domains/anzuUser/composables/anzuUserActions.js.map +1 -1
- package/dist/domains/anzuUser/composables/anzuUserValidations.d.ts +4 -6
- package/dist/domains/anzuUser/composables/anzuUserValidations.js +1 -2
- package/dist/domains/anzuUser/composables/anzuUserValidations.js.map +1 -1
- package/dist/domains/anzuUser/composables/cachedAnzuUsers.d.ts +3 -3
- package/dist/domains/anzuUser/composables/cachedAnzuUsers.js +1 -2
- package/dist/domains/anzuUser/composables/cachedAnzuUsers.js.map +1 -1
- package/dist/domains/anzuUser/composables/userCrossSystemSearch.d.ts +2 -4
- package/dist/domains/anzuUser/composables/userCrossSystemSearch.js +21 -22
- package/dist/domains/anzuUser/composables/userCrossSystemSearch.js.map +1 -1
- package/dist/domains/anzuUser/composables/userCrossSystemWrites.d.ts +5 -11
- package/dist/domains/anzuUser/composables/userCrossSystemWrites.js +46 -47
- package/dist/domains/anzuUser/composables/userCrossSystemWrites.js.map +1 -1
- package/dist/domains/anzuUser/composables/userSystemDescriptor.d.ts +33 -57
- package/dist/domains/anzuUser/composables/userSystemDescriptor.js +1 -2
- package/dist/domains/anzuUser/composables/userSystemDescriptor.js.map +1 -1
- package/dist/domains/anzuUser/composables/userSystemProbe.d.ts +7 -27
- package/dist/domains/anzuUser/composables/userSystemProbe.js +22 -23
- package/dist/domains/anzuUser/composables/userSystemProbe.js.map +1 -1
- package/dist/domains/anzuUser/factory/AnzuUserFactory.js +6 -7
- package/dist/domains/anzuUser/filter/anzuUserFilter.d.ts +6 -16
- package/dist/domains/anzuUser/filter/anzuUserFilter.js +1 -2
- package/dist/domains/anzuUser/filter/anzuUserFilter.js.map +1 -1
- package/dist/domains/anzuUser/store/anzuUserStore.d.ts +1 -5
- package/dist/domains/anzuUser/store/anzuUserStore.js +1 -2
- package/dist/domains/anzuUser/store/anzuUserStore.js.map +1 -1
- package/dist/domains/anzuUser/store/userCrossSystemStore.d.ts +3 -14
- package/dist/domains/anzuUser/store/userCrossSystemStore.js +1 -2
- package/dist/domains/anzuUser/store/userCrossSystemStore.js.map +1 -1
- package/dist/domains/anzuUser/utils/userMetadataDiff.d.ts +7 -19
- package/dist/domains/anzuUser/utils/userMetadataDiff.js +1 -2
- package/dist/domains/anzuUser/utils/userMetadataDiff.js.map +1 -1
- package/dist/domains/anzuUser/utils/userSystemState.d.ts +12 -30
- package/dist/domains/anzuUser/utils/userSystemState.js +1 -2
- package/dist/domains/anzuUser/utils/userSystemState.js.map +1 -1
- package/dist/domains/anzuUser/utils/userTabs.d.ts +1 -3
- package/dist/domains/anzuUser/utils/userTabs.js +1 -2
- package/dist/domains/anzuUser/utils/userTabs.js.map +1 -1
- package/dist/domains/api/composables/defineApiClient.d.ts +4 -8
- package/dist/domains/api/composables/defineApiClient.js +1 -2
- package/dist/domains/api/composables/defineApiClient.js.map +1 -1
- package/dist/domains/api/composables/pagination.js +10 -11
- package/dist/domains/api/composables/request.d.ts +18 -48
- package/dist/domains/api/composables/request.js +1 -2
- package/dist/domains/api/composables/request.js.map +1 -1
- package/dist/domains/api/composables/useApiFetchByIds.d.ts +7 -21
- package/dist/domains/api/composables/useApiFetchByIds.js +29 -30
- package/dist/domains/api/composables/useApiFetchByIds.js.map +1 -1
- package/dist/domains/api/composables/useApiFetchItems.d.ts +18 -57
- package/dist/domains/api/composables/useApiFetchItems.js +15 -16
- package/dist/domains/api/composables/useApiFetchItems.js.map +1 -1
- package/dist/domains/api/composables/useApiFetchList.d.ts +7 -23
- package/dist/domains/api/composables/useApiFetchList.js +35 -36
- package/dist/domains/api/composables/useApiFetchList.js.map +1 -1
- package/dist/domains/api/composables/useApiFetchListBatch.d.ts +5 -22
- package/dist/domains/api/composables/useApiFetchListBatch.js +36 -37
- package/dist/domains/api/composables/useApiFetchListBatch.js.map +1 -1
- package/dist/domains/api/composables/useApiQueryBuilder.js +12 -13
- package/dist/domains/api/composables/useApiQueryBuilder.js.map +1 -1
- package/dist/domains/api/composables/useApiRequest.d.ts +16 -39
- package/dist/domains/api/composables/useApiRequest.js +21 -22
- package/dist/domains/api/composables/useApiRequest.js.map +1 -1
- package/dist/domains/api/types/SortOrder.js +1 -2
- package/dist/domains/api/utils/apiErrors.d.ts +28 -55
- package/dist/domains/api/utils/apiErrors.js +20 -21
- package/dist/domains/api/utils/apiErrors.js.map +1 -1
- package/dist/domains/api/utils/apiHelper.js +4 -5
- package/dist/domains/api/utils/listBody.d.ts +22 -43
- package/dist/domains/api/utils/listBody.js +9 -10
- package/dist/domains/api/utils/listBody.js.map +1 -1
- package/dist/domains/api/utils/response.js +1 -2
- package/dist/domains/auth/components/Acl.js +1 -2
- package/dist/domains/auth/components/Acl.js.map +1 -1
- package/dist/domains/auth/components/Acl.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/auth/components/Acl.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/auth/composables/aclAllowed.d.ts +2 -3
- package/dist/domains/auth/composables/aclAllowed.js +6 -7
- package/dist/domains/auth/composables/aclAllowed.js.map +1 -1
- package/dist/domains/auth/composables/defineAuth.js +40 -41
- package/dist/domains/auth/composables/defineAuth.js.map +1 -1
- package/dist/domains/auth/composables/refreshSession.d.ts +10 -13
- package/dist/domains/auth/composables/refreshSession.js +14 -15
- package/dist/domains/auth/composables/refreshSession.js.map +1 -1
- package/dist/domains/auth/store/authStore.js +1 -2
- package/dist/domains/auth/valueObject/Grant.js +1 -2
- package/dist/domains/cached/components/ACachedChip.js +1 -2
- package/dist/domains/cached/components/ACachedChip.js.map +1 -1
- package/dist/domains/cached/components/ACachedChip.vue.d.ts +13 -11
- package/dist/domains/cached/components/ACachedChip.vue_vue_type_script_setup_true_lang.js +7 -8
- package/dist/domains/cached/components/ACachedChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/cached/components/ACachedUserChip.js +4 -5
- package/dist/domains/cached/components/ACachedUserChip.js.map +1 -1
- package/dist/domains/cached/components/ACachedUserChip.vue.d.ts +3 -3
- package/dist/domains/cached/components/ACachedUserChip.vue_vue_type_script_setup_true_lang.js +8 -9
- package/dist/domains/cached/components/ACachedUserChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/cached/composables/createCachedChip.js +1 -2
- package/dist/domains/cached/composables/createUserAndTimeTrackingFields.d.ts +9 -9
- package/dist/domains/cached/composables/createUserAndTimeTrackingFields.js +1 -2
- package/dist/domains/cached/composables/createUserAndTimeTrackingFields.js.map +1 -1
- package/dist/domains/cached/composables/defineCached.d.ts +13 -11
- package/dist/domains/cached/composables/defineCached.js +19 -20
- package/dist/domains/cached/composables/defineCached.js.map +1 -1
- package/dist/domains/cached/composables/useCachedItem.d.ts +7 -8
- package/dist/domains/cached/composables/useCachedItem.js +1 -2
- package/dist/domains/cached/composables/useCachedItem.js.map +1 -1
- package/dist/domains/collab/components/ACollabCountdown.js +1 -2
- package/dist/domains/collab/components/ACollabCountdown.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/collab/components/ACollabLockedByUser.js +1 -2
- package/dist/domains/collab/components/ACollabLockedByUser.js.map +1 -1
- package/dist/domains/collab/components/ACollabLockedByUser.vue_vue_type_script_setup_true_lang.js +8 -9
- package/dist/domains/collab/components/ACollabLockedByUser.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/collab/components/ACollabManagement.js +1 -2
- package/dist/domains/collab/components/ACollabManagement.vue_vue_type_script_setup_true_lang.js +168 -169
- package/dist/domains/collab/components/ACollabManagement.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/collab/composables/collabAnyDataChange.js +38 -39
- package/dist/domains/collab/composables/collabAnyDataChange.js.map +1 -1
- package/dist/domains/collab/composables/collabCurrentUserId.js +1 -2
- package/dist/domains/collab/composables/collabEventBus.js +1 -2
- package/dist/domains/collab/composables/collabField.d.ts +5 -3
- package/dist/domains/collab/composables/collabField.js +37 -38
- package/dist/domains/collab/composables/collabField.js.map +1 -1
- package/dist/domains/collab/composables/collabHelpers.js +1 -2
- package/dist/domains/collab/composables/collabInit.js +65 -62
- package/dist/domains/collab/composables/collabInit.js.map +1 -1
- package/dist/domains/collab/composables/collabRecovery.d.ts +49 -0
- package/dist/domains/collab/composables/collabRecovery.js +99 -0
- package/dist/domains/collab/composables/collabRecovery.js.map +1 -0
- package/dist/domains/collab/composables/collabRoom.js +125 -126
- package/dist/domains/collab/composables/collabRoom.js.map +1 -1
- package/dist/domains/collab/composables/collabState.d.ts +11 -4
- package/dist/domains/collab/composables/collabState.js +38 -30
- package/dist/domains/collab/composables/collabState.js.map +1 -1
- package/dist/domains/collab/composables/commonAdminCollabOptions.d.ts +4 -2
- package/dist/domains/collab/composables/commonAdminCollabOptions.js +5 -6
- package/dist/domains/collab/types/Collab.d.ts +31 -5
- package/dist/domains/collab/types/Collab.js +24 -13
- package/dist/domains/collab/types/Collab.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataForm.js +1 -2
- package/dist/domains/customDataForm/components/ACustomDataForm.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataForm.vue.d.ts +7 -5
- package/dist/domains/customDataForm/components/ACustomDataForm.vue_vue_type_script_setup_true_lang.js +26 -27
- package/dist/domains/customDataForm/components/ACustomDataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataFormElement.js +1 -2
- package/dist/domains/customDataForm/components/ACustomDataFormElement.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataFormElement.vue_vue_type_script_setup_true_lang.js +25 -26
- package/dist/domains/customDataForm/components/ACustomDataFormElement.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.js +1 -2
- package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.vue.d.ts +5 -3
- package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/customDataForm/composables/useCustomDataForm.js +1 -2
- package/dist/domains/customDataForm/composables/useCustomDataForm.js.map +1 -1
- package/dist/domains/customDataForm/types/CustomDataForm.d.ts +4 -1
- package/dist/domains/customDataForm/types/CustomDataFormElementTypes.js +1 -2
- package/dist/domains/dam/api/damAssetApi.d.ts +7 -7
- package/dist/domains/dam/api/damAssetApi.js +36 -37
- package/dist/domains/dam/api/damAssetApi.js.map +1 -1
- package/dist/domains/dam/api/damAssetLicenceApi.d.ts +1 -1
- package/dist/domains/dam/api/damAssetLicenceApi.js +1 -2
- package/dist/domains/dam/api/damAssetLicenceApi.js.map +1 -1
- package/dist/domains/dam/api/damConstants.js +1 -2
- package/dist/domains/dam/api/damConstants.js.map +1 -1
- package/dist/domains/dam/api/damEndPoints.js +1 -2
- package/dist/domains/dam/api/damEndPoints.js.map +1 -1
- package/dist/domains/dam/api/damImageApi.js +60 -61
- package/dist/domains/dam/api/damImageApi.js.map +1 -1
- package/dist/domains/dam/api/damImageRoiApi.js +15 -16
- package/dist/domains/dam/api/damfetchAssetListByFileIdsMultipleLicences.js +10 -11
- package/dist/domains/dam/api/uploadApi.js +1 -2
- package/dist/domains/dam/api/uploadApi.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AColorBox.js +1 -2
- package/dist/domains/dam/assetDetail/components/AColorBox.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue.d.ts +7 -5
- package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue_vue_type_script_setup_true_lang.js +18 -19
- package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailDialog.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetDetailDialog.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailDialog.vue_vue_type_script_setup_true_lang.js +20 -21
- package/dist/domains/dam/assetDetail/components/AssetDetailDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.vue.d.ts +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.vue_vue_type_script_setup_true_lang.js +26 -27
- package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailDialogLoader.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetDetailDialogLoader.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetDetailDialogSidebar.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetDetailDialogSidebar.vue_vue_type_script_setup_true_lang.js +10 -11
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsTeleportTarget.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsTeleportTarget.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.vue.d.ts +5 -3
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarFrame.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarFrame.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarFrame.vue_vue_type_script_setup_true_lang.js +14 -15
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarFrame.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarMetadata.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarMetadata.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarMetadata.vue_vue_type_script_setup_true_lang.js +26 -27
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarROI.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarROI.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarROI.vue_vue_type_script_setup_true_lang.js +25 -26
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarROI.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetFileFailReasonChip.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetFileFailReasonChip.vue_vue_type_script_setup_true_lang.js +5 -6
- package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.vue.d.ts +6 -2
- package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.vue_vue_type_script_setup_true_lang.js +96 -70
- package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetFileRotate.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetFileRotate.vue_vue_type_script_setup_true_lang.js +5 -6
- package/dist/domains/dam/assetDetail/components/AssetImage.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetImage.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetImage.vue.d.ts +8 -1
- package/dist/domains/dam/assetDetail/components/AssetImage.vue_vue_type_script_setup_true_lang.js +30 -17
- package/dist/domains/dam/assetDetail/components/AssetImage.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.vue.d.ts +9 -2
- package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.vue_vue_type_script_setup_true_lang.js +56 -29
- package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetInfobox.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetInfobox.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetInfobox.vue_vue_type_script_setup_true_lang.js +8 -9
- package/dist/domains/dam/assetDetail/components/AssetInfobox.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetMetadata.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetMetadata.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetMetadata.vue_vue_type_script_setup_true_lang.js +88 -71
- package/dist/domains/dam/assetDetail/components/AssetMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetMetadataImageAttributes.js +1 -2
- package/dist/domains/dam/assetDetail/components/AssetMetadataImageAttributes.vue_vue_type_script_setup_true_lang.js +5 -6
- package/dist/domains/dam/assetDetail/components/AssetMetadataImageAttributes.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/composables/assetDetailExtSystem.d.ts +5 -6
- package/dist/domains/dam/assetDetail/composables/assetDetailExtSystem.js +6 -7
- package/dist/domains/dam/assetDetail/composables/assetDetailExtSystem.js.map +1 -1
- package/dist/domains/dam/assetDetail/composables/assetDetailSidebarActionbar.js +1 -2
- package/dist/domains/dam/assetDetail/composables/assetDetailView.d.ts +10 -10
- package/dist/domains/dam/assetDetail/composables/assetDetailView.js +1 -2
- package/dist/domains/dam/assetDetail/composables/assetDetailView.js.map +1 -1
- package/dist/domains/dam/assetDetail/composables/assetFileFailReason.js +1 -2
- package/dist/domains/dam/assetDetail/composables/autoDeleteTimeLeft.d.ts +9 -0
- package/dist/domains/dam/assetDetail/composables/autoDeleteTimeLeft.js +18 -0
- package/dist/domains/dam/assetDetail/composables/autoDeleteTimeLeft.js.map +1 -0
- package/dist/domains/dam/assetDetail/store/assetDetailStore.d.ts +4 -2
- package/dist/domains/dam/assetDetail/store/assetDetailStore.js +1 -2
- package/dist/domains/dam/assetDetail/store/assetDetailStore.js.map +1 -1
- package/dist/domains/dam/assetDetail/utils/assetImageIconsConfig.js +1 -2
- package/dist/domains/dam/assetDetail/utils/assetMetadataMayStillChange.d.ts +4 -3
- package/dist/domains/dam/assetDetail/utils/assetMetadataMayStillChange.js +1 -2
- package/dist/domains/dam/assetDetail/utils/assetMetadataMayStillChange.js.map +1 -1
- package/dist/domains/dam/assetSelect/api/damPodcastApi.js +9 -10
- package/dist/domains/dam/assetSelect/api/damPodcastApi.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetListInner.js +1 -2
- package/dist/domains/dam/assetSelect/components/AAssetListInner.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetListInner.vue.d.ts +791 -787
- package/dist/domains/dam/assetSelect/components/AAssetListInner.vue_vue_type_script_setup_true_lang.js +148 -149
- package/dist/domains/dam/assetSelect/components/AAssetListInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetSelect.js +1 -2
- package/dist/domains/dam/assetSelect/components/AAssetSelect.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetSelect.vue.d.ts +396 -393
- package/dist/domains/dam/assetSelect/components/AAssetSelect.vue_vue_type_script_setup_true_lang.js +88 -89
- package/dist/domains/dam/assetSelect/components/AAssetSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.js +1 -2
- package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.vue.d.ts +14 -12
- package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.vue_vue_type_script_setup_true_lang.js +110 -111
- package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetDistributionServiceNameFilter.js +1 -2
- package/dist/domains/dam/assetSelect/components/AssetDistributionServiceNameFilter.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetDistributionServiceNameFilter.vue_vue_type_script_setup_true_lang.js +8 -9
- package/dist/domains/dam/assetSelect/components/AssetDistributionServiceNameFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetImagePreview.js +1 -2
- package/dist/domains/dam/assetSelect/components/AssetImagePreview.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetImagePreview.vue.d.ts +3 -0
- package/dist/domains/dam/assetSelect/components/AssetImagePreview.vue_vue_type_script_setup_true_lang.js +29 -19
- package/dist/domains/dam/assetSelect/components/AssetImagePreview.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectFilter.js +1 -2
- package/dist/domains/dam/assetSelect/components/AssetSelectFilter.vue_vue_type_script_setup_true_lang.js +16 -17
- package/dist/domains/dam/assetSelect/components/AssetSelectFilterForm.js +1 -2
- package/dist/domains/dam/assetSelect/components/AssetSelectFilterForm.vue_vue_type_script_setup_true_lang.js +30 -31
- package/dist/domains/dam/assetSelect/components/AssetSelectListBar.js +1 -2
- package/dist/domains/dam/assetSelect/components/AssetSelectListBar.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectListBar.vue.d.ts +9 -7
- package/dist/domains/dam/assetSelect/components/AssetSelectListBar.vue_vue_type_script_setup_true_lang.js +40 -41
- package/dist/domains/dam/assetSelect/components/AssetSelectListBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectListTable.js +1 -2
- package/dist/domains/dam/assetSelect/components/AssetSelectListTable.vue_vue_type_script_setup_true_lang.js +10 -11
- package/dist/domains/dam/assetSelect/components/AssetSelectListTiles.js +1 -2
- package/dist/domains/dam/assetSelect/components/AssetSelectListTiles.vue_vue_type_script_setup_true_lang.js +11 -12
- package/dist/domains/dam/assetSelect/components/AssetSelectTableRowItem.js +1 -2
- package/dist/domains/dam/assetSelect/components/AssetSelectTableRowItem.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectTableRowItem.vue_vue_type_script_setup_true_lang.js +19 -15
- package/dist/domains/dam/assetSelect/components/AssetSelectTableRowItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectTilesItem.js +1 -2
- package/dist/domains/dam/assetSelect/components/AssetSelectTilesItem.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectTilesItem.vue_vue_type_script_setup_true_lang.js +6 -5
- package/dist/domains/dam/assetSelect/components/AssetSelectTilesItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/FilterPodcastRemoteAutocomplete.js +1 -2
- package/dist/domains/dam/assetSelect/components/FilterPodcastRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +6 -7
- package/dist/domains/dam/assetSelect/composables/assetSelectFilterSidebar.js +1 -2
- package/dist/domains/dam/assetSelect/composables/assetSelectGridView.js +1 -2
- package/dist/domains/dam/assetSelect/composables/assetSelectItemActions.d.ts +2 -0
- package/dist/domains/dam/assetSelect/composables/assetSelectItemActions.js +38 -33
- package/dist/domains/dam/assetSelect/composables/assetSelectItemActions.js.map +1 -1
- package/dist/domains/dam/assetSelect/composables/assetSelectListActions.d.ts +4 -2
- package/dist/domains/dam/assetSelect/composables/assetSelectListActions.js +41 -42
- package/dist/domains/dam/assetSelect/composables/assetSelectListActions.js.map +1 -1
- package/dist/domains/dam/assetSelect/composables/podcastFilterAndActions.js +1 -2
- package/dist/domains/dam/assetSelect/filter/AssetFilter.js +5 -6
- package/dist/domains/dam/assetSelect/store/assetSelectStore.d.ts +8 -4
- package/dist/domains/dam/assetSelect/store/assetSelectStore.js +30 -31
- package/dist/domains/dam/assetSelect/store/assetSelectStore.js.map +1 -1
- package/dist/domains/dam/author/api/authorApi.js +18 -19
- package/dist/domains/dam/author/api/authorApi.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorCreateButton.js +1 -2
- package/dist/domains/dam/author/components/AuthorCreateButton.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorCreateButton.vue.d.ts +1 -1
- package/dist/domains/dam/author/components/AuthorCreateButton.vue_vue_type_script_setup_true_lang.js +86 -87
- package/dist/domains/dam/author/components/AuthorCreateButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.js +1 -2
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.vue.d.ts +9 -6
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.vue_vue_type_script_setup_true_lang.js +8 -9
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChipConflicts.js +1 -2
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChipConflicts.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChipConflicts.vue_vue_type_script_setup_true_lang.js +5 -6
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChipConflicts.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.js +4 -5
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue.d.ts +2 -2
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js +89 -90
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.js +1 -2
- package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.js.map +1 -1
- package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.vue.d.ts +1 -1
- package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +9 -10
- package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/author/composables/authorActions.js +6 -7
- package/dist/domains/dam/author/composables/authorValidation.js +1 -2
- package/dist/domains/dam/author/composables/cachedAuthors.d.ts +5 -4
- package/dist/domains/dam/author/composables/cachedAuthors.js +13 -14
- package/dist/domains/dam/author/composables/cachedAuthors.js.map +1 -1
- package/dist/domains/dam/author/composables/cachedUsers.d.ts +5 -4
- package/dist/domains/dam/author/composables/cachedUsers.js +13 -14
- package/dist/domains/dam/author/composables/cachedUsers.js.map +1 -1
- package/dist/domains/dam/author/composables/damAuthorConfig.d.ts +2 -2
- package/dist/domains/dam/author/composables/damAuthorConfig.js +5 -6
- package/dist/domains/dam/author/composables/damAuthorConfig.js.map +1 -1
- package/dist/domains/dam/author/factory/AuthorFactory.js +8 -9
- package/dist/domains/dam/author/filter/AuthorFilter.js +5 -6
- package/dist/domains/dam/author/types/DamAuthorType.js +1 -2
- package/dist/domains/dam/components/DamAdminAssetLink.js +1 -2
- package/dist/domains/dam/components/DamAdminAssetLink.js.map +1 -1
- package/dist/domains/dam/components/DamAdminAssetLink.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/dam/components/DamAdminAssetLink.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/composables/commonAdminCoreDamOptions.d.ts +13 -8
- package/dist/domains/dam/composables/commonAdminCoreDamOptions.js +59 -57
- package/dist/domains/dam/composables/commonAdminCoreDamOptions.js.map +1 -1
- package/dist/domains/dam/composables/damConfigName.d.ts +8 -9
- package/dist/domains/dam/composables/damConfigName.js +5 -6
- package/dist/domains/dam/composables/damConfigName.js.map +1 -1
- package/dist/domains/dam/composables/damNotifications.d.ts +9 -9
- package/dist/domains/dam/composables/damNotifications.js +9 -10
- package/dist/domains/dam/composables/damNotifications.js.map +1 -1
- package/dist/domains/dam/composables/damNotificationsConnection.d.ts +4 -4
- package/dist/domains/dam/composables/damNotificationsConnection.js +1 -2
- package/dist/domains/dam/composables/damNotificationsConnection.js.map +1 -1
- package/dist/domains/dam/composables/damNotificationsEventBus.d.ts +2 -2
- package/dist/domains/dam/composables/damNotificationsEventBus.js +1 -2
- package/dist/domains/dam/composables/damNotificationsEventBus.js.map +1 -1
- package/dist/domains/dam/composables/extSystemIdForCached.d.ts +5 -4
- package/dist/domains/dam/composables/extSystemIdForCached.js +1 -2
- package/dist/domains/dam/composables/extSystemIdForCached.js.map +1 -1
- package/dist/domains/dam/composables/uploadValidations.js +4 -5
- package/dist/domains/dam/config/api/damAssetCustomFormApi.js +7 -8
- package/dist/domains/dam/config/api/damAssetCustomFormApi.js.map +1 -1
- package/dist/domains/dam/config/api/damConfigApi.js +9 -10
- package/dist/domains/dam/config/api/damConfigApi.js.map +1 -1
- package/dist/domains/dam/config/composables/acceptTypeAndSizeHelper.js +1 -2
- package/dist/domains/dam/config/composables/damConfigState.d.ts +5 -5
- package/dist/domains/dam/config/composables/damConfigState.js +58 -59
- package/dist/domains/dam/config/composables/damConfigState.js.map +1 -1
- package/dist/domains/dam/config/store/damConfigStore.d.ts +5 -4
- package/dist/domains/dam/config/store/damConfigStore.js +1 -2
- package/dist/domains/dam/config/store/damConfigStore.js.map +1 -1
- package/dist/domains/dam/config/utils/damFilterUserAllowedUploadConfigs.d.ts +3 -1
- package/dist/domains/dam/config/utils/damFilterUserAllowedUploadConfigs.js +1 -2
- package/dist/domains/dam/config/utils/damFilterUserAllowedUploadConfigs.js.map +1 -1
- package/dist/domains/dam/cropper/components/ACropper.js +1 -2
- package/dist/domains/dam/cropper/components/ACropper.js.map +1 -1
- package/dist/domains/dam/cropper/components/ACropper.vue.d.ts +8 -16
- package/dist/domains/dam/cropper/components/ACropper.vue_vue_type_script_setup_true_lang.js +3 -4
- package/dist/domains/dam/cropper/components/ACropper.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/cropper/components/DamAssetImageRoiSelect.js +1 -2
- package/dist/domains/dam/cropper/components/DamAssetImageRoiSelect.js.map +1 -1
- package/dist/domains/dam/cropper/components/DamAssetImageRoiSelect.vue_vue_type_script_setup_true_lang.js +23 -24
- package/dist/domains/dam/cropper/components/DamAssetImageRoiSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/cropper/components/DamAssetImageRoiSelectLazy.js +1 -2
- package/dist/domains/dam/cropper/components/DamAssetImageRoiSelectLazy.vue_vue_type_script_setup_true_lang.js +5 -6
- package/dist/domains/dam/cropper/store/imageRoiStore.d.ts +11 -14
- package/dist/domains/dam/cropper/store/imageRoiStore.js +1 -2
- package/dist/domains/dam/cropper/store/imageRoiStore.js.map +1 -1
- package/dist/domains/dam/cropper/utils/cropperGeometry.d.ts +24 -38
- package/dist/domains/dam/cropper/utils/cropperGeometry.js +2 -3
- package/dist/domains/dam/cropper/utils/cropperGeometry.js.map +1 -1
- package/dist/domains/dam/cropper/utils/cropperJsService.d.ts +3 -7
- package/dist/domains/dam/cropper/utils/cropperJsService.js +11 -5
- package/dist/domains/dam/cropper/utils/cropperJsService.js.map +1 -1
- package/dist/domains/dam/cropper/utils/cropperTypes.d.ts +3 -6
- package/dist/domains/dam/cropper/utils/damAssetImageRoiSelectLoader.d.ts +5 -5
- package/dist/domains/dam/cropper/utils/damAssetImageRoiSelectLoader.js +1 -2
- package/dist/domains/dam/cropper/utils/damAssetImageRoiSelectLoader.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageMediaWidget.js +1 -2
- package/dist/domains/dam/imageWidget/components/AImageMediaWidget.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageMediaWidget.vue_vue_type_script_setup_true_lang.js +46 -47
- package/dist/domains/dam/imageWidget/components/AImageMediaWidget.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImagePublicInput.js +1 -2
- package/dist/domains/dam/imageWidget/components/AImagePublicInput.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImagePublicInput.vue_vue_type_script_setup_true_lang.js +74 -75
- package/dist/domains/dam/imageWidget/components/AImagePublicInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageWidget.js +1 -2
- package/dist/domains/dam/imageWidget/components/AImageWidget.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageWidget.vue_vue_type_script_setup_true_lang.js +39 -40
- package/dist/domains/dam/imageWidget/components/AImageWidget.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageWidgetMultiple.js +1 -2
- package/dist/domains/dam/imageWidget/components/AImageWidgetMultiple.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageWidgetMultiple.vue_vue_type_script_setup_true_lang.js +25 -26
- package/dist/domains/dam/imageWidget/components/AImageWidgetMultiple.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageWidgetMultipleSimple.js +1 -2
- package/dist/domains/dam/imageWidget/components/AImageWidgetMultipleSimple.vue_vue_type_script_setup_true_lang.js +13 -14
- package/dist/domains/dam/imageWidget/components/AImageWidgetSimple.js +4 -5
- package/dist/domains/dam/imageWidget/components/AImageWidgetSimple.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageWidgetSimple.vue.d.ts +43 -41
- package/dist/domains/dam/imageWidget/components/AImageWidgetSimple.vue_vue_type_script_setup_true_lang.js +17 -18
- package/dist/domains/dam/imageWidget/components/AMediaWidgetSimple.js +4 -5
- package/dist/domains/dam/imageWidget/components/AMediaWidgetSimple.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AMediaWidgetSimple.vue.d.ts +31 -29
- package/dist/domains/dam/imageWidget/components/AMediaWidgetSimple.vue_vue_type_script_setup_true_lang.js +21 -22
- package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.js +1 -2
- package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.vue.d.ts +29 -27
- package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.vue_vue_type_script_setup_true_lang.js +59 -60
- package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageMassOperations.js +1 -2
- package/dist/domains/dam/imageWidget/components/ImageMassOperations.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageMassOperations.vue.d.ts +1 -1
- package/dist/domains/dam/imageWidget/components/ImageMassOperations.vue_vue_type_script_setup_true_lang.js +35 -36
- package/dist/domains/dam/imageWidget/components/ImageMassOperations.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.js +1 -2
- package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.vue.d.ts +68 -66
- package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.vue_vue_type_script_setup_true_lang.js +379 -380
- package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetInner.js +1 -2
- package/dist/domains/dam/imageWidget/components/ImageWidgetInner.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetInner.vue.d.ts +403 -400
- package/dist/domains/dam/imageWidget/components/ImageWidgetInner.vue_vue_type_script_setup_true_lang.js +149 -150
- package/dist/domains/dam/imageWidget/components/ImageWidgetInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.js +1 -2
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.vue.d.ts +385 -382
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.vue_vue_type_script_setup_true_lang.js +79 -80
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleItem.js +1 -2
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleItem.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleItem.vue_vue_type_script_setup_true_lang.js +23 -24
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.js +1 -2
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.vue_vue_type_script_setup_true_lang.js +14 -15
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/MediaWidgetSimpleDialog.js +1 -2
- package/dist/domains/dam/imageWidget/components/MediaWidgetSimpleDialog.vue.d.ts +7 -5
- package/dist/domains/dam/imageWidget/components/MediaWidgetSimpleDialog.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/dam/imageWidget/composables/commonAdminImageOptions.js +10 -11
- package/dist/domains/dam/imageWidget/composables/commonAdminImageOptions.js.map +1 -1
- package/dist/domains/dam/imageWidget/composables/imageActions.js +1 -2
- package/dist/domains/dam/imageWidget/composables/imageApiCms.js +19 -20
- package/dist/domains/dam/imageWidget/composables/imageApiCms.js.map +1 -1
- package/dist/domains/dam/imageWidget/composables/imageDialogDamAuthors.d.ts +13 -14
- package/dist/domains/dam/imageWidget/composables/imageDialogDamAuthors.js +53 -54
- package/dist/domains/dam/imageWidget/composables/imageDialogDamAuthors.js.map +1 -1
- package/dist/domains/dam/imageWidget/composables/useImageMassOperations.js +15 -16
- package/dist/domains/dam/imageWidget/composables/useImageMassOperations.js.map +1 -1
- package/dist/domains/dam/imageWidget/store/imageMediaWidgetStore.js +1 -2
- package/dist/domains/dam/imageWidget/store/imageMediaWidgetStore.js.map +1 -1
- package/dist/domains/dam/imageWidget/store/imageStore.js +1 -2
- package/dist/domains/dam/imageWidget/store/imageStore.js.map +1 -1
- package/dist/domains/dam/imageWidget/utils/damImage.d.ts +5 -6
- package/dist/domains/dam/imageWidget/utils/damImage.js +1 -2
- package/dist/domains/dam/imageWidget/utils/damImage.js.map +1 -1
- package/dist/domains/dam/imageWidget/utils/fieldLockTurns.d.ts +1 -2
- package/dist/domains/dam/imageWidget/utils/fieldLockTurns.js +1 -2
- package/dist/domains/dam/imageWidget/utils/fieldLockTurns.js.map +1 -1
- package/dist/domains/dam/imageWidget/utils/imageSaves.d.ts +10 -14
- package/dist/domains/dam/imageWidget/utils/imageSaves.js +1 -2
- package/dist/domains/dam/imageWidget/utils/imageSaves.js.map +1 -1
- package/dist/domains/dam/imageWidget/utils/imageWidgetInkectionKeys.js +1 -2
- package/dist/domains/dam/imageWidget/utils/metadataToImageMap.js +1 -2
- package/dist/domains/dam/imageWidget/utils/metadataToImageMap.js.map +1 -1
- package/dist/domains/dam/imageWidget/utils/waitLimit.d.ts +4 -6
- package/dist/domains/dam/imageWidget/utils/waitLimit.js +4 -5
- package/dist/domains/dam/imageWidget/utils/waitLimit.js.map +1 -1
- package/dist/domains/dam/keyword/api/keywordApi.js +18 -19
- package/dist/domains/dam/keyword/api/keywordApi.js.map +1 -1
- package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.js +1 -2
- package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.js.map +1 -1
- package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.vue.d.ts +1 -1
- package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +8 -9
- package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.js +1 -2
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.js.map +1 -1
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue.d.ts +8 -5
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue_vue_type_script_setup_true_lang.js +8 -9
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.js +4 -5
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.js.map +1 -1
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue.d.ts +2 -2
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js +93 -94
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/keyword/composables/cachedKeywords.d.ts +5 -4
- package/dist/domains/dam/keyword/composables/cachedKeywords.js +13 -14
- package/dist/domains/dam/keyword/composables/cachedKeywords.js.map +1 -1
- package/dist/domains/dam/keyword/composables/damKeywordConfig.d.ts +2 -2
- package/dist/domains/dam/keyword/composables/damKeywordConfig.js +5 -6
- package/dist/domains/dam/keyword/composables/damKeywordConfig.js.map +1 -1
- package/dist/domains/dam/keyword/composables/keywordActions.js +6 -7
- package/dist/domains/dam/keyword/factory/KeywordFactory.js +7 -8
- package/dist/domains/dam/keyword/factory/KeywordFactory.js.map +1 -1
- package/dist/domains/dam/keyword/filter/KeywordFilter.js +7 -8
- package/dist/domains/dam/types/Asset.d.ts +4 -2
- package/dist/domains/dam/types/Asset.js +1 -2
- package/dist/domains/dam/types/Asset.js.map +1 -1
- package/dist/domains/dam/types/AssetFile.d.ts +1 -1
- package/dist/domains/dam/types/AssetFile.js +1 -2
- package/dist/domains/dam/types/AssetFile.js.map +1 -1
- package/dist/domains/dam/types/AssetLicence.d.ts +7 -0
- package/dist/domains/dam/types/AssetSelect.js +1 -2
- package/dist/domains/dam/types/DamConfig.js +1 -2
- package/dist/domains/dam/types/MediaAware.js +1 -2
- package/dist/domains/dam/types/UploadQueue.d.ts +5 -4
- package/dist/domains/dam/types/UploadQueue.js +1 -2
- package/dist/domains/dam/types/UploadQueue.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.js +1 -2
- package/dist/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.vue_vue_type_script_setup_true_lang.js +10 -11
- package/dist/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.js +1 -2
- package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue.d.ts +2 -2
- package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue_vue_type_script_setup_true_lang.js +84 -85
- package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueButtonStop.js +1 -2
- package/dist/domains/dam/uploadQueue/components/UploadQueueButtonStop.vue_vue_type_script_setup_true_lang.js +7 -8
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialog.js +1 -2
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialog.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialog.vue_vue_type_script_setup_true_lang.js +84 -85
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingle.js +1 -2
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingle.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingle.vue_vue_type_script_setup_true_lang.js +60 -61
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingle.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.js +1 -2
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue.d.ts +6 -4
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue_vue_type_script_setup_true_lang.js +17 -18
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.js +1 -2
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue.d.ts +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue_vue_type_script_setup_true_lang.js +14 -15
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.js +1 -2
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.vue_vue_type_script_setup_true_lang.js +30 -31
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.js +1 -2
- package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.vue.d.ts +6 -6
- package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.vue_vue_type_script_setup_true_lang.js +28 -29
- package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.js +1 -2
- package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.vue.d.ts +13 -13
- package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.vue_vue_type_script_setup_true_lang.js +109 -110
- package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueItemErrorOverlay.js +1 -2
- package/dist/domains/dam/uploadQueue/components/UploadQueueItemErrorOverlay.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/dam/uploadQueue/components/uploadQueueBindings.d.ts +13 -13
- package/dist/domains/dam/uploadQueue/components/uploadQueueBindings.js +18 -19
- package/dist/domains/dam/uploadQueue/components/uploadQueueBindings.js.map +1 -1
- package/dist/domains/dam/uploadQueue/composables/assetSuggestions.js +1 -2
- package/dist/domains/dam/uploadQueue/composables/damUploadChunkSize.d.ts +2 -2
- package/dist/domains/dam/uploadQueue/composables/damUploadChunkSize.js +1 -2
- package/dist/domains/dam/uploadQueue/composables/damUploadChunkSize.js.map +1 -1
- package/dist/domains/dam/uploadQueue/composables/uploadMeter.d.ts +12 -12
- package/dist/domains/dam/uploadQueue/composables/uploadMeter.js +1 -2
- package/dist/domains/dam/uploadQueue/composables/uploadMeter.js.map +1 -1
- package/dist/domains/dam/uploadQueue/composables/uploadQueueItemRefresh.d.ts +5 -5
- package/dist/domains/dam/uploadQueue/composables/uploadQueueItemRefresh.js +21 -22
- package/dist/domains/dam/uploadQueue/composables/uploadQueueItemRefresh.js.map +1 -1
- package/dist/domains/dam/uploadQueue/composables/uploadQueueMassOperations.js +1 -2
- package/dist/domains/dam/uploadQueue/composables/uploadService.d.ts +2 -3
- package/dist/domains/dam/uploadQueue/composables/uploadService.js +40 -41
- package/dist/domains/dam/uploadQueue/composables/uploadService.js.map +1 -1
- package/dist/domains/dam/uploadQueue/composables/useUploadQueueDialog.d.ts +5 -4
- package/dist/domains/dam/uploadQueue/composables/useUploadQueueDialog.js +1 -2
- package/dist/domains/dam/uploadQueue/composables/useUploadQueueDialog.js.map +1 -1
- package/dist/domains/dam/uploadQueue/core/uploadQueueCore.d.ts +3 -2
- package/dist/domains/dam/uploadQueue/core/uploadQueueCore.js +55 -56
- package/dist/domains/dam/uploadQueue/core/uploadQueueCore.js.map +1 -1
- package/dist/domains/dam/uploadQueue/core/uploadQueueCoreTypes.d.ts +8 -5
- package/dist/domains/dam/uploadQueue/core/uploadQueueCoreTypes.js +1 -2
- package/dist/domains/dam/uploadQueue/core/uploadQueueCoreTypes.js.map +1 -1
- package/dist/domains/dam/uploadQueue/core/uploadQueueFill.d.ts +3 -3
- package/dist/domains/dam/uploadQueue/core/uploadQueueFill.js +1 -2
- package/dist/domains/dam/uploadQueue/core/uploadQueueFill.js.map +1 -1
- package/dist/domains/dam/uploadQueue/factory/UploadQueueItemFactory.js +1 -2
- package/dist/domains/dam/uploadQueue/presets/queuePresets.d.ts +8 -5
- package/dist/domains/dam/uploadQueue/presets/queuePresets.js +16 -17
- package/dist/domains/dam/uploadQueue/presets/queuePresets.js.map +1 -1
- package/dist/domains/dam/uploadQueue/presets/uploadPresets.d.ts +15 -13
- package/dist/domains/dam/uploadQueue/presets/uploadPresets.js +9 -10
- package/dist/domains/dam/uploadQueue/presets/uploadPresets.js.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadPollSchedule.d.ts +7 -7
- package/dist/domains/dam/uploadQueue/settlement/uploadPollSchedule.js +1 -2
- package/dist/domains/dam/uploadQueue/settlement/uploadPollSchedule.js.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadPoller.d.ts +4 -4
- package/dist/domains/dam/uploadQueue/settlement/uploadPoller.js +3 -4
- package/dist/domains/dam/uploadQueue/settlement/uploadPoller.js.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadSettle.d.ts +28 -30
- package/dist/domains/dam/uploadQueue/settlement/uploadSettle.js +130 -131
- package/dist/domains/dam/uploadQueue/settlement/uploadSettle.js.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlement.d.ts +2 -2
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlement.js +94 -95
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlement.js.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlementRuntime.d.ts +2 -2
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlementRuntime.js +1 -2
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlementRuntime.js.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlementTypes.d.ts +63 -73
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlementTypes.js +1 -2
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlementTypes.js.map +1 -1
- package/dist/domains/dam/uploadQueue/store/uploadQueuesStore.d.ts +8 -9
- package/dist/domains/dam/uploadQueue/store/uploadQueuesStore.js +167 -168
- package/dist/domains/dam/uploadQueue/store/uploadQueuesStore.js.map +1 -1
- package/dist/domains/dam/uploadQueue/utils/mimeTypeHelper.js +1 -2
- package/dist/domains/dam/user/api/assetLicenceApi.d.ts +2 -1
- package/dist/domains/dam/user/api/assetLicenceApi.js +5 -6
- package/dist/domains/dam/user/api/assetLicenceApi.js.map +1 -1
- package/dist/domains/dam/user/api/assetLicenceGroupApi.js +1 -2
- package/dist/domains/dam/user/api/extSystemApi.js +1 -2
- package/dist/domains/dam/user/api/userApi.d.ts +2 -2
- package/dist/domains/dam/user/api/userApi.js +26 -27
- package/dist/domains/dam/user/api/userApi.js.map +1 -1
- package/dist/domains/dam/user/components/DamAssetLicenceGroupRemoteAutocomplete.js +1 -2
- package/dist/domains/dam/user/components/DamAssetLicenceGroupRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +9 -10
- package/dist/domains/dam/user/components/DamAssetLicenceRemoteAutocomplete.js +1 -2
- package/dist/domains/dam/user/components/DamAssetLicenceRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +10 -11
- package/dist/domains/dam/user/components/DamDistributionServiceSelect.js +1 -2
- package/dist/domains/dam/user/components/DamDistributionServiceSelect.js.map +1 -1
- package/dist/domains/dam/user/components/DamDistributionServiceSelect.vue.d.ts +1 -1
- package/dist/domains/dam/user/components/DamDistributionServiceSelect.vue_vue_type_script_setup_true_lang.js +4 -5
- package/dist/domains/dam/user/components/DamDistributionServiceSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/user/components/DamExtSystemRemoteAutocomplete.js +1 -2
- package/dist/domains/dam/user/components/DamExtSystemRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +8 -9
- package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.js +1 -2
- package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.js.map +1 -1
- package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.vue.d.ts +1 -1
- package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.vue_vue_type_script_setup_true_lang.js +4 -5
- package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/user/components/DamUserFilterRemoteAutocomplete.js +1 -2
- package/dist/domains/dam/user/components/DamUserFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +9 -10
- package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.js +1 -2
- package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.js.map +1 -1
- package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.vue.d.ts +1 -1
- package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +11 -12
- package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/user/composables/assetLicenceActions.js +1 -2
- package/dist/domains/dam/user/composables/assetLicenceGroupActions.js +1 -2
- package/dist/domains/dam/user/composables/cachedAssetLicences.d.ts +17 -0
- package/dist/domains/dam/user/composables/cachedAssetLicences.js +35 -0
- package/dist/domains/dam/user/composables/cachedAssetLicences.js.map +1 -0
- package/dist/domains/dam/user/composables/damUserSelectActions.d.ts +1 -1
- package/dist/domains/dam/user/composables/damUserSelectActions.js +1 -2
- package/dist/domains/dam/user/composables/damUserSelectActions.js.map +1 -1
- package/dist/domains/dam/user/composables/extSystemActions.js +1 -2
- package/dist/domains/dam/user/filter/AssetLicenceFilter.js +7 -8
- package/dist/domains/dam/user/filter/AssetLicenceGroupFilter.js +7 -8
- package/dist/domains/dam/user/filter/DamUserFilter.js +1 -2
- package/dist/domains/dam/user/filter/ExtSystemFilter.js +7 -8
- package/dist/domains/dam/user/types/DamDistributionServiceType.d.ts +2 -2
- package/dist/domains/dam/user/types/DamDistributionServiceType.js +1 -2
- package/dist/domains/dam/user/types/DamDistributionServiceType.js.map +1 -1
- package/dist/domains/dam/user/types/DamExternalProviderAssetType.d.ts +1 -1
- package/dist/domains/dam/user/types/DamExternalProviderAssetType.js +1 -2
- package/dist/domains/dam/user/types/DamExternalProviderAssetType.js.map +1 -1
- package/dist/domains/filters/bookmarks/api/userAdminConfigApi.d.ts +1 -3
- package/dist/domains/filters/bookmarks/api/userAdminConfigApi.js +14 -15
- package/dist/domains/filters/bookmarks/api/userAdminConfigApi.js.map +1 -1
- package/dist/domains/filters/bookmarks/components/AFilterBookmarkButton.js +1 -2
- package/dist/domains/filters/bookmarks/components/AFilterBookmarkButton.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/filters/bookmarks/components/FilterBookmarkDialog.js +1 -2
- package/dist/domains/filters/bookmarks/components/FilterBookmarkDialog.js.map +1 -1
- package/dist/domains/filters/bookmarks/components/FilterBookmarkDialog.vue_vue_type_script_setup_true_lang.js +108 -109
- package/dist/domains/filters/bookmarks/components/FilterBookmarkDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/bookmarks/components/FilterBookmarks.js +1 -2
- package/dist/domains/filters/bookmarks/components/FilterBookmarks.vue_vue_type_script_setup_true_lang.js +65 -66
- package/dist/domains/filters/bookmarks/components/FilterBookmarks.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/bookmarks/factory/UserAdminConfigFactory.js +7 -8
- package/dist/domains/filters/bookmarks/filter/UserAdminConfigFilter.js +1 -2
- package/dist/domains/filters/bookmarks/store/bookmarksStore.d.ts +3 -3
- package/dist/domains/filters/bookmarks/store/bookmarksStore.js +9 -10
- package/dist/domains/filters/bookmarks/store/bookmarksStore.js.map +1 -1
- package/dist/domains/filters/bookmarks/types/UserAdminConfig.js +1 -2
- package/dist/domains/filters/components/AFilterAdvancedButton.js +1 -2
- package/dist/domains/filters/components/AFilterAdvancedButton.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/filters/components/AFilterBooleanSelect.js +1 -2
- package/dist/domains/filters/components/AFilterBooleanSelect.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/filters/components/AFilterDatetimePicker.js +1 -2
- package/dist/domains/filters/components/AFilterDatetimePicker.js.map +1 -1
- package/dist/domains/filters/components/AFilterDatetimePicker.vue_vue_type_script_setup_true_lang.js +14 -15
- package/dist/domains/filters/components/AFilterDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterEmpty.js +1 -2
- package/dist/domains/filters/components/AFilterEmpty.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/filters/components/AFilterInteger.js +1 -2
- package/dist/domains/filters/components/AFilterInteger.js.map +1 -1
- package/dist/domains/filters/components/AFilterInteger.vue_vue_type_script_setup_true_lang.js +11 -12
- package/dist/domains/filters/components/AFilterInteger.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterResetButton.js +1 -2
- package/dist/domains/filters/components/AFilterResetButton.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/filters/components/AFilterString.js +1 -2
- package/dist/domains/filters/components/AFilterString.js.map +1 -1
- package/dist/domains/filters/components/AFilterString.vue_vue_type_script_setup_true_lang.js +5 -6
- package/dist/domains/filters/components/AFilterString.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterSubmitButton.js +1 -2
- package/dist/domains/filters/components/AFilterSubmitButton.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/filters/components/AFilterTimeInterval.js +4 -5
- package/dist/domains/filters/components/AFilterTimeInterval.js.map +1 -1
- package/dist/domains/filters/components/AFilterTimeInterval.vue.d.ts +5 -3
- package/dist/domains/filters/components/AFilterTimeInterval.vue_vue_type_script_setup_true_lang.js +91 -92
- package/dist/domains/filters/components/AFilterTimeInterval.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterValueObjectOptionsSelect.js +1 -2
- package/dist/domains/filters/components/AFilterValueObjectOptionsSelect.js.map +1 -1
- package/dist/domains/filters/components/AFilterValueObjectOptionsSelect.vue_vue_type_script_setup_true_lang.js +16 -17
- package/dist/domains/filters/components/AFilterValueObjectOptionsSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterWrapper.js +1 -2
- package/dist/domains/filters/components/AFilterWrapper.js.map +1 -1
- package/dist/domains/filters/components/AFilterWrapper.vue.d.ts +17 -15
- package/dist/domains/filters/components/AFilterWrapper.vue_vue_type_script_setup_true_lang.js +95 -95
- package/dist/domains/filters/components/AFilterWrapper.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterWrapperSidebar.js +1 -2
- package/dist/domains/filters/components/AFilterWrapperSidebar.vue.d.ts +5 -3
- package/dist/domains/filters/components/AFilterWrapperSidebar.vue_vue_type_script_setup_true_lang.js +7 -8
- package/dist/domains/filters/components/FilterDetailItem.js +1 -2
- package/dist/domains/filters/components/FilterDetailItem.vue_vue_type_script_setup_true_lang.js +10 -11
- package/dist/domains/filters/components/FilterDetailItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/FiltersSelected.js +1 -2
- package/dist/domains/filters/components/FiltersSelected.js.map +1 -1
- package/dist/domains/filters/components/FiltersSelected.vue_vue_type_script_setup_true_lang.js +13 -14
- package/dist/domains/filters/components/FiltersSelected.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/composables/filterFactory.d.ts +28 -9
- package/dist/domains/filters/composables/filterFactory.js +179 -162
- package/dist/domains/filters/composables/filterFactory.js.map +1 -1
- package/dist/domains/filters/composables/filterTimeIntervalTools.js +1 -2
- package/dist/domains/filters/datatable/components/ADatatableConfigButton.js +1 -2
- package/dist/domains/filters/datatable/components/ADatatableConfigButton.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/filters/datatable/components/ADatatableOrdering.js +1 -2
- package/dist/domains/filters/datatable/components/ADatatableOrdering.js.map +1 -1
- package/dist/domains/filters/datatable/components/ADatatableOrdering.vue_vue_type_script_setup_true_lang.js +25 -24
- package/dist/domains/filters/datatable/components/ADatatableOrdering.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/datatable/components/ADatatablePagination.js +1 -2
- package/dist/domains/filters/datatable/components/ADatatablePagination.js.map +1 -1
- package/dist/domains/filters/datatable/components/ADatatablePagination.vue_vue_type_script_setup_true_lang.js +7 -10
- package/dist/domains/filters/datatable/components/ADatatablePagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/datatable/composables/createDatatableColumnsConfig.js +13 -14
- package/dist/domains/filters/datatable/utils/datatable.js +1 -2
- package/dist/domains/filters/datatable/utils/datatableColumns.js +1 -2
- package/dist/domains/filters/utils/filterInjectionKeys.js +1 -2
- package/dist/domains/filters/utils/filterInjectionKeys.js.map +1 -1
- package/dist/domains/form/components/AFormDatetimePicker.js +1 -2
- package/dist/domains/form/components/AFormDatetimePicker.js.map +1 -1
- package/dist/domains/form/components/AFormDatetimePicker.vue.d.ts +7 -5
- package/dist/domains/form/components/AFormDatetimePicker.vue_vue_type_script_setup_true_lang.js +19 -20
- package/dist/domains/form/components/AFormDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/form/components/AFormFlagDatetimePicker.js +1 -2
- package/dist/domains/form/components/AFormFlagDatetimePicker.js.map +1 -1
- package/dist/domains/form/components/AFormFlagDatetimePicker.vue.d.ts +7 -5
- package/dist/domains/form/components/AFormFlagDatetimePicker.vue_vue_type_script_setup_true_lang.js +23 -24
- package/dist/domains/form/components/AFormFlagDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/form/components/AFormRemoteCheckbox.js +1 -2
- package/dist/domains/form/components/AFormRemoteCheckbox.vue_vue_type_script_setup_true_lang.js +9 -10
- package/dist/domains/form/components/AFormRemoteSwitch.js +1 -2
- package/dist/domains/form/components/AFormRemoteSwitch.vue_vue_type_script_setup_true_lang.js +9 -10
- package/dist/domains/form/components/AFormSwitch.js +1 -2
- package/dist/domains/form/components/AFormSwitch.vue.d.ts +7 -5
- package/dist/domains/form/components/AFormSwitch.vue_vue_type_script_setup_true_lang.js +12 -13
- package/dist/domains/form/components/AFormTextField.js +1 -2
- package/dist/domains/form/components/AFormTextField.js.map +1 -1
- package/dist/domains/form/components/AFormTextField.vue.d.ts +9 -7
- package/dist/domains/form/components/AFormTextField.vue_vue_type_script_setup_true_lang.js +14 -15
- package/dist/domains/form/components/AFormTextField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/form/components/AFormTextarea.js +1 -2
- package/dist/domains/form/components/AFormTextarea.vue.d.ts +13 -11
- package/dist/domains/form/components/AFormTextarea.vue_vue_type_script_setup_true_lang.js +21 -22
- package/dist/domains/form/components/AFormTextarea.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/form/components/AFormValueObjectOptionsSelect.js +1 -2
- package/dist/domains/form/components/AFormValueObjectOptionsSelect.vue.d.ts +7 -5
- package/dist/domains/form/components/AFormValueObjectOptionsSelect.vue_vue_type_script_setup_true_lang.js +17 -18
- package/dist/domains/form/components/ASystemEntityScope.js +1 -2
- package/dist/domains/form/components/ASystemEntityScope.vue.d.ts +5 -3
- package/dist/domains/form/components/ASystemEntityScope.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/job/api/jobApi.js +9 -10
- package/dist/domains/job/api/jobApi.js.map +1 -1
- package/dist/domains/job/components/AJobBaseCreateForm.js +1 -2
- package/dist/domains/job/components/AJobBaseCreateForm.vue_vue_type_script_setup_true_lang.js +8 -9
- package/dist/domains/job/components/AJobDetailCommon.js +1 -2
- package/dist/domains/job/components/AJobDetailCommon.vue.d.ts +5 -3
- package/dist/domains/job/components/AJobDetailCommon.vue_vue_type_script_setup_true_lang.js +9 -10
- package/dist/domains/job/components/AJobDetailCommon.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/job/components/AJobPriorityChip.js +1 -2
- package/dist/domains/job/components/AJobPriorityChip.vue_vue_type_script_setup_true_lang.js +5 -6
- package/dist/domains/job/components/AJobStatusChip.js +1 -2
- package/dist/domains/job/components/AJobStatusChip.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/job/composables/jobPriority.js +1 -2
- package/dist/domains/job/factory/JobFactory.js +7 -8
- package/dist/domains/job/valueObject/JobBaseResource.js +1 -2
- package/dist/domains/job/valueObject/JobStatus.js +1 -2
- package/dist/domains/listEditor/components/AListEditor.js +1 -2
- package/dist/domains/listEditor/components/AListEditor.js.map +1 -1
- package/dist/domains/listEditor/components/AListEditor.vue_vue_type_script_setup_true_lang.js +10 -11
- package/dist/domains/listEditor/components/AListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/listEditor/components/ANestedSortableListEditor.js +1 -2
- package/dist/domains/listEditor/components/ANestedSortableListEditor.js.map +1 -1
- package/dist/domains/listEditor/components/ANestedSortableListEditor.vue.d.ts +2 -3
- package/dist/domains/listEditor/components/ANestedSortableListEditor.vue_vue_type_script_setup_true_lang.js +49 -50
- package/dist/domains/listEditor/components/ANestedSortableListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/listEditor/components/ASortableListEditor.js +1 -2
- package/dist/domains/listEditor/components/ASortableListEditor.js.map +1 -1
- package/dist/domains/listEditor/components/ASortableListEditor.vue.d.ts +2 -3
- package/dist/domains/listEditor/components/ASortableListEditor.vue_vue_type_script_setup_true_lang.js +51 -52
- package/dist/domains/listEditor/components/ASortableListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/listEditor/components/internal/LeChangeParentDialog.js +4 -5
- package/dist/domains/listEditor/components/internal/LeChangeParentDialog.js.map +1 -1
- package/dist/domains/listEditor/components/internal/LeChangeParentDialog.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/listEditor/components/internal/LeDeleteDialog.js +1 -2
- package/dist/domains/listEditor/components/internal/LeDeleteDialog.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/listEditor/components/internal/LeDragHandle.js +1 -2
- package/dist/domains/listEditor/components/internal/LeDragHandle.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/listEditor/components/internal/LeEmptyState.js +1 -2
- package/dist/domains/listEditor/components/internal/LeEmptyState.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/listEditor/components/internal/LeMoveToPositionDialog.js +1 -2
- package/dist/domains/listEditor/components/internal/LeMoveToPositionDialog.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/listEditor/components/internal/LeNestedRow.js +1 -2
- package/dist/domains/listEditor/components/internal/LeNestedRow.vue_vue_type_script_setup_true_lang.js +24 -25
- package/dist/domains/listEditor/components/internal/LeNestedRow.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/listEditor/components/internal/LeStatus.js +1 -2
- package/dist/domains/listEditor/components/internal/LeStatus.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/listEditor/components/internal/LeUnsavedLabel.js +1 -2
- package/dist/domains/listEditor/components/internal/LeUnsavedLabel.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/listEditor/components/internal/constants.js +1 -2
- package/dist/domains/listEditor/composables/useContainerWidth.js +1 -2
- package/dist/domains/listEditor/composables/useDeleteDialog.js +1 -2
- package/dist/domains/listEditor/composables/useDragInstruction.js +1 -2
- package/dist/domains/listEditor/composables/useInlineEditing.js +1 -2
- package/dist/domains/listEditor/composables/useIsTouchDevice.js +1 -2
- package/dist/domains/listEditor/composables/useKeyboardNav.js +2 -3
- package/dist/domains/listEditor/composables/useKeyboardNav.js.map +1 -1
- package/dist/domains/listEditor/composables/useListEditorController.d.ts +4 -5
- package/dist/domains/listEditor/composables/useListEditorController.js +16 -17
- package/dist/domains/listEditor/composables/useListEditorController.js.map +1 -1
- package/dist/domains/listEditor/composables/useListEditorScopeValidity.js +1 -2
- package/dist/domains/listEditor/composables/useListEditorStateScope.js +1 -2
- package/dist/domains/listEditor/composables/useNestedListEditor.d.ts +3 -4
- package/dist/domains/listEditor/composables/useNestedListEditor.js +1 -2
- package/dist/domains/listEditor/composables/useNestedListEditor.js.map +1 -1
- package/dist/domains/listEditor/composables/useNestedListEditorController.d.ts +5 -4
- package/dist/domains/listEditor/composables/useNestedListEditorController.js +19 -20
- package/dist/domains/listEditor/composables/useNestedListEditorController.js.map +1 -1
- package/dist/domains/listEditor/composables/useReorderMode.js +1 -2
- package/dist/domains/listEditor/composables/useReorderMode.js.map +1 -1
- package/dist/domains/listEditor/types/listEditorTypes.d.ts +2 -2
- package/dist/domains/listEditor/utils/listEditorLoader.d.ts +5 -5
- package/dist/domains/listEditor/utils/listEditorLoader.js +1 -2
- package/dist/domains/listEditor/utils/listEditorLoader.js.map +1 -1
- package/dist/domains/listEditor/utils/positions.js +1 -2
- package/dist/domains/listEditor/utils/resolveCompactText.js +1 -2
- package/dist/domains/listEditor/utils/resolveCompactText.js.map +1 -1
- package/dist/domains/listEditor/utils/revealInvalidRows.js +1 -2
- package/dist/domains/listEditor/utils/tempId.js +1 -2
- package/dist/domains/log/api/logApi.d.ts +2 -3
- package/dist/domains/log/api/logApi.js +6 -7
- package/dist/domains/log/api/logApi.js.map +1 -1
- package/dist/domains/log/components/ALogDatatable.js +1 -2
- package/dist/domains/log/components/ALogDatatable.js.map +1 -1
- package/dist/domains/log/components/ALogDatatable.vue_vue_type_script_setup_true_lang.js +28 -29
- package/dist/domains/log/components/ALogDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/log/components/ALogDetail.js +4 -5
- package/dist/domains/log/components/ALogDetail.js.map +1 -1
- package/dist/domains/log/components/ALogDetail.vue_vue_type_script_setup_true_lang.js +5 -6
- package/dist/domains/log/components/ALogDetailView.js +1 -2
- package/dist/domains/log/components/ALogDetailView.js.map +1 -1
- package/dist/domains/log/components/ALogDetailView.vue.d.ts +1 -1
- package/dist/domains/log/components/ALogDetailView.vue_vue_type_script_setup_true_lang.js +10 -11
- package/dist/domains/log/components/ALogDetailView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/log/components/ALogFilter.js +1 -2
- package/dist/domains/log/components/ALogFilter.js.map +1 -1
- package/dist/domains/log/components/ALogFilter.vue_vue_type_script_setup_true_lang.js +8 -9
- package/dist/domains/log/components/ALogFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/log/components/ALogLevelChip.js +1 -2
- package/dist/domains/log/components/ALogLevelChip.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/log/components/ALogListView.js +1 -2
- package/dist/domains/log/components/ALogListView.js.map +1 -1
- package/dist/domains/log/components/ALogListView.vue.d.ts +1 -1
- package/dist/domains/log/components/ALogListView.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/log/components/ALogListView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/log/composables/logActions.d.ts +4 -5
- package/dist/domains/log/composables/logActions.js +1 -2
- package/dist/domains/log/composables/logActions.js.map +1 -1
- package/dist/domains/log/composables/logType.d.ts +6 -7
- package/dist/domains/log/composables/logType.js +1 -2
- package/dist/domains/log/composables/logType.js.map +1 -1
- package/dist/domains/log/filter/logFilter.d.ts +8 -11
- package/dist/domains/log/filter/logFilter.js +16 -17
- package/dist/domains/log/filter/logFilter.js.map +1 -1
- package/dist/domains/log/valueObject/LogLevel.js +6 -7
- package/dist/domains/log/valueObject/LogLevel.js.map +1 -1
- package/dist/domains/permission/components/APermissionEditor.js +1 -2
- package/dist/domains/permission/components/APermissionEditor.js.map +1 -1
- package/dist/domains/permission/components/APermissionEditor.vue.d.ts +4 -4
- package/dist/domains/permission/components/APermissionEditor.vue_vue_type_script_setup_true_lang.js +28 -29
- package/dist/domains/permission/components/APermissionEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/permission/components/APermissionGrantEditor.js +1 -2
- package/dist/domains/permission/components/APermissionGrantEditor.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/permission/components/APermissionValueChip.js +1 -2
- package/dist/domains/permission/components/APermissionValueChip.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/permission/composables/permissionActions.d.ts +3 -6
- package/dist/domains/permission/composables/permissionActions.js +9 -10
- package/dist/domains/permission/composables/permissionActions.js.map +1 -1
- package/dist/domains/permission/config/api/permissionConfigApi.d.ts +2 -2
- package/dist/domains/permission/config/api/permissionConfigApi.js +1 -2
- package/dist/domains/permission/config/api/permissionConfigApi.js.map +1 -1
- package/dist/domains/permission/config/composables/permissionConfigActions.d.ts +3 -7
- package/dist/domains/permission/config/composables/permissionConfigActions.js +9 -10
- package/dist/domains/permission/config/composables/permissionConfigActions.js.map +1 -1
- package/dist/domains/permission/config/factory/PermissionConfigFactory.js +1 -2
- package/dist/domains/permission/config/store/permissionConfigStore.d.ts +2 -4
- package/dist/domains/permission/config/store/permissionConfigStore.js +1 -2
- package/dist/domains/permission/config/store/permissionConfigStore.js.map +1 -1
- package/dist/domains/permission/group/api/permissionGroupApi.d.ts +8 -10
- package/dist/domains/permission/group/api/permissionGroupApi.js +5 -6
- package/dist/domains/permission/group/api/permissionGroupApi.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupDatatable.js +1 -2
- package/dist/domains/permission/group/components/APermissionGroupDatatable.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupDatatable.vue.d.ts +12 -10
- package/dist/domains/permission/group/components/APermissionGroupDatatable.vue_vue_type_script_setup_true_lang.js +41 -42
- package/dist/domains/permission/group/components/APermissionGroupDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupDetail.js +1 -2
- package/dist/domains/permission/group/components/APermissionGroupDetail.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupDetail.vue.d.ts +21 -22
- package/dist/domains/permission/group/components/APermissionGroupDetail.vue_vue_type_script_setup_true_lang.js +13 -14
- package/dist/domains/permission/group/components/APermissionGroupDetail.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupFilter.js +1 -2
- package/dist/domains/permission/group/components/APermissionGroupFilter.vue_vue_type_script_setup_true_lang.js +11 -12
- package/dist/domains/permission/group/components/APermissionGroupManage.js +1 -2
- package/dist/domains/permission/group/components/APermissionGroupManage.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupManage.vue.d.ts +21 -22
- package/dist/domains/permission/group/components/APermissionGroupManage.vue_vue_type_script_setup_true_lang.js +8 -9
- package/dist/domains/permission/group/components/APermissionGroupManage.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupRemoteAutocomplete.js +1 -2
- package/dist/domains/permission/group/components/APermissionGroupRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +7 -8
- package/dist/domains/permission/group/composables/cachedPermissionGroups.js +1 -2
- package/dist/domains/permission/group/composables/cachedPermissionGroups.js.map +1 -1
- package/dist/domains/permission/group/composables/permissionGroupActions.d.ts +6 -8
- package/dist/domains/permission/group/composables/permissionGroupActions.js +15 -16
- package/dist/domains/permission/group/composables/permissionGroupActions.js.map +1 -1
- package/dist/domains/permission/group/composables/permissionGroupValidations.d.ts +2 -3
- package/dist/domains/permission/group/composables/permissionGroupValidations.js +1 -2
- package/dist/domains/permission/group/composables/permissionGroupValidations.js.map +1 -1
- package/dist/domains/permission/group/factory/PermissionGroupFactory.js +1 -2
- package/dist/domains/permission/group/filter/permissionGroupFilter.d.ts +2 -3
- package/dist/domains/permission/group/filter/permissionGroupFilter.js +1 -2
- package/dist/domains/permission/group/filter/permissionGroupFilter.js.map +1 -1
- package/dist/domains/permission/group/store/permissionGroupStore.d.ts +3 -6
- package/dist/domains/permission/group/store/permissionGroupStore.js +1 -2
- package/dist/domains/permission/group/store/permissionGroupStore.js.map +1 -1
- package/dist/domains/permission/valueObject/GrantOrigin.js +1 -2
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.js +1 -2
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +7 -8
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.js +1 -2
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.vue_vue_type_script_setup_true_lang.js +9 -10
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.js +1 -2
- package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js +15 -16
- package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.js +1 -2
- package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue.d.ts +5 -3
- package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js +27 -28
- package/dist/domains/remoteAutocomplete/composables/createRemoteAutocomplete.d.ts +11 -13
- package/dist/domains/remoteAutocomplete/composables/createRemoteAutocomplete.js +27 -28
- package/dist/domains/remoteAutocomplete/composables/createRemoteAutocomplete.js.map +1 -1
- package/dist/domains/subjectSelect/components/AFilterWrapperSubjectSelect.js +1 -2
- package/dist/domains/subjectSelect/components/AFilterWrapperSubjectSelect.vue.d.ts +13 -11
- package/dist/domains/subjectSelect/components/AFilterWrapperSubjectSelect.vue_vue_type_script_setup_true_lang.js +56 -57
- package/dist/domains/subjectSelect/components/AFilterWrapperSubjectSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/subjectSelect/components/ASubjectSelect.js +1 -2
- package/dist/domains/subjectSelect/components/ASubjectSelect.js.map +1 -1
- package/dist/domains/subjectSelect/components/ASubjectSelect.vue_vue_type_script_setup_true_lang.js +82 -83
- package/dist/domains/subjectSelect/components/ASubjectSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/subjectSelect/composables/useSubjectSelect.js +55 -54
- package/dist/domains/subjectSelect/composables/useSubjectSelect.js.map +1 -1
- package/dist/domains/subjectSelect/utils/selectStrategies.js +1 -2
- package/dist/domains/system/appShell/components/AActionbar.js +1 -2
- package/dist/domains/system/appShell/components/AActionbar.vue.d.ts +7 -5
- package/dist/domains/system/appShell/components/AActionbar.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/system/appShell/components/AActionbarTarget.js +1 -2
- package/dist/domains/system/appShell/components/AActionbarTarget.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/system/appShell/components/ALayoutLoader.js +1 -2
- package/dist/domains/system/appShell/components/ALayoutLoader.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/system/appShell/components/ALayoutSwitch.js +1 -2
- package/dist/domains/system/appShell/components/ALayoutSwitch.js.map +1 -1
- package/dist/domains/system/appShell/components/ALayoutSwitch.vue.d.ts +7 -5
- package/dist/domains/system/appShell/components/ALayoutSwitch.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/system/appShell/components/ALayoutSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/system/appShell/composables/teleportSlot.d.ts +0 -1
- package/dist/domains/system/appShell/composables/teleportSlot.js +1 -2
- package/dist/domains/system/appShell/composables/teleportSlot.js.map +1 -1
- package/dist/domains/system/components/AAdminSwitcher.js +1 -2
- package/dist/domains/system/components/AAdminSwitcher.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/system/components/AAlerts.js +1 -2
- package/dist/domains/system/components/AAlerts.js.map +1 -1
- package/dist/domains/system/components/AAlerts.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/system/components/AAlerts.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/system/components/ALanguageSelect.js +4 -5
- package/dist/domains/system/components/ALanguageSelect.js.map +1 -1
- package/dist/domains/system/components/ALanguageSelect.vue_vue_type_script_setup_true_lang.js +11 -12
- package/dist/domains/system/components/AThemeSelect.js +1 -2
- package/dist/domains/system/components/AThemeSelect.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/system/composables/alerts.js +1 -2
- package/dist/domains/system/composables/alerts.js.map +1 -1
- package/dist/domains/system/composables/alertsQueue.js +1 -2
- package/dist/domains/system/composables/breadcrumbs.d.ts +6 -6
- package/dist/domains/system/composables/breadcrumbs.js +8 -9
- package/dist/domains/system/composables/breadcrumbs.js.map +1 -1
- package/dist/domains/system/composables/languageSettings.js +1 -2
- package/dist/domains/system/composables/languageSettings.js.map +1 -1
- package/dist/domains/system/composables/loginStatus.js +1 -2
- package/dist/domains/system/composables/loginStatus.js.map +1 -1
- package/dist/domains/system/composables/navigationError.d.ts +6 -8
- package/dist/domains/system/composables/navigationError.js +1 -2
- package/dist/domains/system/composables/navigationError.js.map +1 -1
- package/dist/domains/system/composables/pageNavigation.d.ts +9 -10
- package/dist/domains/system/composables/pageNavigation.js +1 -2
- package/dist/domains/system/composables/pageNavigation.js.map +1 -1
- package/dist/domains/system/composables/recordActions.d.ts +33 -0
- package/dist/domains/system/composables/recordActions.js +32 -0
- package/dist/domains/system/composables/recordActions.js.map +1 -0
- package/dist/domains/system/composables/recordPage.d.ts +26 -31
- package/dist/domains/system/composables/recordPage.js +71 -70
- package/dist/domains/system/composables/recordPage.js.map +1 -1
- package/dist/domains/system/composables/routeHistory.d.ts +4 -5
- package/dist/domains/system/composables/routeHistory.js +34 -28
- package/dist/domains/system/composables/routeHistory.js.map +1 -1
- package/dist/domains/system/composables/sentry.js +1 -2
- package/dist/domains/system/composables/sentry.js.map +1 -1
- package/dist/domains/system/composables/themeSettings.js +1 -2
- package/dist/domains/system/composables/useDebugFeatures.d.ts +3 -6
- package/dist/domains/system/composables/useDebugFeatures.js +1 -2
- package/dist/domains/system/composables/useDebugFeatures.js.map +1 -1
- package/dist/domains/system/composables/useUnreleasedFeatures.js +1 -2
- package/dist/domains/system/composables/useUserActivity.js +1 -2
- package/dist/domains/system/flags/components/FlagCountry.js +1 -2
- package/dist/domains/system/flags/components/FlagCountry.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/system/flags/components/FlagEmpty.js +1 -2
- package/dist/domains/system/flags/components/FlagEn.js +1 -2
- package/dist/domains/system/flags/components/FlagSk.js +1 -2
- package/dist/domains/system/store/datatablePageStore.d.ts +8 -1
- package/dist/domains/system/store/datatablePageStore.js +11 -5
- package/dist/domains/system/store/datatablePageStore.js.map +1 -1
- package/dist/domains/system/systemBar/components/ASystemBar.js +1 -2
- package/dist/domains/system/systemBar/components/ASystemBar.js.map +1 -1
- package/dist/domains/system/systemBar/components/ASystemBar.vue_vue_type_script_setup_true_lang.js +13 -14
- package/dist/domains/system/systemBar/components/ASystemBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/system/systemBar/components/ASystemBarNewVersion.js +1 -2
- package/dist/domains/system/systemBar/components/ASystemBarNewVersion.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/system/systemBar/composables/systemBar.js +1 -2
- package/dist/domains/system/systemBar/utils/appReload.d.ts +5 -5
- package/dist/domains/system/systemBar/utils/appReload.js +7 -8
- package/dist/domains/system/systemBar/utils/appReload.js.map +1 -1
- package/dist/domains/system/systemBar/utils/pageReload.js +1 -2
- package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.js +1 -2
- package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.vue.d.ts +2 -3
- package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionCreateButton.js +1 -2
- package/dist/domains/ui/buttons/action/components/AActionCreateButton.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/ui/buttons/action/components/AActionDeleteButton.js +1 -2
- package/dist/domains/ui/buttons/action/components/AActionDeleteButton.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionDeleteButton.vue_vue_type_script_setup_true_lang.js +7 -8
- package/dist/domains/ui/buttons/action/components/AActionDeleteButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionEditButton.js +1 -2
- package/dist/domains/ui/buttons/action/components/AActionEditButton.vue_vue_type_script_setup_true_lang.js +5 -6
- package/dist/domains/ui/buttons/action/components/AActionSaveAndCloseButton.js +1 -2
- package/dist/domains/ui/buttons/action/components/AActionSaveAndCloseButton.vue_vue_type_script_setup_true_lang.js +8 -9
- package/dist/domains/ui/buttons/action/components/AActionSaveButton.js +1 -2
- package/dist/domains/ui/buttons/action/components/AActionSaveButton.vue_vue_type_script_setup_true_lang.js +5 -6
- package/dist/domains/ui/buttons/components/ABtnSplit.js +1 -2
- package/dist/domains/ui/buttons/components/ABtnSplit.vue.d.ts +9 -7
- package/dist/domains/ui/buttons/components/ABtnSplit.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/ui/buttons/table/components/ATableCopyIdButton.js +1 -2
- package/dist/domains/ui/buttons/table/components/ATableCopyIdButton.vue_vue_type_script_setup_true_lang.js +8 -9
- package/dist/domains/ui/buttons/table/components/ATableDetailButton.js +1 -2
- package/dist/domains/ui/buttons/table/components/ATableDetailButton.vue_vue_type_script_setup_true_lang.js +4 -5
- package/dist/domains/ui/buttons/table/components/ATableEditButton.js +1 -2
- package/dist/domains/ui/buttons/table/components/ATableEditButton.vue_vue_type_script_setup_true_lang.js +4 -5
- package/dist/domains/ui/components/AAnzuUserAvatar.js +1 -2
- package/dist/domains/ui/components/AAnzuUserAvatar.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/ui/components/AAvatarColorPicker.js +1 -2
- package/dist/domains/ui/components/AAvatarColorPicker.js.map +1 -1
- package/dist/domains/ui/components/AAvatarColorPicker.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/ui/components/AAvatarColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/ABooleanSelect.js +1 -2
- package/dist/domains/ui/components/ABooleanSelect.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/ui/components/ABooleanValue.js +1 -2
- package/dist/domains/ui/components/ABooleanValue.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/ui/components/ACard.js +1 -2
- package/dist/domains/ui/components/ACard.js.map +1 -1
- package/dist/domains/ui/components/ACard.vue.d.ts +7 -3
- package/dist/domains/ui/components/ACard.vue_vue_type_script_setup_true_lang.js +7 -4
- package/dist/domains/ui/components/ACard.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/ACardLoader.js +1 -2
- package/dist/domains/ui/components/ACardLoader.js.map +1 -1
- package/dist/domains/ui/components/ACardLoader.vue.d.ts +1 -0
- package/dist/domains/ui/components/ACardLoader.vue_vue_type_script_setup_true_lang.js +14 -9
- package/dist/domains/ui/components/ACardLoader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/AChipNoLink.js +1 -2
- package/dist/domains/ui/components/AChipNoLink.vue.d.ts +5 -3
- package/dist/domains/ui/components/AChipNoLink.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/ui/components/ACopyText.js +1 -2
- package/dist/domains/ui/components/ACopyText.vue.d.ts +9 -7
- package/dist/domains/ui/components/ACopyText.vue_vue_type_script_setup_true_lang.js +7 -8
- package/dist/domains/ui/components/ACreateDialog.js +1 -2
- package/dist/domains/ui/components/ACreateDialog.js.map +1 -1
- package/dist/domains/ui/components/ACreateDialog.vue.d.ts +11 -9
- package/dist/domains/ui/components/ACreateDialog.vue_vue_type_script_setup_true_lang.js +16 -17
- package/dist/domains/ui/components/ACreateDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/ACurrentUserDropdown.js +1 -2
- package/dist/domains/ui/components/ACurrentUserDropdown.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/ui/components/ADialogToolbar.js +1 -2
- package/dist/domains/ui/components/ADialogToolbar.vue.d.ts +5 -3
- package/dist/domains/ui/components/ADialogToolbar.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/ui/components/AIconGroup.js +1 -2
- package/dist/domains/ui/components/AIconGroup.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/ui/components/AProgress.js +1 -2
- package/dist/domains/ui/components/AProgress.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/ui/components/ARow.js +1 -2
- package/dist/domains/ui/components/ARow.vue.d.ts +5 -3
- package/dist/domains/ui/components/ARow.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/ui/components/ATimeTrackingFields.js +1 -2
- package/dist/domains/ui/components/ATimeTrackingFields.js.map +1 -1
- package/dist/domains/ui/components/ATimeTrackingFields.vue_vue_type_script_setup_true_lang.js +6 -7
- package/dist/domains/ui/components/ATimeTrackingFields.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/AUserAndTimeTrackingFields.js +1 -2
- package/dist/domains/ui/components/AUserAndTimeTrackingFields.js.map +1 -1
- package/dist/domains/ui/components/AUserAndTimeTrackingFields.vue.d.ts +3 -5
- package/dist/domains/ui/components/AUserAndTimeTrackingFields.vue_vue_type_script_setup_true_lang.js +12 -13
- package/dist/domains/ui/components/AUserAndTimeTrackingFields.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/datetime/components/ADatetime.js +1 -2
- package/dist/domains/ui/datetime/components/ADatetime.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/ui/datetime/components/ADatetimePicker.js +4 -5
- package/dist/domains/ui/datetime/components/ADatetimePicker.js.map +1 -1
- package/dist/domains/ui/datetime/components/ADatetimePicker.vue.d.ts +5 -3
- package/dist/domains/ui/datetime/components/ADatetimePicker.vue_vue_type_script_setup_true_lang.js +2 -3
- package/dist/domains/ui/datetime/components/ADatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/datetime/components/TimePicker.js +4 -5
- package/dist/domains/ui/datetime/components/TimePicker.js.map +1 -1
- package/dist/domains/ui/datetime/components/TimePicker.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/ui/datetime/composables/remainingTime.js +1 -2
- package/dist/domains/ui/file/components/AFileDropzone.js +1 -2
- package/dist/domains/ui/file/components/AFileDropzone.js.map +1 -1
- package/dist/domains/ui/file/components/AFileDropzone.vue.d.ts +1 -1
- package/dist/domains/ui/file/components/AFileDropzone.vue_vue_type_script_setup_true_lang.js +6 -7
- package/dist/domains/ui/file/components/AFileDropzone.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/file/components/AFileInput.js +1 -2
- package/dist/domains/ui/file/components/AFileInput.js.map +1 -1
- package/dist/domains/ui/file/components/AFileInput.vue.d.ts +9 -7
- package/dist/domains/ui/file/components/AFileInput.vue_vue_type_script_setup_true_lang.js +5 -6
- package/dist/domains/ui/file/components/AFileInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/file/components/AFileInputDialog.js +1 -2
- package/dist/domains/ui/file/components/AFileInputDialog.js.map +1 -1
- package/dist/domains/ui/file/components/AFileInputDialog.vue.d.ts +9 -7
- package/dist/domains/ui/file/components/AFileInputDialog.vue_vue_type_script_setup_true_lang.js +7 -8
- package/dist/domains/ui/file/components/AFileInputDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/file/composables/dropzone.js +1 -2
- package/dist/domains/ui/file/composables/dropzone.js.map +1 -1
- package/dist/domains/ui/file/composables/formatAndSizeCheck.js +25 -26
- package/dist/domains/ui/file/composables/formatAndSizeCheck.js.map +1 -1
- package/dist/domains/ui/file/utils/fileType.js +1 -2
- package/dist/domains/ui/view/components/AGenericView.js +1 -2
- package/dist/domains/ui/view/components/AGenericView.vue.d.ts +7 -5
- package/dist/domains/ui/view/components/AGenericView.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/ui/view/components/ALoginView.js +4 -5
- package/dist/domains/ui/view/components/ALoginView.js.map +1 -1
- package/dist/domains/ui/view/components/ALoginView.vue.d.ts +5 -3
- package/dist/domains/ui/view/components/ALoginView.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/ui/view/components/ALoginView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/view/components/ALogoutView.js +1 -2
- package/dist/domains/ui/view/components/ALogoutView.js.map +1 -1
- package/dist/domains/ui/view/components/ALogoutView.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/ui/view/components/ALogoutView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/view/components/ANotFoundView.js +1 -2
- package/dist/domains/ui/view/components/ANotFoundView.js.map +1 -1
- package/dist/domains/ui/view/components/ANotFoundView.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/ui/view/components/ANotFoundView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/view/components/AUnauthorizedView.js +1 -2
- package/dist/domains/ui/view/components/AUnauthorizedView.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/unsavedGuard/components/AUnsavedConfirmDialog.js +4 -5
- package/dist/domains/unsavedGuard/components/AUnsavedConfirmDialog.js.map +1 -1
- package/dist/domains/unsavedGuard/components/AUnsavedConfirmDialog.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/domains/unsavedGuard/composables/useUnsavedChangesGuard.d.ts +6 -7
- package/dist/domains/unsavedGuard/composables/useUnsavedChangesGuard.js +1 -2
- package/dist/domains/unsavedGuard/composables/useUnsavedChangesGuard.js.map +1 -1
- package/dist/domains/unsavedGuard/composables/useUnsavedSection.js +1 -2
- package/dist/lib.d.ts +6 -4
- package/dist/locales/cs/common/alert.js +1 -2
- package/dist/locales/cs/common/anzuUser.js +1 -2
- package/dist/locales/cs/common/assetSelect.js +1 -2
- package/dist/locales/cs/common/button.js +1 -2
- package/dist/locales/cs/common/collab.js +1 -2
- package/dist/locales/cs/common/confirmDialog.js +1 -2
- package/dist/locales/cs/common/customForm.js +1 -2
- package/dist/locales/cs/common/customFormElement.js +1 -2
- package/dist/locales/cs/common/damImage.js +30 -2
- package/dist/locales/cs/common/damImage.js.map +1 -1
- package/dist/locales/cs/common/dayOfWeek.js +1 -2
- package/dist/locales/cs/common/filter.js +1 -2
- package/dist/locales/cs/common/job.js +1 -2
- package/dist/locales/cs/common/linkDto.js +1 -2
- package/dist/locales/cs/common/listItemDto.js +1 -2
- package/dist/locales/cs/common/log.js +1 -2
- package/dist/locales/cs/common/model.js +1 -2
- package/dist/locales/cs/common/permission.js +1 -2
- package/dist/locales/cs/common/permissionEditor.js +1 -2
- package/dist/locales/cs/common/permissionGroup.js +1 -2
- package/dist/locales/cs/common/routeSettings.js +1 -2
- package/dist/locales/cs/common/sortable.js +1 -2
- package/dist/locales/cs/common/subjectSelect.js +1 -2
- package/dist/locales/cs/common/system.js +1 -2
- package/dist/locales/cs/common/time.js +1 -2
- package/dist/locales/cs/common/userSystem.js +1 -2
- package/dist/locales/cs/error/apiDependencyExists.js +1 -2
- package/dist/locales/cs/error/apiForbiddenOperation.js +1 -2
- package/dist/locales/cs/error/apiTimedOut.js +1 -2
- package/dist/locales/cs/error/apiValidation.js +1 -2
- package/dist/locales/cs/error/jsValidation.js +1 -2
- package/dist/locales/cs/vuetify.js +1 -2
- package/dist/locales/cs.d.ts +3 -0
- package/dist/locales/cs.js +1 -2
- package/dist/locales/en/common/alert.js +1 -2
- package/dist/locales/en/common/anzuUser.js +1 -2
- package/dist/locales/en/common/assetSelect.js +1 -2
- package/dist/locales/en/common/button.js +1 -2
- package/dist/locales/en/common/collab.js +1 -2
- package/dist/locales/en/common/confirmDialog.js +1 -2
- package/dist/locales/en/common/customForm.js +1 -2
- package/dist/locales/en/common/customFormElement.js +1 -2
- package/dist/locales/en/common/damImage.js +30 -2
- package/dist/locales/en/common/damImage.js.map +1 -1
- package/dist/locales/en/common/dayOfWeek.js +1 -2
- package/dist/locales/en/common/filter.js +1 -2
- package/dist/locales/en/common/job.js +1 -2
- package/dist/locales/en/common/linkDto.js +1 -2
- package/dist/locales/en/common/listItemDto.js +1 -2
- package/dist/locales/en/common/log.js +1 -2
- package/dist/locales/en/common/model.js +1 -2
- package/dist/locales/en/common/permission.js +1 -2
- package/dist/locales/en/common/permissionEditor.js +1 -2
- package/dist/locales/en/common/permissionGroup.js +1 -2
- package/dist/locales/en/common/routeSettings.js +1 -2
- package/dist/locales/en/common/sortable.js +1 -2
- package/dist/locales/en/common/subjectSelect.js +1 -2
- package/dist/locales/en/common/system.js +1 -2
- package/dist/locales/en/common/time.js +1 -2
- package/dist/locales/en/common/userSystem.js +1 -2
- package/dist/locales/en/error/apiDependencyExists.js +1 -2
- package/dist/locales/en/error/apiForbiddenOperation.js +1 -2
- package/dist/locales/en/error/apiTimedOut.js +1 -2
- package/dist/locales/en/error/apiValidation.js +1 -2
- package/dist/locales/en/error/jsValidation.js +1 -2
- package/dist/locales/en/vuetify.js +1 -2
- package/dist/locales/en.d.ts +3 -0
- package/dist/locales/en.js +1 -2
- package/dist/locales/sk/common/alert.js +1 -2
- package/dist/locales/sk/common/anzuUser.js +1 -2
- package/dist/locales/sk/common/assetSelect.js +1 -2
- package/dist/locales/sk/common/button.js +1 -2
- package/dist/locales/sk/common/collab.js +1 -2
- package/dist/locales/sk/common/confirmDialog.js +1 -2
- package/dist/locales/sk/common/customForm.js +1 -2
- package/dist/locales/sk/common/customFormElement.js +1 -2
- package/dist/locales/sk/common/damImage.js +30 -2
- package/dist/locales/sk/common/damImage.js.map +1 -1
- package/dist/locales/sk/common/dayOfWeek.js +1 -2
- package/dist/locales/sk/common/filter.js +1 -2
- package/dist/locales/sk/common/job.js +1 -2
- package/dist/locales/sk/common/linkDto.js +1 -2
- package/dist/locales/sk/common/listItemDto.js +1 -2
- package/dist/locales/sk/common/log.js +1 -2
- package/dist/locales/sk/common/model.js +1 -2
- package/dist/locales/sk/common/permission.js +1 -2
- package/dist/locales/sk/common/permissionEditor.js +1 -2
- package/dist/locales/sk/common/permissionGroup.js +1 -2
- package/dist/locales/sk/common/routeSettings.js +1 -2
- package/dist/locales/sk/common/sortable.js +1 -2
- package/dist/locales/sk/common/subjectSelect.js +1 -2
- package/dist/locales/sk/common/system.js +1 -2
- package/dist/locales/sk/common/time.js +1 -2
- package/dist/locales/sk/common/userSystem.js +1 -2
- package/dist/locales/sk/error/apiDependencyExists.js +1 -2
- package/dist/locales/sk/error/apiForbiddenOperation.js +1 -2
- package/dist/locales/sk/error/apiTimedOut.js +1 -2
- package/dist/locales/sk/error/apiValidation.js +1 -2
- package/dist/locales/sk/error/jsValidation.js +1 -2
- package/dist/locales/sk/vuetify.js +1 -2
- package/dist/locales/sk.d.ts +3 -0
- package/dist/locales/sk.js +1 -2
- package/dist/plugins/commonVuetifyConfig.d.ts +4 -49
- package/dist/plugins/commonVuetifyConfig.js +1 -2
- package/dist/plugins/commonVuetifyConfig.js.map +1 -1
- package/dist/plugins/i18n.d.ts +7 -5
- package/dist/plugins/i18n.js +1 -2
- package/dist/plugins/i18n.js.map +1 -1
- package/dist/plugins/pluginOptions.d.ts +4 -2
- package/dist/plugins/pluginOptions.js +1 -2
- package/dist/plugins/pluginOptions.js.map +1 -1
- package/dist/plugins/webfontloader.js +0 -1
- package/dist/plugins/webfontloader.js.map +1 -1
- package/dist/shared/commonConfig.js +0 -1
- package/dist/shared/error/AnzuApiAxiosError.js +1 -2
- package/dist/shared/error/AnzuApiCancelledError.d.ts +5 -8
- package/dist/shared/error/AnzuApiCancelledError.js +1 -2
- package/dist/shared/error/AnzuApiCancelledError.js.map +1 -1
- package/dist/shared/error/AnzuApiDependencyExistsError.js +1 -2
- package/dist/shared/error/AnzuApiForbiddenError.js +1 -2
- package/dist/shared/error/AnzuApiForbiddenOperationError.js +1 -2
- package/dist/shared/error/AnzuApiResponseCodeError.js +1 -2
- package/dist/shared/error/AnzuApiTimeoutError.js +1 -2
- package/dist/shared/error/AnzuApiValidationError.js +1 -2
- package/dist/shared/error/AnzuError.d.ts +3 -5
- package/dist/shared/error/AnzuError.js +1 -2
- package/dist/shared/error/AnzuError.js.map +1 -1
- package/dist/shared/error/AnzuFatalError.js +1 -2
- package/dist/shared/error/AnzuNewVersionFetchError.js +1 -2
- package/dist/shared/error/AuthUnavailableError.d.ts +3 -3
- package/dist/shared/error/AuthUnavailableError.js +1 -2
- package/dist/shared/error/AuthUnavailableError.js.map +1 -1
- package/dist/shared/error/SessionExpiredError.js +1 -2
- package/dist/shared/error/isInCauseChain.d.ts +2 -2
- package/dist/shared/error/isInCauseChain.js +1 -2
- package/dist/shared/error/isInCauseChain.js.map +1 -1
- package/dist/shared/injectionKeys.js +1 -2
- package/dist/shared/statusCodes.js +1 -2
- package/dist/shared/types/CreatedByAware.js +1 -2
- package/dist/shared/types/OwnerAware.js +1 -2
- package/dist/shared/types/UserAndTimeTracking.d.ts +5 -5
- package/dist/shared/types/Validation.d.ts +4 -5
- package/dist/shared/types/common.d.ts +1 -3
- package/dist/shared/types/globalComponents.d.ts +5 -6
- package/dist/shared/types/utils.js +1 -2
- package/dist/shared/utils/array.js +1 -2
- package/dist/shared/utils/boolean.js +1 -2
- package/dist/shared/utils/common.js +1 -2
- package/dist/shared/utils/common.js.map +1 -1
- package/dist/shared/utils/datetime.d.ts +0 -1
- package/dist/shared/utils/datetime.js +0 -1
- package/dist/shared/utils/datetime.js.map +1 -1
- package/dist/shared/utils/datetimePickerValue.d.ts +4 -7
- package/dist/shared/utils/datetimePickerValue.js +0 -1
- package/dist/shared/utils/datetimePickerValue.js.map +1 -1
- package/dist/shared/utils/development.d.ts +3 -3
- package/dist/shared/utils/development.js +1 -2
- package/dist/shared/utils/development.js.map +1 -1
- package/dist/shared/utils/enum.js +1 -2
- package/dist/shared/utils/envConfig.d.ts +4 -4
- package/dist/shared/utils/envConfig.js +1 -2
- package/dist/shared/utils/envConfig.js.map +1 -1
- package/dist/shared/utils/event.js +1 -2
- package/dist/shared/utils/file.js +1 -2
- package/dist/shared/utils/generator.js +1 -2
- package/dist/shared/utils/history.js +1 -2
- package/dist/shared/utils/json.d.ts +1 -1
- package/dist/shared/utils/json.js +1 -2
- package/dist/shared/utils/json.js.map +1 -1
- package/dist/shared/utils/number.js +1 -2
- package/dist/shared/utils/object.js +1 -2
- package/dist/shared/utils/string.js +1 -2
- package/dist/shared/utils/userAndTimeTracking.d.ts +5 -7
- package/dist/shared/utils/userAndTimeTracking.js +1 -2
- package/dist/shared/utils/userAndTimeTracking.js.map +1 -1
- package/dist/shared/validators/vuelidate/common/useValidateBetween.js +1 -2
- package/dist/shared/validators/vuelidate/common/useValidateCompareDates.js +1 -2
- package/dist/shared/validators/vuelidate/common/useValidateEmail.js +1 -2
- package/dist/shared/validators/vuelidate/common/useValidateHexColor.d.ts +3 -5
- package/dist/shared/validators/vuelidate/common/useValidateHexColor.js +1 -2
- package/dist/shared/validators/vuelidate/common/useValidateHexColor.js.map +1 -1
- package/dist/shared/validators/vuelidate/common/useValidateMaxLength.js +1 -2
- package/dist/shared/validators/vuelidate/common/useValidateMaxValue.js +1 -2
- package/dist/shared/validators/vuelidate/common/useValidateMinLength.js +1 -2
- package/dist/shared/validators/vuelidate/common/useValidateMinValue.js +1 -2
- package/dist/shared/validators/vuelidate/common/useValidateNumeric.js +1 -2
- package/dist/shared/validators/vuelidate/common/useValidateRequired.js +1 -2
- package/dist/shared/validators/vuelidate/common/useValidateRequiredIf.js +1 -2
- package/dist/shared/validators/vuelidate/common/useValidateSlug.js +1 -2
- package/dist/shared/validators/vuelidate/common/useValidateStringArrayItemLength.js +1 -2
- package/dist/shared/validators/vuelidate/common/useValidateUrl.js +1 -2
- package/dist/shared/validators/vuelidate/useValidate.js +1 -2
- package/dist/testing/appShell.d.ts +11 -11
- package/dist/testing/appShell.js +1 -2
- package/dist/testing/appShell.js.map +1 -1
- package/dist/testing/closeButtons.d.ts +9 -11
- package/dist/testing/closeButtons.js +1 -2
- package/dist/testing/closeButtons.js.map +1 -1
- package/dist/testing/declaredDependencies.d.ts +7 -7
- package/dist/testing/declaredDependencies.js +1 -2
- package/dist/testing/declaredDependencies.js.map +1 -1
- package/dist/testing/generatedRoutes.d.ts +6 -11
- package/dist/testing/generatedRoutes.js +1 -2
- package/dist/testing/generatedRoutes.js.map +1 -1
- package/dist/testing/routeHistory.d.ts +5 -12
- package/dist/testing/routeHistory.js +1 -2
- package/dist/testing/routeHistory.js.map +1 -1
- package/dist/testing/sortableLists.d.ts +16 -21
- package/dist/testing/sortableLists.js +1 -2
- package/dist/testing/sortableLists.js.map +1 -1
- package/dist/testing/typedRouter.d.ts +0 -1
- package/dist/testing/typedRouter.js +1 -2
- package/dist/testing/typedRouter.js.map +1 -1
- package/dist/vendor/@cropper/element/dist/element.esm.raw.js +2 -3
- package/dist/vendor/@cropper/element/dist/element.esm.raw.js.map +1 -1
- package/dist/vendor/@cropper/element-canvas/dist/element-canvas.esm.raw.js +51 -52
- package/dist/vendor/@cropper/element-canvas/dist/element-canvas.esm.raw.js.map +1 -1
- package/dist/vendor/@cropper/element-crosshair/dist/element-crosshair.esm.raw.js +5 -6
- package/dist/vendor/@cropper/element-crosshair/dist/element-crosshair.esm.raw.js.map +1 -1
- package/dist/vendor/@cropper/element-grid/dist/element-grid.esm.raw.js +5 -6
- package/dist/vendor/@cropper/element-grid/dist/element-grid.esm.raw.js.map +1 -1
- package/dist/vendor/@cropper/element-handle/dist/element-handle.esm.raw.js +6 -7
- package/dist/vendor/@cropper/element-handle/dist/element-handle.esm.raw.js.map +1 -1
- package/dist/vendor/@cropper/element-image/dist/element-image.esm.raw.js +119 -104
- package/dist/vendor/@cropper/element-image/dist/element-image.esm.raw.js.map +1 -1
- package/dist/vendor/@cropper/element-selection/dist/element-selection.esm.raw.js +231 -86
- package/dist/vendor/@cropper/element-selection/dist/element-selection.esm.raw.js.map +1 -1
- package/dist/vendor/@cropper/element-shade/dist/element-shade.esm.raw.js +29 -23
- package/dist/vendor/@cropper/element-shade/dist/element-shade.esm.raw.js.map +1 -1
- package/dist/vendor/@cropper/element-viewer/dist/element-viewer.esm.raw.js +21 -22
- package/dist/vendor/@cropper/element-viewer/dist/element-viewer.esm.raw.js.map +1 -1
- package/dist/vendor/@cropper/utils/dist/utils.esm.raw.js +90 -48
- package/dist/vendor/@cropper/utils/dist/utils.esm.raw.js.map +1 -1
- package/dist/vendor/{cropperjs2 → cropperjs}/dist/cropper.esm.raw.js +11 -12
- package/dist/vendor/cropperjs/dist/cropper.esm.raw.js.map +1 -0
- package/dist/vendor/rusha/dist/rusha.js +1 -2
- package/dist/vendor/uuid/dist/rng.js +1 -2
- package/dist/vendor/uuid/dist/stringify.js +1 -2
- package/dist/vendor/uuid/dist/v1.js +7 -8
- package/dist/vendor/uuid/dist/v4.js +5 -6
- package/package.json +53 -43
- package/src/e2e/conventions.d.mts +4 -0
- package/src/e2e/conventions.mjs +15 -0
- package/src/e2e/env.d.mts +46 -0
- package/src/e2e/env.mjs +78 -0
- package/src/e2e/index.d.mts +11 -0
- package/src/e2e/index.mjs +3 -0
- package/src/e2e/routeWalk.d.mts +44 -0
- package/src/e2e/routeWalk.mjs +618 -0
- package/src/e2e/routeWalkConfig.d.mts +16 -0
- package/src/e2e/routeWalkConfig.mjs +52 -0
- package/src/e2e/types.d.mts +166 -0
- package/src/eslint/adminConfig.mjs +21 -28
- package/src/eslint/globalComponentNames.mjs +3 -4
- package/src/eslint/oxlint-admin.json +3 -0
- package/src/eslint/oxlint.mjs +7 -20
- package/src/eslint/plugin.d.mts +2 -4
- package/src/eslint/plugin.mjs +18 -34
- package/src/eslint/validRouteName.mjs +6 -7
- package/src/vite/devWatch.mjs +30 -43
- package/src/vite/index.d.mts +5 -5
- package/src/vite/sentry.mjs +7 -12
- package/src/vite/sourcemaps.mjs +4 -8
- package/dist/vendor/cropperjs2/dist/cropper.esm.raw.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AFilterRemoteAutocompleteWithMinimal.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_component_VAutocomplete","_withCtx","_renderSlot","_createVNode","_component_VListItem","_mergeProps","_component_VChip","AFilterRemoteAutocompleteWithMinimal_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","submitResetCounter","inject","FilterSubmitResetCounterKey","filterSelected","FilterSelectedKey","filterConfig","FilterConfigKey","filterData","FilterDataKey","filterInnerConfig","FilterInnerConfigKey","filterInnerData","FilterInnerDataKey","componentName","getCurrentInstance","isUndefined","selected","ref","search","isFocused","autoFetchTimer","apiRequestCounter","useI18n","filterConfigCurrent","computed","onBlur","label","t","usePagination","isNull","fetchedItems","selectedItemsCache","allItems","final","finalRaw","value","cloneDeep","key","requestsRunning","loading","useAlerts","apiSearch","query","res","pagination","requestCounter","findLocalDataByValues","found","values","item","tryToLoadFromLocalData","count","foundItems","isArray","newValue","autoFetched","clearAutoFetchTimer","autoFetch","onFocus","onMouseEnter","singleItemSelectedTitle","onSearchUpdate","text","onSelectedUpdate","onClickClear","clearField","isEmptyValue","watchedValue","showValue","placeholderComputed","useFilterClearHelpers","clearOne","updateFilterSelected","watch","oldValue","isBoolean","isOneOf","watchDebounced","openBlock","createBlock","VAutocomplete","_cache","$event","withCtx","itemProps","itemItem","renderSlot","_ctx","createVNode","VListItem","mergeProps","chipProps","chipItem","VChip"],"sources":["../../../../src/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { watchDebounced } from '@vueuse/core'\nimport { computed, getCurrentInstance, inject, onBeforeUnmount, type Ref, ref, watch } from 'vue'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport { cloneDeep, isArray, isBoolean, isNull, isUndefined } from '@/shared/utils/common'\nimport { useI18n } from 'vue-i18n'\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport {\n FilterConfigKey,\n FilterDataKey,\n FilterInnerConfigKey,\n FilterInnerDataKey,\n FilterSelectedKey,\n FilterSubmitResetCounterKey,\n} from '@/domains/filters/utils/filterInjectionKeys'\nimport { type FilterConfig, type FilterData, useFilterClearHelpers } from '@/domains/filters/composables/filterFactory'\nimport { isOneOf } from '@/shared/utils/enum'\nimport type { DatatableSortBy } from '@/domains/filters/datatable/utils/datatableColumns'\nimport { type Pagination, usePagination } from '@/domains/api/composables/pagination'\nimport { useAlerts } from '@/domains/system/composables/alerts'\n\ntype FetchItemsMinimalByIdsType = ((ids: IntegerId[]) => Promise<any[]>) | ((ids: DocId[]) => Promise<any[]>)\n\ntype FetchItemsMinimalType = (\n pagination: Ref<Pagination>,\n filterData: FilterData,\n filterConfig: FilterConfig\n) => Promise<any[]>\n\nconst props = withDefaults(\n defineProps<{\n name: string\n fetchItemsMinimal: FetchItemsMinimalType\n fetchItemsMinimalByIds: FetchItemsMinimalByIdsType\n filterByField: string\n filterSortBy?: DatatableSortBy\n placeholder?: string | undefined\n prefetch?: 'hover' | 'focus' | 'mounted' | false\n searchMinChars?: number\n itemTitle?: string\n itemValue?: string\n }>(),\n {\n filterSortBy: null,\n placeholder: undefined,\n prefetch: false,\n searchMinChars: 2,\n itemTitle: 'name',\n itemValue: 'id',\n }\n)\nconst emit = defineEmits<{\n (e: 'change'): void\n}>()\n\nconst submitResetCounter = inject(FilterSubmitResetCounterKey)\nconst filterSelected = inject(FilterSelectedKey)\nconst filterConfig = inject(FilterConfigKey)\nconst filterData = inject(FilterDataKey)\nconst filterInnerConfig = inject(FilterInnerConfigKey)\nconst filterInnerData = inject(FilterInnerDataKey)\n\nconst componentName = getCurrentInstance()?.type.__name\n\nif (\n isUndefined(submitResetCounter) ||\n isUndefined(filterSelected) ||\n isUndefined(filterData) ||\n isUndefined(filterConfig) ||\n isUndefined(filterInnerConfig) ||\n isUndefined(filterInnerData)\n) {\n throw new Error(`[${componentName}] Incorrect provide/inject config.`)\n}\n\nif (\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterConfig.fields[props.name]) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterData[props.name])\n) {\n throw new Error(\n `[${componentName}] Incorrect filter config. ` +\n `Name is '${props.name}' and available options are ${Object.keys(filterData).join(', ')}.`\n )\n}\n\nif (\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterInnerConfig.fields[props.filterByField]) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterInnerData[props.filterByField])\n) {\n throw new Error(\n `[${componentName}] Incorrect filter inner config. ` +\n `FilterByField is '${props.filterByField}' and available options are ${Object.keys(filterInnerData).join(', ')}.`\n )\n}\n\nconst selected = ref<any>([])\nconst search = ref('')\nconst isFocused = ref(false)\nconst autoFetchTimer: Ref<ReturnType<typeof setTimeout> | undefined> = ref(undefined)\n\nconst apiRequestCounter = ref(0)\n\nconst { t } = useI18n()\n\n// The setup above throws unless the field is configured.\nconst filterConfigCurrent = computed(() => filterConfig.fields[props.name]!)\n\nconst onBlur = () => {\n isFocused.value = false\n}\n\nconst label = computed(() => {\n return filterConfigCurrent.value.titleT ? t(filterConfigCurrent.value.titleT) : undefined\n})\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { pagination } = usePagination(\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isNull(props.filterSortBy) ? null : props.filterSortBy.key,\n props.filterSortBy?.order\n)\nconst fetchedItems = ref<any[]>([])\nconst selectedItemsCache = ref<any[]>([])\n\nconst allItems = computed<ValueObjectOption<DocId | IntegerId>[]>(() => {\n const final = new Map()\n const finalRaw: Map<IntegerId | DocId, any> = new Map()\n selectedItemsCache.value.forEach((value) => {\n if (value.raw) {\n final.set(value.raw[props.itemValue], value.raw[props.itemTitle])\n finalRaw.set(value.raw[props.itemValue], cloneDeep(value.raw))\n } else {\n final.set(value[props.itemValue], value[props.itemTitle])\n finalRaw.set(value[props.itemValue], cloneDeep(value))\n }\n })\n fetchedItems.value.forEach((value) => {\n if (value.raw) {\n final.set(value.raw[props.itemValue], value.raw[props.itemTitle])\n finalRaw.set(value.raw[props.itemValue], cloneDeep(value.raw))\n } else {\n final.set(value[props.itemValue], value[props.itemTitle])\n finalRaw.set(value[props.itemValue], cloneDeep(value))\n }\n })\n return Array.from(final, ([key, value]) => {\n return { value: key, title: value, raw: finalRaw.get(key) }\n })\n})\n\n// The requests of the component on their way (items by their ids, a search, a prefetch): its spinner is on while\n// any of them runs, and goes off with the last. Each turned it off as it ended: a read by ids hid the spinner of a\n// search still running, and the reverse.\nconst requestsRunning = ref(0)\nconst loading = computed(() => requestsRunning.value > 0)\n\nconst { showErrorsDefault } = useAlerts()\n\nconst apiSearch = async (query: string, requestCounter: number) => {\n requestsRunning.value++\n filterInnerData[props.filterByField] = query\n try {\n const res = await props.fetchItemsMinimal(pagination, filterInnerData, filterInnerConfig)\n if (requestCounter === apiRequestCounter.value) fetchedItems.value = res\n } catch (e) {\n showErrorsDefault(e)\n } finally {\n requestsRunning.value--\n }\n}\n\nconst findLocalDataByValues = (values: Array<DocId | IntegerId>) => {\n const found = allItems.value.filter((item: ValueObjectOption<string | number>) => values.includes(item.value))\n return ([] as ValueObjectOption<string | number>[]).concat(found)\n}\n\nconst tryToLoadFromLocalData = async (newValue: string | number | Array<string | number>) => {\n let count = 1\n let foundItems: ValueObjectOption<string | number>[] = []\n if (isArray(newValue)) {\n count = newValue.length\n foundItems = findLocalDataByValues(newValue)\n } else {\n foundItems = findLocalDataByValues([newValue])\n }\n selectedItemsCache.value = foundItems\n return foundItems.length === count\n}\n\nconst autoFetched = ref(false)\n\nconst clearAutoFetchTimer = () => {\n clearTimeout(autoFetchTimer.value)\n autoFetchTimer.value = undefined\n}\n\nonBeforeUnmount(clearAutoFetchTimer)\n\nconst autoFetch = async () => {\n clearAutoFetchTimer()\n if (autoFetched.value === true) return\n autoFetched.value = true\n requestsRunning.value++\n try {\n const res = await props.fetchItemsMinimal(pagination, filterInnerData, filterInnerConfig)\n if (apiRequestCounter.value === 0) fetchedItems.value = res\n } catch (e) {\n showErrorsDefault(e)\n } finally {\n requestsRunning.value--\n }\n}\n\nconst onFocus = () => {\n isFocused.value = true\n if (props.prefetch === false) return\n clearAutoFetchTimer()\n autoFetch()\n}\n\nconst onMouseEnter = () => {\n if (props.prefetch === 'focus' || props.prefetch === false) return\n clearAutoFetchTimer()\n autoFetch()\n}\n\nconst singleItemSelectedTitle = computed(() => {\n if (!filterConfigCurrent.value.multiple && selectedItemsCache.value[0]) {\n return selectedItemsCache.value[0].title\n }\n return undefined\n})\n\n// The clear of the field empties the search with `null` first: an empty search. A field without focus at that\n// moment read its length and threw.\nconst onSearchUpdate = (query: string | null) => {\n const text = query ?? ''\n if (!filterConfigCurrent.value.multiple && !isFocused.value && text.length === 0) return // vuetify fix\n if (singleItemSelectedTitle.value === text) return\n search.value = text\n}\n\nconst onSelectedUpdate = (newValue: any) => {\n filterConfig.touched = true\n let final: null | string | number | string[] | number[] = null\n if (isArray(newValue)) {\n final = newValue.map((item: any) => item.value) as string[] | number[]\n } else if (!isNull(newValue)) {\n final = newValue.value\n }\n filterData[props.name] = final\n emit('change')\n}\n\n// The clear empties the filter in one go, with the model Vuetify has emptied, and asks for the list once, for an\n// empty search, through the counter of the searches. It asked with the search typed before, outside the counter,\n// wrote that answer whenever it came, and emptied the filter only after it. The list is there now: the auto-fetch\n// of an empty filter is not needed. A filter of one value cleared onto the default it held does not change for its\n// watcher: its value is shown again here.\nconst onClickClear = () => {\n clearField()\n clearAutoFetchTimer()\n autoFetched.value = true\n const value = filterData[props.name]\n if (!isEmptyValue(value) && value === watchedValue) showValue(value as string | number | Array<string | number>)\n apiRequestCounter.value++\n apiSearch('', apiRequestCounter.value)\n}\n\nconst placeholderComputed = computed(() => {\n if (!isUndefined(props.placeholder)) return props.placeholder\n if (filterConfigCurrent.value.variant === 'startsWith') return t('common.model.filterPlaceholder.startsWith')\n if (filterConfigCurrent.value.variant === 'eq') return t('common.model.filterPlaceholder.eq')\n if (filterConfigCurrent.value.variant === 'search') return t('common.model.filterPlaceholder.contains')\n return ''\n})\n\nconst { clearOne } = useFilterClearHelpers()\n\nconst clearField = () => {\n clearOne(props.name, filterData, filterConfig)\n filterSelected.value.delete(props.name)\n}\n\nconst updateFilterSelected = (\n newValue: ValueObjectOption<string | number> | ValueObjectOption<string | number>[] | null\n) => {\n filterSelected.value.delete(props.name)\n if ((isArray(newValue) && newValue.length === 0) || isNull(newValue)) {\n filterSelected.value.delete(props.name)\n return\n }\n if (isArray(newValue)) {\n filterSelected.value.set(\n props.name,\n newValue.map((item) => ({ title: item.title, value: item.value }))\n )\n return\n }\n filterSelected.value.set(props.name, [{ title: newValue.title, value: newValue.value }])\n}\n\nconst isEmptyValue = (value: unknown) => isNull(value) || isUndefined(value) || (isArray(value) && value.length === 0)\n\n/** The value of the filter its watcher (below) saw last. */\nlet watchedValue: unknown\n\n/** Puts a value of the filter into the field and the chips: from the items it has, or read by their ids. */\nconst showValue = async (newValue: string | number | Array<string | number>) => {\n const found = await tryToLoadFromLocalData(newValue)\n if (found) {\n selected.value = selectedItemsCache.value.map((item) => ({\n title: item.title,\n value: item.value,\n }))\n updateFilterSelected(selected.value)\n return\n }\n if (isArray(newValue)) {\n requestsRunning.value++\n try {\n selectedItemsCache.value = await props.fetchItemsMinimalByIds(newValue as Array<IntegerId & DocId>)\n selected.value = selectedItemsCache.value.map((item) => ({\n title: item.title,\n value: item.value,\n }))\n updateFilterSelected(selected.value)\n } catch (e) {\n showErrorsDefault(e)\n } finally {\n requestsRunning.value--\n }\n return\n }\n requestsRunning.value++\n try {\n selectedItemsCache.value = await props.fetchItemsMinimalByIds([newValue as DocId & IntegerId])\n selected.value = selectedItemsCache.value.map((item) => ({\n title: item.title,\n value: item.value,\n }))[0]\n updateFilterSelected(selected.value)\n } catch (e) {\n showErrorsDefault(e)\n } finally {\n requestsRunning.value--\n }\n}\n\nwatch(\n () => filterData[props.name],\n async (newValue, oldValue) => {\n watchedValue = newValue\n if (newValue === oldValue || isBoolean(newValue)) return\n if (isEmptyValue(newValue)) {\n selectedItemsCache.value = []\n if (filterConfigCurrent.value.multiple) {\n selected.value = []\n } else {\n selected.value = null\n }\n updateFilterSelected(selected.value)\n if (autoFetched.value === true || isOneOf(props.prefetch, ['hover', 'focus', false])) return\n // One pending auto-fetch at a time: a second empty value would otherwise orphan the first timer.\n clearAutoFetchTimer()\n autoFetchTimer.value = setTimeout(() => {\n autoFetch()\n }, 3000)\n return\n }\n await showValue(newValue as string | number | Array<string | number>)\n },\n { immediate: true }\n)\n\nwatchDebounced(\n search,\n (newValue: string | null, oldValue: string | null) => {\n const query = newValue ?? ''\n if (query.length < props.searchMinChars) return\n if (query !== (oldValue ?? '')) {\n apiRequestCounter.value++\n apiSearch(query, apiRequestCounter.value)\n }\n },\n { debounce: 300 }\n)\n</script>\n\n<template>\n <VAutocomplete\n v-model=\"selected\"\n :items=\"allItems\"\n no-filter\n :placeholder=\"placeholderComputed\"\n :multiple=\"filterConfigCurrent.multiple\"\n :clearable=\"!filterConfigCurrent.mandatory\"\n :label=\"label\"\n :chips=\"filterConfigCurrent.multiple\"\n :loading=\"loading\"\n hide-details\n return-object\n autocomplete=\"off\"\n @update:search=\"onSearchUpdate\"\n @update:model-value=\"onSelectedUpdate\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @mouseenter=\"onMouseEnter\"\n @click:clear=\"onClickClear\"\n >\n <!-- @vue-skip -->\n <template #item=\"{ props: itemProps, internalItem: itemItem }\">\n <slot\n name=\"item\"\n :item=\"itemItem\"\n :props=\"itemProps\"\n >\n <VListItem\n v-bind=\"itemProps\"\n :title=\"itemItem.raw.title\"\n :subtitle=\"itemItem.raw.subtitle\"\n />\n </slot>\n </template>\n <!-- @vue-skip -->\n <template #chip=\"{ props: chipProps, internalItem: chipItem }\">\n <slot\n name=\"chip\"\n :props=\"chipProps\"\n :item=\"chipItem\"\n >\n <VChip\n v-bind=\"chipProps\"\n close-label=\"common.button.remove\"\n :text=\"chipItem.title\"\n />\n </slot>\n </template>\n </VAutocomplete>\n</template>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AFilterRemoteAutocompleteWithMinimal.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_component_VAutocomplete","_withCtx","_renderSlot","_createVNode","_component_VListItem","_mergeProps","_component_VChip","AFilterRemoteAutocompleteWithMinimal_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","submitResetCounter","inject","FilterSubmitResetCounterKey","filterSelected","FilterSelectedKey","filterConfig","FilterConfigKey","filterData","FilterDataKey","filterInnerConfig","FilterInnerConfigKey","filterInnerData","FilterInnerDataKey","componentName","getCurrentInstance","isUndefined","selected","ref","search","isFocused","autoFetchTimer","apiRequestCounter","useI18n","filterConfigCurrent","computed","onBlur","label","t","usePagination","isNull","fetchedItems","selectedItemsCache","allItems","final","finalRaw","value","cloneDeep","key","requestsRunning","loading","useAlerts","apiSearch","query","res","pagination","requestCounter","findLocalDataByValues","found","values","item","tryToLoadFromLocalData","count","foundItems","isArray","newValue","autoFetched","clearAutoFetchTimer","autoFetch","onFocus","onMouseEnter","singleItemSelectedTitle","onSearchUpdate","text","onSelectedUpdate","onClickClear","clearField","isEmptyValue","watchedValue","showValue","placeholderComputed","useFilterClearHelpers","clearOne","updateFilterSelected","watch","oldValue","isBoolean","isOneOf","watchDebounced","openBlock","createBlock","VAutocomplete","_cache","$event","withCtx","itemProps","itemItem","renderSlot","_ctx","createVNode","VListItem","mergeProps","chipProps","chipItem","VChip"],"sources":["../../../../src/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { watchDebounced } from '@vueuse/core'\nimport { computed, getCurrentInstance, inject, onBeforeUnmount, type Ref, ref, watch } from 'vue'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport { cloneDeep, isArray, isBoolean, isNull, isUndefined } from '@/shared/utils/common'\nimport { useI18n } from 'vue-i18n'\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport {\n FilterConfigKey,\n FilterDataKey,\n FilterInnerConfigKey,\n FilterInnerDataKey,\n FilterSelectedKey,\n FilterSubmitResetCounterKey,\n} from '@/domains/filters/utils/filterInjectionKeys'\nimport { type FilterConfig, type FilterData, useFilterClearHelpers } from '@/domains/filters/composables/filterFactory'\nimport { isOneOf } from '@/shared/utils/enum'\nimport type { DatatableSortBy } from '@/domains/filters/datatable/utils/datatableColumns'\nimport { type Pagination, usePagination } from '@/domains/api/composables/pagination'\nimport { useAlerts } from '@/domains/system/composables/alerts'\n\ntype FetchItemsMinimalByIdsType = ((ids: IntegerId[]) => Promise<any[]>) | ((ids: DocId[]) => Promise<any[]>)\n\ntype FetchItemsMinimalType = (\n pagination: Ref<Pagination>,\n filterData: FilterData,\n filterConfig: FilterConfig\n) => Promise<any[]>\n\nconst props = withDefaults(\n defineProps<{\n name: string\n fetchItemsMinimal: FetchItemsMinimalType\n fetchItemsMinimalByIds: FetchItemsMinimalByIdsType\n filterByField: string\n filterSortBy?: DatatableSortBy\n placeholder?: string | undefined\n prefetch?: 'hover' | 'focus' | 'mounted' | false\n searchMinChars?: number\n itemTitle?: string\n itemValue?: string\n }>(),\n {\n filterSortBy: null,\n placeholder: undefined,\n prefetch: false,\n searchMinChars: 2,\n itemTitle: 'name',\n itemValue: 'id',\n }\n)\nconst emit = defineEmits<{\n (e: 'change'): void\n}>()\n\nconst submitResetCounter = inject(FilterSubmitResetCounterKey)\nconst filterSelected = inject(FilterSelectedKey)\nconst filterConfig = inject(FilterConfigKey)\nconst filterData = inject(FilterDataKey)\nconst filterInnerConfig = inject(FilterInnerConfigKey)\nconst filterInnerData = inject(FilterInnerDataKey)\n\nconst componentName = getCurrentInstance()?.type.__name\n\nif (\n isUndefined(submitResetCounter) ||\n isUndefined(filterSelected) ||\n isUndefined(filterData) ||\n isUndefined(filterConfig) ||\n isUndefined(filterInnerConfig) ||\n isUndefined(filterInnerData)\n) {\n throw new Error(`[${componentName}] Incorrect provide/inject config.`)\n}\n\nif (\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterConfig.fields[props.name]) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterData[props.name])\n) {\n throw new Error(\n `[${componentName}] Incorrect filter config. ` +\n `Name is '${props.name}' and available options are ${Object.keys(filterData).join(', ')}.`\n )\n}\n\nif (\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterInnerConfig.fields[props.filterByField]) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterInnerData[props.filterByField])\n) {\n throw new Error(\n `[${componentName}] Incorrect filter inner config. ` +\n `FilterByField is '${props.filterByField}' and available options are ${Object.keys(filterInnerData).join(', ')}.`\n )\n}\n\nconst selected = ref<any>([])\nconst search = ref('')\nconst isFocused = ref(false)\nconst autoFetchTimer: Ref<ReturnType<typeof setTimeout> | undefined> = ref(undefined)\n\nconst apiRequestCounter = ref(0)\n\nconst { t } = useI18n()\n\n// The setup above throws unless the field is configured.\nconst filterConfigCurrent = computed(() => filterConfig.fields[props.name]!)\n\nconst onBlur = () => {\n isFocused.value = false\n}\n\nconst label = computed(() => {\n return filterConfigCurrent.value.titleT ? t(filterConfigCurrent.value.titleT) : undefined\n})\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { pagination } = usePagination(\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isNull(props.filterSortBy) ? null : props.filterSortBy.key,\n props.filterSortBy?.order\n)\nconst fetchedItems = ref<any[]>([])\nconst selectedItemsCache = ref<any[]>([])\n\nconst allItems = computed<ValueObjectOption<DocId | IntegerId>[]>(() => {\n const final = new Map()\n const finalRaw: Map<IntegerId | DocId, any> = new Map()\n selectedItemsCache.value.forEach((value) => {\n if (value.raw) {\n final.set(value.raw[props.itemValue], value.raw[props.itemTitle])\n finalRaw.set(value.raw[props.itemValue], cloneDeep(value.raw))\n } else {\n final.set(value[props.itemValue], value[props.itemTitle])\n finalRaw.set(value[props.itemValue], cloneDeep(value))\n }\n })\n fetchedItems.value.forEach((value) => {\n if (value.raw) {\n final.set(value.raw[props.itemValue], value.raw[props.itemTitle])\n finalRaw.set(value.raw[props.itemValue], cloneDeep(value.raw))\n } else {\n final.set(value[props.itemValue], value[props.itemTitle])\n finalRaw.set(value[props.itemValue], cloneDeep(value))\n }\n })\n return Array.from(final, ([key, value]) => {\n return { value: key, title: value, raw: finalRaw.get(key) }\n })\n})\n\n// Counts running requests (by ids, search, prefetch). The spinner stays on until the last one ends.\n// A single flag let a read by ids hide the spinner of a search still running, and the reverse.\nconst requestsRunning = ref(0)\nconst loading = computed(() => requestsRunning.value > 0)\n\nconst { showErrorsDefault } = useAlerts()\n\nconst apiSearch = async (query: string, requestCounter: number) => {\n requestsRunning.value++\n filterInnerData[props.filterByField] = query\n try {\n const res = await props.fetchItemsMinimal(pagination, filterInnerData, filterInnerConfig)\n if (requestCounter === apiRequestCounter.value) fetchedItems.value = res\n } catch (e) {\n showErrorsDefault(e)\n } finally {\n requestsRunning.value--\n }\n}\n\nconst findLocalDataByValues = (values: Array<DocId | IntegerId>) => {\n const found = allItems.value.filter((item: ValueObjectOption<string | number>) => values.includes(item.value))\n return ([] as ValueObjectOption<string | number>[]).concat(found)\n}\n\nconst tryToLoadFromLocalData = async (newValue: string | number | Array<string | number>) => {\n let count = 1\n let foundItems: ValueObjectOption<string | number>[] = []\n if (isArray(newValue)) {\n count = newValue.length\n foundItems = findLocalDataByValues(newValue)\n } else {\n foundItems = findLocalDataByValues([newValue])\n }\n selectedItemsCache.value = foundItems\n return foundItems.length === count\n}\n\nconst autoFetched = ref(false)\n\nconst clearAutoFetchTimer = () => {\n clearTimeout(autoFetchTimer.value)\n autoFetchTimer.value = undefined\n}\n\nonBeforeUnmount(clearAutoFetchTimer)\n\nconst autoFetch = async () => {\n clearAutoFetchTimer()\n if (autoFetched.value === true) return\n autoFetched.value = true\n requestsRunning.value++\n try {\n const res = await props.fetchItemsMinimal(pagination, filterInnerData, filterInnerConfig)\n if (apiRequestCounter.value === 0) fetchedItems.value = res\n } catch (e) {\n showErrorsDefault(e)\n } finally {\n requestsRunning.value--\n }\n}\n\nconst onFocus = () => {\n isFocused.value = true\n if (props.prefetch === false) return\n clearAutoFetchTimer()\n autoFetch()\n}\n\nconst onMouseEnter = () => {\n if (props.prefetch === 'focus' || props.prefetch === false) return\n clearAutoFetchTimer()\n autoFetch()\n}\n\nconst singleItemSelectedTitle = computed(() => {\n if (!filterConfigCurrent.value.multiple && selectedItemsCache.value[0]) {\n return selectedItemsCache.value[0].title\n }\n return undefined\n})\n\n// Clearing the field first emits a `null` search. Reading its length threw when the field had no focus.\nconst onSearchUpdate = (query: string | null) => {\n const text = query ?? ''\n if (!filterConfigCurrent.value.multiple && !isFocused.value && text.length === 0) return // vuetify fix\n if (singleItemSelectedTitle.value === text) return\n search.value = text\n}\n\nconst onSelectedUpdate = (newValue: any) => {\n filterConfig.touched = true\n let final: null | string | number | string[] | number[] = null\n if (isArray(newValue)) {\n final = newValue.map((item: any) => item.value) as string[] | number[]\n } else if (!isNull(newValue)) {\n final = newValue.value\n }\n filterData[props.name] = final\n emit('change')\n}\n\n// Clearing empties the filter in one step and fetches the list once for an empty search through the search counter.\n// So the auto-fetch for an empty filter is not needed. A single-value filter cleared\n// onto its default does not change for its watcher, so its value is shown again here.\nconst onClickClear = () => {\n clearField()\n clearAutoFetchTimer()\n autoFetched.value = true\n const value = filterData[props.name]\n if (!isEmptyValue(value) && value === watchedValue) showValue(value as string | number | Array<string | number>)\n apiRequestCounter.value++\n apiSearch('', apiRequestCounter.value)\n}\n\nconst placeholderComputed = computed(() => {\n if (!isUndefined(props.placeholder)) return props.placeholder\n if (filterConfigCurrent.value.variant === 'startsWith') return t('common.model.filterPlaceholder.startsWith')\n if (filterConfigCurrent.value.variant === 'eq') return t('common.model.filterPlaceholder.eq')\n if (filterConfigCurrent.value.variant === 'search') return t('common.model.filterPlaceholder.contains')\n return ''\n})\n\nconst { clearOne } = useFilterClearHelpers()\n\nconst clearField = () => {\n clearOne(props.name, filterData, filterConfig)\n filterSelected.value.delete(props.name)\n}\n\nconst updateFilterSelected = (\n newValue: ValueObjectOption<string | number> | ValueObjectOption<string | number>[] | null\n) => {\n filterSelected.value.delete(props.name)\n if ((isArray(newValue) && newValue.length === 0) || isNull(newValue)) {\n filterSelected.value.delete(props.name)\n return\n }\n if (isArray(newValue)) {\n filterSelected.value.set(\n props.name,\n newValue.map((item) => ({ title: item.title, value: item.value }))\n )\n return\n }\n filterSelected.value.set(props.name, [{ title: newValue.title, value: newValue.value }])\n}\n\nconst isEmptyValue = (value: unknown) => isNull(value) || isUndefined(value) || (isArray(value) && value.length === 0)\n\n/** The value of the filter its watcher (below) saw last. */\nlet watchedValue: unknown\n\n/** Puts a value of the filter into the field and the chips: from the items it has, or read by their ids. */\nconst showValue = async (newValue: string | number | Array<string | number>) => {\n const found = await tryToLoadFromLocalData(newValue)\n if (found) {\n selected.value = selectedItemsCache.value.map((item) => ({\n title: item.title,\n value: item.value,\n }))\n updateFilterSelected(selected.value)\n return\n }\n if (isArray(newValue)) {\n requestsRunning.value++\n try {\n selectedItemsCache.value = await props.fetchItemsMinimalByIds(newValue as Array<IntegerId & DocId>)\n selected.value = selectedItemsCache.value.map((item) => ({\n title: item.title,\n value: item.value,\n }))\n updateFilterSelected(selected.value)\n } catch (e) {\n showErrorsDefault(e)\n } finally {\n requestsRunning.value--\n }\n return\n }\n requestsRunning.value++\n try {\n selectedItemsCache.value = await props.fetchItemsMinimalByIds([newValue as DocId & IntegerId])\n selected.value = selectedItemsCache.value.map((item) => ({\n title: item.title,\n value: item.value,\n }))[0]\n updateFilterSelected(selected.value)\n } catch (e) {\n showErrorsDefault(e)\n } finally {\n requestsRunning.value--\n }\n}\n\nwatch(\n () => filterData[props.name],\n async (newValue, oldValue) => {\n watchedValue = newValue\n if (newValue === oldValue || isBoolean(newValue)) return\n if (isEmptyValue(newValue)) {\n selectedItemsCache.value = []\n if (filterConfigCurrent.value.multiple) {\n selected.value = []\n } else {\n selected.value = null\n }\n updateFilterSelected(selected.value)\n if (autoFetched.value === true || isOneOf(props.prefetch, ['hover', 'focus', false])) return\n // One pending auto-fetch at a time: a second empty value would otherwise orphan the first timer.\n clearAutoFetchTimer()\n autoFetchTimer.value = setTimeout(() => {\n autoFetch()\n }, 3000)\n return\n }\n await showValue(newValue as string | number | Array<string | number>)\n },\n { immediate: true }\n)\n\nwatchDebounced(\n search,\n (newValue: string | null, oldValue: string | null) => {\n const query = newValue ?? ''\n if (query.length < props.searchMinChars) return\n if (query !== (oldValue ?? '')) {\n apiRequestCounter.value++\n apiSearch(query, apiRequestCounter.value)\n }\n },\n { debounce: 300 }\n)\n</script>\n\n<template>\n <VAutocomplete\n v-model=\"selected\"\n :items=\"allItems\"\n no-filter\n :placeholder=\"placeholderComputed\"\n :multiple=\"filterConfigCurrent.multiple\"\n :clearable=\"!filterConfigCurrent.mandatory\"\n :label=\"label\"\n :chips=\"filterConfigCurrent.multiple\"\n :loading=\"loading\"\n hide-details\n return-object\n autocomplete=\"off\"\n @update:search=\"onSearchUpdate\"\n @update:model-value=\"onSelectedUpdate\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @mouseenter=\"onMouseEnter\"\n @click:clear=\"onClickClear\"\n >\n <!-- @vue-skip -->\n <template #item=\"{ props: itemProps, internalItem: itemItem }\">\n <slot\n name=\"item\"\n :item=\"itemItem\"\n :props=\"itemProps\"\n >\n <VListItem\n v-bind=\"itemProps\"\n :title=\"itemItem.raw.title\"\n :subtitle=\"itemItem.raw.subtitle\"\n />\n </slot>\n </template>\n <!-- @vue-skip -->\n <template #chip=\"{ props: chipProps, internalItem: chipItem }\">\n <slot\n name=\"chip\"\n :props=\"chipProps\"\n :item=\"chipItem\"\n >\n <VChip\n v-bind=\"chipProps\"\n close-label=\"common.button.remove\"\n :text=\"chipItem.title\"\n />\n </slot>\n </template>\n </VAutocomplete>\n</template>\n"],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import e from "./AFormRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
-
|
|
2
|
+
// src/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue
|
|
3
3
|
var t = e;
|
|
4
|
-
//#endregion
|
|
5
4
|
export { t as default };
|
|
6
5
|
|
|
7
6
|
//# sourceMappingURL=AFormRemoteAutocomplete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AFormRemoteAutocomplete.js","names":["_sfc_main","AFormRemoteAutocomplete_vue_vue_type_script_setup_true_lang_default","AFormRemoteAutocomplete_default"],"sources":["../../../../src/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue"],"sourcesContent":["<script lang=\"ts\" setup generic=\"T extends string | number\">\nimport type { AFormFieldValidation } from '@/shared/types/Validation'\nimport { watchDebounced } from '@vueuse/core'\nimport { computed, getCurrentInstance, inject, type Ref, ref, watch, unref } from 'vue'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport { cloneDeep, isArray, isDefined, isEmpty, isNull, isUndefined } from '@/shared/utils/common'\nimport { SubjectScopeKey, SystemScopeKey } from '@/shared/injectionKeys'\nimport { stringSplitOnFirstOccurrence } from '@/shared/utils/string'\nimport { useI18n } from 'vue-i18n'\nimport type { DocId, IntegerId, IntegerIdNullable } from '@/shared/types/common'\nimport ACollabLockedByUser from '@/domains/collab/components/ACollabLockedByUser.vue'\nimport type { CollabComponentConfig, CollabFieldData } from '@/domains/collab/types/Collab'\nimport { useCollabField } from '@/domains/collab/composables/collabField'\nimport { useCommonAdminCollabOptions } from '@/domains/collab/composables/commonAdminCollabOptions'\nimport type { FilterConfig, FilterData } from '@/domains/filters/composables/filterFactory'\nimport { FilterInnerConfigKey, FilterInnerDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport type { DatatableSortBy } from '@/domains/filters/datatable/utils/datatableColumns'\nimport { type Pagination, usePagination } from '@/domains/api/composables/pagination'\nimport { useAlerts } from '@/domains/system/composables/alerts'\n\ntype ModelValueType = T | T[] | null | undefined\n\nconst props = withDefaults(\n defineProps<{\n label?: string | undefined\n required?: boolean | undefined\n multiple?: boolean\n clearable?: boolean\n v?: AFormFieldValidation | null\n errorMessage?: string\n hideDetails?: boolean\n hideLabel?: boolean\n fetchItems: (\n pagination: Ref<Pagination>,\n filterData: FilterData,\n filterConfig: FilterConfig\n ) => Promise<ValueObjectOption<T>[]>\n fetchItemsByIds: (ids: T[]) => Promise<ValueObjectOption<T>[]>\n filterByField: string\n filterSortBy?: DatatableSortBy\n loading?: boolean\n collab?: CollabComponentConfig\n disabled?: boolean | undefined\n readonly?: boolean\n chips?: boolean\n closableChips?: boolean\n disableAutoSingleSelect?: boolean // auto select works only when modelValue is empty/null and prefetch is set to 'mounted'\n prefetch?: 'hover' | 'focus' | 'mounted' | false\n minSearchChars?: number\n minSearchText?: string | undefined\n }>(),\n {\n label: undefined,\n required: undefined,\n multiple: false,\n clearable: false,\n v: null,\n errorMessage: undefined,\n hideDetails: false,\n hideLabel: false,\n filterSortBy: null,\n loading: false,\n collab: undefined,\n disabled: undefined,\n chips: false,\n closableChips: false,\n disableAutoSingleSelect: false,\n prefetch: false,\n minSearchChars: 2,\n minSearchText: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'searchChange', data: string): void\n (e: 'searchChangeDebounced', data: string): void\n (e: 'blur', data: ModelValueType): void\n (e: 'focus', data: ModelValueType): void\n (e: 'click:chipClose', data: ValueObjectOption<T>): void\n}>()\n\nconst SEARCH_DEBOUNCE_MS = 300\n\nconst filterInnerConfig = inject(FilterInnerConfigKey)\nconst filterInnerData = inject(FilterInnerDataKey)\n\nconst componentName = getCurrentInstance()?.type.__name\n\nif (isUndefined(filterInnerConfig) || isUndefined(filterInnerData)) {\n throw new Error(`[${componentName}] Incorrect provide/inject config.`)\n}\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst filterByFieldProp = props.filterByField\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst filterSortByProp = props.filterSortBy\n\nif (isUndefined(filterInnerConfig.fields[filterByFieldProp]) || isUndefined(filterInnerData[filterByFieldProp])) {\n throw new Error(\n `[${componentName}] Incorrect filter inner config. ` +\n `FilterByField is '${filterByFieldProp}' and available options are ${Object.keys(filterInnerData).join(', ')}.`\n )\n}\n\nconst modelValue = defineModel<ModelValueType>({\n required: true,\n set(newValue) {\n return isArray(newValue) ? cloneDeep(newValue) : newValue\n },\n})\n\nconst modelValueSelected = defineModel<ValueObjectOption<T> | ValueObjectOption<T>[] | null>('selected', {\n required: false,\n default: null,\n set(newValue) {\n return isArray(newValue) ? cloneDeep(newValue) : newValue\n },\n})\n\n// Collaboration\nconst { collabOptions } = useCommonAdminCollabOptions()\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst releaseFieldLock = ref((data: CollabFieldData) => {})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst changeFieldData = ref((data: CollabFieldData) => {})\nconst acquireFieldLock = ref(() => {})\nconst lockedByUserLocal = ref<IntegerIdNullable>(null)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nif (collabOptions.value.enabled && isDefined(props.collab)) {\n const { releaseCollabFieldLock, changeCollabFieldData, acquireCollabFieldLock, lockedByUser } = useCollabField(\n props.collab.room,\n props.collab.field,\n false,\n true\n )\n releaseFieldLock.value = releaseCollabFieldLock\n changeFieldData.value = changeCollabFieldData\n acquireFieldLock.value = acquireCollabFieldLock\n watch(\n lockedByUser,\n (newValue) => {\n lockedByUserLocal.value = newValue\n },\n { immediate: true }\n )\n}\n\nconst search = ref('')\nconst isFocused = ref(false)\nconst modelValueAutocomplete = ref<ValueObjectOption<T> | ValueObjectOption<T>[] | null>(null)\nconst apiRequestCounter = ref(0)\n\nconst { t } = useI18n()\n\nconst system = inject<string | undefined>(SystemScopeKey, undefined)\nconst subject = inject<string | undefined>(SubjectScopeKey, undefined)\n\nconst onBlur = () => {\n isFocused.value = false\n emit('blur', modelValue.value)\n props.v?.$touch()\n releaseFieldLock.value(modelValue.value)\n}\n\nconst errorMessageComputed = computed(() => {\n if (isDefined(props.errorMessage)) return [props.errorMessage]\n if (props.v?.$errors?.length) return props.v.$errors.map((item) => unref(item.$message))\n return []\n})\n\nconst labelComputed = computed(() => {\n if (isDefined(props.label)) return props.label\n if (isUndefined(system) || isUndefined(subject) || isUndefined(props.v?.$path)) return ''\n const { end: path } = stringSplitOnFirstOccurrence(props.v?.$path, '.')\n return t(system + '.' + subject + '.model.' + path)\n})\n\nconst requiredComputed = computed(() => {\n if (isDefined(props.required)) return props.required\n return (props.v?.required as { $params?: { type?: string } } | undefined)?.$params?.type === 'required'\n})\n\nconst disabledComputed = computed(() => {\n if (isDefined(props.disabled)) return props.disabled\n return !!lockedByUserLocal.value\n})\n\nconst { pagination } = usePagination(isNull(filterSortByProp) ? null : filterSortByProp.key, filterSortByProp?.order)\nconst fetchedItems = ref<ValueObjectOption<T>[]>([])\nconst selectedItemsCache = ref<ValueObjectOption<T>[]>([])\nconst isFirstLoad = ref(true)\nconst prefetchCompleted = ref(false)\n\nconst allItems = computed<ValueObjectOption<T>[]>(() => {\n const itemsMap = new Map<T, ValueObjectOption<T>>()\n const addToMap = (items: ValueObjectOption<T>[]) => {\n items.forEach((item) => {\n itemsMap.set(item.value, {\n value: item.value,\n title: item.title,\n subtitle: item.subtitle,\n } as ValueObjectOption<T>)\n })\n }\n\n addToMap(selectedItemsCache.value as ValueObjectOption<T>[])\n addToMap(fetchedItems.value as ValueObjectOption<T>[])\n\n return Array.from(itemsMap.values())\n})\n\n// The requests of the component on their way (items by their ids, a search, a prefetch): its spinner is on while\n// any of them runs, and goes off with the last. Each turned it off as it ended: a read by ids hid the spinner of a\n// search still running, and the reverse.\nconst requestsRunning = ref(0)\nconst loadingLocal = computed(() => requestsRunning.value > 0)\nconst loadingComputed = computed(() => {\n if (loadingLocal.value) return true\n return props.loading\n})\n\nconst resetToEmptyState = (value: ModelValueType) => {\n byIdsCounter++\n selectedItemsCache.value = []\n modelValueSelected.value = isArray(value) ? [] : null\n modelValueAutocomplete.value = isArray(value) ? [] : null\n}\n\nconst updateSelected = (value: T[] | T) => {\n const findItem = (id: T): ValueObjectOption<T> =>\n allItems.value.find((obj) => obj.value === id) ?? ({ title: `${id}`, value: id } as ValueObjectOption<T>)\n return isArray(value) ? value.map(findItem) : findItem(value)\n}\n\nlet byIdsCounter = 0\nconst loadListItems = async (ids: T[] | T) => {\n const requestId = ++byIdsCounter\n requestsRunning.value++\n\n try {\n const idsArray = isArray(ids) ? ids : [ids]\n const res = await props.fetchItemsByIds(idsArray)\n if (requestId !== byIdsCounter) return selectedItemsCache.value\n selectedItemsCache.value = res\n const selectedNewValue = updateSelected(ids)\n modelValueSelected.value = selectedNewValue\n modelValueAutocomplete.value = selectedNewValue\n return selectedItemsCache.value\n } catch (e) {\n // Mirror tryLoadModelValue: don't let a failed by-ids resolve become a generic global toast (QA 85050).\n showErrorsDefault(e)\n return undefined\n } finally {\n requestsRunning.value--\n }\n}\n\nconst tryLoadModelValue = async (tryLoadValue: ModelValueType, prefetch = false) => {\n const idsToFetch = isArray(tryLoadValue) ? tryLoadValue : [tryLoadValue]\n let fetchedData: ValueObjectOption<T>[]\n requestsRunning.value++\n try {\n fetchedData = await props.fetchItemsByIds(idsToFetch as Array<IntegerId & DocId>)\n } catch (e) {\n showErrorsDefault(e)\n return false\n } finally {\n // Over before the prefetch below, which bails out while a request of the component runs.\n requestsRunning.value--\n }\n if (!isArray(fetchedData) || fetchedData.length === 0) return false\n selectedItemsCache.value = fetchedData\n const value = props.multiple ? fetchedData.map((item) => item.value) : fetchedData[0]!.value\n modelValue.value = value\n if (prefetch) await tryAutoFetch('force', value)\n return true\n}\n\nconst { showErrorsDefault } = useAlerts()\n\nconst apiSearch = async (query: string, requestCounter: number) => {\n requestsRunning.value++\n filterInnerData[filterByFieldProp] = query\n try {\n const res = await props.fetchItems(pagination, filterInnerData, filterInnerConfig)\n if (requestCounter === apiRequestCounter.value) fetchedItems.value = res\n } catch (error) {\n showErrorsDefault(error)\n } finally {\n requestsRunning.value--\n }\n}\n\nconst tryAutoFetch = async (mode: 'focus' | 'hover' | 'mounted' | 'force', newValue: ModelValueType) => {\n if (loadingLocal.value) return\n if (mode !== 'force') {\n if (props.prefetch === false || props.prefetch !== mode || prefetchCompleted.value) return\n }\n\n requestsRunning.value++\n try {\n const res = await props.fetchItems(pagination, filterInnerData, filterInnerConfig)\n if (apiRequestCounter.value === 0) {\n fetchedItems.value = res\n if (\n !props.disableAutoSingleSelect &&\n mode === 'mounted' &&\n res.length === 1 &&\n (isNull(newValue) || isUndefined(newValue) || (isArray(newValue) && newValue.length === 0))\n ) {\n modelValue.value = props.multiple ? [res[0]!.value] : res[0]!.value\n }\n }\n prefetchCompleted.value = true\n } catch (e) {\n showErrorsDefault(e)\n } finally {\n requestsRunning.value--\n }\n}\n\nconst onFocus = async () => {\n isFocused.value = true\n acquireFieldLock.value()\n await tryAutoFetch('focus', modelValue.value)\n emit('focus', modelValue.value)\n}\n\nconst onMouseEnter = async () => {\n await tryAutoFetch('hover', modelValue.value)\n}\n\nconst singleItemSelectedTitle = computed(() => {\n if (!props.multiple && selectedItemsCache.value[0]) {\n return selectedItemsCache.value[0].title\n }\n return undefined\n})\n\n// The clear of the field empties the search with `null` first: an empty search. A field without focus at that\n// moment read its length and threw.\nconst onSearchUpdate = (query: string | null) => {\n const text = query ?? ''\n if (!props.multiple && !isFocused.value && text.length === 0) return // vuetify fix\n if (singleItemSelectedTitle.value === text) return\n search.value = text\n}\n\n// The clear empties the value at once and asks for the list once, for an empty search, through the counter of the\n// searches. It asked with the search typed before, outside the counter, wrote that answer whenever it came, and\n// emptied the value only after it.\nconst onClickClear = () => {\n modelValue.value = props.multiple ? [] : null\n apiRequestCounter.value++\n apiSearch('', apiRequestCounter.value)\n}\n\nconst onChipCloseClick = (closedItem: ValueObjectOption<T>) => {\n if (isArray(modelValue.value)) {\n modelValue.value = modelValue.value.filter((item) => item !== closedItem.value)\n return\n }\n if (closedItem.value === modelValue.value && props.clearable) {\n modelValue.value = null\n }\n}\n\nwatchDebounced(\n search,\n (newValue: string | null, oldValue: string | null) => {\n const query = newValue ?? ''\n if (query === (oldValue ?? '')) return\n if (query.length > 0 && query.length < props.minSearchChars) return\n if (query.length === 0 && props.prefetch === false) {\n fetchedItems.value = []\n return\n }\n apiRequestCounter.value++\n apiSearch(query, apiRequestCounter.value)\n emit('searchChangeDebounced', query)\n },\n { debounce: SEARCH_DEBOUNCE_MS }\n)\n\nwatch(search, (newValue, oldValue) => {\n if (newValue !== oldValue) {\n emit('searchChange', newValue)\n }\n})\n\nconst onAutocompleteModelUpdate = (newValue: ValueObjectOption<T> | readonly ValueObjectOption<T>[] | null) => {\n const cloned = cloneDeep(newValue) as ValueObjectOption<T> | ValueObjectOption<T>[] | null\n modelValueSelected.value = cloned\n if (isNull(cloned) || isUndefined(cloned)) {\n modelValue.value = null\n return\n }\n if (isArray(cloned)) {\n modelValue.value = cloned.map((item) => item.value)\n return\n }\n modelValue.value = cloned.value\n}\n\nconst noDataText = computed(() => {\n if (loadingLocal.value) {\n return '$vuetify.loading'\n }\n if (fetchedItems.value.length === 0 && search.value.length < props.minSearchChars) {\n return isUndefined(props.minSearchText)\n ? t('common.filter.filterMinChars', { min: props.minSearchChars })\n : props.minSearchText\n }\n return undefined\n})\n\nwatch(\n modelValue,\n async (newValue, oldValue) => {\n if (newValue === oldValue) return\n if (isFirstLoad.value) {\n isFirstLoad.value = false\n await tryAutoFetch('mounted', newValue)\n }\n if (collabOptions.value.enabled && isFocused.value) {\n changeFieldData.value(newValue)\n }\n if (isEmpty(newValue)) {\n resetToEmptyState(newValue)\n return\n }\n await loadListItems(newValue as T[] | T)\n },\n { immediate: true }\n)\n\ndefineExpose({\n tryLoadModelValue,\n})\n</script>\n\n<template>\n <VAutocomplete\n :model-value=\"modelValueAutocomplete as any\"\n :items=\"allItems\"\n no-filter\n :multiple=\"multiple\"\n :clearable=\"clearable\"\n :error-messages=\"errorMessageComputed\"\n :chips=\"chips || multiple || closableChips\"\n :hide-details=\"hideDetails\"\n :loading=\"loadingComputed\"\n :disabled=\"disabledComputed\"\n :readonly=\"readonly\"\n :no-data-text=\"noDataText\"\n return-object\n autocomplete=\"off\"\n :hide-selected=\"closableChips\"\n :closable-chips=\"closableChips && !loadingComputed && !disabledComputed && !readonly\"\n @update:search=\"onSearchUpdate\"\n @update:model-value=\"onAutocompleteModelUpdate\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @mouseenter=\"onMouseEnter\"\n @click:clear=\"onClickClear\"\n >\n <template #item=\"{ props: itemProps, internalItem }\">\n <VListItem\n v-bind=\"itemProps\"\n :title=\"internalItem.raw.title\"\n :subtitle=\"internalItem.raw.subtitle\"\n />\n </template>\n <template #chip=\"{ props: chipProps, internalItem }\">\n <VChip\n :closable=\"chipProps.closable as boolean\"\n close-label=\"common.button.remove\"\n size=\"small\"\n :text=\"`${internalItem.title} (${internalItem.raw.subtitle})`\"\n :disabled=\"internalItem.props.disabled\"\n @click:close=\"onChipCloseClick(internalItem.raw)\"\n >\n {{ internalItem.raw.title }}\n <span\n v-if=\"internalItem.raw.subtitle\"\n class=\"font-italic pl-1\"\n >\n ({{ internalItem.raw.subtitle }})\n </span>\n </VChip>\n </template>\n <template #label>\n <span\n v-if=\"!hideLabel\"\n :key=\"requiredComputed + ''\"\n >\n {{ labelComputed }}\n <span\n v-if=\"requiredComputed\"\n class=\"a-required-mark\"\n />\n </span>\n </template>\n <template\n v-if=\"lockedByUserLocal\"\n #append-inner\n >\n <slot\n name=\"locked\"\n :user-id=\"lockedByUserLocal\"\n >\n <ACollabLockedByUser\n v-if=\"collab\"\n :id=\"lockedByUserLocal\"\n :users=\"collab.cachedUsers\"\n />\n </slot>\n </template>\n <template\n v-if=\"$slots.append\"\n #append\n >\n <slot name=\"append\" />\n </template>\n </VAutocomplete>\n</template>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"AFormRemoteAutocomplete.js","names":["_sfc_main","AFormRemoteAutocomplete_vue_vue_type_script_setup_true_lang_default","AFormRemoteAutocomplete_default"],"sources":["../../../../src/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue"],"sourcesContent":["<script lang=\"ts\" setup generic=\"T extends string | number\">\nimport type { AFormFieldValidation } from '@/shared/types/Validation'\nimport { watchDebounced } from '@vueuse/core'\nimport { computed, getCurrentInstance, inject, type Ref, ref, watch, unref } from 'vue'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport { cloneDeep, isArray, isDefined, isEmpty, isNull, isUndefined } from '@/shared/utils/common'\nimport { SubjectScopeKey, SystemScopeKey } from '@/shared/injectionKeys'\nimport { stringSplitOnFirstOccurrence } from '@/shared/utils/string'\nimport { useI18n } from 'vue-i18n'\nimport type { DocId, IntegerId, IntegerIdNullable } from '@/shared/types/common'\nimport ACollabLockedByUser from '@/domains/collab/components/ACollabLockedByUser.vue'\nimport type { CollabComponentConfig, CollabFieldData } from '@/domains/collab/types/Collab'\nimport { useCollabField } from '@/domains/collab/composables/collabField'\nimport { useCommonAdminCollabOptions } from '@/domains/collab/composables/commonAdminCollabOptions'\nimport type { FilterConfig, FilterData } from '@/domains/filters/composables/filterFactory'\nimport { FilterInnerConfigKey, FilterInnerDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport type { DatatableSortBy } from '@/domains/filters/datatable/utils/datatableColumns'\nimport { type Pagination, usePagination } from '@/domains/api/composables/pagination'\nimport { useAlerts } from '@/domains/system/composables/alerts'\n\ntype ModelValueType = T | T[] | null | undefined\n\nconst props = withDefaults(\n defineProps<{\n label?: string | undefined\n required?: boolean | undefined\n multiple?: boolean\n clearable?: boolean\n v?: AFormFieldValidation | null\n errorMessage?: string\n hideDetails?: boolean\n hideLabel?: boolean\n fetchItems: (\n pagination: Ref<Pagination>,\n filterData: FilterData,\n filterConfig: FilterConfig\n ) => Promise<ValueObjectOption<T>[]>\n fetchItemsByIds: (ids: T[]) => Promise<ValueObjectOption<T>[]>\n filterByField: string\n filterSortBy?: DatatableSortBy\n loading?: boolean\n collab?: CollabComponentConfig\n disabled?: boolean | undefined\n readonly?: boolean\n chips?: boolean\n closableChips?: boolean\n disableAutoSingleSelect?: boolean // auto select works only when modelValue is empty/null and prefetch is set to 'mounted'\n prefetch?: 'hover' | 'focus' | 'mounted' | false\n minSearchChars?: number\n minSearchText?: string | undefined\n }>(),\n {\n label: undefined,\n required: undefined,\n multiple: false,\n clearable: false,\n v: null,\n errorMessage: undefined,\n hideDetails: false,\n hideLabel: false,\n filterSortBy: null,\n loading: false,\n collab: undefined,\n disabled: undefined,\n chips: false,\n closableChips: false,\n disableAutoSingleSelect: false,\n prefetch: false,\n minSearchChars: 2,\n minSearchText: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'searchChange', data: string): void\n (e: 'searchChangeDebounced', data: string): void\n (e: 'blur', data: ModelValueType): void\n (e: 'focus', data: ModelValueType): void\n (e: 'click:chipClose', data: ValueObjectOption<T>): void\n}>()\n\nconst SEARCH_DEBOUNCE_MS = 300\n\nconst filterInnerConfig = inject(FilterInnerConfigKey)\nconst filterInnerData = inject(FilterInnerDataKey)\n\nconst componentName = getCurrentInstance()?.type.__name\n\nif (isUndefined(filterInnerConfig) || isUndefined(filterInnerData)) {\n throw new Error(`[${componentName}] Incorrect provide/inject config.`)\n}\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst filterByFieldProp = props.filterByField\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst filterSortByProp = props.filterSortBy\n\nif (isUndefined(filterInnerConfig.fields[filterByFieldProp]) || isUndefined(filterInnerData[filterByFieldProp])) {\n throw new Error(\n `[${componentName}] Incorrect filter inner config. ` +\n `FilterByField is '${filterByFieldProp}' and available options are ${Object.keys(filterInnerData).join(', ')}.`\n )\n}\n\nconst modelValue = defineModel<ModelValueType>({\n required: true,\n set(newValue) {\n return isArray(newValue) ? cloneDeep(newValue) : newValue\n },\n})\n\nconst modelValueSelected = defineModel<ValueObjectOption<T> | ValueObjectOption<T>[] | null>('selected', {\n required: false,\n default: null,\n set(newValue) {\n return isArray(newValue) ? cloneDeep(newValue) : newValue\n },\n})\n\n// Collaboration\nconst { collabOptions } = useCommonAdminCollabOptions()\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst releaseFieldLock = ref((data: CollabFieldData) => {})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst changeFieldData = ref((data: CollabFieldData) => {})\nconst acquireFieldLock = ref(() => {})\nconst lockedByUserLocal = ref<IntegerIdNullable>(null)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nif (collabOptions.value.enabled && isDefined(props.collab)) {\n const { releaseCollabFieldLock, changeCollabFieldData, acquireCollabFieldLock, lockedByUser } = useCollabField(\n props.collab.room,\n props.collab.field,\n false,\n true\n )\n releaseFieldLock.value = releaseCollabFieldLock\n changeFieldData.value = changeCollabFieldData\n acquireFieldLock.value = acquireCollabFieldLock\n watch(\n lockedByUser,\n (newValue) => {\n lockedByUserLocal.value = newValue\n },\n { immediate: true }\n )\n}\n\nconst search = ref('')\nconst isFocused = ref(false)\nconst modelValueAutocomplete = ref<ValueObjectOption<T> | ValueObjectOption<T>[] | null>(null)\nconst apiRequestCounter = ref(0)\n\nconst { t } = useI18n()\n\nconst system = inject<string | undefined>(SystemScopeKey, undefined)\nconst subject = inject<string | undefined>(SubjectScopeKey, undefined)\n\nconst onBlur = () => {\n isFocused.value = false\n emit('blur', modelValue.value)\n props.v?.$touch()\n releaseFieldLock.value(modelValue.value)\n}\n\nconst errorMessageComputed = computed(() => {\n if (isDefined(props.errorMessage)) return [props.errorMessage]\n if (props.v?.$errors?.length) return props.v.$errors.map((item) => unref(item.$message))\n return []\n})\n\nconst labelComputed = computed(() => {\n if (isDefined(props.label)) return props.label\n if (isUndefined(system) || isUndefined(subject) || isUndefined(props.v?.$path)) return ''\n const { end: path } = stringSplitOnFirstOccurrence(props.v?.$path, '.')\n return t(system + '.' + subject + '.model.' + path)\n})\n\nconst requiredComputed = computed(() => {\n if (isDefined(props.required)) return props.required\n return (props.v?.required as { $params?: { type?: string } } | undefined)?.$params?.type === 'required'\n})\n\nconst disabledComputed = computed(() => {\n if (isDefined(props.disabled)) return props.disabled\n return !!lockedByUserLocal.value\n})\n\nconst { pagination } = usePagination(isNull(filterSortByProp) ? null : filterSortByProp.key, filterSortByProp?.order)\nconst fetchedItems = ref<ValueObjectOption<T>[]>([])\nconst selectedItemsCache = ref<ValueObjectOption<T>[]>([])\nconst isFirstLoad = ref(true)\nconst prefetchCompleted = ref(false)\n\nconst allItems = computed<ValueObjectOption<T>[]>(() => {\n const itemsMap = new Map<T, ValueObjectOption<T>>()\n const addToMap = (items: ValueObjectOption<T>[]) => {\n items.forEach((item) => {\n itemsMap.set(item.value, {\n value: item.value,\n title: item.title,\n subtitle: item.subtitle,\n } as ValueObjectOption<T>)\n })\n }\n\n addToMap(selectedItemsCache.value as ValueObjectOption<T>[])\n addToMap(fetchedItems.value as ValueObjectOption<T>[])\n\n return Array.from(itemsMap.values())\n})\n\n// Counts running requests (by ids, search, prefetch). The spinner stays on until the last one ends.\n// A single flag let a read by ids hide the spinner of a search still running, and the reverse.\nconst requestsRunning = ref(0)\nconst loadingLocal = computed(() => requestsRunning.value > 0)\nconst loadingComputed = computed(() => {\n if (loadingLocal.value) return true\n return props.loading\n})\n\nconst resetToEmptyState = (value: ModelValueType) => {\n byIdsCounter++\n selectedItemsCache.value = []\n modelValueSelected.value = isArray(value) ? [] : null\n modelValueAutocomplete.value = isArray(value) ? [] : null\n}\n\nconst updateSelected = (value: T[] | T) => {\n const findItem = (id: T): ValueObjectOption<T> =>\n allItems.value.find((obj) => obj.value === id) ?? ({ title: `${id}`, value: id } as ValueObjectOption<T>)\n return isArray(value) ? value.map(findItem) : findItem(value)\n}\n\nlet byIdsCounter = 0\nconst loadListItems = async (ids: T[] | T) => {\n const requestId = ++byIdsCounter\n requestsRunning.value++\n\n try {\n const idsArray = isArray(ids) ? ids : [ids]\n const res = await props.fetchItemsByIds(idsArray)\n if (requestId !== byIdsCounter) return selectedItemsCache.value\n selectedItemsCache.value = res\n const selectedNewValue = updateSelected(ids)\n modelValueSelected.value = selectedNewValue\n modelValueAutocomplete.value = selectedNewValue\n return selectedItemsCache.value\n } catch (e) {\n // Mirror tryLoadModelValue: don't let a failed by-ids resolve become a generic global toast (QA 85050).\n showErrorsDefault(e)\n return undefined\n } finally {\n requestsRunning.value--\n }\n}\n\nconst tryLoadModelValue = async (tryLoadValue: ModelValueType, prefetch = false) => {\n const idsToFetch = isArray(tryLoadValue) ? tryLoadValue : [tryLoadValue]\n let fetchedData: ValueObjectOption<T>[]\n requestsRunning.value++\n try {\n fetchedData = await props.fetchItemsByIds(idsToFetch as Array<IntegerId & DocId>)\n } catch (e) {\n showErrorsDefault(e)\n return false\n } finally {\n // Decremented before the prefetch below, which bails out while a request of the component runs.\n requestsRunning.value--\n }\n if (!isArray(fetchedData) || fetchedData.length === 0) return false\n selectedItemsCache.value = fetchedData\n const value = props.multiple ? fetchedData.map((item) => item.value) : fetchedData[0]!.value\n modelValue.value = value\n if (prefetch) await tryAutoFetch('force', value)\n return true\n}\n\nconst { showErrorsDefault } = useAlerts()\n\nconst apiSearch = async (query: string, requestCounter: number) => {\n requestsRunning.value++\n filterInnerData[filterByFieldProp] = query\n try {\n const res = await props.fetchItems(pagination, filterInnerData, filterInnerConfig)\n if (requestCounter === apiRequestCounter.value) fetchedItems.value = res\n } catch (error) {\n showErrorsDefault(error)\n } finally {\n requestsRunning.value--\n }\n}\n\nconst tryAutoFetch = async (mode: 'focus' | 'hover' | 'mounted' | 'force', newValue: ModelValueType) => {\n if (loadingLocal.value) return\n if (mode !== 'force') {\n if (props.prefetch === false || props.prefetch !== mode || prefetchCompleted.value) return\n }\n\n requestsRunning.value++\n try {\n const res = await props.fetchItems(pagination, filterInnerData, filterInnerConfig)\n if (apiRequestCounter.value === 0) {\n fetchedItems.value = res\n if (\n !props.disableAutoSingleSelect &&\n mode === 'mounted' &&\n res.length === 1 &&\n (isNull(newValue) || isUndefined(newValue) || (isArray(newValue) && newValue.length === 0))\n ) {\n modelValue.value = props.multiple ? [res[0]!.value] : res[0]!.value\n }\n }\n prefetchCompleted.value = true\n } catch (e) {\n showErrorsDefault(e)\n } finally {\n requestsRunning.value--\n }\n}\n\nconst onFocus = async () => {\n isFocused.value = true\n acquireFieldLock.value()\n await tryAutoFetch('focus', modelValue.value)\n emit('focus', modelValue.value)\n}\n\nconst onMouseEnter = async () => {\n await tryAutoFetch('hover', modelValue.value)\n}\n\nconst singleItemSelectedTitle = computed(() => {\n if (!props.multiple && selectedItemsCache.value[0]) {\n return selectedItemsCache.value[0].title\n }\n return undefined\n})\n\n// Clearing the field first emits a `null` search. Reading its length threw when the field had no focus.\nconst onSearchUpdate = (query: string | null) => {\n const text = query ?? ''\n if (!props.multiple && !isFocused.value && text.length === 0) return // vuetify fix\n if (singleItemSelectedTitle.value === text) return\n search.value = text\n}\n\n// Empties the value at once and fetches the list once for an empty search\n// through the search counter, so a stale answer cannot overwrite it.\nconst onClickClear = () => {\n modelValue.value = props.multiple ? [] : null\n apiRequestCounter.value++\n apiSearch('', apiRequestCounter.value)\n}\n\nconst onChipCloseClick = (closedItem: ValueObjectOption<T>) => {\n if (isArray(modelValue.value)) {\n modelValue.value = modelValue.value.filter((item) => item !== closedItem.value)\n return\n }\n if (closedItem.value === modelValue.value && props.clearable) {\n modelValue.value = null\n }\n}\n\nwatchDebounced(\n search,\n (newValue: string | null, oldValue: string | null) => {\n const query = newValue ?? ''\n if (query === (oldValue ?? '')) return\n if (query.length > 0 && query.length < props.minSearchChars) return\n if (query.length === 0 && props.prefetch === false) {\n fetchedItems.value = []\n return\n }\n apiRequestCounter.value++\n apiSearch(query, apiRequestCounter.value)\n emit('searchChangeDebounced', query)\n },\n { debounce: SEARCH_DEBOUNCE_MS }\n)\n\nwatch(search, (newValue, oldValue) => {\n if (newValue !== oldValue) {\n emit('searchChange', newValue)\n }\n})\n\nconst onAutocompleteModelUpdate = (newValue: ValueObjectOption<T> | readonly ValueObjectOption<T>[] | null) => {\n const cloned = cloneDeep(newValue) as ValueObjectOption<T> | ValueObjectOption<T>[] | null\n modelValueSelected.value = cloned\n if (isNull(cloned) || isUndefined(cloned)) {\n modelValue.value = null\n return\n }\n if (isArray(cloned)) {\n modelValue.value = cloned.map((item) => item.value)\n return\n }\n modelValue.value = cloned.value\n}\n\nconst noDataText = computed(() => {\n if (loadingLocal.value) {\n return '$vuetify.loading'\n }\n if (fetchedItems.value.length === 0 && search.value.length < props.minSearchChars) {\n return isUndefined(props.minSearchText)\n ? t('common.filter.filterMinChars', { min: props.minSearchChars })\n : props.minSearchText\n }\n return undefined\n})\n\nwatch(\n modelValue,\n async (newValue, oldValue) => {\n if (newValue === oldValue) return\n if (isFirstLoad.value) {\n isFirstLoad.value = false\n await tryAutoFetch('mounted', newValue)\n }\n if (collabOptions.value.enabled && isFocused.value) {\n changeFieldData.value(newValue)\n }\n if (isEmpty(newValue)) {\n resetToEmptyState(newValue)\n return\n }\n await loadListItems(newValue as T[] | T)\n },\n { immediate: true }\n)\n\ndefineExpose({\n tryLoadModelValue,\n})\n</script>\n\n<template>\n <VAutocomplete\n :model-value=\"modelValueAutocomplete as any\"\n :items=\"allItems\"\n no-filter\n :multiple=\"multiple\"\n :clearable=\"clearable\"\n :error-messages=\"errorMessageComputed\"\n :chips=\"chips || multiple || closableChips\"\n :hide-details=\"hideDetails\"\n :loading=\"loadingComputed\"\n :disabled=\"disabledComputed\"\n :readonly=\"readonly\"\n :no-data-text=\"noDataText\"\n return-object\n autocomplete=\"off\"\n :hide-selected=\"closableChips\"\n :closable-chips=\"closableChips && !loadingComputed && !disabledComputed && !readonly\"\n @update:search=\"onSearchUpdate\"\n @update:model-value=\"onAutocompleteModelUpdate\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @mouseenter=\"onMouseEnter\"\n @click:clear=\"onClickClear\"\n >\n <template #item=\"{ props: itemProps, internalItem }\">\n <VListItem\n v-bind=\"itemProps\"\n :title=\"internalItem.raw.title\"\n :subtitle=\"internalItem.raw.subtitle\"\n />\n </template>\n <template #chip=\"{ props: chipProps, internalItem }\">\n <VChip\n :closable=\"chipProps.closable as boolean\"\n close-label=\"common.button.remove\"\n size=\"small\"\n :text=\"`${internalItem.title} (${internalItem.raw.subtitle})`\"\n :disabled=\"internalItem.props.disabled\"\n @click:close=\"onChipCloseClick(internalItem.raw)\"\n >\n {{ internalItem.raw.title }}\n <span\n v-if=\"internalItem.raw.subtitle\"\n class=\"font-italic pl-1\"\n >\n ({{ internalItem.raw.subtitle }})\n </span>\n </VChip>\n </template>\n <template #label>\n <span\n v-if=\"!hideLabel\"\n :key=\"requiredComputed + ''\"\n >\n {{ labelComputed }}\n <span\n v-if=\"requiredComputed\"\n class=\"a-required-mark\"\n />\n </span>\n </template>\n <template\n v-if=\"lockedByUserLocal\"\n #append-inner\n >\n <slot\n name=\"locked\"\n :user-id=\"lockedByUserLocal\"\n >\n <ACollabLockedByUser\n v-if=\"collab\"\n :id=\"lockedByUserLocal\"\n :users=\"collab.cachedUsers\"\n />\n </slot>\n </template>\n <template\n v-if=\"$slots.append\"\n #append\n >\n <slot name=\"append\" />\n </template>\n </VAutocomplete>\n</template>\n"],"mappings":""}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { cloneDeep as e, isArray as t, isDefined as n, isEmpty as r, isNull as i, isUndefined as a } from "../../../shared/utils/common.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { SubjectScopeKey as ee, SystemScopeKey as te } from "../../../shared/injectionKeys.js";
|
|
3
|
+
import { stringSplitOnFirstOccurrence as ne } from "../../../shared/utils/string.js";
|
|
4
4
|
import re from "../../collab/components/ACollabLockedByUser.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
5
|
+
import { useCollabField as ie } from "../../collab/composables/collabField.js";
|
|
6
|
+
import { useCommonAdminCollabOptions as ae } from "../../collab/composables/commonAdminCollabOptions.js";
|
|
7
|
+
import { FilterInnerConfigKey as oe, FilterInnerDataKey as se } from "../../filters/utils/filterInjectionKeys.js";
|
|
8
|
+
import { usePagination as ce } from "../../api/composables/pagination.js";
|
|
9
|
+
import { useAlerts as le } from "../../system/composables/alerts.js";
|
|
10
10
|
import { computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createSlots as ue, createTextVNode as u, createVNode as de, defineComponent as d, getCurrentInstance as fe, inject as f, mergeModels as p, mergeProps as pe, openBlock as m, ref as h, renderSlot as g, toDisplayString as _, unref as me, useModel as v, watch as y, withCtx as b } from "vue";
|
|
11
11
|
import { useI18n as he } from "vue-i18n";
|
|
12
12
|
import { VChip as ge } from "vuetify/components/VChip";
|
|
13
13
|
import { watchDebounced as _e } from "@vueuse/core";
|
|
14
14
|
import { VListItem as ve } from "vuetify/components/VList";
|
|
15
15
|
import { VAutocomplete as ye } from "vuetify/components/VAutocomplete";
|
|
16
|
-
|
|
16
|
+
// src/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue?vue&type=script&setup=true&lang.ts
|
|
17
17
|
var be = {
|
|
18
18
|
key: 0,
|
|
19
19
|
class: "font-italic pl-1"
|
|
@@ -95,7 +95,7 @@ var be = {
|
|
|
95
95
|
"click:chipClose"
|
|
96
96
|
], ["update:modelValue", "update:selected"]),
|
|
97
97
|
setup(d, { expose: p, emit: x }) {
|
|
98
|
-
let S = d, C = x, w = f(
|
|
98
|
+
let S = d, C = x, w = f(oe), T = f(se), E = fe()?.type.__name;
|
|
99
99
|
if (a(w) || a(T)) throw Error(`[${E}] Incorrect provide/inject config.`);
|
|
100
100
|
let D = S.filterByField, O = S.filterSortBy;
|
|
101
101
|
if (a(w.fields[D]) || a(T[D])) throw Error(`[${E}] Incorrect filter inner config. FilterByField is '${D}' and available options are ${Object.keys(T).join(", ")}.`);
|
|
@@ -103,21 +103,21 @@ var be = {
|
|
|
103
103
|
return t(n) ? e(n) : n;
|
|
104
104
|
} }), A = v(d, "selected", { set(n) {
|
|
105
105
|
return t(n) ? e(n) : n;
|
|
106
|
-
} }), { collabOptions: j } =
|
|
106
|
+
} }), { collabOptions: j } = ae(), M = h((e) => {}), N = h((e) => {}), P = h(() => {}), F = h(null);
|
|
107
107
|
if (j.value.enabled && n(S.collab)) {
|
|
108
|
-
let { releaseCollabFieldLock: e, changeCollabFieldData: t, acquireCollabFieldLock: n, lockedByUser: r } =
|
|
108
|
+
let { releaseCollabFieldLock: e, changeCollabFieldData: t, acquireCollabFieldLock: n, lockedByUser: r } = ie(S.collab.room, S.collab.field, !1, !0);
|
|
109
109
|
M.value = e, N.value = t, P.value = n, y(r, (e) => {
|
|
110
110
|
F.value = e;
|
|
111
111
|
}, { immediate: !0 });
|
|
112
112
|
}
|
|
113
|
-
let I = h(""), L = h(!1), R = h(null), z = h(0), { t: B } = he(), V = f(
|
|
113
|
+
let I = h(""), L = h(!1), R = h(null), z = h(0), { t: B } = he(), V = f(te, void 0), H = f(ee, void 0), Ce = () => {
|
|
114
114
|
L.value = !1, C("blur", k.value), S.v?.$touch(), M.value(k.value);
|
|
115
115
|
}, we = o(() => n(S.errorMessage) ? [S.errorMessage] : S.v?.$errors?.length ? S.v.$errors.map((e) => me(e.$message)) : []), Te = o(() => {
|
|
116
116
|
if (n(S.label)) return S.label;
|
|
117
117
|
if (a(V) || a(H) || a(S.v?.$path)) return "";
|
|
118
|
-
let { end: e } =
|
|
118
|
+
let { end: e } = ne(S.v?.$path, ".");
|
|
119
119
|
return B(V + "." + H + ".model." + e);
|
|
120
|
-
}), U = o(() => n(S.required) ? S.required : (S.v?.required)?.$params?.type === "required"), W = o(() => n(S.disabled) ? S.disabled : !!F.value), { pagination: G } =
|
|
120
|
+
}), U = o(() => n(S.required) ? S.required : (S.v?.required)?.$params?.type === "required"), W = o(() => n(S.disabled) ? S.disabled : !!F.value), { pagination: G } = ce(i(O) ? null : O.key, O?.order), K = h([]), q = h([]), Ee = h(!0), De = h(!1), Oe = o(() => {
|
|
121
121
|
let e = /* @__PURE__ */ new Map(), t = (t) => {
|
|
122
122
|
t.forEach((t) => {
|
|
123
123
|
e.set(t.value, {
|
|
@@ -165,7 +165,7 @@ var be = {
|
|
|
165
165
|
q.value = i;
|
|
166
166
|
let a = S.multiple ? i.map((e) => e.value) : i[0].value;
|
|
167
167
|
return k.value = a, n && await $("force", a), !0;
|
|
168
|
-
}, { showErrorsDefault: Z } =
|
|
168
|
+
}, { showErrorsDefault: Z } = le(), Q = async (e, t) => {
|
|
169
169
|
J.value++, T[D] = e;
|
|
170
170
|
try {
|
|
171
171
|
let e = await S.fetchItems(G, T, w);
|
|
@@ -291,7 +291,6 @@ var be = {
|
|
|
291
291
|
]));
|
|
292
292
|
}
|
|
293
293
|
});
|
|
294
|
-
//#endregion
|
|
295
294
|
export { x as default };
|
|
296
295
|
|
|
297
296
|
//# sourceMappingURL=AFormRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AFormRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js","names":["$slots","_useModel","_openBlock","_createBlock","_component_VAutocomplete","_createSlots","_withCtx","_createVNode","_component_VListItem","_mergeProps","_component_VChip","_createTextVNode","_toDisplayString","_createElementBlock","_createCommentVNode","_renderSlot","ACollabLockedByUser","ACollabLockedByUser_default","_hoisted_1","_hoisted_2","SEARCH_DEBOUNCE_MS","AFormRemoteAutocomplete_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","\"selected\"","\"selectedModifiers\"","__expose","__emit","props","__props","emit","filterInnerConfig","inject","FilterInnerConfigKey","filterInnerData","FilterInnerDataKey","componentName","getCurrentInstance","isUndefined","filterByFieldProp","filterSortByProp","modelValue","useModel","isArray","newValue","cloneDeep","modelValueSelected","useCommonAdminCollabOptions","releaseFieldLock","ref","changeFieldData","acquireFieldLock","lockedByUserLocal","collabOptions","isDefined","useCollabField","releaseCollabFieldLock","changeCollabFieldData","acquireCollabFieldLock","watch","lockedByUser","search","isFocused","modelValueAutocomplete","apiRequestCounter","useI18n","system","SystemScopeKey","subject","SubjectScopeKey","onBlur","errorMessageComputed","computed","unref","item","labelComputed","path","stringSplitOnFirstOccurrence","t","requiredComputed","disabledComputed","usePagination","isNull","fetchedItems","selectedItemsCache","isFirstLoad","prefetchCompleted","allItems","itemsMap","addToMap","requestsRunning","loadingLocal","loadingComputed","resetToEmptyState","value","updateSelected","findItem","obj","id","byIdsCounter","loadListItems","requestId","idsArray","ids","res","selectedNewValue","tryLoadModelValue","idsToFetch","tryLoadValue","fetchedData","showErrorsDefault","prefetch","tryAutoFetch","useAlerts","apiSearch","query","pagination","requestCounter","error","mode","onFocus","onMouseEnter","singleItemSelectedTitle","onSearchUpdate","text","onClickClear","onChipCloseClick","closedItem","watchDebounced","oldValue","onAutocompleteModelUpdate","cloned","noDataText","isEmpty","openBlock","createBlock","VAutocomplete","createSlots","withCtx","itemProps","createVNode","VListItem","mergeProps","internalItem","chipProps","VChip","createTextVNode","toDisplayString","createElementBlock","createCommentVNode","renderSlot","_ctx"],"sources":["../../../../src/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue"],"sourcesContent":["<script lang=\"ts\" setup generic=\"T extends string | number\">\nimport type { AFormFieldValidation } from '@/shared/types/Validation'\nimport { watchDebounced } from '@vueuse/core'\nimport { computed, getCurrentInstance, inject, type Ref, ref, watch, unref } from 'vue'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport { cloneDeep, isArray, isDefined, isEmpty, isNull, isUndefined } from '@/shared/utils/common'\nimport { SubjectScopeKey, SystemScopeKey } from '@/shared/injectionKeys'\nimport { stringSplitOnFirstOccurrence } from '@/shared/utils/string'\nimport { useI18n } from 'vue-i18n'\nimport type { DocId, IntegerId, IntegerIdNullable } from '@/shared/types/common'\nimport ACollabLockedByUser from '@/domains/collab/components/ACollabLockedByUser.vue'\nimport type { CollabComponentConfig, CollabFieldData } from '@/domains/collab/types/Collab'\nimport { useCollabField } from '@/domains/collab/composables/collabField'\nimport { useCommonAdminCollabOptions } from '@/domains/collab/composables/commonAdminCollabOptions'\nimport type { FilterConfig, FilterData } from '@/domains/filters/composables/filterFactory'\nimport { FilterInnerConfigKey, FilterInnerDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport type { DatatableSortBy } from '@/domains/filters/datatable/utils/datatableColumns'\nimport { type Pagination, usePagination } from '@/domains/api/composables/pagination'\nimport { useAlerts } from '@/domains/system/composables/alerts'\n\ntype ModelValueType = T | T[] | null | undefined\n\nconst props = withDefaults(\n defineProps<{\n label?: string | undefined\n required?: boolean | undefined\n multiple?: boolean\n clearable?: boolean\n v?: AFormFieldValidation | null\n errorMessage?: string\n hideDetails?: boolean\n hideLabel?: boolean\n fetchItems: (\n pagination: Ref<Pagination>,\n filterData: FilterData,\n filterConfig: FilterConfig\n ) => Promise<ValueObjectOption<T>[]>\n fetchItemsByIds: (ids: T[]) => Promise<ValueObjectOption<T>[]>\n filterByField: string\n filterSortBy?: DatatableSortBy\n loading?: boolean\n collab?: CollabComponentConfig\n disabled?: boolean | undefined\n readonly?: boolean\n chips?: boolean\n closableChips?: boolean\n disableAutoSingleSelect?: boolean // auto select works only when modelValue is empty/null and prefetch is set to 'mounted'\n prefetch?: 'hover' | 'focus' | 'mounted' | false\n minSearchChars?: number\n minSearchText?: string | undefined\n }>(),\n {\n label: undefined,\n required: undefined,\n multiple: false,\n clearable: false,\n v: null,\n errorMessage: undefined,\n hideDetails: false,\n hideLabel: false,\n filterSortBy: null,\n loading: false,\n collab: undefined,\n disabled: undefined,\n chips: false,\n closableChips: false,\n disableAutoSingleSelect: false,\n prefetch: false,\n minSearchChars: 2,\n minSearchText: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'searchChange', data: string): void\n (e: 'searchChangeDebounced', data: string): void\n (e: 'blur', data: ModelValueType): void\n (e: 'focus', data: ModelValueType): void\n (e: 'click:chipClose', data: ValueObjectOption<T>): void\n}>()\n\nconst SEARCH_DEBOUNCE_MS = 300\n\nconst filterInnerConfig = inject(FilterInnerConfigKey)\nconst filterInnerData = inject(FilterInnerDataKey)\n\nconst componentName = getCurrentInstance()?.type.__name\n\nif (isUndefined(filterInnerConfig) || isUndefined(filterInnerData)) {\n throw new Error(`[${componentName}] Incorrect provide/inject config.`)\n}\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst filterByFieldProp = props.filterByField\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst filterSortByProp = props.filterSortBy\n\nif (isUndefined(filterInnerConfig.fields[filterByFieldProp]) || isUndefined(filterInnerData[filterByFieldProp])) {\n throw new Error(\n `[${componentName}] Incorrect filter inner config. ` +\n `FilterByField is '${filterByFieldProp}' and available options are ${Object.keys(filterInnerData).join(', ')}.`\n )\n}\n\nconst modelValue = defineModel<ModelValueType>({\n required: true,\n set(newValue) {\n return isArray(newValue) ? cloneDeep(newValue) : newValue\n },\n})\n\nconst modelValueSelected = defineModel<ValueObjectOption<T> | ValueObjectOption<T>[] | null>('selected', {\n required: false,\n default: null,\n set(newValue) {\n return isArray(newValue) ? cloneDeep(newValue) : newValue\n },\n})\n\n// Collaboration\nconst { collabOptions } = useCommonAdminCollabOptions()\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst releaseFieldLock = ref((data: CollabFieldData) => {})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst changeFieldData = ref((data: CollabFieldData) => {})\nconst acquireFieldLock = ref(() => {})\nconst lockedByUserLocal = ref<IntegerIdNullable>(null)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nif (collabOptions.value.enabled && isDefined(props.collab)) {\n const { releaseCollabFieldLock, changeCollabFieldData, acquireCollabFieldLock, lockedByUser } = useCollabField(\n props.collab.room,\n props.collab.field,\n false,\n true\n )\n releaseFieldLock.value = releaseCollabFieldLock\n changeFieldData.value = changeCollabFieldData\n acquireFieldLock.value = acquireCollabFieldLock\n watch(\n lockedByUser,\n (newValue) => {\n lockedByUserLocal.value = newValue\n },\n { immediate: true }\n )\n}\n\nconst search = ref('')\nconst isFocused = ref(false)\nconst modelValueAutocomplete = ref<ValueObjectOption<T> | ValueObjectOption<T>[] | null>(null)\nconst apiRequestCounter = ref(0)\n\nconst { t } = useI18n()\n\nconst system = inject<string | undefined>(SystemScopeKey, undefined)\nconst subject = inject<string | undefined>(SubjectScopeKey, undefined)\n\nconst onBlur = () => {\n isFocused.value = false\n emit('blur', modelValue.value)\n props.v?.$touch()\n releaseFieldLock.value(modelValue.value)\n}\n\nconst errorMessageComputed = computed(() => {\n if (isDefined(props.errorMessage)) return [props.errorMessage]\n if (props.v?.$errors?.length) return props.v.$errors.map((item) => unref(item.$message))\n return []\n})\n\nconst labelComputed = computed(() => {\n if (isDefined(props.label)) return props.label\n if (isUndefined(system) || isUndefined(subject) || isUndefined(props.v?.$path)) return ''\n const { end: path } = stringSplitOnFirstOccurrence(props.v?.$path, '.')\n return t(system + '.' + subject + '.model.' + path)\n})\n\nconst requiredComputed = computed(() => {\n if (isDefined(props.required)) return props.required\n return (props.v?.required as { $params?: { type?: string } } | undefined)?.$params?.type === 'required'\n})\n\nconst disabledComputed = computed(() => {\n if (isDefined(props.disabled)) return props.disabled\n return !!lockedByUserLocal.value\n})\n\nconst { pagination } = usePagination(isNull(filterSortByProp) ? null : filterSortByProp.key, filterSortByProp?.order)\nconst fetchedItems = ref<ValueObjectOption<T>[]>([])\nconst selectedItemsCache = ref<ValueObjectOption<T>[]>([])\nconst isFirstLoad = ref(true)\nconst prefetchCompleted = ref(false)\n\nconst allItems = computed<ValueObjectOption<T>[]>(() => {\n const itemsMap = new Map<T, ValueObjectOption<T>>()\n const addToMap = (items: ValueObjectOption<T>[]) => {\n items.forEach((item) => {\n itemsMap.set(item.value, {\n value: item.value,\n title: item.title,\n subtitle: item.subtitle,\n } as ValueObjectOption<T>)\n })\n }\n\n addToMap(selectedItemsCache.value as ValueObjectOption<T>[])\n addToMap(fetchedItems.value as ValueObjectOption<T>[])\n\n return Array.from(itemsMap.values())\n})\n\n// The requests of the component on their way (items by their ids, a search, a prefetch): its spinner is on while\n// any of them runs, and goes off with the last. Each turned it off as it ended: a read by ids hid the spinner of a\n// search still running, and the reverse.\nconst requestsRunning = ref(0)\nconst loadingLocal = computed(() => requestsRunning.value > 0)\nconst loadingComputed = computed(() => {\n if (loadingLocal.value) return true\n return props.loading\n})\n\nconst resetToEmptyState = (value: ModelValueType) => {\n byIdsCounter++\n selectedItemsCache.value = []\n modelValueSelected.value = isArray(value) ? [] : null\n modelValueAutocomplete.value = isArray(value) ? [] : null\n}\n\nconst updateSelected = (value: T[] | T) => {\n const findItem = (id: T): ValueObjectOption<T> =>\n allItems.value.find((obj) => obj.value === id) ?? ({ title: `${id}`, value: id } as ValueObjectOption<T>)\n return isArray(value) ? value.map(findItem) : findItem(value)\n}\n\nlet byIdsCounter = 0\nconst loadListItems = async (ids: T[] | T) => {\n const requestId = ++byIdsCounter\n requestsRunning.value++\n\n try {\n const idsArray = isArray(ids) ? ids : [ids]\n const res = await props.fetchItemsByIds(idsArray)\n if (requestId !== byIdsCounter) return selectedItemsCache.value\n selectedItemsCache.value = res\n const selectedNewValue = updateSelected(ids)\n modelValueSelected.value = selectedNewValue\n modelValueAutocomplete.value = selectedNewValue\n return selectedItemsCache.value\n } catch (e) {\n // Mirror tryLoadModelValue: don't let a failed by-ids resolve become a generic global toast (QA 85050).\n showErrorsDefault(e)\n return undefined\n } finally {\n requestsRunning.value--\n }\n}\n\nconst tryLoadModelValue = async (tryLoadValue: ModelValueType, prefetch = false) => {\n const idsToFetch = isArray(tryLoadValue) ? tryLoadValue : [tryLoadValue]\n let fetchedData: ValueObjectOption<T>[]\n requestsRunning.value++\n try {\n fetchedData = await props.fetchItemsByIds(idsToFetch as Array<IntegerId & DocId>)\n } catch (e) {\n showErrorsDefault(e)\n return false\n } finally {\n // Over before the prefetch below, which bails out while a request of the component runs.\n requestsRunning.value--\n }\n if (!isArray(fetchedData) || fetchedData.length === 0) return false\n selectedItemsCache.value = fetchedData\n const value = props.multiple ? fetchedData.map((item) => item.value) : fetchedData[0]!.value\n modelValue.value = value\n if (prefetch) await tryAutoFetch('force', value)\n return true\n}\n\nconst { showErrorsDefault } = useAlerts()\n\nconst apiSearch = async (query: string, requestCounter: number) => {\n requestsRunning.value++\n filterInnerData[filterByFieldProp] = query\n try {\n const res = await props.fetchItems(pagination, filterInnerData, filterInnerConfig)\n if (requestCounter === apiRequestCounter.value) fetchedItems.value = res\n } catch (error) {\n showErrorsDefault(error)\n } finally {\n requestsRunning.value--\n }\n}\n\nconst tryAutoFetch = async (mode: 'focus' | 'hover' | 'mounted' | 'force', newValue: ModelValueType) => {\n if (loadingLocal.value) return\n if (mode !== 'force') {\n if (props.prefetch === false || props.prefetch !== mode || prefetchCompleted.value) return\n }\n\n requestsRunning.value++\n try {\n const res = await props.fetchItems(pagination, filterInnerData, filterInnerConfig)\n if (apiRequestCounter.value === 0) {\n fetchedItems.value = res\n if (\n !props.disableAutoSingleSelect &&\n mode === 'mounted' &&\n res.length === 1 &&\n (isNull(newValue) || isUndefined(newValue) || (isArray(newValue) && newValue.length === 0))\n ) {\n modelValue.value = props.multiple ? [res[0]!.value] : res[0]!.value\n }\n }\n prefetchCompleted.value = true\n } catch (e) {\n showErrorsDefault(e)\n } finally {\n requestsRunning.value--\n }\n}\n\nconst onFocus = async () => {\n isFocused.value = true\n acquireFieldLock.value()\n await tryAutoFetch('focus', modelValue.value)\n emit('focus', modelValue.value)\n}\n\nconst onMouseEnter = async () => {\n await tryAutoFetch('hover', modelValue.value)\n}\n\nconst singleItemSelectedTitle = computed(() => {\n if (!props.multiple && selectedItemsCache.value[0]) {\n return selectedItemsCache.value[0].title\n }\n return undefined\n})\n\n// The clear of the field empties the search with `null` first: an empty search. A field without focus at that\n// moment read its length and threw.\nconst onSearchUpdate = (query: string | null) => {\n const text = query ?? ''\n if (!props.multiple && !isFocused.value && text.length === 0) return // vuetify fix\n if (singleItemSelectedTitle.value === text) return\n search.value = text\n}\n\n// The clear empties the value at once and asks for the list once, for an empty search, through the counter of the\n// searches. It asked with the search typed before, outside the counter, wrote that answer whenever it came, and\n// emptied the value only after it.\nconst onClickClear = () => {\n modelValue.value = props.multiple ? [] : null\n apiRequestCounter.value++\n apiSearch('', apiRequestCounter.value)\n}\n\nconst onChipCloseClick = (closedItem: ValueObjectOption<T>) => {\n if (isArray(modelValue.value)) {\n modelValue.value = modelValue.value.filter((item) => item !== closedItem.value)\n return\n }\n if (closedItem.value === modelValue.value && props.clearable) {\n modelValue.value = null\n }\n}\n\nwatchDebounced(\n search,\n (newValue: string | null, oldValue: string | null) => {\n const query = newValue ?? ''\n if (query === (oldValue ?? '')) return\n if (query.length > 0 && query.length < props.minSearchChars) return\n if (query.length === 0 && props.prefetch === false) {\n fetchedItems.value = []\n return\n }\n apiRequestCounter.value++\n apiSearch(query, apiRequestCounter.value)\n emit('searchChangeDebounced', query)\n },\n { debounce: SEARCH_DEBOUNCE_MS }\n)\n\nwatch(search, (newValue, oldValue) => {\n if (newValue !== oldValue) {\n emit('searchChange', newValue)\n }\n})\n\nconst onAutocompleteModelUpdate = (newValue: ValueObjectOption<T> | readonly ValueObjectOption<T>[] | null) => {\n const cloned = cloneDeep(newValue) as ValueObjectOption<T> | ValueObjectOption<T>[] | null\n modelValueSelected.value = cloned\n if (isNull(cloned) || isUndefined(cloned)) {\n modelValue.value = null\n return\n }\n if (isArray(cloned)) {\n modelValue.value = cloned.map((item) => item.value)\n return\n }\n modelValue.value = cloned.value\n}\n\nconst noDataText = computed(() => {\n if (loadingLocal.value) {\n return '$vuetify.loading'\n }\n if (fetchedItems.value.length === 0 && search.value.length < props.minSearchChars) {\n return isUndefined(props.minSearchText)\n ? t('common.filter.filterMinChars', { min: props.minSearchChars })\n : props.minSearchText\n }\n return undefined\n})\n\nwatch(\n modelValue,\n async (newValue, oldValue) => {\n if (newValue === oldValue) return\n if (isFirstLoad.value) {\n isFirstLoad.value = false\n await tryAutoFetch('mounted', newValue)\n }\n if (collabOptions.value.enabled && isFocused.value) {\n changeFieldData.value(newValue)\n }\n if (isEmpty(newValue)) {\n resetToEmptyState(newValue)\n return\n }\n await loadListItems(newValue as T[] | T)\n },\n { immediate: true }\n)\n\ndefineExpose({\n tryLoadModelValue,\n})\n</script>\n\n<template>\n <VAutocomplete\n :model-value=\"modelValueAutocomplete as any\"\n :items=\"allItems\"\n no-filter\n :multiple=\"multiple\"\n :clearable=\"clearable\"\n :error-messages=\"errorMessageComputed\"\n :chips=\"chips || multiple || closableChips\"\n :hide-details=\"hideDetails\"\n :loading=\"loadingComputed\"\n :disabled=\"disabledComputed\"\n :readonly=\"readonly\"\n :no-data-text=\"noDataText\"\n return-object\n autocomplete=\"off\"\n :hide-selected=\"closableChips\"\n :closable-chips=\"closableChips && !loadingComputed && !disabledComputed && !readonly\"\n @update:search=\"onSearchUpdate\"\n @update:model-value=\"onAutocompleteModelUpdate\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @mouseenter=\"onMouseEnter\"\n @click:clear=\"onClickClear\"\n >\n <template #item=\"{ props: itemProps, internalItem }\">\n <VListItem\n v-bind=\"itemProps\"\n :title=\"internalItem.raw.title\"\n :subtitle=\"internalItem.raw.subtitle\"\n />\n </template>\n <template #chip=\"{ props: chipProps, internalItem }\">\n <VChip\n :closable=\"chipProps.closable as boolean\"\n close-label=\"common.button.remove\"\n size=\"small\"\n :text=\"`${internalItem.title} (${internalItem.raw.subtitle})`\"\n :disabled=\"internalItem.props.disabled\"\n @click:close=\"onChipCloseClick(internalItem.raw)\"\n >\n {{ internalItem.raw.title }}\n <span\n v-if=\"internalItem.raw.subtitle\"\n class=\"font-italic pl-1\"\n >\n ({{ internalItem.raw.subtitle }})\n </span>\n </VChip>\n </template>\n <template #label>\n <span\n v-if=\"!hideLabel\"\n :key=\"requiredComputed + ''\"\n >\n {{ labelComputed }}\n <span\n v-if=\"requiredComputed\"\n class=\"a-required-mark\"\n />\n </span>\n </template>\n <template\n v-if=\"lockedByUserLocal\"\n #append-inner\n >\n <slot\n name=\"locked\"\n :user-id=\"lockedByUserLocal\"\n >\n <ACollabLockedByUser\n v-if=\"collab\"\n :id=\"lockedByUserLocal\"\n :users=\"collab.cachedUsers\"\n />\n </slot>\n </template>\n <template\n v-if=\"$slots.append\"\n #append\n >\n <slot name=\"append\" />\n </template>\n </VAutocomplete>\n</template>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AFormRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js","names":["$slots","_useModel","_openBlock","_createBlock","_component_VAutocomplete","_createSlots","_withCtx","_createVNode","_component_VListItem","_mergeProps","_component_VChip","_createTextVNode","_toDisplayString","_createElementBlock","_createCommentVNode","_renderSlot","ACollabLockedByUser","ACollabLockedByUser_default","_hoisted_1","_hoisted_2","SEARCH_DEBOUNCE_MS","AFormRemoteAutocomplete_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","\"selected\"","\"selectedModifiers\"","__expose","__emit","props","__props","emit","filterInnerConfig","inject","FilterInnerConfigKey","filterInnerData","FilterInnerDataKey","componentName","getCurrentInstance","isUndefined","filterByFieldProp","filterSortByProp","modelValue","useModel","isArray","newValue","cloneDeep","modelValueSelected","useCommonAdminCollabOptions","releaseFieldLock","ref","changeFieldData","acquireFieldLock","lockedByUserLocal","collabOptions","isDefined","useCollabField","releaseCollabFieldLock","changeCollabFieldData","acquireCollabFieldLock","watch","lockedByUser","search","isFocused","modelValueAutocomplete","apiRequestCounter","useI18n","system","SystemScopeKey","subject","SubjectScopeKey","onBlur","errorMessageComputed","computed","unref","item","labelComputed","path","stringSplitOnFirstOccurrence","t","requiredComputed","disabledComputed","usePagination","isNull","fetchedItems","selectedItemsCache","isFirstLoad","prefetchCompleted","allItems","itemsMap","addToMap","requestsRunning","loadingLocal","loadingComputed","resetToEmptyState","value","updateSelected","findItem","obj","id","byIdsCounter","loadListItems","requestId","idsArray","ids","res","selectedNewValue","tryLoadModelValue","idsToFetch","tryLoadValue","fetchedData","showErrorsDefault","prefetch","tryAutoFetch","useAlerts","apiSearch","query","pagination","requestCounter","error","mode","onFocus","onMouseEnter","singleItemSelectedTitle","onSearchUpdate","text","onClickClear","onChipCloseClick","closedItem","watchDebounced","oldValue","onAutocompleteModelUpdate","cloned","noDataText","isEmpty","openBlock","createBlock","VAutocomplete","createSlots","withCtx","itemProps","createVNode","VListItem","mergeProps","internalItem","chipProps","VChip","createTextVNode","toDisplayString","createElementBlock","createCommentVNode","renderSlot","_ctx"],"sources":["../../../../src/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue"],"sourcesContent":["<script lang=\"ts\" setup generic=\"T extends string | number\">\nimport type { AFormFieldValidation } from '@/shared/types/Validation'\nimport { watchDebounced } from '@vueuse/core'\nimport { computed, getCurrentInstance, inject, type Ref, ref, watch, unref } from 'vue'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport { cloneDeep, isArray, isDefined, isEmpty, isNull, isUndefined } from '@/shared/utils/common'\nimport { SubjectScopeKey, SystemScopeKey } from '@/shared/injectionKeys'\nimport { stringSplitOnFirstOccurrence } from '@/shared/utils/string'\nimport { useI18n } from 'vue-i18n'\nimport type { DocId, IntegerId, IntegerIdNullable } from '@/shared/types/common'\nimport ACollabLockedByUser from '@/domains/collab/components/ACollabLockedByUser.vue'\nimport type { CollabComponentConfig, CollabFieldData } from '@/domains/collab/types/Collab'\nimport { useCollabField } from '@/domains/collab/composables/collabField'\nimport { useCommonAdminCollabOptions } from '@/domains/collab/composables/commonAdminCollabOptions'\nimport type { FilterConfig, FilterData } from '@/domains/filters/composables/filterFactory'\nimport { FilterInnerConfigKey, FilterInnerDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport type { DatatableSortBy } from '@/domains/filters/datatable/utils/datatableColumns'\nimport { type Pagination, usePagination } from '@/domains/api/composables/pagination'\nimport { useAlerts } from '@/domains/system/composables/alerts'\n\ntype ModelValueType = T | T[] | null | undefined\n\nconst props = withDefaults(\n defineProps<{\n label?: string | undefined\n required?: boolean | undefined\n multiple?: boolean\n clearable?: boolean\n v?: AFormFieldValidation | null\n errorMessage?: string\n hideDetails?: boolean\n hideLabel?: boolean\n fetchItems: (\n pagination: Ref<Pagination>,\n filterData: FilterData,\n filterConfig: FilterConfig\n ) => Promise<ValueObjectOption<T>[]>\n fetchItemsByIds: (ids: T[]) => Promise<ValueObjectOption<T>[]>\n filterByField: string\n filterSortBy?: DatatableSortBy\n loading?: boolean\n collab?: CollabComponentConfig\n disabled?: boolean | undefined\n readonly?: boolean\n chips?: boolean\n closableChips?: boolean\n disableAutoSingleSelect?: boolean // auto select works only when modelValue is empty/null and prefetch is set to 'mounted'\n prefetch?: 'hover' | 'focus' | 'mounted' | false\n minSearchChars?: number\n minSearchText?: string | undefined\n }>(),\n {\n label: undefined,\n required: undefined,\n multiple: false,\n clearable: false,\n v: null,\n errorMessage: undefined,\n hideDetails: false,\n hideLabel: false,\n filterSortBy: null,\n loading: false,\n collab: undefined,\n disabled: undefined,\n chips: false,\n closableChips: false,\n disableAutoSingleSelect: false,\n prefetch: false,\n minSearchChars: 2,\n minSearchText: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'searchChange', data: string): void\n (e: 'searchChangeDebounced', data: string): void\n (e: 'blur', data: ModelValueType): void\n (e: 'focus', data: ModelValueType): void\n (e: 'click:chipClose', data: ValueObjectOption<T>): void\n}>()\n\nconst SEARCH_DEBOUNCE_MS = 300\n\nconst filterInnerConfig = inject(FilterInnerConfigKey)\nconst filterInnerData = inject(FilterInnerDataKey)\n\nconst componentName = getCurrentInstance()?.type.__name\n\nif (isUndefined(filterInnerConfig) || isUndefined(filterInnerData)) {\n throw new Error(`[${componentName}] Incorrect provide/inject config.`)\n}\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst filterByFieldProp = props.filterByField\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst filterSortByProp = props.filterSortBy\n\nif (isUndefined(filterInnerConfig.fields[filterByFieldProp]) || isUndefined(filterInnerData[filterByFieldProp])) {\n throw new Error(\n `[${componentName}] Incorrect filter inner config. ` +\n `FilterByField is '${filterByFieldProp}' and available options are ${Object.keys(filterInnerData).join(', ')}.`\n )\n}\n\nconst modelValue = defineModel<ModelValueType>({\n required: true,\n set(newValue) {\n return isArray(newValue) ? cloneDeep(newValue) : newValue\n },\n})\n\nconst modelValueSelected = defineModel<ValueObjectOption<T> | ValueObjectOption<T>[] | null>('selected', {\n required: false,\n default: null,\n set(newValue) {\n return isArray(newValue) ? cloneDeep(newValue) : newValue\n },\n})\n\n// Collaboration\nconst { collabOptions } = useCommonAdminCollabOptions()\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst releaseFieldLock = ref((data: CollabFieldData) => {})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst changeFieldData = ref((data: CollabFieldData) => {})\nconst acquireFieldLock = ref(() => {})\nconst lockedByUserLocal = ref<IntegerIdNullable>(null)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nif (collabOptions.value.enabled && isDefined(props.collab)) {\n const { releaseCollabFieldLock, changeCollabFieldData, acquireCollabFieldLock, lockedByUser } = useCollabField(\n props.collab.room,\n props.collab.field,\n false,\n true\n )\n releaseFieldLock.value = releaseCollabFieldLock\n changeFieldData.value = changeCollabFieldData\n acquireFieldLock.value = acquireCollabFieldLock\n watch(\n lockedByUser,\n (newValue) => {\n lockedByUserLocal.value = newValue\n },\n { immediate: true }\n )\n}\n\nconst search = ref('')\nconst isFocused = ref(false)\nconst modelValueAutocomplete = ref<ValueObjectOption<T> | ValueObjectOption<T>[] | null>(null)\nconst apiRequestCounter = ref(0)\n\nconst { t } = useI18n()\n\nconst system = inject<string | undefined>(SystemScopeKey, undefined)\nconst subject = inject<string | undefined>(SubjectScopeKey, undefined)\n\nconst onBlur = () => {\n isFocused.value = false\n emit('blur', modelValue.value)\n props.v?.$touch()\n releaseFieldLock.value(modelValue.value)\n}\n\nconst errorMessageComputed = computed(() => {\n if (isDefined(props.errorMessage)) return [props.errorMessage]\n if (props.v?.$errors?.length) return props.v.$errors.map((item) => unref(item.$message))\n return []\n})\n\nconst labelComputed = computed(() => {\n if (isDefined(props.label)) return props.label\n if (isUndefined(system) || isUndefined(subject) || isUndefined(props.v?.$path)) return ''\n const { end: path } = stringSplitOnFirstOccurrence(props.v?.$path, '.')\n return t(system + '.' + subject + '.model.' + path)\n})\n\nconst requiredComputed = computed(() => {\n if (isDefined(props.required)) return props.required\n return (props.v?.required as { $params?: { type?: string } } | undefined)?.$params?.type === 'required'\n})\n\nconst disabledComputed = computed(() => {\n if (isDefined(props.disabled)) return props.disabled\n return !!lockedByUserLocal.value\n})\n\nconst { pagination } = usePagination(isNull(filterSortByProp) ? null : filterSortByProp.key, filterSortByProp?.order)\nconst fetchedItems = ref<ValueObjectOption<T>[]>([])\nconst selectedItemsCache = ref<ValueObjectOption<T>[]>([])\nconst isFirstLoad = ref(true)\nconst prefetchCompleted = ref(false)\n\nconst allItems = computed<ValueObjectOption<T>[]>(() => {\n const itemsMap = new Map<T, ValueObjectOption<T>>()\n const addToMap = (items: ValueObjectOption<T>[]) => {\n items.forEach((item) => {\n itemsMap.set(item.value, {\n value: item.value,\n title: item.title,\n subtitle: item.subtitle,\n } as ValueObjectOption<T>)\n })\n }\n\n addToMap(selectedItemsCache.value as ValueObjectOption<T>[])\n addToMap(fetchedItems.value as ValueObjectOption<T>[])\n\n return Array.from(itemsMap.values())\n})\n\n// Counts running requests (by ids, search, prefetch). The spinner stays on until the last one ends.\n// A single flag let a read by ids hide the spinner of a search still running, and the reverse.\nconst requestsRunning = ref(0)\nconst loadingLocal = computed(() => requestsRunning.value > 0)\nconst loadingComputed = computed(() => {\n if (loadingLocal.value) return true\n return props.loading\n})\n\nconst resetToEmptyState = (value: ModelValueType) => {\n byIdsCounter++\n selectedItemsCache.value = []\n modelValueSelected.value = isArray(value) ? [] : null\n modelValueAutocomplete.value = isArray(value) ? [] : null\n}\n\nconst updateSelected = (value: T[] | T) => {\n const findItem = (id: T): ValueObjectOption<T> =>\n allItems.value.find((obj) => obj.value === id) ?? ({ title: `${id}`, value: id } as ValueObjectOption<T>)\n return isArray(value) ? value.map(findItem) : findItem(value)\n}\n\nlet byIdsCounter = 0\nconst loadListItems = async (ids: T[] | T) => {\n const requestId = ++byIdsCounter\n requestsRunning.value++\n\n try {\n const idsArray = isArray(ids) ? ids : [ids]\n const res = await props.fetchItemsByIds(idsArray)\n if (requestId !== byIdsCounter) return selectedItemsCache.value\n selectedItemsCache.value = res\n const selectedNewValue = updateSelected(ids)\n modelValueSelected.value = selectedNewValue\n modelValueAutocomplete.value = selectedNewValue\n return selectedItemsCache.value\n } catch (e) {\n // Mirror tryLoadModelValue: don't let a failed by-ids resolve become a generic global toast (QA 85050).\n showErrorsDefault(e)\n return undefined\n } finally {\n requestsRunning.value--\n }\n}\n\nconst tryLoadModelValue = async (tryLoadValue: ModelValueType, prefetch = false) => {\n const idsToFetch = isArray(tryLoadValue) ? tryLoadValue : [tryLoadValue]\n let fetchedData: ValueObjectOption<T>[]\n requestsRunning.value++\n try {\n fetchedData = await props.fetchItemsByIds(idsToFetch as Array<IntegerId & DocId>)\n } catch (e) {\n showErrorsDefault(e)\n return false\n } finally {\n // Decremented before the prefetch below, which bails out while a request of the component runs.\n requestsRunning.value--\n }\n if (!isArray(fetchedData) || fetchedData.length === 0) return false\n selectedItemsCache.value = fetchedData\n const value = props.multiple ? fetchedData.map((item) => item.value) : fetchedData[0]!.value\n modelValue.value = value\n if (prefetch) await tryAutoFetch('force', value)\n return true\n}\n\nconst { showErrorsDefault } = useAlerts()\n\nconst apiSearch = async (query: string, requestCounter: number) => {\n requestsRunning.value++\n filterInnerData[filterByFieldProp] = query\n try {\n const res = await props.fetchItems(pagination, filterInnerData, filterInnerConfig)\n if (requestCounter === apiRequestCounter.value) fetchedItems.value = res\n } catch (error) {\n showErrorsDefault(error)\n } finally {\n requestsRunning.value--\n }\n}\n\nconst tryAutoFetch = async (mode: 'focus' | 'hover' | 'mounted' | 'force', newValue: ModelValueType) => {\n if (loadingLocal.value) return\n if (mode !== 'force') {\n if (props.prefetch === false || props.prefetch !== mode || prefetchCompleted.value) return\n }\n\n requestsRunning.value++\n try {\n const res = await props.fetchItems(pagination, filterInnerData, filterInnerConfig)\n if (apiRequestCounter.value === 0) {\n fetchedItems.value = res\n if (\n !props.disableAutoSingleSelect &&\n mode === 'mounted' &&\n res.length === 1 &&\n (isNull(newValue) || isUndefined(newValue) || (isArray(newValue) && newValue.length === 0))\n ) {\n modelValue.value = props.multiple ? [res[0]!.value] : res[0]!.value\n }\n }\n prefetchCompleted.value = true\n } catch (e) {\n showErrorsDefault(e)\n } finally {\n requestsRunning.value--\n }\n}\n\nconst onFocus = async () => {\n isFocused.value = true\n acquireFieldLock.value()\n await tryAutoFetch('focus', modelValue.value)\n emit('focus', modelValue.value)\n}\n\nconst onMouseEnter = async () => {\n await tryAutoFetch('hover', modelValue.value)\n}\n\nconst singleItemSelectedTitle = computed(() => {\n if (!props.multiple && selectedItemsCache.value[0]) {\n return selectedItemsCache.value[0].title\n }\n return undefined\n})\n\n// Clearing the field first emits a `null` search. Reading its length threw when the field had no focus.\nconst onSearchUpdate = (query: string | null) => {\n const text = query ?? ''\n if (!props.multiple && !isFocused.value && text.length === 0) return // vuetify fix\n if (singleItemSelectedTitle.value === text) return\n search.value = text\n}\n\n// Empties the value at once and fetches the list once for an empty search\n// through the search counter, so a stale answer cannot overwrite it.\nconst onClickClear = () => {\n modelValue.value = props.multiple ? [] : null\n apiRequestCounter.value++\n apiSearch('', apiRequestCounter.value)\n}\n\nconst onChipCloseClick = (closedItem: ValueObjectOption<T>) => {\n if (isArray(modelValue.value)) {\n modelValue.value = modelValue.value.filter((item) => item !== closedItem.value)\n return\n }\n if (closedItem.value === modelValue.value && props.clearable) {\n modelValue.value = null\n }\n}\n\nwatchDebounced(\n search,\n (newValue: string | null, oldValue: string | null) => {\n const query = newValue ?? ''\n if (query === (oldValue ?? '')) return\n if (query.length > 0 && query.length < props.minSearchChars) return\n if (query.length === 0 && props.prefetch === false) {\n fetchedItems.value = []\n return\n }\n apiRequestCounter.value++\n apiSearch(query, apiRequestCounter.value)\n emit('searchChangeDebounced', query)\n },\n { debounce: SEARCH_DEBOUNCE_MS }\n)\n\nwatch(search, (newValue, oldValue) => {\n if (newValue !== oldValue) {\n emit('searchChange', newValue)\n }\n})\n\nconst onAutocompleteModelUpdate = (newValue: ValueObjectOption<T> | readonly ValueObjectOption<T>[] | null) => {\n const cloned = cloneDeep(newValue) as ValueObjectOption<T> | ValueObjectOption<T>[] | null\n modelValueSelected.value = cloned\n if (isNull(cloned) || isUndefined(cloned)) {\n modelValue.value = null\n return\n }\n if (isArray(cloned)) {\n modelValue.value = cloned.map((item) => item.value)\n return\n }\n modelValue.value = cloned.value\n}\n\nconst noDataText = computed(() => {\n if (loadingLocal.value) {\n return '$vuetify.loading'\n }\n if (fetchedItems.value.length === 0 && search.value.length < props.minSearchChars) {\n return isUndefined(props.minSearchText)\n ? t('common.filter.filterMinChars', { min: props.minSearchChars })\n : props.minSearchText\n }\n return undefined\n})\n\nwatch(\n modelValue,\n async (newValue, oldValue) => {\n if (newValue === oldValue) return\n if (isFirstLoad.value) {\n isFirstLoad.value = false\n await tryAutoFetch('mounted', newValue)\n }\n if (collabOptions.value.enabled && isFocused.value) {\n changeFieldData.value(newValue)\n }\n if (isEmpty(newValue)) {\n resetToEmptyState(newValue)\n return\n }\n await loadListItems(newValue as T[] | T)\n },\n { immediate: true }\n)\n\ndefineExpose({\n tryLoadModelValue,\n})\n</script>\n\n<template>\n <VAutocomplete\n :model-value=\"modelValueAutocomplete as any\"\n :items=\"allItems\"\n no-filter\n :multiple=\"multiple\"\n :clearable=\"clearable\"\n :error-messages=\"errorMessageComputed\"\n :chips=\"chips || multiple || closableChips\"\n :hide-details=\"hideDetails\"\n :loading=\"loadingComputed\"\n :disabled=\"disabledComputed\"\n :readonly=\"readonly\"\n :no-data-text=\"noDataText\"\n return-object\n autocomplete=\"off\"\n :hide-selected=\"closableChips\"\n :closable-chips=\"closableChips && !loadingComputed && !disabledComputed && !readonly\"\n @update:search=\"onSearchUpdate\"\n @update:model-value=\"onAutocompleteModelUpdate\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @mouseenter=\"onMouseEnter\"\n @click:clear=\"onClickClear\"\n >\n <template #item=\"{ props: itemProps, internalItem }\">\n <VListItem\n v-bind=\"itemProps\"\n :title=\"internalItem.raw.title\"\n :subtitle=\"internalItem.raw.subtitle\"\n />\n </template>\n <template #chip=\"{ props: chipProps, internalItem }\">\n <VChip\n :closable=\"chipProps.closable as boolean\"\n close-label=\"common.button.remove\"\n size=\"small\"\n :text=\"`${internalItem.title} (${internalItem.raw.subtitle})`\"\n :disabled=\"internalItem.props.disabled\"\n @click:close=\"onChipCloseClick(internalItem.raw)\"\n >\n {{ internalItem.raw.title }}\n <span\n v-if=\"internalItem.raw.subtitle\"\n class=\"font-italic pl-1\"\n >\n ({{ internalItem.raw.subtitle }})\n </span>\n </VChip>\n </template>\n <template #label>\n <span\n v-if=\"!hideLabel\"\n :key=\"requiredComputed + ''\"\n >\n {{ labelComputed }}\n <span\n v-if=\"requiredComputed\"\n class=\"a-required-mark\"\n />\n </span>\n </template>\n <template\n v-if=\"lockedByUserLocal\"\n #append-inner\n >\n <slot\n name=\"locked\"\n :user-id=\"lockedByUserLocal\"\n >\n <ACollabLockedByUser\n v-if=\"collab\"\n :id=\"lockedByUserLocal\"\n :users=\"collab.cachedUsers\"\n />\n </slot>\n </template>\n <template\n v-if=\"$slots.append\"\n #append\n >\n <slot name=\"append\" />\n </template>\n </VAutocomplete>\n</template>\n"],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import e from "./AFormRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
-
|
|
2
|
+
// src/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue
|
|
3
3
|
var t = e;
|
|
4
|
-
//#endregion
|
|
5
4
|
export { t as default };
|
|
6
5
|
|
|
7
6
|
//# sourceMappingURL=AFormRemoteAutocompleteWithCached.js.map
|
package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue.d.ts
CHANGED
|
@@ -35,10 +35,12 @@ type __VLS_ModelProps = {
|
|
|
35
35
|
'fetchedItemsMinimal': Map<IntegerId | DocId, any>;
|
|
36
36
|
};
|
|
37
37
|
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
38
|
-
declare
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
declare const __VLS_template: () => {
|
|
39
|
+
__VLS_Slots: {
|
|
40
|
+
'append-item'?: (props: {}) => any;
|
|
41
|
+
};
|
|
41
42
|
};
|
|
43
|
+
type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
|
|
42
44
|
declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
43
45
|
"update:search": (value: string) => any;
|
|
44
46
|
"update:loadingLocal": (value: boolean) => any;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { usePagination as e } from "../../api/composables/pagination.js";
|
|
2
|
+
import { cloneDeep as t, isArray as n, isNull as r, isUndefined as i } from "../../../shared/utils/common.js";
|
|
3
3
|
import { SubjectScopeKey as a, SystemScopeKey as o } from "../../../shared/injectionKeys.js";
|
|
4
|
-
import {
|
|
4
|
+
import { stringSplitOnFirstOccurrence as s } from "../../../shared/utils/string.js";
|
|
5
5
|
import { FilterInnerConfigKey as c, FilterInnerDataKey as l } from "../../filters/utils/filterInjectionKeys.js";
|
|
6
|
-
import {
|
|
6
|
+
import { useAlerts as u } from "../../system/composables/alerts.js";
|
|
7
7
|
import { computed as d, createBlock as f, createCommentVNode as p, createElementBlock as m, createSlots as h, createTextVNode as g, createVNode as _, defineComponent as v, getCurrentInstance as y, inject as b, mergeModels as x, mergeProps as S, openBlock as C, ref as w, renderSlot as T, toDisplayString as E, unref as D, useModel as O, watch as k, withCtx as A } from "vue";
|
|
8
8
|
import { useI18n as ee } from "vue-i18n";
|
|
9
9
|
import { VChip as te } from "vuetify/components/VChip";
|
|
10
10
|
import { watchDebounced as ne } from "@vueuse/core";
|
|
11
11
|
import { VListItem as re } from "vuetify/components/VList";
|
|
12
12
|
import { VAutocomplete as j } from "vuetify/components/VAutocomplete";
|
|
13
|
-
|
|
13
|
+
// src/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue?vue&type=script&setup=true&lang.ts
|
|
14
14
|
var M = {
|
|
15
15
|
key: 0,
|
|
16
16
|
class: "a-required-mark"
|
|
@@ -77,30 +77,30 @@ var M = {
|
|
|
77
77
|
]),
|
|
78
78
|
setup(v, { emit: x }) {
|
|
79
79
|
let N = v, P = x, F = O(v, "search"), I = O(v, "loadingLocal"), L = O(v, "fetchedItemsMinimal"), R = b(c), z = b(l), B = y()?.type.__name;
|
|
80
|
-
if (
|
|
81
|
-
if (
|
|
80
|
+
if (i(R) || i(z)) throw Error(`[${B}] Incorrect provide/inject config.`);
|
|
81
|
+
if (i(R.fields[N.filterByField]) || i(z[N.filterByField])) throw Error(`[${B}] Incorrect filter inner config. FilterByField is '${N.filterByField}' and available options are ${Object.keys(z).join(", ")}.`);
|
|
82
82
|
let { fetch: V, add: H, addManualMinimal: U } = N.useCached(), W = d(() => {
|
|
83
83
|
if (I.value) return "$vuetify.loading";
|
|
84
|
-
if (L.value.size === 0 && F.value.length < N.minSearchChars) return
|
|
84
|
+
if (L.value.size === 0 && F.value.length < N.minSearchChars) return i(N.minSearchText) ? K("common.filter.filterMinChars", { min: N.minSearchChars }) : N.minSearchText;
|
|
85
85
|
}), G = d({
|
|
86
86
|
get() {
|
|
87
87
|
return N.modelValue;
|
|
88
88
|
},
|
|
89
|
-
set(
|
|
90
|
-
P("update:modelValue", e
|
|
89
|
+
set(e) {
|
|
90
|
+
P("update:modelValue", t(e));
|
|
91
91
|
}
|
|
92
|
-
}), { t: K } = ee(), q = b(o, void 0), J = b(a, void 0), Y = w(!1), { pagination: ie } =
|
|
92
|
+
}), { t: K } = ee(), q = b(o, void 0), J = b(a, void 0), Y = w(!1), { pagination: ie } = e(r(N.filterSortBy) ? null : N.filterSortBy.key, N.filterSortBy?.order), ae = () => {
|
|
93
93
|
Y.value = !0, P("focus", G.value);
|
|
94
94
|
}, oe = () => {
|
|
95
95
|
Y.value = !1, N.v?.$touch(), P("blur", G.value);
|
|
96
|
-
}, se = d(() =>
|
|
97
|
-
if (!
|
|
98
|
-
if (
|
|
99
|
-
let { end: e } =
|
|
96
|
+
}, se = d(() => i(N.errorMessage) ? N.v?.$errors?.length ? N.v.$errors.map((e) => D(e.$message)) : [] : [N.errorMessage]), ce = d(() => {
|
|
97
|
+
if (!i(N.label)) return N.label;
|
|
98
|
+
if (i(q) || i(J) || i(N.v?.$path)) return "";
|
|
99
|
+
let { end: e } = s(N.v?.$path, ".");
|
|
100
100
|
return K(q + "." + J + ".model." + e);
|
|
101
|
-
}), X = d(() =>
|
|
101
|
+
}), X = d(() => i(N.required) ? (N.v?.required)?.$params?.type === "required" : N.required), { showErrorsDefault: Z } = u(), Q = 0, $ = async (e) => {
|
|
102
102
|
let t = ++Q;
|
|
103
|
-
if (
|
|
103
|
+
if (r(e) || e.length < N.minSearchChars) L.value.clear(), I.value = !1;
|
|
104
104
|
else {
|
|
105
105
|
I.value = !0, z[N.filterByField] = e, L.value.clear();
|
|
106
106
|
try {
|
|
@@ -116,18 +116,18 @@ var M = {
|
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
}, le = d(() => {
|
|
119
|
-
let
|
|
120
|
-
return
|
|
121
|
-
|
|
122
|
-
}) : G.value &&
|
|
123
|
-
|
|
124
|
-
}), Array.from(
|
|
119
|
+
let e = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
|
|
120
|
+
return n(G.value) ? G.value.forEach((t) => {
|
|
121
|
+
e.set(t, "");
|
|
122
|
+
}) : G.value && e.set(G.value, ""), L.value.forEach((n) => {
|
|
123
|
+
e.set(n[N.itemValue], n[N.itemTitle]), r.set(n[N.itemValue], t(n));
|
|
124
|
+
}), Array.from(e, ([e, t]) => ({
|
|
125
125
|
value: e,
|
|
126
126
|
title: t,
|
|
127
127
|
raw: r.get(e)
|
|
128
128
|
}));
|
|
129
|
-
}), ue = (
|
|
130
|
-
|
|
129
|
+
}), ue = (e) => new Promise((n) => (L.value.forEach((n, r) => {
|
|
130
|
+
e.has(r) && U(t(n));
|
|
131
131
|
}), n(!0))), de = () => {
|
|
132
132
|
F.value = "", $(""), N.multiple ? G.value = [] : G.value = null;
|
|
133
133
|
};
|
|
@@ -137,8 +137,8 @@ var M = {
|
|
|
137
137
|
}, { debounce: 300 }), k(F, (e, t) => {
|
|
138
138
|
e !== t && P("searchChange", e);
|
|
139
139
|
}), k(G, async (e) => {
|
|
140
|
-
if (
|
|
141
|
-
let
|
|
140
|
+
if (r(e) || i(e) || n(e) && e.length === 0) return;
|
|
141
|
+
let t = n(e) ? e : [e], a = new Set(t);
|
|
142
142
|
await ue(a), a.size > 0 && (H(Array.from(a)), V());
|
|
143
143
|
}, { immediate: !0 }), (e, t) => (C(), f(j, {
|
|
144
144
|
modelValue: G.value,
|
|
@@ -188,7 +188,6 @@ var M = {
|
|
|
188
188
|
]));
|
|
189
189
|
}
|
|
190
190
|
});
|
|
191
|
-
//#endregion
|
|
192
191
|
export { N as default };
|
|
193
192
|
|
|
194
193
|
//# sourceMappingURL=AFormRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js.map
|