@anzusystems/common-admin 2.0.0-rc.5 → 2.0.0-rc.7
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 +4 -0
- package/dist/AnzuSystemsCommonAdmin.d.ts +42 -32
- package/dist/AnzuSystemsCommonAdmin.js.map +1 -1
- package/dist/common-admin.css +1 -1
- package/dist/common-admin.js +282 -282
- package/dist/domains/anzuUser/api/anzuUserApi.d.ts +9 -12
- package/dist/domains/anzuUser/api/anzuUserApi.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserRoleAutocomplete.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserRoleAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserBulkActionDialog.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserBulkActionDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- 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.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemOverview.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemOverview.vue_vue_type_script_setup_true_lang.js.map +1 -1
- 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.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemStatusChip.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemStatusChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- 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.map +1 -1
- package/dist/domains/anzuUser/composables/anzuUserActions.d.ts +5 -9
- 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.map +1 -1
- package/dist/domains/anzuUser/composables/cachedAnzuUsers.d.ts +3 -3
- 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.map +1 -1
- package/dist/domains/anzuUser/composables/userCrossSystemWrites.d.ts +5 -11
- 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.map +1 -1
- package/dist/domains/anzuUser/composables/userSystemProbe.d.ts +7 -27
- package/dist/domains/anzuUser/composables/userSystemProbe.js.map +1 -1
- package/dist/domains/anzuUser/filter/anzuUserFilter.d.ts +6 -16
- 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.map +1 -1
- package/dist/domains/anzuUser/store/userCrossSystemStore.d.ts +3 -14
- 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.map +1 -1
- package/dist/domains/anzuUser/utils/userSystemState.d.ts +12 -30
- 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.map +1 -1
- package/dist/domains/api/composables/defineApiClient.d.ts +4 -8
- package/dist/domains/api/composables/defineApiClient.js.map +1 -1
- package/dist/domains/api/composables/request.d.ts +18 -48
- 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.map +1 -1
- package/dist/domains/api/composables/useApiFetchItems.d.ts +18 -57
- 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.map +1 -1
- package/dist/domains/api/composables/useApiFetchListBatch.d.ts +5 -22
- package/dist/domains/api/composables/useApiFetchListBatch.js.map +1 -1
- 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.map +1 -1
- package/dist/domains/api/utils/apiErrors.d.ts +28 -55
- package/dist/domains/api/utils/apiErrors.js.map +1 -1
- package/dist/domains/api/utils/listBody.d.ts +22 -43
- package/dist/domains/api/utils/listBody.js.map +1 -1
- package/dist/domains/auth/components/Acl.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/cached/components/ACachedUserChip.js +1 -1
- 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.map +1 -1
- package/dist/domains/cached/composables/createUserAndTimeTrackingFields.d.ts +9 -9
- 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.map +1 -1
- package/dist/domains/cached/composables/useCachedItem.d.ts +7 -8
- package/dist/domains/cached/composables/useCachedItem.js.map +1 -1
- package/dist/domains/collab/components/ACollabLockedByUser.js.map +1 -1
- package/dist/domains/collab/components/ACollabLockedByUser.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/collab/composables/collabAnyDataChange.js.map +1 -1
- package/dist/domains/collab/composables/collabField.d.ts +5 -3
- package/dist/domains/collab/composables/collabField.js.map +1 -1
- package/dist/domains/collab/composables/collabInit.js +58 -54
- 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 +106 -106
- 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 +34 -25
- package/dist/domains/collab/composables/collabState.js.map +1 -1
- package/dist/domains/collab/composables/commonAdminCollabOptions.d.ts +4 -2
- package/dist/domains/collab/types/Collab.d.ts +31 -5
- package/dist/domains/collab/types/Collab.js +23 -11
- package/dist/domains/collab/types/Collab.js.map +1 -1
- 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.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataFormElement.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataFormElement.vue_vue_type_script_setup_true_lang.js.map +1 -1
- 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.map +1 -1
- package/dist/domains/customDataForm/composables/useCustomDataForm.js.map +1 -1
- package/dist/domains/customDataForm/types/CustomDataForm.d.ts +4 -1
- package/dist/domains/dam/api/damAssetApi.d.ts +7 -7
- 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.map +1 -1
- package/dist/domains/dam/api/damConstants.js.map +1 -1
- package/dist/domains/dam/api/damEndPoints.js.map +1 -1
- package/dist/domains/dam/api/damImageApi.js.map +1 -1
- package/dist/domains/dam/api/uploadApi.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.vue.d.ts +5 -3
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.vue.d.ts +1 -1
- package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetImage.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetImage.vue.d.ts +1 -1
- 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.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.vue.d.ts +2 -2
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetMetadata.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.map +1 -1
- package/dist/domains/dam/assetDetail/composables/assetDetailView.d.ts +10 -10
- package/dist/domains/dam/assetDetail/composables/assetDetailView.js.map +1 -1
- package/dist/domains/dam/assetDetail/store/assetDetailStore.js.map +1 -1
- package/dist/domains/dam/assetDetail/utils/assetMetadataMayStillChange.d.ts +4 -3
- package/dist/domains/dam/assetDetail/utils/assetMetadataMayStillChange.js.map +1 -1
- package/dist/domains/dam/assetSelect/api/damPodcastApi.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetListInner.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetListInner.vue.d.ts +789 -787
- 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.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetSelect.vue.d.ts +395 -393
- 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.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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/dam/assetSelect/composables/assetSelectListActions.js.map +1 -1
- package/dist/domains/dam/assetSelect/store/assetSelectStore.js.map +1 -1
- package/dist/domains/dam/author/api/authorApi.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.js +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/dam/author/composables/cachedAuthors.d.ts +5 -4
- 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.map +1 -1
- package/dist/domains/dam/author/composables/damAuthorConfig.d.ts +2 -2
- package/dist/domains/dam/author/composables/damAuthorConfig.js.map +1 -1
- package/dist/domains/dam/components/DamAdminAssetLink.js.map +1 -1
- 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 +10 -8
- 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.map +1 -1
- package/dist/domains/dam/composables/damNotifications.d.ts +9 -9
- 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.map +1 -1
- package/dist/domains/dam/composables/damNotificationsEventBus.d.ts +2 -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.map +1 -1
- package/dist/domains/dam/config/api/damAssetCustomFormApi.js.map +1 -1
- package/dist/domains/dam/config/api/damConfigApi.js.map +1 -1
- package/dist/domains/dam/config/composables/damConfigState.d.ts +5 -5
- 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.map +1 -1
- package/dist/domains/dam/config/utils/damFilterUserAllowedUploadConfigs.d.ts +3 -1
- package/dist/domains/dam/config/utils/damFilterUserAllowedUploadConfigs.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/dam/cropper/store/imageRoiStore.d.ts +9 -12
- 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.map +1 -1
- package/dist/domains/dam/cropper/utils/cropperJsService.d.ts +3 -7
- package/dist/domains/dam/cropper/utils/cropperJsService.js +10 -3
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageWidgetSimple.vue.d.ts +43 -41
- package/dist/domains/dam/imageWidget/components/AMediaWidgetSimple.vue.d.ts +31 -29
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetInner.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetInner.vue.d.ts +402 -400
- 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.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.vue.d.ts +384 -382
- 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.map +1 -1
- 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.map +1 -1
- 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.vue.d.ts +7 -5
- package/dist/domains/dam/imageWidget/composables/commonAdminImageOptions.js.map +1 -1
- package/dist/domains/dam/imageWidget/composables/imageApiCms.js.map +1 -1
- package/dist/domains/dam/imageWidget/composables/imageDialogDamAuthors.d.ts +11 -13
- package/dist/domains/dam/imageWidget/composables/imageDialogDamAuthors.js.map +1 -1
- package/dist/domains/dam/imageWidget/composables/useImageMassOperations.js.map +1 -1
- package/dist/domains/dam/imageWidget/store/imageMediaWidgetStore.js.map +1 -1
- 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.map +1 -1
- package/dist/domains/dam/imageWidget/utils/fieldLockTurns.d.ts +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.map +1 -1
- 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.map +1 -1
- package/dist/domains/dam/keyword/api/keywordApi.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.js +1 -1
- 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.map +1 -1
- package/dist/domains/dam/keyword/composables/cachedKeywords.d.ts +5 -4
- 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.map +1 -1
- package/dist/domains/dam/types/Asset.d.ts +1 -1
- package/dist/domains/dam/types/Asset.js.map +1 -1
- package/dist/domains/dam/types/UploadQueue.d.ts +5 -4
- package/dist/domains/dam/types/UploadQueue.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/dam/uploadQueue/components/uploadQueueBindings.d.ts +13 -13
- package/dist/domains/dam/uploadQueue/components/uploadQueueBindings.js.map +1 -1
- package/dist/domains/dam/uploadQueue/composables/damUploadChunkSize.d.ts +2 -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.map +1 -1
- package/dist/domains/dam/uploadQueue/composables/uploadQueueItemRefresh.d.ts +5 -5
- package/dist/domains/dam/uploadQueue/composables/uploadQueueItemRefresh.js.map +1 -1
- package/dist/domains/dam/uploadQueue/composables/uploadService.d.ts +2 -3
- 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.map +1 -1
- package/dist/domains/dam/uploadQueue/core/uploadQueueCore.d.ts +3 -2
- 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.map +1 -1
- package/dist/domains/dam/uploadQueue/core/uploadQueueFill.d.ts +3 -3
- package/dist/domains/dam/uploadQueue/core/uploadQueueFill.js.map +1 -1
- package/dist/domains/dam/uploadQueue/presets/queuePresets.d.ts +8 -5
- 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.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadPollSchedule.d.ts +7 -7
- 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.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadSettle.d.ts +28 -30
- 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.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlementRuntime.d.ts +2 -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.map +1 -1
- package/dist/domains/dam/uploadQueue/store/uploadQueuesStore.d.ts +8 -9
- package/dist/domains/dam/uploadQueue/store/uploadQueuesStore.js.map +1 -1
- package/dist/domains/dam/user/api/userApi.d.ts +2 -2
- package/dist/domains/dam/user/api/userApi.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/dam/user/composables/damUserSelectActions.d.ts +1 -1
- package/dist/domains/dam/user/composables/damUserSelectActions.js.map +1 -1
- package/dist/domains/dam/user/types/DamDistributionServiceType.d.ts +2 -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.map +1 -1
- 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.map +1 -1
- package/dist/domains/filters/bookmarks/store/bookmarksStore.d.ts +3 -3
- package/dist/domains/filters/bookmarks/store/bookmarksStore.js.map +1 -1
- package/dist/domains/filters/components/AFilterDatetimePicker.js.map +1 -1
- package/dist/domains/filters/components/AFilterDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterInteger.js.map +1 -1
- package/dist/domains/filters/components/AFilterInteger.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterString.js.map +1 -1
- package/dist/domains/filters/components/AFilterString.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterTimeInterval.js +1 -1
- 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.map +1 -1
- package/dist/domains/filters/components/AFilterValueObjectOptionsSelect.js.map +1 -1
- package/dist/domains/filters/components/AFilterValueObjectOptionsSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- 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 +63 -62
- package/dist/domains/filters/components/AFilterWrapper.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterWrapperSidebar.vue.d.ts +5 -3
- package/dist/domains/filters/components/FiltersSelected.js.map +1 -1
- 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 +16 -26
- package/dist/domains/filters/composables/filterFactory.js +38 -31
- package/dist/domains/filters/composables/filterFactory.js.map +1 -1
- 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 +3 -1
- 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.map +1 -1
- package/dist/domains/filters/datatable/components/ADatatablePagination.vue_vue_type_script_setup_true_lang.js +2 -4
- package/dist/domains/filters/datatable/components/ADatatablePagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/utils/filterInjectionKeys.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/form/components/AFormSwitch.vue.d.ts +7 -5
- 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.map +1 -1
- package/dist/domains/form/components/AFormTextarea.vue.d.ts +13 -11
- package/dist/domains/form/components/AFormValueObjectOptionsSelect.vue.d.ts +7 -5
- package/dist/domains/form/components/ASystemEntityScope.vue.d.ts +5 -3
- package/dist/domains/job/api/jobApi.js.map +1 -1
- package/dist/domains/job/components/AJobDetailCommon.vue.d.ts +5 -3
- package/dist/domains/listEditor/components/AListEditor.js.map +1 -1
- package/dist/domains/listEditor/components/AListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/listEditor/composables/useListEditorController.d.ts +4 -5
- package/dist/domains/listEditor/composables/useListEditorController.js.map +1 -1
- package/dist/domains/listEditor/composables/useNestedListEditor.d.ts +3 -4
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/listEditor/utils/resolveCompactText.js.map +1 -1
- package/dist/domains/log/api/logApi.d.ts +2 -3
- package/dist/domains/log/api/logApi.js.map +1 -1
- package/dist/domains/log/components/ALogDatatable.js.map +1 -1
- package/dist/domains/log/components/ALogDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- 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.map +1 -1
- package/dist/domains/log/components/ALogFilter.js.map +1 -1
- package/dist/domains/log/components/ALogFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
- 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.map +1 -1
- package/dist/domains/log/composables/logActions.d.ts +4 -5
- 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.map +1 -1
- package/dist/domains/log/filter/logFilter.d.ts +8 -11
- package/dist/domains/log/filter/logFilter.js.map +1 -1
- 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.map +1 -1
- package/dist/domains/permission/composables/permissionActions.d.ts +3 -6
- 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.map +1 -1
- package/dist/domains/permission/config/composables/permissionConfigActions.d.ts +3 -7
- package/dist/domains/permission/config/composables/permissionConfigActions.js.map +1 -1
- package/dist/domains/permission/config/store/permissionConfigStore.d.ts +2 -4
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/permission/group/composables/permissionGroupValidations.d.ts +2 -3
- package/dist/domains/permission/group/composables/permissionGroupValidations.js.map +1 -1
- package/dist/domains/permission/group/filter/permissionGroupFilter.d.ts +2 -3
- 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.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue.d.ts +5 -3
- package/dist/domains/remoteAutocomplete/composables/createRemoteAutocomplete.d.ts +11 -13
- package/dist/domains/remoteAutocomplete/composables/createRemoteAutocomplete.js.map +1 -1
- package/dist/domains/subjectSelect/components/AFilterWrapperSubjectSelect.vue.d.ts +13 -11
- package/dist/domains/subjectSelect/components/ASubjectSelect.js.map +1 -1
- package/dist/domains/subjectSelect/components/ASubjectSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/subjectSelect/composables/useSubjectSelect.js +53 -51
- package/dist/domains/subjectSelect/composables/useSubjectSelect.js.map +1 -1
- package/dist/domains/system/appShell/components/AActionbar.vue.d.ts +7 -5
- 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.map +1 -1
- package/dist/domains/system/appShell/composables/teleportSlot.d.ts +0 -1
- package/dist/domains/system/appShell/composables/teleportSlot.js.map +1 -1
- package/dist/domains/system/components/AAlerts.js.map +1 -1
- package/dist/domains/system/components/AAlerts.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/system/composables/alerts.js.map +1 -1
- package/dist/domains/system/composables/breadcrumbs.d.ts +3 -3
- package/dist/domains/system/composables/breadcrumbs.js.map +1 -1
- package/dist/domains/system/composables/languageSettings.js.map +1 -1
- 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.map +1 -1
- package/dist/domains/system/composables/pageNavigation.d.ts +9 -10
- package/dist/domains/system/composables/pageNavigation.js.map +1 -1
- package/dist/domains/system/composables/recordActions.d.ts +14 -22
- package/dist/domains/system/composables/recordActions.js.map +1 -1
- package/dist/domains/system/composables/recordPage.d.ts +23 -38
- 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.map +1 -1
- package/dist/domains/system/composables/sentry.js.map +1 -1
- package/dist/domains/system/composables/useDebugFeatures.d.ts +3 -6
- package/dist/domains/system/composables/useDebugFeatures.js.map +1 -1
- package/dist/domains/system/store/datatablePageStore.d.ts +8 -1
- package/dist/domains/system/store/datatablePageStore.js +10 -3
- package/dist/domains/system/store/datatablePageStore.js.map +1 -1
- 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.map +1 -1
- package/dist/domains/system/systemBar/utils/appReload.d.ts +5 -5
- package/dist/domains/system/systemBar/utils/appReload.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/ui/buttons/components/ABtnSplit.vue.d.ts +9 -7
- package/dist/domains/ui/components/AAvatarColorPicker.js.map +1 -1
- package/dist/domains/ui/components/AAvatarColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- 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 +6 -2
- package/dist/domains/ui/components/ACard.vue_vue_type_script_setup_true_lang.js.map +1 -1
- 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 +13 -7
- package/dist/domains/ui/components/ACardLoader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/AChipNoLink.vue.d.ts +5 -3
- package/dist/domains/ui/components/ACopyText.vue.d.ts +9 -7
- 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.map +1 -1
- package/dist/domains/ui/components/ADialogToolbar.vue.d.ts +5 -3
- package/dist/domains/ui/components/ARow.vue.d.ts +5 -3
- package/dist/domains/ui/components/ATimeTrackingFields.js.map +1 -1
- package/dist/domains/ui/components/ATimeTrackingFields.vue_vue_type_script_setup_true_lang.js.map +1 -1
- 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.map +1 -1
- package/dist/domains/ui/datetime/components/ADatetimePicker.js +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/ui/file/composables/dropzone.js.map +1 -1
- package/dist/domains/ui/file/composables/formatAndSizeCheck.js.map +1 -1
- package/dist/domains/ui/view/components/AGenericView.vue.d.ts +7 -5
- package/dist/domains/ui/view/components/ALoginView.js +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/domains/unsavedGuard/composables/useUnsavedChangesGuard.d.ts +6 -7
- package/dist/domains/unsavedGuard/composables/useUnsavedChangesGuard.js.map +1 -1
- package/dist/lib.d.ts +2 -2
- package/dist/plugins/commonVuetifyConfig.d.ts +3 -3
- package/dist/plugins/commonVuetifyConfig.js.map +1 -1
- package/dist/plugins/i18n.d.ts +4 -5
- package/dist/plugins/i18n.js.map +1 -1
- package/dist/plugins/pluginOptions.d.ts +4 -2
- package/dist/plugins/pluginOptions.js.map +1 -1
- package/dist/plugins/webfontloader.js.map +1 -1
- package/dist/shared/error/AnzuApiCancelledError.d.ts +5 -8
- package/dist/shared/error/AnzuApiCancelledError.js.map +1 -1
- package/dist/shared/error/AnzuError.d.ts +3 -5
- package/dist/shared/error/AnzuError.js.map +1 -1
- package/dist/shared/error/AuthUnavailableError.d.ts +3 -3
- package/dist/shared/error/AuthUnavailableError.js.map +1 -1
- package/dist/shared/error/isInCauseChain.d.ts +2 -2
- package/dist/shared/error/isInCauseChain.js.map +1 -1
- 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/utils/common.js.map +1 -1
- package/dist/shared/utils/datetime.d.ts +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.map +1 -1
- package/dist/shared/utils/development.d.ts +3 -3
- package/dist/shared/utils/development.js.map +1 -1
- package/dist/shared/utils/envConfig.d.ts +4 -4
- package/dist/shared/utils/envConfig.js.map +1 -1
- package/dist/shared/utils/json.d.ts +1 -1
- package/dist/shared/utils/json.js.map +1 -1
- package/dist/shared/utils/userAndTimeTracking.d.ts +5 -7
- package/dist/shared/utils/userAndTimeTracking.js.map +1 -1
- package/dist/shared/validators/vuelidate/common/useValidateHexColor.d.ts +3 -5
- package/dist/shared/validators/vuelidate/common/useValidateHexColor.js.map +1 -1
- package/dist/testing/appShell.d.ts +11 -11
- package/dist/testing/appShell.js.map +1 -1
- package/dist/testing/closeButtons.d.ts +9 -11
- package/dist/testing/closeButtons.js.map +1 -1
- package/dist/testing/declaredDependencies.d.ts +7 -7
- package/dist/testing/declaredDependencies.js.map +1 -1
- package/dist/testing/generatedRoutes.d.ts +6 -11
- package/dist/testing/generatedRoutes.js.map +1 -1
- package/dist/testing/routeHistory.d.ts +5 -12
- package/dist/testing/routeHistory.js.map +1 -1
- package/dist/testing/sortableLists.d.ts +16 -21
- package/dist/testing/sortableLists.js.map +1 -1
- package/dist/testing/typedRouter.d.ts +0 -1
- package/dist/testing/typedRouter.js.map +1 -1
- package/package.json +39 -29
- package/src/e2e/conventions.d.mts +4 -0
- package/src/e2e/conventions.mjs +15 -0
- package/src/e2e/index.d.mts +8 -0
- package/src/e2e/index.mjs +1 -0
- package/src/e2e/routeWalk.d.mts +43 -0
- package/src/e2e/routeWalk.mjs +606 -0
- package/src/e2e/types.d.mts +161 -0
- package/src/eslint/adminConfig.mjs +19 -27
- package/src/eslint/globalComponentNames.mjs +3 -4
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ADatatableOrdering.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_unref","_createVNode","_component_VBtn","_withCtx","_createTextVNode","_component_VMenu","_component_VList","_Fragment","_renderList","_createBlock","_component_VListItem","_component_VListItemTitle","_normalizeClass","_hoisted_1","_hoisted_2","ADatatableOrdering_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","__emit","props","__props","emit","modelValue","useModel","pagination","inject","DatatablePaginationKey","isUndefined","useI18n","defaultItemsCreatedAt","SortOrder","defaultItemsId","defaultItemsMostRelevant","SORT_BY_SCORE","activeTitle","computed","found","options","item","t","onItemClick","paginationUpdateDefault","watch","newValue","oldValue","option","openBlock","createElementBlock","createElementVNode","toDisplayString","unref","createVNode","VBtn","withCtx","createTextVNode","VMenu","VList","Fragment","renderList","createBlock","VListItem","VListItemTitle","normalizeClass"],"sources":["../../../../../src/domains/filters/datatable/components/ADatatableOrdering.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, inject, type Ref, watch } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport {\n type DatatableOrderingOption,\n type DatatableOrderingOptions,\n SORT_BY_SCORE,\n} from '@/domains/filters/datatable/utils/datatableColumns'\nimport { SortOrder } from '@/domains/api/types/SortOrder'\nimport { isUndefined } from '@/shared/utils/common'\nimport { DatatablePaginationKey } from '@/domains/filters/utils/filterInjectionKeys'\n\nimport type { Pagination } from '@/domains/api/composables/pagination'\n\nconst props = withDefaults(\n defineProps<{\n variant?: 'id' | 'createdAt' | 'most-relevant'\n customOptions?: undefined | DatatableOrderingOptions\n paginationUpdateCustomCb?: ((option: DatatableOrderingOption, pagination: Ref<Pagination>) => void) | undefined\n }>(),\n {\n variant: 'id',\n customOptions: undefined,\n paginationUpdateCustomCb: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'sortByChange', data: DatatableOrderingOption): void\n}>()\n\nconst modelValue = defineModel<number>('modelValue', {\n default: 1,\n required: false,\n})\n\nconst pagination = inject(DatatablePaginationKey)\n\nif (isUndefined(pagination)) {\n throw new Error('Incorrect provide/inject config.')\n}\n\nconst { t } = useI18n()\n\nconst defaultItemsCreatedAt: DatatableOrderingOptions = [\n {\n id: 1,\n titleT: 'common.system.datatable.ordering.mostRecent',\n sortBy: { key: 'createdAt', order: SortOrder.Desc },\n },\n {\n id: 2,\n titleT: 'common.system.datatable.ordering.oldest',\n sortBy: { key: 'createdAt', order: SortOrder.Asc },\n },\n]\n\nconst defaultItemsId: DatatableOrderingOptions = [\n {\n id: 1,\n titleT: 'common.system.datatable.ordering.mostRecent',\n sortBy: { key: 'id', order: SortOrder.Desc },\n },\n {\n id: 2,\n titleT: 'common.system.datatable.ordering.oldest',\n sortBy: { key: 'id', order: SortOrder.Asc },\n },\n]\n\nconst defaultItemsMostRelevant: DatatableOrderingOptions = [\n {\n id: 3,\n titleT: 'common.system.datatable.ordering.mostRelevant',\n sortBy: { key: SORT_BY_SCORE, order: SortOrder.Desc },\n },\n {\n id: 1,\n titleT: 'common.system.datatable.ordering.mostRecent',\n sortBy: { key: 'createdAt', order: SortOrder.Desc },\n },\n {\n id: 2,\n titleT: 'common.system.datatable.ordering.oldest',\n sortBy: { key: 'createdAt', order: SortOrder.Asc },\n },\n]\n\nconst activeTitle = computed(() => {\n const found = options.value.find((item: any) => item.id === modelValue.value)\n if (found) return t(found.titleT)\n return ''\n})\n\nconst options = computed(() => {\n if (props.customOptions) return props.customOptions\n if (props.variant === 'most-relevant') return defaultItemsMostRelevant\n if (props.variant === 'id') return defaultItemsId\n return defaultItemsCreatedAt\n})\n\nconst onItemClick = (item: DatatableOrderingOption) => {\n modelValue.value = item.id\n}\n\nconst paginationUpdateDefault = (found: DatatableOrderingOption) => {\n if (!found.sortBy) {\n pagination.value = {\n ...pagination.value,\n sortBy: null,\n }\n emit('sortByChange', found)\n return\n }\n pagination.value.sortBy = found.sortBy\n emit('sortByChange', found)\n}\n\nwatch(modelValue, (newValue, oldValue) => {\n if (newValue === oldValue) return\n const found = options.value.find((option) => {\n return option.id === newValue\n })\n if (isUndefined(found)) {\n return\n }\n if (isUndefined(props.paginationUpdateCustomCb)) {\n paginationUpdateDefault(found)\n return\n }\n props.paginationUpdateCustomCb(found, pagination)\n})\n\n// A getter, not the ref
|
|
1
|
+
{"version":3,"file":"ADatatableOrdering.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_unref","_createVNode","_component_VBtn","_withCtx","_createTextVNode","_component_VMenu","_component_VList","_Fragment","_renderList","_createBlock","_component_VListItem","_component_VListItemTitle","_normalizeClass","_hoisted_1","_hoisted_2","ADatatableOrdering_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","__emit","props","__props","emit","modelValue","useModel","pagination","inject","DatatablePaginationKey","isUndefined","useI18n","defaultItemsCreatedAt","SortOrder","defaultItemsId","defaultItemsMostRelevant","SORT_BY_SCORE","activeTitle","computed","found","options","item","t","onItemClick","paginationUpdateDefault","watch","newValue","oldValue","option","current","openBlock","createElementBlock","createElementVNode","toDisplayString","unref","createVNode","VBtn","withCtx","createTextVNode","VMenu","VList","Fragment","renderList","createBlock","VListItem","VListItemTitle","normalizeClass"],"sources":["../../../../../src/domains/filters/datatable/components/ADatatableOrdering.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, inject, type Ref, watch } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport {\n type DatatableOrderingOption,\n type DatatableOrderingOptions,\n SORT_BY_SCORE,\n} from '@/domains/filters/datatable/utils/datatableColumns'\nimport { SortOrder } from '@/domains/api/types/SortOrder'\nimport { isUndefined } from '@/shared/utils/common'\nimport { DatatablePaginationKey } from '@/domains/filters/utils/filterInjectionKeys'\n\nimport type { Pagination } from '@/domains/api/composables/pagination'\n\nconst props = withDefaults(\n defineProps<{\n variant?: 'id' | 'createdAt' | 'most-relevant'\n customOptions?: undefined | DatatableOrderingOptions\n paginationUpdateCustomCb?: ((option: DatatableOrderingOption, pagination: Ref<Pagination>) => void) | undefined\n }>(),\n {\n variant: 'id',\n customOptions: undefined,\n paginationUpdateCustomCb: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'sortByChange', data: DatatableOrderingOption): void\n}>()\n\nconst modelValue = defineModel<number>('modelValue', {\n default: 1,\n required: false,\n})\n\nconst pagination = inject(DatatablePaginationKey)\n\nif (isUndefined(pagination)) {\n throw new Error('Incorrect provide/inject config.')\n}\n\nconst { t } = useI18n()\n\nconst defaultItemsCreatedAt: DatatableOrderingOptions = [\n {\n id: 1,\n titleT: 'common.system.datatable.ordering.mostRecent',\n sortBy: { key: 'createdAt', order: SortOrder.Desc },\n },\n {\n id: 2,\n titleT: 'common.system.datatable.ordering.oldest',\n sortBy: { key: 'createdAt', order: SortOrder.Asc },\n },\n]\n\nconst defaultItemsId: DatatableOrderingOptions = [\n {\n id: 1,\n titleT: 'common.system.datatable.ordering.mostRecent',\n sortBy: { key: 'id', order: SortOrder.Desc },\n },\n {\n id: 2,\n titleT: 'common.system.datatable.ordering.oldest',\n sortBy: { key: 'id', order: SortOrder.Asc },\n },\n]\n\nconst defaultItemsMostRelevant: DatatableOrderingOptions = [\n {\n id: 3,\n titleT: 'common.system.datatable.ordering.mostRelevant',\n sortBy: { key: SORT_BY_SCORE, order: SortOrder.Desc },\n },\n {\n id: 1,\n titleT: 'common.system.datatable.ordering.mostRecent',\n sortBy: { key: 'createdAt', order: SortOrder.Desc },\n },\n {\n id: 2,\n titleT: 'common.system.datatable.ordering.oldest',\n sortBy: { key: 'createdAt', order: SortOrder.Asc },\n },\n]\n\nconst activeTitle = computed(() => {\n const found = options.value.find((item: any) => item.id === modelValue.value)\n if (found) return t(found.titleT)\n return ''\n})\n\nconst options = computed(() => {\n if (props.customOptions) return props.customOptions\n if (props.variant === 'most-relevant') return defaultItemsMostRelevant\n if (props.variant === 'id') return defaultItemsId\n return defaultItemsCreatedAt\n})\n\nconst onItemClick = (item: DatatableOrderingOption) => {\n modelValue.value = item.id\n}\n\nconst paginationUpdateDefault = (found: DatatableOrderingOption) => {\n if (!found.sortBy) {\n pagination.value = {\n ...pagination.value,\n sortBy: null,\n }\n emit('sortByChange', found)\n return\n }\n pagination.value.sortBy = found.sortBy\n emit('sortByChange', found)\n}\n\nwatch(modelValue, (newValue, oldValue) => {\n if (newValue === oldValue) return\n const found = options.value.find((option) => {\n return option.id === newValue\n })\n if (isUndefined(found)) {\n return\n }\n // Already the pagination's sort: the ordering only follows it (a loaded hash, `setSortBy`, an admin setting\n // the v-model with it). Applying it again made the list submit, which put a restored page back to 1.\n const current = pagination.value.sortBy\n if (current?.key === found.sortBy?.key && current?.order === found.sortBy?.order) {\n return\n }\n if (isUndefined(props.paginationUpdateCustomCb)) {\n paginationUpdateDefault(found)\n return\n }\n props.paginationUpdateCustomCb(found, pagination)\n})\n\n// A getter, not the ref. Admins set `pagination.value.sortBy` in place, which a shallow watch of the ref misses.\nwatch(\n () => ({ key: pagination.value.sortBy?.key, order: pagination.value.sortBy?.order }),\n (newValue, oldValue) => {\n if (newValue.key === oldValue?.key && newValue.order === oldValue?.order) {\n return\n }\n const found = options.value.find((option) => {\n return newValue.key === option.sortBy?.key && newValue.order === option.sortBy?.order\n })\n if (isUndefined(found)) {\n return\n }\n modelValue.value = found.id\n },\n { immediate: true }\n)\n</script>\n\n<template>\n <div class=\"d-flex align-center justify-center\">\n <div class=\"text-body-small mr-1\">{{ t('common.system.datatable.ordering.title') }}:</div>\n <VBtn\n variant=\"text\"\n rounded=\"xl\"\n size=\"small\"\n class=\"text-medium-emphasis\"\n append-icon=\"mdi-chevron-down\"\n >\n {{ activeTitle }}\n <VMenu\n activator=\"parent\"\n location=\"bottom\"\n close-on-content-click\n >\n <VList\n density=\"compact\"\n class=\"pa-0\"\n >\n <VListItem\n v-for=\"item in options\"\n :key=\"item.id\"\n @click=\"onItemClick(item)\"\n >\n <VListItemTitle :class=\"{ 'font-weight-bold': item.id === modelValue }\">\n {{ t(item.titleT) }}\n </VListItemTitle>\n </VListItem>\n </VList>\n </VMenu>\n </VBtn>\n </div>\n</template>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ADatatablePagination.js","names":["_sfc_main","ADatatablePagination_vue_vue_type_script_setup_true_lang_default","ADatatablePagination_default"],"sources":["../../../../../src/domains/filters/datatable/components/ADatatablePagination.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, inject, watch } from 'vue'\nimport { isNull, isUndefined } from '@/shared/utils/common'\nimport { useI18n } from 'vue-i18n'\nimport {\n DatatablePageStoreKey,\n DatatablePaginationKey,\n FilterConfigKey,\n} from '@/domains/filters/utils/filterInjectionKeys'\nimport { useThrottleFn } from '@vueuse/core'\nimport { datatablePageKey, useDatatablePageStore } from '@/domains/system/store/datatablePageStore'\n\nwithDefaults(\n defineProps<{\n itemsPerPageOptions?: number[]\n hideRecordsPerPage?: boolean\n }>(),\n {\n itemsPerPageOptions: () => [10, 25, 50],\n hideRecordsPerPage: false,\n }\n)\nconst emit = defineEmits<{\n (e: 'change'): void\n}>()\n\nconst pagination = inject(DatatablePaginationKey)\n\nif (isUndefined(pagination)) {\n throw new Error('Incorrect provide/inject config.')\n}\n\nconst { t } = useI18n()\nconst { setStoredPage } = useDatatablePageStore()\n\n// `useFilterHelpers` provides the key, so tables sharing a system/subject stay apart
|
|
1
|
+
{"version":3,"file":"ADatatablePagination.js","names":["_sfc_main","ADatatablePagination_vue_vue_type_script_setup_true_lang_default","ADatatablePagination_default"],"sources":["../../../../../src/domains/filters/datatable/components/ADatatablePagination.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, inject, watch } from 'vue'\nimport { isNull, isUndefined } from '@/shared/utils/common'\nimport { useI18n } from 'vue-i18n'\nimport {\n DatatablePageStoreKey,\n DatatablePaginationKey,\n FilterConfigKey,\n} from '@/domains/filters/utils/filterInjectionKeys'\nimport { useThrottleFn } from '@vueuse/core'\nimport { datatablePageKey, useDatatablePageStore } from '@/domains/system/store/datatablePageStore'\n\nwithDefaults(\n defineProps<{\n itemsPerPageOptions?: number[]\n hideRecordsPerPage?: boolean\n }>(),\n {\n itemsPerPageOptions: () => [10, 25, 50],\n hideRecordsPerPage: false,\n }\n)\nconst emit = defineEmits<{\n (e: 'change'): void\n}>()\n\nconst pagination = inject(DatatablePaginationKey)\n\nif (isUndefined(pagination)) {\n throw new Error('Incorrect provide/inject config.')\n}\n\nconst { t } = useI18n()\nconst { setStoredPage } = useDatatablePageStore()\n\n// `useFilterHelpers` provides the key, so tables sharing a system/subject stay apart.\n// Both are optional. A datatable providing pagination without them uses the shared bucket.\nconst providedPageKey = inject(DatatablePageStoreKey, undefined)\nconst filterConfig = inject(FilterConfigKey, undefined)\nconst pageStoreKey = computed(\n () => providedPageKey ?? datatablePageKey(filterConfig?.general.system, filterConfig?.general.subject)\n)\n\nconst lastPage = computed(() => {\n return Math.ceil(pagination.value.totalCount / pagination.value.rowsPerPage)\n})\n\nconst displayedFrom = computed(() => {\n return pagination.value.page * pagination.value.rowsPerPage - pagination.value.rowsPerPage + 1\n})\n\nconst displayedTo = computed(() => {\n return (\n pagination.value.page * pagination.value.rowsPerPage -\n pagination.value.rowsPerPage +\n pagination.value.currentViewCount\n )\n})\n\nconst disabledFirstAndPrev = computed(() => {\n return pagination.value.page === 1\n})\n\n// `>=`, not `===`. An empty list has `lastPage` 0 while `page` is at least 1, so they never meet.\n// The same holds before the first request.\nconst disabledLast = computed(() => {\n return !isNull(pagination.value.hasNextPage) || pagination.value.page >= lastPage.value\n})\n\nconst disabledNext = computed(() => {\n return (\n (isNull(pagination.value.hasNextPage) && pagination.value.page >= lastPage.value) ||\n pagination.value.hasNextPage === false\n )\n})\n\nconst computedTotalCountText = computed(() => {\n if (!isNull(pagination.value.hasNextPage)) {\n return pagination.value.hasNextPage ? displayedTo.value + 1 + '+' : displayedTo.value\n }\n return pagination.value.totalCount\n})\n\n// One watcher for both. A restore after Close sets the page and the rows per page together, and a separate\n// rows watcher put that page back to 1. Rows per page changed alone (the toggle) still start on page 1.\nwatch(\n [() => pagination.value.page, () => pagination.value.rowsPerPage],\n ([page, rowsPerPage], [oldPage, oldRowsPerPage]) => {\n if (rowsPerPage !== oldRowsPerPage && page === oldPage && page !== 1) {\n // Runs this watcher again for the page, which stores it and emits once.\n pagination.value.page = 1\n return\n }\n setStoredPage(pageStoreKey.value, page, rowsPerPage)\n emit('change')\n }\n)\n\n// Leading edge only. The throttle guards against click spam.\n// VueUse 15 defaults `trailing` to true, which replays the last click and can step\n// past `lastPage`, because the queued callback does not recheck the disabled state.\nconst onClickFirst = useThrottleFn(\n () => {\n pagination.value.page = 1\n },\n 300,\n false\n)\n\nconst onClickLast = useThrottleFn(\n () => {\n pagination.value.page = lastPage.value\n },\n 300,\n false\n)\n\nconst onClickPrev = useThrottleFn(\n () => {\n pagination.value.page = pagination.value.page - 1\n },\n 300,\n false\n)\n\nconst onClickNext = useThrottleFn(\n () => {\n pagination.value.page = pagination.value.page + 1\n },\n 300,\n false\n)\n</script>\n\n<template>\n <div class=\"anzu-data-footer\">\n <div\n v-if=\"!hideRecordsPerPage\"\n class=\"anzu-data-footer__page-limit\"\n >\n {{ t('common.system.datatable.itemsPerPage') }}:\n <VBtnToggle\n v-model=\"pagination.rowsPerPage\"\n class=\"ml-2\"\n density=\"compact\"\n mandatory\n data-cy=\"table-size\"\n >\n <VBtn\n v-for=\"item in itemsPerPageOptions\"\n :key=\"item\"\n :color=\"item === pagination.rowsPerPage ? 'secondary' : ''\"\n :value=\"item\"\n density=\"compact\"\n size=\"small\"\n variant=\"text\"\n >\n {{ item }}\n </VBtn>\n </VBtnToggle>\n </div>\n <div class=\"anzu-data-footer__pagination\">\n {{ displayedFrom }} - {{ displayedTo }} {{ t('common.system.datatable.from') }}\n {{ computedTotalCountText }}\n </div>\n <div class=\"anzu-data-footer__icons-before\">\n <VBtn\n :disabled=\"disabledFirstAndPrev\"\n icon=\"mdi-page-first\"\n :aria-label=\"t('$vuetify.pagination.ariaLabel.first')\"\n size=\"small\"\n variant=\"text\"\n @click.stop=\"onClickFirst\"\n />\n <VBtn\n :disabled=\"disabledFirstAndPrev\"\n icon=\"mdi-chevron-left\"\n :aria-label=\"t('$vuetify.pagination.ariaLabel.previous')\"\n size=\"small\"\n variant=\"text\"\n @click.stop=\"onClickPrev\"\n />\n </div>\n <div class=\"current-page\">\n <span>{{ pagination.page }}</span>\n </div>\n <div class=\"anzu-data-footer__icons-after\">\n <VBtn\n :disabled=\"disabledNext\"\n icon=\"mdi-chevron-right\"\n :aria-label=\"t('$vuetify.pagination.ariaLabel.next')\"\n size=\"small\"\n variant=\"text\"\n @click.stop=\"onClickNext\"\n />\n <VBtn\n :disabled=\"disabledLast\"\n icon=\"mdi-page-last\"\n :aria-label=\"t('$vuetify.pagination.ariaLabel.last')\"\n size=\"small\"\n variant=\"text\"\n @click.stop=\"onClickLast\"\n />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\">\n.anzu-data-footer {\n margin-top: 10px;\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n align-items: center;\n font-size: 0.75rem;\n padding: 0 8px;\n\n > div.current-page {\n padding-left: 10px;\n padding-right: 10px;\n user-select: none;\n min-width: 40px;\n display: flex;\n text-align: center;\n align-items: center;\n justify-content: center;\n }\n\n &__page-limit {\n display: flex;\n align-items: center;\n flex: 0 0 0;\n justify-content: flex-end;\n white-space: nowrap;\n margin-right: 14px;\n }\n\n &__pagination {\n display: block;\n text-align: center;\n margin: 0 32px 0 24px;\n }\n}\n</style>\n"],"mappings":""}
|
|
@@ -28,10 +28,8 @@ var O = { class: "anzu-data-footer" }, k = {
|
|
|
28
28
|
let F = P, I = g(a);
|
|
29
29
|
if (t(I)) throw Error("Incorrect provide/inject config.");
|
|
30
30
|
let { t: L } = w(), { setStoredPage: R } = r(), z = g(i, void 0), B = g(o, void 0), V = c(() => z ?? n(B?.general.system, B?.general.subject)), H = c(() => Math.ceil(I.value.totalCount / I.value.rowsPerPage)), U = c(() => I.value.page * I.value.rowsPerPage - I.value.rowsPerPage + 1), W = c(() => I.value.page * I.value.rowsPerPage - I.value.rowsPerPage + I.value.currentViewCount), G = c(() => I.value.page === 1), K = c(() => !e(I.value.hasNextPage) || I.value.page >= H.value), q = c(() => e(I.value.hasNextPage) && I.value.page >= H.value || I.value.hasNextPage === !1), J = c(() => e(I.value.hasNextPage) ? I.value.totalCount : I.value.hasNextPage ? W.value + 1 + "+" : W.value);
|
|
31
|
-
x(() => I.value.rowsPerPage, (e, t) => {
|
|
32
|
-
|
|
33
|
-
}), x(() => I.value.page, (e, t) => {
|
|
34
|
-
e !== t && (R(V.value, e), F("change"));
|
|
31
|
+
x([() => I.value.page, () => I.value.rowsPerPage], ([e, t], [n, r]) => {
|
|
32
|
+
t !== r && e === n && e !== 1 ? I.value.page = 1 : (R(V.value, e, t), F("change"));
|
|
35
33
|
});
|
|
36
34
|
let Y = T(() => {
|
|
37
35
|
I.value.page = 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ADatatablePagination.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_createTextVNode","_toDisplayString","_unref","_createVNode","_component_VBtnToggle","_withCtx","_Fragment","_renderList","_createBlock","_component_VBtn","_createCommentVNode","_createElementVNode","_withModifiers","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","ADatatablePagination_vue_vue_type_script_setup_true_lang_default","__emit","emit","pagination","inject","DatatablePaginationKey","isUndefined","useI18n","useDatatablePageStore","providedPageKey","DatatablePageStoreKey","filterConfig","FilterConfigKey","pageStoreKey","computed","datatablePageKey","lastPage","displayedFrom","displayedTo","disabledFirstAndPrev","disabledLast","isNull","disabledNext","computedTotalCountText","watch","newValue","oldValue","setStoredPage","onClickFirst","useThrottleFn","onClickLast","onClickPrev","onClickNext","openBlock","createElementBlock","__props","createCommentVNode","createTextVNode","toDisplayString","unref","t","createVNode","VBtnToggle","_cache","$event","withCtx","Fragment","renderList","createBlock","VBtn","item","createElementVNode","withModifiers"],"sources":["../../../../../src/domains/filters/datatable/components/ADatatablePagination.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, inject, watch } from 'vue'\nimport { isNull, isUndefined } from '@/shared/utils/common'\nimport { useI18n } from 'vue-i18n'\nimport {\n DatatablePageStoreKey,\n DatatablePaginationKey,\n FilterConfigKey,\n} from '@/domains/filters/utils/filterInjectionKeys'\nimport { useThrottleFn } from '@vueuse/core'\nimport { datatablePageKey, useDatatablePageStore } from '@/domains/system/store/datatablePageStore'\n\nwithDefaults(\n defineProps<{\n itemsPerPageOptions?: number[]\n hideRecordsPerPage?: boolean\n }>(),\n {\n itemsPerPageOptions: () => [10, 25, 50],\n hideRecordsPerPage: false,\n }\n)\nconst emit = defineEmits<{\n (e: 'change'): void\n}>()\n\nconst pagination = inject(DatatablePaginationKey)\n\nif (isUndefined(pagination)) {\n throw new Error('Incorrect provide/inject config.')\n}\n\nconst { t } = useI18n()\nconst { setStoredPage } = useDatatablePageStore()\n\n// `useFilterHelpers` provides the key, so tables sharing a system/subject stay apart. Both\n// fallbacks are optional on purpose: a datatable may provide pagination without either, and it\n// then keeps the shared bucket it had before the store was keyed.\nconst providedPageKey = inject(DatatablePageStoreKey, undefined)\nconst filterConfig = inject(FilterConfigKey, undefined)\nconst pageStoreKey = computed(\n () => providedPageKey ?? datatablePageKey(filterConfig?.general.system, filterConfig?.general.subject)\n)\n\nconst lastPage = computed(() => {\n return Math.ceil(pagination.value.totalCount / pagination.value.rowsPerPage)\n})\n\nconst displayedFrom = computed(() => {\n return pagination.value.page * pagination.value.rowsPerPage - pagination.value.rowsPerPage + 1\n})\n\nconst displayedTo = computed(() => {\n return (\n pagination.value.page * pagination.value.rowsPerPage -\n pagination.value.rowsPerPage +\n pagination.value.currentViewCount\n )\n})\n\nconst disabledFirstAndPrev = computed(() => {\n return pagination.value.page === 1\n})\n\n// `>=`, not `===`: an empty list has `totalCount: 0`, so `lastPage` is 0 while `page` is never below\n// 1, and the two can never meet. The page would then count as \"not the last one\" on a list with\n// nothing in it -- and the same holds before any request has been made, because that initial state is\n// the same numbers.\nconst disabledLast = computed(() => {\n return !isNull(pagination.value.hasNextPage) || pagination.value.page >= lastPage.value\n})\n\nconst disabledNext = computed(() => {\n return (\n (isNull(pagination.value.hasNextPage) && pagination.value.page >= lastPage.value) ||\n pagination.value.hasNextPage === false\n )\n})\n\nconst computedTotalCountText = computed(() => {\n if (!isNull(pagination.value.hasNextPage)) {\n return pagination.value.hasNextPage ? displayedTo.value + 1 + '+' : displayedTo.value\n }\n return pagination.value.totalCount\n})\n\nwatch(\n () => pagination.value.rowsPerPage,\n (newValue, oldValue) => {\n if (newValue !== oldValue) {\n pagination.value.page = 1\n emit('change')\n }\n }\n)\n\nwatch(\n () => pagination.value.page,\n (newValue, oldValue) => {\n if (newValue !== oldValue) {\n setStoredPage(pageStoreKey.value, newValue)\n emit('change')\n }\n }\n)\n\n// Leading edge only: the throttle is a click-spam guard, not a rate limiter. VueUse 15 flipped\n// `trailing` to true by default, which replays the last click once the window closes -- stepping\n// prev/next a second time, and past `lastPage`, because the queued callback never re-reads the\n// disabled state.\nconst onClickFirst = useThrottleFn(\n () => {\n pagination.value.page = 1\n },\n 300,\n false\n)\n\nconst onClickLast = useThrottleFn(\n () => {\n pagination.value.page = lastPage.value\n },\n 300,\n false\n)\n\nconst onClickPrev = useThrottleFn(\n () => {\n pagination.value.page = pagination.value.page - 1\n },\n 300,\n false\n)\n\nconst onClickNext = useThrottleFn(\n () => {\n pagination.value.page = pagination.value.page + 1\n },\n 300,\n false\n)\n</script>\n\n<template>\n <div class=\"anzu-data-footer\">\n <div\n v-if=\"!hideRecordsPerPage\"\n class=\"anzu-data-footer__page-limit\"\n >\n {{ t('common.system.datatable.itemsPerPage') }}:\n <VBtnToggle\n v-model=\"pagination.rowsPerPage\"\n class=\"ml-2\"\n density=\"compact\"\n mandatory\n data-cy=\"table-size\"\n >\n <VBtn\n v-for=\"item in itemsPerPageOptions\"\n :key=\"item\"\n :color=\"item === pagination.rowsPerPage ? 'secondary' : ''\"\n :value=\"item\"\n density=\"compact\"\n size=\"small\"\n variant=\"text\"\n >\n {{ item }}\n </VBtn>\n </VBtnToggle>\n </div>\n <div class=\"anzu-data-footer__pagination\">\n {{ displayedFrom }} - {{ displayedTo }} {{ t('common.system.datatable.from') }}\n {{ computedTotalCountText }}\n </div>\n <div class=\"anzu-data-footer__icons-before\">\n <VBtn\n :disabled=\"disabledFirstAndPrev\"\n icon=\"mdi-page-first\"\n :aria-label=\"t('$vuetify.pagination.ariaLabel.first')\"\n size=\"small\"\n variant=\"text\"\n @click.stop=\"onClickFirst\"\n />\n <VBtn\n :disabled=\"disabledFirstAndPrev\"\n icon=\"mdi-chevron-left\"\n :aria-label=\"t('$vuetify.pagination.ariaLabel.previous')\"\n size=\"small\"\n variant=\"text\"\n @click.stop=\"onClickPrev\"\n />\n </div>\n <div class=\"current-page\">\n <span>{{ pagination.page }}</span>\n </div>\n <div class=\"anzu-data-footer__icons-after\">\n <VBtn\n :disabled=\"disabledNext\"\n icon=\"mdi-chevron-right\"\n :aria-label=\"t('$vuetify.pagination.ariaLabel.next')\"\n size=\"small\"\n variant=\"text\"\n @click.stop=\"onClickNext\"\n />\n <VBtn\n :disabled=\"disabledLast\"\n icon=\"mdi-page-last\"\n :aria-label=\"t('$vuetify.pagination.ariaLabel.last')\"\n size=\"small\"\n variant=\"text\"\n @click.stop=\"onClickLast\"\n />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\">\n.anzu-data-footer {\n margin-top: 10px;\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n align-items: center;\n font-size: 0.75rem;\n padding: 0 8px;\n\n > div.current-page {\n padding-left: 10px;\n padding-right: 10px;\n user-select: none;\n min-width: 40px;\n display: flex;\n text-align: center;\n align-items: center;\n justify-content: center;\n }\n\n &__page-limit {\n display: flex;\n align-items: center;\n flex: 0 0 0;\n justify-content: flex-end;\n white-space: nowrap;\n margin-right: 14px;\n }\n\n &__pagination {\n display: block;\n text-align: center;\n margin: 0 32px 0 24px;\n }\n}\n</style>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ADatatablePagination.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_createTextVNode","_toDisplayString","_unref","_createVNode","_component_VBtnToggle","_withCtx","_Fragment","_renderList","_createBlock","_component_VBtn","_createCommentVNode","_createElementVNode","_withModifiers","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","ADatatablePagination_vue_vue_type_script_setup_true_lang_default","__emit","emit","pagination","inject","DatatablePaginationKey","isUndefined","useI18n","useDatatablePageStore","providedPageKey","DatatablePageStoreKey","filterConfig","FilterConfigKey","pageStoreKey","computed","datatablePageKey","lastPage","displayedFrom","displayedTo","disabledFirstAndPrev","disabledLast","isNull","disabledNext","computedTotalCountText","page","rowsPerPage","oldPage","oldRowsPerPage","setStoredPage","onClickFirst","useThrottleFn","onClickLast","onClickPrev","onClickNext","openBlock","createElementBlock","__props","createCommentVNode","createTextVNode","toDisplayString","unref","t","createVNode","VBtnToggle","_cache","$event","withCtx","Fragment","renderList","createBlock","VBtn","item","createElementVNode","withModifiers"],"sources":["../../../../../src/domains/filters/datatable/components/ADatatablePagination.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, inject, watch } from 'vue'\nimport { isNull, isUndefined } from '@/shared/utils/common'\nimport { useI18n } from 'vue-i18n'\nimport {\n DatatablePageStoreKey,\n DatatablePaginationKey,\n FilterConfigKey,\n} from '@/domains/filters/utils/filterInjectionKeys'\nimport { useThrottleFn } from '@vueuse/core'\nimport { datatablePageKey, useDatatablePageStore } from '@/domains/system/store/datatablePageStore'\n\nwithDefaults(\n defineProps<{\n itemsPerPageOptions?: number[]\n hideRecordsPerPage?: boolean\n }>(),\n {\n itemsPerPageOptions: () => [10, 25, 50],\n hideRecordsPerPage: false,\n }\n)\nconst emit = defineEmits<{\n (e: 'change'): void\n}>()\n\nconst pagination = inject(DatatablePaginationKey)\n\nif (isUndefined(pagination)) {\n throw new Error('Incorrect provide/inject config.')\n}\n\nconst { t } = useI18n()\nconst { setStoredPage } = useDatatablePageStore()\n\n// `useFilterHelpers` provides the key, so tables sharing a system/subject stay apart.\n// Both are optional. A datatable providing pagination without them uses the shared bucket.\nconst providedPageKey = inject(DatatablePageStoreKey, undefined)\nconst filterConfig = inject(FilterConfigKey, undefined)\nconst pageStoreKey = computed(\n () => providedPageKey ?? datatablePageKey(filterConfig?.general.system, filterConfig?.general.subject)\n)\n\nconst lastPage = computed(() => {\n return Math.ceil(pagination.value.totalCount / pagination.value.rowsPerPage)\n})\n\nconst displayedFrom = computed(() => {\n return pagination.value.page * pagination.value.rowsPerPage - pagination.value.rowsPerPage + 1\n})\n\nconst displayedTo = computed(() => {\n return (\n pagination.value.page * pagination.value.rowsPerPage -\n pagination.value.rowsPerPage +\n pagination.value.currentViewCount\n )\n})\n\nconst disabledFirstAndPrev = computed(() => {\n return pagination.value.page === 1\n})\n\n// `>=`, not `===`. An empty list has `lastPage` 0 while `page` is at least 1, so they never meet.\n// The same holds before the first request.\nconst disabledLast = computed(() => {\n return !isNull(pagination.value.hasNextPage) || pagination.value.page >= lastPage.value\n})\n\nconst disabledNext = computed(() => {\n return (\n (isNull(pagination.value.hasNextPage) && pagination.value.page >= lastPage.value) ||\n pagination.value.hasNextPage === false\n )\n})\n\nconst computedTotalCountText = computed(() => {\n if (!isNull(pagination.value.hasNextPage)) {\n return pagination.value.hasNextPage ? displayedTo.value + 1 + '+' : displayedTo.value\n }\n return pagination.value.totalCount\n})\n\n// One watcher for both. A restore after Close sets the page and the rows per page together, and a separate\n// rows watcher put that page back to 1. Rows per page changed alone (the toggle) still start on page 1.\nwatch(\n [() => pagination.value.page, () => pagination.value.rowsPerPage],\n ([page, rowsPerPage], [oldPage, oldRowsPerPage]) => {\n if (rowsPerPage !== oldRowsPerPage && page === oldPage && page !== 1) {\n // Runs this watcher again for the page, which stores it and emits once.\n pagination.value.page = 1\n return\n }\n setStoredPage(pageStoreKey.value, page, rowsPerPage)\n emit('change')\n }\n)\n\n// Leading edge only. The throttle guards against click spam.\n// VueUse 15 defaults `trailing` to true, which replays the last click and can step\n// past `lastPage`, because the queued callback does not recheck the disabled state.\nconst onClickFirst = useThrottleFn(\n () => {\n pagination.value.page = 1\n },\n 300,\n false\n)\n\nconst onClickLast = useThrottleFn(\n () => {\n pagination.value.page = lastPage.value\n },\n 300,\n false\n)\n\nconst onClickPrev = useThrottleFn(\n () => {\n pagination.value.page = pagination.value.page - 1\n },\n 300,\n false\n)\n\nconst onClickNext = useThrottleFn(\n () => {\n pagination.value.page = pagination.value.page + 1\n },\n 300,\n false\n)\n</script>\n\n<template>\n <div class=\"anzu-data-footer\">\n <div\n v-if=\"!hideRecordsPerPage\"\n class=\"anzu-data-footer__page-limit\"\n >\n {{ t('common.system.datatable.itemsPerPage') }}:\n <VBtnToggle\n v-model=\"pagination.rowsPerPage\"\n class=\"ml-2\"\n density=\"compact\"\n mandatory\n data-cy=\"table-size\"\n >\n <VBtn\n v-for=\"item in itemsPerPageOptions\"\n :key=\"item\"\n :color=\"item === pagination.rowsPerPage ? 'secondary' : ''\"\n :value=\"item\"\n density=\"compact\"\n size=\"small\"\n variant=\"text\"\n >\n {{ item }}\n </VBtn>\n </VBtnToggle>\n </div>\n <div class=\"anzu-data-footer__pagination\">\n {{ displayedFrom }} - {{ displayedTo }} {{ t('common.system.datatable.from') }}\n {{ computedTotalCountText }}\n </div>\n <div class=\"anzu-data-footer__icons-before\">\n <VBtn\n :disabled=\"disabledFirstAndPrev\"\n icon=\"mdi-page-first\"\n :aria-label=\"t('$vuetify.pagination.ariaLabel.first')\"\n size=\"small\"\n variant=\"text\"\n @click.stop=\"onClickFirst\"\n />\n <VBtn\n :disabled=\"disabledFirstAndPrev\"\n icon=\"mdi-chevron-left\"\n :aria-label=\"t('$vuetify.pagination.ariaLabel.previous')\"\n size=\"small\"\n variant=\"text\"\n @click.stop=\"onClickPrev\"\n />\n </div>\n <div class=\"current-page\">\n <span>{{ pagination.page }}</span>\n </div>\n <div class=\"anzu-data-footer__icons-after\">\n <VBtn\n :disabled=\"disabledNext\"\n icon=\"mdi-chevron-right\"\n :aria-label=\"t('$vuetify.pagination.ariaLabel.next')\"\n size=\"small\"\n variant=\"text\"\n @click.stop=\"onClickNext\"\n />\n <VBtn\n :disabled=\"disabledLast\"\n icon=\"mdi-page-last\"\n :aria-label=\"t('$vuetify.pagination.ariaLabel.last')\"\n size=\"small\"\n variant=\"text\"\n @click.stop=\"onClickLast\"\n />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\">\n.anzu-data-footer {\n margin-top: 10px;\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n align-items: center;\n font-size: 0.75rem;\n padding: 0 8px;\n\n > div.current-page {\n padding-left: 10px;\n padding-right: 10px;\n user-select: none;\n min-width: 40px;\n display: flex;\n text-align: center;\n align-items: center;\n justify-content: center;\n }\n\n &__page-limit {\n display: flex;\n align-items: center;\n flex: 0 0 0;\n justify-content: flex-end;\n white-space: nowrap;\n margin-right: 14px;\n }\n\n &__pagination {\n display: block;\n text-align: center;\n margin: 0 32px 0 24px;\n }\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterInjectionKeys.js","names":["FilterDataKey","FilterConfigKey","FilterInnerDataKey","FilterInnerConfigKey","FilterSubmitResetCounterKey","FilterSelectedKey","DatatablePaginationKey","SubjectSelectCloseSidebarKey","DatatablePageStoreKey"],"sources":["../../../../src/domains/filters/utils/filterInjectionKeys.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue'\nimport type { FilterConfig, FilterData } from '@/domains/filters/composables/filterFactory'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport type { Pagination } from '@/domains/api/composables/pagination'\n\nexport const FilterDataKey: InjectionKey<FilterData> = Symbol.for('anzu:FilterDataKey')\nexport const FilterConfigKey: InjectionKey<FilterConfig> = Symbol.for('anzu:FilterConfigKey')\n\nexport const FilterInnerDataKey: InjectionKey<FilterData> = Symbol.for('anzu:FilterInnerDataKey')\nexport const FilterInnerConfigKey: InjectionKey<FilterConfig> = Symbol.for('anzu:FilterInnerConfigKey')\n\nexport const FilterSubmitResetCounterKey: InjectionKey<Ref<number>> = Symbol.for('anzu:FilterSubmitResetCounterKey')\nexport const FilterSelectedKey: InjectionKey<Ref<Map<string, ValueObjectOption<string | number>[]>>> =\n Symbol.for('anzu:FilterSelectedKey')\n\nexport const DatatablePaginationKey: InjectionKey<Ref<Pagination>> = Symbol.for('anzu:DatatablePaginationKey')\n\nexport const SubjectSelectCloseSidebarKey: InjectionKey<() => void> = Symbol.for('anzu:SubjectSelectCloseSidebarKey')\n\n//
|
|
1
|
+
{"version":3,"file":"filterInjectionKeys.js","names":["FilterDataKey","FilterConfigKey","FilterInnerDataKey","FilterInnerConfigKey","FilterSubmitResetCounterKey","FilterSelectedKey","DatatablePaginationKey","SubjectSelectCloseSidebarKey","DatatablePageStoreKey"],"sources":["../../../../src/domains/filters/utils/filterInjectionKeys.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue'\nimport type { FilterConfig, FilterData } from '@/domains/filters/composables/filterFactory'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport type { Pagination } from '@/domains/api/composables/pagination'\n\nexport const FilterDataKey: InjectionKey<FilterData> = Symbol.for('anzu:FilterDataKey')\nexport const FilterConfigKey: InjectionKey<FilterConfig> = Symbol.for('anzu:FilterConfigKey')\n\nexport const FilterInnerDataKey: InjectionKey<FilterData> = Symbol.for('anzu:FilterInnerDataKey')\nexport const FilterInnerConfigKey: InjectionKey<FilterConfig> = Symbol.for('anzu:FilterInnerConfigKey')\n\nexport const FilterSubmitResetCounterKey: InjectionKey<Ref<number>> = Symbol.for('anzu:FilterSubmitResetCounterKey')\nexport const FilterSelectedKey: InjectionKey<Ref<Map<string, ValueObjectOption<string | number>[]>>> =\n Symbol.for('anzu:FilterSelectedKey')\n\nexport const DatatablePaginationKey: InjectionKey<Ref<Pagination>> = Symbol.for('anzu:DatatablePaginationKey')\n\nexport const SubjectSelectCloseSidebarKey: InjectionKey<() => void> = Symbol.for('anzu:SubjectSelectCloseSidebarKey')\n\n// Key for a datatable's remembered page. `useFilterHelpers` provides it so\n// `ADatatablePagination` writes under the key `loadStoredFilters` reads.\n// Several tables can share one system/subject (cms has seven for\n// `cms/article`). They differ by overriding `storeFiltersLocalStorage`.\nexport const DatatablePageStoreKey: InjectionKey<string> = Symbol.for('anzu:DatatablePageStoreKey')\n"],"mappings":";AAKA,IAAaA,IAA0C,OAAO,IAAI,oBAAoB,GACzEC,IAA8C,OAAO,IAAI,sBAAsB,GAE/EC,IAA+C,OAAO,IAAI,yBAAyB,GACnFC,IAAmD,OAAO,IAAI,2BAA2B,GAEzFC,IAAyD,OAAO,IAAI,kCAAkC,GACtGC,IACX,OAAO,IAAI,wBAAwB,GAExBC,IAAwD,OAAO,IAAI,6BAA6B,GAEhGC,IAAyD,OAAO,IAAI,mCAAmC,GAMvGC,IAA8C,OAAO,IAAI,4BAA4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AFormDatetimePicker.js","names":["_sfc_main","AFormDatetimePicker_vue_vue_type_script_setup_true_lang_default","AFormDatetimePicker_default"],"sources":["../../../../src/domains/form/components/AFormDatetimePicker.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { AFormFieldValidation } from '@/shared/types/Validation'\nimport { computed, inject, nextTick, ref, watch, unref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { SubjectScopeKey, SystemScopeKey } from '@/shared/injectionKeys'\nimport { isDefined, isUndefined } from '@/shared/utils/common'\nimport { stringSplitOnFirstOccurrence } from '@/shared/utils/string'\nimport type { DatetimeUTCNullable, IntegerIdNullable } from '@/shared/types/common'\nimport type { CollabComponentConfig, CollabFieldData } from '@/domains/collab/types/Collab'\nimport { useCollabField } from '@/domains/collab/composables/collabField'\nimport ACollabLockedByUser from '@/domains/collab/components/ACollabLockedByUser.vue'\nimport { useCommonAdminCollabOptions } from '@/domains/collab/composables/commonAdminCollabOptions'\nimport ADatetimePicker from '@/domains/ui/datetime/components/ADatetimePicker.vue'\nimport type { DatetimePickerType } from '@/shared/utils/datetimePickerValue'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: DatetimeUTCNullable | undefined\n type?: DatetimePickerType\n label?: string\n errorMessage?: string\n required?: boolean\n v?: AFormFieldValidation | null\n dataCy?: string\n clearable?: boolean\n collab?: CollabComponentConfig\n disabled?: boolean\n readonly?: boolean\n }>(),\n {\n type: 'datetime',\n label: undefined,\n errorMessage: undefined,\n required: undefined,\n v: null,\n dataCy: undefined,\n clearable: false,\n collab: undefined,\n disabled: undefined,\n readonly: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: DatetimeUTCNullable | undefined): void\n (e: 'click:append', data: string | number | null | undefined): void\n (e: 'blur', data: string | number | null | undefined): void\n (e: 'focus', data: string | number | null | undefined): void\n}>()\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue: DatetimeUTCNullable | undefined) {\n emit('update:modelValue', 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 isOpened = ref(false)\nconst isFocused = ref(false)\n\nconst onOpen = () => {\n isOpened.value = true\n acquireFieldLock.value()\n}\n\nconst onClose = () => {\n isOpened.value = false\n // The picker emits close before its watchers flush the picked value into the model.\n nextTick(() => {\n releaseFieldLock.value(props.modelValue)\n })\n}\n\nconst { t } = useI18n()\n\nconst system = inject<string | undefined>(SystemScopeKey, undefined)\nconst subject = inject<string | undefined>(SubjectScopeKey, undefined)\n\nconst onBlur = () => {\n props.v?.$touch()\n // The picker commits a typed value in a watcher that runs after this event
|
|
1
|
+
{"version":3,"file":"AFormDatetimePicker.js","names":["_sfc_main","AFormDatetimePicker_vue_vue_type_script_setup_true_lang_default","AFormDatetimePicker_default"],"sources":["../../../../src/domains/form/components/AFormDatetimePicker.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { AFormFieldValidation } from '@/shared/types/Validation'\nimport { computed, inject, nextTick, ref, watch, unref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { SubjectScopeKey, SystemScopeKey } from '@/shared/injectionKeys'\nimport { isDefined, isUndefined } from '@/shared/utils/common'\nimport { stringSplitOnFirstOccurrence } from '@/shared/utils/string'\nimport type { DatetimeUTCNullable, IntegerIdNullable } from '@/shared/types/common'\nimport type { CollabComponentConfig, CollabFieldData } from '@/domains/collab/types/Collab'\nimport { useCollabField } from '@/domains/collab/composables/collabField'\nimport ACollabLockedByUser from '@/domains/collab/components/ACollabLockedByUser.vue'\nimport { useCommonAdminCollabOptions } from '@/domains/collab/composables/commonAdminCollabOptions'\nimport ADatetimePicker from '@/domains/ui/datetime/components/ADatetimePicker.vue'\nimport type { DatetimePickerType } from '@/shared/utils/datetimePickerValue'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: DatetimeUTCNullable | undefined\n type?: DatetimePickerType\n label?: string\n errorMessage?: string\n required?: boolean\n v?: AFormFieldValidation | null\n dataCy?: string\n clearable?: boolean\n collab?: CollabComponentConfig\n disabled?: boolean\n readonly?: boolean\n }>(),\n {\n type: 'datetime',\n label: undefined,\n errorMessage: undefined,\n required: undefined,\n v: null,\n dataCy: undefined,\n clearable: false,\n collab: undefined,\n disabled: undefined,\n readonly: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: DatetimeUTCNullable | undefined): void\n (e: 'click:append', data: string | number | null | undefined): void\n (e: 'blur', data: string | number | null | undefined): void\n (e: 'focus', data: string | number | null | undefined): void\n}>()\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue: DatetimeUTCNullable | undefined) {\n emit('update:modelValue', 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 isOpened = ref(false)\nconst isFocused = ref(false)\n\nconst onOpen = () => {\n isOpened.value = true\n acquireFieldLock.value()\n}\n\nconst onClose = () => {\n isOpened.value = false\n // The picker emits close before its watchers flush the picked value into the model.\n nextTick(() => {\n releaseFieldLock.value(props.modelValue)\n })\n}\n\nconst { t } = useI18n()\n\nconst system = inject<string | undefined>(SystemScopeKey, undefined)\nconst subject = inject<string | undefined>(SubjectScopeKey, undefined)\n\nconst onBlur = () => {\n props.v?.$touch()\n // The picker commits a typed value in a watcher that runs after this event.\n // Releasing the lock now would send the previous value, and clearing `isFocused` would skip the change.\n nextTick(() => {\n isFocused.value = false\n emit('blur', isUndefined(props.modelValue) ? null : props.modelValue)\n if (isOpened.value === false) releaseFieldLock.value(props.modelValue)\n })\n}\n\nconst onFocus = () => {\n isFocused.value = true\n emit('focus', props.modelValue)\n acquireFieldLock.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)).join(' ')]\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 if ((props.v?.required as { $params?: { type?: string } } | undefined)?.$params?.type === 'required') return true\n return false\n})\n\nconst disabledComputed = computed(() => {\n if (isDefined(props.disabled)) return props.disabled\n return !!lockedByUserLocal.value\n})\n\nwatch(modelValueComputed, (newValue, oldValue) => {\n if (newValue === oldValue) return\n if (collabOptions.value.enabled && (isFocused.value || isOpened.value)) {\n changeFieldData.value(newValue)\n }\n})\n</script>\n\n<template>\n <ADatetimePicker\n v-model=\"modelValueComputed\"\n :type=\"type\"\n :data-cy=\"dataCy\"\n :error-messages=\"errorMessageComputed\"\n :required=\"requiredComputed\"\n :disabled=\"disabledComputed\"\n :readonly=\"readonly\"\n :label=\"labelComputed\"\n :clearable=\"clearable\"\n v-bind=\"$attrs\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @open=\"onOpen\"\n @close=\"onClose\"\n >\n <template #append-inner>\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 </ADatetimePicker>\n</template>\n"],"mappings":""}
|
|
@@ -15,12 +15,14 @@ type __VLS_Props = {
|
|
|
15
15
|
disabled?: boolean;
|
|
16
16
|
readonly?: boolean;
|
|
17
17
|
};
|
|
18
|
-
declare
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
declare const __VLS_template: () => {
|
|
19
|
+
__VLS_Slots: {
|
|
20
|
+
locked?: (props: {
|
|
21
|
+
userId: IntegerIdNullable;
|
|
22
|
+
}) => any;
|
|
23
|
+
};
|
|
23
24
|
};
|
|
25
|
+
type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
|
|
24
26
|
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
25
27
|
"update:modelValue": (data: DatetimeUTCNullable | undefined) => any;
|
|
26
28
|
blur: (data: string | number | null | undefined) => any;
|
package/dist/domains/form/components/AFormDatetimePicker.vue_vue_type_script_setup_true_lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AFormDatetimePicker.vue_vue_type_script_setup_true_lang.js","names":["$attrs","_openBlock","_createBlock","ADatetimePicker","_mergeProps","_withCtx","_renderSlot","ACollabLockedByUser","_createCommentVNode","ACollabLockedByUser_default","ADatetimePicker_default","AFormDatetimePicker_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","modelValueComputed","computed","newValue","useCommonAdminCollabOptions","releaseFieldLock","ref","changeFieldData","acquireFieldLock","lockedByUserLocal","collabOptions","isDefined","useCollabField","releaseCollabFieldLock","changeCollabFieldData","acquireCollabFieldLock","watch","lockedByUser","isOpened","isFocused","onOpen","onClose","nextTick","useI18n","system","inject","SystemScopeKey","subject","SubjectScopeKey","onBlur","isUndefined","onFocus","errorMessageComputed","unref","item","labelComputed","path","stringSplitOnFirstOccurrence","t","requiredComputed","disabledComputed","oldValue","openBlock","createBlock","mergeProps","_cache","$event","_ctx","withCtx","renderSlot","createCommentVNode"],"sources":["../../../../src/domains/form/components/AFormDatetimePicker.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { AFormFieldValidation } from '@/shared/types/Validation'\nimport { computed, inject, nextTick, ref, watch, unref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { SubjectScopeKey, SystemScopeKey } from '@/shared/injectionKeys'\nimport { isDefined, isUndefined } from '@/shared/utils/common'\nimport { stringSplitOnFirstOccurrence } from '@/shared/utils/string'\nimport type { DatetimeUTCNullable, IntegerIdNullable } from '@/shared/types/common'\nimport type { CollabComponentConfig, CollabFieldData } from '@/domains/collab/types/Collab'\nimport { useCollabField } from '@/domains/collab/composables/collabField'\nimport ACollabLockedByUser from '@/domains/collab/components/ACollabLockedByUser.vue'\nimport { useCommonAdminCollabOptions } from '@/domains/collab/composables/commonAdminCollabOptions'\nimport ADatetimePicker from '@/domains/ui/datetime/components/ADatetimePicker.vue'\nimport type { DatetimePickerType } from '@/shared/utils/datetimePickerValue'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: DatetimeUTCNullable | undefined\n type?: DatetimePickerType\n label?: string\n errorMessage?: string\n required?: boolean\n v?: AFormFieldValidation | null\n dataCy?: string\n clearable?: boolean\n collab?: CollabComponentConfig\n disabled?: boolean\n readonly?: boolean\n }>(),\n {\n type: 'datetime',\n label: undefined,\n errorMessage: undefined,\n required: undefined,\n v: null,\n dataCy: undefined,\n clearable: false,\n collab: undefined,\n disabled: undefined,\n readonly: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: DatetimeUTCNullable | undefined): void\n (e: 'click:append', data: string | number | null | undefined): void\n (e: 'blur', data: string | number | null | undefined): void\n (e: 'focus', data: string | number | null | undefined): void\n}>()\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue: DatetimeUTCNullable | undefined) {\n emit('update:modelValue', 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 isOpened = ref(false)\nconst isFocused = ref(false)\n\nconst onOpen = () => {\n isOpened.value = true\n acquireFieldLock.value()\n}\n\nconst onClose = () => {\n isOpened.value = false\n // The picker emits close before its watchers flush the picked value into the model.\n nextTick(() => {\n releaseFieldLock.value(props.modelValue)\n })\n}\n\nconst { t } = useI18n()\n\nconst system = inject<string | undefined>(SystemScopeKey, undefined)\nconst subject = inject<string | undefined>(SubjectScopeKey, undefined)\n\nconst onBlur = () => {\n props.v?.$touch()\n // The picker commits a typed value in a watcher that runs after this event
|
|
1
|
+
{"version":3,"file":"AFormDatetimePicker.vue_vue_type_script_setup_true_lang.js","names":["$attrs","_openBlock","_createBlock","ADatetimePicker","_mergeProps","_withCtx","_renderSlot","ACollabLockedByUser","_createCommentVNode","ACollabLockedByUser_default","ADatetimePicker_default","AFormDatetimePicker_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","modelValueComputed","computed","newValue","useCommonAdminCollabOptions","releaseFieldLock","ref","changeFieldData","acquireFieldLock","lockedByUserLocal","collabOptions","isDefined","useCollabField","releaseCollabFieldLock","changeCollabFieldData","acquireCollabFieldLock","watch","lockedByUser","isOpened","isFocused","onOpen","onClose","nextTick","useI18n","system","inject","SystemScopeKey","subject","SubjectScopeKey","onBlur","isUndefined","onFocus","errorMessageComputed","unref","item","labelComputed","path","stringSplitOnFirstOccurrence","t","requiredComputed","disabledComputed","oldValue","openBlock","createBlock","mergeProps","_cache","$event","_ctx","withCtx","renderSlot","createCommentVNode"],"sources":["../../../../src/domains/form/components/AFormDatetimePicker.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { AFormFieldValidation } from '@/shared/types/Validation'\nimport { computed, inject, nextTick, ref, watch, unref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { SubjectScopeKey, SystemScopeKey } from '@/shared/injectionKeys'\nimport { isDefined, isUndefined } from '@/shared/utils/common'\nimport { stringSplitOnFirstOccurrence } from '@/shared/utils/string'\nimport type { DatetimeUTCNullable, IntegerIdNullable } from '@/shared/types/common'\nimport type { CollabComponentConfig, CollabFieldData } from '@/domains/collab/types/Collab'\nimport { useCollabField } from '@/domains/collab/composables/collabField'\nimport ACollabLockedByUser from '@/domains/collab/components/ACollabLockedByUser.vue'\nimport { useCommonAdminCollabOptions } from '@/domains/collab/composables/commonAdminCollabOptions'\nimport ADatetimePicker from '@/domains/ui/datetime/components/ADatetimePicker.vue'\nimport type { DatetimePickerType } from '@/shared/utils/datetimePickerValue'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: DatetimeUTCNullable | undefined\n type?: DatetimePickerType\n label?: string\n errorMessage?: string\n required?: boolean\n v?: AFormFieldValidation | null\n dataCy?: string\n clearable?: boolean\n collab?: CollabComponentConfig\n disabled?: boolean\n readonly?: boolean\n }>(),\n {\n type: 'datetime',\n label: undefined,\n errorMessage: undefined,\n required: undefined,\n v: null,\n dataCy: undefined,\n clearable: false,\n collab: undefined,\n disabled: undefined,\n readonly: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: DatetimeUTCNullable | undefined): void\n (e: 'click:append', data: string | number | null | undefined): void\n (e: 'blur', data: string | number | null | undefined): void\n (e: 'focus', data: string | number | null | undefined): void\n}>()\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue: DatetimeUTCNullable | undefined) {\n emit('update:modelValue', 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 isOpened = ref(false)\nconst isFocused = ref(false)\n\nconst onOpen = () => {\n isOpened.value = true\n acquireFieldLock.value()\n}\n\nconst onClose = () => {\n isOpened.value = false\n // The picker emits close before its watchers flush the picked value into the model.\n nextTick(() => {\n releaseFieldLock.value(props.modelValue)\n })\n}\n\nconst { t } = useI18n()\n\nconst system = inject<string | undefined>(SystemScopeKey, undefined)\nconst subject = inject<string | undefined>(SubjectScopeKey, undefined)\n\nconst onBlur = () => {\n props.v?.$touch()\n // The picker commits a typed value in a watcher that runs after this event.\n // Releasing the lock now would send the previous value, and clearing `isFocused` would skip the change.\n nextTick(() => {\n isFocused.value = false\n emit('blur', isUndefined(props.modelValue) ? null : props.modelValue)\n if (isOpened.value === false) releaseFieldLock.value(props.modelValue)\n })\n}\n\nconst onFocus = () => {\n isFocused.value = true\n emit('focus', props.modelValue)\n acquireFieldLock.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)).join(' ')]\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 if ((props.v?.required as { $params?: { type?: string } } | undefined)?.$params?.type === 'required') return true\n return false\n})\n\nconst disabledComputed = computed(() => {\n if (isDefined(props.disabled)) return props.disabled\n return !!lockedByUserLocal.value\n})\n\nwatch(modelValueComputed, (newValue, oldValue) => {\n if (newValue === oldValue) return\n if (collabOptions.value.enabled && (isFocused.value || isOpened.value)) {\n changeFieldData.value(newValue)\n }\n})\n</script>\n\n<template>\n <ADatetimePicker\n v-model=\"modelValueComputed\"\n :type=\"type\"\n :data-cy=\"dataCy\"\n :error-messages=\"errorMessageComputed\"\n :required=\"requiredComputed\"\n :disabled=\"disabledComputed\"\n :readonly=\"readonly\"\n :label=\"labelComputed\"\n :clearable=\"clearable\"\n v-bind=\"$attrs\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @open=\"onOpen\"\n @close=\"onClose\"\n >\n <template #append-inner>\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 </ADatetimePicker>\n</template>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AFormFlagDatetimePicker.js","names":["_sfc_main","AFormFlagDatetimePicker_vue_vue_type_script_setup_true_lang_default","AFormFlagDatetimePicker_default"],"sources":["../../../../src/domains/form/components/AFormFlagDatetimePicker.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { AFormFieldValidation } from '@/shared/types/Validation'\nimport { computed, inject, nextTick, ref, watch, unref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { SubjectScopeKey, SystemScopeKey } from '@/shared/injectionKeys'\nimport { isDefined, isFunction, isNull, isUndefined } from '@/shared/utils/common'\nimport { stringSplitOnFirstOccurrence } from '@/shared/utils/string'\nimport type { DatetimeUTCNullable, IntegerIdNullable } from '@/shared/types/common'\nimport { dateTimeNow } from '@/shared/utils/datetime'\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 ADatetimePicker from '@/domains/ui/datetime/components/ADatetimePicker.vue'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: DatetimeUTCNullable | undefined\n label?: string\n errorMessage?: string\n v?: AFormFieldValidation | null\n dataCy?: string\n clearable?: boolean\n defaultActivationValue?: DatetimeUTCNullable | 'now' | (() => DatetimeUTCNullable)\n collab?: CollabComponentConfig\n disabled?: boolean\n }>(),\n {\n label: undefined,\n errorMessage: undefined,\n v: null,\n dataCy: undefined,\n clearable: false,\n defaultActivationValue: 'now',\n collab: undefined,\n disabled: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: DatetimeUTCNullable | undefined): void\n (e: 'click:append', data: string | number | null): void\n (e: 'blur', data: string | number | null): void\n}>()\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue: DatetimeUTCNullable | undefined) {\n emit('update:modelValue', 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 { t } = useI18n()\n\nconst system = inject<string | undefined>(SystemScopeKey, undefined)\nconst subject = inject<string | undefined>(SubjectScopeKey, undefined)\n\nconst checkboxModel = ref(false)\nconst isFocused = ref(false)\nconst isOpened = ref(false)\n\nconst onBlur = () => {\n props.v?.$touch()\n // The picker commits a typed value in a watcher that runs after this event
|
|
1
|
+
{"version":3,"file":"AFormFlagDatetimePicker.js","names":["_sfc_main","AFormFlagDatetimePicker_vue_vue_type_script_setup_true_lang_default","AFormFlagDatetimePicker_default"],"sources":["../../../../src/domains/form/components/AFormFlagDatetimePicker.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { AFormFieldValidation } from '@/shared/types/Validation'\nimport { computed, inject, nextTick, ref, watch, unref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { SubjectScopeKey, SystemScopeKey } from '@/shared/injectionKeys'\nimport { isDefined, isFunction, isNull, isUndefined } from '@/shared/utils/common'\nimport { stringSplitOnFirstOccurrence } from '@/shared/utils/string'\nimport type { DatetimeUTCNullable, IntegerIdNullable } from '@/shared/types/common'\nimport { dateTimeNow } from '@/shared/utils/datetime'\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 ADatetimePicker from '@/domains/ui/datetime/components/ADatetimePicker.vue'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: DatetimeUTCNullable | undefined\n label?: string\n errorMessage?: string\n v?: AFormFieldValidation | null\n dataCy?: string\n clearable?: boolean\n defaultActivationValue?: DatetimeUTCNullable | 'now' | (() => DatetimeUTCNullable)\n collab?: CollabComponentConfig\n disabled?: boolean\n }>(),\n {\n label: undefined,\n errorMessage: undefined,\n v: null,\n dataCy: undefined,\n clearable: false,\n defaultActivationValue: 'now',\n collab: undefined,\n disabled: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: DatetimeUTCNullable | undefined): void\n (e: 'click:append', data: string | number | null): void\n (e: 'blur', data: string | number | null): void\n}>()\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue: DatetimeUTCNullable | undefined) {\n emit('update:modelValue', 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 { t } = useI18n()\n\nconst system = inject<string | undefined>(SystemScopeKey, undefined)\nconst subject = inject<string | undefined>(SubjectScopeKey, undefined)\n\nconst checkboxModel = ref(false)\nconst isFocused = ref(false)\nconst isOpened = ref(false)\n\nconst onBlur = () => {\n props.v?.$touch()\n // The picker commits a typed value in a watcher that runs after this event.\n // Releasing the lock now would send the previous value, and clearing `isFocused` would skip the change.\n nextTick(() => {\n isFocused.value = false\n emit('blur', isUndefined(props.modelValue) ? null : props.modelValue)\n if (isOpened.value === false) releaseFieldLock.value(props.modelValue)\n })\n}\n\nconst onFocus = () => {\n isFocused.value = true\n acquireFieldLock.value()\n}\n\nconst onOpen = () => {\n isOpened.value = true\n acquireFieldLock.value()\n}\n\nconst onClose = () => {\n isOpened.value = false\n // The picker emits close before its watchers flush the picked value into the model.\n nextTick(() => {\n releaseFieldLock.value(props.modelValue)\n })\n}\n\nconst errorMessageComputed = computed(() => {\n if (!isUndefined(props.errorMessage)) return [props.errorMessage]\n if (props.v?.$errors?.length) return [props.v.$errors.map((item) => unref(item.$message)).join(' ')]\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\nwatch(\n modelValueComputed,\n (newValue, oldValue) => {\n if (newValue === oldValue) return\n if (isNull(newValue) || isUndefined(newValue)) {\n checkboxModel.value = false\n return\n }\n checkboxModel.value = true\n },\n { immediate: true }\n)\n\n/**\n * @param oldValue state before click\n */\nconst onCheckboxClick = (oldValue: boolean) => {\n acquireFieldLock.value()\n setTimeout(() => {\n if (isFocused.value === false) releaseFieldLock.value(props.modelValue)\n }, 500)\n if (oldValue) {\n modelValueComputed.value = null\n return\n }\n if (props.defaultActivationValue === 'now') {\n modelValueComputed.value = dateTimeNow()\n return\n }\n if (isFunction(props.defaultActivationValue)) {\n modelValueComputed.value = props.defaultActivationValue()\n return\n }\n modelValueComputed.value = props.defaultActivationValue\n}\n\nconst disabledComputed = computed(() => {\n if (isDefined(props.disabled)) return props.disabled\n return !!lockedByUserLocal.value\n})\n\nwatch(modelValueComputed, (newValue, oldValue) => {\n if (newValue === oldValue) return\n if (collabOptions.value.enabled && (isFocused.value || isOpened.value)) {\n changeFieldData.value(newValue)\n }\n})\n</script>\n\n<template>\n <div class=\"d-flex justify-space-between\">\n <VCheckboxBtn\n v-model=\"checkboxModel\"\n :label=\"labelComputed\"\n :disabled=\"disabledComputed\"\n @click.stop=\"onCheckboxClick(checkboxModel)\"\n />\n <div style=\"opacity: 0.5\">\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 </div>\n </div>\n <VExpandTransition>\n <div v-show=\"checkboxModel\">\n <ADatetimePicker\n v-model=\"modelValueComputed\"\n :data-cy=\"dataCy\"\n :error-messages=\"errorMessageComputed\"\n :clearable=\"clearable\"\n :disabled=\"disabledComputed\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n @open=\"onOpen\"\n @close=\"onClose\"\n >\n <template #append-inner />\n </ADatetimePicker>\n </div>\n </VExpandTransition>\n</template>\n"],"mappings":""}
|
|
@@ -12,12 +12,14 @@ type __VLS_Props = {
|
|
|
12
12
|
collab?: CollabComponentConfig;
|
|
13
13
|
disabled?: boolean;
|
|
14
14
|
};
|
|
15
|
-
declare
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
declare const __VLS_template: () => {
|
|
16
|
+
__VLS_Slots: {
|
|
17
|
+
locked?: (props: {
|
|
18
|
+
userId: IntegerIdNullable;
|
|
19
|
+
}) => any;
|
|
20
|
+
};
|
|
20
21
|
};
|
|
22
|
+
type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
|
|
21
23
|
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
22
24
|
"update:modelValue": (data: DatetimeUTCNullable | undefined) => any;
|
|
23
25
|
blur: (data: string | number | null) => any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AFormFlagDatetimePicker.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_Fragment","_createElementVNode","_createVNode","_component_VCheckboxBtn","_withModifiers","_renderSlot","_createBlock","ACollabLockedByUser","_createCommentVNode","_component_VExpandTransition","_withCtx","_withDirectives","ADatetimePicker","_vShow","ACollabLockedByUser_default","ADatetimePicker_default","_hoisted_1","_hoisted_2","\"opacity\"","AFormFlagDatetimePicker_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","modelValueComputed","computed","newValue","useCommonAdminCollabOptions","releaseFieldLock","ref","changeFieldData","acquireFieldLock","lockedByUserLocal","collabOptions","isDefined","useCollabField","releaseCollabFieldLock","changeCollabFieldData","acquireCollabFieldLock","watch","lockedByUser","useI18n","system","inject","SystemScopeKey","subject","SubjectScopeKey","checkboxModel","isFocused","isOpened","onBlur","nextTick","isUndefined","onFocus","onOpen","onClose","errorMessageComputed","unref","item","labelComputed","path","stringSplitOnFirstOccurrence","t","oldValue","isNull","onCheckboxClick","dateTimeNow","isFunction","disabledComputed","openBlock","createElementBlock","Fragment","createElementVNode","createVNode","VCheckboxBtn","_cache","$event","withModifiers","renderSlot","_ctx","createBlock","createCommentVNode","VExpandTransition","withCtx","withDirectives","vShow"],"sources":["../../../../src/domains/form/components/AFormFlagDatetimePicker.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { AFormFieldValidation } from '@/shared/types/Validation'\nimport { computed, inject, nextTick, ref, watch, unref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { SubjectScopeKey, SystemScopeKey } from '@/shared/injectionKeys'\nimport { isDefined, isFunction, isNull, isUndefined } from '@/shared/utils/common'\nimport { stringSplitOnFirstOccurrence } from '@/shared/utils/string'\nimport type { DatetimeUTCNullable, IntegerIdNullable } from '@/shared/types/common'\nimport { dateTimeNow } from '@/shared/utils/datetime'\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 ADatetimePicker from '@/domains/ui/datetime/components/ADatetimePicker.vue'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: DatetimeUTCNullable | undefined\n label?: string\n errorMessage?: string\n v?: AFormFieldValidation | null\n dataCy?: string\n clearable?: boolean\n defaultActivationValue?: DatetimeUTCNullable | 'now' | (() => DatetimeUTCNullable)\n collab?: CollabComponentConfig\n disabled?: boolean\n }>(),\n {\n label: undefined,\n errorMessage: undefined,\n v: null,\n dataCy: undefined,\n clearable: false,\n defaultActivationValue: 'now',\n collab: undefined,\n disabled: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: DatetimeUTCNullable | undefined): void\n (e: 'click:append', data: string | number | null): void\n (e: 'blur', data: string | number | null): void\n}>()\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue: DatetimeUTCNullable | undefined) {\n emit('update:modelValue', 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 { t } = useI18n()\n\nconst system = inject<string | undefined>(SystemScopeKey, undefined)\nconst subject = inject<string | undefined>(SubjectScopeKey, undefined)\n\nconst checkboxModel = ref(false)\nconst isFocused = ref(false)\nconst isOpened = ref(false)\n\nconst onBlur = () => {\n props.v?.$touch()\n // The picker commits a typed value in a watcher that runs after this event, so releasing the lock\n // here would hand the room the previous value - and clearing `isFocused` would skip the change.\n nextTick(() => {\n isFocused.value = false\n emit('blur', isUndefined(props.modelValue) ? null : props.modelValue)\n if (isOpened.value === false) releaseFieldLock.value(props.modelValue)\n })\n}\n\nconst onFocus = () => {\n isFocused.value = true\n acquireFieldLock.value()\n}\n\nconst onOpen = () => {\n isOpened.value = true\n acquireFieldLock.value()\n}\n\nconst onClose = () => {\n isOpened.value = false\n // The picker emits close before its watchers flush the picked value into the model.\n nextTick(() => {\n releaseFieldLock.value(props.modelValue)\n })\n}\n\nconst errorMessageComputed = computed(() => {\n if (!isUndefined(props.errorMessage)) return [props.errorMessage]\n if (props.v?.$errors?.length) return [props.v.$errors.map((item) => unref(item.$message)).join(' ')]\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\nwatch(\n modelValueComputed,\n (newValue, oldValue) => {\n if (newValue === oldValue) return\n if (isNull(newValue) || isUndefined(newValue)) {\n checkboxModel.value = false\n return\n }\n checkboxModel.value = true\n },\n { immediate: true }\n)\n\n/**\n * @param oldValue state before click\n */\nconst onCheckboxClick = (oldValue: boolean) => {\n acquireFieldLock.value()\n setTimeout(() => {\n if (isFocused.value === false) releaseFieldLock.value(props.modelValue)\n }, 500)\n if (oldValue) {\n modelValueComputed.value = null\n return\n }\n if (props.defaultActivationValue === 'now') {\n modelValueComputed.value = dateTimeNow()\n return\n }\n if (isFunction(props.defaultActivationValue)) {\n modelValueComputed.value = props.defaultActivationValue()\n return\n }\n modelValueComputed.value = props.defaultActivationValue\n}\n\nconst disabledComputed = computed(() => {\n if (isDefined(props.disabled)) return props.disabled\n return !!lockedByUserLocal.value\n})\n\nwatch(modelValueComputed, (newValue, oldValue) => {\n if (newValue === oldValue) return\n if (collabOptions.value.enabled && (isFocused.value || isOpened.value)) {\n changeFieldData.value(newValue)\n }\n})\n</script>\n\n<template>\n <div class=\"d-flex justify-space-between\">\n <VCheckboxBtn\n v-model=\"checkboxModel\"\n :label=\"labelComputed\"\n :disabled=\"disabledComputed\"\n @click.stop=\"onCheckboxClick(checkboxModel)\"\n />\n <div style=\"opacity: 0.5\">\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 </div>\n </div>\n <VExpandTransition>\n <div v-show=\"checkboxModel\">\n <ADatetimePicker\n v-model=\"modelValueComputed\"\n :data-cy=\"dataCy\"\n :error-messages=\"errorMessageComputed\"\n :clearable=\"clearable\"\n :disabled=\"disabledComputed\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n @open=\"onOpen\"\n @close=\"onClose\"\n >\n <template #append-inner />\n </ADatetimePicker>\n </div>\n </VExpandTransition>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAeA,IAAMuB,IAAQC,GAuBRC,IAAOH,GAMPI,IAAqBC,EAAS;GAClC,MAAM;IACJ,OAAOJ,EAAM;GACf;GACA,IAAI,GAA2C;IAC7C,EAAK,qBAAqBK,CAAQ;GACpC;EACF,CAAC,GAGK,EAAE,qBAAkBC,EAA4B,GAEhDC,IAAmBC,GAAK,MAA0B,CAAC,CAAC,GAEpDC,IAAkBD,GAAK,MAA0B,CAAC,CAAC,GACnDE,IAAmBF,QAAU,CAAC,CAAC,GAC/BG,IAAoBH,EAAuB,IAAI;EAErD,IAAII,EAAc,MAAM,WAAWC,EAAUb,EAAM,MAAM,GAAG;GAC1D,IAAM,EAAE,2BAAwB,0BAAuB,2BAAwB,oBAAiBc,EAC9Fd,EAAM,OAAO,MACbA,EAAM,OAAO,OACb,IACA,EACF;GAIA,AAHA,EAAiB,QAAQe,GACzB,EAAgB,QAAQC,GACxB,EAAiB,QAAQC,GACzBC,EACEC,IACC,MAAa;IACZ,EAAkB,QAAQd;GAC5B,GACA,EAAE,WAAW,GAAK,CACpB;EACF;EAEA,IAAM,EAAE,SAAMe,EAAQ,GAEhBC,IAASC,EAA2BC,GAAgB,KAAA,CAAS,GAC7DC,IAAUF,EAA2BG,GAAiB,KAAA,CAAS,GAE/DC,IAAgBlB,EAAI,EAAK,GACzBmB,IAAYnB,EAAI,EAAK,GACrBoB,IAAWpB,EAAI,EAAK,GAEpBqB,UAAe;GAInB,AAHA7B,EAAM,GAAG,OAAO,GAGhB8B,QAAe;IAGb,AAFA,EAAU,QAAQ,IAClB5B,EAAK,QAAQ6B,EAAY/B,EAAM,UAAU,IAAI,OAAOA,EAAM,UAAU,GAChE4B,EAAS,UAAU,MAAOrB,EAAiB,MAAMP,EAAM,UAAU;GACvE,CAAC;EACH,GAEMgC,UAAgB;GAEpB,AADA,EAAU,QAAQ,IAClBtB,EAAiB,MAAM;EACzB,GAEMuB,UAAe;GAEnB,AADA,EAAS,QAAQ,IACjBvB,EAAiB,MAAM;EACzB,GAEMwB,WAAgB;GAGpB,AAFA,EAAS,QAAQ,IAEjBJ,QAAe;IACb,EAAiB,MAAM9B,EAAM,UAAU;GACzC,CAAC;EACH,GAEMmC,KAAuB/B,QACtB2B,EAAY/B,EAAM,YAAY,IAC/BA,EAAM,GAAG,SAAS,SAAe,CAACA,EAAM,EAAE,QAAQ,KAAK,MAASoC,EAAMC,EAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAC5F,CAAC,IAFqC,CAACrC,EAAM,YAAY,CAGjE,GAEKsC,KAAgBlC,QAAe;GACnC,IAAIS,EAAUb,EAAM,KAAK,GAAG,OAAOA,EAAM;GACzC,IAAI+B,EAAYV,CAAM,KAAKU,EAAYP,CAAO,KAAKO,EAAY/B,EAAM,GAAG,KAAK,GAAG,OAAO;GACvF,IAAM,EAAE,KAAKuC,MAASC,EAA6BxC,EAAM,GAAG,OAAO,GAAG;GACtE,OAAOyC,EAAEpB,IAAS,MAAMG,IAAU,YAAYe,CAAI;EACpD,CAAC;EAED,EACEpC,IACC,GAAU,MAAa;GACtB,AAAIE,MAAaqC,MACbC,EAAOtC,CAAQ,KAAK0B,EAAY1B,CAAQ,IAC1C,EAAc,QAAQ,KAGxB,EAAc,QAAQ;EACxB,GACA,EAAE,WAAW,GAAK,CACpB;EAKA,IAAMuC,MAAmB,MAAsB;GAK7C,AAJAlC,EAAiB,MAAM,GACvB,iBAAiB;IACf,AAAIiB,EAAU,UAAU,MAAOpB,EAAiB,MAAMP,EAAM,UAAU;GACxE,GAAG,GAAG,GACF0C,IACF,EAAmB,QAAQ,OAGzB1C,EAAM,2BAA2B,QACnC,EAAmB,QAAQ6C,EAAY,IAGrCC,EAAW9C,EAAM,sBAAsB,IACzC,EAAmB,QAAQA,EAAM,uBAAuB,IAG1D,EAAmB,QAAQA,EAAM;EACnC,GAEM+C,IAAmB3C,QACnBS,EAAUb,EAAM,QAAQ,IAAUA,EAAM,WACrC,CAAC,CAACW,EAAkB,KAC5B;E,OAEDO,EAAMf,IAAqB,GAAU,MAAa;GAChD,AAAIE,MAAaqC,KACb9B,EAAc,MAAM,YAAYe,EAAU,SAASC,EAAS,UAC9DnB,EAAgB,MAAMJ,CAAQ;EAElC,CAAC,I,2BAICzB,EAmBM,OAnBNe,GAmBM,CAlBJd,EAKEC,GAAA;GAJS,YAAA4C,EAAA;GAAA,uBAAA,AAAA4B,EAAA,QAAA,MAAA,EAAa,QAAAC;GACrB,OAAOjB,GAAA;GACP,UAAUS,EAAA;GACV,SAAK,AAAAO,EAAA,OAAAvE,IAAA,MAAO6D,GAAgBlB,EAAA,KAAa,GAAA,CAAA,MAAA,CAAA;;;;;E,IAE5C9C,EAWM,OAXNgB,GAWM,CAVJZ,EASO0E,EAAA,QAAA,UAAA,EAPJ,QAAS/C,EAAA,MAAiB,SAOtB,CAJGV,EAAA,UADRxB,EAAA,GAAAQ,EAIEC,GAAA;;GAFC,IAAIyB,EAAA;GACJ,OAAOV,EAAA,OAAO;E,iDAKvBpB,EAgBoBO,GAAA,MAAA;GAflB,SAAAC,QAcM,CAdNC,EAAAV,EAcM,OAAA,MAAA,CAbJC,EAYkBU,GAAA;IAXP,YAAAY,EAAA;IAAA,uBAAA,AAAAmD,EAAA,QAAA,MAAA,EAAkB,QAAAC;IAC1B,WAAStD,EAAA;IACT,kBAAgBkC,GAAA;IAChB,WAAWlC,EAAA;IACX,UAAU8C,EAAA;IACH;IACD;IACA;IACC;;IAEG,gBAAY1D,QAAG,CAAA,GAAA,AAAAiE,EAAA,OAAA,CAAA,CAAA,CAAA;;;;;;;;G,YAZjB,CAAA9D,GAAAkC,EAAA,KAAa,C"}
|
|
1
|
+
{"version":3,"file":"AFormFlagDatetimePicker.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_Fragment","_createElementVNode","_createVNode","_component_VCheckboxBtn","_withModifiers","_renderSlot","_createBlock","ACollabLockedByUser","_createCommentVNode","_component_VExpandTransition","_withCtx","_withDirectives","ADatetimePicker","_vShow","ACollabLockedByUser_default","ADatetimePicker_default","_hoisted_1","_hoisted_2","\"opacity\"","AFormFlagDatetimePicker_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","modelValueComputed","computed","newValue","useCommonAdminCollabOptions","releaseFieldLock","ref","changeFieldData","acquireFieldLock","lockedByUserLocal","collabOptions","isDefined","useCollabField","releaseCollabFieldLock","changeCollabFieldData","acquireCollabFieldLock","watch","lockedByUser","useI18n","system","inject","SystemScopeKey","subject","SubjectScopeKey","checkboxModel","isFocused","isOpened","onBlur","nextTick","isUndefined","onFocus","onOpen","onClose","errorMessageComputed","unref","item","labelComputed","path","stringSplitOnFirstOccurrence","t","oldValue","isNull","onCheckboxClick","dateTimeNow","isFunction","disabledComputed","openBlock","createElementBlock","Fragment","createElementVNode","createVNode","VCheckboxBtn","_cache","$event","withModifiers","renderSlot","_ctx","createBlock","createCommentVNode","VExpandTransition","withCtx","withDirectives","vShow"],"sources":["../../../../src/domains/form/components/AFormFlagDatetimePicker.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { AFormFieldValidation } from '@/shared/types/Validation'\nimport { computed, inject, nextTick, ref, watch, unref } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { SubjectScopeKey, SystemScopeKey } from '@/shared/injectionKeys'\nimport { isDefined, isFunction, isNull, isUndefined } from '@/shared/utils/common'\nimport { stringSplitOnFirstOccurrence } from '@/shared/utils/string'\nimport type { DatetimeUTCNullable, IntegerIdNullable } from '@/shared/types/common'\nimport { dateTimeNow } from '@/shared/utils/datetime'\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 ADatetimePicker from '@/domains/ui/datetime/components/ADatetimePicker.vue'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: DatetimeUTCNullable | undefined\n label?: string\n errorMessage?: string\n v?: AFormFieldValidation | null\n dataCy?: string\n clearable?: boolean\n defaultActivationValue?: DatetimeUTCNullable | 'now' | (() => DatetimeUTCNullable)\n collab?: CollabComponentConfig\n disabled?: boolean\n }>(),\n {\n label: undefined,\n errorMessage: undefined,\n v: null,\n dataCy: undefined,\n clearable: false,\n defaultActivationValue: 'now',\n collab: undefined,\n disabled: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: DatetimeUTCNullable | undefined): void\n (e: 'click:append', data: string | number | null): void\n (e: 'blur', data: string | number | null): void\n}>()\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue: DatetimeUTCNullable | undefined) {\n emit('update:modelValue', 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 { t } = useI18n()\n\nconst system = inject<string | undefined>(SystemScopeKey, undefined)\nconst subject = inject<string | undefined>(SubjectScopeKey, undefined)\n\nconst checkboxModel = ref(false)\nconst isFocused = ref(false)\nconst isOpened = ref(false)\n\nconst onBlur = () => {\n props.v?.$touch()\n // The picker commits a typed value in a watcher that runs after this event.\n // Releasing the lock now would send the previous value, and clearing `isFocused` would skip the change.\n nextTick(() => {\n isFocused.value = false\n emit('blur', isUndefined(props.modelValue) ? null : props.modelValue)\n if (isOpened.value === false) releaseFieldLock.value(props.modelValue)\n })\n}\n\nconst onFocus = () => {\n isFocused.value = true\n acquireFieldLock.value()\n}\n\nconst onOpen = () => {\n isOpened.value = true\n acquireFieldLock.value()\n}\n\nconst onClose = () => {\n isOpened.value = false\n // The picker emits close before its watchers flush the picked value into the model.\n nextTick(() => {\n releaseFieldLock.value(props.modelValue)\n })\n}\n\nconst errorMessageComputed = computed(() => {\n if (!isUndefined(props.errorMessage)) return [props.errorMessage]\n if (props.v?.$errors?.length) return [props.v.$errors.map((item) => unref(item.$message)).join(' ')]\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\nwatch(\n modelValueComputed,\n (newValue, oldValue) => {\n if (newValue === oldValue) return\n if (isNull(newValue) || isUndefined(newValue)) {\n checkboxModel.value = false\n return\n }\n checkboxModel.value = true\n },\n { immediate: true }\n)\n\n/**\n * @param oldValue state before click\n */\nconst onCheckboxClick = (oldValue: boolean) => {\n acquireFieldLock.value()\n setTimeout(() => {\n if (isFocused.value === false) releaseFieldLock.value(props.modelValue)\n }, 500)\n if (oldValue) {\n modelValueComputed.value = null\n return\n }\n if (props.defaultActivationValue === 'now') {\n modelValueComputed.value = dateTimeNow()\n return\n }\n if (isFunction(props.defaultActivationValue)) {\n modelValueComputed.value = props.defaultActivationValue()\n return\n }\n modelValueComputed.value = props.defaultActivationValue\n}\n\nconst disabledComputed = computed(() => {\n if (isDefined(props.disabled)) return props.disabled\n return !!lockedByUserLocal.value\n})\n\nwatch(modelValueComputed, (newValue, oldValue) => {\n if (newValue === oldValue) return\n if (collabOptions.value.enabled && (isFocused.value || isOpened.value)) {\n changeFieldData.value(newValue)\n }\n})\n</script>\n\n<template>\n <div class=\"d-flex justify-space-between\">\n <VCheckboxBtn\n v-model=\"checkboxModel\"\n :label=\"labelComputed\"\n :disabled=\"disabledComputed\"\n @click.stop=\"onCheckboxClick(checkboxModel)\"\n />\n <div style=\"opacity: 0.5\">\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 </div>\n </div>\n <VExpandTransition>\n <div v-show=\"checkboxModel\">\n <ADatetimePicker\n v-model=\"modelValueComputed\"\n :data-cy=\"dataCy\"\n :error-messages=\"errorMessageComputed\"\n :clearable=\"clearable\"\n :disabled=\"disabledComputed\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n @open=\"onOpen\"\n @close=\"onClose\"\n >\n <template #append-inner />\n </ADatetimePicker>\n </div>\n </VExpandTransition>\n</template>\n"],"mappings":"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"}
|
|
@@ -10,12 +10,14 @@ type __VLS_Props = {
|
|
|
10
10
|
v?: AFormFieldValidation | null;
|
|
11
11
|
readonly?: boolean;
|
|
12
12
|
};
|
|
13
|
-
declare
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
declare const __VLS_template: () => {
|
|
14
|
+
__VLS_Slots: {
|
|
15
|
+
locked?: (props: {
|
|
16
|
+
userId: number;
|
|
17
|
+
}) => any;
|
|
18
|
+
};
|
|
18
19
|
};
|
|
20
|
+
type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
|
|
19
21
|
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
20
22
|
"update:modelValue": (data: boolean) => any;
|
|
21
23
|
blur: (data: boolean) => any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AFormTextField.js","names":["_sfc_main","AFormTextField_vue_vue_type_script_setup_true_lang_default","AFormTextField_default"],"sources":["../../../../src/domains/form/components/AFormTextField.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { AFormFieldValidation } from '@/shared/types/Validation'\nimport { computed, inject, ref, watch, unref } from 'vue'\nimport { stringSplitOnFirstOccurrence } from '@/shared/utils/string'\nimport { isDefined, isUndefined } from '@/shared/utils/common'\nimport { SubjectScopeKey, SystemScopeKey } from '@/shared/injectionKeys'\nimport type { VuetifyIconValue } from '@/shared/types/Vuetify'\nimport { useI18n } from 'vue-i18n'\nimport ACollabLockedByUser from '@/domains/collab/components/ACollabLockedByUser.vue'\nimport {\n CollabFieldLockStatus,\n type CollabFieldLockStatusPayload,\n CollabFieldLockType,\n} from '@/domains/collab/composables/collabEventBus'\nimport type { CollabComponentConfig, CollabFieldData, CollabFieldLockOptions } from '@/domains/collab/types/Collab'\nimport { useCollabField } from '@/domains/collab/composables/collabField'\nimport type { IntegerIdNullable } from '@/shared/types/common'\nimport type { VTextField } from 'vuetify/components/VTextField'\nimport { useCommonAdminCollabOptions } from '@/domains/collab/composables/commonAdminCollabOptions'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string | number | null | undefined\n label?: string\n errorMessage?: string\n required?: boolean\n v?: AFormFieldValidation | null\n prependIcon?: VuetifyIconValue\n appendIcon?: VuetifyIconValue\n dataCy?: string\n hideLabel?: boolean\n type?: string\n step?: number\n maxlength?: number | undefined\n collab?: CollabComponentConfig\n disabled?: boolean\n placeholder?: undefined | string\n persistentPlaceholder?: boolean\n help?: string | undefined\n readonly?: boolean\n //
|
|
1
|
+
{"version":3,"file":"AFormTextField.js","names":["_sfc_main","AFormTextField_vue_vue_type_script_setup_true_lang_default","AFormTextField_default"],"sources":["../../../../src/domains/form/components/AFormTextField.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { AFormFieldValidation } from '@/shared/types/Validation'\nimport { computed, inject, ref, watch, unref } from 'vue'\nimport { stringSplitOnFirstOccurrence } from '@/shared/utils/string'\nimport { isDefined, isUndefined } from '@/shared/utils/common'\nimport { SubjectScopeKey, SystemScopeKey } from '@/shared/injectionKeys'\nimport type { VuetifyIconValue } from '@/shared/types/Vuetify'\nimport { useI18n } from 'vue-i18n'\nimport ACollabLockedByUser from '@/domains/collab/components/ACollabLockedByUser.vue'\nimport {\n CollabFieldLockStatus,\n type CollabFieldLockStatusPayload,\n CollabFieldLockType,\n} from '@/domains/collab/composables/collabEventBus'\nimport type { CollabComponentConfig, CollabFieldData, CollabFieldLockOptions } from '@/domains/collab/types/Collab'\nimport { useCollabField } from '@/domains/collab/composables/collabField'\nimport type { IntegerIdNullable } from '@/shared/types/common'\nimport type { VTextField } from 'vuetify/components/VTextField'\nimport { useCommonAdminCollabOptions } from '@/domains/collab/composables/commonAdminCollabOptions'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string | number | null | undefined\n label?: string\n errorMessage?: string\n required?: boolean\n v?: AFormFieldValidation | null\n prependIcon?: VuetifyIconValue\n appendIcon?: VuetifyIconValue\n dataCy?: string\n hideLabel?: boolean\n type?: string\n step?: number\n maxlength?: number | undefined\n collab?: CollabComponentConfig\n disabled?: boolean\n placeholder?: undefined | string\n persistentPlaceholder?: boolean\n help?: string | undefined\n readonly?: boolean\n // Vue applies `.number` and `.trim` to what this component emits.\n // VTextField also reads `trim` to keep the caret in place.\n modelModifiers?: Partial<Record<'number' | 'trim' | 'lazy', true>>\n }>(),\n {\n label: undefined,\n errorMessage: undefined,\n required: undefined,\n v: null,\n prependIcon: undefined,\n appendIcon: undefined,\n dataCy: undefined,\n hideLabel: false,\n type: 'text',\n step: undefined,\n maxlength: undefined,\n collab: undefined,\n disabled: undefined,\n placeholder: undefined,\n persistentPlaceholder: false,\n help: undefined,\n // Left to a `VForm` around it when not set.\n readonly: undefined,\n modelModifiers: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: string | number | null | undefined): void\n (e: 'click:append', data: string | number | null | undefined): void\n (e: 'blur', data: string | number | null | undefined): void\n (e: 'focus', data: string | number | null | undefined): void\n}>()\n\nconst textFieldRef = ref<InstanceType<typeof VTextField> | null>(null)\n\n// Collaboration\nconst { collabOptions } = useCommonAdminCollabOptions()\n\nconst releaseFieldLock = ref((_data: CollabFieldData, _options?: Partial<CollabFieldLockOptions>) => {})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst acquireFieldLock = ref((options?: Partial<CollabFieldLockOptions>) => {})\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 {\n releaseCollabFieldLock,\n acquireCollabFieldLock,\n addCollabFieldLockStatusListener,\n addCollabGatheringBufferDataListener,\n lockedByUser,\n } = useCollabField(props.collab.room, props.collab.field, false, true)\n releaseFieldLock.value = releaseCollabFieldLock\n acquireFieldLock.value = acquireCollabFieldLock\n watch(\n lockedByUser,\n (newValue) => {\n lockedByUserLocal.value = newValue\n },\n { immediate: true }\n )\n addCollabFieldLockStatusListener((data: CollabFieldLockStatusPayload) => {\n if (data.status === CollabFieldLockStatus.Failure && data.type === CollabFieldLockType.Acquire) {\n textFieldRef.value?.blur()\n }\n })\n addCollabGatheringBufferDataListener(() => {\n textFieldRef.value?.blur()\n })\n}\n\nconst { t } = useI18n()\n\nconst system = inject<string | undefined>(SystemScopeKey, undefined)\nconst subject = inject<string | undefined>(SubjectScopeKey, undefined)\n\nconst onUpdate = (newValue: string | number | null) => {\n // Under `.number` an empty input means no value; '' would reach the backend and be cast to 0.\n emit('update:modelValue', props.modelModifiers?.number && newValue === '' ? null : newValue)\n}\nconst onBlur = () => {\n emit('blur', props.modelValue)\n props.v?.$touch()\n releaseFieldLock.value(props.modelValue)\n}\n\nconst onFocus = () => {\n emit('focus', props.modelValue)\n acquireFieldLock.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)).join(' ')]\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 if ((props.v?.required as { $params?: { type?: string } } | undefined)?.$params?.type === 'required') return true\n return false\n})\n\nconst disabledComputed = computed(() => {\n if (isDefined(props.disabled)) return props.disabled\n return !!lockedByUserLocal.value\n})\n\nconst focus = () => {\n textFieldRef.value?.focus()\n}\n\ndefineExpose({\n focus,\n})\n</script>\n\n<template>\n <VTextField\n ref=\"textFieldRef\"\n :prepend-icon=\"prependIcon\"\n :data-cy=\"dataCy\"\n :error-messages=\"errorMessageComputed\"\n :model-value=\"modelValue\"\n :required=\"requiredComputed\"\n :type=\"type\"\n :step=\"step\"\n :append-icon=\"appendIcon\"\n :maxlength=\"maxlength\"\n :disabled=\"disabledComputed\"\n :placeholder=\"placeholder\"\n :persistent-placeholder=\"persistentPlaceholder\"\n :readonly=\"readonly\"\n :model-modifiers=\"modelModifiers\"\n autocomplete=\"off\"\n @click:append=\"(event: any) => emit('click:append', event)\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @update:model-value=\"onUpdate($event)\"\n >\n <template\n v-if=\"!hideLabel\"\n #label\n >\n {{ labelComputed\n }}<span\n v-if=\"requiredComputed\"\n class=\"a-required-mark\"\n />\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.prepend\"\n #prepend\n >\n <slot name=\"prepend\" />\n </template>\n <template\n v-if=\"help\"\n #append\n >\n <VIcon\n v-tooltip=\"help\"\n icon=\"mdi-help-circle-outline\"\n />\n </template>\n </VTextField>\n</template>\n"],"mappings":""}
|
|
@@ -22,14 +22,16 @@ type __VLS_Props = {
|
|
|
22
22
|
readonly?: boolean;
|
|
23
23
|
modelModifiers?: Partial<Record<'number' | 'trim' | 'lazy', true>>;
|
|
24
24
|
};
|
|
25
|
-
declare
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
} & {
|
|
31
|
-
|
|
25
|
+
declare const __VLS_template: () => {
|
|
26
|
+
__VLS_Slots: {
|
|
27
|
+
locked?: (props: {
|
|
28
|
+
userId: number;
|
|
29
|
+
}) => any;
|
|
30
|
+
} & {
|
|
31
|
+
prepend?: (props: {}) => any;
|
|
32
|
+
};
|
|
32
33
|
};
|
|
34
|
+
type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
|
|
33
35
|
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
34
36
|
focus: () => void;
|
|
35
37
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|