@anzusystems/common-admin 2.0.0-rc.5 → 2.0.0-rc.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/AnzuSystemsCommonAdmin.d.ts +42 -32
- package/dist/AnzuSystemsCommonAdmin.js.map +1 -1
- package/dist/common-admin.css +1 -1
- package/dist/common-admin.js +282 -282
- package/dist/domains/anzuUser/api/anzuUserApi.d.ts +9 -12
- package/dist/domains/anzuUser/api/anzuUserApi.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserDatatable.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserDatatable.vue.d.ts +38 -44
- package/dist/domains/anzuUser/components/AAnzuUserDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserFilter.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserFilter.vue.d.ts +12 -13
- package/dist/domains/anzuUser/components/AAnzuUserFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserForm.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserForm.vue.d.ts +18 -20
- package/dist/domains/anzuUser/components/AAnzuUserForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserRoleAutocomplete.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserRoleAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserBulkActionDialog.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserBulkActionDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.vue.d.ts +2 -3
- package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserCreateInSystemButton.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserCreateInSystemButton.vue.d.ts +9 -15
- package/dist/domains/anzuUser/components/AUserCreateInSystemButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserEnabledSwitch.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserEnabledSwitch.vue.d.ts +8 -7
- package/dist/domains/anzuUser/components/AUserEnabledSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserManageButton.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserManageButton.vue.d.ts +0 -1
- package/dist/domains/anzuUser/components/AUserManageButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserMetadataForm.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserMetadataForm.vue.d.ts +8 -9
- package/dist/domains/anzuUser/components/AUserMetadataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserOtherSystemsTable.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserOtherSystemsTable.vue.d.ts +1 -2
- package/dist/domains/anzuUser/components/AUserOtherSystemsTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemOverview.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemOverview.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemPanel.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemPanel.vue.d.ts +2 -2
- package/dist/domains/anzuUser/components/AUserSystemPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemStatusChip.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemStatusChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserTabsShell.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserTabsShell.vue.d.ts +17 -22
- package/dist/domains/anzuUser/components/AUserTabsShell.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/composables/anzuUserActions.d.ts +5 -9
- package/dist/domains/anzuUser/composables/anzuUserActions.js.map +1 -1
- package/dist/domains/anzuUser/composables/anzuUserValidations.d.ts +4 -6
- package/dist/domains/anzuUser/composables/anzuUserValidations.js.map +1 -1
- package/dist/domains/anzuUser/composables/cachedAnzuUsers.d.ts +3 -3
- package/dist/domains/anzuUser/composables/cachedAnzuUsers.js.map +1 -1
- package/dist/domains/anzuUser/composables/userCrossSystemSearch.d.ts +2 -4
- package/dist/domains/anzuUser/composables/userCrossSystemSearch.js.map +1 -1
- package/dist/domains/anzuUser/composables/userCrossSystemWrites.d.ts +5 -11
- package/dist/domains/anzuUser/composables/userCrossSystemWrites.js.map +1 -1
- package/dist/domains/anzuUser/composables/userSystemDescriptor.d.ts +33 -57
- package/dist/domains/anzuUser/composables/userSystemDescriptor.js.map +1 -1
- package/dist/domains/anzuUser/composables/userSystemProbe.d.ts +7 -27
- package/dist/domains/anzuUser/composables/userSystemProbe.js.map +1 -1
- package/dist/domains/anzuUser/filter/anzuUserFilter.d.ts +6 -16
- package/dist/domains/anzuUser/filter/anzuUserFilter.js.map +1 -1
- package/dist/domains/anzuUser/store/anzuUserStore.d.ts +1 -5
- package/dist/domains/anzuUser/store/anzuUserStore.js.map +1 -1
- package/dist/domains/anzuUser/store/userCrossSystemStore.d.ts +3 -14
- package/dist/domains/anzuUser/store/userCrossSystemStore.js.map +1 -1
- package/dist/domains/anzuUser/utils/userMetadataDiff.d.ts +7 -19
- package/dist/domains/anzuUser/utils/userMetadataDiff.js.map +1 -1
- package/dist/domains/anzuUser/utils/userSystemState.d.ts +12 -30
- package/dist/domains/anzuUser/utils/userSystemState.js.map +1 -1
- package/dist/domains/anzuUser/utils/userTabs.d.ts +1 -3
- package/dist/domains/anzuUser/utils/userTabs.js.map +1 -1
- package/dist/domains/api/composables/defineApiClient.d.ts +4 -8
- package/dist/domains/api/composables/defineApiClient.js.map +1 -1
- package/dist/domains/api/composables/request.d.ts +18 -48
- package/dist/domains/api/composables/request.js.map +1 -1
- package/dist/domains/api/composables/useApiFetchByIds.d.ts +7 -21
- package/dist/domains/api/composables/useApiFetchByIds.js.map +1 -1
- package/dist/domains/api/composables/useApiFetchItems.d.ts +18 -57
- package/dist/domains/api/composables/useApiFetchItems.js.map +1 -1
- package/dist/domains/api/composables/useApiFetchList.d.ts +7 -23
- package/dist/domains/api/composables/useApiFetchList.js.map +1 -1
- package/dist/domains/api/composables/useApiFetchListBatch.d.ts +5 -22
- package/dist/domains/api/composables/useApiFetchListBatch.js.map +1 -1
- package/dist/domains/api/composables/useApiQueryBuilder.js.map +1 -1
- package/dist/domains/api/composables/useApiRequest.d.ts +16 -39
- package/dist/domains/api/composables/useApiRequest.js.map +1 -1
- package/dist/domains/api/utils/apiErrors.d.ts +28 -55
- package/dist/domains/api/utils/apiErrors.js.map +1 -1
- package/dist/domains/api/utils/listBody.d.ts +22 -43
- package/dist/domains/api/utils/listBody.js.map +1 -1
- package/dist/domains/auth/components/Acl.js.map +1 -1
- package/dist/domains/auth/components/Acl.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/auth/composables/aclAllowed.d.ts +2 -3
- package/dist/domains/auth/composables/aclAllowed.js.map +1 -1
- package/dist/domains/auth/composables/defineAuth.js.map +1 -1
- package/dist/domains/auth/composables/refreshSession.d.ts +10 -13
- package/dist/domains/auth/composables/refreshSession.js.map +1 -1
- package/dist/domains/cached/components/ACachedChip.js.map +1 -1
- package/dist/domains/cached/components/ACachedChip.vue.d.ts +13 -11
- package/dist/domains/cached/components/ACachedChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/cached/components/ACachedUserChip.js +1 -1
- package/dist/domains/cached/components/ACachedUserChip.js.map +1 -1
- package/dist/domains/cached/components/ACachedUserChip.vue.d.ts +3 -3
- package/dist/domains/cached/components/ACachedUserChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/cached/composables/createUserAndTimeTrackingFields.d.ts +9 -9
- package/dist/domains/cached/composables/createUserAndTimeTrackingFields.js.map +1 -1
- package/dist/domains/cached/composables/defineCached.d.ts +13 -11
- package/dist/domains/cached/composables/defineCached.js.map +1 -1
- package/dist/domains/cached/composables/useCachedItem.d.ts +7 -8
- package/dist/domains/cached/composables/useCachedItem.js.map +1 -1
- package/dist/domains/collab/components/ACollabLockedByUser.js.map +1 -1
- package/dist/domains/collab/components/ACollabLockedByUser.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/collab/composables/collabAnyDataChange.js.map +1 -1
- package/dist/domains/collab/composables/collabField.d.ts +5 -3
- package/dist/domains/collab/composables/collabField.js.map +1 -1
- package/dist/domains/collab/composables/collabInit.js +58 -54
- package/dist/domains/collab/composables/collabInit.js.map +1 -1
- package/dist/domains/collab/composables/collabRecovery.d.ts +49 -0
- package/dist/domains/collab/composables/collabRecovery.js +99 -0
- package/dist/domains/collab/composables/collabRecovery.js.map +1 -0
- package/dist/domains/collab/composables/collabRoom.js +106 -106
- package/dist/domains/collab/composables/collabRoom.js.map +1 -1
- package/dist/domains/collab/composables/collabState.d.ts +11 -4
- package/dist/domains/collab/composables/collabState.js +34 -25
- package/dist/domains/collab/composables/collabState.js.map +1 -1
- package/dist/domains/collab/composables/commonAdminCollabOptions.d.ts +4 -2
- package/dist/domains/collab/types/Collab.d.ts +31 -5
- package/dist/domains/collab/types/Collab.js +23 -11
- package/dist/domains/collab/types/Collab.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataForm.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataForm.vue.d.ts +7 -5
- package/dist/domains/customDataForm/components/ACustomDataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataFormElement.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataFormElement.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.vue.d.ts +5 -3
- package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/customDataForm/composables/useCustomDataForm.js.map +1 -1
- package/dist/domains/customDataForm/types/CustomDataForm.d.ts +4 -1
- package/dist/domains/dam/api/damAssetApi.d.ts +7 -7
- package/dist/domains/dam/api/damAssetApi.js.map +1 -1
- package/dist/domains/dam/api/damAssetLicenceApi.d.ts +1 -1
- package/dist/domains/dam/api/damAssetLicenceApi.js.map +1 -1
- package/dist/domains/dam/api/damConstants.js.map +1 -1
- package/dist/domains/dam/api/damEndPoints.js.map +1 -1
- package/dist/domains/dam/api/damImageApi.js.map +1 -1
- package/dist/domains/dam/api/uploadApi.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue.d.ts +7 -5
- package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailDialog.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.vue.d.ts +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.vue.d.ts +5 -3
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarFrame.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarFrame.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarMetadata.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarROI.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarROI.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.vue.d.ts +1 -1
- package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetImage.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetImage.vue.d.ts +1 -1
- package/dist/domains/dam/assetDetail/components/AssetImage.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.vue.d.ts +2 -2
- package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetInfobox.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetInfobox.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetMetadata.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/composables/assetDetailExtSystem.d.ts +5 -6
- package/dist/domains/dam/assetDetail/composables/assetDetailExtSystem.js.map +1 -1
- package/dist/domains/dam/assetDetail/composables/assetDetailView.d.ts +10 -10
- package/dist/domains/dam/assetDetail/composables/assetDetailView.js.map +1 -1
- package/dist/domains/dam/assetDetail/store/assetDetailStore.js.map +1 -1
- package/dist/domains/dam/assetDetail/utils/assetMetadataMayStillChange.d.ts +4 -3
- package/dist/domains/dam/assetDetail/utils/assetMetadataMayStillChange.js.map +1 -1
- package/dist/domains/dam/assetSelect/api/damPodcastApi.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetListInner.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetListInner.vue.d.ts +789 -787
- package/dist/domains/dam/assetSelect/components/AAssetListInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetSelect.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetSelect.vue.d.ts +395 -393
- package/dist/domains/dam/assetSelect/components/AAssetSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.vue.d.ts +14 -12
- package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetDistributionServiceNameFilter.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetDistributionServiceNameFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectListBar.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectListBar.vue.d.ts +9 -7
- package/dist/domains/dam/assetSelect/components/AssetSelectListBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectTableRowItem.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectTableRowItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/composables/assetSelectListActions.js.map +1 -1
- package/dist/domains/dam/assetSelect/store/assetSelectStore.js.map +1 -1
- package/dist/domains/dam/author/api/authorApi.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorCreateButton.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorCreateButton.vue.d.ts +1 -1
- package/dist/domains/dam/author/components/AuthorCreateButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.vue.d.ts +9 -6
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChipConflicts.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChipConflicts.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.js +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue.d.ts +2 -2
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.js.map +1 -1
- package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.vue.d.ts +1 -1
- package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/author/composables/cachedAuthors.d.ts +5 -4
- package/dist/domains/dam/author/composables/cachedAuthors.js.map +1 -1
- package/dist/domains/dam/author/composables/cachedUsers.d.ts +5 -4
- package/dist/domains/dam/author/composables/cachedUsers.js.map +1 -1
- package/dist/domains/dam/author/composables/damAuthorConfig.d.ts +2 -2
- package/dist/domains/dam/author/composables/damAuthorConfig.js.map +1 -1
- package/dist/domains/dam/components/DamAdminAssetLink.js.map +1 -1
- package/dist/domains/dam/components/DamAdminAssetLink.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/composables/commonAdminCoreDamOptions.d.ts +10 -8
- package/dist/domains/dam/composables/commonAdminCoreDamOptions.js.map +1 -1
- package/dist/domains/dam/composables/damConfigName.d.ts +8 -9
- package/dist/domains/dam/composables/damConfigName.js.map +1 -1
- package/dist/domains/dam/composables/damNotifications.d.ts +9 -9
- package/dist/domains/dam/composables/damNotifications.js.map +1 -1
- package/dist/domains/dam/composables/damNotificationsConnection.d.ts +4 -4
- package/dist/domains/dam/composables/damNotificationsConnection.js.map +1 -1
- package/dist/domains/dam/composables/damNotificationsEventBus.d.ts +2 -2
- package/dist/domains/dam/composables/damNotificationsEventBus.js.map +1 -1
- package/dist/domains/dam/composables/extSystemIdForCached.d.ts +5 -4
- package/dist/domains/dam/composables/extSystemIdForCached.js.map +1 -1
- package/dist/domains/dam/config/api/damAssetCustomFormApi.js.map +1 -1
- package/dist/domains/dam/config/api/damConfigApi.js.map +1 -1
- package/dist/domains/dam/config/composables/damConfigState.d.ts +5 -5
- package/dist/domains/dam/config/composables/damConfigState.js.map +1 -1
- package/dist/domains/dam/config/store/damConfigStore.d.ts +5 -4
- package/dist/domains/dam/config/store/damConfigStore.js.map +1 -1
- package/dist/domains/dam/config/utils/damFilterUserAllowedUploadConfigs.d.ts +3 -1
- package/dist/domains/dam/config/utils/damFilterUserAllowedUploadConfigs.js.map +1 -1
- package/dist/domains/dam/cropper/components/ACropper.js.map +1 -1
- package/dist/domains/dam/cropper/components/ACropper.vue.d.ts +8 -16
- package/dist/domains/dam/cropper/components/ACropper.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/cropper/components/DamAssetImageRoiSelect.js.map +1 -1
- package/dist/domains/dam/cropper/components/DamAssetImageRoiSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/cropper/store/imageRoiStore.d.ts +9 -12
- package/dist/domains/dam/cropper/store/imageRoiStore.js.map +1 -1
- package/dist/domains/dam/cropper/utils/cropperGeometry.d.ts +24 -38
- package/dist/domains/dam/cropper/utils/cropperGeometry.js.map +1 -1
- package/dist/domains/dam/cropper/utils/cropperJsService.d.ts +3 -7
- package/dist/domains/dam/cropper/utils/cropperJsService.js +10 -3
- package/dist/domains/dam/cropper/utils/cropperJsService.js.map +1 -1
- package/dist/domains/dam/cropper/utils/cropperTypes.d.ts +3 -6
- package/dist/domains/dam/cropper/utils/damAssetImageRoiSelectLoader.d.ts +5 -5
- package/dist/domains/dam/cropper/utils/damAssetImageRoiSelectLoader.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageMediaWidget.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageMediaWidget.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImagePublicInput.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImagePublicInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageWidget.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageWidget.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageWidgetMultiple.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageWidgetMultiple.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageWidgetSimple.vue.d.ts +43 -41
- package/dist/domains/dam/imageWidget/components/AMediaWidgetSimple.vue.d.ts +31 -29
- package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.vue.d.ts +29 -27
- package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageMassOperations.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageMassOperations.vue.d.ts +1 -1
- package/dist/domains/dam/imageWidget/components/ImageMassOperations.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.vue.d.ts +68 -66
- package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetInner.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetInner.vue.d.ts +402 -400
- package/dist/domains/dam/imageWidget/components/ImageWidgetInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.vue.d.ts +384 -382
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleItem.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/MediaWidgetSimpleDialog.vue.d.ts +7 -5
- package/dist/domains/dam/imageWidget/composables/commonAdminImageOptions.js.map +1 -1
- package/dist/domains/dam/imageWidget/composables/imageApiCms.js.map +1 -1
- package/dist/domains/dam/imageWidget/composables/imageDialogDamAuthors.d.ts +11 -13
- package/dist/domains/dam/imageWidget/composables/imageDialogDamAuthors.js.map +1 -1
- package/dist/domains/dam/imageWidget/composables/useImageMassOperations.js.map +1 -1
- package/dist/domains/dam/imageWidget/store/imageMediaWidgetStore.js.map +1 -1
- package/dist/domains/dam/imageWidget/store/imageStore.js.map +1 -1
- package/dist/domains/dam/imageWidget/utils/damImage.d.ts +5 -6
- package/dist/domains/dam/imageWidget/utils/damImage.js.map +1 -1
- package/dist/domains/dam/imageWidget/utils/fieldLockTurns.d.ts +1 -2
- package/dist/domains/dam/imageWidget/utils/fieldLockTurns.js.map +1 -1
- package/dist/domains/dam/imageWidget/utils/imageSaves.d.ts +10 -14
- package/dist/domains/dam/imageWidget/utils/imageSaves.js.map +1 -1
- package/dist/domains/dam/imageWidget/utils/metadataToImageMap.js.map +1 -1
- package/dist/domains/dam/imageWidget/utils/waitLimit.d.ts +4 -6
- package/dist/domains/dam/imageWidget/utils/waitLimit.js.map +1 -1
- package/dist/domains/dam/keyword/api/keywordApi.js.map +1 -1
- package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.js.map +1 -1
- package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.vue.d.ts +1 -1
- package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.js.map +1 -1
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue.d.ts +8 -5
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.js +1 -1
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.js.map +1 -1
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue.d.ts +2 -2
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/keyword/composables/cachedKeywords.d.ts +5 -4
- package/dist/domains/dam/keyword/composables/cachedKeywords.js.map +1 -1
- package/dist/domains/dam/keyword/composables/damKeywordConfig.d.ts +2 -2
- package/dist/domains/dam/keyword/composables/damKeywordConfig.js.map +1 -1
- package/dist/domains/dam/types/Asset.d.ts +1 -1
- package/dist/domains/dam/types/Asset.js.map +1 -1
- package/dist/domains/dam/types/UploadQueue.d.ts +5 -4
- package/dist/domains/dam/types/UploadQueue.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue.d.ts +2 -2
- package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialog.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingle.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingle.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue.d.ts +6 -4
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue.d.ts +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.vue.d.ts +6 -6
- package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.vue.d.ts +13 -13
- package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/uploadQueueBindings.d.ts +13 -13
- package/dist/domains/dam/uploadQueue/components/uploadQueueBindings.js.map +1 -1
- package/dist/domains/dam/uploadQueue/composables/damUploadChunkSize.d.ts +2 -2
- package/dist/domains/dam/uploadQueue/composables/damUploadChunkSize.js.map +1 -1
- package/dist/domains/dam/uploadQueue/composables/uploadMeter.d.ts +12 -12
- package/dist/domains/dam/uploadQueue/composables/uploadMeter.js.map +1 -1
- package/dist/domains/dam/uploadQueue/composables/uploadQueueItemRefresh.d.ts +5 -5
- package/dist/domains/dam/uploadQueue/composables/uploadQueueItemRefresh.js.map +1 -1
- package/dist/domains/dam/uploadQueue/composables/uploadService.d.ts +2 -3
- package/dist/domains/dam/uploadQueue/composables/uploadService.js.map +1 -1
- package/dist/domains/dam/uploadQueue/composables/useUploadQueueDialog.d.ts +5 -4
- package/dist/domains/dam/uploadQueue/composables/useUploadQueueDialog.js.map +1 -1
- package/dist/domains/dam/uploadQueue/core/uploadQueueCore.d.ts +3 -2
- package/dist/domains/dam/uploadQueue/core/uploadQueueCore.js.map +1 -1
- package/dist/domains/dam/uploadQueue/core/uploadQueueCoreTypes.d.ts +8 -5
- package/dist/domains/dam/uploadQueue/core/uploadQueueCoreTypes.js.map +1 -1
- package/dist/domains/dam/uploadQueue/core/uploadQueueFill.d.ts +3 -3
- package/dist/domains/dam/uploadQueue/core/uploadQueueFill.js.map +1 -1
- package/dist/domains/dam/uploadQueue/presets/queuePresets.d.ts +8 -5
- package/dist/domains/dam/uploadQueue/presets/queuePresets.js.map +1 -1
- package/dist/domains/dam/uploadQueue/presets/uploadPresets.d.ts +15 -13
- package/dist/domains/dam/uploadQueue/presets/uploadPresets.js.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadPollSchedule.d.ts +7 -7
- package/dist/domains/dam/uploadQueue/settlement/uploadPollSchedule.js.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadPoller.d.ts +4 -4
- package/dist/domains/dam/uploadQueue/settlement/uploadPoller.js.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadSettle.d.ts +28 -30
- package/dist/domains/dam/uploadQueue/settlement/uploadSettle.js.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlement.d.ts +2 -2
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlement.js.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlementRuntime.d.ts +2 -2
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlementRuntime.js.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlementTypes.d.ts +63 -73
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlementTypes.js.map +1 -1
- package/dist/domains/dam/uploadQueue/store/uploadQueuesStore.d.ts +8 -9
- package/dist/domains/dam/uploadQueue/store/uploadQueuesStore.js.map +1 -1
- package/dist/domains/dam/user/api/userApi.d.ts +2 -2
- package/dist/domains/dam/user/api/userApi.js.map +1 -1
- package/dist/domains/dam/user/components/DamDistributionServiceSelect.js.map +1 -1
- package/dist/domains/dam/user/components/DamDistributionServiceSelect.vue.d.ts +1 -1
- package/dist/domains/dam/user/components/DamDistributionServiceSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.js.map +1 -1
- package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.vue.d.ts +1 -1
- package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.js.map +1 -1
- package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.vue.d.ts +1 -1
- package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/user/composables/damUserSelectActions.d.ts +1 -1
- package/dist/domains/dam/user/composables/damUserSelectActions.js.map +1 -1
- package/dist/domains/dam/user/types/DamDistributionServiceType.d.ts +2 -2
- package/dist/domains/dam/user/types/DamDistributionServiceType.js.map +1 -1
- package/dist/domains/dam/user/types/DamExternalProviderAssetType.d.ts +1 -1
- package/dist/domains/dam/user/types/DamExternalProviderAssetType.js.map +1 -1
- package/dist/domains/filters/bookmarks/components/FilterBookmarkDialog.js.map +1 -1
- package/dist/domains/filters/bookmarks/components/FilterBookmarkDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/bookmarks/store/bookmarksStore.d.ts +3 -3
- package/dist/domains/filters/bookmarks/store/bookmarksStore.js.map +1 -1
- package/dist/domains/filters/components/AFilterDatetimePicker.js.map +1 -1
- package/dist/domains/filters/components/AFilterDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterInteger.js.map +1 -1
- package/dist/domains/filters/components/AFilterInteger.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterString.js.map +1 -1
- package/dist/domains/filters/components/AFilterString.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterTimeInterval.js +1 -1
- package/dist/domains/filters/components/AFilterTimeInterval.js.map +1 -1
- package/dist/domains/filters/components/AFilterTimeInterval.vue.d.ts +5 -3
- package/dist/domains/filters/components/AFilterTimeInterval.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterValueObjectOptionsSelect.js.map +1 -1
- package/dist/domains/filters/components/AFilterValueObjectOptionsSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterWrapper.js.map +1 -1
- package/dist/domains/filters/components/AFilterWrapper.vue.d.ts +17 -15
- package/dist/domains/filters/components/AFilterWrapper.vue_vue_type_script_setup_true_lang.js +63 -62
- package/dist/domains/filters/components/AFilterWrapper.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterWrapperSidebar.vue.d.ts +5 -3
- package/dist/domains/filters/components/FiltersSelected.js.map +1 -1
- package/dist/domains/filters/components/FiltersSelected.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/composables/filterFactory.d.ts +16 -26
- package/dist/domains/filters/composables/filterFactory.js +38 -31
- package/dist/domains/filters/composables/filterFactory.js.map +1 -1
- package/dist/domains/filters/datatable/components/ADatatableOrdering.js.map +1 -1
- package/dist/domains/filters/datatable/components/ADatatableOrdering.vue_vue_type_script_setup_true_lang.js +3 -1
- package/dist/domains/filters/datatable/components/ADatatableOrdering.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/datatable/components/ADatatablePagination.js.map +1 -1
- package/dist/domains/filters/datatable/components/ADatatablePagination.vue_vue_type_script_setup_true_lang.js +2 -4
- package/dist/domains/filters/datatable/components/ADatatablePagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/utils/filterInjectionKeys.js.map +1 -1
- package/dist/domains/form/components/AFormDatetimePicker.js.map +1 -1
- package/dist/domains/form/components/AFormDatetimePicker.vue.d.ts +7 -5
- package/dist/domains/form/components/AFormDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/form/components/AFormFlagDatetimePicker.js.map +1 -1
- package/dist/domains/form/components/AFormFlagDatetimePicker.vue.d.ts +7 -5
- package/dist/domains/form/components/AFormFlagDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/form/components/AFormSwitch.vue.d.ts +7 -5
- package/dist/domains/form/components/AFormTextField.js.map +1 -1
- package/dist/domains/form/components/AFormTextField.vue.d.ts +9 -7
- package/dist/domains/form/components/AFormTextField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/form/components/AFormTextarea.vue.d.ts +13 -11
- package/dist/domains/form/components/AFormValueObjectOptionsSelect.vue.d.ts +7 -5
- package/dist/domains/form/components/ASystemEntityScope.vue.d.ts +5 -3
- package/dist/domains/job/api/jobApi.js.map +1 -1
- package/dist/domains/job/components/AJobDetailCommon.vue.d.ts +5 -3
- package/dist/domains/listEditor/components/AListEditor.js.map +1 -1
- package/dist/domains/listEditor/components/AListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/listEditor/components/ANestedSortableListEditor.js.map +1 -1
- package/dist/domains/listEditor/components/ANestedSortableListEditor.vue.d.ts +2 -3
- package/dist/domains/listEditor/components/ANestedSortableListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/listEditor/components/ASortableListEditor.js.map +1 -1
- package/dist/domains/listEditor/components/ASortableListEditor.vue.d.ts +2 -3
- package/dist/domains/listEditor/components/ASortableListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/listEditor/composables/useListEditorController.d.ts +4 -5
- package/dist/domains/listEditor/composables/useListEditorController.js.map +1 -1
- package/dist/domains/listEditor/composables/useNestedListEditor.d.ts +3 -4
- package/dist/domains/listEditor/composables/useNestedListEditor.js.map +1 -1
- package/dist/domains/listEditor/composables/useNestedListEditorController.d.ts +5 -4
- package/dist/domains/listEditor/composables/useNestedListEditorController.js.map +1 -1
- package/dist/domains/listEditor/composables/useReorderMode.js.map +1 -1
- package/dist/domains/listEditor/types/listEditorTypes.d.ts +2 -2
- package/dist/domains/listEditor/utils/listEditorLoader.d.ts +5 -5
- package/dist/domains/listEditor/utils/listEditorLoader.js.map +1 -1
- package/dist/domains/listEditor/utils/resolveCompactText.js.map +1 -1
- package/dist/domains/log/api/logApi.d.ts +2 -3
- package/dist/domains/log/api/logApi.js.map +1 -1
- package/dist/domains/log/components/ALogDatatable.js.map +1 -1
- package/dist/domains/log/components/ALogDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/log/components/ALogDetailView.js.map +1 -1
- package/dist/domains/log/components/ALogDetailView.vue.d.ts +1 -1
- package/dist/domains/log/components/ALogDetailView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/log/components/ALogFilter.js.map +1 -1
- package/dist/domains/log/components/ALogFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/log/components/ALogListView.js.map +1 -1
- package/dist/domains/log/components/ALogListView.vue.d.ts +1 -1
- package/dist/domains/log/components/ALogListView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/log/composables/logActions.d.ts +4 -5
- package/dist/domains/log/composables/logActions.js.map +1 -1
- package/dist/domains/log/composables/logType.d.ts +6 -7
- package/dist/domains/log/composables/logType.js.map +1 -1
- package/dist/domains/log/filter/logFilter.d.ts +8 -11
- package/dist/domains/log/filter/logFilter.js.map +1 -1
- package/dist/domains/permission/components/APermissionEditor.js.map +1 -1
- package/dist/domains/permission/components/APermissionEditor.vue.d.ts +4 -4
- package/dist/domains/permission/components/APermissionEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/permission/composables/permissionActions.d.ts +3 -6
- package/dist/domains/permission/composables/permissionActions.js.map +1 -1
- package/dist/domains/permission/config/api/permissionConfigApi.d.ts +2 -2
- package/dist/domains/permission/config/api/permissionConfigApi.js.map +1 -1
- package/dist/domains/permission/config/composables/permissionConfigActions.d.ts +3 -7
- package/dist/domains/permission/config/composables/permissionConfigActions.js.map +1 -1
- package/dist/domains/permission/config/store/permissionConfigStore.d.ts +2 -4
- package/dist/domains/permission/config/store/permissionConfigStore.js.map +1 -1
- package/dist/domains/permission/group/api/permissionGroupApi.d.ts +8 -10
- package/dist/domains/permission/group/api/permissionGroupApi.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupDatatable.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupDatatable.vue.d.ts +12 -10
- package/dist/domains/permission/group/components/APermissionGroupDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupDetail.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupDetail.vue.d.ts +21 -22
- package/dist/domains/permission/group/components/APermissionGroupDetail.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupManage.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupManage.vue.d.ts +21 -22
- package/dist/domains/permission/group/components/APermissionGroupManage.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/permission/group/composables/cachedPermissionGroups.js.map +1 -1
- package/dist/domains/permission/group/composables/permissionGroupActions.d.ts +6 -8
- package/dist/domains/permission/group/composables/permissionGroupActions.js.map +1 -1
- package/dist/domains/permission/group/composables/permissionGroupValidations.d.ts +2 -3
- package/dist/domains/permission/group/composables/permissionGroupValidations.js.map +1 -1
- package/dist/domains/permission/group/filter/permissionGroupFilter.d.ts +2 -3
- package/dist/domains/permission/group/filter/permissionGroupFilter.js.map +1 -1
- package/dist/domains/permission/group/store/permissionGroupStore.d.ts +3 -6
- package/dist/domains/permission/group/store/permissionGroupStore.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue.d.ts +5 -3
- package/dist/domains/remoteAutocomplete/composables/createRemoteAutocomplete.d.ts +11 -13
- package/dist/domains/remoteAutocomplete/composables/createRemoteAutocomplete.js.map +1 -1
- package/dist/domains/subjectSelect/components/AFilterWrapperSubjectSelect.vue.d.ts +13 -11
- package/dist/domains/subjectSelect/components/ASubjectSelect.js.map +1 -1
- package/dist/domains/subjectSelect/components/ASubjectSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/subjectSelect/composables/useSubjectSelect.js +53 -51
- package/dist/domains/subjectSelect/composables/useSubjectSelect.js.map +1 -1
- package/dist/domains/system/appShell/components/AActionbar.vue.d.ts +7 -5
- package/dist/domains/system/appShell/components/ALayoutSwitch.js.map +1 -1
- package/dist/domains/system/appShell/components/ALayoutSwitch.vue.d.ts +7 -5
- package/dist/domains/system/appShell/components/ALayoutSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/system/appShell/composables/teleportSlot.d.ts +0 -1
- package/dist/domains/system/appShell/composables/teleportSlot.js.map +1 -1
- package/dist/domains/system/components/AAlerts.js.map +1 -1
- package/dist/domains/system/components/AAlerts.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/system/composables/alerts.js.map +1 -1
- package/dist/domains/system/composables/breadcrumbs.d.ts +3 -3
- package/dist/domains/system/composables/breadcrumbs.js.map +1 -1
- package/dist/domains/system/composables/languageSettings.js.map +1 -1
- package/dist/domains/system/composables/loginStatus.js.map +1 -1
- package/dist/domains/system/composables/navigationError.d.ts +6 -8
- package/dist/domains/system/composables/navigationError.js.map +1 -1
- package/dist/domains/system/composables/pageNavigation.d.ts +9 -10
- package/dist/domains/system/composables/pageNavigation.js.map +1 -1
- package/dist/domains/system/composables/recordActions.d.ts +14 -22
- package/dist/domains/system/composables/recordActions.js.map +1 -1
- package/dist/domains/system/composables/recordPage.d.ts +23 -38
- package/dist/domains/system/composables/recordPage.js.map +1 -1
- package/dist/domains/system/composables/routeHistory.d.ts +4 -5
- package/dist/domains/system/composables/routeHistory.js.map +1 -1
- package/dist/domains/system/composables/sentry.js.map +1 -1
- package/dist/domains/system/composables/useDebugFeatures.d.ts +3 -6
- package/dist/domains/system/composables/useDebugFeatures.js.map +1 -1
- package/dist/domains/system/store/datatablePageStore.d.ts +8 -1
- package/dist/domains/system/store/datatablePageStore.js +10 -3
- package/dist/domains/system/store/datatablePageStore.js.map +1 -1
- package/dist/domains/system/systemBar/components/ASystemBar.js.map +1 -1
- package/dist/domains/system/systemBar/components/ASystemBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/system/systemBar/utils/appReload.d.ts +5 -5
- package/dist/domains/system/systemBar/utils/appReload.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.vue.d.ts +2 -3
- package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionDeleteButton.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionDeleteButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/buttons/components/ABtnSplit.vue.d.ts +9 -7
- package/dist/domains/ui/components/AAvatarColorPicker.js.map +1 -1
- package/dist/domains/ui/components/AAvatarColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/ACard.js.map +1 -1
- package/dist/domains/ui/components/ACard.vue.d.ts +7 -3
- package/dist/domains/ui/components/ACard.vue_vue_type_script_setup_true_lang.js +6 -2
- package/dist/domains/ui/components/ACard.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/ACardLoader.js.map +1 -1
- package/dist/domains/ui/components/ACardLoader.vue.d.ts +1 -0
- package/dist/domains/ui/components/ACardLoader.vue_vue_type_script_setup_true_lang.js +13 -7
- package/dist/domains/ui/components/ACardLoader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/AChipNoLink.vue.d.ts +5 -3
- package/dist/domains/ui/components/ACopyText.vue.d.ts +9 -7
- package/dist/domains/ui/components/ACreateDialog.js.map +1 -1
- package/dist/domains/ui/components/ACreateDialog.vue.d.ts +11 -9
- package/dist/domains/ui/components/ACreateDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/ADialogToolbar.vue.d.ts +5 -3
- package/dist/domains/ui/components/ARow.vue.d.ts +5 -3
- package/dist/domains/ui/components/ATimeTrackingFields.js.map +1 -1
- package/dist/domains/ui/components/ATimeTrackingFields.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/AUserAndTimeTrackingFields.js.map +1 -1
- package/dist/domains/ui/components/AUserAndTimeTrackingFields.vue.d.ts +3 -5
- package/dist/domains/ui/components/AUserAndTimeTrackingFields.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/datetime/components/ADatetimePicker.js +1 -1
- package/dist/domains/ui/datetime/components/ADatetimePicker.js.map +1 -1
- package/dist/domains/ui/datetime/components/ADatetimePicker.vue.d.ts +5 -3
- package/dist/domains/ui/datetime/components/ADatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/file/components/AFileDropzone.js.map +1 -1
- package/dist/domains/ui/file/components/AFileDropzone.vue.d.ts +1 -1
- package/dist/domains/ui/file/components/AFileDropzone.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/file/components/AFileInput.js.map +1 -1
- package/dist/domains/ui/file/components/AFileInput.vue.d.ts +9 -7
- package/dist/domains/ui/file/components/AFileInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/file/components/AFileInputDialog.js.map +1 -1
- package/dist/domains/ui/file/components/AFileInputDialog.vue.d.ts +9 -7
- package/dist/domains/ui/file/components/AFileInputDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/file/composables/dropzone.js.map +1 -1
- package/dist/domains/ui/file/composables/formatAndSizeCheck.js.map +1 -1
- package/dist/domains/ui/view/components/AGenericView.vue.d.ts +7 -5
- package/dist/domains/ui/view/components/ALoginView.js +1 -1
- package/dist/domains/ui/view/components/ALoginView.js.map +1 -1
- package/dist/domains/ui/view/components/ALoginView.vue.d.ts +5 -3
- package/dist/domains/ui/view/components/ALoginView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/view/components/ALogoutView.js.map +1 -1
- package/dist/domains/ui/view/components/ALogoutView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/view/components/ANotFoundView.js.map +1 -1
- package/dist/domains/ui/view/components/ANotFoundView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/unsavedGuard/composables/useUnsavedChangesGuard.d.ts +6 -7
- package/dist/domains/unsavedGuard/composables/useUnsavedChangesGuard.js.map +1 -1
- package/dist/lib.d.ts +2 -2
- package/dist/plugins/commonVuetifyConfig.d.ts +3 -3
- package/dist/plugins/commonVuetifyConfig.js.map +1 -1
- package/dist/plugins/i18n.d.ts +4 -5
- package/dist/plugins/i18n.js.map +1 -1
- package/dist/plugins/pluginOptions.d.ts +4 -2
- package/dist/plugins/pluginOptions.js.map +1 -1
- package/dist/plugins/webfontloader.js.map +1 -1
- package/dist/shared/error/AnzuApiCancelledError.d.ts +5 -8
- package/dist/shared/error/AnzuApiCancelledError.js.map +1 -1
- package/dist/shared/error/AnzuError.d.ts +3 -5
- package/dist/shared/error/AnzuError.js.map +1 -1
- package/dist/shared/error/AuthUnavailableError.d.ts +3 -3
- package/dist/shared/error/AuthUnavailableError.js.map +1 -1
- package/dist/shared/error/isInCauseChain.d.ts +2 -2
- package/dist/shared/error/isInCauseChain.js.map +1 -1
- package/dist/shared/types/UserAndTimeTracking.d.ts +5 -5
- package/dist/shared/types/Validation.d.ts +4 -5
- package/dist/shared/types/common.d.ts +1 -3
- package/dist/shared/types/globalComponents.d.ts +5 -6
- package/dist/shared/utils/common.js.map +1 -1
- package/dist/shared/utils/datetime.d.ts +0 -1
- package/dist/shared/utils/datetime.js.map +1 -1
- package/dist/shared/utils/datetimePickerValue.d.ts +4 -7
- package/dist/shared/utils/datetimePickerValue.js.map +1 -1
- package/dist/shared/utils/development.d.ts +3 -3
- package/dist/shared/utils/development.js.map +1 -1
- package/dist/shared/utils/envConfig.d.ts +4 -4
- package/dist/shared/utils/envConfig.js.map +1 -1
- package/dist/shared/utils/json.d.ts +1 -1
- package/dist/shared/utils/json.js.map +1 -1
- package/dist/shared/utils/userAndTimeTracking.d.ts +5 -7
- package/dist/shared/utils/userAndTimeTracking.js.map +1 -1
- package/dist/shared/validators/vuelidate/common/useValidateHexColor.d.ts +3 -5
- package/dist/shared/validators/vuelidate/common/useValidateHexColor.js.map +1 -1
- package/dist/testing/appShell.d.ts +11 -11
- package/dist/testing/appShell.js.map +1 -1
- package/dist/testing/closeButtons.d.ts +9 -11
- package/dist/testing/closeButtons.js.map +1 -1
- package/dist/testing/declaredDependencies.d.ts +7 -7
- package/dist/testing/declaredDependencies.js.map +1 -1
- package/dist/testing/generatedRoutes.d.ts +6 -11
- package/dist/testing/generatedRoutes.js.map +1 -1
- package/dist/testing/routeHistory.d.ts +5 -12
- package/dist/testing/routeHistory.js.map +1 -1
- package/dist/testing/sortableLists.d.ts +16 -21
- package/dist/testing/sortableLists.js.map +1 -1
- package/dist/testing/typedRouter.d.ts +0 -1
- package/dist/testing/typedRouter.js.map +1 -1
- package/package.json +39 -29
- package/src/e2e/conventions.d.mts +4 -0
- package/src/e2e/conventions.mjs +15 -0
- package/src/e2e/index.d.mts +8 -0
- package/src/e2e/index.mjs +1 -0
- package/src/e2e/routeWalk.d.mts +43 -0
- package/src/e2e/routeWalk.mjs +606 -0
- package/src/e2e/types.d.mts +161 -0
- package/src/eslint/adminConfig.mjs +19 -27
- package/src/eslint/globalComponentNames.mjs +3 -4
- package/src/eslint/oxlint.mjs +7 -20
- package/src/eslint/plugin.d.mts +2 -4
- package/src/eslint/plugin.mjs +18 -34
- package/src/eslint/validRouteName.mjs +6 -7
- package/src/vite/devWatch.mjs +30 -43
- package/src/vite/index.d.mts +5 -5
- package/src/vite/sentry.mjs +7 -12
- package/src/vite/sourcemaps.mjs +4 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetMetadata.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_Fragment","_unref","_createBlock","_component_VBtn","_withCtx","_createTextVNode","_toDisplayString","_createCommentVNode","_component_VExpansionPanels","_createVNode","_component_VExpansionPanel","_component_VExpansionPanelText","AssetCustomMetadataForm","_component_VRow","_component_VCol","ASystemEntityScope","KeywordRemoteAutocompleteWithCached","AuthorRemoteAutocompleteWithCached","ARow","ABooleanValue","_component_VSwitch","_isRef","AssetFileInfoPanel","ABooleanValue_default","ARow_default","ASystemEntityScope_default","AssetCustomMetadataForm_default","AssetFileInfoPanel_default","AuthorRemoteAutocompleteWithCached_default","KeywordRemoteAutocompleteWithCached_default","AssetMetadata_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","damConfigName","useDamConfigName","useI18n","panels","ref","assetDetailStore","useAssetDetailStore","storeToRefs","assetType","computed","asset","DamAssetTypeDefault","useDamAuthorAssetTypeConfig","useAssetSuggestions","useDamCachedAuthors","authorConflicts","authorEnabled","getAuthorConflicts","conflicts","addToCachedAuthors","fetchCachedAuthors","onAnyMetadataChange","useDamKeywordAssetTypeConfig","useCommonAdminCoreDamOptions","useDamCachedUsers","watch","createdBy","modifiedBy","showFileInfoEnabled","addToCachedUsers","fetchCachedUsers","openBlock","createElementBlock","Fragment","unref","createBlock","VBtn","_cache","withCtx","createTextVNode","toDisplayString","editAssetLabel","createCommentVNode","VExpansionPanels","$event","createVNode","VExpansionPanel","t","VExpansionPanelText","keywordEnabled","VRow","VCol","keywordRequired","ADamAssetMetadataValidationScopeSymbol","authorRequired","mainFileSingleUseEnabled","mainFileSingleUse","VSwitch","isRef"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetMetadata.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useI18n } from 'vue-i18n'\nimport { computed, ref, watch } from 'vue'\nimport { DamAssetTypeDefault } from '@/domains/dam/types/Asset'\nimport { useAssetDetailStore } from '@/domains/dam/assetDetail/store/assetDetailStore'\nimport { storeToRefs } from 'pinia'\nimport AssetCustomMetadataForm from '@/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue'\nimport AssetFileInfoPanel from '@/domains/dam/assetDetail/components/AssetFileInfoPanel.vue'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport { ADamAssetMetadataValidationScopeSymbol } from '@/domains/dam/composables/uploadValidations'\nimport AuthorRemoteAutocompleteWithCached from '@/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue'\nimport KeywordRemoteAutocompleteWithCached from '@/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue'\nimport { useDamKeywordAssetTypeConfig } from '@/domains/dam/keyword/composables/damKeywordConfig'\nimport { useDamAuthorAssetTypeConfig } from '@/domains/dam/author/composables/damAuthorConfig'\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport ABooleanValue from '@/domains/ui/components/ABooleanValue.vue'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport { useAssetSuggestions } from '@/domains/dam/uploadQueue/composables/assetSuggestions'\nimport { useDamCachedAuthors } from '@/domains/dam/author/composables/cachedAuthors'\nimport { useDamCachedUsers } from '@/domains/dam/author/composables/cachedUsers'\n\nconst props = withDefaults(\n defineProps<{\n extSystem: IntegerId\n readonly?: boolean\n configName?: string\n showEditButton?: boolean\n }>(),\n {\n readonly: false,\n configName: undefined,\n showEditButton: false,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'editInDam'): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst { t } = useI18n()\n\nconst panels = ref(['metadata', 'file'])\n\nconst assetDetailStore = useAssetDetailStore()\nconst { asset, metadataAreTouched, mainFileSingleUse } = storeToRefs(assetDetailStore)\n\nconst assetType = computed(() => {\n return asset.value?.attributes.assetType || DamAssetTypeDefault\n})\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { authorRequired, authorEnabled } = useDamAuthorAssetTypeConfig(\n // eslint-disable-next-line vue/no-ref-object-reactivity-loss\n assetType.value,\n props.extSystem,\n damConfigName\n)\n\nconst { getAuthorConflicts } = useAssetSuggestions()\nconst { addToCachedAuthors, fetchCachedAuthors } = useDamCachedAuthors(damConfigName)\n\n// The DAM authors of one name read from the file, as the card of a row of the queue offers them: taken from the asset\n// itself, as the field of the store is written by nobody. A side panel, read-only, offers none, nor does a detail\n// without the field of authors, whose asset may still carry suggestions from before the authors were switched off.\nconst authorConflicts = computed<DocId[]>(() =>\n props.readonly || !authorEnabled.value || !asset.value\n ? []\n : getAuthorConflicts(asset.value.metadata.authorSuggestions ?? {})\n)\n// Their chips show the names from the cache of its configuration, as those of the row do: without them a chip spins with none.\nwatch(\n authorConflicts,\n (conflicts) => {\n if (conflicts.length === 0) return\n addToCachedAuthors(conflicts)\n fetchCachedAuthors()\n },\n { immediate: true }\n)\n\nconst onAnyMetadataChange = () => {\n metadataAreTouched.value = true\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { keywordRequired, keywordEnabled } = useDamKeywordAssetTypeConfig(\n // eslint-disable-next-line vue/no-ref-object-reactivity-loss\n assetType.value,\n props.extSystem,\n damConfigName\n)\n\nconst { mainFileSingleUseEnabled, showFileInfoEnabled, editAssetLabel } = useCommonAdminCoreDamOptions(damConfigName)\n\nconst { addToCachedUsers, fetchCachedUsers } = useDamCachedUsers(damConfigName)\n// The chips of the panel \"file\" show who created and who changed the asset by the cache of users of its configuration.\n// A click into a picker fills it for the asset clicked, and only then: the detail of \"edit asset\" of a widget, or of a\n// row of the queue, showed two chips that spun with none.\nwatch(\n [() => asset.value?.createdBy, () => asset.value?.modifiedBy],\n ([createdBy, modifiedBy]) => {\n if (!showFileInfoEnabled || (!createdBy && !modifiedBy)) return\n addToCachedUsers(createdBy, modifiedBy)\n fetchCachedUsers()\n },\n { immediate: true }\n)\n</script>\n\n<template>\n <VBtn\n v-if=\"showEditButton && asset\"\n size=\"small\"\n class=\"ma-2\"\n @click=\"emit('editInDam')\"\n >\n {{ editAssetLabel }}\n </VBtn>\n <VExpansionPanels\n v-if=\"asset\"\n v-model=\"panels\"\n multiple\n class=\"v-expansion-panels--compact\"\n >\n <VExpansionPanel\n elevation=\"0\"\n :title=\"t('common.damImage.asset.detail.info.metadata')\"\n value=\"metadata\"\n >\n <VExpansionPanelText>\n <AssetCustomMetadataForm\n v-if=\"asset\"\n v-model=\"asset.metadata.customData\"\n :ext-system=\"extSystem\"\n :asset-type=\"assetType\"\n :readonly=\"readonly\"\n @any-change=\"onAnyMetadataChange\"\n >\n <template #after-pinned>\n <VRow\n v-if=\"keywordEnabled\"\n density=\"compact\"\n class=\"my-2\"\n >\n <VCol>\n <ASystemEntityScope\n subject=\"keyword\"\n system=\"dam\"\n >\n <KeywordRemoteAutocompleteWithCached\n v-model=\"asset.keywords\"\n :ext-system=\"extSystem\"\n :label=\"t('common.damImage.asset.model.keywords')\"\n data-cy=\"custom-field-keywords\"\n clearable\n multiple\n :disabled=\"readonly\"\n :required=\"keywordRequired\"\n :validation-scope=\"ADamAssetMetadataValidationScopeSymbol\"\n @update:model-value=\"onAnyMetadataChange\"\n />\n </ASystemEntityScope>\n </VCol>\n </VRow>\n <VRow\n v-if=\"authorEnabled\"\n density=\"compact\"\n class=\"my-2\"\n >\n <VCol>\n <ASystemEntityScope\n subject=\"author\"\n system=\"dam\"\n >\n <AuthorRemoteAutocompleteWithCached\n v-model=\"asset.authors\"\n :ext-system=\"extSystem\"\n :label=\"t('common.damImage.asset.model.authors')\"\n :author-conflicts=\"authorConflicts\"\n data-cy=\"custom-field-authors\"\n clearable\n multiple\n :disabled=\"readonly\"\n :required=\"authorRequired\"\n :validation-scope=\"ADamAssetMetadataValidationScopeSymbol\"\n @update:model-value=\"onAnyMetadataChange\"\n />\n </ASystemEntityScope>\n </VCol>\n </VRow>\n <VRow\n v-if=\"mainFileSingleUseEnabled\"\n density=\"compact\"\n class=\"my-2\"\n >\n <VCol>\n <ARow\n v-if=\"readonly\"\n :title=\"t('common.damImage.asset.model.mainFileSingleUse')\"\n >\n <ABooleanValue :value=\"mainFileSingleUse\" />\n </ARow>\n <VSwitch\n v-else\n v-model=\"mainFileSingleUse\"\n :label=\"t('common.damImage.asset.model.mainFileSingleUse')\"\n />\n </VCol>\n </VRow>\n </template>\n </AssetCustomMetadataForm>\n </VExpansionPanelText>\n </VExpansionPanel>\n <!-- The detail breaks its texts only between words, unlike the card it is in (design 1.10, JS29). -->\n <AssetFileInfoPanel\n v-if=\"showFileInfoEnabled\"\n :asset=\"asset\"\n show-users\n style=\"overflow-wrap: normal\"\n />\n </VExpansionPanels>\n</template>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AssetMetadata.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_Fragment","_unref","_createBlock","_component_VBtn","_withCtx","_createTextVNode","_toDisplayString","_createCommentVNode","_component_VExpansionPanels","_createVNode","_component_VExpansionPanel","_component_VExpansionPanelText","AssetCustomMetadataForm","_component_VRow","_component_VCol","ASystemEntityScope","KeywordRemoteAutocompleteWithCached","AuthorRemoteAutocompleteWithCached","ARow","ABooleanValue","_component_VSwitch","_isRef","AssetFileInfoPanel","ABooleanValue_default","ARow_default","ASystemEntityScope_default","AssetCustomMetadataForm_default","AssetFileInfoPanel_default","AuthorRemoteAutocompleteWithCached_default","KeywordRemoteAutocompleteWithCached_default","AssetMetadata_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","damConfigName","useDamConfigName","useI18n","panels","ref","assetDetailStore","useAssetDetailStore","storeToRefs","assetType","computed","asset","DamAssetTypeDefault","useDamAuthorAssetTypeConfig","useAssetSuggestions","useDamCachedAuthors","authorConflicts","authorEnabled","getAuthorConflicts","conflicts","addToCachedAuthors","fetchCachedAuthors","onAnyMetadataChange","useDamKeywordAssetTypeConfig","useCommonAdminCoreDamOptions","useDamCachedUsers","watch","createdBy","modifiedBy","showFileInfoEnabled","addToCachedUsers","fetchCachedUsers","openBlock","createElementBlock","Fragment","unref","createBlock","VBtn","_cache","withCtx","createTextVNode","toDisplayString","editAssetLabel","createCommentVNode","VExpansionPanels","$event","createVNode","VExpansionPanel","t","VExpansionPanelText","keywordEnabled","VRow","VCol","keywordRequired","ADamAssetMetadataValidationScopeSymbol","authorRequired","mainFileSingleUseEnabled","mainFileSingleUse","VSwitch","isRef"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetMetadata.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useI18n } from 'vue-i18n'\nimport { computed, ref, watch } from 'vue'\nimport { DamAssetTypeDefault } from '@/domains/dam/types/Asset'\nimport { useAssetDetailStore } from '@/domains/dam/assetDetail/store/assetDetailStore'\nimport { storeToRefs } from 'pinia'\nimport AssetCustomMetadataForm from '@/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue'\nimport AssetFileInfoPanel from '@/domains/dam/assetDetail/components/AssetFileInfoPanel.vue'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport { ADamAssetMetadataValidationScopeSymbol } from '@/domains/dam/composables/uploadValidations'\nimport AuthorRemoteAutocompleteWithCached from '@/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue'\nimport KeywordRemoteAutocompleteWithCached from '@/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue'\nimport { useDamKeywordAssetTypeConfig } from '@/domains/dam/keyword/composables/damKeywordConfig'\nimport { useDamAuthorAssetTypeConfig } from '@/domains/dam/author/composables/damAuthorConfig'\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport ABooleanValue from '@/domains/ui/components/ABooleanValue.vue'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport { useAssetSuggestions } from '@/domains/dam/uploadQueue/composables/assetSuggestions'\nimport { useDamCachedAuthors } from '@/domains/dam/author/composables/cachedAuthors'\nimport { useDamCachedUsers } from '@/domains/dam/author/composables/cachedUsers'\n\nconst props = withDefaults(\n defineProps<{\n extSystem: IntegerId\n readonly?: boolean\n configName?: string\n showEditButton?: boolean\n }>(),\n {\n readonly: false,\n configName: undefined,\n showEditButton: false,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'editInDam'): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst { t } = useI18n()\n\nconst panels = ref(['metadata', 'file'])\n\nconst assetDetailStore = useAssetDetailStore()\nconst { asset, metadataAreTouched, mainFileSingleUse } = storeToRefs(assetDetailStore)\n\nconst assetType = computed(() => {\n return asset.value?.attributes.assetType || DamAssetTypeDefault\n})\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { authorRequired, authorEnabled } = useDamAuthorAssetTypeConfig(\n // eslint-disable-next-line vue/no-ref-object-reactivity-loss\n assetType.value,\n props.extSystem,\n damConfigName\n)\n\nconst { getAuthorConflicts } = useAssetSuggestions()\nconst { addToCachedAuthors, fetchCachedAuthors } = useDamCachedAuthors(damConfigName)\n\n// DAM author suggestions for names read from the file, as the queue row card offers them.\n// Taken from the asset itself, because nothing writes the store field.\n// None in a read-only side panel, or when the authors field is disabled. Such an asset may still carry old suggestions.\nconst authorConflicts = computed<DocId[]>(() =>\n props.readonly || !authorEnabled.value || !asset.value\n ? []\n : getAuthorConflicts(asset.value.metadata.authorSuggestions ?? {})\n)\n// The chips show names from the configuration's cache, as the row's do. Without it a chip spins forever.\nwatch(\n authorConflicts,\n (conflicts) => {\n if (conflicts.length === 0) return\n addToCachedAuthors(conflicts)\n fetchCachedAuthors()\n },\n { immediate: true }\n)\n\nconst onAnyMetadataChange = () => {\n metadataAreTouched.value = true\n}\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { keywordRequired, keywordEnabled } = useDamKeywordAssetTypeConfig(\n // eslint-disable-next-line vue/no-ref-object-reactivity-loss\n assetType.value,\n props.extSystem,\n damConfigName\n)\n\nconst { mainFileSingleUseEnabled, showFileInfoEnabled, editAssetLabel } = useCommonAdminCoreDamOptions(damConfigName)\n\nconst { addToCachedUsers, fetchCachedUsers } = useDamCachedUsers(damConfigName)\n// The \"file\" panel chips show creator and modifier from the configuration's user cache.\n// A picker click fills it only for the clicked asset.\n// The \"edit asset\" detail of a widget or a queue row showed two chips spinning forever.\nwatch(\n [() => asset.value?.createdBy, () => asset.value?.modifiedBy],\n ([createdBy, modifiedBy]) => {\n if (!showFileInfoEnabled || (!createdBy && !modifiedBy)) return\n addToCachedUsers(createdBy, modifiedBy)\n fetchCachedUsers()\n },\n { immediate: true }\n)\n</script>\n\n<template>\n <VBtn\n v-if=\"showEditButton && asset\"\n size=\"small\"\n class=\"ma-2\"\n @click=\"emit('editInDam')\"\n >\n {{ editAssetLabel }}\n </VBtn>\n <VExpansionPanels\n v-if=\"asset\"\n v-model=\"panels\"\n multiple\n class=\"v-expansion-panels--compact\"\n >\n <VExpansionPanel\n elevation=\"0\"\n :title=\"t('common.damImage.asset.detail.info.metadata')\"\n value=\"metadata\"\n >\n <VExpansionPanelText>\n <AssetCustomMetadataForm\n v-if=\"asset\"\n v-model=\"asset.metadata.customData\"\n :ext-system=\"extSystem\"\n :asset-type=\"assetType\"\n :readonly=\"readonly\"\n @any-change=\"onAnyMetadataChange\"\n >\n <template #after-pinned>\n <VRow\n v-if=\"keywordEnabled\"\n density=\"compact\"\n class=\"my-2\"\n >\n <VCol>\n <ASystemEntityScope\n subject=\"keyword\"\n system=\"dam\"\n >\n <KeywordRemoteAutocompleteWithCached\n v-model=\"asset.keywords\"\n :ext-system=\"extSystem\"\n :label=\"t('common.damImage.asset.model.keywords')\"\n data-cy=\"custom-field-keywords\"\n clearable\n multiple\n :disabled=\"readonly\"\n :required=\"keywordRequired\"\n :validation-scope=\"ADamAssetMetadataValidationScopeSymbol\"\n @update:model-value=\"onAnyMetadataChange\"\n />\n </ASystemEntityScope>\n </VCol>\n </VRow>\n <VRow\n v-if=\"authorEnabled\"\n density=\"compact\"\n class=\"my-2\"\n >\n <VCol>\n <ASystemEntityScope\n subject=\"author\"\n system=\"dam\"\n >\n <AuthorRemoteAutocompleteWithCached\n v-model=\"asset.authors\"\n :ext-system=\"extSystem\"\n :label=\"t('common.damImage.asset.model.authors')\"\n :author-conflicts=\"authorConflicts\"\n data-cy=\"custom-field-authors\"\n clearable\n multiple\n :disabled=\"readonly\"\n :required=\"authorRequired\"\n :validation-scope=\"ADamAssetMetadataValidationScopeSymbol\"\n @update:model-value=\"onAnyMetadataChange\"\n />\n </ASystemEntityScope>\n </VCol>\n </VRow>\n <VRow\n v-if=\"mainFileSingleUseEnabled\"\n density=\"compact\"\n class=\"my-2\"\n >\n <VCol>\n <ARow\n v-if=\"readonly\"\n :title=\"t('common.damImage.asset.model.mainFileSingleUse')\"\n >\n <ABooleanValue :value=\"mainFileSingleUse\" />\n </ARow>\n <VSwitch\n v-else\n v-model=\"mainFileSingleUse\"\n :label=\"t('common.damImage.asset.model.mainFileSingleUse')\"\n />\n </VCol>\n </VRow>\n </template>\n </AssetCustomMetadataForm>\n </VExpansionPanelText>\n </VExpansionPanel>\n <!-- The detail wraps text only between words, unlike its card (design 1.10, JS29). -->\n <AssetFileInfoPanel\n v-if=\"showFileInfoEnabled\"\n :asset=\"asset\"\n show-users\n style=\"overflow-wrap: normal\"\n />\n </VExpansionPanels>\n</template>\n"],"mappings":"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"}
|
|
@@ -2,11 +2,10 @@ import { AxiosInstance } from 'axios';
|
|
|
2
2
|
import { DamAssetTypeType } from '../../types/Asset';
|
|
3
3
|
import { IntegerId } from '../../../../shared/types/common';
|
|
4
4
|
/**
|
|
5
|
-
* Loads what the detail of
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* they do not say.
|
|
5
|
+
* Loads what the asset detail of type `assetType` needs from ext system `extSystem` and would otherwise throw on.
|
|
6
|
+
* Loads the ext system config and the custom fields missing in the `configName` store.
|
|
7
|
+
* Custom fields: all types if the store has none for the ext system, else only `assetType` if its read failed before.
|
|
8
|
+
* Rejects with `AnzuFatalError` on failure or if the type stays unloaded. Alerts show
|
|
9
|
+
* it as an unknown error. The loaders reject with `false`, which alerts do not show.
|
|
11
10
|
*/
|
|
12
11
|
export declare function loadAssetDetailExtSystem(client: () => AxiosInstance, extSystem: IntegerId, assetType: DamAssetTypeType, configName: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assetDetailExtSystem.js","names":["loadAssetDetailExtSystem","useDamConfigState","client","configName","loads","isUndefined","getDamConfigExtSystem","extSystem","loadDamConfigExtSystem","getDamConfigAssetCustomFormElements","assetType","loadDamConfigAssetCustomFormElements","failed","AnzuFatalError"],"sources":["../../../../../src/domains/dam/assetDetail/composables/assetDetailExtSystem.ts"],"sourcesContent":["import type { AxiosInstance } from 'axios'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport type { DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport { AnzuFatalError } from '@/shared/error/AnzuFatalError'\nimport type { IntegerId } from '@/shared/types/common'\nimport { isUndefined } from '@/shared/utils/common'\n\n/**\n * Loads what the detail of
|
|
1
|
+
{"version":3,"file":"assetDetailExtSystem.js","names":["loadAssetDetailExtSystem","useDamConfigState","client","configName","loads","isUndefined","getDamConfigExtSystem","extSystem","loadDamConfigExtSystem","getDamConfigAssetCustomFormElements","assetType","loadDamConfigAssetCustomFormElements","failed","AnzuFatalError"],"sources":["../../../../../src/domains/dam/assetDetail/composables/assetDetailExtSystem.ts"],"sourcesContent":["import type { AxiosInstance } from 'axios'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport type { DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport { AnzuFatalError } from '@/shared/error/AnzuFatalError'\nimport type { IntegerId } from '@/shared/types/common'\nimport { isUndefined } from '@/shared/utils/common'\n\n/**\n * Loads what the asset detail of type `assetType` needs from ext system `extSystem` and would otherwise throw on.\n * Loads the ext system config and the custom fields missing in the `configName` store.\n * Custom fields: all types if the store has none for the ext system, else only `assetType` if its read failed before.\n * Rejects with `AnzuFatalError` on failure or if the type stays unloaded. Alerts show\n * it as an unknown error. The loaders reject with `false`, which alerts do not show.\n */\nexport async function loadAssetDetailExtSystem(\n client: () => AxiosInstance,\n extSystem: IntegerId,\n assetType: DamAssetTypeType,\n configName: string\n) {\n const {\n getDamConfigExtSystem,\n loadDamConfigExtSystem,\n getDamConfigAssetCustomFormElements,\n loadDamConfigAssetCustomFormElements,\n } = useDamConfigState(client, configName)\n const loads: Promise<unknown>[] = []\n if (isUndefined(getDamConfigExtSystem(extSystem))) loads.push(loadDamConfigExtSystem(extSystem))\n if (isUndefined(getDamConfigAssetCustomFormElements(extSystem, assetType))) {\n loads.push(\n loadDamConfigAssetCustomFormElements(\n extSystem,\n getDamConfigAssetCustomFormElements(extSystem) ? [assetType] : undefined\n )\n )\n }\n const failed = () =>\n new AnzuFatalError(undefined, `The configuration of the ext system ${extSystem} could not be loaded.`)\n try {\n await Promise.all(loads)\n } catch {\n throw failed()\n }\n if (isUndefined(getDamConfigAssetCustomFormElements(extSystem, assetType))) throw failed()\n}\n"],"mappings":";;;;AAcA,eAAsBA,EACpB,GACA,GACA,GACA,GACA;CACA,IAAM,EACJ,0BACA,2BACA,wCACA,4CACEC,EAAkBC,GAAQC,CAAU,GAClCC,IAA4B,CAAC;CAEnC,AADIC,EAAYC,EAAsBC,CAAS,CAAC,KAAGH,EAAM,KAAKI,EAAuBD,CAAS,CAAC,GAC3FF,EAAYI,EAAoCF,GAAWG,CAAS,CAAC,KACvEN,EAAM,KACJO,EACEJ,GACAE,EAAoCF,CAAS,IAAI,CAACG,CAAS,IAAI,KAAA,CACjE,CACF;CAEF,IAAME,UACJ,IAAIC,EAAe,KAAA,GAAW,uCAAuCN,EAAU,sBAAsB;CACvG,IAAI;EACF,MAAM,QAAQ,IAAIH,CAAK;CACzB,QAAQ;EACN,MAAMQ,EAAO;CACf;CACA,IAAIP,EAAYI,EAAoCF,GAAWG,CAAS,CAAC,GAAG,MAAME,EAAO;AAC3F"}
|
|
@@ -2,13 +2,13 @@ import { AssetDetailItemDto, DamAssetStatusType, DamAssetTypeType } from '../../
|
|
|
2
2
|
import { AssetFile } from '../../types/AssetFile';
|
|
3
3
|
import { UploadQueueItem } from '../../types/UploadQueue';
|
|
4
4
|
import { DocId } from '../../../../shared/types/common';
|
|
5
|
-
/**
|
|
5
|
+
/** Exactly what the frame of the asset detail and the single-upload dialog renders. */
|
|
6
6
|
export interface AssetDetailView {
|
|
7
|
-
/** Keys the sidebar
|
|
7
|
+
/** Keys the sidebar. Null while an upload has no asset yet, and then the sidebar is not rendered. */
|
|
8
8
|
id: DocId | null;
|
|
9
9
|
assetType: DamAssetTypeType;
|
|
10
10
|
assetStatus: DamAssetStatusType;
|
|
11
|
-
/**
|
|
11
|
+
/** Used for the status props of the sidebars. */
|
|
12
12
|
mainFile: AssetFile | null;
|
|
13
13
|
image: {
|
|
14
14
|
src: string;
|
|
@@ -20,24 +20,24 @@ export interface AssetDetailView {
|
|
|
20
20
|
processing: boolean;
|
|
21
21
|
waiting: boolean;
|
|
22
22
|
done: boolean;
|
|
23
|
-
/** As the row
|
|
23
|
+
/** As on the row (`UploadQueueItem['progress']`), not normalised. */
|
|
24
24
|
progress?: number | null;
|
|
25
25
|
remainingTime?: number | null;
|
|
26
26
|
};
|
|
27
|
-
/** The left side follows the
|
|
27
|
+
/** The left side follows the ROI tab. The sidebars offer that tab through their own props. */
|
|
28
28
|
roiEditorTab: boolean;
|
|
29
29
|
simpleMode: boolean;
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
|
-
* The
|
|
33
|
-
* Only then
|
|
32
|
+
* The image is the grey placeholder of `AssetImage` (its last branch): no upload state and no file.
|
|
33
|
+
* Only then do the box and its overlay fill the whole area (finding 64). An image keeps its own size.
|
|
34
34
|
*/
|
|
35
35
|
export declare const pictureIsPlaceholder: (view: AssetDetailView) => boolean;
|
|
36
|
-
/**
|
|
36
|
+
/** View of an existing asset, without upload state. */
|
|
37
37
|
export declare function assetDetailViewOfAsset(asset: AssetDetailItemDto | null, simpleAssetSidebarEnabled: boolean): AssetDetailView | null;
|
|
38
38
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
39
|
+
* View of the single-upload dialog: the row's asset data until the upload is done, then the asset read from the DAM.
|
|
40
|
+
* Preview, state and progress come from the row.
|
|
41
41
|
*/
|
|
42
42
|
export declare function assetDetailViewOfUploadItem(item: UploadQueueItem | null, detailAsset: AssetDetailItemDto | null, options: {
|
|
43
43
|
enableRoiTab: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assetDetailView.js","names":["NO_COLOUR","IMAGE_ASPECT_RATIO","PROCESSING","UploadQueueItemStatus","placeholder","dominantColourOf","assetFileIsImageFile","mainFile","pictureIsPlaceholder","view","DamAssetStatus","assetDetailViewOfAsset","asset","assetType","DamAssetTypeDefault","isImage","DamAssetType","detailPicture","simpleAssetSidebarEnabled","assetDetailViewOfUploadItem","item","done","read","detailAsset","DamAssetStatusDefault","options"],"sources":["../../../../../src/domains/dam/assetDetail/composables/assetDetailView.ts"],"sourcesContent":["import {\n type AssetDetailItemDto,\n DamAssetStatus,\n DamAssetStatusDefault,\n type DamAssetStatusType,\n DamAssetType,\n DamAssetTypeDefault,\n type DamAssetTypeType,\n} from '@/domains/dam/types/Asset'\nimport { type AssetFile, assetFileIsImageFile } from '@/domains/dam/types/AssetFile'\nimport {\n type UploadQueueItem,\n UploadQueueItemStatus,\n type UploadQueueItemStatusType,\n} from '@/domains/dam/types/UploadQueue'\nimport type { DocId } from '@/shared/types/common'\n\n/**
|
|
1
|
+
{"version":3,"file":"assetDetailView.js","names":["NO_COLOUR","IMAGE_ASPECT_RATIO","PROCESSING","UploadQueueItemStatus","placeholder","dominantColourOf","assetFileIsImageFile","mainFile","pictureIsPlaceholder","view","DamAssetStatus","assetDetailViewOfAsset","asset","assetType","DamAssetTypeDefault","isImage","DamAssetType","detailPicture","simpleAssetSidebarEnabled","assetDetailViewOfUploadItem","item","done","read","detailAsset","DamAssetStatusDefault","options"],"sources":["../../../../../src/domains/dam/assetDetail/composables/assetDetailView.ts"],"sourcesContent":["import {\n type AssetDetailItemDto,\n DamAssetStatus,\n DamAssetStatusDefault,\n type DamAssetStatusType,\n DamAssetType,\n DamAssetTypeDefault,\n type DamAssetTypeType,\n} from '@/domains/dam/types/Asset'\nimport { type AssetFile, assetFileIsImageFile } from '@/domains/dam/types/AssetFile'\nimport {\n type UploadQueueItem,\n UploadQueueItemStatus,\n type UploadQueueItemStatusType,\n} from '@/domains/dam/types/UploadQueue'\nimport type { DocId } from '@/shared/types/common'\n\n/** Exactly what the frame of the asset detail and the single-upload dialog renders. */\nexport interface AssetDetailView {\n /** Keys the sidebar. Null while an upload has no asset yet, and then the sidebar is not rendered. */\n id: DocId | null\n assetType: DamAssetTypeType\n assetStatus: DamAssetStatusType\n /** Used for the status props of the sidebars. */\n mainFile: AssetFile | null\n image: {\n src: string\n width?: number\n height?: number\n backgroundColor: string\n aspectRatio?: number\n uploading: boolean\n processing: boolean\n waiting: boolean\n done: boolean\n /** As on the row (`UploadQueueItem['progress']`), not normalised. */\n progress?: number | null\n remainingTime?: number | null\n }\n /** The left side follows the ROI tab. The sidebars offer that tab through their own props. */\n roiEditorTab: boolean\n simpleMode: boolean\n}\n\nconst NO_COLOUR = '#ccc'\nconst IMAGE_ASPECT_RATIO = 16 / 9\nconst PROCESSING: readonly UploadQueueItemStatusType[] = [\n UploadQueueItemStatus.Processing,\n UploadQueueItemStatus.Loading,\n]\n\nconst placeholder = () => ({ src: '', width: 356, height: 200, backgroundColor: NO_COLOUR })\n\nconst dominantColourOf = (mainFile: AssetFile | null | undefined) =>\n assetFileIsImageFile(mainFile) && mainFile.imageAttributes && mainFile.imageAttributes.mostDominantColor\n ? mainFile.imageAttributes.mostDominantColor\n : NO_COLOUR\n\n/**\n * The image is the grey placeholder of `AssetImage` (its last branch): no upload state and no file.\n * Only then do the box and its overlay fill the whole area (finding 64). An image keeps its own size.\n */\nexport const pictureIsPlaceholder = (view: AssetDetailView) =>\n !view.image.uploading &&\n !view.image.processing &&\n !view.image.waiting &&\n !(view.assetStatus === DamAssetStatus.WithFile && view.image.src)\n\n/** View of an existing asset, without upload state. */\nexport function assetDetailViewOfAsset(\n asset: AssetDetailItemDto | null,\n simpleAssetSidebarEnabled: boolean\n): AssetDetailView | null {\n if (!asset) return null\n const assetType = asset.attributes.assetType || DamAssetTypeDefault\n const isImage = assetType === DamAssetType.Image\n const detailPicture = asset.mainFile?.links?.image_detail\n return {\n id: asset.id,\n assetType,\n assetStatus: asset.attributes.assetStatus,\n mainFile: asset.mainFile || null,\n image: {\n ...(detailPicture\n ? {\n src: detailPicture.url,\n width: detailPicture.width,\n height: detailPicture.height,\n backgroundColor: dominantColourOf(asset.mainFile),\n }\n : placeholder()),\n uploading: false,\n processing: false,\n waiting: false,\n done: false,\n },\n // The editor follows the tab for any asset type. Other types have no ROI tab.\n roiEditorTab: true,\n simpleMode: simpleAssetSidebarEnabled && isImage,\n }\n}\n\n/**\n * View of the single-upload dialog: the row's asset data until the upload is done, then the asset read from the DAM.\n * Preview, state and progress come from the row.\n */\nexport function assetDetailViewOfUploadItem(\n item: UploadQueueItem | null,\n detailAsset: AssetDetailItemDto | null,\n options: { enableRoiTab: boolean; disableDoneAnimation: boolean; simpleAssetSidebarEnabled: boolean }\n): AssetDetailView | null {\n if (!item) return null\n const done = item.status === UploadQueueItemStatus.Uploaded\n // Only this row's asset. The store is shared and may hold an asset left\n // by another dialog or a library pick until this dialog reads its own.\n const read = item.assetId && done && detailAsset?.id === item.assetId ? detailAsset : null\n const assetType =\n (read ? read.attributes.assetType : item.assetId ? item.assetType : undefined) || DamAssetTypeDefault\n const isImage = assetType === DamAssetType.Image\n const mainFile = read?.mainFile || null\n return {\n id: read ? read.id : item.assetId || null,\n assetType,\n assetStatus: read ? read.attributes.assetStatus : item.assetId ? item.assetStatus : DamAssetStatusDefault,\n mainFile,\n image: {\n ...(item.imagePreview\n ? {\n src: item.imagePreview.url,\n width: item.imagePreview.requestedWidth || undefined,\n height: item.imagePreview.requestedHeight || undefined,\n backgroundColor: dominantColourOf(mainFile),\n }\n : placeholder()),\n aspectRatio: IMAGE_ASPECT_RATIO,\n uploading: item.status === UploadQueueItemStatus.Uploading,\n processing: PROCESSING.includes(item.status),\n waiting: item.status === UploadQueueItemStatus.Waiting,\n done: !options.disableDoneAnimation && done,\n progress: item.progress.progressPercent,\n remainingTime: item.progress.remainingTime,\n },\n roiEditorTab: options.enableRoiTab,\n simpleMode: options.simpleAssetSidebarEnabled && isImage && options.enableRoiTab,\n }\n}\n"],"mappings":";;;;AA4CA,IAAMA,IAAY,QACZC,IAAqB,KAAK,GAC1BC,IAAmD,CACvDC,EAAsB,YACtBA,EAAsB,OACxB,GAEMC,WAAqB;CAAE,KAAK;CAAI,OAAO;CAAK,QAAQ;CAAK,iBAAiBJ;AAAU,IAEpFK,KAAoB,MACxBC,EAAqBC,CAAQ,KAAKA,EAAS,mBAAmBA,EAAS,gBAAgB,oBACnFA,EAAS,gBAAgB,oBACzBP,GAMOQ,KAAwB,MACnC,CAACC,EAAK,MAAM,aACZ,CAACA,EAAK,MAAM,cACZ,CAACA,EAAK,MAAM,WACZ,EAAEA,EAAK,gBAAgBC,EAAe,YAAYD,EAAK,MAAM;AAG/D,SAAgBE,EACd,GACA,GACwB;CACxB,IAAI,CAACC,GAAO,OAAO;CACnB,IAAMC,IAAYD,EAAM,WAAW,aAAaE,GAC1CC,IAAUF,MAAcG,EAAa,OACrCC,IAAgBL,EAAM,UAAU,OAAO;CAC7C,OAAO;EACL,IAAIA,EAAM;EACV;EACA,aAAaA,EAAM,WAAW;EAC9B,UAAUA,EAAM,YAAY;EAC5B,OAAO;GACL,GAAIK,IACA;IACE,KAAKA,EAAc;IACnB,OAAOA,EAAc;IACrB,QAAQA,EAAc;IACtB,iBAAiBZ,EAAiBO,EAAM,QAAQ;GAClD,IACAR,EAAY;GAChB,WAAW;GACX,YAAY;GACZ,SAAS;GACT,MAAM;EACR;EAEA,cAAc;EACd,YAAYc,KAA6BH;CAC3C;AACF;AAMA,SAAgBI,EACd,GACA,GACA,GACwB;CACxB,IAAI,CAACC,GAAM,OAAO;CAClB,IAAMC,IAAOD,EAAK,WAAWjB,EAAsB,UAG7CmB,IAAOF,EAAK,WAAWC,KAAQE,GAAa,OAAOH,EAAK,UAAUG,IAAc,MAChFV,KACHS,IAAOA,EAAK,WAAW,YAAYF,EAAK,UAAUA,EAAK,YAAY,KAAA,MAAcN,GAC9EC,IAAUF,MAAcG,EAAa,OACrCT,IAAWe,GAAM,YAAY;CACnC,OAAO;EACL,IAAIA,IAAOA,EAAK,KAAKF,EAAK,WAAW;EACrC;EACA,aAAaE,IAAOA,EAAK,WAAW,cAAcF,EAAK,UAAUA,EAAK,cAAcI;EACpF;EACA,OAAO;GACL,GAAIJ,EAAK,eACL;IACE,KAAKA,EAAK,aAAa;IACvB,OAAOA,EAAK,aAAa,kBAAkB,KAAA;IAC3C,QAAQA,EAAK,aAAa,mBAAmB,KAAA;IAC7C,iBAAiBf,EAAiBE,CAAQ;GAC5C,IACAH,EAAY;GAChB,aAAaH;GACb,WAAWmB,EAAK,WAAWjB,EAAsB;GACjD,YAAYD,EAAW,SAASkB,EAAK,MAAM;GAC3C,SAASA,EAAK,WAAWjB,EAAsB;GAC/C,MAAM,CAACsB,EAAQ,wBAAwBJ;GACvC,UAAUD,EAAK,SAAS;GACxB,eAAeA,EAAK,SAAS;EAC/B;EACA,cAAcK,EAAQ;EACtB,YAAYA,EAAQ,6BAA6BV,KAAWU,EAAQ;CACtE;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assetDetailStore.js","names":["AssetDetailTabImageWithRoi","AssetDetailTabImageWithRoiDefault","useAssetDetailStore","defineStore","asset","ref","authorConflicts","dialog","loading","metadataAreTouched","activeTab","updateUploadStore","mainFileSingleUse","saves","saveKey","configName","assetId","turn","setAsset","data","open","mine","key","answer","read","beforeShown","close","readBesideDetail","begun","isNull","wanted","setSaving","answered","save","before","all","savingOf","reset"],"sources":["../../../../../src/domains/dam/assetDetail/store/assetDetailStore.ts"],"sourcesContent":["import { defineStore } from 'pinia'\nimport { ref } from 'vue'\nimport type { AssetDetailItemDto } from '@/domains/dam/types/Asset'\nimport type { DocId } from '@/shared/types/common'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport { isNull } from '@/shared/utils/common'\n\nexport const AssetDetailTabImageWithRoi = {\n Info: 'meta',\n ROI: 'roi',\n} as const\nexport type AssetDetailTabImageWithRoiType =\n (typeof AssetDetailTabImageWithRoi)[keyof typeof AssetDetailTabImageWithRoi]\nexport const AssetDetailTabImageWithRoiDefault = AssetDetailTabImageWithRoi.Info\n\nexport const useAssetDetailStore = defineStore('commonAdminAssetDetailStore', () => {\n const asset = ref<AssetDetailItemDto | null>(null)\n const authorConflicts = ref<DocId[]>([])\n const dialog = ref<null | UploadQueueKey>(null)\n const loading = ref(false)\n const metadataAreTouched = ref(false)\n const activeTab = ref<AssetDetailTabImageWithRoiType>(AssetDetailTabImageWithRoiDefault)\n const updateUploadStore = ref(false)\n const mainFileSingleUse = ref(false)\n //
|
|
1
|
+
{"version":3,"file":"assetDetailStore.js","names":["AssetDetailTabImageWithRoi","AssetDetailTabImageWithRoiDefault","useAssetDetailStore","defineStore","asset","ref","authorConflicts","dialog","loading","metadataAreTouched","activeTab","updateUploadStore","mainFileSingleUse","saves","saveKey","configName","assetId","turn","setAsset","data","open","mine","key","answer","read","beforeShown","close","readBesideDetail","begun","isNull","wanted","setSaving","answered","save","before","all","savingOf","reset"],"sources":["../../../../../src/domains/dam/assetDetail/store/assetDetailStore.ts"],"sourcesContent":["import { defineStore } from 'pinia'\nimport { ref } from 'vue'\nimport type { AssetDetailItemDto } from '@/domains/dam/types/Asset'\nimport type { DocId } from '@/shared/types/common'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport { isNull } from '@/shared/utils/common'\n\nexport const AssetDetailTabImageWithRoi = {\n Info: 'meta',\n ROI: 'roi',\n} as const\nexport type AssetDetailTabImageWithRoiType =\n (typeof AssetDetailTabImageWithRoi)[keyof typeof AssetDetailTabImageWithRoi]\nexport const AssetDetailTabImageWithRoiDefault = AssetDetailTabImageWithRoi.Info\n\nexport const useAssetDetailStore = defineStore('commonAdminAssetDetailStore', () => {\n const asset = ref<AssetDetailItemDto | null>(null)\n const authorConflicts = ref<DocId[]>([])\n const dialog = ref<null | UploadQueueKey>(null)\n const loading = ref(false)\n const metadataAreTouched = ref(false)\n const activeTab = ref<AssetDetailTabImageWithRoiType>(AssetDetailTabImageWithRoiDefault)\n const updateUploadStore = ref(false)\n const mainFileSingleUse = ref(false)\n // Pending detail saves, keyed by DAM configuration and asset, until the DAM answers. They never reject.\n // The detail can close before that. A host that rereads the asset after close waits for that asset's saves first.\n // A single page-wide entry made closing one asset wait for another's save. Two DAMs can share an asset id.\n const saves = new Map<string, Promise<void>>()\n const saveKey = (assetId: DocId, configName: string) => `${configName}\\u0000${assetId}`\n // Counts detail openings and closings. A read is applied only if the count is unchanged since it began.\n let turn = 0\n\n function setAsset(data: AssetDetailItemDto | null) {\n asset.value = data\n mainFileSingleUse.value = data?.mainFileSingleUse || false\n }\n\n /**\n * Opens the detail of queue `key` in loading state and shows the asset returned by `read`.\n * The store is page-wide. Only the read of the last opened detail is applied, and\n * only while it is open. Other answers are ignored and leave the loader as is.\n * `beforeShown` runs for the applied answer before it is shown.\n * A failed read rejects for the host to report. If the detail waits for it, the detail\n * is closed: an empty dialog still covers the page and only its own button closes it.\n */\n async function open(\n key: UploadQueueKey,\n read: () => Promise<AssetDetailItemDto>,\n beforeShown?: (answer: AssetDetailItemDto) => void\n ) {\n const mine = ++turn\n setAsset(null)\n loading.value = true\n dialog.value = key\n try {\n const answer = await read()\n if (mine !== turn) return\n beforeShown?.(answer)\n setAsset(answer)\n loading.value = false\n } catch (e) {\n if (mine === turn) close()\n throw e\n }\n }\n\n /** Closes the detail. A pending read it was opened with is ignored. */\n function close() {\n turn++\n loading.value = false\n setAsset(null)\n dialog.value = null\n }\n\n /**\n * Reads the asset for a host that shows the store's asset beside the detail, like the asset list side panel.\n * Applied only if no detail is open and none was opened since the read\n * began. Otherwise the detail would show and save into that asset.\n * Rejects on failure. `wanted`: checked after the response by\n * hosts with their own read order; unwanted answers are ignored.\n * `beforeShown` runs for the applied answer before it is shown.\n */\n async function readBesideDetail(\n read: () => Promise<AssetDetailItemDto>,\n wanted?: () => boolean,\n beforeShown?: (answer: AssetDetailItemDto) => void\n ) {\n const begun = turn\n const answer = await read()\n if (begun !== turn || !isNull(dialog.value)) return\n if (wanted && !wanted()) return\n beforeShown?.(answer)\n setAsset(answer)\n }\n\n /** Registers a detail save of asset `assetId` under DAM configuration `configName`. */\n function setSaving(assetId: DocId, save: Promise<unknown>, configName: string) {\n const key = saveKey(assetId, configName)\n const answered = save.then(\n () => undefined,\n () => undefined\n )\n const before = saves.get(key)\n const all = before ? Promise.all([before, answered]).then(() => undefined) : answered\n saves.set(key, all)\n void all.then(() => {\n if (saves.get(key) === all) saves.delete(key)\n })\n }\n\n /** Resolves when all pending saves of `assetId` under `configName` are answered. `null` when none is pending. */\n function savingOf(assetId: DocId, configName: string) {\n return saves.get(saveKey(assetId, configName)) ?? null\n }\n\n function reset() {\n asset.value = null\n mainFileSingleUse.value = false\n }\n\n return {\n metadataAreTouched,\n authorConflicts,\n asset,\n loading,\n dialog,\n activeTab,\n updateUploadStore,\n mainFileSingleUse,\n setAsset,\n open,\n close,\n readBesideDetail,\n setSaving,\n savingOf,\n reset,\n }\n})\n"],"mappings":";;;;AAOA,IAAaA,IAA6B;CACxC,MAAM;CACN,KAAK;AACP,GAGaC,IAAoCD,EAA2B,MAE/DE,IAAsBC,EAAY,qCAAqC;CAClF,IAAMC,IAAQC,EAA+B,IAAI,GAC3CC,IAAkBD,EAAa,CAAC,CAAC,GACjCE,IAASF,EAA2B,IAAI,GACxCG,IAAUH,EAAI,EAAK,GACnBI,IAAqBJ,EAAI,EAAK,GAC9BK,IAAYL,EAAoCJ,CAAiC,GACjFU,IAAoBN,EAAI,EAAK,GAC7BO,IAAoBP,EAAI,EAAK,GAI7BQ,oBAAQ,IAAI,IAA2B,GACvCC,KAAW,GAAgB,MAAuB,GAAGC,EAAW,QAAQC,KAE1EC,IAAO;CAEX,SAASC,EAAS,GAAiC;EAEjD,AADA,EAAM,QAAQC,GACd,EAAkB,QAAQA,GAAM,qBAAqB;CACvD;CAUA,eAAeC,EACb,GACA,GACA,GACA;EACA,IAAMC,IAAO,EAAEJ;EAGf,AAFAC,EAAS,IAAI,GACb,EAAQ,QAAQ,IAChB,EAAO,QAAQI;EACf,IAAI;GACF,IAAMC,IAAS,MAAMC,EAAK;GAC1B,IAAIH,MAASJ,GAAM;GAGnB,AAFAQ,IAAcF,CAAM,GACpBL,EAASK,CAAM,GACf,EAAQ,QAAQ;EAClB,SAAS,GAAG;GAEV,MADIF,MAASJ,KAAMS,EAAM,GACnB;EACR;CACF;CAGA,SAASA,IAAQ;EAIf,AAHA,KACA,EAAQ,QAAQ,IAChBR,EAAS,IAAI,GACb,EAAO,QAAQ;CACjB;CAUA,eAAeS,EACb,GACA,GACA,GACA;EACA,IAAMC,IAAQX,GACRM,IAAS,MAAMC,EAAK;EAC1B,AAAII,MAAUX,KAASY,EAAOtB,EAAO,KAAK,MACtC,MAAWuB,EAAO,OACtBL,IAAcF,CAAM,GACpBL,EAASK,CAAM;CACjB;CAGA,SAASQ,EAAU,GAAgB,GAAwB,GAAoB;EAC7E,IAAMT,IAAMR,EAAQE,GAASD,CAAU,GACjCiB,IAAWC,EAAK,WACd,KAAA,SACA,KAAA,CACR,GACMC,IAASrB,EAAM,IAAIS,CAAG,GACtBa,IAAMD,IAAS,QAAQ,IAAI,CAACA,GAAQF,CAAQ,CAAC,CAAC,CAAC,WAAW,KAAA,CAAS,IAAIA;EAE7E,AADAnB,EAAM,IAAIS,GAAKa,CAAG,GAClBA,EAAS,WAAW;GAClB,AAAItB,EAAM,IAAIS,CAAG,MAAMa,KAAKtB,EAAM,OAAOS,CAAG;EAC9C,CAAC;CACH;CAGA,SAASc,EAAS,GAAgB,GAAoB;EACpD,OAAOvB,EAAM,IAAIC,EAAQE,GAASD,CAAU,CAAC,KAAK;CACpD;CAEA,SAASsB,IAAQ;EAEf,AADA,EAAM,QAAQ,MACd,EAAkB,QAAQ;CAC5B;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { AssetDetailItemDto } from '../../types/Asset';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* True while the server may still fill the metadata from the file.
|
|
4
|
+
* A form loaded now would overwrite that on save. A save also
|
|
5
|
+
* marks the asset described, after which the server fills nothing.
|
|
6
|
+
* False when already described, or when the file is processed, failed, a duplicate or missing.
|
|
6
7
|
*/
|
|
7
8
|
export declare const assetMetadataMayStillChange: (asset: AssetDetailItemDto) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assetMetadataMayStillChange.js","names":["NOT_PROCESSED_YET","AssetFileProcessStatus","assetMetadataMayStillChange","asset"],"sources":["../../../../../src/domains/dam/assetDetail/utils/assetMetadataMayStillChange.ts"],"sourcesContent":["import type { AssetDetailItemDto } from '@/domains/dam/types/Asset'\nimport { AssetFileProcessStatus, type AssetFileProcessStatusType } from '@/domains/dam/types/AssetFile'\n\nconst NOT_PROCESSED_YET: AssetFileProcessStatusType[] = [\n AssetFileProcessStatus.Uploading,\n AssetFileProcessStatus.Uploaded,\n AssetFileProcessStatus.Stored,\n]\n\n/**\n *
|
|
1
|
+
{"version":3,"file":"assetMetadataMayStillChange.js","names":["NOT_PROCESSED_YET","AssetFileProcessStatus","assetMetadataMayStillChange","asset"],"sources":["../../../../../src/domains/dam/assetDetail/utils/assetMetadataMayStillChange.ts"],"sourcesContent":["import type { AssetDetailItemDto } from '@/domains/dam/types/Asset'\nimport { AssetFileProcessStatus, type AssetFileProcessStatusType } from '@/domains/dam/types/AssetFile'\n\nconst NOT_PROCESSED_YET: AssetFileProcessStatusType[] = [\n AssetFileProcessStatus.Uploading,\n AssetFileProcessStatus.Uploaded,\n AssetFileProcessStatus.Stored,\n]\n\n/**\n * True while the server may still fill the metadata from the file.\n * A form loaded now would overwrite that on save. A save also\n * marks the asset described, after which the server fills nothing.\n * False when already described, or when the file is processed, failed, a duplicate or missing.\n */\nexport const assetMetadataMayStillChange = (asset: AssetDetailItemDto) =>\n !asset.flags.described && !!asset.mainFile && NOT_PROCESSED_YET.includes(asset.mainFile.fileAttributes.status)\n"],"mappings":";;AAGA,IAAMA,IAAkD;CACtDC,EAAuB;CACvBA,EAAuB;CACvBA,EAAuB;AACzB,GAQaC,KAA+B,MAC1C,CAACC,EAAM,MAAM,aAAa,CAAC,CAACA,EAAM,YAAYH,EAAkB,SAASG,EAAM,SAAS,eAAe,MAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"damPodcastApi.js","names":["ENTITY","fetchDamPodcastListByIds","DAM_END_POINT_PODCAST","useApiFetchByIds","SYSTEM_CORE_DAM","endPoint","execute","ids","useFetchDamPodcastList","useApiFetchList"],"sources":["../../../../../src/domains/dam/assetSelect/api/damPodcastApi.ts"],"sourcesContent":["import type { AxiosInstance } from 'axios'\nimport { SYSTEM_CORE_DAM } from '@/domains/dam/api/damConstants'\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport { useApiFetchList } from '@/domains/api/composables/useApiFetchList'\nimport { useApiFetchByIds } from '@/domains/api/composables/useApiFetchByIds'\nimport type { DamPodcastAware } from '@/domains/dam/assetSelect/composables/podcastFilterAndActions'\nimport { DAM_END_POINT_PODCAST } from '@/domains/dam/api/damEndPoints'\n\nconst ENTITY = 'podcast'\n\n// `endPoint`: the
|
|
1
|
+
{"version":3,"file":"damPodcastApi.js","names":["ENTITY","fetchDamPodcastListByIds","DAM_END_POINT_PODCAST","useApiFetchByIds","SYSTEM_CORE_DAM","endPoint","execute","ids","useFetchDamPodcastList","useApiFetchList"],"sources":["../../../../../src/domains/dam/assetSelect/api/damPodcastApi.ts"],"sourcesContent":["import type { AxiosInstance } from 'axios'\nimport { SYSTEM_CORE_DAM } from '@/domains/dam/api/damConstants'\nimport type { DocId, IntegerId } from '@/shared/types/common'\nimport { useApiFetchList } from '@/domains/api/composables/useApiFetchList'\nimport { useApiFetchByIds } from '@/domains/api/composables/useApiFetchByIds'\nimport type { DamPodcastAware } from '@/domains/dam/assetSelect/composables/podcastFilterAndActions'\nimport { DAM_END_POINT_PODCAST } from '@/domains/dam/api/damEndPoints'\n\nconst ENTITY = 'podcast'\n\n// `endPoint`: the caller's podcast endpoint. The default is used when not given.\n\nexport const fetchDamPodcastListByIds = (\n client: () => AxiosInstance,\n licenceId: IntegerId,\n ids: DocId[],\n endPoint: string = DAM_END_POINT_PODCAST\n) => {\n const { execute } = useApiFetchByIds<DamPodcastAware>({\n client,\n system: SYSTEM_CORE_DAM,\n entity: ENTITY,\n urlTemplate: endPoint + '/licence/:licenceId',\n urlParams: { licenceId },\n })\n\n return execute(ids)\n}\n\nexport const useFetchDamPodcastList = (\n client: () => AxiosInstance,\n licenceId: IntegerId,\n endPoint: string = DAM_END_POINT_PODCAST\n) =>\n useApiFetchList<DamPodcastAware>({\n client,\n system: SYSTEM_CORE_DAM,\n entity: ENTITY,\n urlTemplate: endPoint + '/licence/:licenceId',\n urlParams: { licenceId },\n })\n"],"mappings":";;;;;AAQA,IAAMA,IAAS,WAIFC,KACX,GACA,GACA,GACA,IAAmBC,MAChB;CACH,IAAM,EAAE,eAAYC,EAAkC;EACpD;EACA,QAAQC;EACR,QAAQJ;EACR,aAAaK,IAAW;EACxB,WAAW,EAAE,aAAU;CACzB,CAAC;CAED,OAAOC,EAAQC,CAAG;AACpB,GAEaC,KACX,GACA,GACA,IAAmBN,MAEnBO,EAAiC;CAC/B;CACA,QAAQL;CACR,QAAQJ;CACR,aAAaK,IAAW;CACxB,WAAW,EAAE,aAAU;AACzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AAssetListInner.js","names":["_sfc_main","AAssetListInner_vue_vue_type_script_setup_true_lang_default","AAssetListInner_default"],"sources":["../../../../../src/domains/dam/assetSelect/components/AAssetListInner.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, inject, onUnmounted, provide, ref, watch } from 'vue'\nimport { useDisplay } from 'vuetify'\nimport { useI18n } from 'vue-i18n'\nimport { type AssetDetailItemDto, type DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport { useAssetSelectActions } from '@/domains/dam/assetSelect/composables/assetSelectListActions'\nimport AssetSelectListTable from '@/domains/dam/assetSelect/components/AssetSelectListTable.vue'\nimport AssetSelectListBar from '@/domains/dam/assetSelect/components/AssetSelectListBar.vue'\nimport { AssetSelectGridView, useGridView } from '@/domains/dam/assetSelect/composables/assetSelectGridView'\nimport AssetSelectListTiles from '@/domains/dam/assetSelect/components/AssetSelectListTiles.vue'\nimport { useSidebar } from '@/domains/dam/assetSelect/composables/assetSelectFilterSidebar'\nimport AssetSelectFilterForm from '@/domains/dam/assetSelect/components/AssetSelectFilterForm.vue'\nimport { filterAllowedImageWidgetSelectConfigs } from '@/domains/dam/config/utils/damFilterUserAllowedUploadConfigs'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport type { DamConfigLicenceExtSystemReturnType, DamExtSystemConfig } from '@/domains/dam/types/DamConfig'\nimport { cloneDeep, isDefined, isUndefined } from '@/shared/utils/common'\nimport AssetMetadata from '@/domains/dam/assetDetail/components/AssetMetadata.vue'\nimport { useAssetSelectStore } from '@/domains/dam/assetSelect/store/assetSelectStore'\nimport { storeToRefs } from 'pinia'\nimport { useAssetDetailStore } from '@/domains/dam/assetDetail/store/assetDetailStore'\nimport { type DatatableOrderingOption } from '@/domains/filters/datatable/utils/datatableColumns'\nimport { useAssetListFilter } from '@/domains/dam/assetSelect/filter/AssetFilter'\nimport { DatatablePaginationKey, FilterConfigKey, FilterDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport AFilterWrapper from '@/domains/filters/components/AFilterWrapper.vue'\nimport AFilterString from '@/domains/filters/components/AFilterString.vue'\nimport { useFilterHelpers } from '@/domains/filters/composables/filterFactory'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\nimport AssetDetailDialog from '@/domains/dam/assetDetail/components/AssetDetailDialog.vue'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport { ImageWidgetUploadConfigKey } from '@/domains/dam/imageWidget/utils/imageWidgetInkectionKeys'\nimport { useDamAcceptTypeAndSizeHelper } from '@/domains/dam/config/composables/acceptTypeAndSizeHelper'\nimport { useUploadQueueDialog } from '@/domains/dam/uploadQueue/composables/useUploadQueueDialog'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport UploadQueueDialog from '@/domains/dam/uploadQueue/components/UploadQueueDialog.vue'\nimport AFileInput from '@/domains/ui/file/components/AFileInput.vue'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n assetType: DamAssetTypeType\n queueKey: UploadQueueKey\n selectConfigs: DamConfigLicenceExtSystemReturnType[]\n inPodcast?: boolean | null\n configName?: string\n skipCurrentUserCheck?: boolean\n variant?: 'default' | 'inline'\n }>(),\n {\n inPodcast: null,\n configName: undefined,\n skipCurrentUserCheck: false,\n variant: 'default',\n }\n)\n\nconst sortModel = defineModel<number>('sort', { default: 1, required: false })\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst { t } = useI18n()\n\nconst {\n damClient,\n loader,\n pagination,\n fetchNextPage,\n fetchNextPageInView,\n initStoreContext,\n detailLoading,\n readActiveItemAgain,\n fetchAssetListDebounced,\n reset,\n resetAssetList,\n} = useAssetSelectActions(damConfigName)\n// The ordering in the list bar reads this; without it the dialog would pick up the host page's pagination.\nprovide(DatatablePaginationKey, pagination)\n\nconst { assetListEnabledFilters } = useCommonAdminCoreDamOptions(damConfigName)\n\nconst { loadDamConfigAssetCustomFormElements, getDamConfigAssetCustomFormElements } = useDamConfigState(\n damClient,\n damConfigName\n)\n\nconst assetDetailStore = useAssetDetailStore()\nconst { asset, dialog } = storeToRefs(assetDetailStore)\nconst assetSelectStore = useAssetSelectStore()\nconst { selectedLicenceId } = storeToRefs(assetSelectStore)\n\nconst { sidebarRight, closeSidebarRight, closeSidebarLeft } = useSidebar()\nconst { mdAndDown } = useDisplay()\nconst { showErrorT } = useAlerts()\n\nconst { filterData, filterConfig } = useAssetListFilter()\nprovide(FilterConfigKey, filterConfig)\nprovide(FilterDataKey, filterData)\n\nconst { resetFilter, submitFilter } = useFilterHelpers(filterData, filterConfig, {\n populateUrlParams: false,\n storeFiltersLocalStorage: false,\n})\n\nconst submitFilterAction = () => {\n submitFilter(pagination, fetchAssetListDebounced)\n if (mdAndDown.value) closeSidebarLeft()\n}\n\nconst resetFilterAction = () => {\n resetFilter(pagination, resetAssetList)\n if (mdAndDown.value) closeSidebarLeft()\n}\n\nconst onInit = () => {\n let selectConfigLocal = cloneDeep(props.selectConfigs)\n if (!props.skipCurrentUserCheck) {\n selectConfigLocal = filterAllowedImageWidgetSelectConfigs(props.selectConfigs, damConfigName)\n }\n if (selectConfigLocal.length === 0) {\n showErrorT('common.assetSelect.error.unallowedLicence')\n return\n }\n\n reset()\n initStoreContext(selectConfigLocal, props.assetType, props.inPodcast, false, 0, 0)\n fetchAssetListDebounced()\n}\n\nconst { gridView } = useGridView()\n\nconst componentComputed = computed(() => {\n switch (gridView.value) {\n case AssetSelectGridView.Table:\n return AssetSelectListTable\n default:\n case AssetSelectGridView.Masonry:\n case AssetSelectGridView.Thumbnail:\n return AssetSelectListTiles\n }\n})\n\nconst extId = computed(() => {\n if (props.selectConfigs.length === 0) return undefined\n if (selectedLicenceId.value > 0) {\n const found = props.selectConfigs.find((config) => config.licence === selectedLicenceId.value)\n if (found) return found.extSystem\n }\n return undefined\n})\n\nconst loadingSidebarRight = computed(() => {\n return customFormConfigLoading.value || detailLoading.value\n})\n\nconst { showErrorsDefault } = useAlerts()\nconst customFormConfigLoading = ref(true)\n// The configuration of the custom fields could not be read: the side panel says so, in place of the form of the\n// asset, which cannot be drawn without it. It used to load without an end.\nconst customFormConfigFailed = ref(false)\n\nconst sortByChange = (option: DatatableOrderingOption) => {\n pagination.value.sortBy = null\n if (option.sortBy) {\n pagination.value.sortBy = { key: option.sortBy.key, order: option.sortBy.order }\n }\n fetchAssetListDebounced()\n}\n\n// Whether the open detail is the one \"edit\" of the side panel opened. The detail of a row of the upload queue is drawn\n// here as well, and its close has the panel read its own asset again.\nlet detailOfPanel = false\n\nconst onOpenEditDialog = () => {\n if (!asset.value) return\n detailOfPanel = true\n dialog.value = props.queueKey\n}\n\n// The panel reads the asset the detail it opened showed, not the one the list remembers: the two differ once a click\n// has been made while the panel showed the asset it opened.\nconst onCloseEditDialog = (shown: AssetDetailItemDto | null) => {\n const ofPanel = detailOfPanel\n detailOfPanel = false\n readActiveItemAgain(ofPanel ? (shown?.id ?? null) : null)\n}\n\nconst imageWidgetUploadConfig = inject(ImageWidgetUploadConfigKey, undefined)\nconst uploadEnabled = computed(() => isDefined(imageWidgetUploadConfig) && isDefined(imageWidgetUploadConfig.value))\n\nconst { uploadQueueDialog, uploadQueueDialogSaving, stopQueueLeftBehind } = useUploadQueueDialog()\nconst uploadQueuesStore = useUploadQueuesStore()\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { uploadSizes, uploadAccept } = useDamAcceptTypeAndSizeHelper(\n props.assetType,\n (imageWidgetUploadConfig?.value?.extSystemConfig ?? {}) as DamExtSystemConfig\n)\n\nconst uploadQueue = computed(() => {\n return uploadQueuesStore.getQueue(props.queueKey)\n})\n\nconst onFileInput = (files: File[]) => {\n if (files.length === 0) return\n // The page has an entry of its own (its button, a dropzone over the whole window) that reaches here past the\n // dialog. While the dialog of this queue saves no file is taken: \"save and apply\" ends with the queue emptied, and\n // a file queued meanwhile went with it, half uploaded and without a word.\n if (uploadQueueDialogSaving.value === props.queueKey) return\n const config = imageWidgetUploadConfig?.value\n if (!config) return\n stopQueueLeftBehind(props.queueKey)\n uploadQueuesStore.addByFiles(props.queueKey, config.extSystem, config.licence, files, damConfigName)\n uploadQueueDialog.value = props.queueKey\n}\n\nconst onUploadApply = () => {\n uploadQueueDialog.value = null\n uploadQueuesStore.stopUpload(props.queueKey)\n fetchAssetListDebounced()\n}\n\nwatch(\n extId,\n async (newValue) => {\n if (isUndefined(newValue)) return\n customFormConfigLoading.value = true\n customFormConfigFailed.value = false\n // The custom fields of the type it lists: every type of the ext system where it has none yet, else that type alone\n // where its read failed before. The types loaded are not read again.\n const type = props.assetType\n if (isUndefined(getDamConfigAssetCustomFormElements(newValue, type))) {\n try {\n await loadDamConfigAssetCustomFormElements(\n newValue,\n getDamConfigAssetCustomFormElements(newValue) ? [type] : undefined\n )\n } catch (e) {\n showErrorsDefault(e)\n }\n // The answer for an ext system the list has left since says nothing of the one it lists now.\n if (extId.value !== newValue) return\n customFormConfigFailed.value = isUndefined(getDamConfigAssetCustomFormElements(newValue, type))\n }\n customFormConfigLoading.value = false\n },\n { immediate: true }\n)\n\nwatch(selectedLicenceId, (newValue, oldValue) => {\n if (newValue === oldValue) return\n resetFilterAction()\n})\n\nonInit()\n\nonUnmounted(() => {\n reset()\n})\n</script>\n\n<template>\n <slot\n v-if=\"uploadEnabled\"\n name=\"upload-activator\"\n :on-file-input=\"onFileInput\"\n :upload-accept=\"uploadAccept\"\n :upload-sizes=\"uploadSizes\"\n >\n <AFileInput\n :file-input-key=\"uploadQueue?.fileInputKey\"\n :accept=\"uploadAccept\"\n :max-sizes=\"uploadSizes\"\n multiple\n @files-input=\"onFileInput\"\n >\n <template #activator=\"{ props: fileInputProps }\">\n <VBtn v-bind=\"fileInputProps\">\n {{ t('common.button.upload') }}\n </VBtn>\n </template>\n </AFileInput>\n </slot>\n <div\n class=\"subject-select__card\"\n :class=\"{ 'subject-select__card--inline': variant === 'inline' }\"\n >\n <div class=\"px-2 pt-2\">\n <slot name=\"filter\">\n <AFilterWrapper\n @submit=\"submitFilterAction\"\n @reset=\"resetFilterAction\"\n >\n <template #search>\n <AFilterString name=\"text\" />\n </template>\n <template #detail>\n <VRow v-if=\"selectConfigs.length > 1\">\n <VCol :cols=\"12\">\n <VSelect\n v-model=\"selectedLicenceId\"\n :label=\"t('common.assetSelect.filter.licence')\"\n :items=\"selectConfigs\"\n item-title=\"licenceName\"\n item-value=\"licence\"\n hide-details\n />\n </VCol>\n </VRow>\n <AssetSelectFilterForm\n use-config-layout\n hide-text-search\n :enabled-filters=\"assetListEnabledFilters\"\n :config-name=\"damConfigName\"\n />\n </template>\n </AFilterWrapper>\n </slot>\n </div>\n <AssetSelectListBar\n v-model:sort=\"sortModel\"\n hide-filter-toggle\n @sort-by-change=\"sortByChange\"\n />\n <div\n class=\"subject-select__main\"\n :class=\"{\n 'subject-select__main--sidebar-right-active': sidebarRight && !mdAndDown,\n }\"\n >\n <div class=\"subject-select__content\">\n <component\n :is=\"componentComputed\"\n v-if=\"extId\"\n :ext-system=\"extId\"\n />\n <div class=\"d-flex w-100 align-center justify-center pa-4\">\n <ABtnSecondary\n v-show=\"pagination.hasNextPage || loader\"\n v-intersect=\"fetchNextPageInView\"\n :loading=\"loader\"\n size=\"small\"\n @click=\"fetchNextPage\"\n >\n {{ t('common.button.loadMore') }}\n </ABtnSecondary>\n </div>\n </div>\n <div\n v-if=\"!mdAndDown\"\n class=\"subject-select__sidebar-right border-s\"\n >\n <div\n v-if=\"customFormConfigFailed\"\n class=\"d-flex w-100 align-center justify-center text-body-large\"\n >\n {{ t('common.damImage.error.loadingConfig') }}\n </div>\n <div\n v-else-if=\"loadingSidebarRight\"\n class=\"d-flex w-100 align-center justify-center\"\n >\n <VProgressCircular indeterminate />\n </div>\n <div\n v-else-if=\"!asset\"\n class=\"d-flex w-100 align-center justify-center text-body-large\"\n >\n {{ t('common.assetSelect.meta.info.noAssetSelected') }}\n </div>\n <div\n v-else\n class=\"w-100\"\n >\n <slot\n name=\"sidebar-prepend\"\n :asset=\"asset\"\n />\n <AssetMetadata\n v-if=\"extId && !customFormConfigLoading\"\n :ext-system=\"extId\"\n readonly\n show-edit-button\n @edit-in-dam=\"onOpenEditDialog\"\n />\n </div>\n </div>\n </div>\n <VDialog\n v-if=\"mdAndDown\"\n v-model=\"sidebarRight\"\n scrollable\n @update:model-value=\"\n (v) => {\n if (!v) closeSidebarRight()\n }\n \"\n >\n <VCard>\n <ADialogToolbar @cancel=\"closeSidebarRight\">\n {{ t('common.assetSelect.meta.info.toggle') }}\n </ADialogToolbar>\n <VCardText>\n <div\n v-if=\"customFormConfigFailed\"\n class=\"d-flex w-100 align-center justify-center text-body-large\"\n >\n {{ t('common.damImage.error.loadingConfig') }}\n </div>\n <div\n v-else-if=\"loadingSidebarRight\"\n class=\"d-flex w-100 align-center justify-center\"\n >\n <VProgressCircular indeterminate />\n </div>\n <div\n v-else-if=\"asset\"\n class=\"w-100\"\n >\n <slot\n name=\"sidebar-prepend\"\n :asset=\"asset\"\n />\n <AssetMetadata\n v-if=\"extId && !customFormConfigLoading\"\n :ext-system=\"extId\"\n readonly\n show-edit-button\n @edit-in-dam=\"onOpenEditDialog\"\n />\n </div>\n </VCardText>\n <VCardActions>\n <VSpacer />\n <VBtn @click=\"closeSidebarRight\">\n {{ t('common.button.close') }}\n </VBtn>\n </VCardActions>\n </VCard>\n </VDialog>\n </div>\n <AssetDetailDialog\n v-if=\"dialog === queueKey && extId\"\n :queue-key=\"queueKey\"\n :ext-system=\"extId\"\n @close=\"onCloseEditDialog\"\n />\n <UploadQueueDialog\n v-if=\"uploadEnabled && uploadQueueDialog === queueKey && imageWidgetUploadConfig\"\n :queue-key=\"queueKey\"\n :ext-system=\"imageWidgetUploadConfig.extSystem\"\n :licence-id=\"imageWidgetUploadConfig.licence\"\n :file-input-key=\"uploadQueue?.fileInputKey ?? -1\"\n :accept=\"uploadAccept\"\n :max-sizes=\"uploadSizes\"\n @apply=\"onUploadApply\"\n @files-input=\"onFileInput\"\n @drop=\"onFileInput\"\n />\n</template>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"AAssetListInner.js","names":["_sfc_main","AAssetListInner_vue_vue_type_script_setup_true_lang_default","AAssetListInner_default"],"sources":["../../../../../src/domains/dam/assetSelect/components/AAssetListInner.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, inject, onUnmounted, provide, ref, watch } from 'vue'\nimport { useDisplay } from 'vuetify'\nimport { useI18n } from 'vue-i18n'\nimport { type AssetDetailItemDto, type DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport { useAssetSelectActions } from '@/domains/dam/assetSelect/composables/assetSelectListActions'\nimport AssetSelectListTable from '@/domains/dam/assetSelect/components/AssetSelectListTable.vue'\nimport AssetSelectListBar from '@/domains/dam/assetSelect/components/AssetSelectListBar.vue'\nimport { AssetSelectGridView, useGridView } from '@/domains/dam/assetSelect/composables/assetSelectGridView'\nimport AssetSelectListTiles from '@/domains/dam/assetSelect/components/AssetSelectListTiles.vue'\nimport { useSidebar } from '@/domains/dam/assetSelect/composables/assetSelectFilterSidebar'\nimport AssetSelectFilterForm from '@/domains/dam/assetSelect/components/AssetSelectFilterForm.vue'\nimport { filterAllowedImageWidgetSelectConfigs } from '@/domains/dam/config/utils/damFilterUserAllowedUploadConfigs'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport type { DamConfigLicenceExtSystemReturnType, DamExtSystemConfig } from '@/domains/dam/types/DamConfig'\nimport { cloneDeep, isDefined, isUndefined } from '@/shared/utils/common'\nimport AssetMetadata from '@/domains/dam/assetDetail/components/AssetMetadata.vue'\nimport { useAssetSelectStore } from '@/domains/dam/assetSelect/store/assetSelectStore'\nimport { storeToRefs } from 'pinia'\nimport { useAssetDetailStore } from '@/domains/dam/assetDetail/store/assetDetailStore'\nimport { type DatatableOrderingOption } from '@/domains/filters/datatable/utils/datatableColumns'\nimport { useAssetListFilter } from '@/domains/dam/assetSelect/filter/AssetFilter'\nimport { DatatablePaginationKey, FilterConfigKey, FilterDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport AFilterWrapper from '@/domains/filters/components/AFilterWrapper.vue'\nimport AFilterString from '@/domains/filters/components/AFilterString.vue'\nimport { useFilterHelpers } from '@/domains/filters/composables/filterFactory'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\nimport AssetDetailDialog from '@/domains/dam/assetDetail/components/AssetDetailDialog.vue'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport { ImageWidgetUploadConfigKey } from '@/domains/dam/imageWidget/utils/imageWidgetInkectionKeys'\nimport { useDamAcceptTypeAndSizeHelper } from '@/domains/dam/config/composables/acceptTypeAndSizeHelper'\nimport { useUploadQueueDialog } from '@/domains/dam/uploadQueue/composables/useUploadQueueDialog'\nimport { useUploadQueuesStore } from '@/domains/dam/uploadQueue/store/uploadQueuesStore'\nimport UploadQueueDialog from '@/domains/dam/uploadQueue/components/UploadQueueDialog.vue'\nimport AFileInput from '@/domains/ui/file/components/AFileInput.vue'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n assetType: DamAssetTypeType\n queueKey: UploadQueueKey\n selectConfigs: DamConfigLicenceExtSystemReturnType[]\n inPodcast?: boolean | null\n configName?: string\n skipCurrentUserCheck?: boolean\n variant?: 'default' | 'inline'\n }>(),\n {\n inPodcast: null,\n configName: undefined,\n skipCurrentUserCheck: false,\n variant: 'default',\n }\n)\n\nconst sortModel = defineModel<number>('sort', { default: 1, required: false })\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst { t } = useI18n()\n\nconst {\n damClient,\n loader,\n pagination,\n fetchNextPage,\n fetchNextPageInView,\n initStoreContext,\n detailLoading,\n readActiveItemAgain,\n fetchAssetListDebounced,\n reset,\n resetAssetList,\n} = useAssetSelectActions(damConfigName)\n// The list bar ordering reads this. Without it the dialog would use the host page's pagination.\nprovide(DatatablePaginationKey, pagination)\n\nconst { assetListEnabledFilters } = useCommonAdminCoreDamOptions(damConfigName)\n\nconst { loadDamConfigAssetCustomFormElements, getDamConfigAssetCustomFormElements } = useDamConfigState(\n damClient,\n damConfigName\n)\n\nconst assetDetailStore = useAssetDetailStore()\nconst { asset, dialog } = storeToRefs(assetDetailStore)\nconst assetSelectStore = useAssetSelectStore()\nconst { selectedLicenceId } = storeToRefs(assetSelectStore)\n\nconst { sidebarRight, closeSidebarRight, closeSidebarLeft } = useSidebar()\nconst { mdAndDown } = useDisplay()\nconst { showErrorT } = useAlerts()\n\nconst { filterData, filterConfig } = useAssetListFilter()\nprovide(FilterConfigKey, filterConfig)\nprovide(FilterDataKey, filterData)\n\nconst { resetFilter, submitFilter } = useFilterHelpers(filterData, filterConfig, {\n populateUrlParams: false,\n storeFiltersLocalStorage: false,\n})\n\nconst submitFilterAction = () => {\n submitFilter(pagination, fetchAssetListDebounced)\n if (mdAndDown.value) closeSidebarLeft()\n}\n\nconst resetFilterAction = () => {\n resetFilter(pagination, resetAssetList)\n if (mdAndDown.value) closeSidebarLeft()\n}\n\nconst onInit = () => {\n let selectConfigLocal = cloneDeep(props.selectConfigs)\n if (!props.skipCurrentUserCheck) {\n selectConfigLocal = filterAllowedImageWidgetSelectConfigs(props.selectConfigs, damConfigName)\n }\n if (selectConfigLocal.length === 0) {\n showErrorT('common.assetSelect.error.unallowedLicence')\n return\n }\n\n reset()\n initStoreContext(selectConfigLocal, props.assetType, props.inPodcast, false, 0, 0)\n fetchAssetListDebounced()\n}\n\nconst { gridView } = useGridView()\n\nconst componentComputed = computed(() => {\n switch (gridView.value) {\n case AssetSelectGridView.Table:\n return AssetSelectListTable\n default:\n case AssetSelectGridView.Masonry:\n case AssetSelectGridView.Thumbnail:\n return AssetSelectListTiles\n }\n})\n\nconst extId = computed(() => {\n if (props.selectConfigs.length === 0) return undefined\n if (selectedLicenceId.value > 0) {\n const found = props.selectConfigs.find((config) => config.licence === selectedLicenceId.value)\n if (found) return found.extSystem\n }\n return undefined\n})\n\nconst loadingSidebarRight = computed(() => {\n return customFormConfigLoading.value || detailLoading.value\n})\n\nconst { showErrorsDefault } = useAlerts()\nconst customFormConfigLoading = ref(true)\n// The custom fields config could not be read. The side panel shows\n// a notice instead of the asset form, which needs that config.\nconst customFormConfigFailed = ref(false)\n\nconst sortByChange = (option: DatatableOrderingOption) => {\n pagination.value.sortBy = null\n if (option.sortBy) {\n pagination.value.sortBy = { key: option.sortBy.key, order: option.sortBy.order }\n }\n fetchAssetListDebounced()\n}\n\n// Whether the open detail was opened by the side panel's \"edit\".\n// Queue row details are rendered here too, and closing one makes the panel reread its own asset.\nlet detailOfPanel = false\n\nconst onOpenEditDialog = () => {\n if (!asset.value) return\n detailOfPanel = true\n dialog.value = props.queueKey\n}\n\n// The panel rereads the asset its detail showed, not the one the list remembers.\n// They differ after a click made while the panel showed the asset it opened.\nconst onCloseEditDialog = (shown: AssetDetailItemDto | null) => {\n const ofPanel = detailOfPanel\n detailOfPanel = false\n readActiveItemAgain(ofPanel ? (shown?.id ?? null) : null)\n}\n\nconst imageWidgetUploadConfig = inject(ImageWidgetUploadConfigKey, undefined)\nconst uploadEnabled = computed(() => isDefined(imageWidgetUploadConfig) && isDefined(imageWidgetUploadConfig.value))\n\nconst { uploadQueueDialog, uploadQueueDialogSaving, stopQueueLeftBehind } = useUploadQueueDialog()\nconst uploadQueuesStore = useUploadQueuesStore()\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { uploadSizes, uploadAccept } = useDamAcceptTypeAndSizeHelper(\n props.assetType,\n (imageWidgetUploadConfig?.value?.extSystemConfig ?? {}) as DamExtSystemConfig\n)\n\nconst uploadQueue = computed(() => {\n return uploadQueuesStore.getQueue(props.queueKey)\n})\n\nconst onFileInput = (files: File[]) => {\n if (files.length === 0) return\n // The page has its own entry points (button, window-wide dropzone) that bypass the dialog.\n // While this queue's dialog saves, no file is accepted. \"Save and apply\" empties\n // the queue, and a file queued meanwhile was lost half uploaded without notice.\n if (uploadQueueDialogSaving.value === props.queueKey) return\n const config = imageWidgetUploadConfig?.value\n if (!config) return\n stopQueueLeftBehind(props.queueKey)\n uploadQueuesStore.addByFiles(props.queueKey, config.extSystem, config.licence, files, damConfigName)\n uploadQueueDialog.value = props.queueKey\n}\n\nconst onUploadApply = () => {\n uploadQueueDialog.value = null\n uploadQueuesStore.stopUpload(props.queueKey)\n fetchAssetListDebounced()\n}\n\nwatch(\n extId,\n async (newValue) => {\n if (isUndefined(newValue)) return\n customFormConfigLoading.value = true\n customFormConfigFailed.value = false\n // Custom fields of the listed type: all types of the ext system if\n // none are loaded, else only this type if its read failed before.\n // Loaded types are not read again.\n const type = props.assetType\n if (isUndefined(getDamConfigAssetCustomFormElements(newValue, type))) {\n try {\n await loadDamConfigAssetCustomFormElements(\n newValue,\n getDamConfigAssetCustomFormElements(newValue) ? [type] : undefined\n )\n } catch (e) {\n showErrorsDefault(e)\n }\n // Ignore an answer for an ext system the list has since left.\n if (extId.value !== newValue) return\n customFormConfigFailed.value = isUndefined(getDamConfigAssetCustomFormElements(newValue, type))\n }\n customFormConfigLoading.value = false\n },\n { immediate: true }\n)\n\nwatch(selectedLicenceId, (newValue, oldValue) => {\n if (newValue === oldValue) return\n resetFilterAction()\n})\n\nonInit()\n\nonUnmounted(() => {\n reset()\n})\n</script>\n\n<template>\n <slot\n v-if=\"uploadEnabled\"\n name=\"upload-activator\"\n :on-file-input=\"onFileInput\"\n :upload-accept=\"uploadAccept\"\n :upload-sizes=\"uploadSizes\"\n >\n <AFileInput\n :file-input-key=\"uploadQueue?.fileInputKey\"\n :accept=\"uploadAccept\"\n :max-sizes=\"uploadSizes\"\n multiple\n @files-input=\"onFileInput\"\n >\n <template #activator=\"{ props: fileInputProps }\">\n <VBtn v-bind=\"fileInputProps\">\n {{ t('common.button.upload') }}\n </VBtn>\n </template>\n </AFileInput>\n </slot>\n <div\n class=\"subject-select__card\"\n :class=\"{ 'subject-select__card--inline': variant === 'inline' }\"\n >\n <div class=\"px-2 pt-2\">\n <slot name=\"filter\">\n <AFilterWrapper\n @submit=\"submitFilterAction\"\n @reset=\"resetFilterAction\"\n >\n <template #search>\n <AFilterString name=\"text\" />\n </template>\n <template #detail>\n <VRow v-if=\"selectConfigs.length > 1\">\n <VCol :cols=\"12\">\n <VSelect\n v-model=\"selectedLicenceId\"\n :label=\"t('common.assetSelect.filter.licence')\"\n :items=\"selectConfigs\"\n item-title=\"licenceName\"\n item-value=\"licence\"\n hide-details\n />\n </VCol>\n </VRow>\n <AssetSelectFilterForm\n use-config-layout\n hide-text-search\n :enabled-filters=\"assetListEnabledFilters\"\n :config-name=\"damConfigName\"\n />\n </template>\n </AFilterWrapper>\n </slot>\n </div>\n <AssetSelectListBar\n v-model:sort=\"sortModel\"\n hide-filter-toggle\n @sort-by-change=\"sortByChange\"\n />\n <div\n class=\"subject-select__main\"\n :class=\"{\n 'subject-select__main--sidebar-right-active': sidebarRight && !mdAndDown,\n }\"\n >\n <div class=\"subject-select__content\">\n <component\n :is=\"componentComputed\"\n v-if=\"extId\"\n :ext-system=\"extId\"\n />\n <div class=\"d-flex w-100 align-center justify-center pa-4\">\n <ABtnSecondary\n v-show=\"pagination.hasNextPage || loader\"\n v-intersect=\"fetchNextPageInView\"\n :loading=\"loader\"\n size=\"small\"\n @click=\"fetchNextPage\"\n >\n {{ t('common.button.loadMore') }}\n </ABtnSecondary>\n </div>\n </div>\n <div\n v-if=\"!mdAndDown\"\n class=\"subject-select__sidebar-right border-s\"\n >\n <div\n v-if=\"customFormConfigFailed\"\n class=\"d-flex w-100 align-center justify-center text-body-large\"\n >\n {{ t('common.damImage.error.loadingConfig') }}\n </div>\n <div\n v-else-if=\"loadingSidebarRight\"\n class=\"d-flex w-100 align-center justify-center\"\n >\n <VProgressCircular indeterminate />\n </div>\n <div\n v-else-if=\"!asset\"\n class=\"d-flex w-100 align-center justify-center text-body-large\"\n >\n {{ t('common.assetSelect.meta.info.noAssetSelected') }}\n </div>\n <div\n v-else\n class=\"w-100\"\n >\n <slot\n name=\"sidebar-prepend\"\n :asset=\"asset\"\n />\n <AssetMetadata\n v-if=\"extId && !customFormConfigLoading\"\n :ext-system=\"extId\"\n readonly\n show-edit-button\n @edit-in-dam=\"onOpenEditDialog\"\n />\n </div>\n </div>\n </div>\n <VDialog\n v-if=\"mdAndDown\"\n v-model=\"sidebarRight\"\n scrollable\n @update:model-value=\"\n (v) => {\n if (!v) closeSidebarRight()\n }\n \"\n >\n <VCard>\n <ADialogToolbar @cancel=\"closeSidebarRight\">\n {{ t('common.assetSelect.meta.info.toggle') }}\n </ADialogToolbar>\n <VCardText>\n <div\n v-if=\"customFormConfigFailed\"\n class=\"d-flex w-100 align-center justify-center text-body-large\"\n >\n {{ t('common.damImage.error.loadingConfig') }}\n </div>\n <div\n v-else-if=\"loadingSidebarRight\"\n class=\"d-flex w-100 align-center justify-center\"\n >\n <VProgressCircular indeterminate />\n </div>\n <div\n v-else-if=\"asset\"\n class=\"w-100\"\n >\n <slot\n name=\"sidebar-prepend\"\n :asset=\"asset\"\n />\n <AssetMetadata\n v-if=\"extId && !customFormConfigLoading\"\n :ext-system=\"extId\"\n readonly\n show-edit-button\n @edit-in-dam=\"onOpenEditDialog\"\n />\n </div>\n </VCardText>\n <VCardActions>\n <VSpacer />\n <VBtn @click=\"closeSidebarRight\">\n {{ t('common.button.close') }}\n </VBtn>\n </VCardActions>\n </VCard>\n </VDialog>\n </div>\n <AssetDetailDialog\n v-if=\"dialog === queueKey && extId\"\n :queue-key=\"queueKey\"\n :ext-system=\"extId\"\n @close=\"onCloseEditDialog\"\n />\n <UploadQueueDialog\n v-if=\"uploadEnabled && uploadQueueDialog === queueKey && imageWidgetUploadConfig\"\n :queue-key=\"queueKey\"\n :ext-system=\"imageWidgetUploadConfig.extSystem\"\n :licence-id=\"imageWidgetUploadConfig.licence\"\n :file-input-key=\"uploadQueue?.fileInputKey ?? -1\"\n :accept=\"uploadAccept\"\n :max-sizes=\"uploadSizes\"\n @apply=\"onUploadApply\"\n @files-input=\"onFileInput\"\n @drop=\"onFileInput\"\n />\n</template>\n"],"mappings":""}
|