@anzusystems/common-admin 2.0.0-rc.11 → 2.0.0-rc.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/domains/anzuUser/components/AAnzuUserDatatable.js.map +1 -1
- 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_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_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/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_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_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_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/AUserMetadataForm.js.map +1 -1
- 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/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_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/AUserTabsShell.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserTabsShell.vue_vue_type_script_setup_true_lang.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/cached/components/ACachedChip.js.map +1 -1
- package/dist/domains/cached/components/ACachedChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/cached/components/ACachedUserChip.js.map +1 -1
- package/dist/domains/cached/components/ACachedUserChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/collab/components/ACollabCountdown.js.map +1 -1
- package/dist/domains/collab/components/ACollabCountdown.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/collab/components/ACollabLockedByUser.js.map +1 -1
- package/dist/domains/collab/components/ACollabManagement.js.map +1 -1
- package/dist/domains/collab/components/ACollabManagement.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataForm.js.map +1 -1
- 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/dam/assetDetail/components/AColorBox.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.js.map +1 -1
- 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_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailDialogLoader.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailDialogSidebar.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsTeleportTarget.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.vue_vue_type_script_setup_true_lang.js.map +1 -1
- 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/AssetFileFailReasonChip.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetFileFailReasonChip.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_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetFileRotate.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetFileRotate.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_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_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/components/AssetMetadataImageAttributes.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetMetadataImageAttributes.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetListInner.js.map +1 -1
- 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_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_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/AssetImagePreview.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetImagePreview.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectFilter.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectFilterForm.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectFilterForm.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_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectListTable.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectListTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectListTiles.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectListTiles.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/AssetSelectTilesItem.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectTilesItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/FilterPodcastRemoteAutocomplete.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorCreateButton.js.map +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_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.map +1 -1
- 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_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/components/DamAdminAssetLink.js.map +1 -1
- package/dist/domains/dam/cropper/components/ACropper.js.map +1 -1
- 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/components/DamAssetImageRoiSelectLazy.js.map +1 -1
- package/dist/domains/dam/cropper/components/DamAssetImageRoiSelectLazy.vue_vue_type_script_setup_true_lang.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/AImageWidgetMultipleSimple.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageWidgetSimple.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageWidgetSimple.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AMediaWidgetSimple.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AMediaWidgetSimple.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.js.map +1 -1
- 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_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_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_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_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.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/MediaWidgetSimpleDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.js.map +1 -1
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.js.map +1 -1
- 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.map +1 -1
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.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_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueButtonStop.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueButtonStop.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/UploadQueueDialogSingleSidebarMetadata.js.map +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_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_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueItemErrorOverlay.js.map +1 -1
- package/dist/domains/dam/user/components/DamAssetLicenceGroupRemoteAutocomplete.js.map +1 -1
- package/dist/domains/dam/user/components/DamAssetLicenceRemoteAutocomplete.js.map +1 -1
- package/dist/domains/dam/user/components/DamDistributionServiceSelect.js.map +1 -1
- package/dist/domains/dam/user/components/DamExtSystemRemoteAutocomplete.js.map +1 -1
- package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.js.map +1 -1
- package/dist/domains/dam/user/components/DamUserFilterRemoteAutocomplete.js.map +1 -1
- package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.js.map +1 -1
- package/dist/domains/filters/bookmarks/components/AFilterBookmarkButton.js.map +1 -1
- package/dist/domains/filters/bookmarks/components/AFilterBookmarkButton.vue_vue_type_script_setup_true_lang.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/components/FilterBookmarks.js.map +1 -1
- package/dist/domains/filters/bookmarks/components/FilterBookmarks.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterAdvancedButton.js.map +1 -1
- package/dist/domains/filters/components/AFilterBooleanSelect.js.map +1 -1
- package/dist/domains/filters/components/AFilterDatetimePicker.js.map +1 -1
- package/dist/domains/filters/components/AFilterEmpty.js.map +1 -1
- package/dist/domains/filters/components/AFilterInteger.js.map +1 -1
- package/dist/domains/filters/components/AFilterResetButton.js.map +1 -1
- package/dist/domains/filters/components/AFilterString.js.map +1 -1
- package/dist/domains/filters/components/AFilterString.vue.d.ts +3 -0
- package/dist/domains/filters/components/AFilterString.vue_vue_type_script_setup_true_lang.js +8 -2
- package/dist/domains/filters/components/AFilterString.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterSubmitButton.js.map +1 -1
- package/dist/domains/filters/components/AFilterTimeInterval.js.map +1 -1
- 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/AFilterWrapper.js.map +1 -1
- package/dist/domains/filters/components/AFilterWrapper.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterWrapperSidebar.js.map +1 -1
- package/dist/domains/filters/components/FilterDetailItem.js.map +1 -1
- package/dist/domains/filters/components/FiltersSelected.js.map +1 -1
- package/dist/domains/filters/datatable/components/ADatatableConfigButton.js.map +1 -1
- package/dist/domains/filters/datatable/components/ADatatableOrdering.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.map +1 -1
- package/dist/domains/form/components/AFormDatetimePicker.js.map +1 -1
- 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_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/form/components/AFormRemoteCheckbox.js.map +1 -1
- package/dist/domains/form/components/AFormRemoteCheckbox.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/form/components/AFormRemoteSwitch.js.map +1 -1
- package/dist/domains/form/components/AFormRemoteSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/form/components/AFormSwitch.js.map +1 -1
- package/dist/domains/form/components/AFormSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/form/components/AFormTextField.js.map +1 -1
- package/dist/domains/form/components/AFormTextField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/form/components/AFormTextarea.js.map +1 -1
- package/dist/domains/form/components/AFormTextarea.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/form/components/AFormValueObjectOptionsSelect.js.map +1 -1
- package/dist/domains/form/components/AFormValueObjectOptionsSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/form/components/ASystemEntityScope.js.map +1 -1
- package/dist/domains/job/components/AJobBaseCreateForm.js.map +1 -1
- package/dist/domains/job/components/AJobBaseCreateForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/job/components/AJobDetailCommon.js.map +1 -1
- package/dist/domains/job/components/AJobPriorityChip.js.map +1 -1
- package/dist/domains/job/components/AJobStatusChip.js.map +1 -1
- 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_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_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/listEditor/components/internal/LeChangeParentDialog.js.map +1 -1
- package/dist/domains/listEditor/components/internal/LeChangeParentDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/listEditor/components/internal/LeDeleteDialog.js.map +1 -1
- package/dist/domains/listEditor/components/internal/LeDeleteDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/listEditor/components/internal/LeDragHandle.js.map +1 -1
- package/dist/domains/listEditor/components/internal/LeEmptyState.js.map +1 -1
- package/dist/domains/listEditor/components/internal/LeEmptyState.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/listEditor/components/internal/LeMoveToPositionDialog.js.map +1 -1
- package/dist/domains/listEditor/components/internal/LeMoveToPositionDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/listEditor/components/internal/LeNestedRow.js.map +1 -1
- package/dist/domains/listEditor/components/internal/LeNestedRow.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/listEditor/components/internal/LeStatus.js.map +1 -1
- package/dist/domains/listEditor/components/internal/LeStatus.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/listEditor/components/internal/LeUnsavedLabel.js.map +1 -1
- package/dist/domains/listEditor/components/internal/LeUnsavedLabel.vue_vue_type_script_setup_true_lang.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/ALogDetail.js.map +1 -1
- package/dist/domains/log/components/ALogDetailView.js.map +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/ALogLevelChip.js.map +1 -1
- package/dist/domains/log/components/ALogLevelChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/log/components/ALogListView.js.map +1 -1
- package/dist/domains/permission/components/APermissionEditor.js.map +1 -1
- package/dist/domains/permission/components/APermissionEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/permission/components/APermissionGrantEditor.js.map +1 -1
- package/dist/domains/permission/components/APermissionValueChip.js.map +1 -1
- package/dist/domains/permission/components/APermissionValueChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupDatatable.js.map +1 -1
- 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/APermissionGroupFilter.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupManage.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupManage.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupRemoteAutocomplete.js.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/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.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/subjectSelect/components/AFilterWrapperSubjectSelect.js.map +1 -1
- package/dist/domains/subjectSelect/components/AFilterWrapperSubjectSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- 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/system/appShell/components/AActionbar.js.map +1 -1
- package/dist/domains/system/appShell/components/AActionbar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/system/appShell/components/AActionbarTarget.js.map +1 -1
- package/dist/domains/system/appShell/components/ALayoutLoader.js.map +1 -1
- package/dist/domains/system/appShell/components/ALayoutSwitch.js.map +1 -1
- package/dist/domains/system/appShell/components/ALayoutSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/system/components/AAdminSwitcher.js.map +1 -1
- package/dist/domains/system/components/AAdminSwitcher.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/system/components/AAlerts.js.map +1 -1
- package/dist/domains/system/components/ALanguageSelect.js.map +1 -1
- package/dist/domains/system/components/AThemeSelect.js.map +1 -1
- package/dist/domains/system/components/AThemeSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/system/flags/components/FlagCountry.js.map +1 -1
- package/dist/domains/system/flags/components/FlagEn.js.map +1 -1
- package/dist/domains/system/flags/components/FlagSk.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/components/ASystemBarNewVersion.js.map +1 -1
- package/dist/domains/system/systemBar/components/ASystemBarNewVersion.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionCreateButton.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionCreateButton.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/action/components/AActionEditButton.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionEditButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionSaveAndCloseButton.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionSaveAndCloseButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionSaveButton.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionSaveButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/buttons/components/ABtnSplit.js.map +1 -1
- package/dist/domains/ui/buttons/components/ABtnSplit.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/buttons/table/components/ATableCopyIdButton.js.map +1 -1
- package/dist/domains/ui/buttons/table/components/ATableCopyIdButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/buttons/table/components/ATableDetailButton.js.map +1 -1
- package/dist/domains/ui/buttons/table/components/ATableDetailButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/buttons/table/components/ATableEditButton.js.map +1 -1
- package/dist/domains/ui/buttons/table/components/ATableEditButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/AAnzuUserAvatar.js.map +1 -1
- package/dist/domains/ui/components/AAnzuUserAvatar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- 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/ABooleanSelect.js.map +1 -1
- package/dist/domains/ui/components/ABooleanValue.js.map +1 -1
- package/dist/domains/ui/components/ACard.js.map +1 -1
- package/dist/domains/ui/components/ACardLoader.js.map +1 -1
- package/dist/domains/ui/components/AChipNoLink.js.map +1 -1
- package/dist/domains/ui/components/ACopyText.js.map +1 -1
- package/dist/domains/ui/components/ACopyText.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/ACreateDialog.js.map +1 -1
- package/dist/domains/ui/components/ACreateDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/ACurrentUserDropdown.js.map +1 -1
- package/dist/domains/ui/components/ACurrentUserDropdown.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/ADialogToolbar.js.map +1 -1
- package/dist/domains/ui/components/AIconGroup.js.map +1 -1
- package/dist/domains/ui/components/AProgress.js.map +1 -1
- package/dist/domains/ui/components/ARow.js.map +1 -1
- package/dist/domains/ui/components/ARow.vue_vue_type_script_setup_true_lang.js.map +1 -1
- 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_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/datetime/components/ADatetime.js.map +1 -1
- package/dist/domains/ui/datetime/components/ADatetimePicker.js.map +1 -1
- package/dist/domains/ui/datetime/components/ADatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/datetime/components/TimePicker.js.map +1 -1
- package/dist/domains/ui/file/components/AFileDropzone.js.map +1 -1
- package/dist/domains/ui/file/components/AFileInput.js.map +1 -1
- 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_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/view/components/AGenericView.js.map +1 -1
- package/dist/domains/ui/view/components/AGenericView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/view/components/ALoginView.js.map +1 -1
- 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/ANotFoundView.js.map +1 -1
- package/dist/domains/ui/view/components/AUnauthorizedView.js.map +1 -1
- package/dist/domains/ui/view/components/AUnauthorizedView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/unsavedGuard/components/AUnsavedConfirmDialog.js.map +1 -1
- package/dist/locales/cs/common/alert.js.map +1 -1
- package/dist/locales/cs/common/anzuUser.js.map +1 -1
- package/dist/locales/cs/common/assetSelect.js.map +1 -1
- package/dist/locales/cs/common/button.js.map +1 -1
- package/dist/locales/cs/common/collab.js.map +1 -1
- package/dist/locales/cs/common/confirmDialog.js.map +1 -1
- package/dist/locales/cs/common/customForm.js.map +1 -1
- package/dist/locales/cs/common/customFormElement.js.map +1 -1
- package/dist/locales/cs/common/damImage.js.map +1 -1
- package/dist/locales/cs/common/dayOfWeek.js.map +1 -1
- package/dist/locales/cs/common/filter.js.map +1 -1
- package/dist/locales/cs/common/job.js.map +1 -1
- package/dist/locales/cs/common/linkDto.js.map +1 -1
- package/dist/locales/cs/common/listItemDto.js.map +1 -1
- package/dist/locales/cs/common/log.js.map +1 -1
- package/dist/locales/cs/common/model.js.map +1 -1
- package/dist/locales/cs/common/permission.js.map +1 -1
- package/dist/locales/cs/common/permissionEditor.js.map +1 -1
- package/dist/locales/cs/common/permissionGroup.js.map +1 -1
- package/dist/locales/cs/common/routeSettings.js.map +1 -1
- package/dist/locales/cs/common/sortable.js.map +1 -1
- package/dist/locales/cs/common/subjectSelect.js.map +1 -1
- package/dist/locales/cs/common/system.js.map +1 -1
- package/dist/locales/cs/common/time.js.map +1 -1
- package/dist/locales/cs/common/userSystem.js.map +1 -1
- package/dist/locales/cs/error/apiDependencyExists.js.map +1 -1
- package/dist/locales/cs/error/apiForbiddenOperation.js.map +1 -1
- package/dist/locales/cs/error/apiTimedOut.js.map +1 -1
- package/dist/locales/cs/error/apiValidation.js.map +1 -1
- package/dist/locales/cs/error/jsValidation.js.map +1 -1
- package/dist/locales/cs/vuetify.js.map +1 -1
- package/dist/locales/en/common/alert.js.map +1 -1
- package/dist/locales/en/common/anzuUser.js.map +1 -1
- package/dist/locales/en/common/assetSelect.js.map +1 -1
- package/dist/locales/en/common/button.js.map +1 -1
- package/dist/locales/en/common/collab.js.map +1 -1
- package/dist/locales/en/common/confirmDialog.js.map +1 -1
- package/dist/locales/en/common/customForm.js.map +1 -1
- package/dist/locales/en/common/customFormElement.js.map +1 -1
- package/dist/locales/en/common/damImage.js.map +1 -1
- package/dist/locales/en/common/dayOfWeek.js.map +1 -1
- package/dist/locales/en/common/filter.js.map +1 -1
- package/dist/locales/en/common/job.js.map +1 -1
- package/dist/locales/en/common/linkDto.js.map +1 -1
- package/dist/locales/en/common/listItemDto.js.map +1 -1
- package/dist/locales/en/common/log.js.map +1 -1
- package/dist/locales/en/common/model.js.map +1 -1
- package/dist/locales/en/common/permission.js.map +1 -1
- package/dist/locales/en/common/permissionEditor.js.map +1 -1
- package/dist/locales/en/common/permissionGroup.js.map +1 -1
- package/dist/locales/en/common/routeSettings.js.map +1 -1
- package/dist/locales/en/common/sortable.js.map +1 -1
- package/dist/locales/en/common/subjectSelect.js.map +1 -1
- package/dist/locales/en/common/system.js.map +1 -1
- package/dist/locales/en/common/time.js.map +1 -1
- package/dist/locales/en/common/userSystem.js.map +1 -1
- package/dist/locales/en/error/apiDependencyExists.js.map +1 -1
- package/dist/locales/en/error/apiForbiddenOperation.js.map +1 -1
- package/dist/locales/en/error/apiTimedOut.js.map +1 -1
- package/dist/locales/en/error/apiValidation.js.map +1 -1
- package/dist/locales/en/error/jsValidation.js.map +1 -1
- package/dist/locales/en/vuetify.js.map +1 -1
- package/dist/locales/sk/common/alert.js.map +1 -1
- package/dist/locales/sk/common/anzuUser.js.map +1 -1
- package/dist/locales/sk/common/assetSelect.js.map +1 -1
- package/dist/locales/sk/common/button.js.map +1 -1
- package/dist/locales/sk/common/collab.js.map +1 -1
- package/dist/locales/sk/common/confirmDialog.js.map +1 -1
- package/dist/locales/sk/common/customForm.js.map +1 -1
- package/dist/locales/sk/common/customFormElement.js.map +1 -1
- package/dist/locales/sk/common/damImage.js.map +1 -1
- package/dist/locales/sk/common/dayOfWeek.js.map +1 -1
- package/dist/locales/sk/common/filter.js.map +1 -1
- package/dist/locales/sk/common/job.js.map +1 -1
- package/dist/locales/sk/common/linkDto.js.map +1 -1
- package/dist/locales/sk/common/listItemDto.js.map +1 -1
- package/dist/locales/sk/common/log.js.map +1 -1
- package/dist/locales/sk/common/model.js.map +1 -1
- package/dist/locales/sk/common/permission.js.map +1 -1
- package/dist/locales/sk/common/permissionEditor.js.map +1 -1
- package/dist/locales/sk/common/permissionGroup.js.map +1 -1
- package/dist/locales/sk/common/routeSettings.js.map +1 -1
- package/dist/locales/sk/common/sortable.js.map +1 -1
- package/dist/locales/sk/common/subjectSelect.js.map +1 -1
- package/dist/locales/sk/common/system.js.map +1 -1
- package/dist/locales/sk/common/time.js.map +1 -1
- package/dist/locales/sk/common/userSystem.js.map +1 -1
- package/dist/locales/sk/error/apiDependencyExists.js.map +1 -1
- package/dist/locales/sk/error/apiForbiddenOperation.js.map +1 -1
- package/dist/locales/sk/error/apiTimedOut.js.map +1 -1
- package/dist/locales/sk/error/apiValidation.js.map +1 -1
- package/dist/locales/sk/error/jsValidation.js.map +1 -1
- package/dist/locales/sk/vuetify.js.map +1 -1
- package/package.json +15 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AImageMediaWidget.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createBlock","ImageMediaWidgetInner","_mergeProps","_withCtx","_renderSlot","_createElementBlock","AMediaWidgetSimple","_unref","_createCommentVNode","AImageWidgetSimple","_createElementVNode","_toDisplayString","_component_VProgressCircular","ImageMediaWidgetInner_default","AImageWidgetSimple_default","AMediaWidgetSimple_default","_hoisted_1","_hoisted_2","AImageMediaWidget_vue_vue_type_script_setup_true_lang_default","CollabStatus","\"media\"","\"mediaModifiers\"","\"image\"","\"imageModifiers\"","__expose","__emit","props","__props","emit","mediaModel","useModel","damConfigName","useDamConfigName","imageModel","status","ref","uploadAllowed","useCommonAdminCoreDamOptions","useDamConfigState","damClient","uploadConfig","shallowRef","useExtSystemIdForCached","onMounted","damConfigStore","useDamConfigStoreOf","getOrLoadDamConfigExtSystemByLicence","isUndefined","isImageWidgetUploadConfigAllowed","loadDamPrvConfig","promises","getOrLoadDamConfigExtSystemByLicences","getDamConfigAssetCustomFormElements","extSystem","DamAssetType","loadDamConfigAssetCustomFormElements","provide","ImageWidgetUploadConfigKey","innerComponent","useI18n","openBlock","createBlock","mergeProps","_cache","$event","withCtx","appendImage","renderSlot","_ctx","createElementBlock","unref","appendMedia","previewMedia","createCommentVNode","createElementVNode","toDisplayString","t","VProgressCircular"],"sources":["../../../../../src/domains/dam/imageWidget/components/AImageMediaWidget.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { IntegerId, IntegerIdNullable } from '@/shared/types/common'\nimport { onMounted, provide, ref, shallowRef } from 'vue'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport type { ImageAware, ImageCreateUpdateAware } from '@/domains/dam/types/ImageAware'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport ImageWidgetInner from '@/domains/dam/imageWidget/components/ImageWidgetInner.vue'\nimport { ImageWidgetUploadConfigKey } from '@/domains/dam/imageWidget/utils/imageWidgetInkectionKeys'\nimport { isUndefined } from '@/shared/utils/common'\nimport { isImageWidgetUploadConfigAllowed } from '@/domains/dam/config/utils/damFilterUserAllowedUploadConfigs'\nimport { type CollabComponentConfig, CollabStatus, type CollabStatusType } from '@/domains/collab/types/Collab'\nimport type { DamConfigLicenceExtSystemReturnType } from '@/domains/dam/types/DamConfig'\nimport { useDamConfigStoreOf } from '@/domains/dam/config/store/damConfigStore'\nimport ImageMediaWidgetInner from '@/domains/dam/imageWidget/components/ImageMediaWidgetInner.vue'\nimport AImageWidgetSimple from '@/domains/dam/imageWidget/components/AImageWidgetSimple.vue'\nimport AMediaWidgetSimple from '@/domains/dam/imageWidget/components/AMediaWidgetSimple.vue'\nimport type { MediaAware } from '@/domains/dam/types/MediaAware'\nimport { useI18n } from 'vue-i18n'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport { useExtSystemIdForCached } from '@/domains/dam/composables/extSystemIdForCached'\nimport { DamAssetType } from '@/domains/dam/types/Asset'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: UploadQueueKey\n uploadLicence: IntegerId\n selectLicences: IntegerId[]\n initialImage?: ImageAware | undefined // If given, the image data is not fetched.\n configName?: string\n collab?: CollabComponentConfig\n collabStatus?: CollabStatusType\n label?: string | undefined\n readonly?: boolean\n required?: boolean\n dataCy?: string | undefined\n expandOptions?: boolean\n expandMetadata?: boolean\n disableOnClickMenu?: boolean\n width?: number | undefined\n maxWidth?: number | undefined\n height?: number | undefined\n callDeleteApiOnRemove?: boolean\n damWidth?: undefined | number\n damHeight?: undefined | number\n }>(),\n {\n configName: undefined,\n collab: undefined,\n collabStatus: CollabStatus.Inactive,\n label: undefined,\n initialImage: undefined,\n initialMedia: undefined,\n readonly: false,\n required: false,\n lockable: false,\n lockedById: undefined,\n dataCy: undefined,\n expandOptions: false,\n expandMetadata: false,\n disableOnClickMenu: false,\n width: undefined,\n maxWidth: undefined,\n height: undefined,\n callDeleteApiOnRemove: false,\n damWidth: undefined,\n damHeight: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'afterMetadataSaveSuccess'): void\n}>()\n\nconst mediaModel = defineModel<MediaAware | null>('media', { required: true })\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n// Declared explicitly: the read-only fallback renders the slots too, and inferred types would be looser.\ndefineSlots<{\n append?: (props: { imageMedia: ImageCreateUpdateAware | MediaAware | null }) => unknown\n preview?: (props: { imageMedia: MediaAware }) => unknown\n}>()\nconst imageModel = defineModel<IntegerIdNullable>('image', { required: true })\nconst status = ref<'loading' | 'ready' | 'error'>('loading')\n// Without upload permission the existing image is still shown, read-only.\nconst uploadAllowed = ref(true)\n\nconst { damClient } = useCommonAdminCoreDamOptions(damConfigName)\nconst {\n loadDamPrvConfig,\n loadDamConfigAssetCustomFormElements,\n getDamConfigAssetCustomFormElements,\n getOrLoadDamConfigExtSystemByLicence,\n getOrLoadDamConfigExtSystemByLicences,\n} = useDamConfigState(damClient, damConfigName)\n\nconst uploadConfig = shallowRef<DamConfigLicenceExtSystemReturnType | undefined>(undefined)\n\nconst { cachedExtSystemId } = useExtSystemIdForCached(damConfigName)\n\nonMounted(async () => {\n const damConfigStore = useDamConfigStoreOf(damConfigName)\n uploadConfig.value = await getOrLoadDamConfigExtSystemByLicence(props.uploadLicence)\n if (isUndefined(uploadConfig.value)) {\n status.value = 'error'\n return\n }\n // Starts as the ext system of the upload licence, until a pick, a drop or \"edit asset\" sets another.\n cachedExtSystemId.value = uploadConfig.value.extSystem\n if (!isImageWidgetUploadConfigAllowed(uploadConfig.value, damConfigName)) {\n uploadAllowed.value = false\n try {\n if (!damConfigStore.initialized.damPrvConfig) await loadDamPrvConfig()\n status.value = 'ready'\n } catch (e) {\n status.value = 'error'\n }\n return\n }\n const promises: Promise<any>[] = []\n if (!damConfigStore.initialized.damPrvConfig) {\n promises.push(loadDamPrvConfig())\n }\n promises.push(getOrLoadDamConfigExtSystemByLicences(props.selectLicences))\n const { extSystem } = uploadConfig.value\n // Loads custom fields for every type of the ext system if none are loaded yet.\n // Otherwise loads only the image type if its earlier read failed. Loaded types are not read again.\n if (isUndefined(getDamConfigAssetCustomFormElements(extSystem, DamAssetType.Image))) {\n promises.push(\n loadDamConfigAssetCustomFormElements(\n extSystem,\n getDamConfigAssetCustomFormElements(extSystem) ? [DamAssetType.Image] : undefined\n )\n )\n }\n try {\n await Promise.all(promises)\n } catch (e) {\n status.value = 'error'\n }\n // If the image type failed while other types loaded, the form would have no fields, so this is an error.\n if (isUndefined(getDamConfigAssetCustomFormElements(extSystem, DamAssetType.Image))) status.value = 'error'\n if (status.value !== 'error') status.value = 'ready'\n})\n\nprovide(ImageWidgetUploadConfigKey, uploadConfig)\n\nconst innerComponent = ref<InstanceType<typeof ImageWidgetInner> | null>(null)\n\nconst metadataConfirm = () => {\n innerComponent.value?.metadataConfirm()\n}\n\ndefineExpose({\n metadataConfirm,\n})\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <ImageMediaWidgetInner\n v-if=\"status === 'ready'\"\n ref=\"innerComponent\"\n v-model:media=\"mediaModel\"\n v-model:image=\"imageModel\"\n v-bind=\"props\"\n :readonly=\"readonly || !uploadAllowed\"\n @after-metadata-save-success=\"emit('afterMetadataSaveSuccess')\"\n >\n <template #append=\"{ imageMedia: appendImage }\">\n <slot\n name=\"append\"\n :image-media=\"appendImage\"\n />\n </template>\n <template #preview=\"{ imageMedia: appendImage }\">\n <slot\n name=\"preview\"\n :image-media=\"appendImage\"\n />\n </template>\n </ImageMediaWidgetInner>\n <!-- The config also fails for a user without access to the licence. The existing media or image is still shown. -->\n <div v-else-if=\"status === 'error'\">\n <AMediaWidgetSimple\n v-if=\"mediaModel\"\n :media=\"mediaModel\"\n :config-name=\"damConfigName\"\n :label=\"label\"\n :width=\"width\"\n :height=\"height\"\n :dam-width=\"damWidth\"\n :dam-height=\"damHeight\"\n >\n <template #append=\"{ media: appendMedia }\">\n <slot\n name=\"append\"\n :image-media=\"appendMedia\"\n />\n </template>\n <template #preview=\"{ media: previewMedia }\">\n <slot\n v-if=\"previewMedia\"\n name=\"preview\"\n :image-media=\"previewMedia\"\n />\n </template>\n </AMediaWidgetSimple>\n <AImageWidgetSimple\n v-else-if=\"imageModel || initialImage\"\n :model-value=\"imageModel\"\n :image=\"initialImage\"\n :config-name=\"damConfigName\"\n :label=\"label\"\n :width=\"width\"\n :height=\"height\"\n :dam-width=\"damWidth\"\n :dam-height=\"damHeight\"\n >\n <template #append=\"{ image: appendImage }\">\n <slot\n name=\"append\"\n :image-media=\"appendImage\"\n />\n </template>\n </AImageWidgetSimple>\n <div class=\"text-error\">\n {{ t('common.damImage.error.loadingConfig') }}\n </div>\n </div>\n <VProgressCircular\n v-else\n :size=\"12\"\n :width=\"2\"\n indeterminate\n />\n</template>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AImageMediaWidget.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createBlock","ImageMediaWidgetInner","_mergeProps","_withCtx","_renderSlot","_createElementBlock","AMediaWidgetSimple","_unref","AImageWidgetSimple","_createElementVNode","_toDisplayString","_component_VProgressCircular","ImageMediaWidgetInner_default","AImageWidgetSimple_default","AMediaWidgetSimple_default","_hoisted_1","_hoisted_2","AImageMediaWidget_vue_vue_type_script_setup_true_lang_default","CollabStatus","\"media\"","\"mediaModifiers\"","\"image\"","\"imageModifiers\"","__expose","__emit","props","__props","emit","mediaModel","useModel","damConfigName","useDamConfigName","imageModel","status","ref","uploadAllowed","useCommonAdminCoreDamOptions","useDamConfigState","damClient","uploadConfig","shallowRef","useExtSystemIdForCached","onMounted","damConfigStore","useDamConfigStoreOf","getOrLoadDamConfigExtSystemByLicence","isUndefined","isImageWidgetUploadConfigAllowed","loadDamPrvConfig","promises","getOrLoadDamConfigExtSystemByLicences","getDamConfigAssetCustomFormElements","extSystem","DamAssetType","loadDamConfigAssetCustomFormElements","provide","ImageWidgetUploadConfigKey","innerComponent","useI18n","openBlock","createBlock","mergeProps","_cache","$event","withCtx","appendImage","renderSlot","_ctx","createElementBlock","unref","appendMedia","previewMedia","createCommentVNode","createElementVNode","toDisplayString","t","VProgressCircular"],"sources":["../../../../../src/domains/dam/imageWidget/components/AImageMediaWidget.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { IntegerId, IntegerIdNullable } from '@/shared/types/common'\nimport { onMounted, provide, ref, shallowRef } from 'vue'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport type { ImageAware, ImageCreateUpdateAware } from '@/domains/dam/types/ImageAware'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport ImageWidgetInner from '@/domains/dam/imageWidget/components/ImageWidgetInner.vue'\nimport { ImageWidgetUploadConfigKey } from '@/domains/dam/imageWidget/utils/imageWidgetInkectionKeys'\nimport { isUndefined } from '@/shared/utils/common'\nimport { isImageWidgetUploadConfigAllowed } from '@/domains/dam/config/utils/damFilterUserAllowedUploadConfigs'\nimport { type CollabComponentConfig, CollabStatus, type CollabStatusType } from '@/domains/collab/types/Collab'\nimport type { DamConfigLicenceExtSystemReturnType } from '@/domains/dam/types/DamConfig'\nimport { useDamConfigStoreOf } from '@/domains/dam/config/store/damConfigStore'\nimport ImageMediaWidgetInner from '@/domains/dam/imageWidget/components/ImageMediaWidgetInner.vue'\nimport AImageWidgetSimple from '@/domains/dam/imageWidget/components/AImageWidgetSimple.vue'\nimport AMediaWidgetSimple from '@/domains/dam/imageWidget/components/AMediaWidgetSimple.vue'\nimport type { MediaAware } from '@/domains/dam/types/MediaAware'\nimport { useI18n } from 'vue-i18n'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport { useExtSystemIdForCached } from '@/domains/dam/composables/extSystemIdForCached'\nimport { DamAssetType } from '@/domains/dam/types/Asset'\n\nconst props = withDefaults(\n defineProps<{\n queueKey: UploadQueueKey\n uploadLicence: IntegerId\n selectLicences: IntegerId[]\n initialImage?: ImageAware | undefined // If given, the image data is not fetched.\n configName?: string\n collab?: CollabComponentConfig\n collabStatus?: CollabStatusType\n label?: string | undefined\n readonly?: boolean\n required?: boolean\n dataCy?: string | undefined\n expandOptions?: boolean\n expandMetadata?: boolean\n disableOnClickMenu?: boolean\n width?: number | undefined\n maxWidth?: number | undefined\n height?: number | undefined\n callDeleteApiOnRemove?: boolean\n damWidth?: undefined | number\n damHeight?: undefined | number\n }>(),\n {\n configName: undefined,\n collab: undefined,\n collabStatus: CollabStatus.Inactive,\n label: undefined,\n initialImage: undefined,\n initialMedia: undefined,\n readonly: false,\n required: false,\n lockable: false,\n lockedById: undefined,\n dataCy: undefined,\n expandOptions: false,\n expandMetadata: false,\n disableOnClickMenu: false,\n width: undefined,\n maxWidth: undefined,\n height: undefined,\n callDeleteApiOnRemove: false,\n damWidth: undefined,\n damHeight: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'afterMetadataSaveSuccess'): void\n}>()\n\nconst mediaModel = defineModel<MediaAware | null>('media', { required: true })\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n// Declared explicitly: the read-only fallback renders the slots too, and inferred types would be looser.\ndefineSlots<{\n append?: (props: { imageMedia: ImageCreateUpdateAware | MediaAware | null }) => unknown\n preview?: (props: { imageMedia: MediaAware }) => unknown\n}>()\nconst imageModel = defineModel<IntegerIdNullable>('image', { required: true })\nconst status = ref<'loading' | 'ready' | 'error'>('loading')\n// Without upload permission the existing image is still shown, read-only.\nconst uploadAllowed = ref(true)\n\nconst { damClient } = useCommonAdminCoreDamOptions(damConfigName)\nconst {\n loadDamPrvConfig,\n loadDamConfigAssetCustomFormElements,\n getDamConfigAssetCustomFormElements,\n getOrLoadDamConfigExtSystemByLicence,\n getOrLoadDamConfigExtSystemByLicences,\n} = useDamConfigState(damClient, damConfigName)\n\nconst uploadConfig = shallowRef<DamConfigLicenceExtSystemReturnType | undefined>(undefined)\n\nconst { cachedExtSystemId } = useExtSystemIdForCached(damConfigName)\n\nonMounted(async () => {\n const damConfigStore = useDamConfigStoreOf(damConfigName)\n uploadConfig.value = await getOrLoadDamConfigExtSystemByLicence(props.uploadLicence)\n if (isUndefined(uploadConfig.value)) {\n status.value = 'error'\n return\n }\n // Starts as the ext system of the upload licence, until a pick, a drop or \"edit asset\" sets another.\n cachedExtSystemId.value = uploadConfig.value.extSystem\n if (!isImageWidgetUploadConfigAllowed(uploadConfig.value, damConfigName)) {\n uploadAllowed.value = false\n try {\n if (!damConfigStore.initialized.damPrvConfig) await loadDamPrvConfig()\n status.value = 'ready'\n } catch (e) {\n status.value = 'error'\n }\n return\n }\n const promises: Promise<any>[] = []\n if (!damConfigStore.initialized.damPrvConfig) {\n promises.push(loadDamPrvConfig())\n }\n promises.push(getOrLoadDamConfigExtSystemByLicences(props.selectLicences))\n const { extSystem } = uploadConfig.value\n // Loads custom fields for every type of the ext system if none are loaded yet.\n // Otherwise loads only the image type if its earlier read failed. Loaded types are not read again.\n if (isUndefined(getDamConfigAssetCustomFormElements(extSystem, DamAssetType.Image))) {\n promises.push(\n loadDamConfigAssetCustomFormElements(\n extSystem,\n getDamConfigAssetCustomFormElements(extSystem) ? [DamAssetType.Image] : undefined\n )\n )\n }\n try {\n await Promise.all(promises)\n } catch (e) {\n status.value = 'error'\n }\n // If the image type failed while other types loaded, the form would have no fields, so this is an error.\n if (isUndefined(getDamConfigAssetCustomFormElements(extSystem, DamAssetType.Image))) status.value = 'error'\n if (status.value !== 'error') status.value = 'ready'\n})\n\nprovide(ImageWidgetUploadConfigKey, uploadConfig)\n\nconst innerComponent = ref<InstanceType<typeof ImageWidgetInner> | null>(null)\n\nconst metadataConfirm = () => {\n innerComponent.value?.metadataConfirm()\n}\n\ndefineExpose({\n metadataConfirm,\n})\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <ImageMediaWidgetInner\n v-if=\"status === 'ready'\"\n ref=\"innerComponent\"\n v-model:media=\"mediaModel\"\n v-model:image=\"imageModel\"\n v-bind=\"props\"\n :readonly=\"readonly || !uploadAllowed\"\n @after-metadata-save-success=\"emit('afterMetadataSaveSuccess')\"\n >\n <template #append=\"{ imageMedia: appendImage }\">\n <slot\n name=\"append\"\n :image-media=\"appendImage\"\n />\n </template>\n <template #preview=\"{ imageMedia: appendImage }\">\n <slot\n name=\"preview\"\n :image-media=\"appendImage\"\n />\n </template>\n </ImageMediaWidgetInner>\n <!-- The config also fails for a user without access to the licence. The existing media or image is still shown. -->\n <div v-else-if=\"status === 'error'\">\n <AMediaWidgetSimple\n v-if=\"mediaModel\"\n :media=\"mediaModel\"\n :config-name=\"damConfigName\"\n :label=\"label\"\n :width=\"width\"\n :height=\"height\"\n :dam-width=\"damWidth\"\n :dam-height=\"damHeight\"\n >\n <template #append=\"{ media: appendMedia }\">\n <slot\n name=\"append\"\n :image-media=\"appendMedia\"\n />\n </template>\n <template #preview=\"{ media: previewMedia }\">\n <slot\n v-if=\"previewMedia\"\n name=\"preview\"\n :image-media=\"previewMedia\"\n />\n </template>\n </AMediaWidgetSimple>\n <AImageWidgetSimple\n v-else-if=\"imageModel || initialImage\"\n :model-value=\"imageModel\"\n :image=\"initialImage\"\n :config-name=\"damConfigName\"\n :label=\"label\"\n :width=\"width\"\n :height=\"height\"\n :dam-width=\"damWidth\"\n :dam-height=\"damHeight\"\n >\n <template #append=\"{ image: appendImage }\">\n <slot\n name=\"append\"\n :image-media=\"appendImage\"\n />\n </template>\n </AImageWidgetSimple>\n <div class=\"text-error\">\n {{ t('common.damImage.error.loadingConfig') }}\n </div>\n </div>\n <VProgressCircular\n v-else\n :size=\"12\"\n :width=\"2\"\n indeterminate\n />\n</template>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AImagePublicInput.js","names":["
|
|
1
|
+
{"version":3,"file":"AImagePublicInput.js","names":["AImagePublicInput_vue_vue_type_script_setup_true_lang_default","AImagePublicInput_default"],"sources":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AImagePublicInput.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createElementBlock","_Fragment","_createVNode","ARow","_withCtx","AFormTextField","_unref","_withKeys","AFormTextarea","_createElementVNode","_toDisplayString","_createCommentVNode","AFormTextField_default","AFormTextarea_default","ARow_default","useVuelidate","_hoisted_1","AImagePublicInput_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","__expose","props","__props","modelValue","useModel","damConfigName","useDamConfigName","inputField","ref","meta","resolvedSrc","resImage","createdImageId","isValid","isDirty","imageOptions","useCommonAdminImageOptions","useCommonAdminCoreDamOptions","useImageActions","useAlerts","useI18n","extractUUID","match","url","validateAssetData","licences","licence","asset","validators","useValidate","rules","buildFieldRules","descriptionValidation","sourceValidation","v$","validateField","extracted","isString","isDocId","assetRes","fetchAssetByFileId","damClient","endPointAsset","isNull","submit","showValidationError","data","createDamImage","imageRes","imageApi","imageClient","reload","updatePreviewAndTexts","widgetImageToDamImageOriginalUrl","onBlur","newImage","force","cloneDeep","toRaw","newImageId","error","disabled","computed","watch","oldImage","created","openBlock","createElementBlock","Fragment","createVNode","withCtx","_cache","$event","unref","t","withKeys","sourceLabel","createElementVNode","toDisplayString","createCommentVNode"],"sources":["../../../../../src/domains/dam/imageWidget/components/AImagePublicInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ImageAware, ImageCreateUpdateAware } from '@/domains/dam/types/ImageAware'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { fetchAssetByFileId } from '@/domains/dam/api/damAssetApi'\nimport { cloneDeep, isDocId, isNull, isString } from '@/shared/utils/common'\nimport { computed, ref, toRaw, watch } from 'vue'\nimport type { AssetDetailItemDto } from '@/domains/dam/types/Asset'\nimport type { IntegerId, IntegerIdNullable } from '@/shared/types/common'\nimport { useImageActions } from '@/domains/dam/imageWidget/composables/imageActions'\nimport { useCommonAdminImageOptions } from '@/domains/dam/imageWidget/composables/commonAdminImageOptions'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useI18n } from 'vue-i18n'\nimport AFormTextField from '@/domains/form/components/AFormTextField.vue'\nimport AFormTextarea from '@/domains/form/components/AFormTextarea.vue'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport useVuelidate from '@vuelidate/core'\nimport { useValidate } from '@/shared/validators/vuelidate/useValidate'\nimport { buildFieldRules } from '@/domains/dam/composables/uploadValidations'\nimport { createDamImage } from '@/domains/dam/imageWidget/utils/damImage'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n selectLicences: IntegerId[]\n image?: ImageAware | undefined // optional, if available, no need to fetch image data\n configName?: string\n labelT?: string | undefined\n dataCy?: string | undefined\n }>(),\n {\n image: undefined,\n configName: undefined,\n labelT: 'common.damImage.public.idOrUrl',\n dataCy: undefined,\n }\n)\nconst modelValue = defineModel<IntegerIdNullable>({ default: null, required: true })\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\nconst inputField = ref('')\nconst meta = ref({ description: '', source: '' })\n\nconst resolvedSrc = ref('')\nconst resImage = ref<null | ImageCreateUpdateAware>(null)\n// Id of the image this input just created. The model changes to it, and\n// fields are filled from the create response, so the image is not read again.\n// Any other id change triggers a read.\nlet createdImageId: IntegerIdNullable = null\n\nconst isValid = ref(true)\nconst isDirty = ref(false)\n\nconst imageOptions = useCommonAdminImageOptions(damConfigName)\nconst { imageClient, imageApi } = imageOptions\nconst { damClient, endPointAsset, sourceLabel, descriptionValidation, sourceValidation } =\n useCommonAdminCoreDamOptions(damConfigName)\nconst { widgetImageToDamImageOriginalUrl } = useImageActions(imageOptions)\n\nconst { showErrorsDefault, showValidationError } = useAlerts()\nconst { t } = useI18n()\n\nconst extractUUID = (url: string): string | undefined => {\n const regex = /\\/image\\/original\\/([0-9a-fA-F-]+)\\.jpg/\n const match = url.match(regex)\n\n return match ? match[1] : undefined\n}\n\nconst validateAssetData = (asset: AssetDetailItemDto, licences: IntegerId[]) => {\n return licences.some((licence) => licence === asset.licence)\n}\n\nconst validators = useValidate()\n\nconst rules = {\n meta: {\n description: buildFieldRules(descriptionValidation, validators),\n source: buildFieldRules(sourceValidation, validators),\n },\n}\nconst v$ = useVuelidate(rules, { meta }, { $stopPropagation: true })\n\nconst validateField = async () => {\n isDirty.value = true\n isValid.value = true\n inputField.value = inputField.value.trim()\n if (inputField.value.startsWith('http')) {\n const extracted = extractUUID(inputField.value)\n if (isString(extracted)) inputField.value = extracted\n }\n if (!isDocId(inputField.value)) {\n isValid.value = false\n return Promise.reject('Incorrect URL/ID provided')\n }\n try {\n const assetRes = await fetchAssetByFileId(damClient, endPointAsset, inputField.value)\n if (isNull(assetRes.mainFile)) {\n isValid.value = false\n return Promise.reject('Incorrect asset mainFile')\n }\n if (validateAssetData(assetRes, props.selectLicences)) {\n isValid.value = true\n return Promise.resolve(assetRes)\n }\n isValid.value = false\n return Promise.reject('Incorrect asset or no access')\n } catch (e) {\n isValid.value = false\n return Promise.reject('Incorrect asset or no access')\n }\n}\n\nconst submit = async () => {\n try {\n const asset = await validateField()\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return Promise.reject('Invalid source or description')\n }\n const data = createDamImage(\n { fileId: asset.mainFile!.id, licenceId: asset.licence, internal: asset.mainFileInternal },\n { description: meta.value.description.trim(), source: meta.value.source.trim() },\n { position: 0, id: resImage.value?.id || undefined }\n )\n const imageRes = resImage.value?.id\n ? await imageApi.updateImage(imageClient, resImage.value.id, data)\n : await imageApi.createImage(imageClient, data)\n resImage.value = imageRes\n if (!data.id) createdImageId = imageRes.id\n modelValue.value = imageRes.id\n // Fills the fields from the create response instead of reading the created image.\n if (!data.id) await reload(imageRes, imageRes.id, true)\n return Promise.resolve({ asset: asset, image: imageRes })\n } catch (e) {\n showErrorsDefault(e)\n return undefined\n }\n}\n\nconst updatePreviewAndTexts = () => {\n resolvedSrc.value = widgetImageToDamImageOriginalUrl(createDamImage({ fileId: inputField.value, licenceId: 0 }))\n}\n\nconst onBlur = async () => {\n try {\n await validateField()\n updatePreviewAndTexts()\n } catch (e) {\n //\n }\n}\n\nconst reload = async (newImage: ImageCreateUpdateAware | undefined, newImageId: IntegerIdNullable, force = false) => {\n resolvedSrc.value = ''\n if ((newImage && isNull(resImage.value)) || (newImage && force)) {\n resImage.value = cloneDeep(newImage)\n if (resImage.value) {\n inputField.value = resImage.value.dam.damId\n resolvedSrc.value = widgetImageToDamImageOriginalUrl(toRaw(resImage.value))\n meta.value.description = resImage.value.texts.description\n meta.value.source = resImage.value.texts.source\n onBlur()\n }\n return\n }\n if (newImageId) {\n try {\n resImage.value = await imageApi.fetchImage(imageClient, newImageId)\n } catch (error) {\n showErrorsDefault(error)\n }\n if (!isNull(resImage.value)) {\n inputField.value = resImage.value.dam.damId\n resolvedSrc.value = widgetImageToDamImageOriginalUrl(toRaw(resImage.value))\n meta.value.description = resImage.value.texts.description\n meta.value.source = resImage.value.texts.source\n onBlur()\n }\n return\n }\n resImage.value = null\n meta.value.description = ''\n meta.value.source = ''\n}\n\nconst disabled = computed(() => !(isValid.value && isDirty.value))\n\nwatch(\n [() => props.image, modelValue],\n async ([newImage, newImageId], [oldImage]) => {\n const created = createdImageId\n createdImageId = null\n if (!isNull(created) && newImageId === created && newImage === oldImage) return\n await reload(newImage, newImageId)\n },\n { immediate: true }\n)\n\ndefineExpose({\n submit,\n})\n</script>\n\n<template>\n <ARow>\n <AFormTextField\n v-model=\"inputField\"\n :label=\"labelT ? t(labelT) : undefined\"\n :error=\"!isValid\"\n :error-message=\"isValid ? undefined : t('common.damImage.public.inputError')\"\n required\n @blur=\"onBlur\"\n @keyup.enter=\"onBlur\"\n />\n </ARow>\n <ARow>\n <AFormTextarea\n v-model=\"meta.description\"\n :label=\"t('common.damImage.image.model.texts.description')\"\n :v=\"v$.meta.description\"\n :disabled=\"disabled\"\n />\n </ARow>\n <ARow>\n <AFormTextarea\n v-model=\"meta.source\"\n :label=\"sourceLabel\"\n :v=\"v$.meta.source\"\n :disabled=\"disabled\"\n />\n </ARow>\n <ARow style=\"min-height: 50px\">\n <div>{{ t('common.damImage.public.imagePreview') }}:</div>\n <img\n v-if=\"resolvedSrc.length > 0\"\n :src=\"resolvedSrc\"\n alt=\"\"\n />\n </ARow>\n</template>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AImagePublicInput.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createElementBlock","_createVNode","ARow","_withCtx","AFormTextField","_unref","_withKeys","AFormTextarea","_createElementVNode","_toDisplayString","AFormTextField_default","AFormTextarea_default","ARow_default","useVuelidate","_hoisted_1","AImagePublicInput_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","__expose","props","__props","modelValue","useModel","damConfigName","useDamConfigName","inputField","ref","meta","resolvedSrc","resImage","createdImageId","isValid","isDirty","imageOptions","useCommonAdminImageOptions","useCommonAdminCoreDamOptions","useImageActions","useAlerts","useI18n","extractUUID","match","url","validateAssetData","licences","licence","asset","validators","useValidate","rules","buildFieldRules","descriptionValidation","sourceValidation","v$","validateField","extracted","isString","isDocId","assetRes","fetchAssetByFileId","damClient","endPointAsset","isNull","submit","showValidationError","data","createDamImage","imageRes","imageApi","imageClient","reload","updatePreviewAndTexts","widgetImageToDamImageOriginalUrl","onBlur","newImage","force","cloneDeep","toRaw","newImageId","error","disabled","computed","watch","oldImage","created","openBlock","createElementBlock","Fragment","createVNode","withCtx","_cache","$event","unref","t","withKeys","sourceLabel","createElementVNode","toDisplayString","createCommentVNode"],"sources":["../../../../../src/domains/dam/imageWidget/components/AImagePublicInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ImageAware, ImageCreateUpdateAware } from '@/domains/dam/types/ImageAware'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { fetchAssetByFileId } from '@/domains/dam/api/damAssetApi'\nimport { cloneDeep, isDocId, isNull, isString } from '@/shared/utils/common'\nimport { computed, ref, toRaw, watch } from 'vue'\nimport type { AssetDetailItemDto } from '@/domains/dam/types/Asset'\nimport type { IntegerId, IntegerIdNullable } from '@/shared/types/common'\nimport { useImageActions } from '@/domains/dam/imageWidget/composables/imageActions'\nimport { useCommonAdminImageOptions } from '@/domains/dam/imageWidget/composables/commonAdminImageOptions'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useI18n } from 'vue-i18n'\nimport AFormTextField from '@/domains/form/components/AFormTextField.vue'\nimport AFormTextarea from '@/domains/form/components/AFormTextarea.vue'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport useVuelidate from '@vuelidate/core'\nimport { useValidate } from '@/shared/validators/vuelidate/useValidate'\nimport { buildFieldRules } from '@/domains/dam/composables/uploadValidations'\nimport { createDamImage } from '@/domains/dam/imageWidget/utils/damImage'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n selectLicences: IntegerId[]\n image?: ImageAware | undefined // optional, if available, no need to fetch image data\n configName?: string\n labelT?: string | undefined\n dataCy?: string | undefined\n }>(),\n {\n image: undefined,\n configName: undefined,\n labelT: 'common.damImage.public.idOrUrl',\n dataCy: undefined,\n }\n)\nconst modelValue = defineModel<IntegerIdNullable>({ default: null, required: true })\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\nconst inputField = ref('')\nconst meta = ref({ description: '', source: '' })\n\nconst resolvedSrc = ref('')\nconst resImage = ref<null | ImageCreateUpdateAware>(null)\n// Id of the image this input just created. The model changes to it, and\n// fields are filled from the create response, so the image is not read again.\n// Any other id change triggers a read.\nlet createdImageId: IntegerIdNullable = null\n\nconst isValid = ref(true)\nconst isDirty = ref(false)\n\nconst imageOptions = useCommonAdminImageOptions(damConfigName)\nconst { imageClient, imageApi } = imageOptions\nconst { damClient, endPointAsset, sourceLabel, descriptionValidation, sourceValidation } =\n useCommonAdminCoreDamOptions(damConfigName)\nconst { widgetImageToDamImageOriginalUrl } = useImageActions(imageOptions)\n\nconst { showErrorsDefault, showValidationError } = useAlerts()\nconst { t } = useI18n()\n\nconst extractUUID = (url: string): string | undefined => {\n const regex = /\\/image\\/original\\/([0-9a-fA-F-]+)\\.jpg/\n const match = url.match(regex)\n\n return match ? match[1] : undefined\n}\n\nconst validateAssetData = (asset: AssetDetailItemDto, licences: IntegerId[]) => {\n return licences.some((licence) => licence === asset.licence)\n}\n\nconst validators = useValidate()\n\nconst rules = {\n meta: {\n description: buildFieldRules(descriptionValidation, validators),\n source: buildFieldRules(sourceValidation, validators),\n },\n}\nconst v$ = useVuelidate(rules, { meta }, { $stopPropagation: true })\n\nconst validateField = async () => {\n isDirty.value = true\n isValid.value = true\n inputField.value = inputField.value.trim()\n if (inputField.value.startsWith('http')) {\n const extracted = extractUUID(inputField.value)\n if (isString(extracted)) inputField.value = extracted\n }\n if (!isDocId(inputField.value)) {\n isValid.value = false\n return Promise.reject('Incorrect URL/ID provided')\n }\n try {\n const assetRes = await fetchAssetByFileId(damClient, endPointAsset, inputField.value)\n if (isNull(assetRes.mainFile)) {\n isValid.value = false\n return Promise.reject('Incorrect asset mainFile')\n }\n if (validateAssetData(assetRes, props.selectLicences)) {\n isValid.value = true\n return Promise.resolve(assetRes)\n }\n isValid.value = false\n return Promise.reject('Incorrect asset or no access')\n } catch (e) {\n isValid.value = false\n return Promise.reject('Incorrect asset or no access')\n }\n}\n\nconst submit = async () => {\n try {\n const asset = await validateField()\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return Promise.reject('Invalid source or description')\n }\n const data = createDamImage(\n { fileId: asset.mainFile!.id, licenceId: asset.licence, internal: asset.mainFileInternal },\n { description: meta.value.description.trim(), source: meta.value.source.trim() },\n { position: 0, id: resImage.value?.id || undefined }\n )\n const imageRes = resImage.value?.id\n ? await imageApi.updateImage(imageClient, resImage.value.id, data)\n : await imageApi.createImage(imageClient, data)\n resImage.value = imageRes\n if (!data.id) createdImageId = imageRes.id\n modelValue.value = imageRes.id\n // Fills the fields from the create response instead of reading the created image.\n if (!data.id) await reload(imageRes, imageRes.id, true)\n return Promise.resolve({ asset: asset, image: imageRes })\n } catch (e) {\n showErrorsDefault(e)\n return undefined\n }\n}\n\nconst updatePreviewAndTexts = () => {\n resolvedSrc.value = widgetImageToDamImageOriginalUrl(createDamImage({ fileId: inputField.value, licenceId: 0 }))\n}\n\nconst onBlur = async () => {\n try {\n await validateField()\n updatePreviewAndTexts()\n } catch (e) {\n //\n }\n}\n\nconst reload = async (newImage: ImageCreateUpdateAware | undefined, newImageId: IntegerIdNullable, force = false) => {\n resolvedSrc.value = ''\n if ((newImage && isNull(resImage.value)) || (newImage && force)) {\n resImage.value = cloneDeep(newImage)\n if (resImage.value) {\n inputField.value = resImage.value.dam.damId\n resolvedSrc.value = widgetImageToDamImageOriginalUrl(toRaw(resImage.value))\n meta.value.description = resImage.value.texts.description\n meta.value.source = resImage.value.texts.source\n onBlur()\n }\n return\n }\n if (newImageId) {\n try {\n resImage.value = await imageApi.fetchImage(imageClient, newImageId)\n } catch (error) {\n showErrorsDefault(error)\n }\n if (!isNull(resImage.value)) {\n inputField.value = resImage.value.dam.damId\n resolvedSrc.value = widgetImageToDamImageOriginalUrl(toRaw(resImage.value))\n meta.value.description = resImage.value.texts.description\n meta.value.source = resImage.value.texts.source\n onBlur()\n }\n return\n }\n resImage.value = null\n meta.value.description = ''\n meta.value.source = ''\n}\n\nconst disabled = computed(() => !(isValid.value && isDirty.value))\n\nwatch(\n [() => props.image, modelValue],\n async ([newImage, newImageId], [oldImage]) => {\n const created = createdImageId\n createdImageId = null\n if (!isNull(created) && newImageId === created && newImage === oldImage) return\n await reload(newImage, newImageId)\n },\n { immediate: true }\n)\n\ndefineExpose({\n submit,\n})\n</script>\n\n<template>\n <ARow>\n <AFormTextField\n v-model=\"inputField\"\n :label=\"labelT ? t(labelT) : undefined\"\n :error=\"!isValid\"\n :error-message=\"isValid ? undefined : t('common.damImage.public.inputError')\"\n required\n @blur=\"onBlur\"\n @keyup.enter=\"onBlur\"\n />\n </ARow>\n <ARow>\n <AFormTextarea\n v-model=\"meta.description\"\n :label=\"t('common.damImage.image.model.texts.description')\"\n :v=\"v$.meta.description\"\n :disabled=\"disabled\"\n />\n </ARow>\n <ARow>\n <AFormTextarea\n v-model=\"meta.source\"\n :label=\"sourceLabel\"\n :v=\"v$.meta.source\"\n :disabled=\"disabled\"\n />\n </ARow>\n <ARow style=\"min-height: 50px\">\n <div>{{ t('common.damImage.public.imagePreview') }}:</div>\n <img\n v-if=\"resolvedSrc.length > 0\"\n :src=\"resolvedSrc\"\n alt=\"\"\n />\n </ARow>\n</template>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AImageWidget.js","names":["
|
|
1
|
+
{"version":3,"file":"AImageWidget.js","names":["AImageWidget_vue_vue_type_script_setup_true_lang_default","AImageWidget_default"],"sources":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AImageWidget.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","ImageWidgetInner","_mergeProps","_withCtx","_renderSlot","_createElementBlock","AImageWidgetSimple","_unref","_createCommentVNode","_createElementVNode","_toDisplayString","_component_VProgressCircular","ImageWidgetInner_default","AImageWidgetSimple_default","_hoisted_1","_hoisted_2","AImageWidget_vue_vue_type_script_setup_true_lang_default","CollabStatus","__expose","__emit","props","__props","emit","damConfigName","useDamConfigName","status","ref","uploadAllowed","useCommonAdminCoreDamOptions","useDamConfigState","damClient","uploadConfig","shallowRef","useExtSystemIdForCached","onMounted","damConfigStore","useDamConfigStoreOf","getOrLoadDamConfigExtSystemByLicence","isUndefined","isImageWidgetUploadConfigAllowed","loadDamPrvConfig","promises","getOrLoadDamConfigExtSystemByLicences","getDamConfigAssetCustomFormElements","extSystem","DamAssetType","loadDamConfigAssetCustomFormElements","provide","ImageWidgetUploadConfigKey","innerComponent","useI18n","openBlock","createBlock","mergeProps","_cache","$event","withCtx","appendImage","renderSlot","_ctx","createElementBlock","unref","createCommentVNode","createElementVNode","toDisplayString","t","VProgressCircular"],"sources":["../../../../../src/domains/dam/imageWidget/components/AImageWidget.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { IntegerId, IntegerIdNullable } from '@/shared/types/common'\nimport { onMounted, provide, ref, shallowRef } from 'vue'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport type { ImageAware, ImageCreateUpdateAware } from '@/domains/dam/types/ImageAware'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport ImageWidgetInner from '@/domains/dam/imageWidget/components/ImageWidgetInner.vue'\nimport AImageWidgetSimple from '@/domains/dam/imageWidget/components/AImageWidgetSimple.vue'\nimport { ImageWidgetUploadConfigKey } from '@/domains/dam/imageWidget/utils/imageWidgetInkectionKeys'\nimport { isUndefined } from '@/shared/utils/common'\nimport { isImageWidgetUploadConfigAllowed } from '@/domains/dam/config/utils/damFilterUserAllowedUploadConfigs'\nimport { type CollabComponentConfig, CollabStatus, type CollabStatusType } from '@/domains/collab/types/Collab'\nimport type { DamConfigLicenceExtSystemReturnType } from '@/domains/dam/types/DamConfig'\nimport { useDamConfigStoreOf } from '@/domains/dam/config/store/damConfigStore'\nimport { useI18n } from 'vue-i18n'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport { useExtSystemIdForCached } from '@/domains/dam/composables/extSystemIdForCached'\nimport { DamAssetType } from '@/domains/dam/types/Asset'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: IntegerIdNullable\n queueKey: UploadQueueKey\n uploadLicence: IntegerId\n selectLicences: IntegerId[]\n image?: ImageAware | undefined // If given, the image data is not fetched.\n configName?: string\n collab?: CollabComponentConfig\n collabStatus?: CollabStatusType\n label?: string | undefined\n readonly?: boolean\n required?: boolean\n dataCy?: string | undefined\n expandOptions?: boolean\n expandMetadata?: boolean\n disableOnClickMenu?: boolean\n width?: number | undefined\n maxWidth?: number | undefined\n height?: number | undefined\n callDeleteApiOnRemove?: boolean\n damWidth?: undefined | number\n damHeight?: undefined | number\n }>(),\n {\n configName: undefined,\n collab: undefined,\n collabStatus: CollabStatus.Inactive,\n label: undefined,\n image: undefined,\n readonly: false,\n required: false,\n lockable: false,\n lockedById: undefined,\n dataCy: undefined,\n expandOptions: false,\n expandMetadata: false,\n disableOnClickMenu: false,\n width: undefined,\n maxWidth: undefined,\n height: undefined,\n callDeleteApiOnRemove: false,\n damWidth: undefined,\n damHeight: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: IntegerIdNullable): void\n (e: 'afterMetadataSaveSuccess'): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n// Declared explicitly: the read-only fallback renders the slot too, and the inferred type would be looser.\ndefineSlots<{\n append?: (props: { image: ImageCreateUpdateAware | null }) => unknown\n}>()\n\nconst status = ref<'loading' | 'ready' | 'error'>('loading')\n// Without upload permission the existing image is still shown, read-only.\nconst uploadAllowed = ref(true)\n\nconst { damClient } = useCommonAdminCoreDamOptions(damConfigName)\nconst {\n loadDamPrvConfig,\n loadDamConfigAssetCustomFormElements,\n getDamConfigAssetCustomFormElements,\n getOrLoadDamConfigExtSystemByLicence,\n getOrLoadDamConfigExtSystemByLicences,\n} = useDamConfigState(damClient, damConfigName)\n\nconst uploadConfig = shallowRef<DamConfigLicenceExtSystemReturnType | undefined>(undefined)\n\nconst { cachedExtSystemId } = useExtSystemIdForCached(damConfigName)\n\nonMounted(async () => {\n const damConfigStore = useDamConfigStoreOf(damConfigName)\n uploadConfig.value = await getOrLoadDamConfigExtSystemByLicence(props.uploadLicence)\n if (isUndefined(uploadConfig.value)) {\n status.value = 'error'\n return\n }\n // Starts as the ext system of the upload licence, until a pick, a drop or \"edit asset\" sets another.\n cachedExtSystemId.value = uploadConfig.value.extSystem\n if (!isImageWidgetUploadConfigAllowed(uploadConfig.value, damConfigName)) {\n uploadAllowed.value = false\n try {\n if (!damConfigStore.initialized.damPrvConfig) await loadDamPrvConfig()\n status.value = 'ready'\n } catch (e) {\n status.value = 'error'\n }\n return\n }\n const promises: Promise<any>[] = []\n if (!damConfigStore.initialized.damPrvConfig) {\n promises.push(loadDamPrvConfig())\n }\n promises.push(getOrLoadDamConfigExtSystemByLicences(props.selectLicences))\n const { extSystem } = uploadConfig.value\n // Loads custom fields for every type of the ext system if none are loaded yet.\n // Otherwise loads only the image type if its earlier read failed. Loaded types are not read again.\n if (isUndefined(getDamConfigAssetCustomFormElements(extSystem, DamAssetType.Image))) {\n promises.push(\n loadDamConfigAssetCustomFormElements(\n extSystem,\n getDamConfigAssetCustomFormElements(extSystem) ? [DamAssetType.Image] : undefined\n )\n )\n }\n try {\n await Promise.all(promises)\n } catch (e) {\n status.value = 'error'\n }\n // If the image type failed while other types loaded, the form would have no fields, so this is an error.\n if (isUndefined(getDamConfigAssetCustomFormElements(extSystem, DamAssetType.Image))) status.value = 'error'\n if (status.value !== 'error') status.value = 'ready'\n})\n\nprovide(ImageWidgetUploadConfigKey, uploadConfig)\n\nconst innerComponent = ref<InstanceType<typeof ImageWidgetInner> | null>(null)\n\nconst metadataConfirm = () => {\n innerComponent.value?.metadataConfirm()\n}\n\ndefineExpose({\n metadataConfirm,\n})\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <ImageWidgetInner\n v-if=\"status === 'ready'\"\n ref=\"innerComponent\"\n v-bind=\"props\"\n :readonly=\"readonly || !uploadAllowed\"\n @update:model-value=\"emit('update:modelValue', $event)\"\n @after-metadata-save-success=\"emit('afterMetadataSaveSuccess')\"\n >\n <template #append=\"{ image: appendImage }\">\n <slot\n name=\"append\"\n :image=\"appendImage\"\n />\n </template>\n </ImageWidgetInner>\n <!-- The config also fails for a user without access to the licence. The existing image is still shown. -->\n <div v-else-if=\"status === 'error'\">\n <AImageWidgetSimple\n v-if=\"modelValue || image\"\n :model-value=\"modelValue\"\n :image=\"image\"\n :config-name=\"damConfigName\"\n :label=\"label\"\n :width=\"width\"\n :height=\"height\"\n :dam-width=\"damWidth\"\n :dam-height=\"damHeight\"\n >\n <template #append=\"{ image: appendImage }\">\n <slot\n name=\"append\"\n :image=\"appendImage\"\n />\n </template>\n </AImageWidgetSimple>\n <div class=\"text-error\">\n {{ t('common.damImage.error.loadingConfig') }}\n </div>\n </div>\n <VProgressCircular\n v-else\n :size=\"12\"\n :width=\"2\"\n indeterminate\n />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBA,IAAMqB,IAAQC,GA+CRC,IAAOH,GAKPI,IAAgBC,EAAiBJ,EAAM,UAAU,GAMjDK,IAASC,EAAmC,SAAS,GAErDC,IAAgBD,EAAI,EAAI,GAExB,EAAE,iBAAcE,EAA6BL,CAAa,GAC1D,EACJ,qBACA,yCACA,wCACA,yCACA,6CACEM,EAAkBC,GAAWP,CAAa,GAExCQ,IAAeC,EAA4D,KAAA,CAAS,GAEpF,EAAE,yBAAsBC,EAAwBV,CAAa;EA+CnE,AA7CAW,EAAU,YAAY;GACpB,IAAMC,IAAiBC,EAAoBb,CAAa;GAExD,IADA,EAAa,QAAQ,MAAMc,EAAqCjB,EAAM,aAAa,GAC/EkB,EAAYP,EAAa,KAAK,GAAG;IACnC,EAAO,QAAQ;IACf;GACF;GAGA,IADA,EAAkB,QAAQA,EAAa,MAAM,WACzC,CAACQ,EAAiCR,EAAa,OAAOR,CAAa,GAAG;IACxE,EAAc,QAAQ;IACtB,IAAI;KAEF,AADKY,EAAe,YAAY,gBAAc,MAAMK,EAAiB,GACrE,EAAO,QAAQ;IACjB,QAAY;KACV,EAAO,QAAQ;IACjB;IACA;GACF;GACA,IAAMC,IAA2B,CAAC;GAIlC,AAHKN,EAAe,YAAY,gBAC9BM,EAAS,KAAKD,EAAiB,CAAC,GAElCC,EAAS,KAAKC,EAAsCtB,EAAM,cAAc,CAAC;GACzE,IAAM,EAAE,iBAAcW,EAAa;GAGnC,AAAIO,EAAYK,EAAoCC,GAAWC,EAAa,KAAK,CAAC,KAChFJ,EAAS,KACPK,EACEF,GACAD,EAAoCC,CAAS,IAAI,CAACC,EAAa,KAAK,IAAI,KAAA,CAC1E,CACF;GAEF,IAAI;IACF,MAAM,QAAQ,IAAIJ,CAAQ;GAC5B,QAAY;IACV,EAAO,QAAQ;GACjB;GAGA,AADIH,EAAYK,EAAoCC,GAAWC,EAAa,KAAK,CAAC,MAAG,EAAO,QAAQ,UAChGpB,EAAO,UAAU,YAAS,EAAO,QAAQ;EAC/C,CAAC,GAEDsB,EAAQC,GAA4BjB,CAAY;EAEhD,IAAMkB,IAAiBvB,EAAkD,IAAI;EAM7E,EAAa,EACX,uBAL4B;GAC5B,EAAe,OAAO,gBAAgB;EACxC,EAIA,CAAC;EAED,IAAM,EAAE,SAAMwB,EAAQ;E,iBAKZzB,EAAA,UAAM,WADd1B,EAAA,GAAAC,EAcmBC,GAdnBC,EAcmB;;GAZb,SAAA;GAAJ,KAAI+C;EACI,GAAA7B,GAAK;GACZ,UAAUC,EAAA,YAAQ,CAAKM,EAAA;GACvB,uBAAkB,AAAA2B,EAAA,QAAA,MAAEhC,EAAI,qBAAsBiC,CAAM;GACpD,4BAA2B,AAAAD,EAAA,QAAA,MAAEhC,EAAI,0BAAA;;GAEvB,QAAMnB,GAIb,EAAA,OAJwBsD,QAAW,CACrCrD,EAGEuD,EAAA,QAAA,UAAA,EADC,OAAOF,EAAW,CAAA,C;;E,wBAKThC,EAAA,UAAM,WAAtB1B,EAAA,GAAAM,EAsBM,OAAAS,GAAA,CApBIO,EAAA,cAAcA,EAAA,SADtBtB,EAAA,GAAAC,EAiBqBM,GAAA;;GAflB,eAAae,EAAA;GACb,OAAOA,EAAA;GACP,eAAad,EAAAgB,CAAA;GACb,OAAOF,EAAA;GACP,OAAOA,EAAA;GACP,QAAQA,EAAA;GACR,aAAWA,EAAA;GACX,cAAYA,EAAA;;GAEF,QAAMlB,GAIb,EAAA,OAJwBsD,QAAW,CACrCrD,EAGEuD,EAAA,QAAA,UAAA,EADC,OAAOF,EAAW,CAAA,C;;;;;;;;;;;E,iBAIzBhD,EAEM,OAFNM,GAEML,EADDH,EAAA0D,CAAA,CAAC,CAAA,qCAAA,CAAA,GAAA,CAAA,C,OAGRlE,EAAA,GAAAC,EAKEW,GAAA;;GAHC,MAAM;GACN,OAAO;GACR,eAAA"}
|
|
1
|
+
{"version":3,"file":"AImageWidget.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","ImageWidgetInner","_mergeProps","_withCtx","_renderSlot","_createElementBlock","AImageWidgetSimple","_unref","_createElementVNode","_toDisplayString","_component_VProgressCircular","ImageWidgetInner_default","AImageWidgetSimple_default","_hoisted_1","_hoisted_2","AImageWidget_vue_vue_type_script_setup_true_lang_default","CollabStatus","__expose","__emit","props","__props","emit","damConfigName","useDamConfigName","status","ref","uploadAllowed","useCommonAdminCoreDamOptions","useDamConfigState","damClient","uploadConfig","shallowRef","useExtSystemIdForCached","onMounted","damConfigStore","useDamConfigStoreOf","getOrLoadDamConfigExtSystemByLicence","isUndefined","isImageWidgetUploadConfigAllowed","loadDamPrvConfig","promises","getOrLoadDamConfigExtSystemByLicences","getDamConfigAssetCustomFormElements","extSystem","DamAssetType","loadDamConfigAssetCustomFormElements","provide","ImageWidgetUploadConfigKey","innerComponent","useI18n","openBlock","createBlock","mergeProps","_cache","$event","withCtx","appendImage","renderSlot","_ctx","createElementBlock","unref","createCommentVNode","createElementVNode","toDisplayString","t","VProgressCircular"],"sources":["../../../../../src/domains/dam/imageWidget/components/AImageWidget.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { IntegerId, IntegerIdNullable } from '@/shared/types/common'\nimport { onMounted, provide, ref, shallowRef } from 'vue'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport type { ImageAware, ImageCreateUpdateAware } from '@/domains/dam/types/ImageAware'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport ImageWidgetInner from '@/domains/dam/imageWidget/components/ImageWidgetInner.vue'\nimport AImageWidgetSimple from '@/domains/dam/imageWidget/components/AImageWidgetSimple.vue'\nimport { ImageWidgetUploadConfigKey } from '@/domains/dam/imageWidget/utils/imageWidgetInkectionKeys'\nimport { isUndefined } from '@/shared/utils/common'\nimport { isImageWidgetUploadConfigAllowed } from '@/domains/dam/config/utils/damFilterUserAllowedUploadConfigs'\nimport { type CollabComponentConfig, CollabStatus, type CollabStatusType } from '@/domains/collab/types/Collab'\nimport type { DamConfigLicenceExtSystemReturnType } from '@/domains/dam/types/DamConfig'\nimport { useDamConfigStoreOf } from '@/domains/dam/config/store/damConfigStore'\nimport { useI18n } from 'vue-i18n'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\nimport { useExtSystemIdForCached } from '@/domains/dam/composables/extSystemIdForCached'\nimport { DamAssetType } from '@/domains/dam/types/Asset'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: IntegerIdNullable\n queueKey: UploadQueueKey\n uploadLicence: IntegerId\n selectLicences: IntegerId[]\n image?: ImageAware | undefined // If given, the image data is not fetched.\n configName?: string\n collab?: CollabComponentConfig\n collabStatus?: CollabStatusType\n label?: string | undefined\n readonly?: boolean\n required?: boolean\n dataCy?: string | undefined\n expandOptions?: boolean\n expandMetadata?: boolean\n disableOnClickMenu?: boolean\n width?: number | undefined\n maxWidth?: number | undefined\n height?: number | undefined\n callDeleteApiOnRemove?: boolean\n damWidth?: undefined | number\n damHeight?: undefined | number\n }>(),\n {\n configName: undefined,\n collab: undefined,\n collabStatus: CollabStatus.Inactive,\n label: undefined,\n image: undefined,\n readonly: false,\n required: false,\n lockable: false,\n lockedById: undefined,\n dataCy: undefined,\n expandOptions: false,\n expandMetadata: false,\n disableOnClickMenu: false,\n width: undefined,\n maxWidth: undefined,\n height: undefined,\n callDeleteApiOnRemove: false,\n damWidth: undefined,\n damHeight: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: IntegerIdNullable): void\n (e: 'afterMetadataSaveSuccess'): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n// Declared explicitly: the read-only fallback renders the slot too, and the inferred type would be looser.\ndefineSlots<{\n append?: (props: { image: ImageCreateUpdateAware | null }) => unknown\n}>()\n\nconst status = ref<'loading' | 'ready' | 'error'>('loading')\n// Without upload permission the existing image is still shown, read-only.\nconst uploadAllowed = ref(true)\n\nconst { damClient } = useCommonAdminCoreDamOptions(damConfigName)\nconst {\n loadDamPrvConfig,\n loadDamConfigAssetCustomFormElements,\n getDamConfigAssetCustomFormElements,\n getOrLoadDamConfigExtSystemByLicence,\n getOrLoadDamConfigExtSystemByLicences,\n} = useDamConfigState(damClient, damConfigName)\n\nconst uploadConfig = shallowRef<DamConfigLicenceExtSystemReturnType | undefined>(undefined)\n\nconst { cachedExtSystemId } = useExtSystemIdForCached(damConfigName)\n\nonMounted(async () => {\n const damConfigStore = useDamConfigStoreOf(damConfigName)\n uploadConfig.value = await getOrLoadDamConfigExtSystemByLicence(props.uploadLicence)\n if (isUndefined(uploadConfig.value)) {\n status.value = 'error'\n return\n }\n // Starts as the ext system of the upload licence, until a pick, a drop or \"edit asset\" sets another.\n cachedExtSystemId.value = uploadConfig.value.extSystem\n if (!isImageWidgetUploadConfigAllowed(uploadConfig.value, damConfigName)) {\n uploadAllowed.value = false\n try {\n if (!damConfigStore.initialized.damPrvConfig) await loadDamPrvConfig()\n status.value = 'ready'\n } catch (e) {\n status.value = 'error'\n }\n return\n }\n const promises: Promise<any>[] = []\n if (!damConfigStore.initialized.damPrvConfig) {\n promises.push(loadDamPrvConfig())\n }\n promises.push(getOrLoadDamConfigExtSystemByLicences(props.selectLicences))\n const { extSystem } = uploadConfig.value\n // Loads custom fields for every type of the ext system if none are loaded yet.\n // Otherwise loads only the image type if its earlier read failed. Loaded types are not read again.\n if (isUndefined(getDamConfigAssetCustomFormElements(extSystem, DamAssetType.Image))) {\n promises.push(\n loadDamConfigAssetCustomFormElements(\n extSystem,\n getDamConfigAssetCustomFormElements(extSystem) ? [DamAssetType.Image] : undefined\n )\n )\n }\n try {\n await Promise.all(promises)\n } catch (e) {\n status.value = 'error'\n }\n // If the image type failed while other types loaded, the form would have no fields, so this is an error.\n if (isUndefined(getDamConfigAssetCustomFormElements(extSystem, DamAssetType.Image))) status.value = 'error'\n if (status.value !== 'error') status.value = 'ready'\n})\n\nprovide(ImageWidgetUploadConfigKey, uploadConfig)\n\nconst innerComponent = ref<InstanceType<typeof ImageWidgetInner> | null>(null)\n\nconst metadataConfirm = () => {\n innerComponent.value?.metadataConfirm()\n}\n\ndefineExpose({\n metadataConfirm,\n})\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <ImageWidgetInner\n v-if=\"status === 'ready'\"\n ref=\"innerComponent\"\n v-bind=\"props\"\n :readonly=\"readonly || !uploadAllowed\"\n @update:model-value=\"emit('update:modelValue', $event)\"\n @after-metadata-save-success=\"emit('afterMetadataSaveSuccess')\"\n >\n <template #append=\"{ image: appendImage }\">\n <slot\n name=\"append\"\n :image=\"appendImage\"\n />\n </template>\n </ImageWidgetInner>\n <!-- The config also fails for a user without access to the licence. The existing image is still shown. -->\n <div v-else-if=\"status === 'error'\">\n <AImageWidgetSimple\n v-if=\"modelValue || image\"\n :model-value=\"modelValue\"\n :image=\"image\"\n :config-name=\"damConfigName\"\n :label=\"label\"\n :width=\"width\"\n :height=\"height\"\n :dam-width=\"damWidth\"\n :dam-height=\"damHeight\"\n >\n <template #append=\"{ image: appendImage }\">\n <slot\n name=\"append\"\n :image=\"appendImage\"\n />\n </template>\n </AImageWidgetSimple>\n <div class=\"text-error\">\n {{ t('common.damImage.error.loadingConfig') }}\n </div>\n </div>\n <VProgressCircular\n v-else\n :size=\"12\"\n :width=\"2\"\n indeterminate\n />\n</template>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AImageWidgetMultiple.js","names":["
|
|
1
|
+
{"version":3,"file":"AImageWidgetMultiple.js","names":["AImageWidgetMultiple_vue_vue_type_script_setup_true_lang_default","AImageWidgetMultiple_default"],"sources":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AImageWidgetMultiple.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","ImageWidgetMultipleInner","_mergeProps","_createElementBlock","AImageWidgetMultipleSimple","_unref","
|
|
1
|
+
{"version":3,"file":"AImageWidgetMultiple.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","ImageWidgetMultipleInner","_mergeProps","_createElementBlock","AImageWidgetMultipleSimple","_unref","_createElementVNode","_toDisplayString","_component_VProgressCircular","ImageWidgetMultipleInner_default","AImageWidgetMultipleSimple_default","_hoisted_1","_hoisted_2","AImageWidgetMultiple_vue_vue_type_script_setup_true_lang_default","__expose","__emit","props","__props","emit","damConfigName","useDamConfigName","status","ref","uploadAllowed","useCommonAdminCoreDamOptions","useDamConfigState","damClient","uploadConfig","shallowRef","useExtSystemIdForCached","damConfigStore","useDamConfigStoreOf","getOrLoadDamConfigExtSystemByLicence","isUndefined","isImageWidgetUploadConfigAllowed","loadDamPrvConfig","promises","getOrLoadDamConfigExtSystemByLicences","getDamConfigAssetCustomFormElements","extSystem","DamAssetType","loadDamConfigAssetCustomFormElements","innerComponent","provide","ImageWidgetUploadConfigKey","useI18n","openBlock","createBlock","mergeProps","_cache","$event","createElementBlock","unref","createCommentVNode","createElementVNode","toDisplayString","t","VProgressCircular"],"sources":["../../../../../src/domains/dam/imageWidget/components/AImageWidgetMultiple.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useCommonAdminCoreDamOptions } from '@/domains/dam/composables/commonAdminCoreDamOptions'\nimport { isImageWidgetUploadConfigAllowed } from '@/domains/dam/config/utils/damFilterUserAllowedUploadConfigs'\nimport { ImageWidgetUploadConfigKey } from '@/domains/dam/imageWidget/utils/imageWidgetInkectionKeys'\nimport ImageWidgetMultipleInner from '@/domains/dam/imageWidget/components/ImageWidgetMultipleInner.vue'\nimport AImageWidgetMultipleSimple from '@/domains/dam/imageWidget/components/AImageWidgetMultipleSimple.vue'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport { useDamConfigStoreOf } from '@/domains/dam/config/store/damConfigStore'\nimport type { IntegerId } from '@/shared/types/common'\nimport type { DamConfigLicenceExtSystemReturnType } from '@/domains/dam/types/DamConfig'\nimport type { UploadQueueKey } from '@/domains/dam/types/UploadQueue'\nimport { isUndefined } from '@/shared/utils/common'\nimport { onMounted, provide, ref, shallowRef } from 'vue'\nimport { useExtSystemIdForCached } from '@/domains/dam/composables/extSystemIdForCached'\nimport { DamAssetType } from '@/domains/dam/types/Asset'\nimport { useI18n } from 'vue-i18n'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: IntegerId[] // initial ids, updated only when save is called\n queueKey: UploadQueueKey\n uploadLicence: IntegerId\n selectLicences: IntegerId[]\n configName?: string\n label?: string | undefined\n readonly?: boolean\n dataCy?: string | undefined\n width?: number | undefined\n callDeleteApiOnRemove?: boolean\n }>(),\n {\n configName: undefined,\n label: undefined,\n image: undefined,\n readonly: false,\n lockable: false,\n lockedById: undefined,\n dataCy: undefined,\n expandOptions: false,\n width: undefined,\n callDeleteApiOnRemove: false,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: IntegerId[]): void\n}>()\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst status = ref<'loading' | 'ready' | 'error'>('loading')\n// Without upload permission the existing image is still shown, read-only.\nconst uploadAllowed = ref(true)\n\nconst { damClient } = useCommonAdminCoreDamOptions(damConfigName)\nconst {\n loadDamPrvConfig,\n loadDamConfigAssetCustomFormElements,\n getDamConfigAssetCustomFormElements,\n getOrLoadDamConfigExtSystemByLicence,\n getOrLoadDamConfigExtSystemByLicences,\n} = useDamConfigState(damClient, damConfigName)\n\nconst uploadConfig = shallowRef<DamConfigLicenceExtSystemReturnType | undefined>(undefined)\n\nconst { cachedExtSystemId } = useExtSystemIdForCached(damConfigName)\n\nonMounted(async () => {\n const damConfigStore = useDamConfigStoreOf(damConfigName)\n uploadConfig.value = await getOrLoadDamConfigExtSystemByLicence(props.uploadLicence)\n if (isUndefined(uploadConfig.value)) {\n status.value = 'error'\n return\n }\n cachedExtSystemId.value = uploadConfig.value.extSystem\n if (!isImageWidgetUploadConfigAllowed(uploadConfig.value, damConfigName)) {\n uploadAllowed.value = false\n try {\n if (!damConfigStore.initialized.damPrvConfig) await loadDamPrvConfig()\n status.value = 'ready'\n } catch (e) {\n status.value = 'error'\n }\n return\n }\n const promises: Promise<any>[] = []\n if (!damConfigStore.initialized.damPrvConfig) {\n promises.push(loadDamPrvConfig())\n }\n promises.push(getOrLoadDamConfigExtSystemByLicences(props.selectLicences))\n const { extSystem } = uploadConfig.value\n // Loads custom fields for every type of the ext system if none are loaded yet.\n // Otherwise loads only the image type if its earlier read failed. Loaded types are not read again.\n if (isUndefined(getDamConfigAssetCustomFormElements(extSystem, DamAssetType.Image))) {\n promises.push(\n loadDamConfigAssetCustomFormElements(\n extSystem,\n getDamConfigAssetCustomFormElements(extSystem) ? [DamAssetType.Image] : undefined\n )\n )\n }\n try {\n await Promise.all(promises)\n } catch (e) {\n status.value = 'error'\n }\n // If the image type failed while other types loaded, the form would have no fields, so this is an error.\n if (isUndefined(getDamConfigAssetCustomFormElements(extSystem, DamAssetType.Image))) status.value = 'error'\n if (status.value !== 'error') status.value = 'ready'\n})\n\nconst innerComponent = ref<InstanceType<typeof ImageWidgetMultipleInner> | null>(null)\n\nconst saveImages = async () => {\n if (!innerComponent.value) return false\n return (await innerComponent.value.saveImages()) as boolean\n}\n\nprovide(ImageWidgetUploadConfigKey, uploadConfig)\n\ndefineExpose({\n saveImages,\n})\n\nconst { t } = useI18n()\n</script>\n\n<template>\n <ImageWidgetMultipleInner\n v-if=\"status === 'ready'\"\n ref=\"innerComponent\"\n v-bind=\"props\"\n :readonly=\"readonly || !uploadAllowed\"\n @update:model-value=\"emit('update:modelValue', $event)\"\n />\n <!-- The config also fails for a user without access to the licence. The existing image is still shown. -->\n <div v-else-if=\"status === 'error'\">\n <AImageWidgetMultipleSimple\n v-if=\"modelValue.length\"\n :model-value=\"modelValue\"\n :config-name=\"damConfigName\"\n :label=\"label\"\n :width=\"width\"\n />\n <div class=\"text-error\">\n {{ t('common.damImage.error.loadingConfig') }}\n </div>\n </div>\n <VProgressCircular\n v-else\n :size=\"12\"\n :width=\"2\"\n indeterminate\n />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBA,IAAMiB,IAAQC,GA2BRC,IAAOH,GAIPI,IAAgBC,EAAiBJ,EAAM,UAAU,GAEjDK,IAASC,EAAmC,SAAS,GAErDC,IAAgBD,EAAI,EAAI,GAExB,EAAE,iBAAcE,EAA6BL,CAAa,GAC1D,EACJ,qBACA,yCACA,wCACA,yCACA,6CACEM,EAAkBC,GAAWP,CAAa,GAExCQ,IAAeC,EAA4D,KAAA,CAAS,GAEpF,EAAE,yBAAsBC,EAAwBV,CAAa;EAEnE,EAAU,YAAY;GACpB,IAAMW,IAAiBC,EAAoBZ,CAAa;GAExD,IADA,EAAa,QAAQ,MAAMa,EAAqChB,EAAM,aAAa,GAC/EiB,EAAYN,EAAa,KAAK,GAAG;IACnC,EAAO,QAAQ;IACf;GACF;GAEA,IADA,EAAkB,QAAQA,EAAa,MAAM,WACzC,CAACO,EAAiCP,EAAa,OAAOR,CAAa,GAAG;IACxE,EAAc,QAAQ;IACtB,IAAI;KAEF,AADKW,EAAe,YAAY,gBAAc,MAAMK,EAAiB,GACrE,EAAO,QAAQ;IACjB,QAAY;KACV,EAAO,QAAQ;IACjB;IACA;GACF;GACA,IAAMC,IAA2B,CAAC;GAIlC,AAHKN,EAAe,YAAY,gBAC9BM,EAAS,KAAKD,EAAiB,CAAC,GAElCC,EAAS,KAAKC,EAAsCrB,EAAM,cAAc,CAAC;GACzE,IAAM,EAAE,iBAAcW,EAAa;GAGnC,AAAIM,EAAYK,EAAoCC,GAAWC,EAAa,KAAK,CAAC,KAChFJ,EAAS,KACPK,EACEF,GACAD,EAAoCC,CAAS,IAAI,CAACC,EAAa,KAAK,IAAI,KAAA,CAC1E,CACF;GAEF,IAAI;IACF,MAAM,QAAQ,IAAIJ,CAAQ;GAC5B,QAAY;IACV,EAAO,QAAQ;GACjB;GAGA,AADIH,EAAYK,EAAoCC,GAAWC,EAAa,KAAK,CAAC,MAAG,EAAO,QAAQ,UAChGnB,EAAO,UAAU,YAAS,EAAO,QAAQ;EAC/C,CAAC;EAED,IAAMqB,IAAiBpB,EAA0D,IAAI;EASrF,AAFAqB,EAAQC,GAA4BjB,CAAY,GAEhDb,EAAa,EACX,wBAPK4B,EAAe,QACZ,MAAMA,EAAe,MAAM,WAAW,IADZ,GAQpC,CAAC;EAED,IAAM,EAAE,SAAMG,EAAQ;E,iBAKZxB,EAAA,UAAM,WADdtB,EAAA,GAAAC,EAMEC,GANFC,EAME;;GAJI,SAAA;GAAJ,KAAIwC;EACI,GAAA1B,GAAK;GACZ,UAAUC,EAAA,YAAQ,CAAKM,EAAA;GACvB,uBAAkB,AAAA0B,EAAA,QAAA,MAAE/B,EAAI,qBAAsBgC,CAAM;E,+BAGvC7B,EAAA,UAAM,WAAtBtB,EAAA,GAAAI,EAWM,OAAAQ,GAAA,CATIM,EAAA,WAAW,UADnBlB,EAAA,GAAAC,EAMEI,GAAA;;GAJC,eAAaa,EAAA;GACb,eAAaZ,EAAAc,CAAA;GACb,OAAOF,EAAA;GACP,OAAOA,EAAA;;;;;;E,iBAEVX,EAEM,OAFNM,GAEML,EADDF,EAAAmD,CAAA,CAAC,CAAA,qCAAA,CAAA,GAAA,CAAA,C,OAGRzD,EAAA,GAAAC,EAKEQ,GAAA;;GAHC,MAAM;GACN,OAAO;GACR,eAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AImageWidgetMultipleSimple.js","names":["
|
|
1
|
+
{"version":3,"file":"AImageWidgetMultipleSimple.js","names":["AImageWidgetMultipleSimple_vue_vue_type_script_setup_true_lang_default","AImageWidgetMultipleSimple_default"],"sources":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AImageWidgetSimple.js","names":["
|
|
1
|
+
{"version":3,"file":"AImageWidgetSimple.js","names":["AImageWidgetSimple_vue_vue_type_script_setup_true_lang_default","_plugin_vue_export_helper_default","AImageWidgetSimple_default"],"sources":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AImageWidgetSimple.vue_vue_type_script_setup_true_lang.js","names":["imagePlaceholderPath","_openBlock","_createElementBlock","
|
|
1
|
+
{"version":3,"file":"AImageWidgetSimple.vue_vue_type_script_setup_true_lang.js","names":["imagePlaceholderPath","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_normalizeClass","_createBlock","_component_VImg","_unref","_withCtx","_createVNode","_component_VIcon","_component_VProgressCircular","_component_VRow","_component_VCol","_createTextVNode","_renderSlot","placeholder16x9_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","AImageWidgetSimple_vue_vue_type_script_setup_true_lang_default","props","__props","damConfigName","useDamConfigName","useAlerts","imageOptions","useCommonAdminImageOptions","useImageActions","resImage","ref","toRefs","resolvedSrc","useI18n","getImageUrl","isNumber","widgetImageToDamImageUrl","image","watch","modelValue","newImage","newImageId","cloneDeep","imageApi","imageClient","error","openBlock","createElementBlock","Fragment","createElementVNode","toDisplayString","createCommentVNode","normalizeClass","createBlock","VImg","unref","withCtx","createVNode","VIcon","VProgressCircular","VRow","VCol","t","_cache","createTextVNode","renderSlot","_ctx"],"sources":["../../../../../src/domains/dam/imageWidget/components/AImageWidgetSimple.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ref, toRefs, watch } from 'vue'\nimport imagePlaceholderPath from '@/assets/image/placeholder16x9.svg'\nimport type { ImageAware, ImageCreateUpdateAware } from '@/domains/dam/types/ImageAware'\nimport { cloneDeep, isNumber } from '@/shared/utils/common'\nimport { useCommonAdminImageOptions } from '@/domains/dam/imageWidget/composables/commonAdminImageOptions'\nimport { useImageActions } from '@/domains/dam/imageWidget/composables/imageActions'\nimport type { IntegerIdNullable } from '@/shared/types/common'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useI18n } from 'vue-i18n'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: IntegerIdNullable | undefined\n image?: ImageAware | ImageCreateUpdateAware | undefined | null // optional, if available, no need to fetch image data\n configName?: string\n label?: string | undefined\n width?: number | undefined\n height?: undefined | number\n disableAspectRatio?: boolean\n aspectRatio?: number | string\n showDescription?: boolean\n showSource?: boolean\n damWidth?: undefined | number\n damHeight?: undefined | number\n useHtmlImg?: boolean\n widgetClass?: string | undefined\n sourceLabel?: string | undefined\n }>(),\n {\n configName: undefined,\n label: undefined,\n image: undefined,\n width: undefined,\n height: undefined,\n disableAspectRatio: false,\n aspectRatio: 1.777, // 16/9\n showDescription: false,\n showSource: false,\n damWidth: undefined,\n damHeight: undefined,\n useHtmlImg: false,\n widgetClass: undefined,\n sourceLabel: undefined,\n }\n)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst { showErrorsDefault } = useAlerts()\n\nconst imageOptions = useCommonAdminImageOptions(damConfigName)\nconst { imageClient, imageApi } = imageOptions\nconst { widgetImageToDamImageUrl } = useImageActions(imageOptions)\n\nconst resImage = ref<null | ImageAware | ImageCreateUpdateAware>(null)\n\nconst { image, modelValue } = toRefs(props)\n\nconst resolvedSrc = ref('')\n\nconst { t } = useI18n()\n\nconst getImageUrl = (image: ImageAware | ImageCreateUpdateAware) => {\n if (isNumber(props.damWidth) && isNumber(props.damHeight)) {\n return widgetImageToDamImageUrl(image, props.damWidth, props.damHeight)\n }\n return widgetImageToDamImageUrl(image, imageOptions.imageWidth, imageOptions.imageHeight)\n}\n\nwatch(\n [image, modelValue],\n async ([newImage, newImageId]) => {\n resImage.value = null\n resolvedSrc.value = imagePlaceholderPath\n if (newImage) {\n resImage.value = cloneDeep(newImage)\n if (resImage.value) {\n resolvedSrc.value = getImageUrl(resImage.value)\n }\n return\n }\n if (newImageId) {\n try {\n resImage.value = await imageApi.fetchImage(imageClient, newImageId)\n } catch (error) {\n showErrorsDefault(error)\n }\n if (resImage.value) {\n resolvedSrc.value = getImageUrl(resImage.value)\n }\n }\n },\n { immediate: true }\n)\n</script>\n\n<template>\n <div\n v-if=\"label\"\n class=\"label-container\"\n >\n <h4 class=\"font-weight-bold text-label-large\">\n {{ label }}\n </h4>\n </div>\n <img\n v-if=\"useHtmlImg\"\n alt=\"\"\n :src=\"resolvedSrc\"\n :width=\"width\"\n :height=\"height\"\n :class=\"widgetClass\"\n />\n <VImg\n v-else\n :lazy-src=\"imagePlaceholderPath\"\n :src=\"resolvedSrc\"\n :width=\"width\"\n :height=\"height\"\n cover\n loading=\"lazy\"\n max-width=\"100%\"\n class=\"disable-radius\"\n :class=\"widgetClass\"\n :aspect-ratio=\"disableAspectRatio ? undefined : aspectRatio\"\n >\n <template #error>\n <div class=\"d-flex align-center justify-center h-100\">\n <VIcon icon=\"mdi-alert-circle-outline\" />\n </div>\n </template>\n <template #placeholder>\n <div class=\"d-flex align-center justify-center h-100\">\n <VProgressCircular\n indeterminate\n color=\"grey-lighten-4\"\n />\n </div>\n </template>\n </VImg>\n <div\n v-if=\"resImage && (showDescription || showSource)\"\n class=\"pa-2\"\n >\n <VRow\n v-if=\"showDescription\"\n density=\"compact\"\n >\n <VCol>\n <span class=\"text-body-small text-medium-emphasis\">\n {{ t('common.damImage.image.model.texts.description') }}:\n </span>\n <br />{{ resImage.texts.description }}\n </VCol>\n </VRow>\n <VRow\n v-if=\"showSource\"\n density=\"compact\"\n >\n <VCol>\n <span class=\"text-body-small text-medium-emphasis\">{{ sourceLabel }}:</span>\n <br />{{ resImage.texts.source }}\n </VCol>\n </VRow>\n </div>\n <slot\n name=\"append\"\n :image=\"resImage\"\n />\n</template>\n\n<style lang=\"scss\" scoped>\n:deep(.v-img.disable-radius .v-img__img) {\n border-radius: 0;\n}\n\n.label-container {\n display: flex;\n height: 32px;\n align-items: center;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AMediaWidgetSimple.js","names":["
|
|
1
|
+
{"version":3,"file":"AMediaWidgetSimple.js","names":["AMediaWidgetSimple_vue_vue_type_script_setup_true_lang_default","_plugin_vue_export_helper_default","AMediaWidgetSimple_default"],"sources":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AMediaWidgetSimple.vue_vue_type_script_setup_true_lang.js","names":["imagePlaceholderPath","_openBlock","_createElementBlock","
|
|
1
|
+
{"version":3,"file":"AMediaWidgetSimple.vue_vue_type_script_setup_true_lang.js","names":["imagePlaceholderPath","_openBlock","_createElementBlock","_createElementVNode","_toDisplayString","_normalizeClass","_withModifiers","_createBlock","_component_VImg","_unref","_withCtx","_createVNode","_component_VIcon","_component_VProgressCircular","_renderSlot","MediaWidgetSimpleDialog","placeholder16x9_default","MediaWidgetSimpleDialog_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","AMediaWidgetSimple_vue_vue_type_script_setup_true_lang_default","props","__props","damConfigName","useDamConfigName","imageOptions","useCommonAdminImageOptions","useImageActions","resMedia","ref","resolvedSrc","dialog","getImageUrl","isNull","media","isNumber","damImageIdToDamImageUrl","onDetailClick","onDialogClose","type","computed","DamMediaType","DamAssetType","watch","newMedia","cloneDeep","openBlock","createElementBlock","Fragment","createElementVNode","toDisplayString","createCommentVNode","normalizeClass","withModifiers","createBlock","VImg","unref","withCtx","createVNode","VIcon","VProgressCircular","renderSlot","_ctx","_cache","$event","appendMedia"],"sources":["../../../../../src/domains/dam/imageWidget/components/AMediaWidgetSimple.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, ref, watch } from 'vue'\nimport imagePlaceholderPath from '@/assets/image/placeholder16x9.svg'\nimport { cloneDeep, isNull, isNumber } from '@/shared/utils/common'\nimport { useCommonAdminImageOptions } from '@/domains/dam/imageWidget/composables/commonAdminImageOptions'\nimport { useImageActions } from '@/domains/dam/imageWidget/composables/imageActions'\nimport { DamMediaType, type MediaAware } from '@/domains/dam/types/MediaAware'\nimport { DamAssetType, type DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport MediaWidgetSimpleDialog from '@/domains/dam/imageWidget/components/MediaWidgetSimpleDialog.vue'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n media?: MediaAware | null | undefined // optional, render media instead of image\n configName?: string\n label?: string | undefined\n width?: number | undefined\n height?: undefined | number\n disableAspectRatio?: boolean\n aspectRatio?: number | string\n showDescription?: boolean\n showSource?: boolean\n damWidth?: undefined | number\n damHeight?: undefined | number\n useHtmlImg?: boolean\n widgetClass?: string | undefined\n }>(),\n {\n configName: undefined,\n label: undefined,\n media: undefined,\n width: undefined,\n height: undefined,\n disableAspectRatio: false,\n aspectRatio: 1.777, // 16/9\n showDescription: false,\n showSource: false,\n damWidth: undefined,\n damHeight: undefined,\n useHtmlImg: false,\n widgetClass: undefined,\n }\n)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\n\nconst imageOptions = useCommonAdminImageOptions(damConfigName)\nconst { damImageIdToDamImageUrl } = useImageActions(imageOptions)\n\nconst resMedia = ref<null | MediaAware>(null)\nconst resolvedSrc = ref('')\nconst dialog = ref(false)\n\nconst getImageUrl = (media: MediaAware) => {\n if (isNull(media.damMedia.imageFileId)) return imagePlaceholderPath\n if (isNumber(props.damWidth) && isNumber(props.damHeight)) {\n return damImageIdToDamImageUrl(media.damMedia.imageFileId, props.damWidth, props.damHeight)\n }\n return damImageIdToDamImageUrl(media.damMedia.imageFileId)\n}\n\nconst onDetailClick = () => {\n if (resMedia.value?.damMedia.playable) {\n dialog.value = true\n }\n}\n\nconst onDialogClose = () => {\n dialog.value = false\n}\n\nconst type = computed<DamAssetTypeType | null>(() => {\n return resMedia.value?.damMedia.assetType === DamMediaType.Video ? DamAssetType.Video : DamAssetType.Audio\n})\n\nwatch(\n [() => props.media],\n async ([newMedia]) => {\n resMedia.value = null\n resolvedSrc.value = imagePlaceholderPath\n if (newMedia) {\n resMedia.value = cloneDeep(newMedia)\n resolvedSrc.value = getImageUrl(newMedia)\n }\n },\n { immediate: true }\n)\n</script>\n\n<template>\n <div\n v-if=\"label\"\n class=\"label-container\"\n >\n <h4 class=\"font-weight-bold text-label-large\">\n {{ label }}\n </h4>\n </div>\n <div\n class=\"position-relative\"\n :class=\"{ 'cursor-pointer': resMedia?.damMedia.playable }\"\n @click.stop=\"onDetailClick\"\n >\n <img\n v-if=\"useHtmlImg\"\n alt=\"\"\n :src=\"resolvedSrc\"\n :width=\"width\"\n :height=\"height\"\n :class=\"widgetClass\"\n />\n <VImg\n v-else\n :lazy-src=\"imagePlaceholderPath\"\n :src=\"resolvedSrc\"\n :width=\"width\"\n :height=\"height\"\n cover\n max-width=\"100%\"\n class=\"disable-radius\"\n :class=\"widgetClass\"\n :aspect-ratio=\"disableAspectRatio ? undefined : aspectRatio\"\n >\n <template #error>\n <div class=\"d-flex align-center justify-center h-100\">\n <VIcon icon=\"mdi-alert-circle-outline\" />\n </div>\n </template>\n <template #placeholder>\n <div class=\"d-flex align-center justify-center h-100\">\n <VProgressCircular\n indeterminate\n color=\"grey-lighten-4\"\n />\n </div>\n </template>\n </VImg>\n <div\n v-if=\"type\"\n class=\"a-image-widget__icon\"\n >\n <div v-if=\"type === DamAssetType.Audio\">\n <VIcon\n size=\"80\"\n icon=\"mdi-music\"\n color=\"#505050\"\n />\n </div>\n <div v-else-if=\"type === DamAssetType.Video\">\n <VIcon\n size=\"80\"\n icon=\"mdi-video\"\n color=\"#505050\"\n />\n </div>\n </div>\n </div>\n <slot\n name=\"append\"\n :media=\"resMedia\"\n />\n <MediaWidgetSimpleDialog\n v-model=\"dialog\"\n :media=\"resMedia\"\n @close=\"onDialogClose\"\n >\n <template #preview=\"{ media: appendMedia }\">\n <slot\n name=\"preview\"\n :media=\"appendMedia\"\n />\n </template>\n </MediaWidgetSimpleDialog>\n</template>\n\n<style lang=\"scss\" scoped>\n:deep(.v-img.disable-radius .v-img__img) {\n border-radius: 0;\n}\n\n.label-container {\n display: flex;\n height: 32px;\n align-items: center;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageDetailDialogMetadata.js","names":["_sfc_main","ImageDetailDialogMetadata_vue_vue_type_script_setup_true_lang_default","ImageDetailDialogMetadata_default"],"sources":["../../../../../src/domains/dam/imageWidget/components/ImageDetailDialogMetadata.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\nimport { useI18n } from 'vue-i18n'\nimport AImageWidgetSimple from '@/domains/dam/imageWidget/components/AImageWidgetSimple.vue'\nimport AFormTextarea from '@/domains/form/components/AFormTextarea.vue'\nimport { storeToRefs } from 'pinia'\nimport type { DocId } from '@/shared/types/common'\nimport { AImageMetadataValidationScopeSymbol, useImageValidation } from '@/domains/dam/composables/uploadValidations'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport AuthorRemoteAutocompleteWithCached from '@/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport { useAssetDetailStore } from '@/domains/dam/assetDetail/store/assetDetailStore'\nimport { useExtSystemIdForCached } from '@/domains/dam/composables/extSystemIdForCached'\nimport { computed } from 'vue'\nimport { useDisplay } from 'vuetify'\nimport {\n isImageCreateUpdateAware,\n isMediaAware,\n useImageMediaWidgetStore,\n} from '@/domains/dam/imageWidget/store/imageMediaWidgetStore'\nimport { DamAssetType, type DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport type { ImageCreateUpdateAware } from '@/domains/dam/types/ImageAware'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport DamAdminAssetLink from '@/domains/dam/components/DamAdminAssetLink.vue'\nimport { isArray, isNull } from '@/shared/utils/common'\nimport { DamMediaType } from '@/domains/dam/types/MediaAware'\nimport { createDamImage } from '@/domains/dam/imageWidget/utils/damImage'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: boolean\n saving: boolean\n loading: boolean\n expand?: boolean\n /** Offers DAM authors instead of the source. They are the authors of the asset the widget holds for the image. */\n showDamAuthors?: boolean\n /** Authors picked so far, used while `showDamAuthors` is on. */\n damAuthors?: DocId[]\n showSourceEnabled?: boolean\n sourceLabel?: string\n editAssetLabel?: string\n /** Asset type the dialog is opened for, known before loading. Used for the title. */\n type?: DamAssetTypeType\n }>(),\n {\n expand: false,\n showDamAuthors: false,\n damAuthors: () => [],\n showSourceEnabled: true,\n sourceLabel: undefined,\n editAssetLabel: undefined,\n type: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'editAsset', data: DocId): void\n (e: 'update:damAuthors', data: DocId[]): void\n (e: 'confirm'): void\n (e: 'close'): void\n}>()\n\nconst { t } = useI18n()\nconst { mdAndDown } = useDisplay()\nconst imageMediaWidgetStore = useImageMediaWidgetStore()\nconst { detail } = storeToRefs(imageMediaWidgetStore)\nconst assetDetailStore = useAssetDetailStore()\nconst { authorConflicts } = storeToRefs(assetDetailStore)\nconst damConfigName = useDamConfigName()\nconst { cachedExtSystemId } = useExtSystemIdForCached(damConfigName)\n\nconst detailType = computed<DamAssetTypeType | null>(() => {\n if (isMediaAware(detail.value)) {\n return detail.value.damMedia.assetType === DamMediaType.Video ? DamAssetType.Video : DamAssetType.Audio\n } else if (isImageCreateUpdateAware(detail.value)) {\n return DamAssetType.Image\n }\n return null\n})\n// The title must stay the same while loading, waiting and saving.\n// The detail is empty until loaded, so taking the type from it showed \"edit medium\" while an image loaded.\nconst titleType = computed(() => props.type ?? detailType.value)\n\nconst imageSourceRequired = computed(() => {\n return !props.showDamAuthors\n})\n\nconst imageMedia = computed<ImageCreateUpdateAware | undefined>(() => {\n if (!isMediaAware(detail.value) || isNull(detail.value.damMedia.imageFileId)) return undefined\n\n return createDamImage(\n { fileId: detail.value.damMedia.imageFileId, licenceId: detail.value.damMedia.licenceId! },\n {},\n { showSource: false }\n )\n})\n\nconst { v$ } = useImageValidation(detail, imageSourceRequired, damConfigName)\n\nconst { showValidationError } = useAlerts()\n\nconst onConfirm = () => {\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return\n }\n emit('confirm')\n}\n\nconst onDialogModelUpdate = (newValue: boolean) => {\n if (newValue) return\n emit('close')\n}\n\nconst onEditAsset = () => {\n if (!isImageCreateUpdateAware(detail.value)) return\n emit('editAsset', detail.value.dam.damId)\n}\n\nconst onDamAuthorsUpdate = (authors: DocId | null | DocId[]) => {\n emit('update:damAuthors', isArray(authors) ? authors : [])\n}\n\ndefineExpose({\n confirm: onConfirm,\n})\n</script>\n\n<template>\n <div v-if=\"expand\">\n <VRow v-if=\"loading\">\n <VCol>\n <div class=\"d-flex align-center justify-center\">\n <VProgressCircular indeterminate />\n </div>\n </VCol>\n </VRow>\n <template v-if=\"isImageCreateUpdateAware(detail)\">\n <VRow>\n <VCol>\n <VBtn @click.stop=\"onEditAsset\">\n {{ editAssetLabel }}\n </VBtn>\n </VCol>\n </VRow>\n <VRow>\n <VCol>\n <AFormTextarea\n v-model=\"detail.texts.description\"\n :label=\"t('common.damImage.image.model.texts.description')\"\n :help=\"t('common.damImage.image.help.texts.description')\"\n :v=\"v$.image?.texts.description\"\n />\n </VCol>\n </VRow>\n <VRow v-if=\"showDamAuthors\">\n <VCol>\n <ASystemEntityScope\n subject=\"author\"\n system=\"dam\"\n >\n <AuthorRemoteAutocompleteWithCached\n :model-value=\"damAuthors\"\n :ext-system=\"cachedExtSystemId\"\n :label=\"t('common.damImage.asset.model.authors')\"\n :author-conflicts=\"authorConflicts\"\n data-cy=\"custom-field-authors\"\n clearable\n multiple\n :validation-scope=\"AImageMetadataValidationScopeSymbol\"\n @update:model-value=\"onDamAuthorsUpdate\"\n />\n </ASystemEntityScope>\n </VCol>\n </VRow>\n <VRow v-else>\n <VCol>\n <AFormTextarea\n v-model=\"detail.texts.source\"\n :label=\"sourceLabel\"\n :v=\"v$.image?.texts.source\"\n />\n </VCol>\n </VRow>\n <VRow v-if=\"showSourceEnabled\">\n <VCol>\n <VSwitch\n v-model=\"detail.flags.showSource\"\n :label=\"t('common.damImage.image.model.flags.showSource')\"\n density=\"compact\"\n hide-details\n />\n </VCol>\n </VRow>\n </template>\n <template v-else-if=\"isMediaAware(detail)\">\n <div>\n {{ detail.damMedia }}\n </div>\n </template>\n </div>\n <VDialog\n v-else\n :model-value=\"modelValue\"\n :max-width=\"500\"\n :fullscreen=\"mdAndDown\"\n eager\n @update:model-value=\"onDialogModelUpdate\"\n >\n <VCard v-if=\"modelValue\">\n <ADialogToolbar @cancel=\"onDialogModelUpdate(false)\">\n {{\n titleType === DamAssetType.Image ? t('common.damImage.image.meta.edit') : t('common.damImage.media.meta.edit')\n }}\n </ADialogToolbar>\n <VCardText>\n <div\n v-if=\"loading\"\n class=\"d-flex align-center justify-center\"\n >\n <VProgressCircular indeterminate />\n </div>\n <div\n v-else-if=\"isImageCreateUpdateAware(detail)\"\n class=\"position-relative\"\n >\n <div class=\"my-4\">\n <AImageWidgetSimple\n :model-value=\"detail.id\"\n :image=\"detail\"\n />\n </div>\n <VRow>\n <VCol>\n <VBtn @click.stop=\"onEditAsset\">\n {{ editAssetLabel }}\n </VBtn>\n </VCol>\n </VRow>\n <VRow>\n <VCol>\n <AFormTextarea\n v-model=\"detail.texts.description\"\n :label=\"t('common.damImage.image.model.texts.description')\"\n :help=\"t('common.damImage.image.help.texts.description')\"\n :v=\"v$.image?.texts.description\"\n />\n </VCol>\n </VRow>\n <VRow v-if=\"showDamAuthors\">\n <VCol>\n <ASystemEntityScope\n subject=\"author\"\n system=\"dam\"\n >\n <AuthorRemoteAutocompleteWithCached\n :model-value=\"damAuthors\"\n :ext-system=\"cachedExtSystemId\"\n :label=\"t('common.damImage.asset.model.authors')\"\n :author-conflicts=\"authorConflicts\"\n data-cy=\"custom-field-authors\"\n clearable\n multiple\n :validation-scope=\"AImageMetadataValidationScopeSymbol\"\n @update:model-value=\"onDamAuthorsUpdate\"\n />\n </ASystemEntityScope>\n </VCol>\n </VRow>\n <VRow v-else>\n <VCol>\n <AFormTextarea\n v-model=\"detail.texts.source\"\n :label=\"sourceLabel\"\n :v=\"v$.image?.texts.source\"\n />\n </VCol>\n </VRow>\n <VRow v-if=\"showSourceEnabled\">\n <VCol>\n <VSwitch\n v-model=\"detail.flags.showSource\"\n :label=\"t('common.damImage.image.model.flags.showSource')\"\n density=\"compact\"\n hide-details\n />\n </VCol>\n </VRow>\n </div>\n <div\n v-else-if=\"isMediaAware(detail)\"\n class=\"position-relative\"\n >\n <div class=\"my-4\">\n <h4 class=\"font-weight-bold text-label-large\">{{ t('common.damImage.media.meta.preview') }}:</h4>\n <slot\n name=\"preview\"\n :image-media=\"detail\"\n />\n <AImageWidgetSimple\n v-if=\"!detail.damMedia.playable\"\n :model-value=\"null\"\n :image=\"imageMedia\"\n />\n </div>\n <VRow>\n <VCol>\n <DamAdminAssetLink :asset-id=\"detail.damMedia.assetId\" />\n </VCol>\n </VRow>\n <div\n v-if=\"!detail.damMedia.playable\"\n class=\"my-2 text-warning text-body-small\"\n >\n <VIcon\n icon=\"mdi-movie-off-outline\"\n class=\"mr-1\"\n size=\"small\"\n />{{ t('common.damImage.media.meta.notPlayable') }}\n </div>\n <ARow :title=\"t('common.damImage.media.model.damMedia.title')\">\n {{ detail.damMedia.title }}\n </ARow>\n <ARow :title=\"t('common.damImage.media.model.damMedia.authorNames')\">\n {{ detail.damMedia.authorNames.join(', ') }}\n </ARow>\n <template v-if=\"detail.damMedia.assetType === 'audio'\">\n <ARow :title=\"t('common.damImage.media.model.damMedia.seriesName')\">\n {{ detail.damMedia.seriesName }}\n </ARow>\n <ARow :title=\"t('common.damImage.media.model.damMedia.episodeName')\">\n {{ detail.damMedia.episodeName }}\n </ARow>\n <ARow :title=\"t('common.damImage.media.model.damMedia.episodeNumber')\">\n {{ detail.damMedia.episodeNumber }}\n </ARow>\n </template>\n <ARow :title=\"t('common.damImage.media.model.damMedia.assetId')\">\n {{ detail.damMedia.assetId }}\n </ARow>\n <ARow :title=\"t('common.damImage.media.model.damMedia.licenceId')\">\n {{ detail.damMedia.licenceId }}\n </ARow>\n </div>\n </VCardText>\n <VCardActions>\n <VSpacer />\n <ABtnPrimary\n :loading=\"saving\"\n :disabled=\"loading\"\n @click.stop=\"onConfirm\"\n >\n {{ t('common.button.confirm') }}\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n</template>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"ImageDetailDialogMetadata.js","names":["ImageDetailDialogMetadata_vue_vue_type_script_setup_true_lang_default","ImageDetailDialogMetadata_default"],"sources":[],"mappings":""}
|