@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
package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeywordRemoteAutocompleteCachedKeywordChip.js","names":["_sfc_main","KeywordRemoteAutocompleteCachedKeywordChip_vue_vue_type_script_setup_true_lang_default","KeywordRemoteAutocompleteCachedKeywordChip_default"],"sources":["../../../../../src/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, inject } from 'vue'\nimport type { DocId } from '@/shared/types/common'\nimport { useDamCachedKeywords } from '@/domains/dam/keyword/composables/cachedKeywords'\nimport {\n libraryUploadQueueSuggestions,\n UploadQueueSuggestionsKey,\n} from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\nimport { isNull, isUndefined } from '@/shared/utils/common'\nimport { useCachedItem } from '@/domains/cached/composables/useCachedItem'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport { useI18n } from 'vue-i18n'\n\nconst props = withDefaults(\n defineProps<{\n id: null | DocId | undefined\n title?: string\n queueId?: string | undefined\n forceRounded?: boolean\n textOnly?: boolean\n size?: string\n containerClass?: undefined | string\n /**\n *
|
|
1
|
+
{"version":3,"file":"KeywordRemoteAutocompleteCachedKeywordChip.js","names":["_sfc_main","KeywordRemoteAutocompleteCachedKeywordChip_vue_vue_type_script_setup_true_lang_default","KeywordRemoteAutocompleteCachedKeywordChip_default"],"sources":["../../../../../src/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, inject } from 'vue'\nimport type { DocId } from '@/shared/types/common'\nimport { useDamCachedKeywords } from '@/domains/dam/keyword/composables/cachedKeywords'\nimport {\n libraryUploadQueueSuggestions,\n UploadQueueSuggestionsKey,\n} from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\nimport { isNull, isUndefined } from '@/shared/utils/common'\nimport { useCachedItem } from '@/domains/cached/composables/useCachedItem'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport { useI18n } from 'vue-i18n'\n\nconst props = withDefaults(\n defineProps<{\n id: null | DocId | undefined\n title?: string\n queueId?: string | undefined\n forceRounded?: boolean\n textOnly?: boolean\n size?: string\n containerClass?: undefined | string\n /**\n * Props of the autocomplete's chip slot. With them, closing a closable chip\n * removes its value from the autocomplete, as Vuetify's own chip does.\n * Without them the close only hides the chip.\n */\n chipProps?: Record<string, unknown>\n }>(),\n {\n queueId: undefined,\n title: '',\n forceRounded: false,\n textOnly: false,\n size: 'small',\n containerClass: 'd-inline-flex',\n chipProps: undefined,\n }\n)\n\nconst { getCachedKeyword, addToCachedKeywords, fetchCachedKeywords, pinCachedKeyword, unpinCachedKeyword } =\n useDamCachedKeywords(useDamConfigName())\n// Uses the application's queues when provided, else the library's store, created only when a chip needs it.\nconst suggestionsOf = inject(UploadQueueSuggestionsKey, null) ?? libraryUploadQueueSuggestions\n\nconst { cached, loaded, unresolved } = useCachedItem(() => getCachedKeyword(props.id), {\n // Pins the shown name in the cache. A chip given a title shows no cached name.\n id: () => (props.title.length > 0 ? null : props.id),\n pin: pinCachedKeyword,\n unpin: unpinCachedKeyword,\n askFor: (id) => {\n addToCachedKeywords([id])\n fetchCachedKeywords()\n },\n})\n\nconst displayNewIcon = computed(() => {\n if (!props.queueId || !cached.value) return undefined\n const suggestions = suggestionsOf(props.queueId)\n if (!suggestions) return undefined\n if (suggestions.newKeywordNames.has(cached.value.name)) return 'mdi-new-box'\n return undefined\n})\n\nconst displayTitle = computed(() => {\n if (props.title.length > 0) return props.title\n // A keyword the server did not return has only its id to show.\n if (unresolved.value) return '#' + props.id\n if (cached.value) {\n return cached.value.name\n }\n return ''\n})\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <div :class=\"containerClass\">\n <template v-if=\"isNull(id) || isUndefined(id)\">\n <slot name=\"empty\">-</slot>\n </template>\n <div\n v-else-if=\"textOnly\"\n :title=\"unresolved ? t('common.model.cachedUnavailable') : undefined\"\n >\n {{ displayTitle }}\n <VProgressCircular\n v-if=\"!loaded && title.length === 0\"\n :size=\"12\"\n :width=\"2\"\n indeterminate\n class=\"mx-1\"\n />\n </div>\n <VChip\n v-else\n v-bind=\"chipProps\"\n :size=\"size\"\n :append-icon=\"displayNewIcon\"\n :label=\"forceRounded ? undefined : true\"\n close-label=\"common.button.remove\"\n >\n {{ displayTitle }}\n <VTooltip\n v-if=\"unresolved\"\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.model.cachedUnavailable') }}\n </VTooltip>\n <VProgressCircular\n v-if=\"!loaded && title.length === 0\"\n :size=\"12\"\n :width=\"2\"\n indeterminate\n class=\"mx-1\"\n />\n </VChip>\n </div>\n</template>\n"],"mappings":""}
|
package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue.d.ts
CHANGED
|
@@ -8,15 +8,18 @@ type __VLS_Props = {
|
|
|
8
8
|
size?: string;
|
|
9
9
|
containerClass?: undefined | string;
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* Props of the autocomplete's chip slot. With them, closing a closable chip
|
|
12
|
+
* removes its value from the autocomplete, as Vuetify's own chip does.
|
|
13
|
+
* Without them the close only hides the chip.
|
|
13
14
|
*/
|
|
14
15
|
chipProps?: Record<string, unknown>;
|
|
15
16
|
};
|
|
16
|
-
declare
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
declare const __VLS_template: () => {
|
|
18
|
+
__VLS_Slots: {
|
|
19
|
+
empty?: (props: {}) => any;
|
|
20
|
+
};
|
|
19
21
|
};
|
|
22
|
+
type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
|
|
20
23
|
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
21
24
|
title: string;
|
|
22
25
|
size: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeywordRemoteAutocompleteCachedKeywordChip.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_normalizeClass","_unref","_renderSlot","_createTextVNode","_toDisplayString","_createBlock","_component_VProgressCircular","_createCommentVNode","_component_VChip","_mergeProps","_withCtx","_component_VTooltip","_hoisted_1","KeywordRemoteAutocompleteCachedKeywordChip_vue_vue_type_script_setup_true_lang_default","props","__props","useDamCachedKeywords","useDamConfigName","suggestionsOf","inject","UploadQueueSuggestionsKey","libraryUploadQueueSuggestions","useCachedItem","getCachedKeyword","pinCachedKeyword","unpinCachedKeyword","addToCachedKeywords","id","fetchCachedKeywords","displayNewIcon","computed","cached","suggestions","displayTitle","unresolved","useI18n","openBlock","createElementBlock","normalizeClass","unref","isNull","isUndefined","renderSlot","_ctx","_cache","createTextVNode","t","toDisplayString","loaded","createBlock","VProgressCircular","createCommentVNode","VChip","mergeProps","withCtx","VTooltip"],"sources":["../../../../../src/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, inject } from 'vue'\nimport type { DocId } from '@/shared/types/common'\nimport { useDamCachedKeywords } from '@/domains/dam/keyword/composables/cachedKeywords'\nimport {\n libraryUploadQueueSuggestions,\n UploadQueueSuggestionsKey,\n} from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\nimport { isNull, isUndefined } from '@/shared/utils/common'\nimport { useCachedItem } from '@/domains/cached/composables/useCachedItem'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport { useI18n } from 'vue-i18n'\n\nconst props = withDefaults(\n defineProps<{\n id: null | DocId | undefined\n title?: string\n queueId?: string | undefined\n forceRounded?: boolean\n textOnly?: boolean\n size?: string\n containerClass?: undefined | string\n /**\n *
|
|
1
|
+
{"version":3,"file":"KeywordRemoteAutocompleteCachedKeywordChip.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_normalizeClass","_unref","_renderSlot","_createTextVNode","_toDisplayString","_createBlock","_component_VProgressCircular","_createCommentVNode","_component_VChip","_mergeProps","_withCtx","_component_VTooltip","_hoisted_1","KeywordRemoteAutocompleteCachedKeywordChip_vue_vue_type_script_setup_true_lang_default","props","__props","useDamCachedKeywords","useDamConfigName","suggestionsOf","inject","UploadQueueSuggestionsKey","libraryUploadQueueSuggestions","useCachedItem","getCachedKeyword","pinCachedKeyword","unpinCachedKeyword","addToCachedKeywords","id","fetchCachedKeywords","displayNewIcon","computed","cached","suggestions","displayTitle","unresolved","useI18n","openBlock","createElementBlock","normalizeClass","unref","isNull","isUndefined","renderSlot","_ctx","_cache","createTextVNode","t","toDisplayString","loaded","createBlock","VProgressCircular","createCommentVNode","VChip","mergeProps","withCtx","VTooltip"],"sources":["../../../../../src/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, inject } from 'vue'\nimport type { DocId } from '@/shared/types/common'\nimport { useDamCachedKeywords } from '@/domains/dam/keyword/composables/cachedKeywords'\nimport {\n libraryUploadQueueSuggestions,\n UploadQueueSuggestionsKey,\n} from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\nimport { isNull, isUndefined } from '@/shared/utils/common'\nimport { useCachedItem } from '@/domains/cached/composables/useCachedItem'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport { useI18n } from 'vue-i18n'\n\nconst props = withDefaults(\n defineProps<{\n id: null | DocId | undefined\n title?: string\n queueId?: string | undefined\n forceRounded?: boolean\n textOnly?: boolean\n size?: string\n containerClass?: undefined | string\n /**\n * Props of the autocomplete's chip slot. With them, closing a closable chip\n * removes its value from the autocomplete, as Vuetify's own chip does.\n * Without them the close only hides the chip.\n */\n chipProps?: Record<string, unknown>\n }>(),\n {\n queueId: undefined,\n title: '',\n forceRounded: false,\n textOnly: false,\n size: 'small',\n containerClass: 'd-inline-flex',\n chipProps: undefined,\n }\n)\n\nconst { getCachedKeyword, addToCachedKeywords, fetchCachedKeywords, pinCachedKeyword, unpinCachedKeyword } =\n useDamCachedKeywords(useDamConfigName())\n// Uses the application's queues when provided, else the library's store, created only when a chip needs it.\nconst suggestionsOf = inject(UploadQueueSuggestionsKey, null) ?? libraryUploadQueueSuggestions\n\nconst { cached, loaded, unresolved } = useCachedItem(() => getCachedKeyword(props.id), {\n // Pins the shown name in the cache. A chip given a title shows no cached name.\n id: () => (props.title.length > 0 ? null : props.id),\n pin: pinCachedKeyword,\n unpin: unpinCachedKeyword,\n askFor: (id) => {\n addToCachedKeywords([id])\n fetchCachedKeywords()\n },\n})\n\nconst displayNewIcon = computed(() => {\n if (!props.queueId || !cached.value) return undefined\n const suggestions = suggestionsOf(props.queueId)\n if (!suggestions) return undefined\n if (suggestions.newKeywordNames.has(cached.value.name)) return 'mdi-new-box'\n return undefined\n})\n\nconst displayTitle = computed(() => {\n if (props.title.length > 0) return props.title\n // A keyword the server did not return has only its id to show.\n if (unresolved.value) return '#' + props.id\n if (cached.value) {\n return cached.value.name\n }\n return ''\n})\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <div :class=\"containerClass\">\n <template v-if=\"isNull(id) || isUndefined(id)\">\n <slot name=\"empty\">-</slot>\n </template>\n <div\n v-else-if=\"textOnly\"\n :title=\"unresolved ? t('common.model.cachedUnavailable') : undefined\"\n >\n {{ displayTitle }}\n <VProgressCircular\n v-if=\"!loaded && title.length === 0\"\n :size=\"12\"\n :width=\"2\"\n indeterminate\n class=\"mx-1\"\n />\n </div>\n <VChip\n v-else\n v-bind=\"chipProps\"\n :size=\"size\"\n :append-icon=\"displayNewIcon\"\n :label=\"forceRounded ? undefined : true\"\n close-label=\"common.button.remove\"\n >\n {{ displayTitle }}\n <VTooltip\n v-if=\"unresolved\"\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.model.cachedUnavailable') }}\n </VTooltip>\n <VProgressCircular\n v-if=\"!loaded && title.length === 0\"\n :size=\"12\"\n :width=\"2\"\n indeterminate\n class=\"mx-1\"\n />\n </VChip>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAaA,IAAMgB,IAAQC,GA2BR,EAAE,qBAAkB,wBAAqB,wBAAqB,qBAAkB,0BACpFC,EAAqBC,EAAiB,CAAC,GAEnCC,IAAgBC,EAAOC,GAA2B,IAAI,KAAKC,GAE3D,EAAE,WAAQ,WAAQ,kBAAeC,QAAoBC,EAAiBT,EAAM,EAAE,GAAG;GAErF,UAAWA,EAAM,MAAM,SAAS,IAAI,OAAOA,EAAM;GACjD,KAAKU;GACL,OAAOC;GACP,SAAS,MAAO;IAEd,AADAC,EAAoB,CAACC,CAAE,CAAC,GACxBC,EAAoB;GACtB;EACF,CAAC,GAEKC,IAAiBC,QAAe;GACpC,IAAI,CAAChB,EAAM,WAAW,CAACiB,EAAO,OAAO;GACrC,IAAMC,IAAcd,EAAcJ,EAAM,OAAO;GAC/C,IAAKkB,KACDA,EAAY,gBAAgB,IAAID,EAAO,MAAM,IAAI,GAAG,OAAO;EAEjE,CAAC,GAEKE,IAAeH,QACfhB,EAAM,MAAM,SAAS,IAAUA,EAAM,QAErCoB,EAAW,QAAc,MAAMpB,EAAM,KACrCiB,EAAO,QACFA,EAAO,MAAM,OAEf,EACR,GAEK,EAAE,SAAMI,EAAQ;E,kBAIpBrC,EAAA,GAAAC,EAyCM,OAAA,EAzCA,OAAKC,EAAEe,EAAA,cAAc,E,IACTd,EAAAuC,CAAA,CAAM,CAACzB,EAAA,EAAE,KAAKd,EAAAwC,CAAA,CAAW,CAAC1B,EAAA,EAAE,IAC1Cb,EAA2ByC,EAAA,QAAA,SAAA,CAAA,SAAA,CAAR,AAAAC,EAAA,OAAAzC,EAAA,KAAC,EAAA,C,gBAGTY,EAAA,YADbjB,EAAA,GAAAC,EAYM,OAAA;;GAVH,OAAOE,EAAAiC,CAAA,IAAajC,EAAA6C,CAAA,CAAC,CAAA,gCAAA,IAAqC,KAAA;E,IAExD3C,EAAAC,EAAA6B,EAAA,KAAY,IAAG,KAClB,CAAA,GACS,CAAAhC,EAAA+C,CAAA,KAAUjC,EAAA,MAAM,WAAM,KAD/BjB,EAAA,GAAAO,EAMEC,GAAA;;GAJC,MAAM;GACN,OAAO;GACR,eAAA;GACA,OAAM;E,4BAGVR,EAAA,GAAAO,EAuBQG,GAvBRC,EAuBQ,EAAA,KAAA,EAAA,GArBEM,EAAA,WAAS;GAChB,MAAMA,EAAA;GACN,eAAac,EAAA;GACb,OAAO,GAAA,gBAAe,KAAA;GACvB,eAAY;;GAEZ,SAAAnB,QAAkB;IAAfP,EAAAC,EAAA6B,EAAA,KAAY,IAAG,KAClB,CAAA;IACQhC,EAAAiC,CAAA,KADRpC,EAAA,GAAAO,EAMWM,GAAA;;KAJT,WAAU;KACV,UAAS;;KAET,SAAAD,QAAyC,CAAtCP,EAAAC,EAAAH,EAAA6C,CAAA,CAAC,CAAA,gCAAA,CAAA,GAAA,CAAA,C;;;IAGG,CAAA7C,EAAA+C,CAAA,KAAUjC,EAAA,MAAM,WAAM,KAD/BjB,EAAA,GAAAO,EAMEC,GAAA;;KAJC,MAAM;KACN,OAAO;KACR,eAAA;KACA,OAAM"}
|
|
@@ -2,7 +2,7 @@ import e from "../../../../_virtual/_plugin-vue_export-helper.js";
|
|
|
2
2
|
import t from "./KeywordRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
// src/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue
|
|
5
|
-
var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-
|
|
5
|
+
var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-976c0e76"]]);
|
|
6
6
|
export { n as default };
|
|
7
7
|
|
|
8
8
|
//# sourceMappingURL=KeywordRemoteAutocompleteWithCached.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeywordRemoteAutocompleteWithCached.js","names":["_sfc_main","_plugin_vue_export_helper_default","KeywordRemoteAutocompleteWithCached_vue_vue_type_script_setup_true_lang_default","KeywordRemoteAutocompleteWithCached_default"],"sources":["../../../../../src/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport type { ValidationScope } from '@/shared/types/Validation'\nimport { computed, provide, ref } from 'vue'\nimport { useValidate } from '@/shared/validators/vuelidate/useValidate'\nimport useVuelidate from '@vuelidate/core'\nimport { useKeywordSelectActions } from '@/domains/dam/keyword/composables/keywordActions'\nimport {\n useCachedKeywordsForRemoteAutocomplete,\n useDamCachedKeywords,\n} from '@/domains/dam/keyword/composables/cachedKeywords'\nimport type { DamKeyword } from '@/domains/dam/keyword/types/DamKeyword'\nimport { isArray, isUndefined } from '@/shared/utils/common'\nimport AFormRemoteAutocompleteWithCached from '@/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue'\nimport KeywordRemoteAutocompleteCachedKeywordChip from '@/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue'\nimport { createKeyword } from '@/domains/dam/keyword/api/keywordApi'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useDamKeywordFactory } from '@/domains/dam/keyword/factory/KeywordFactory'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport { useKeywordInnerFilter } from '@/domains/dam/keyword/filter/KeywordFilter'\nimport { FilterInnerConfigKey, FilterInnerDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport { useAclAllowed } from '@/domains/auth/composables/aclAllowed'\nimport type { DamFieldsDisabledAs } from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: DocId | null | DocId[] | any\n extSystem: IntegerId\n queueId?: string | undefined\n label?: string | undefined\n required?: boolean | null\n disabled?: boolean | undefined\n multiple?: boolean\n clearable?: boolean\n dataCy?: string\n validationScope?: ValidationScope\n /** While disabled: the chips of the keywords (today's library), or the input switched off. */\n disabledAs?: DamFieldsDisabledAs\n /** The DAM configuration to work under. Left out: that of the component it is in, else `default`. */\n configName?: string\n }>(),\n {\n label: undefined,\n queueId: undefined,\n required: null,\n disabled: undefined,\n multiple: false,\n clearable: false,\n dataCy: undefined,\n validationScope: undefined,\n disabledAs: 'chips',\n configName: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: DocId | null | DocId[]): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue) {\n emit('update:modelValue', [...newValue])\n },\n})\n\nconst search = ref<string>('')\nconst loadingLocal = ref(false)\nconst fetchedItemsMinimal = ref<Map<IntegerId | DocId, any>>(new Map())\n\nconst requiredComputed = computed(() => !!props.required)\n\nconst { requiredIf } = useValidate()\n\nconst rules = {\n modelValueComputed: {\n required: requiredIf(requiredComputed),\n },\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst v$ = useVuelidate(rules, { modelValueComputed }, { $scope: props.validationScope })\n\nconst { damClient, endPointKeyword, keywordCreateAcl } = useCommonAdminCoreDamOptions(damConfigName)\nconst createAllowed = useAclAllowed(keywordCreateAcl ?? undefined)\nconst { getDamConfigExtSystem } = useDamConfigState(undefined, damConfigName)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst configExtSystem = getDamConfigExtSystem(props.extSystem)\nif (isUndefined(configExtSystem)) {\n throw new Error('KeywordRemoteAutocompleteWithCached: Ext system must be initialised.')\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { fetchItemsMinimal } = useKeywordSelectActions(props.extSystem, damConfigName)\n\nconst { filterData, filterConfig } = useKeywordInnerFilter()\nprovide(FilterInnerConfigKey, filterConfig)\nprovide(FilterInnerDataKey, filterData)\n\nconst addNewKeywordText = ref('')\n\nconst searchChange = (newValue: string) => {\n if (newValue.length > 0) addNewKeywordText.value = removeLastComma(newValue)\n}\n\nconst { addManualToCachedKeywords } = useDamCachedKeywords(damConfigName)\n// The cache of its configuration, which the inner input takes once.\nconst useCachedOfName = () => useCachedKeywordsForRemoteAutocomplete(damConfigName)\n\nconst afterCreate = (keyword: DamKeyword) => {\n addManualToCachedKeywords(keyword)\n if (isArray(modelValueComputed.value)) {\n modelValueComputed.value = [...modelValueComputed.value, keyword.id]\n search.value = ''\n return\n }\n modelValueComputed.value = keyword.id\n search.value = ''\n}\n\nconst itemSlotIsSelected = (item: DocId) => {\n if (isArray(modelValueComputed.value)) {\n return modelValueComputed.value.includes(item)\n } else if (modelValueComputed.value) {\n return modelValueComputed.value === item\n }\n return false\n}\n\nconst { showErrorsDefault } = useAlerts()\nconst { createDefault } = useDamKeywordFactory()\n\nconst createOrSelectKeyword = async (name: string) => {\n const keywordCreate = createDefault(props.extSystem, true)\n keywordCreate.name = removeLastComma(name)\n if (keywordCreate.name.length < 2) return\n try {\n const keywordRes = await createKeyword(damClient, endPointKeyword, keywordCreate)\n afterCreate(keywordRes)\n } catch (error) {\n showErrorsDefault(error)\n }\n}\n\nconst removeLastComma = (value: string) => {\n if (value.endsWith(',')) return value.slice(0, -1)\n return value\n}\n\nconst onEnterKeyup = () => {\n if (!createAllowed.value) return\n const value = removeLastComma(search.value)\n createOrSelectKeyword(value)\n}\n\nconst onCommaKeyup = () => {\n if (!createAllowed.value) return\n const value = removeLastComma(search.value)\n createOrSelectKeyword(value)\n}\n\nconst showAdd = computed(() => {\n if (!createAllowed.value) return false\n if (loadingLocal.value) return false\n if (search.value.length < 2 || search.value.length > 255) return false\n if (fetchedItemsMinimal.value.size === 0) return true\n return ![...fetchedItemsMinimal.value.values()].some(\n (item) => item.name?.toLowerCase() === search.value!.toLowerCase()\n )\n})\n</script>\n\n<template>\n <div class=\"d-flex\">\n <ARow\n v-if=\"disabled && disabledAs === 'chips' && multiple\"\n :title=\"label\"\n >\n <KeywordRemoteAutocompleteCachedKeywordChip\n v-for=\"id in modelValueComputed\"\n :id=\"id\"\n :key=\"id\"\n :queue-id=\"queueId\"\n force-rounded\n class=\"mr-1 mb-1\"\n />\n </ARow>\n <ARow\n v-else-if=\"disabled && disabledAs === 'chips' && !multiple\"\n :title=\"label\"\n >\n <KeywordRemoteAutocompleteCachedKeywordChip\n :id=\"modelValueComputed\"\n :key=\"modelValueComputed\"\n :queue-id=\"queueId\"\n force-rounded\n />\n </ARow>\n <AFormRemoteAutocompleteWithCached\n v-else\n v-model=\"modelValueComputed\"\n v-model:search=\"search\"\n v-model:loading-local=\"loadingLocal\"\n v-model:fetched-items-minimal=\"fetchedItemsMinimal\"\n :use-cached=\"useCachedOfName\"\n :v=\"v$\"\n :required=\"requiredComputed\"\n :label=\"label\"\n :fetch-items-minimal=\"fetchItemsMinimal\"\n :multiple=\"multiple\"\n :clearable=\"clearable\"\n :disabled=\"disabled || undefined\"\n filter-by-field=\"text\"\n :filter-sort-by=\"null\"\n item-title=\"name\"\n item-value=\"id\"\n :data-cy=\"dataCy\"\n :min-search-chars=\"2\"\n min-search-text=\"common.damImage.keyword.filterMinChars\"\n @search-change=\"searchChange\"\n @keyup.enter=\"onEnterKeyup\"\n @keyup.,=\"onCommaKeyup\"\n >\n <template #item=\"{ props: itemSlotProps, item: itemSlotItem }\">\n <VListItem\n v-if=\"itemSlotItem\"\n v-bind=\"itemSlotProps\"\n @click.prevent=\"\"\n >\n <template\n v-if=\"multiple\"\n #prepend\n >\n <VCheckboxBtn\n :model-value=\"itemSlotIsSelected(itemSlotItem.value)\"\n :ripple=\"false\"\n />\n </template>\n <template #title>\n <KeywordRemoteAutocompleteCachedKeywordChip\n :id=\"itemSlotItem.value\"\n :key=\"itemSlotItem.value\"\n :queue-id=\"queueId\"\n :title=\"itemSlotItem.title\"\n text-only\n />\n </template>\n </VListItem>\n </template>\n <!-- Only the close of the slot's chip: its other props (`onMousedown`) would keep a press on the chip from\n opening the list, as it does. -->\n <template #chip=\"{ props: chipSlotProps, item: chipSlotItem }\">\n <KeywordRemoteAutocompleteCachedKeywordChip\n v-if=\"chipSlotItem\"\n :id=\"chipSlotItem.value\"\n :key=\"chipSlotItem.value\"\n :chip-props=\"{ 'onClick:close': chipSlotProps['onClick:close'] }\"\n :queue-id=\"queueId\"\n :title=\"chipSlotItem.title\"\n force-rounded\n />\n </template>\n <template #append-item>\n <VListItem\n v-if=\"showAdd\"\n class=\"a-keywords-append-item\"\n >\n <ABtnSecondary\n size=\"small\"\n :text=\"addNewKeywordText\"\n prepend-icon=\"mdi-plus-circle\"\n @click.stop=\"onCommaKeyup\"\n />\n </VListItem>\n </template>\n </AFormRemoteAutocompleteWithCached>\n </div>\n</template>\n\n<style lang=\"scss\" scoped>\n.a-keywords-append-item {\n position: sticky;\n bottom: 0;\n // The menu's own surface: a white bar sat in the dark theme's menu.\n background-color: rgb(var(--v-theme-surface));\n transform: translateY(8px);\n}\n</style>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"KeywordRemoteAutocompleteWithCached.js","names":["_sfc_main","_plugin_vue_export_helper_default","KeywordRemoteAutocompleteWithCached_vue_vue_type_script_setup_true_lang_default","KeywordRemoteAutocompleteWithCached_default"],"sources":["../../../../../src/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport type { ValidationScope } from '@/shared/types/Validation'\nimport { computed, provide, ref } from 'vue'\nimport { useValidate } from '@/shared/validators/vuelidate/useValidate'\nimport useVuelidate from '@vuelidate/core'\nimport { useKeywordSelectActions } from '@/domains/dam/keyword/composables/keywordActions'\nimport {\n useCachedKeywordsForRemoteAutocomplete,\n useDamCachedKeywords,\n} from '@/domains/dam/keyword/composables/cachedKeywords'\nimport type { DamKeyword } from '@/domains/dam/keyword/types/DamKeyword'\nimport { isArray, isUndefined } from '@/shared/utils/common'\nimport AFormRemoteAutocompleteWithCached from '@/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue'\nimport KeywordRemoteAutocompleteCachedKeywordChip from '@/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue'\nimport { createKeyword } from '@/domains/dam/keyword/api/keywordApi'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useDamKeywordFactory } from '@/domains/dam/keyword/factory/KeywordFactory'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport { useKeywordInnerFilter } from '@/domains/dam/keyword/filter/KeywordFilter'\nimport { FilterInnerConfigKey, FilterInnerDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport { useAclAllowed } from '@/domains/auth/composables/aclAllowed'\nimport type { DamFieldsDisabledAs } from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: DocId | null | DocId[] | any\n extSystem: IntegerId\n queueId?: string | undefined\n label?: string | undefined\n required?: boolean | null\n disabled?: boolean | undefined\n multiple?: boolean\n clearable?: boolean\n dataCy?: string\n validationScope?: ValidationScope\n /** How it looks while disabled: keyword chips (current library behaviour), or the input switched off. */\n disabledAs?: DamFieldsDisabledAs\n /** DAM configuration to use. Defaults to the parent component's, else `default`. */\n configName?: string\n }>(),\n {\n label: undefined,\n queueId: undefined,\n required: null,\n disabled: undefined,\n multiple: false,\n clearable: false,\n dataCy: undefined,\n validationScope: undefined,\n disabledAs: 'chips',\n configName: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: DocId | null | DocId[]): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue) {\n emit('update:modelValue', [...newValue])\n },\n})\n\nconst search = ref<string>('')\nconst loadingLocal = ref(false)\nconst fetchedItemsMinimal = ref<Map<IntegerId | DocId, any>>(new Map())\n\nconst requiredComputed = computed(() => !!props.required)\n\nconst { requiredIf } = useValidate()\n\nconst rules = {\n modelValueComputed: {\n required: requiredIf(requiredComputed),\n },\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst v$ = useVuelidate(rules, { modelValueComputed }, { $scope: props.validationScope })\n\nconst { damClient, endPointKeyword, keywordCreateAcl } = useCommonAdminCoreDamOptions(damConfigName)\nconst createAllowed = useAclAllowed(keywordCreateAcl ?? undefined)\nconst { getDamConfigExtSystem } = useDamConfigState(undefined, damConfigName)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst configExtSystem = getDamConfigExtSystem(props.extSystem)\nif (isUndefined(configExtSystem)) {\n throw new Error('KeywordRemoteAutocompleteWithCached: Ext system must be initialised.')\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { fetchItemsMinimal } = useKeywordSelectActions(props.extSystem, damConfigName)\n\nconst { filterData, filterConfig } = useKeywordInnerFilter()\nprovide(FilterInnerConfigKey, filterConfig)\nprovide(FilterInnerDataKey, filterData)\n\nconst addNewKeywordText = ref('')\n\nconst searchChange = (newValue: string) => {\n if (newValue.length > 0) addNewKeywordText.value = removeLastComma(newValue)\n}\n\nconst { addManualToCachedKeywords } = useDamCachedKeywords(damConfigName)\n// The inner input reads this cache only once.\nconst useCachedOfName = () => useCachedKeywordsForRemoteAutocomplete(damConfigName)\n\nconst afterCreate = (keyword: DamKeyword) => {\n addManualToCachedKeywords(keyword)\n if (isArray(modelValueComputed.value)) {\n modelValueComputed.value = [...modelValueComputed.value, keyword.id]\n search.value = ''\n return\n }\n modelValueComputed.value = keyword.id\n search.value = ''\n}\n\nconst itemSlotIsSelected = (item: DocId) => {\n if (isArray(modelValueComputed.value)) {\n return modelValueComputed.value.includes(item)\n } else if (modelValueComputed.value) {\n return modelValueComputed.value === item\n }\n return false\n}\n\nconst { showErrorsDefault } = useAlerts()\nconst { createDefault } = useDamKeywordFactory()\n\nconst createOrSelectKeyword = async (name: string) => {\n const keywordCreate = createDefault(props.extSystem, true)\n keywordCreate.name = removeLastComma(name)\n if (keywordCreate.name.length < 2) return\n try {\n const keywordRes = await createKeyword(damClient, endPointKeyword, keywordCreate)\n afterCreate(keywordRes)\n } catch (error) {\n showErrorsDefault(error)\n }\n}\n\nconst removeLastComma = (value: string) => {\n if (value.endsWith(',')) return value.slice(0, -1)\n return value\n}\n\nconst onEnterKeyup = () => {\n if (!createAllowed.value) return\n const value = removeLastComma(search.value)\n createOrSelectKeyword(value)\n}\n\nconst onCommaKeyup = () => {\n if (!createAllowed.value) return\n const value = removeLastComma(search.value)\n createOrSelectKeyword(value)\n}\n\nconst showAdd = computed(() => {\n if (!createAllowed.value) return false\n if (loadingLocal.value) return false\n if (search.value.length < 2 || search.value.length > 255) return false\n if (fetchedItemsMinimal.value.size === 0) return true\n return ![...fetchedItemsMinimal.value.values()].some(\n (item) => item.name?.toLowerCase() === search.value!.toLowerCase()\n )\n})\n</script>\n\n<template>\n <div class=\"d-flex\">\n <ARow\n v-if=\"disabled && disabledAs === 'chips' && multiple\"\n :title=\"label\"\n >\n <KeywordRemoteAutocompleteCachedKeywordChip\n v-for=\"id in modelValueComputed\"\n :id=\"id\"\n :key=\"id\"\n :queue-id=\"queueId\"\n force-rounded\n class=\"mr-1 mb-1\"\n />\n </ARow>\n <ARow\n v-else-if=\"disabled && disabledAs === 'chips' && !multiple\"\n :title=\"label\"\n >\n <KeywordRemoteAutocompleteCachedKeywordChip\n :id=\"modelValueComputed\"\n :key=\"modelValueComputed\"\n :queue-id=\"queueId\"\n force-rounded\n />\n </ARow>\n <AFormRemoteAutocompleteWithCached\n v-else\n v-model=\"modelValueComputed\"\n v-model:search=\"search\"\n v-model:loading-local=\"loadingLocal\"\n v-model:fetched-items-minimal=\"fetchedItemsMinimal\"\n :use-cached=\"useCachedOfName\"\n :v=\"v$\"\n :required=\"requiredComputed\"\n :label=\"label\"\n :fetch-items-minimal=\"fetchItemsMinimal\"\n :multiple=\"multiple\"\n :clearable=\"clearable\"\n :disabled=\"disabled || undefined\"\n filter-by-field=\"text\"\n :filter-sort-by=\"null\"\n item-title=\"name\"\n item-value=\"id\"\n :data-cy=\"dataCy\"\n :min-search-chars=\"2\"\n min-search-text=\"common.damImage.keyword.filterMinChars\"\n @search-change=\"searchChange\"\n @keyup.enter=\"onEnterKeyup\"\n @keyup.,=\"onCommaKeyup\"\n >\n <template #item=\"{ props: itemSlotProps, item: itemSlotItem }\">\n <VListItem\n v-if=\"itemSlotItem\"\n v-bind=\"itemSlotProps\"\n @click.prevent=\"\"\n >\n <template\n v-if=\"multiple\"\n #prepend\n >\n <VCheckboxBtn\n :model-value=\"itemSlotIsSelected(itemSlotItem.value)\"\n :ripple=\"false\"\n />\n </template>\n <template #title>\n <KeywordRemoteAutocompleteCachedKeywordChip\n :id=\"itemSlotItem.value\"\n :key=\"itemSlotItem.value\"\n :queue-id=\"queueId\"\n :title=\"itemSlotItem.title\"\n text-only\n />\n </template>\n </VListItem>\n </template>\n <!--\n Pass only the chip's close. Its other props (`onMousedown`)\n would stop a press on the chip from opening the list.\n -->\n <template #chip=\"{ props: chipSlotProps, item: chipSlotItem }\">\n <KeywordRemoteAutocompleteCachedKeywordChip\n v-if=\"chipSlotItem\"\n :id=\"chipSlotItem.value\"\n :key=\"chipSlotItem.value\"\n :chip-props=\"{ 'onClick:close': chipSlotProps['onClick:close'] }\"\n :queue-id=\"queueId\"\n :title=\"chipSlotItem.title\"\n force-rounded\n />\n </template>\n <template #append-item>\n <VListItem\n v-if=\"showAdd\"\n class=\"a-keywords-append-item\"\n >\n <ABtnSecondary\n size=\"small\"\n :text=\"addNewKeywordText\"\n prepend-icon=\"mdi-plus-circle\"\n @click.stop=\"onCommaKeyup\"\n />\n </VListItem>\n </template>\n </AFormRemoteAutocompleteWithCached>\n </div>\n</template>\n\n<style lang=\"scss\" scoped>\n.a-keywords-append-item {\n position: sticky;\n bottom: 0;\n // Use the menu surface color. A white bar showed in the dark theme.\n background-color: rgb(var(--v-theme-surface));\n transform: translateY(8px);\n}\n</style>\n"],"mappings":""}
|
|
@@ -12,9 +12,9 @@ type __VLS_Props = {
|
|
|
12
12
|
clearable?: boolean;
|
|
13
13
|
dataCy?: string;
|
|
14
14
|
validationScope?: ValidationScope;
|
|
15
|
-
/**
|
|
15
|
+
/** How it looks while disabled: keyword chips (current library behaviour), or the input switched off. */
|
|
16
16
|
disabledAs?: DamFieldsDisabledAs;
|
|
17
|
-
/**
|
|
17
|
+
/** DAM configuration to use. Defaults to the parent component's, else `default`. */
|
|
18
18
|
configName?: string;
|
|
19
19
|
};
|
|
20
20
|
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeywordRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js","names":["_resolveComponent","_openBlock","_createElementBlock","_createBlock","ARow","_withCtx","_Fragment","_renderList","KeywordRemoteAutocompleteCachedKeywordChip","AFormRemoteAutocompleteWithCached","_unref","_withKeys","_component_VListItem","_mergeProps","_withModifiers","_createSlots","_createVNode","_component_VCheckboxBtn","_createCommentVNode","ARow_default","AFormRemoteAutocompleteWithCached_default","KeywordRemoteAutocompleteCachedKeywordChip_default","useVuelidate","_hoisted_1","KeywordRemoteAutocompleteWithCached_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","damConfigName","useDamConfigName","modelValueComputed","computed","newValue","search","ref","loadingLocal","fetchedItemsMinimal","requiredComputed","useValidate","rules","requiredIf","v$","useCommonAdminCoreDamOptions","createAllowed","useAclAllowed","keywordCreateAcl","useDamConfigState","configExtSystem","getDamConfigExtSystem","isUndefined","useKeywordSelectActions","useKeywordInnerFilter","provide","FilterInnerConfigKey","filterConfig","FilterInnerDataKey","filterData","addNewKeywordText","searchChange","removeLastComma","useDamCachedKeywords","useCachedOfName","useCachedKeywordsForRemoteAutocomplete","afterCreate","addManualToCachedKeywords","keyword","isArray","itemSlotIsSelected","item","useAlerts","useDamKeywordFactory","createOrSelectKeyword","keywordCreate","createDefault","name","keywordRes","createKeyword","damClient","endPointKeyword","error","value","onEnterKeyup","onCommaKeyup","showAdd","_component_ABtnSecondary","resolveComponent","openBlock","createElementBlock","createBlock","withCtx","Fragment","renderList","id","_cache","$event","unref","fetchItemsMinimal","withKeys","itemSlotProps","itemSlotItem","VListItem","mergeProps","withModifiers","createSlots","createVNode","VCheckboxBtn","createCommentVNode","chipSlotProps","chipSlotItem"],"sources":["../../../../../src/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport type { ValidationScope } from '@/shared/types/Validation'\nimport { computed, provide, ref } from 'vue'\nimport { useValidate } from '@/shared/validators/vuelidate/useValidate'\nimport useVuelidate from '@vuelidate/core'\nimport { useKeywordSelectActions } from '@/domains/dam/keyword/composables/keywordActions'\nimport {\n useCachedKeywordsForRemoteAutocomplete,\n useDamCachedKeywords,\n} from '@/domains/dam/keyword/composables/cachedKeywords'\nimport type { DamKeyword } from '@/domains/dam/keyword/types/DamKeyword'\nimport { isArray, isUndefined } from '@/shared/utils/common'\nimport AFormRemoteAutocompleteWithCached from '@/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue'\nimport KeywordRemoteAutocompleteCachedKeywordChip from '@/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue'\nimport { createKeyword } from '@/domains/dam/keyword/api/keywordApi'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useDamKeywordFactory } from '@/domains/dam/keyword/factory/KeywordFactory'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport { useKeywordInnerFilter } from '@/domains/dam/keyword/filter/KeywordFilter'\nimport { FilterInnerConfigKey, FilterInnerDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport { useAclAllowed } from '@/domains/auth/composables/aclAllowed'\nimport type { DamFieldsDisabledAs } from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: DocId | null | DocId[] | any\n extSystem: IntegerId\n queueId?: string | undefined\n label?: string | undefined\n required?: boolean | null\n disabled?: boolean | undefined\n multiple?: boolean\n clearable?: boolean\n dataCy?: string\n validationScope?: ValidationScope\n /** While disabled: the chips of the keywords (today's library), or the input switched off. */\n disabledAs?: DamFieldsDisabledAs\n /** The DAM configuration to work under. Left out: that of the component it is in, else `default`. */\n configName?: string\n }>(),\n {\n label: undefined,\n queueId: undefined,\n required: null,\n disabled: undefined,\n multiple: false,\n clearable: false,\n dataCy: undefined,\n validationScope: undefined,\n disabledAs: 'chips',\n configName: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: DocId | null | DocId[]): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue) {\n emit('update:modelValue', [...newValue])\n },\n})\n\nconst search = ref<string>('')\nconst loadingLocal = ref(false)\nconst fetchedItemsMinimal = ref<Map<IntegerId | DocId, any>>(new Map())\n\nconst requiredComputed = computed(() => !!props.required)\n\nconst { requiredIf } = useValidate()\n\nconst rules = {\n modelValueComputed: {\n required: requiredIf(requiredComputed),\n },\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst v$ = useVuelidate(rules, { modelValueComputed }, { $scope: props.validationScope })\n\nconst { damClient, endPointKeyword, keywordCreateAcl } = useCommonAdminCoreDamOptions(damConfigName)\nconst createAllowed = useAclAllowed(keywordCreateAcl ?? undefined)\nconst { getDamConfigExtSystem } = useDamConfigState(undefined, damConfigName)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst configExtSystem = getDamConfigExtSystem(props.extSystem)\nif (isUndefined(configExtSystem)) {\n throw new Error('KeywordRemoteAutocompleteWithCached: Ext system must be initialised.')\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { fetchItemsMinimal } = useKeywordSelectActions(props.extSystem, damConfigName)\n\nconst { filterData, filterConfig } = useKeywordInnerFilter()\nprovide(FilterInnerConfigKey, filterConfig)\nprovide(FilterInnerDataKey, filterData)\n\nconst addNewKeywordText = ref('')\n\nconst searchChange = (newValue: string) => {\n if (newValue.length > 0) addNewKeywordText.value = removeLastComma(newValue)\n}\n\nconst { addManualToCachedKeywords } = useDamCachedKeywords(damConfigName)\n// The cache of its configuration, which the inner input takes once.\nconst useCachedOfName = () => useCachedKeywordsForRemoteAutocomplete(damConfigName)\n\nconst afterCreate = (keyword: DamKeyword) => {\n addManualToCachedKeywords(keyword)\n if (isArray(modelValueComputed.value)) {\n modelValueComputed.value = [...modelValueComputed.value, keyword.id]\n search.value = ''\n return\n }\n modelValueComputed.value = keyword.id\n search.value = ''\n}\n\nconst itemSlotIsSelected = (item: DocId) => {\n if (isArray(modelValueComputed.value)) {\n return modelValueComputed.value.includes(item)\n } else if (modelValueComputed.value) {\n return modelValueComputed.value === item\n }\n return false\n}\n\nconst { showErrorsDefault } = useAlerts()\nconst { createDefault } = useDamKeywordFactory()\n\nconst createOrSelectKeyword = async (name: string) => {\n const keywordCreate = createDefault(props.extSystem, true)\n keywordCreate.name = removeLastComma(name)\n if (keywordCreate.name.length < 2) return\n try {\n const keywordRes = await createKeyword(damClient, endPointKeyword, keywordCreate)\n afterCreate(keywordRes)\n } catch (error) {\n showErrorsDefault(error)\n }\n}\n\nconst removeLastComma = (value: string) => {\n if (value.endsWith(',')) return value.slice(0, -1)\n return value\n}\n\nconst onEnterKeyup = () => {\n if (!createAllowed.value) return\n const value = removeLastComma(search.value)\n createOrSelectKeyword(value)\n}\n\nconst onCommaKeyup = () => {\n if (!createAllowed.value) return\n const value = removeLastComma(search.value)\n createOrSelectKeyword(value)\n}\n\nconst showAdd = computed(() => {\n if (!createAllowed.value) return false\n if (loadingLocal.value) return false\n if (search.value.length < 2 || search.value.length > 255) return false\n if (fetchedItemsMinimal.value.size === 0) return true\n return ![...fetchedItemsMinimal.value.values()].some(\n (item) => item.name?.toLowerCase() === search.value!.toLowerCase()\n )\n})\n</script>\n\n<template>\n <div class=\"d-flex\">\n <ARow\n v-if=\"disabled && disabledAs === 'chips' && multiple\"\n :title=\"label\"\n >\n <KeywordRemoteAutocompleteCachedKeywordChip\n v-for=\"id in modelValueComputed\"\n :id=\"id\"\n :key=\"id\"\n :queue-id=\"queueId\"\n force-rounded\n class=\"mr-1 mb-1\"\n />\n </ARow>\n <ARow\n v-else-if=\"disabled && disabledAs === 'chips' && !multiple\"\n :title=\"label\"\n >\n <KeywordRemoteAutocompleteCachedKeywordChip\n :id=\"modelValueComputed\"\n :key=\"modelValueComputed\"\n :queue-id=\"queueId\"\n force-rounded\n />\n </ARow>\n <AFormRemoteAutocompleteWithCached\n v-else\n v-model=\"modelValueComputed\"\n v-model:search=\"search\"\n v-model:loading-local=\"loadingLocal\"\n v-model:fetched-items-minimal=\"fetchedItemsMinimal\"\n :use-cached=\"useCachedOfName\"\n :v=\"v$\"\n :required=\"requiredComputed\"\n :label=\"label\"\n :fetch-items-minimal=\"fetchItemsMinimal\"\n :multiple=\"multiple\"\n :clearable=\"clearable\"\n :disabled=\"disabled || undefined\"\n filter-by-field=\"text\"\n :filter-sort-by=\"null\"\n item-title=\"name\"\n item-value=\"id\"\n :data-cy=\"dataCy\"\n :min-search-chars=\"2\"\n min-search-text=\"common.damImage.keyword.filterMinChars\"\n @search-change=\"searchChange\"\n @keyup.enter=\"onEnterKeyup\"\n @keyup.,=\"onCommaKeyup\"\n >\n <template #item=\"{ props: itemSlotProps, item: itemSlotItem }\">\n <VListItem\n v-if=\"itemSlotItem\"\n v-bind=\"itemSlotProps\"\n @click.prevent=\"\"\n >\n <template\n v-if=\"multiple\"\n #prepend\n >\n <VCheckboxBtn\n :model-value=\"itemSlotIsSelected(itemSlotItem.value)\"\n :ripple=\"false\"\n />\n </template>\n <template #title>\n <KeywordRemoteAutocompleteCachedKeywordChip\n :id=\"itemSlotItem.value\"\n :key=\"itemSlotItem.value\"\n :queue-id=\"queueId\"\n :title=\"itemSlotItem.title\"\n text-only\n />\n </template>\n </VListItem>\n </template>\n <!-- Only the close of the slot's chip: its other props (`onMousedown`) would keep a press on the chip from\n opening the list, as it does. -->\n <template #chip=\"{ props: chipSlotProps, item: chipSlotItem }\">\n <KeywordRemoteAutocompleteCachedKeywordChip\n v-if=\"chipSlotItem\"\n :id=\"chipSlotItem.value\"\n :key=\"chipSlotItem.value\"\n :chip-props=\"{ 'onClick:close': chipSlotProps['onClick:close'] }\"\n :queue-id=\"queueId\"\n :title=\"chipSlotItem.title\"\n force-rounded\n />\n </template>\n <template #append-item>\n <VListItem\n v-if=\"showAdd\"\n class=\"a-keywords-append-item\"\n >\n <ABtnSecondary\n size=\"small\"\n :text=\"addNewKeywordText\"\n prepend-icon=\"mdi-plus-circle\"\n @click.stop=\"onCommaKeyup\"\n />\n </VListItem>\n </template>\n </AFormRemoteAutocompleteWithCached>\n </div>\n</template>\n\n<style lang=\"scss\" scoped>\n.a-keywords-append-item {\n position: sticky;\n bottom: 0;\n // The menu's own surface: a white bar sat in the dark theme's menu.\n background-color: rgb(var(--v-theme-surface));\n transform: translateY(8px);\n}\n</style>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"KeywordRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js","names":["_resolveComponent","_openBlock","_createElementBlock","_createBlock","ARow","_withCtx","_Fragment","_renderList","KeywordRemoteAutocompleteCachedKeywordChip","AFormRemoteAutocompleteWithCached","_unref","_withKeys","_component_VListItem","_mergeProps","_withModifiers","_createSlots","_createVNode","_component_VCheckboxBtn","_createCommentVNode","ARow_default","AFormRemoteAutocompleteWithCached_default","KeywordRemoteAutocompleteCachedKeywordChip_default","useVuelidate","_hoisted_1","KeywordRemoteAutocompleteWithCached_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","damConfigName","useDamConfigName","modelValueComputed","computed","newValue","search","ref","loadingLocal","fetchedItemsMinimal","requiredComputed","useValidate","rules","requiredIf","v$","useCommonAdminCoreDamOptions","createAllowed","useAclAllowed","keywordCreateAcl","useDamConfigState","configExtSystem","getDamConfigExtSystem","isUndefined","useKeywordSelectActions","useKeywordInnerFilter","provide","FilterInnerConfigKey","filterConfig","FilterInnerDataKey","filterData","addNewKeywordText","searchChange","removeLastComma","useDamCachedKeywords","useCachedOfName","useCachedKeywordsForRemoteAutocomplete","afterCreate","addManualToCachedKeywords","keyword","isArray","itemSlotIsSelected","item","useAlerts","useDamKeywordFactory","createOrSelectKeyword","keywordCreate","createDefault","name","keywordRes","createKeyword","damClient","endPointKeyword","error","value","onEnterKeyup","onCommaKeyup","showAdd","_component_ABtnSecondary","resolveComponent","openBlock","createElementBlock","createBlock","withCtx","Fragment","renderList","id","_cache","$event","unref","fetchItemsMinimal","withKeys","itemSlotProps","itemSlotItem","VListItem","mergeProps","withModifiers","createSlots","createVNode","VCheckboxBtn","createCommentVNode","chipSlotProps","chipSlotItem"],"sources":["../../../../../src/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport type { ValidationScope } from '@/shared/types/Validation'\nimport { computed, provide, ref } from 'vue'\nimport { useValidate } from '@/shared/validators/vuelidate/useValidate'\nimport useVuelidate from '@vuelidate/core'\nimport { useKeywordSelectActions } from '@/domains/dam/keyword/composables/keywordActions'\nimport {\n useCachedKeywordsForRemoteAutocomplete,\n useDamCachedKeywords,\n} from '@/domains/dam/keyword/composables/cachedKeywords'\nimport type { DamKeyword } from '@/domains/dam/keyword/types/DamKeyword'\nimport { isArray, isUndefined } from '@/shared/utils/common'\nimport AFormRemoteAutocompleteWithCached from '@/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue'\nimport KeywordRemoteAutocompleteCachedKeywordChip from '@/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue'\nimport { createKeyword } from '@/domains/dam/keyword/api/keywordApi'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useDamKeywordFactory } from '@/domains/dam/keyword/factory/KeywordFactory'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport { useKeywordInnerFilter } from '@/domains/dam/keyword/filter/KeywordFilter'\nimport { FilterInnerConfigKey, FilterInnerDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport { useAclAllowed } from '@/domains/auth/composables/aclAllowed'\nimport type { DamFieldsDisabledAs } from '@/domains/dam/uploadQueue/components/uploadQueueBindings'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: DocId | null | DocId[] | any\n extSystem: IntegerId\n queueId?: string | undefined\n label?: string | undefined\n required?: boolean | null\n disabled?: boolean | undefined\n multiple?: boolean\n clearable?: boolean\n dataCy?: string\n validationScope?: ValidationScope\n /** How it looks while disabled: keyword chips (current library behaviour), or the input switched off. */\n disabledAs?: DamFieldsDisabledAs\n /** DAM configuration to use. Defaults to the parent component's, else `default`. */\n configName?: string\n }>(),\n {\n label: undefined,\n queueId: undefined,\n required: null,\n disabled: undefined,\n multiple: false,\n clearable: false,\n dataCy: undefined,\n validationScope: undefined,\n disabledAs: 'chips',\n configName: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: DocId | null | DocId[]): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst modelValueComputed = computed({\n get() {\n return props.modelValue\n },\n set(newValue) {\n emit('update:modelValue', [...newValue])\n },\n})\n\nconst search = ref<string>('')\nconst loadingLocal = ref(false)\nconst fetchedItemsMinimal = ref<Map<IntegerId | DocId, any>>(new Map())\n\nconst requiredComputed = computed(() => !!props.required)\n\nconst { requiredIf } = useValidate()\n\nconst rules = {\n modelValueComputed: {\n required: requiredIf(requiredComputed),\n },\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst v$ = useVuelidate(rules, { modelValueComputed }, { $scope: props.validationScope })\n\nconst { damClient, endPointKeyword, keywordCreateAcl } = useCommonAdminCoreDamOptions(damConfigName)\nconst createAllowed = useAclAllowed(keywordCreateAcl ?? undefined)\nconst { getDamConfigExtSystem } = useDamConfigState(undefined, damConfigName)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst configExtSystem = getDamConfigExtSystem(props.extSystem)\nif (isUndefined(configExtSystem)) {\n throw new Error('KeywordRemoteAutocompleteWithCached: Ext system must be initialised.')\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { fetchItemsMinimal } = useKeywordSelectActions(props.extSystem, damConfigName)\n\nconst { filterData, filterConfig } = useKeywordInnerFilter()\nprovide(FilterInnerConfigKey, filterConfig)\nprovide(FilterInnerDataKey, filterData)\n\nconst addNewKeywordText = ref('')\n\nconst searchChange = (newValue: string) => {\n if (newValue.length > 0) addNewKeywordText.value = removeLastComma(newValue)\n}\n\nconst { addManualToCachedKeywords } = useDamCachedKeywords(damConfigName)\n// The inner input reads this cache only once.\nconst useCachedOfName = () => useCachedKeywordsForRemoteAutocomplete(damConfigName)\n\nconst afterCreate = (keyword: DamKeyword) => {\n addManualToCachedKeywords(keyword)\n if (isArray(modelValueComputed.value)) {\n modelValueComputed.value = [...modelValueComputed.value, keyword.id]\n search.value = ''\n return\n }\n modelValueComputed.value = keyword.id\n search.value = ''\n}\n\nconst itemSlotIsSelected = (item: DocId) => {\n if (isArray(modelValueComputed.value)) {\n return modelValueComputed.value.includes(item)\n } else if (modelValueComputed.value) {\n return modelValueComputed.value === item\n }\n return false\n}\n\nconst { showErrorsDefault } = useAlerts()\nconst { createDefault } = useDamKeywordFactory()\n\nconst createOrSelectKeyword = async (name: string) => {\n const keywordCreate = createDefault(props.extSystem, true)\n keywordCreate.name = removeLastComma(name)\n if (keywordCreate.name.length < 2) return\n try {\n const keywordRes = await createKeyword(damClient, endPointKeyword, keywordCreate)\n afterCreate(keywordRes)\n } catch (error) {\n showErrorsDefault(error)\n }\n}\n\nconst removeLastComma = (value: string) => {\n if (value.endsWith(',')) return value.slice(0, -1)\n return value\n}\n\nconst onEnterKeyup = () => {\n if (!createAllowed.value) return\n const value = removeLastComma(search.value)\n createOrSelectKeyword(value)\n}\n\nconst onCommaKeyup = () => {\n if (!createAllowed.value) return\n const value = removeLastComma(search.value)\n createOrSelectKeyword(value)\n}\n\nconst showAdd = computed(() => {\n if (!createAllowed.value) return false\n if (loadingLocal.value) return false\n if (search.value.length < 2 || search.value.length > 255) return false\n if (fetchedItemsMinimal.value.size === 0) return true\n return ![...fetchedItemsMinimal.value.values()].some(\n (item) => item.name?.toLowerCase() === search.value!.toLowerCase()\n )\n})\n</script>\n\n<template>\n <div class=\"d-flex\">\n <ARow\n v-if=\"disabled && disabledAs === 'chips' && multiple\"\n :title=\"label\"\n >\n <KeywordRemoteAutocompleteCachedKeywordChip\n v-for=\"id in modelValueComputed\"\n :id=\"id\"\n :key=\"id\"\n :queue-id=\"queueId\"\n force-rounded\n class=\"mr-1 mb-1\"\n />\n </ARow>\n <ARow\n v-else-if=\"disabled && disabledAs === 'chips' && !multiple\"\n :title=\"label\"\n >\n <KeywordRemoteAutocompleteCachedKeywordChip\n :id=\"modelValueComputed\"\n :key=\"modelValueComputed\"\n :queue-id=\"queueId\"\n force-rounded\n />\n </ARow>\n <AFormRemoteAutocompleteWithCached\n v-else\n v-model=\"modelValueComputed\"\n v-model:search=\"search\"\n v-model:loading-local=\"loadingLocal\"\n v-model:fetched-items-minimal=\"fetchedItemsMinimal\"\n :use-cached=\"useCachedOfName\"\n :v=\"v$\"\n :required=\"requiredComputed\"\n :label=\"label\"\n :fetch-items-minimal=\"fetchItemsMinimal\"\n :multiple=\"multiple\"\n :clearable=\"clearable\"\n :disabled=\"disabled || undefined\"\n filter-by-field=\"text\"\n :filter-sort-by=\"null\"\n item-title=\"name\"\n item-value=\"id\"\n :data-cy=\"dataCy\"\n :min-search-chars=\"2\"\n min-search-text=\"common.damImage.keyword.filterMinChars\"\n @search-change=\"searchChange\"\n @keyup.enter=\"onEnterKeyup\"\n @keyup.,=\"onCommaKeyup\"\n >\n <template #item=\"{ props: itemSlotProps, item: itemSlotItem }\">\n <VListItem\n v-if=\"itemSlotItem\"\n v-bind=\"itemSlotProps\"\n @click.prevent=\"\"\n >\n <template\n v-if=\"multiple\"\n #prepend\n >\n <VCheckboxBtn\n :model-value=\"itemSlotIsSelected(itemSlotItem.value)\"\n :ripple=\"false\"\n />\n </template>\n <template #title>\n <KeywordRemoteAutocompleteCachedKeywordChip\n :id=\"itemSlotItem.value\"\n :key=\"itemSlotItem.value\"\n :queue-id=\"queueId\"\n :title=\"itemSlotItem.title\"\n text-only\n />\n </template>\n </VListItem>\n </template>\n <!--\n Pass only the chip's close. Its other props (`onMousedown`)\n would stop a press on the chip from opening the list.\n -->\n <template #chip=\"{ props: chipSlotProps, item: chipSlotItem }\">\n <KeywordRemoteAutocompleteCachedKeywordChip\n v-if=\"chipSlotItem\"\n :id=\"chipSlotItem.value\"\n :key=\"chipSlotItem.value\"\n :chip-props=\"{ 'onClick:close': chipSlotProps['onClick:close'] }\"\n :queue-id=\"queueId\"\n :title=\"chipSlotItem.title\"\n force-rounded\n />\n </template>\n <template #append-item>\n <VListItem\n v-if=\"showAdd\"\n class=\"a-keywords-append-item\"\n >\n <ABtnSecondary\n size=\"small\"\n :text=\"addNewKeywordText\"\n prepend-icon=\"mdi-plus-circle\"\n @click.stop=\"onCommaKeyup\"\n />\n </VListItem>\n </template>\n </AFormRemoteAutocompleteWithCached>\n </div>\n</template>\n\n<style lang=\"scss\" scoped>\n.a-keywords-append-item {\n position: sticky;\n bottom: 0;\n // Use the menu surface color. A white bar showed in the dark theme.\n background-color: rgb(var(--v-theme-surface));\n transform: translateY(8px);\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { DamKeyword, DamKeywordMinimal } from '../types/DamKeyword';
|
|
2
2
|
/**
|
|
3
|
-
* The
|
|
4
|
-
*
|
|
5
|
-
* `await`
|
|
6
|
-
*
|
|
3
|
+
* The keyword name cache of the DAM configuration `configName`.
|
|
4
|
+
* Without a name, the inherited one is used during setup, render
|
|
5
|
+
* or a lifecycle hook (not after an `await`), else `default`.
|
|
6
|
+
* After the plugin sets the options, an unknown configuration throws on every call and gets no cache.
|
|
7
|
+
* A name asked for before that gets a cache, and its first request checks the name.
|
|
7
8
|
*/
|
|
8
9
|
export declare const useDamCachedKeywords: (configName?: string) => {
|
|
9
10
|
addManualToCachedKeywords: (data: DamKeyword) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cachedKeywords.js","names":["mapFullToMinimal","keyword","mapIdToMinimal","defineCachedKeywords","defineCached","useExtSystemIdForCached","configName","useCommonAdminCoreDamOptions","fetchKeywordListByIds","damClient","endPointKeyword","cachedExtSystemId","ids","caches","cacheOf","name","inheritedDamConfigName","cache","useDamCachedKeywords","addManual","addManualMinimal","add","fetch","pin","unpin","toFetch","has","get","isLoaded","useCachedKeywordsForRemoteAutocomplete"],"sources":["../../../../../src/domains/dam/keyword/composables/cachedKeywords.ts"],"sourcesContent":["import type { DocId } from '@/shared/types/common'\nimport { defineCached } from '@/domains/cached/composables/defineCached'\nimport type { DamKeyword, DamKeywordMinimal } from '@/domains/dam/keyword/types/DamKeyword'\nimport { fetchKeywordListByIds } from '@/domains/dam/keyword/api/keywordApi'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { useExtSystemIdForCached } from '@/domains/dam/composables/extSystemIdForCached'\nimport { checkDamConfigName, inheritedDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst mapFullToMinimal = (keyword: DamKeyword): DamKeywordMinimal => ({\n id: keyword.id,\n name: keyword.name,\n})\n\nconst mapIdToMinimal = (id: DocId): DamKeywordMinimal => {\n return { id: id, name: '' }\n}\n\n//
|
|
1
|
+
{"version":3,"file":"cachedKeywords.js","names":["mapFullToMinimal","keyword","mapIdToMinimal","defineCachedKeywords","defineCached","useExtSystemIdForCached","configName","useCommonAdminCoreDamOptions","fetchKeywordListByIds","damClient","endPointKeyword","cachedExtSystemId","ids","caches","cacheOf","name","inheritedDamConfigName","cache","useDamCachedKeywords","addManual","addManualMinimal","add","fetch","pin","unpin","toFetch","has","get","isLoaded","useCachedKeywordsForRemoteAutocomplete"],"sources":["../../../../../src/domains/dam/keyword/composables/cachedKeywords.ts"],"sourcesContent":["import type { DocId } from '@/shared/types/common'\nimport { defineCached } from '@/domains/cached/composables/defineCached'\nimport type { DamKeyword, DamKeywordMinimal } from '@/domains/dam/keyword/types/DamKeyword'\nimport { fetchKeywordListByIds } from '@/domains/dam/keyword/api/keywordApi'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { useExtSystemIdForCached } from '@/domains/dam/composables/extSystemIdForCached'\nimport { checkDamConfigName, inheritedDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst mapFullToMinimal = (keyword: DamKeyword): DamKeywordMinimal => ({\n id: keyword.id,\n name: keyword.name,\n})\n\nconst mapIdToMinimal = (id: DocId): DamKeywordMinimal => {\n return { id: id, name: '' }\n}\n\n// Keyword name cache per DAM configuration, using that configuration's client, endpoint and ext system.\nconst defineCachedKeywords = (configName: string) =>\n defineCached<DocId, DamKeyword, DamKeywordMinimal>(mapFullToMinimal, mapIdToMinimal, (ids) => {\n const { cachedExtSystemId } = useExtSystemIdForCached(configName)\n const { damClient, endPointKeyword } = useCommonAdminCoreDamOptions(configName)\n return fetchKeywordListByIds(damClient, endPointKeyword, cachedExtSystemId.value, ids)\n })\n\n// One cache per configuration name, created on first use. The `default` one is created with the module.\nconst caches = new Map([['default', defineCachedKeywords('default')]])\nconst cacheOf = (configName?: string) => {\n const name = inheritedDamConfigName(configName)\n // Checked on every call: options set again (a test, a hot update) may have removed the name.\n checkDamConfigName(name)\n let cache = caches.get(name)\n if (!cache) {\n cache = defineCachedKeywords(name)\n caches.set(name, cache)\n }\n return cache\n}\n\n/**\n * The keyword name cache of the DAM configuration `configName`.\n * Without a name, the inherited one is used during setup, render\n * or a lifecycle hook (not after an `await`), else `default`.\n * After the plugin sets the options, an unknown configuration throws on every call and gets no cache.\n * A name asked for before that gets a cache, and its first request checks the name.\n */\nexport const useDamCachedKeywords = (configName?: string) => {\n const { cache, toFetch, fetch, add, addManual, addManualMinimal, pin, unpin, has, get, isLoaded } =\n cacheOf(configName)\n return {\n addManualToCachedKeywords: addManual,\n addManualMinimalToCachedKeywords: addManualMinimal,\n addToCachedKeywords: add,\n fetchCachedKeywords: fetch,\n pinCachedKeyword: pin,\n unpinCachedKeyword: unpin,\n toFetchCachedKeywords: toFetch,\n cachedKeywords: cache,\n hasCachedKeyword: has,\n getCachedKeyword: get,\n isLoadedCachedKeyword: isLoaded,\n }\n}\n\nexport const useCachedKeywordsForRemoteAutocomplete = (configName: string) => {\n const { fetch, add, addManualMinimal } = cacheOf(configName)\n return {\n fetch,\n add,\n addManualMinimal,\n }\n}\n"],"mappings":";;;;;;AAQA,IAAMA,KAAoB,OAA4C;CACpE,IAAIC,EAAQ;CACZ,MAAMA,EAAQ;AAChB,IAEMC,KAAkB,OACf;CAAM;CAAI,MAAM;AAAG,IAItBC,KAAwB,MAC5BC,EAAmDJ,GAAkBE,IAAiB,MAAQ;CAC5F,IAAM,EAAE,yBAAsBG,EAAwBC,CAAU,GAC1D,EAAE,cAAW,uBAAoBC,EAA6BD,CAAU;CAC9E,OAAOE,EAAsBC,GAAWC,GAAiBC,EAAkB,OAAOC,CAAG;AACvF,CAAC,GAGGC,oBAAS,IAAI,IAAI,CAAC,CAAC,WAAWV,EAAqB,SAAS,CAAC,CAAC,CAAC,GAC/DW,KAAW,MAAwB;CACvC,IAAMC,IAAOC,EAAuBV,CAAU;CAE9C,EAAmBS,CAAI;CACvB,IAAIE,IAAQJ,EAAO,IAAIE,CAAI;CAK3B,OAJKE,MACH,IAAQd,EAAqBY,CAAI,GACjCF,EAAO,IAAIE,GAAME,CAAK,IAEjBA;AACT,GASaC,KAAwB,MAAwB;CAC3D,IAAM,EAAE,UAAO,YAAS,UAAO,QAAK,cAAW,qBAAkB,QAAK,UAAO,QAAK,QAAK,gBACrFJ,EAAQR,CAAU;CACpB,OAAO;EACL,2BAA2Ba;EAC3B,kCAAkCC;EAClC,qBAAqBC;EACrB,qBAAqBC;EACrB,kBAAkBC;EAClB,oBAAoBC;EACpB,uBAAuBC;EACvB,gBAAgBR;EAChB,kBAAkBS;EAClB,kBAAkBC;EAClB,uBAAuBC;CACzB;AACF,GAEaC,KAA0C,MAAuB;CAC5E,IAAM,EAAE,UAAO,QAAK,wBAAqBf,EAAQR,CAAU;CAC3D,OAAO;EACL;EACA;EACA;CACF;AACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { DamAssetTypeType } from '../../types/Asset';
|
|
2
2
|
import { IntegerId } from '../../../../shared/types/common';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* the inherited one in
|
|
4
|
+
* Asset type rules of the ext system from the DAM configuration store of `configName`.
|
|
5
|
+
* Without a name, uses the inherited one in component setup, else `default`.
|
|
6
6
|
*/
|
|
7
7
|
export declare const useDamKeywordAssetTypeConfig: (assetType: DamAssetTypeType, extSystem: IntegerId, configName?: string) => {
|
|
8
8
|
keywordEnabled: import('vue').ComputedRef<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"damKeywordConfig.js","names":["useDamKeywordAssetTypeConfig","useDamConfigState","inheritedDamConfigName","configName","configExtSystem","getDamConfigExtSystem","extSystem","isUndefined","computed","assetType"],"sources":["../../../../../src/domains/dam/keyword/composables/damKeywordConfig.ts"],"sourcesContent":["import { computed } from 'vue'\nimport type { DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport { inheritedDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport type { IntegerId } from '@/shared/types/common'\nimport { isUndefined } from '@/shared/utils/common'\n\n/**\n *
|
|
1
|
+
{"version":3,"file":"damKeywordConfig.js","names":["useDamKeywordAssetTypeConfig","useDamConfigState","inheritedDamConfigName","configName","configExtSystem","getDamConfigExtSystem","extSystem","isUndefined","computed","assetType"],"sources":["../../../../../src/domains/dam/keyword/composables/damKeywordConfig.ts"],"sourcesContent":["import { computed } from 'vue'\nimport type { DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport { inheritedDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport type { IntegerId } from '@/shared/types/common'\nimport { isUndefined } from '@/shared/utils/common'\n\n/**\n * Asset type rules of the ext system from the DAM configuration store of `configName`.\n * Without a name, uses the inherited one in component setup, else `default`.\n */\nexport const useDamKeywordAssetTypeConfig = (\n assetType: DamAssetTypeType,\n extSystem: IntegerId,\n configName?: string\n) => {\n const { getDamConfigExtSystem } = useDamConfigState(undefined, inheritedDamConfigName(configName))\n\n const configExtSystem = getDamConfigExtSystem(extSystem)\n\n if (isUndefined(configExtSystem)) {\n throw new Error('useDamKeywordAssetTypeConfig: Ext system must be initialised.')\n }\n\n const keywordEnabled = computed(() => {\n return !!configExtSystem[assetType]?.keywords?.enabled\n })\n\n const keywordRequired = computed(() => {\n return !!configExtSystem[assetType]?.keywords?.required\n })\n\n return {\n keywordEnabled,\n keywordRequired,\n }\n}\n"],"mappings":";;;;;AAWA,IAAaA,KACX,GACA,GACA,MACG;CACH,IAAM,EAAE,6BAA0BC,EAAkB,KAAA,GAAWC,EAAuBC,CAAU,CAAC,GAE3FC,IAAkBC,EAAsBC,CAAS;CAEvD,IAAIC,EAAYH,CAAe,GAC7B,MAAU,MAAM,+DAA+D;CAWjF,OAAO;EACL,gBATqBI,QACd,CAAC,CAACJ,EAAgBK,EAAU,EAAE,UAAU,OAQ/C;EACA,iBANsBD,QACf,CAAC,CAACJ,EAAgBK,EAAU,EAAE,UAAU,QAK/C;CACF;AACF"}
|
|
@@ -31,7 +31,7 @@ export interface AssetFileProperties {
|
|
|
31
31
|
fromRss: boolean;
|
|
32
32
|
width: number;
|
|
33
33
|
height: number;
|
|
34
|
-
/** A synthesized
|
|
34
|
+
/** A synthesized (TTS) audio. Not every backend sends it. */
|
|
35
35
|
ttsAudio?: boolean;
|
|
36
36
|
}
|
|
37
37
|
interface Flags {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Asset.js","names":["DamAssetStatus","DamAssetStatusDefault","DamAssetType","DamAssetTypeDefault"],"sources":["../../../../src/domains/dam/types/Asset.ts"],"sourcesContent":["import type { DocId, DocIdNullable, IntegerId } from '@/shared/types/common'\nimport type { AnzuUserAndTimeTrackingAware } from '@/shared/types/AnzuUserAndTimeTrackingAware'\nimport type { ResourceNameSystemAware } from '@/shared/types/ResourceNameSystemAware'\nimport type { AssetFile } from '@/domains/dam/types/AssetFile'\n\ninterface Texts {\n displayTitle: string\n}\n\nexport type DamDistributionServiceName = string\n\nexport const DamAssetStatus = {\n Draft: 'draft',\n WithFile: 'with_file',\n Deleting: 'deleting',\n} as const\nexport type DamAssetStatusType = (typeof DamAssetStatus)[keyof typeof DamAssetStatus]\nexport const DamAssetStatusDefault = DamAssetStatus.Draft\n\nexport const DamAssetType = {\n Image: 'image',\n Audio: 'audio',\n Video: 'video',\n Document: 'document',\n} as const\nexport type DamAssetTypeType = (typeof DamAssetType)[keyof typeof DamAssetType]\nexport const DamAssetTypeDefault = DamAssetType.Image\n\ninterface Attributes {\n assetType: DamAssetTypeType\n assetStatus: DamAssetStatusType\n}\n\nexport interface AssetFileProperties {\n distributesInServices: DamDistributionServiceName[]\n slotNames: string[]\n fromRss: boolean\n width: number\n height: number\n /** A synthesized
|
|
1
|
+
{"version":3,"file":"Asset.js","names":["DamAssetStatus","DamAssetStatusDefault","DamAssetType","DamAssetTypeDefault"],"sources":["../../../../src/domains/dam/types/Asset.ts"],"sourcesContent":["import type { DocId, DocIdNullable, IntegerId } from '@/shared/types/common'\nimport type { AnzuUserAndTimeTrackingAware } from '@/shared/types/AnzuUserAndTimeTrackingAware'\nimport type { ResourceNameSystemAware } from '@/shared/types/ResourceNameSystemAware'\nimport type { AssetFile } from '@/domains/dam/types/AssetFile'\n\ninterface Texts {\n displayTitle: string\n}\n\nexport type DamDistributionServiceName = string\n\nexport const DamAssetStatus = {\n Draft: 'draft',\n WithFile: 'with_file',\n Deleting: 'deleting',\n} as const\nexport type DamAssetStatusType = (typeof DamAssetStatus)[keyof typeof DamAssetStatus]\nexport const DamAssetStatusDefault = DamAssetStatus.Draft\n\nexport const DamAssetType = {\n Image: 'image',\n Audio: 'audio',\n Video: 'video',\n Document: 'document',\n} as const\nexport type DamAssetTypeType = (typeof DamAssetType)[keyof typeof DamAssetType]\nexport const DamAssetTypeDefault = DamAssetType.Image\n\ninterface Attributes {\n assetType: DamAssetTypeType\n assetStatus: DamAssetStatusType\n}\n\nexport interface AssetFileProperties {\n distributesInServices: DamDistributionServiceName[]\n slotNames: string[]\n fromRss: boolean\n width: number\n height: number\n /** A synthesized (TTS) audio. Not every backend sends it. */\n ttsAudio?: boolean\n}\n\ninterface Flags {\n described: boolean\n visible: boolean\n}\n\nexport interface AssetMetadataSuggestions extends Record<string, Array<string>> {}\n\nexport type AssetCustomData = Record<string, any>\n\ninterface Metadata {\n authorSuggestions: AssetMetadataSuggestions\n keywordSuggestions: AssetMetadataSuggestions\n customData: any\n}\n\nexport interface AssetSearchListItemDto extends AnzuUserAndTimeTrackingAware, ResourceNameSystemAware {\n id: DocId\n texts: Texts\n attributes: Attributes\n flags: Flags\n licence: IntegerId\n mainFile: null | AssetFile\n podcasts: DocId[]\n assetFileProperties: AssetFileProperties\n mainFileSingleUse: Readonly<boolean | null>\n mainFileInternal: Readonly<boolean | null>\n mainFileOverrideInternal: Readonly<boolean | null>\n}\n\nexport interface AssetDetailItemDto extends AnzuUserAndTimeTrackingAware, ResourceNameSystemAware {\n id: DocId\n texts: Texts\n attributes: Attributes\n flags: Flags\n licence: IntegerId\n mainFile: null | AssetFile\n keywords: DocId[]\n authors: DocId[]\n podcasts: DocId[]\n metadata: Metadata\n siblingToAsset: DocIdNullable\n distributionCategory: DocIdNullable\n assetFileProperties: AssetFileProperties\n mainFileSingleUse: Readonly<boolean | null>\n mainFileInternal: Readonly<boolean | null>\n mainFileOverrideInternal: Readonly<boolean | null>\n}\n\nexport interface AssetMetadataDto extends AnzuUserAndTimeTrackingAware, ResourceNameSystemAware, Metadata {\n id: DocId\n customData: AssetCustomData\n}\n\nexport type AssetExternalProviderId = string | number\nexport type AssetExternalProviderIdNullable = AssetExternalProviderId | null\n\nexport type AssetExternalProviderMetadata = Record<string, string | number | number[] | string[] | boolean>\n\nexport interface DamImageCopyToLicenceRequestItem {\n asset: DocId\n targetAssetLicence: IntegerId\n}\n\nexport type DamImageCopyToLicenceRequest = Array<DamImageCopyToLicenceRequestItem>\n\nexport interface DamImageCopyToLicenceResponseItem {\n asset: DocId\n targetAsset: DocId\n targetMainFile: DocId\n targetAssetLicence: IntegerId\n result: 'exists' | 'copy' | 'notAllowed' | 'unassigned'\n assetConflicts: DocId[]\n}\n\nexport type DamImageCopyToLicenceResponse = Array<DamImageCopyToLicenceResponseItem>\n"],"mappings":";AAWA,IAAaA,IAAiB;CAC5B,OAAO;CACP,UAAU;CACV,UAAU;AACZ,GAEaC,IAAwBD,EAAe,OAEvCE,IAAe;CAC1B,OAAO;CACP,OAAO;CACP,OAAO;CACP,UAAU;AACZ,GAEaC,IAAsBD,EAAa"}
|
|
@@ -42,16 +42,17 @@ export interface UploadQueueItem {
|
|
|
42
42
|
assetId: DocIdNullable;
|
|
43
43
|
duplicateAssetId: DocIdNullable;
|
|
44
44
|
/**
|
|
45
|
-
* The asset the row pointed to when the server found its file a duplicate
|
|
46
|
-
*
|
|
47
|
-
*
|
|
45
|
+
* The asset the row pointed to when the server found its file a duplicate.
|
|
46
|
+
* That is the asset its upload made, or for a slot or mass-edit row the asset it edits.
|
|
47
|
+
* Once the row has become the original (library), `assetId`
|
|
48
|
+
* names the original. Null while the row is not a duplicate.
|
|
48
49
|
*/
|
|
49
50
|
uploadedAssetId?: DocIdNullable;
|
|
50
51
|
fileId: DocIdNullable;
|
|
51
52
|
externalProviderAssetId: AssetExternalProviderIdNullable;
|
|
52
53
|
externalProviderName: string | null;
|
|
53
54
|
externalProviderMetadata: AssetExternalProviderMetadata;
|
|
54
|
-
/** Aborts the chunk request in flight (Stop)
|
|
55
|
+
/** Aborts the chunk request in flight (Stop). A new one is created per chunk. */
|
|
55
56
|
latestChunkAbortController: AbortController | null;
|
|
56
57
|
chunkSize: number;
|
|
57
58
|
currentChunkIndex: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadQueue.js","names":["UploadQueueItemType","UploadQueueItemStatus"],"sources":["../../../../src/domains/dam/types/UploadQueue.ts"],"sourcesContent":["import type { DocId, DocIdNullable, IntegerId } from '@/shared/types/common'\nimport type {\n AssetExternalProviderIdNullable,\n AssetExternalProviderMetadata,\n DamAssetStatusType,\n DamAssetTypeType,\n} from '@/domains/dam/types/Asset'\nimport type { AssetFileFailReasonType, AssetFileLink } from '@/domains/dam/types/AssetFile'\nimport type { ImageAware } from '@/domains/dam/types/ImageAware'\n\nexport type UploadQueueKey = string\n\nexport interface UploadQueue {\n items: UploadQueueItem[]\n totalCount: number\n processedCount: number\n fileInputKey: number // used to reset html input file element\n\n suggestions: {\n newKeywordNames: Set<string>\n newAuthorNames: Set<string>\n }\n}\n\nexport const UploadQueueItemType = {\n File: 'file',\n Asset: 'asset',\n ExternalProviderAsset: 'externalProviderAsset',\n SlotFile: 'slotFile',\n} as const\nexport type UploadQueueItemTypeType = (typeof UploadQueueItemType)[keyof typeof UploadQueueItemType]\n\nexport const UploadQueueItemStatus = {\n Loading: 'loading', // loading additional api data\n Waiting: 'waiting', // waiting to be uploaded\n Uploading: 'uploading', // uploading right now\n Processing: 'processing', // all data sent by FE, server processing, waiting for notification, todo\n Failed: 'failed', // any error\n Uploaded: 'uploaded', // uploaded/ready after loading\n Stop: 'stop', // after hitting stop upload\n} as const\nexport type UploadQueueItemStatusType = (typeof UploadQueueItemStatus)[keyof typeof UploadQueueItemStatus]\n\nexport interface UploadQueueItem {\n key: string\n file: File | null\n status: UploadQueueItemStatusType\n assetStatus: DamAssetStatusType\n isDuplicate: boolean\n type: UploadQueueItemTypeType\n assetType: DamAssetTypeType\n displayTitle: string\n assetId: DocIdNullable\n duplicateAssetId: DocIdNullable\n /**\n * The asset the row pointed to when the server found its file a duplicate
|
|
1
|
+
{"version":3,"file":"UploadQueue.js","names":["UploadQueueItemType","UploadQueueItemStatus"],"sources":["../../../../src/domains/dam/types/UploadQueue.ts"],"sourcesContent":["import type { DocId, DocIdNullable, IntegerId } from '@/shared/types/common'\nimport type {\n AssetExternalProviderIdNullable,\n AssetExternalProviderMetadata,\n DamAssetStatusType,\n DamAssetTypeType,\n} from '@/domains/dam/types/Asset'\nimport type { AssetFileFailReasonType, AssetFileLink } from '@/domains/dam/types/AssetFile'\nimport type { ImageAware } from '@/domains/dam/types/ImageAware'\n\nexport type UploadQueueKey = string\n\nexport interface UploadQueue {\n items: UploadQueueItem[]\n totalCount: number\n processedCount: number\n fileInputKey: number // used to reset html input file element\n\n suggestions: {\n newKeywordNames: Set<string>\n newAuthorNames: Set<string>\n }\n}\n\nexport const UploadQueueItemType = {\n File: 'file',\n Asset: 'asset',\n ExternalProviderAsset: 'externalProviderAsset',\n SlotFile: 'slotFile',\n} as const\nexport type UploadQueueItemTypeType = (typeof UploadQueueItemType)[keyof typeof UploadQueueItemType]\n\nexport const UploadQueueItemStatus = {\n Loading: 'loading', // loading additional api data\n Waiting: 'waiting', // waiting to be uploaded\n Uploading: 'uploading', // uploading right now\n Processing: 'processing', // all data sent by FE, server processing, waiting for notification, todo\n Failed: 'failed', // any error\n Uploaded: 'uploaded', // uploaded/ready after loading\n Stop: 'stop', // after hitting stop upload\n} as const\nexport type UploadQueueItemStatusType = (typeof UploadQueueItemStatus)[keyof typeof UploadQueueItemStatus]\n\nexport interface UploadQueueItem {\n key: string\n file: File | null\n status: UploadQueueItemStatusType\n assetStatus: DamAssetStatusType\n isDuplicate: boolean\n type: UploadQueueItemTypeType\n assetType: DamAssetTypeType\n displayTitle: string\n assetId: DocIdNullable\n duplicateAssetId: DocIdNullable\n /**\n * The asset the row pointed to when the server found its file a duplicate.\n * That is the asset its upload made, or for a slot or mass-edit row the asset it edits.\n * Once the row has become the original (library), `assetId`\n * names the original. Null while the row is not a duplicate.\n */\n uploadedAssetId?: DocIdNullable\n fileId: DocIdNullable\n externalProviderAssetId: AssetExternalProviderIdNullable\n externalProviderName: string | null\n externalProviderMetadata: AssetExternalProviderMetadata\n /** Aborts the chunk request in flight (Stop). A new one is created per chunk. */\n latestChunkAbortController: AbortController | null\n chunkSize: number\n currentChunkIndex: number\n chunkTotalCount: number\n licenceId: IntegerId\n imagePreview?: AssetFileLink\n canEditMetadata: boolean\n keywords: DocId[]\n authors: DocId[]\n customData: any\n authorConflicts: DocId[]\n progress: {\n remainingTime: null | number\n progressPercent: null | number\n speed: null | number\n }\n error: {\n hasError: boolean\n message: string\n assetFileFailReason: AssetFileFailReasonType\n }\n /** @deprecated The queue polls for its rows itself; nothing sets or reads this. */\n notificationFallbackTimer: ReturnType<typeof setTimeout> | undefined\n /** @deprecated The queue polls for its rows itself; nothing reads this. */\n notificationFallbackTry: number\n slotName: string | null\n image: undefined | ImageAware // todo check\n mainFileSingleUse: boolean | null\n mainFileInternal: boolean | null\n}\n\nexport interface DamUploadStartResponse {\n id: DocId\n asset: DocId\n}\n"],"mappings":";AAwBA,IAAaA,IAAsB;CACjC,MAAM;CACN,OAAO;CACP,uBAAuB;CACvB,UAAU;AACZ,GAGaC,IAAwB;CACnC,SAAS;CACT,SAAS;CACT,WAAW;CACX,YAAY;CACZ,QAAQ;CACR,UAAU;CACV,MAAM;AACR"}
|
package/dist/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetCustomMetadataFormMassOperations.js","names":["_sfc_main","AssetCustomMetadataFormMassOperations_vue_vue_type_script_setup_true_lang_default","AssetCustomMetadataFormMassOperations_default"],"sources":["../../../../../src/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport type { DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport ACustomDataFormElement from '@/domains/customDataForm/components/ACustomDataFormElement.vue'\nimport { isUndefined } from '@/shared/utils/common'\nimport type { IntegerId } from '@/shared/types/common'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n assetType: DamAssetTypeType\n extSystem: IntegerId\n modelValue: { [key: string]: any }\n }>(),\n {}\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: any): void\n (e: 'fillEmptyField', data: { assetType: DamAssetTypeType; elementProperty: string; value: any }): void\n (e: 'replaceField', data: { assetType: DamAssetTypeType; elementProperty: string; value: any }): void\n}>()\n\nconst { t } = useI18n()\n\nconst updateModelValue = (data: { property: string; value: any }) => {\n const updated = {} as { [key: string]: any }\n updated[data.property] = data.value\n emit('update:modelValue', { ...props.modelValue, ...updated })\n}\n\nconst fillEmptyField = (elementProperty: string, value: any) => {\n emit('fillEmptyField', { assetType: props.assetType, elementProperty, value })\n}\nconst replaceField = (elementProperty: string, value: any) => {\n emit('replaceField', { assetType: props.assetType, elementProperty, value })\n}\n\nconst { getDamConfigAssetCustomFormElements } = useDamConfigState(undefined, useDamConfigName())\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst configAssetCustomFormElements = getDamConfigAssetCustomFormElements(props.extSystem)\nif (isUndefined(configAssetCustomFormElements)) {\n throw new Error('Custom form elements must be initialised.')\n}\n// A type whose read failed
|
|
1
|
+
{"version":3,"file":"AssetCustomMetadataFormMassOperations.js","names":["_sfc_main","AssetCustomMetadataFormMassOperations_vue_vue_type_script_setup_true_lang_default","AssetCustomMetadataFormMassOperations_default"],"sources":["../../../../../src/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport type { DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport ACustomDataFormElement from '@/domains/customDataForm/components/ACustomDataFormElement.vue'\nimport { isUndefined } from '@/shared/utils/common'\nimport type { IntegerId } from '@/shared/types/common'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n assetType: DamAssetTypeType\n extSystem: IntegerId\n modelValue: { [key: string]: any }\n }>(),\n {}\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: any): void\n (e: 'fillEmptyField', data: { assetType: DamAssetTypeType; elementProperty: string; value: any }): void\n (e: 'replaceField', data: { assetType: DamAssetTypeType; elementProperty: string; value: any }): void\n}>()\n\nconst { t } = useI18n()\n\nconst updateModelValue = (data: { property: string; value: any }) => {\n const updated = {} as { [key: string]: any }\n updated[data.property] = data.value\n emit('update:modelValue', { ...props.modelValue, ...updated })\n}\n\nconst fillEmptyField = (elementProperty: string, value: any) => {\n emit('fillEmptyField', { assetType: props.assetType, elementProperty, value })\n}\nconst replaceField = (elementProperty: string, value: any) => {\n emit('replaceField', { assetType: props.assetType, elementProperty, value })\n}\n\nconst { getDamConfigAssetCustomFormElements } = useDamConfigState(undefined, useDamConfigName())\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst configAssetCustomFormElements = getDamConfigAssetCustomFormElements(props.extSystem)\nif (isUndefined(configAssetCustomFormElements)) {\n throw new Error('Custom form elements must be initialised.')\n}\n// A type whose read failed while other reads succeeded is not loaded. The form shows that instead of its fields.\n// Throwing here would break the rest of the host panel.\nconst typeNotLoaded = computed(() => isUndefined(getDamConfigAssetCustomFormElements(props.extSystem, props.assetType)))\n\nconst elements = computed(() => {\n return configAssetCustomFormElements[props.assetType]\n})\n</script>\n\n<template>\n <div class=\"w-100\">\n <div\n v-if=\"typeNotLoaded\"\n class=\"text-error my-2\"\n >\n {{ t('common.damImage.error.loadingConfig') }}\n </div>\n <VRow\n v-for=\"element in elements\"\n :key=\"element.id\"\n density=\"compact\"\n class=\"mt-1\"\n >\n <VCol>\n <div v-if=\"element.attributes.readonly\" />\n <div\n v-else\n class=\"d-flex\"\n >\n <ACustomDataFormElement\n :config=\"element\"\n :model-value=\"modelValue[element.property]\"\n :validation-scope=\"false\"\n @update:model-value=\"updateModelValue\"\n />\n <VBtn\n :aria-label=\"t('common.damImage.asset.massOperations.fillOneEmptyField', { field: element.name })\"\n icon\n size=\"small\"\n variant=\"text\"\n class=\"mr-1\"\n @click.stop=\"fillEmptyField(element.property, modelValue[element.property])\"\n >\n <VIcon icon=\"mdi-file-arrow-left-right-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.fillOneEmpty') }}\n </VTooltip>\n </VBtn>\n <VBtn\n :aria-label=\"t('common.damImage.asset.massOperations.replaceOneField', { field: element.name })\"\n icon\n size=\"small\"\n variant=\"text\"\n @click.stop=\"replaceField(element.property, modelValue[element.property])\"\n >\n <VIcon icon=\"mdi-file-replace-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.replaceOne') }}\n </VTooltip>\n </VBtn>\n </div>\n </VCol>\n </VRow>\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetCustomMetadataFormMassOperations.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_toDisplayString","_unref","_createCommentVNode","_Fragment","_renderList","_createBlock","_component_VRow","_withCtx","_createVNode","_component_VCol","ACustomDataFormElement","_component_VBtn","_withModifiers","_component_VIcon","_component_VTooltip","_createTextVNode","ACustomDataFormElement_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","AssetCustomMetadataFormMassOperations_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","useI18n","updateModelValue","updated","data","fillEmptyField","replaceField","useDamConfigState","useDamConfigName","configAssetCustomFormElements","getDamConfigAssetCustomFormElements","isUndefined","typeNotLoaded","computed","elements","openBlock","createElementBlock","toDisplayString","unref","t","createCommentVNode","Fragment","renderList","createBlock","VRow","element","withCtx","createVNode","VCol","VBtn","withModifiers","VIcon","VTooltip","createTextVNode"],"sources":["../../../../../src/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport type { DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport ACustomDataFormElement from '@/domains/customDataForm/components/ACustomDataFormElement.vue'\nimport { isUndefined } from '@/shared/utils/common'\nimport type { IntegerId } from '@/shared/types/common'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n assetType: DamAssetTypeType\n extSystem: IntegerId\n modelValue: { [key: string]: any }\n }>(),\n {}\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: any): void\n (e: 'fillEmptyField', data: { assetType: DamAssetTypeType; elementProperty: string; value: any }): void\n (e: 'replaceField', data: { assetType: DamAssetTypeType; elementProperty: string; value: any }): void\n}>()\n\nconst { t } = useI18n()\n\nconst updateModelValue = (data: { property: string; value: any }) => {\n const updated = {} as { [key: string]: any }\n updated[data.property] = data.value\n emit('update:modelValue', { ...props.modelValue, ...updated })\n}\n\nconst fillEmptyField = (elementProperty: string, value: any) => {\n emit('fillEmptyField', { assetType: props.assetType, elementProperty, value })\n}\nconst replaceField = (elementProperty: string, value: any) => {\n emit('replaceField', { assetType: props.assetType, elementProperty, value })\n}\n\nconst { getDamConfigAssetCustomFormElements } = useDamConfigState(undefined, useDamConfigName())\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst configAssetCustomFormElements = getDamConfigAssetCustomFormElements(props.extSystem)\nif (isUndefined(configAssetCustomFormElements)) {\n throw new Error('Custom form elements must be initialised.')\n}\n// A type whose read failed
|
|
1
|
+
{"version":3,"file":"AssetCustomMetadataFormMassOperations.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_toDisplayString","_unref","_createCommentVNode","_Fragment","_renderList","_createBlock","_component_VRow","_withCtx","_createVNode","_component_VCol","ACustomDataFormElement","_component_VBtn","_withModifiers","_component_VIcon","_component_VTooltip","_createTextVNode","ACustomDataFormElement_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","AssetCustomMetadataFormMassOperations_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","useI18n","updateModelValue","updated","data","fillEmptyField","replaceField","useDamConfigState","useDamConfigName","configAssetCustomFormElements","getDamConfigAssetCustomFormElements","isUndefined","typeNotLoaded","computed","elements","openBlock","createElementBlock","toDisplayString","unref","t","createCommentVNode","Fragment","renderList","createBlock","VRow","element","withCtx","createVNode","VCol","VBtn","withModifiers","VIcon","VTooltip","createTextVNode"],"sources":["../../../../../src/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport type { DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport ACustomDataFormElement from '@/domains/customDataForm/components/ACustomDataFormElement.vue'\nimport { isUndefined } from '@/shared/utils/common'\nimport type { IntegerId } from '@/shared/types/common'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n assetType: DamAssetTypeType\n extSystem: IntegerId\n modelValue: { [key: string]: any }\n }>(),\n {}\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: any): void\n (e: 'fillEmptyField', data: { assetType: DamAssetTypeType; elementProperty: string; value: any }): void\n (e: 'replaceField', data: { assetType: DamAssetTypeType; elementProperty: string; value: any }): void\n}>()\n\nconst { t } = useI18n()\n\nconst updateModelValue = (data: { property: string; value: any }) => {\n const updated = {} as { [key: string]: any }\n updated[data.property] = data.value\n emit('update:modelValue', { ...props.modelValue, ...updated })\n}\n\nconst fillEmptyField = (elementProperty: string, value: any) => {\n emit('fillEmptyField', { assetType: props.assetType, elementProperty, value })\n}\nconst replaceField = (elementProperty: string, value: any) => {\n emit('replaceField', { assetType: props.assetType, elementProperty, value })\n}\n\nconst { getDamConfigAssetCustomFormElements } = useDamConfigState(undefined, useDamConfigName())\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst configAssetCustomFormElements = getDamConfigAssetCustomFormElements(props.extSystem)\nif (isUndefined(configAssetCustomFormElements)) {\n throw new Error('Custom form elements must be initialised.')\n}\n// A type whose read failed while other reads succeeded is not loaded. The form shows that instead of its fields.\n// Throwing here would break the rest of the host panel.\nconst typeNotLoaded = computed(() => isUndefined(getDamConfigAssetCustomFormElements(props.extSystem, props.assetType)))\n\nconst elements = computed(() => {\n return configAssetCustomFormElements[props.assetType]\n})\n</script>\n\n<template>\n <div class=\"w-100\">\n <div\n v-if=\"typeNotLoaded\"\n class=\"text-error my-2\"\n >\n {{ t('common.damImage.error.loadingConfig') }}\n </div>\n <VRow\n v-for=\"element in elements\"\n :key=\"element.id\"\n density=\"compact\"\n class=\"mt-1\"\n >\n <VCol>\n <div v-if=\"element.attributes.readonly\" />\n <div\n v-else\n class=\"d-flex\"\n >\n <ACustomDataFormElement\n :config=\"element\"\n :model-value=\"modelValue[element.property]\"\n :validation-scope=\"false\"\n @update:model-value=\"updateModelValue\"\n />\n <VBtn\n :aria-label=\"t('common.damImage.asset.massOperations.fillOneEmptyField', { field: element.name })\"\n icon\n size=\"small\"\n variant=\"text\"\n class=\"mr-1\"\n @click.stop=\"fillEmptyField(element.property, modelValue[element.property])\"\n >\n <VIcon icon=\"mdi-file-arrow-left-right-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.fillOneEmpty') }}\n </VTooltip>\n </VBtn>\n <VBtn\n :aria-label=\"t('common.damImage.asset.massOperations.replaceOneField', { field: element.name })\"\n icon\n size=\"small\"\n variant=\"text\"\n @click.stop=\"replaceField(element.property, modelValue[element.property])\"\n >\n <VIcon icon=\"mdi-file-replace-outline\" />\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.damImage.asset.massOperations.replaceOne') }}\n </VTooltip>\n </VBtn>\n </div>\n </VCol>\n </VRow>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUA,IAAMyB,IAAQC,GASRC,IAAOH,GAMP,EAAE,SAAMI,EAAQ,GAEhBC,KAAoB,MAA2C;GACnE,IAAMC,IAAU,CAAC;GAEjB,AADA,EAAQC,EAAK,YAAYA,EAAK,OAC9BJ,EAAK,qBAAqB;IAAE,GAAGF,EAAM;IAAY,GAAGK;GAAQ,CAAC;EAC/D,GAEME,KAAkB,GAAyB,MAAe;GAC9D,EAAK,kBAAkB;IAAE,WAAWP,EAAM;IAAW;IAAiB;GAAM,CAAC;EAC/E,GACMQ,KAAgB,GAAyB,MAAe;GAC5D,EAAK,gBAAgB;IAAE,WAAWR,EAAM;IAAW;IAAiB;GAAM,CAAC;EAC7E,GAEM,EAAE,2CAAwCS,EAAkB,KAAA,GAAWC,EAAiB,CAAC,GAEzFC,IAAgCC,EAAoCZ,EAAM,SAAS;EACzF,IAAIa,EAAYF,CAA6B,GAC3C,MAAU,MAAM,2CAA2C;EAI7D,IAAMG,IAAgBC,QAAeF,EAAYD,EAAoCZ,EAAM,WAAWA,EAAM,SAAS,CAAC,CAAC,GAEjHgB,IAAWD,QACRJ,EAA8BX,EAAM,UAC5C;E,kBAICzB,EAAA,GAAAC,EA2DM,OA3DNkB,GA2DM,CAzDIoB,EAAA,SADRvC,EAAA,GAAAC,EAKM,OALNmB,GAKMlB,EADDC,EAAA2C,CAAA,CAAC,CAAA,qCAAA,CAAA,GAAA,CAAA,K,YAEN9C,EAAA,EAAA,GAAAC,EAmDOI,GAAA,MAAAC,EAlDamC,EAAA,QAAX,OADTzC,EAAA,GAAAO,EAmDOC,GAAA;GAjDJ,KAAK4C,EAAQ;GACd,SAAQ;GACR,OAAM;;GAEN,SAAA3C,QA4CO,CA5CPC,EA4COC,GAAA,MAAA;IA3CL,SAAAF,QAA0C,CAA/B2C,EAAQ,WAAW,YAA9BpD,EAAA,GAAAC,EAA0C,OAAAoB,CAAA,MAC1CrB,EAAA,GAAAC,EAyCM,OAzCNqB,GAyCM;KArCJZ,EAKEE,GAAA;MAJC,QAAQwC;MACR,eAAa1B,EAAA,WAAW0B,EAAQ;MAChC,oBAAkB;MAClB,uBAAoBvB;;KAEvBnB,EAeOG,GAAA;MAdJ,cAAYV,EAAA2C,CAAA,CAAC,CAAA,0DAAA,EAAA,OAAoEM,EAAQ,KAAI,CAAA;MAC9F,MAAA;MACA,MAAK;MACL,SAAQ;MACR,OAAM;MACL,SAAKtC,GAAA,MAAOkB,EAAeoB,EAAQ,UAAU1B,EAAA,WAAW0B,EAAQ,SAAQ,GAAA,CAAA,MAAA,CAAA;;MAEzE,SAAA3C,QAAkD,CAAlDC,EAAkDK,GAAA,EAA3C,MAAK,oCAAmC,CAAA,GAC/CL,EAKWM,GAAA;OAJT,WAAU;OACV,UAAS;;OAET,SAAAP,QAA4D,CAAzDQ,EAAAf,EAAAC,EAAA2C,CAAA,CAAC,CAAA,mDAAA,CAAA,GAAA,CAAA,C;;;;;KAGRpC,EAcOG,GAAA;MAbJ,cAAYV,EAAA2C,CAAA,CAAC,CAAA,wDAAA,EAAA,OAAkEM,EAAQ,KAAI,CAAA;MAC5F,MAAA;MACA,MAAK;MACL,SAAQ;MACP,SAAKtC,GAAA,MAAOmB,EAAamB,EAAQ,UAAU1B,EAAA,WAAW0B,EAAQ,SAAQ,GAAA,CAAA,MAAA,CAAA;;MAEvE,SAAA3C,QAAyC,CAAzCC,EAAyCK,GAAA,EAAlC,MAAK,2BAA0B,CAAA,GACtCL,EAKWM,GAAA;OAJT,WAAU;OACV,UAAS;;OAET,SAAAP,QAA0D,CAAvDQ,EAAAf,EAAAC,EAAA2C,CAAA,CAAC,CAAA,iDAAA,CAAA,GAAA,CAAA,C"}
|