@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
package/dist/domains/cached/components/ACachedUserChip.vue_vue_type_script_setup_true_lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ACachedUserChip.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_unref","_createBlock","_component_VChip","_withCtx","_createTextVNode","_toDisplayString","_createVNode","_component_VTooltip","_normalizeClass","_withModifiers","AAnzuUserAvatar","
|
|
1
|
+
{"version":3,"file":"ACachedUserChip.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_unref","_createBlock","_component_VChip","_withCtx","_createTextVNode","_toDisplayString","_createVNode","_component_VTooltip","_normalizeClass","_withModifiers","AAnzuUserAvatar","_component_VProgressCircular","AAnzuUserAvatar_default","_hoisted_1","_hoisted_2","ACachedUserChip_vue_vue_type_script_setup_true_lang_default","props","__props","useI18n","router","useRouter","useCachedItem","text","computed","user","cached","clickable","unresolved","appendIcon","COMMON_CONFIG","onClick","replaceUrlParameters","openBlock","createElementBlock","unref","createBlock","VChip","withCtx","createTextVNode","toDisplayString","createVNode","VTooltip","t","normalizeClass","withModifiers","loaded","createCommentVNode","VProgressCircular"],"sources":["../../../../src/domains/cached/components/ACachedUserChip.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { IntegerIdNullable } from '@/shared/types/common'\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport { useRouter } from 'vue-router'\nimport type { AnzuUserMinimal } from '@/shared/types/AnzuUser'\nimport type { CachedItem } from '@/domains/cached/composables/defineCached'\nimport { COMMON_CONFIG } from '@/shared/commonConfig'\nimport AAnzuUserAvatar from '@/domains/ui/components/AAnzuUserAvatar.vue'\nimport { replaceUrlParameters } from '@/domains/api/utils/apiHelper'\nimport { useCachedItem } from '@/domains/cached/composables/useCachedItem'\n\nconst props = withDefaults(\n defineProps<{\n id: IntegerIdNullable | undefined\n /** The admin's cache getter, e.g. `getCachedUser` of its `useCachedUsers()`. */\n getCachedFn: (id: IntegerIdNullable | undefined) => CachedItem<AnzuUserMinimal> | undefined\n routeName?: string | undefined\n externalUrlTemplate?: string | undefined\n /**\n * Label for caches whose users carry a better one than `person.fullName`, such as a nickname.\n * `any` because it reads the admin's own user type, which `AnzuUserMinimal` does not describe.\n */\n titleFn?: ((user: CachedItem<any>) => string) | undefined\n disableClick?: boolean\n /** Label of the close button when Vuetify defaults make the chip closable. Defaults to \"Remove\". */\n closeLabel?: string\n }>(),\n {\n routeName: undefined,\n externalUrlTemplate: undefined,\n titleFn: undefined,\n disableClick: false,\n closeLabel: 'common.button.remove',\n }\n)\n\nconst { t } = useI18n()\nconst router = useRouter()\n// 0 counts as no id, as in `defineCached`. A blank factory record carries it.\nconst { cached, loaded, unresolved } = useCachedItem(() => (props.id ? props.getCachedFn(props.id) : undefined))\n\n// Optional chaining on purpose. Each admin maps its own users into the cache.\n// A mapper that omits the name or e-mail falls through to the next label instead of throwing.\nconst text = computed(() => {\n const user = cached.value\n if (!user) return ''\n const title = props.titleFn ? props.titleFn(user) : ''\n if (title) return title\n if (user.person?.fullName) return user.person.fullName\n if (user.email) return user.email.split('@')[0]\n return '#' + props.id\n})\n\nconst clickable = computed(\n () => !props.disableClick && !unresolved.value && !!(props.externalUrlTemplate || props.routeName)\n)\n\nconst appendIcon = computed(() => {\n if (!clickable.value) return undefined\n return props.externalUrlTemplate ? COMMON_CONFIG.CHIP.ICON.LINK_EXTERNAL : COMMON_CONFIG.CHIP.ICON.LINK\n})\n\nconst onClick = () => {\n if (!clickable.value || !props.id) return\n if (props.externalUrlTemplate) {\n window.open(replaceUrlParameters(props.externalUrlTemplate, { id: props.id }), '_blank')\n return\n }\n if (props.routeName) router.push({ name: props.routeName, params: { id: props.id } })\n}\n</script>\n\n<template>\n <div class=\"d-inline-flex\">\n <span v-if=\"!id\">-</span>\n <VChip\n v-else-if=\"unresolved\"\n class=\"non-clickable\"\n size=\"small\"\n :close-label=\"closeLabel\"\n data-cy=\"cached-user-chip-unresolved\"\n >\n #{{ id }}\n <VTooltip\n activator=\"parent\"\n location=\"bottom\"\n >\n {{ t('common.model.tracking.userUnavailable') }}\n </VTooltip>\n </VChip>\n <VChip\n v-else\n class=\"pl-1\"\n :class=\"clickable ? '' : 'non-clickable'\"\n size=\"small\"\n :append-icon=\"appendIcon\"\n :close-label=\"closeLabel\"\n @click.stop=\"onClick\"\n >\n <AAnzuUserAvatar\n v-if=\"loaded\"\n :user=\"cached\"\n container-class=\"mr-1\"\n :size=\"20\"\n />\n {{ text }}\n <VProgressCircular\n v-if=\"!loaded\"\n :size=\"12\"\n :width=\"2\"\n indeterminate\n class=\"ml-1\"\n />\n </VChip>\n </div>\n</template>\n\n<style lang=\"scss\" scoped>\n.non-clickable {\n cursor: default;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYA,IAAMkB,IAAQC,GAyBR,EAAE,SAAMC,EAAQ,GAChBC,IAASC,EAAU,GAEnB,EAAE,WAAQ,WAAQ,kBAAeC,QAAqBL,EAAM,KAAKA,EAAM,YAAYA,EAAM,EAAE,IAAI,KAAA,CAAU,GAIzGM,IAAOC,QAAe;GAC1B,IAAMC,IAAOC,EAAO;GAMpB,OALKD,KACSR,EAAM,UAAUA,EAAM,QAAQQ,CAAI,IAAI,QAEhDA,EAAK,QAAQ,WAAiBA,EAAK,OAAO,WAC1CA,EAAK,QAAcA,EAAK,MAAM,MAAM,GAAG,CAAC,CAAC,KACtC,MAAMR,EAAM,MALD;EAMpB,CAAC,GAEKU,IAAYH,QACV,CAACP,EAAM,gBAAgB,CAACW,EAAW,SAAS,CAAC,EAAEX,EAAM,uBAAuBA,EAAM,UAC1F,GAEMY,IAAaL,QAAe;GAChC,IAAKG,EAAU,OACf,OAAOV,EAAM,sBAAsBa,EAAc,KAAK,KAAK,gBAAgBA,EAAc,KAAK,KAAK;EACrG,CAAC,GAEKC,UAAgB;GACpB,AAAKJ,EAAU,SAAUV,EAAM,OAC3BA,EAAM,sBACR,OAAO,KAAKe,EAAqBf,EAAM,qBAAqB,EAAE,IAAIA,EAAM,GAAG,CAAC,GAAG,QAAQ,IAGrFA,EAAM,aAAWG,EAAO,KAAK;IAAE,MAAMH,EAAM;IAAW,QAAQ,EAAE,IAAIA,EAAM,GAAG;GAAE,CAAC;EACtF;E,kBAIElB,EAAA,GAAAC,EAyCM,OAzCNc,GAyCM,CAxCSI,EAAA,KAEAjB,EAAA2B,CAAA,KADb7B,EAAA,GAAAG,EAcQC,GAAA;;GAZN,OAAM;GACN,MAAK;GACJ,eAAae,EAAA;GACd,WAAQ;;GACT,SAAAd,QACE,CADFC,EAAA,OACEC,EAAGY,EAAA,EAAE,IAAG,KACT,CAAA,GAAAX,EAKWC,GAAA;IAJT,WAAU;IACV,UAAS;;IAET,SAAAJ,QAAgD,CAA7CC,EAAAC,EAAAL,EAAA0C,CAAA,CAAC,CAAA,uCAAA,CAAA,GAAA,CAAA,C;;;;E,2BAGR5C,EAAA,GAAAG,EAuBQC,GAAA;;GArBN,OAAKM,EAAA,CAAC,QACEkB,EAAA,QAAS,KAAA,eAAA,CAAA;GACjB,MAAK;GACJ,eAAaE,EAAA;GACb,eAAaX,EAAA;GACb,SAAKR,EAAOqB,GAAO,CAAA,MAAA,CAAA;;GAEpB,SAAA3B,QAKE;IAJMH,EAAA6C,CAAA,KADR/C,EAAA,GAAAG,EAKES,GAAA;;KAHC,MAAMV,EAAAyB,CAAA;KACP,mBAAgB;KACf,MAAM;;IACPrB,EAAA,MACFC,EAAGiB,EAAA,KAAI,IAAG,KACV,CAAA;IACStB,EAAA6C,CAAA,I,aADT/C,EAAA,GAAAG,EAMEU,GAAA;;KAJC,MAAM;KACN,OAAO;KACR,eAAA;KACA,OAAM;;;;;;;;E,OArCVb,EAAA,GAAAC,EAAyB,QAAAe,GAAR,GAAC,E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ACollabCountdown.js","names":["
|
|
1
|
+
{"version":3,"file":"ACollabCountdown.js","names":["ACollabCountdown_vue_vue_type_script_setup_true_lang_default","ACollabCountdown_default"],"sources":[],"mappings":""}
|
package/dist/domains/collab/components/ACollabCountdown.vue_vue_type_script_setup_true_lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ACollabCountdown.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","
|
|
1
|
+
{"version":3,"file":"ACollabCountdown.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_toDisplayString","_createElementVNode","_hoisted_1","_hoisted_2","_hoisted_3","ACollabCountdown_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","countdown","ref","countdownTimer","watch","newValue","onMounted","onUnmounted","openBlock","createElementBlock","createCommentVNode","toDisplayString","createElementVNode"],"sources":["../../../../src/domains/collab/components/ACollabCountdown.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, type Ref, ref, watch } from 'vue'\n\nconst props = withDefaults(\n defineProps<{\n label?: string\n seconds?: number\n parentheses?: boolean\n }>(),\n {\n label: '',\n seconds: 60,\n parentheses: false,\n }\n)\nconst emit = defineEmits<{\n (e: 'done'): void\n}>()\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst countdown = ref(props.seconds)\nconst countdownTimer: Ref<ReturnType<typeof setTimeout> | undefined> = ref(undefined)\n\nwatch(\n countdown,\n (newValue) => {\n if (newValue > 0) {\n countdownTimer.value = setTimeout(() => countdown.value--, 1000)\n } else {\n emit('done')\n }\n },\n { immediate: true }\n)\n\nonMounted(() => {\n countdown.value = props.seconds\n})\n\nonUnmounted(() => {\n clearTimeout(countdownTimer.value)\n countdownTimer.value = undefined\n})\n</script>\n\n<template>\n <span>\n <span v-if=\"parentheses\">(</span>\n <span\n v-if=\"label\"\n class=\"font-weight-bold mr-1\"\n >{{ label }}\n </span>\n <span>{{ countdown }}</span>\n <span v-if=\"parentheses\">)</span>\n </span>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;EAGA,IAAMS,IAAQC,GAYRC,IAAOH,GAKPI,IAAYC,EAAIJ,EAAM,OAAO,GAC7BK,IAAiED,EAAI,KAAA,CAAS;E,OAEpFE,EACEH,IACC,MAAa;GACZ,AAAII,IAAW,IACb,EAAe,QAAQ,iBAAiB,EAAU,SAAS,GAAI,IAE/DL,EAAK,MAAM;EAEf,GACA,EAAE,WAAW,GAAK,CACpB,GAEAM,QAAgB;GACd,EAAU,QAAQR,EAAM;EAC1B,CAAC,GAEDS,QAAkB;GAEhB,AADA,aAAaJ,EAAe,KAAK,GACjC,EAAe,QAAQ,KAAA;EACzB,CAAC,I,UAICd,EAAA,GAAAC,EASO,QAAA,MAAA;GAROS,EAAA,eAAZV,EAAA,GAAAC,EAAiC,QAAAG,GAAR,GAAC,K;GAElBM,EAAA,SADRV,EAAA,GAAAC,EAIO,QAJPI,GAIOH,EADDQ,EAAA,KAAK,GAAA,CAAA,K;GAEXP,EAA4B,QAAA,MAAAD,EAAnBU,EAAA,KAAS,GAAA,CAAA;GACNF,EAAA,eAAZV,EAAA,GAAAC,EAAiC,QAAAK,GAAR,GAAC,K"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ACollabLockedByUser.js","names":["
|
|
1
|
+
{"version":3,"file":"ACollabLockedByUser.js","names":["ACollabLockedByUser_vue_vue_type_script_setup_true_lang_default","ACollabLockedByUser_default"],"sources":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ACollabManagement.js","names":["_sfc_main","ACollabManagement_vue_vue_type_script_setup_true_lang_default","ACollabManagement_default"],"sources":["../../../../src/domains/collab/components/ACollabManagement.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n type CollabDelayedRequest,\n CollabRequestToJoinStatus,\n CollabRequestToTakeModerationStatus,\n type CollabRoom,\n CollabStatus,\n type CollabUserId,\n} from '@/domains/collab/types/Collab'\nimport { useI18n } from 'vue-i18n'\nimport { computed, type Ref, ref } from 'vue'\nimport ACollabCountdown from '@/domains/collab/components/ACollabCountdown.vue'\nimport { useCollabRoom } from '@/domains/collab/composables/collabRoom'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useCollabCurrentUserId } from '@/domains/collab/composables/collabCurrentUserId'\nimport type { AddToCachedArgs } from '@/domains/cached/composables/defineCached'\nimport type { IntegerId } from '@/shared/types/common'\nimport { isDefined } from '@/shared/utils/common'\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\nimport ACollabLockedByUser from '@/domains/collab/components/ACollabLockedByUser.vue'\nimport type { CollabCachedUsersMap } from '@/domains/collab/composables/collabHelpers'\n\nconst props = withDefaults(\n defineProps<{\n collabRoom: CollabRoom\n cachedUsers: CollabCachedUsersMap | Ref<CollabCachedUsersMap>\n isEdit?: boolean\n isAllowedToPurgeRoom?: boolean\n approveRequestBlocked?: boolean\n addToCachedUsers?: ((...args: AddToCachedArgs<IntegerId>) => void) | undefined\n fetchCachedUsers?: (() => unknown) | undefined\n }>(),\n {\n isEdit: false,\n isAllowedToPurgeRoom: false,\n approveRequestBlocked: false,\n addToCachedUsers: undefined,\n fetchCachedUsers: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'approvedRequestToJoinCollabRoom'): void\n}>()\n\nconst {\n collabRoomInfo,\n addJoinRequestListener,\n requestToJoinCollabRoom,\n approveRequestToJoinCollabRoom,\n rejectRequestToJoinCollabRoom,\n addApprovedJoinRequestListener,\n addRejectedJoinRequestListener,\n requestToTakeModeration,\n approveRequestToTakeModeration,\n rejectRequestToTakeModeration,\n addRequestToTakeModerationListener,\n addApprovedRequestToTakeModerationListener,\n addRejectedRequestToTakeModerationListener,\n kickUserFromRoom,\n purgeRoom,\n transferModeration,\n alertedOccupiedRooms,\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n} = useCollabRoom(props.collabRoom)\n\nconst { t } = useI18n()\nconst { showErrorT, showSuccessT } = useAlerts()\n\nconst { currentUserId } = useCollabCurrentUserId()\n\nconst approveRequestsToCollab = ref<CollabDelayedRequest[]>([])\nconst selectedIdsToCollab = ref<CollabUserId[]>([])\nconst collabUserIds = computed<CollabUserId[]>(() => {\n return collabRoomInfo.value.users.filter((userId) => userId !== currentUserId.value)\n})\nconst moderatorManagementDialog = ref(false)\nconst approveRequestTakeModerationDialog = ref(false)\nconst moderationRequest = ref<null | CollabDelayedRequest>(null)\nconst requestToJoinAccepted = ref<boolean | null>(null)\nconst waitingFroApproval = ref(false)\n\naddJoinRequestListener(async (userId: CollabUserId, timestamp: number) => {\n if (isDefined(props.addToCachedUsers)) props.addToCachedUsers(userId)\n if (isDefined(props.fetchCachedUsers)) props.fetchCachedUsers()\n if (!selectedIdsToCollab.value.includes(userId)) selectedIdsToCollab.value.push(userId)\n approveRequestsToCollab.value.push({ userId, timestamp })\n})\n\naddApprovedJoinRequestListener(() => {\n showSuccessT('common.collab.alert.approvedJoinRequest')\n waitingFroApproval.value = false\n requestToJoinAccepted.value = true\n alertedOccupiedRooms.value.delete(props.collabRoom)\n})\n\naddRejectedJoinRequestListener(() => {\n showErrorT('common.collab.alert.rejectedJoinRequest')\n waitingFroApproval.value = false\n requestToJoinAccepted.value = false\n alertedOccupiedRooms.value.delete(props.collabRoom)\n})\n\naddRequestToTakeModerationListener(async (userId: number, timestamp: number) => {\n if (isDefined(props.addToCachedUsers)) props.addToCachedUsers(userId)\n if (isDefined(props.fetchCachedUsers)) props.fetchCachedUsers()\n moderationRequest.value = { userId, timestamp }\n approveRequestTakeModerationDialog.value = true\n})\n\naddApprovedRequestToTakeModerationListener(() => {\n showSuccessT('common.collab.alert.approvedToTakeModeration')\n waitingFroApproval.value = false\n})\n\naddRejectedRequestToTakeModerationListener(() => {\n showErrorT('common.collab.alert.rejectedToTakeModeration')\n waitingFroApproval.value = false\n})\n\nconst waitingForApprovalTimerDone = () => {\n waitingFroApproval.value = false\n}\n\nconst showRequestToJoinCollabButton = computed(() => {\n return (\n requestToJoinAccepted.value === null &&\n collabRoomInfo.value.users.length &&\n !collabRoomInfo.value.users.includes(currentUserId.value ?? 0) &&\n !waitingFroApproval.value\n )\n})\n\nconst showRequestToTakeModerationButton = computed(() => {\n return (\n props.isEdit &&\n collabRoomInfo.value.status === CollabStatus.Active &&\n collabRoomInfo.value.moderator !== currentUserId.value\n )\n})\n\nconst showModeratorManagementDialog = computed(() => {\n return moderatorManagementDialog.value && collabRoomInfo.value.status === CollabStatus.Active\n})\n\nconst showKickYourselfButton = computed(() => {\n return props.isEdit && collabRoomInfo.value.status === CollabStatus.Active\n})\n\nconst showModeratorManagementButton = computed(() => {\n return (\n props.isEdit &&\n collabRoomInfo.value.moderator === currentUserId.value &&\n collabRoomInfo.value.status === CollabStatus.Active\n )\n})\n\nconst showJoinCollaborationDialog = computed(() => {\n return !props.isEdit && alertedOccupiedRooms.value.has(props.collabRoom) && requestToJoinAccepted.value === null\n})\n\nconst collabUsers = computed(() => {\n return collabRoomInfo.value.users.filter((user) => user !== collabRoomInfo.value.moderator)\n})\n\nconst requestToJoinCollabTimerDone = (userId: number) => {\n approveRequestsToCollab.value = approveRequestsToCollab.value.filter((request) => request.userId !== userId)\n selectedIdsToCollab.value = selectedIdsToCollab.value.filter((id) => id !== userId)\n}\n\nconst requestToJoinCollabRoomAction = async () => {\n try {\n await requestToJoinCollabRoom()\n waitingFroApproval.value = true\n } catch (error) {\n if (error === CollabRequestToJoinStatus.AlreadyRequested) {\n return void showErrorT('common.collab.alert.alreadyRequestedToJoin')\n }\n return void showErrorT('common.collab.alert.failedRequestedToJoin')\n }\n}\n\nconst showModeratorManagementDialogAction = () => {\n moderatorManagementDialog.value = true\n}\n\nconst requestToTakeModerationAction = async () => {\n try {\n await requestToTakeModeration()\n waitingFroApproval.value = true\n } catch (error) {\n if (error === CollabRequestToTakeModerationStatus.AlreadyRequested) {\n return void showErrorT('common.collab.alert.alreadyRequestedToTakeModeration')\n }\n return void showErrorT('common.collab.alert.failedRequestToTakeModeration')\n }\n}\n\nconst approveRequestToCollaborate = () => {\n selectedIdsToCollab.value.forEach((selectedId) => {\n approveRequestToJoinCollabRoom(selectedId)\n })\n approveRequestsToCollab.value = approveRequestsToCollab.value.filter(\n (request) => !selectedIdsToCollab.value.includes(request.userId)\n )\n selectedIdsToCollab.value = []\n emit('approvedRequestToJoinCollabRoom')\n}\n\nconst rejectRequestToCollaborate = () => {\n selectedIdsToCollab.value.forEach((selectedId) => {\n rejectRequestToJoinCollabRoom(selectedId)\n })\n approveRequestsToCollab.value = approveRequestsToCollab.value.filter(\n (request) => !selectedIdsToCollab.value.includes(request.userId)\n )\n selectedIdsToCollab.value = []\n}\n\nconst resetRequestToTakeModeration = () => {\n moderationRequest.value = null\n approveRequestTakeModerationDialog.value = false\n}\n\nconst rejectRequestToTakeModerationAction = () => {\n rejectRequestToTakeModeration()\n resetRequestToTakeModeration()\n}\n\nconst approveRequestToTakeModerationAction = () => {\n approveRequestToTakeModeration()\n resetRequestToTakeModeration()\n}\n\nconst transferModerationAction = (userId: CollabUserId) => {\n transferModeration(userId)\n moderatorManagementDialog.value = false\n}\n\nconst kickUserAction = (userId: CollabUserId) => {\n kickUserFromRoom(userId)\n moderatorManagementDialog.value = false\n}\n\nconst purgeRoomAction = () => {\n purgeRoom()\n}\n\nconst kickYourselfAction = () => {\n kickUserFromRoom(currentUserId.value ?? 0)\n}\n\nconst calculateWaitingSeconds = (timestamp: number) => {\n return Math.ceil((60000 - (new Date().getTime() - timestamp)) / 1000)\n}\n</script>\n\n<template>\n <div>\n <ACollabLockedByUser\n v-if=\"collabRoomInfo.moderator\"\n :id=\"collabRoomInfo.moderator\"\n :key=\"collabRoomInfo.moderator\"\n :users=\"cachedUsers\"\n is-moderator\n />\n <VDivider\n class=\"ml-2 mr-1\"\n style=\"height: 16px\"\n vertical\n />\n <ACollabLockedByUser\n v-for=\"userId in collabUsers\"\n :id=\"userId\"\n :key=\"userId\"\n :users=\"cachedUsers\"\n class=\"mx-1\"\n />\n <VDivider\n v-if=\"collabUsers.length > 0\"\n class=\"ml-1 mr-2\"\n style=\"height: 16px\"\n vertical\n />\n <ABtnSecondary\n v-if=\"showRequestToJoinCollabButton\"\n size=\"small\"\n @click=\"requestToJoinCollabRoomAction\"\n >\n {{ t('common.collab.requestToCollaborate') }}\n </ABtnSecondary>\n <VBtn\n v-if=\"waitingFroApproval\"\n size=\"small\"\n variant=\"text\"\n >\n <VIcon\n class=\"mr-1\"\n icon=\"mdi-loading mdi-spin\"\n />\n {{ t('common.collab.waitingForApprove') }}\n <ACollabCountdown\n parentheses\n @done=\"waitingForApprovalTimerDone\"\n />\n </VBtn>\n <ABtnIcon\n v-if=\"showModeratorManagementButton\"\n :aria-label=\"t('common.collab.moderatorManagement')\"\n size=\"small\"\n @click=\"showModeratorManagementDialogAction\"\n >\n <VIcon icon=\"mdi-account-details-outline\" />\n <VTooltip\n anchor=\"bottom\"\n activator=\"parent\"\n :text=\"t('common.collab.moderatorManagement')\"\n />\n </ABtnIcon>\n <VDialog\n v-if=\"approveRequestsToCollab.length\"\n :model-value=\"true\"\n width=\"auto\"\n >\n <VCard v-if=\"approveRequestsToCollab.length\">\n <ADialogToolbar>\n {{ t('common.collab.requestToCollaborateText') }}\n </ADialogToolbar>\n <VCardItem>\n <VList\n v-model:selected=\"selectedIdsToCollab\"\n select-strategy=\"independent\"\n >\n <VListItem\n v-for=\"request in approveRequestsToCollab\"\n :key=\"request.userId\"\n :value=\"request.userId\"\n >\n <template #prepend>\n <ACollabLockedByUser\n :id=\"request.userId\"\n :users=\"cachedUsers\"\n />\n </template>\n <template #title>\n <ACollabCountdown\n class=\"ml-3\"\n :seconds=\"calculateWaitingSeconds(request.timestamp)\"\n :label=\"t('common.collab.approvedAfterCountdown')\"\n @done=\"() => requestToJoinCollabTimerDone(request.userId)\"\n />\n </template>\n <template #append=\"{ isActive, select }\">\n <VCheckboxBtn\n :model-value=\"isActive\"\n color=\"primary\"\n @click=\"() => select(isActive)\"\n />\n </template>\n </VListItem>\n </VList>\n </VCardItem>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary\n :disabled=\"!selectedIdsToCollab.length\"\n @click=\"rejectRequestToCollaborate\"\n >\n {{ t('common.collab.button.reject') }}\n </ABtnTertiary>\n <ABtnPrimary\n :disabled=\"!selectedIdsToCollab.length || approveRequestBlocked\"\n @click.stop=\"approveRequestToCollaborate\"\n >\n {{ t('common.collab.button.accept') }}\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n <VDialog\n v-model=\"showModeratorManagementDialog\"\n width=\"auto\"\n >\n <VCard>\n <ADialogToolbar @cancel=\"moderatorManagementDialog = false\">\n {{ t('common.collab.moderatorManagement') }}\n </ADialogToolbar>\n <VCardItem>\n <VList>\n <VListItem\n v-for=\"userId in collabUserIds\"\n :key=\"userId\"\n :link=\"false\"\n >\n <template #title>\n <ACollabLockedByUser\n :id=\"userId\"\n :users=\"cachedUsers\"\n />\n </template>\n <template #append>\n <div class=\"ml-3\">\n <ABtnSecondary\n size=\"small\"\n @click=\"transferModerationAction(userId)\"\n >\n {{ t('common.collab.button.transferModeration') }}\n </ABtnSecondary>\n <ABtnTertiary\n size=\"small\"\n @click=\"kickUserAction(userId)\"\n >\n {{ t('common.collab.button.kickUser') }}\n </ABtnTertiary>\n </div>\n </template>\n </VListItem>\n </VList>\n </VCardItem>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary @click=\"moderatorManagementDialog = false\">\n {{ t('common.button.close') }}\n </ABtnTertiary>\n </VCardActions>\n </VCard>\n </VDialog>\n <ABtnIcon\n v-if=\"showRequestToTakeModerationButton\"\n :aria-label=\"t('common.collab.requestToTakeModeration')\"\n size=\"small\"\n @click=\"requestToTakeModerationAction\"\n >\n <VIcon icon=\"mdi-account-switch\" />\n <VTooltip\n anchor=\"bottom\"\n activator=\"parent\"\n :text=\"t('common.collab.requestToTakeModeration')\"\n />\n </ABtnIcon>\n <ABtnTertiary\n v-if=\"showKickYourselfButton\"\n size=\"small\"\n @click=\"kickYourselfAction\"\n >\n {{ t('common.collab.button.kickYourself') }}\n </ABtnTertiary>\n <VMenu v-if=\"isAllowedToPurgeRoom\">\n <template #activator=\"{ props: moreProps }\">\n <VBtn\n v-tooltip=\"t('common.collab.button.more')\"\n :aria-label=\"t('common.collab.button.more')\"\n variant=\"text\"\n size=\"small\"\n icon=\"mdi-dots-horizontal\"\n v-bind=\"moreProps\"\n />\n </template>\n <VList>\n <VListItem\n :title=\"t('common.collab.button.purgeCollabRoom')\"\n @click.stop=\"purgeRoomAction\"\n />\n </VList>\n </VMenu>\n <VDialog\n v-if=\"moderationRequest\"\n v-model=\"approveRequestTakeModerationDialog\"\n width=\"auto\"\n >\n <VCard>\n <ADialogToolbar>\n {{ t('common.collab.requestToTakeModerationTextTitle') }}\n </ADialogToolbar>\n <VCardItem>\n <VList>\n <VListItem>\n <template #prepend>\n <ACollabLockedByUser\n :id=\"moderationRequest.userId\"\n :users=\"cachedUsers\"\n />\n </template>\n <template #title>\n <span class=\"ml-1\">{{ t('common.collab.requestToTakeModerationText') }}</span>\n </template>\n </VListItem>\n </VList>\n </VCardItem>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary @click=\"rejectRequestToTakeModerationAction\">\n {{ t('common.collab.button.reject') }}\n </ABtnTertiary>\n <ABtnPrimary\n :disabled=\"approveRequestBlocked\"\n @click.stop=\"approveRequestToTakeModerationAction\"\n >\n {{ t('common.collab.button.accept') }}\n <ACollabCountdown\n parentheses\n :seconds=\"calculateWaitingSeconds(moderationRequest.timestamp)\"\n @done=\"resetRequestToTakeModeration\"\n />\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n <VDialog\n v-if=\"showJoinCollaborationDialog\"\n :model-value=\"true\"\n width=\"auto\"\n >\n <VCard>\n <ADialogToolbar @cancel=\"alertedOccupiedRooms.delete(props.collabRoom)\">\n {{ t('common.collab.occupiedEntityTitle') }}\n </ADialogToolbar>\n <VCardText>{{ t('common.collab.occupiedEntityText') }}</VCardText>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary @click=\"alertedOccupiedRooms.delete(props.collabRoom)\">\n {{ t('common.button.close') }}\n </ABtnTertiary>\n <ABtnPrimary\n v-if=\"showRequestToJoinCollabButton\"\n @click=\"requestToJoinCollabRoomAction\"\n >\n {{ t('common.collab.requestToCollaborate') }}\n </ABtnPrimary>\n <VBtn\n v-if=\"waitingFroApproval\"\n variant=\"text\"\n >\n <VIcon\n class=\"mr-1\"\n icon=\"mdi-loading mdi-spin\"\n />\n {{ t('common.collab.waitingForApprove') }}\n <ACollabCountdown\n parentheses\n @done=\"waitingForApprovalTimerDone\"\n />\n </VBtn>\n </VCardActions>\n </VCard>\n </VDialog>\n </div>\n</template>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"ACollabManagement.js","names":["ACollabManagement_vue_vue_type_script_setup_true_lang_default","ACollabManagement_default"],"sources":[],"mappings":""}
|
package/dist/domains/collab/components/ACollabManagement.vue_vue_type_script_setup_true_lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ACollabManagement.vue_vue_type_script_setup_true_lang.js","names":["_resolveComponent","_openBlock","_createElementBlock","_unref","_createBlock","ACollabLockedByUser","_createCommentVNode","_createVNode","_component_VDivider","_Fragment","_renderList","_withCtx","_createTextVNode","_toDisplayString","_component_VBtn","_component_VIcon","ACollabCountdown","_component_VTooltip","_component_VDialog","_component_VCard","ADialogToolbar","_component_VCardItem","_component_VList","_component_VListItem","_component_VCheckboxBtn","_component_VCardActions","_component_VSpacer","_withModifiers","_createElementVNode","_component_VMenu","_withDirectives","_mergeProps","_directive_tooltip","_component_VCardText","ACollabCountdown_default","ADialogToolbar_default","ACollabLockedByUser_default","_hoisted_1","_hoisted_2","ACollabManagement_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","useCollabRoom","useI18n","useAlerts","useCollabCurrentUserId","approveRequestsToCollab","ref","selectedIdsToCollab","collabUserIds","computed","collabRoomInfo","userId","currentUserId","moderatorManagementDialog","approveRequestTakeModerationDialog","moderationRequest","requestToJoinAccepted","waitingFroApproval","addJoinRequestListener","isDefined","addApprovedJoinRequestListener","showSuccessT","alertedOccupiedRooms","addRejectedJoinRequestListener","showErrorT","addRequestToTakeModerationListener","addApprovedRequestToTakeModerationListener","addRejectedRequestToTakeModerationListener","waitingForApprovalTimerDone","showRequestToJoinCollabButton","showRequestToTakeModerationButton","CollabStatus","showModeratorManagementDialog","showKickYourselfButton","showModeratorManagementButton","showJoinCollaborationDialog","collabUsers","user","requestToJoinCollabTimerDone","request","id","requestToJoinCollabRoomAction","requestToJoinCollabRoom","error","CollabRequestToJoinStatus","showModeratorManagementDialogAction","requestToTakeModerationAction","requestToTakeModeration","CollabRequestToTakeModerationStatus","approveRequestToCollaborate","selectedId","rejectRequestToCollaborate","resetRequestToTakeModeration","rejectRequestToTakeModerationAction","rejectRequestToTakeModeration","approveRequestToTakeModerationAction","approveRequestToTakeModeration","transferModerationAction","transferModeration","kickUserAction","kickUserFromRoom","purgeRoomAction","kickYourselfAction","calculateWaitingSeconds","timestamp","_component_ABtnSecondary","resolveComponent","_component_ABtnIcon","_component_ABtnTertiary","_component_ABtnPrimary","openBlock","createElementBlock","unref","createBlock","createCommentVNode","createVNode","VDivider","\"height\"","Fragment","renderList","withCtx","createTextVNode","toDisplayString","t","VBtn","VIcon","VTooltip","VDialog","VCard","VCardItem","VList","_cache","$event","VListItem","VCheckboxBtn","isActive","select","VCardActions","VSpacer","withModifiers","createElementVNode","VMenu","moreProps","withDirectives","mergeProps","Tooltip","VCardText"],"sources":["../../../../src/domains/collab/components/ACollabManagement.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n type CollabDelayedRequest,\n CollabRequestToJoinStatus,\n CollabRequestToTakeModerationStatus,\n type CollabRoom,\n CollabStatus,\n type CollabUserId,\n} from '@/domains/collab/types/Collab'\nimport { useI18n } from 'vue-i18n'\nimport { computed, type Ref, ref } from 'vue'\nimport ACollabCountdown from '@/domains/collab/components/ACollabCountdown.vue'\nimport { useCollabRoom } from '@/domains/collab/composables/collabRoom'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useCollabCurrentUserId } from '@/domains/collab/composables/collabCurrentUserId'\nimport type { AddToCachedArgs } from '@/domains/cached/composables/defineCached'\nimport type { IntegerId } from '@/shared/types/common'\nimport { isDefined } from '@/shared/utils/common'\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\nimport ACollabLockedByUser from '@/domains/collab/components/ACollabLockedByUser.vue'\nimport type { CollabCachedUsersMap } from '@/domains/collab/composables/collabHelpers'\n\nconst props = withDefaults(\n defineProps<{\n collabRoom: CollabRoom\n cachedUsers: CollabCachedUsersMap | Ref<CollabCachedUsersMap>\n isEdit?: boolean\n isAllowedToPurgeRoom?: boolean\n approveRequestBlocked?: boolean\n addToCachedUsers?: ((...args: AddToCachedArgs<IntegerId>) => void) | undefined\n fetchCachedUsers?: (() => unknown) | undefined\n }>(),\n {\n isEdit: false,\n isAllowedToPurgeRoom: false,\n approveRequestBlocked: false,\n addToCachedUsers: undefined,\n fetchCachedUsers: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'approvedRequestToJoinCollabRoom'): void\n}>()\n\nconst {\n collabRoomInfo,\n addJoinRequestListener,\n requestToJoinCollabRoom,\n approveRequestToJoinCollabRoom,\n rejectRequestToJoinCollabRoom,\n addApprovedJoinRequestListener,\n addRejectedJoinRequestListener,\n requestToTakeModeration,\n approveRequestToTakeModeration,\n rejectRequestToTakeModeration,\n addRequestToTakeModerationListener,\n addApprovedRequestToTakeModerationListener,\n addRejectedRequestToTakeModerationListener,\n kickUserFromRoom,\n purgeRoom,\n transferModeration,\n alertedOccupiedRooms,\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n} = useCollabRoom(props.collabRoom)\n\nconst { t } = useI18n()\nconst { showErrorT, showSuccessT } = useAlerts()\n\nconst { currentUserId } = useCollabCurrentUserId()\n\nconst approveRequestsToCollab = ref<CollabDelayedRequest[]>([])\nconst selectedIdsToCollab = ref<CollabUserId[]>([])\nconst collabUserIds = computed<CollabUserId[]>(() => {\n return collabRoomInfo.value.users.filter((userId) => userId !== currentUserId.value)\n})\nconst moderatorManagementDialog = ref(false)\nconst approveRequestTakeModerationDialog = ref(false)\nconst moderationRequest = ref<null | CollabDelayedRequest>(null)\nconst requestToJoinAccepted = ref<boolean | null>(null)\nconst waitingFroApproval = ref(false)\n\naddJoinRequestListener(async (userId: CollabUserId, timestamp: number) => {\n if (isDefined(props.addToCachedUsers)) props.addToCachedUsers(userId)\n if (isDefined(props.fetchCachedUsers)) props.fetchCachedUsers()\n if (!selectedIdsToCollab.value.includes(userId)) selectedIdsToCollab.value.push(userId)\n approveRequestsToCollab.value.push({ userId, timestamp })\n})\n\naddApprovedJoinRequestListener(() => {\n showSuccessT('common.collab.alert.approvedJoinRequest')\n waitingFroApproval.value = false\n requestToJoinAccepted.value = true\n alertedOccupiedRooms.value.delete(props.collabRoom)\n})\n\naddRejectedJoinRequestListener(() => {\n showErrorT('common.collab.alert.rejectedJoinRequest')\n waitingFroApproval.value = false\n requestToJoinAccepted.value = false\n alertedOccupiedRooms.value.delete(props.collabRoom)\n})\n\naddRequestToTakeModerationListener(async (userId: number, timestamp: number) => {\n if (isDefined(props.addToCachedUsers)) props.addToCachedUsers(userId)\n if (isDefined(props.fetchCachedUsers)) props.fetchCachedUsers()\n moderationRequest.value = { userId, timestamp }\n approveRequestTakeModerationDialog.value = true\n})\n\naddApprovedRequestToTakeModerationListener(() => {\n showSuccessT('common.collab.alert.approvedToTakeModeration')\n waitingFroApproval.value = false\n})\n\naddRejectedRequestToTakeModerationListener(() => {\n showErrorT('common.collab.alert.rejectedToTakeModeration')\n waitingFroApproval.value = false\n})\n\nconst waitingForApprovalTimerDone = () => {\n waitingFroApproval.value = false\n}\n\nconst showRequestToJoinCollabButton = computed(() => {\n return (\n requestToJoinAccepted.value === null &&\n collabRoomInfo.value.users.length &&\n !collabRoomInfo.value.users.includes(currentUserId.value ?? 0) &&\n !waitingFroApproval.value\n )\n})\n\nconst showRequestToTakeModerationButton = computed(() => {\n return (\n props.isEdit &&\n collabRoomInfo.value.status === CollabStatus.Active &&\n collabRoomInfo.value.moderator !== currentUserId.value\n )\n})\n\nconst showModeratorManagementDialog = computed(() => {\n return moderatorManagementDialog.value && collabRoomInfo.value.status === CollabStatus.Active\n})\n\nconst showKickYourselfButton = computed(() => {\n return props.isEdit && collabRoomInfo.value.status === CollabStatus.Active\n})\n\nconst showModeratorManagementButton = computed(() => {\n return (\n props.isEdit &&\n collabRoomInfo.value.moderator === currentUserId.value &&\n collabRoomInfo.value.status === CollabStatus.Active\n )\n})\n\nconst showJoinCollaborationDialog = computed(() => {\n return !props.isEdit && alertedOccupiedRooms.value.has(props.collabRoom) && requestToJoinAccepted.value === null\n})\n\nconst collabUsers = computed(() => {\n return collabRoomInfo.value.users.filter((user) => user !== collabRoomInfo.value.moderator)\n})\n\nconst requestToJoinCollabTimerDone = (userId: number) => {\n approveRequestsToCollab.value = approveRequestsToCollab.value.filter((request) => request.userId !== userId)\n selectedIdsToCollab.value = selectedIdsToCollab.value.filter((id) => id !== userId)\n}\n\nconst requestToJoinCollabRoomAction = async () => {\n try {\n await requestToJoinCollabRoom()\n waitingFroApproval.value = true\n } catch (error) {\n if (error === CollabRequestToJoinStatus.AlreadyRequested) {\n return void showErrorT('common.collab.alert.alreadyRequestedToJoin')\n }\n return void showErrorT('common.collab.alert.failedRequestedToJoin')\n }\n}\n\nconst showModeratorManagementDialogAction = () => {\n moderatorManagementDialog.value = true\n}\n\nconst requestToTakeModerationAction = async () => {\n try {\n await requestToTakeModeration()\n waitingFroApproval.value = true\n } catch (error) {\n if (error === CollabRequestToTakeModerationStatus.AlreadyRequested) {\n return void showErrorT('common.collab.alert.alreadyRequestedToTakeModeration')\n }\n return void showErrorT('common.collab.alert.failedRequestToTakeModeration')\n }\n}\n\nconst approveRequestToCollaborate = () => {\n selectedIdsToCollab.value.forEach((selectedId) => {\n approveRequestToJoinCollabRoom(selectedId)\n })\n approveRequestsToCollab.value = approveRequestsToCollab.value.filter(\n (request) => !selectedIdsToCollab.value.includes(request.userId)\n )\n selectedIdsToCollab.value = []\n emit('approvedRequestToJoinCollabRoom')\n}\n\nconst rejectRequestToCollaborate = () => {\n selectedIdsToCollab.value.forEach((selectedId) => {\n rejectRequestToJoinCollabRoom(selectedId)\n })\n approveRequestsToCollab.value = approveRequestsToCollab.value.filter(\n (request) => !selectedIdsToCollab.value.includes(request.userId)\n )\n selectedIdsToCollab.value = []\n}\n\nconst resetRequestToTakeModeration = () => {\n moderationRequest.value = null\n approveRequestTakeModerationDialog.value = false\n}\n\nconst rejectRequestToTakeModerationAction = () => {\n rejectRequestToTakeModeration()\n resetRequestToTakeModeration()\n}\n\nconst approveRequestToTakeModerationAction = () => {\n approveRequestToTakeModeration()\n resetRequestToTakeModeration()\n}\n\nconst transferModerationAction = (userId: CollabUserId) => {\n transferModeration(userId)\n moderatorManagementDialog.value = false\n}\n\nconst kickUserAction = (userId: CollabUserId) => {\n kickUserFromRoom(userId)\n moderatorManagementDialog.value = false\n}\n\nconst purgeRoomAction = () => {\n purgeRoom()\n}\n\nconst kickYourselfAction = () => {\n kickUserFromRoom(currentUserId.value ?? 0)\n}\n\nconst calculateWaitingSeconds = (timestamp: number) => {\n return Math.ceil((60000 - (new Date().getTime() - timestamp)) / 1000)\n}\n</script>\n\n<template>\n <div>\n <ACollabLockedByUser\n v-if=\"collabRoomInfo.moderator\"\n :id=\"collabRoomInfo.moderator\"\n :key=\"collabRoomInfo.moderator\"\n :users=\"cachedUsers\"\n is-moderator\n />\n <VDivider\n class=\"ml-2 mr-1\"\n style=\"height: 16px\"\n vertical\n />\n <ACollabLockedByUser\n v-for=\"userId in collabUsers\"\n :id=\"userId\"\n :key=\"userId\"\n :users=\"cachedUsers\"\n class=\"mx-1\"\n />\n <VDivider\n v-if=\"collabUsers.length > 0\"\n class=\"ml-1 mr-2\"\n style=\"height: 16px\"\n vertical\n />\n <ABtnSecondary\n v-if=\"showRequestToJoinCollabButton\"\n size=\"small\"\n @click=\"requestToJoinCollabRoomAction\"\n >\n {{ t('common.collab.requestToCollaborate') }}\n </ABtnSecondary>\n <VBtn\n v-if=\"waitingFroApproval\"\n size=\"small\"\n variant=\"text\"\n >\n <VIcon\n class=\"mr-1\"\n icon=\"mdi-loading mdi-spin\"\n />\n {{ t('common.collab.waitingForApprove') }}\n <ACollabCountdown\n parentheses\n @done=\"waitingForApprovalTimerDone\"\n />\n </VBtn>\n <ABtnIcon\n v-if=\"showModeratorManagementButton\"\n :aria-label=\"t('common.collab.moderatorManagement')\"\n size=\"small\"\n @click=\"showModeratorManagementDialogAction\"\n >\n <VIcon icon=\"mdi-account-details-outline\" />\n <VTooltip\n anchor=\"bottom\"\n activator=\"parent\"\n :text=\"t('common.collab.moderatorManagement')\"\n />\n </ABtnIcon>\n <VDialog\n v-if=\"approveRequestsToCollab.length\"\n :model-value=\"true\"\n width=\"auto\"\n >\n <VCard v-if=\"approveRequestsToCollab.length\">\n <ADialogToolbar>\n {{ t('common.collab.requestToCollaborateText') }}\n </ADialogToolbar>\n <VCardItem>\n <VList\n v-model:selected=\"selectedIdsToCollab\"\n select-strategy=\"independent\"\n >\n <VListItem\n v-for=\"request in approveRequestsToCollab\"\n :key=\"request.userId\"\n :value=\"request.userId\"\n >\n <template #prepend>\n <ACollabLockedByUser\n :id=\"request.userId\"\n :users=\"cachedUsers\"\n />\n </template>\n <template #title>\n <ACollabCountdown\n class=\"ml-3\"\n :seconds=\"calculateWaitingSeconds(request.timestamp)\"\n :label=\"t('common.collab.approvedAfterCountdown')\"\n @done=\"() => requestToJoinCollabTimerDone(request.userId)\"\n />\n </template>\n <template #append=\"{ isActive, select }\">\n <VCheckboxBtn\n :model-value=\"isActive\"\n color=\"primary\"\n @click=\"() => select(isActive)\"\n />\n </template>\n </VListItem>\n </VList>\n </VCardItem>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary\n :disabled=\"!selectedIdsToCollab.length\"\n @click=\"rejectRequestToCollaborate\"\n >\n {{ t('common.collab.button.reject') }}\n </ABtnTertiary>\n <ABtnPrimary\n :disabled=\"!selectedIdsToCollab.length || approveRequestBlocked\"\n @click.stop=\"approveRequestToCollaborate\"\n >\n {{ t('common.collab.button.accept') }}\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n <VDialog\n v-model=\"showModeratorManagementDialog\"\n width=\"auto\"\n >\n <VCard>\n <ADialogToolbar @cancel=\"moderatorManagementDialog = false\">\n {{ t('common.collab.moderatorManagement') }}\n </ADialogToolbar>\n <VCardItem>\n <VList>\n <VListItem\n v-for=\"userId in collabUserIds\"\n :key=\"userId\"\n :link=\"false\"\n >\n <template #title>\n <ACollabLockedByUser\n :id=\"userId\"\n :users=\"cachedUsers\"\n />\n </template>\n <template #append>\n <div class=\"ml-3\">\n <ABtnSecondary\n size=\"small\"\n @click=\"transferModerationAction(userId)\"\n >\n {{ t('common.collab.button.transferModeration') }}\n </ABtnSecondary>\n <ABtnTertiary\n size=\"small\"\n @click=\"kickUserAction(userId)\"\n >\n {{ t('common.collab.button.kickUser') }}\n </ABtnTertiary>\n </div>\n </template>\n </VListItem>\n </VList>\n </VCardItem>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary @click=\"moderatorManagementDialog = false\">\n {{ t('common.button.close') }}\n </ABtnTertiary>\n </VCardActions>\n </VCard>\n </VDialog>\n <ABtnIcon\n v-if=\"showRequestToTakeModerationButton\"\n :aria-label=\"t('common.collab.requestToTakeModeration')\"\n size=\"small\"\n @click=\"requestToTakeModerationAction\"\n >\n <VIcon icon=\"mdi-account-switch\" />\n <VTooltip\n anchor=\"bottom\"\n activator=\"parent\"\n :text=\"t('common.collab.requestToTakeModeration')\"\n />\n </ABtnIcon>\n <ABtnTertiary\n v-if=\"showKickYourselfButton\"\n size=\"small\"\n @click=\"kickYourselfAction\"\n >\n {{ t('common.collab.button.kickYourself') }}\n </ABtnTertiary>\n <VMenu v-if=\"isAllowedToPurgeRoom\">\n <template #activator=\"{ props: moreProps }\">\n <VBtn\n v-tooltip=\"t('common.collab.button.more')\"\n :aria-label=\"t('common.collab.button.more')\"\n variant=\"text\"\n size=\"small\"\n icon=\"mdi-dots-horizontal\"\n v-bind=\"moreProps\"\n />\n </template>\n <VList>\n <VListItem\n :title=\"t('common.collab.button.purgeCollabRoom')\"\n @click.stop=\"purgeRoomAction\"\n />\n </VList>\n </VMenu>\n <VDialog\n v-if=\"moderationRequest\"\n v-model=\"approveRequestTakeModerationDialog\"\n width=\"auto\"\n >\n <VCard>\n <ADialogToolbar>\n {{ t('common.collab.requestToTakeModerationTextTitle') }}\n </ADialogToolbar>\n <VCardItem>\n <VList>\n <VListItem>\n <template #prepend>\n <ACollabLockedByUser\n :id=\"moderationRequest.userId\"\n :users=\"cachedUsers\"\n />\n </template>\n <template #title>\n <span class=\"ml-1\">{{ t('common.collab.requestToTakeModerationText') }}</span>\n </template>\n </VListItem>\n </VList>\n </VCardItem>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary @click=\"rejectRequestToTakeModerationAction\">\n {{ t('common.collab.button.reject') }}\n </ABtnTertiary>\n <ABtnPrimary\n :disabled=\"approveRequestBlocked\"\n @click.stop=\"approveRequestToTakeModerationAction\"\n >\n {{ t('common.collab.button.accept') }}\n <ACollabCountdown\n parentheses\n :seconds=\"calculateWaitingSeconds(moderationRequest.timestamp)\"\n @done=\"resetRequestToTakeModeration\"\n />\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n <VDialog\n v-if=\"showJoinCollaborationDialog\"\n :model-value=\"true\"\n width=\"auto\"\n >\n <VCard>\n <ADialogToolbar @cancel=\"alertedOccupiedRooms.delete(props.collabRoom)\">\n {{ t('common.collab.occupiedEntityTitle') }}\n </ADialogToolbar>\n <VCardText>{{ t('common.collab.occupiedEntityText') }}</VCardText>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary @click=\"alertedOccupiedRooms.delete(props.collabRoom)\">\n {{ t('common.button.close') }}\n </ABtnTertiary>\n <ABtnPrimary\n v-if=\"showRequestToJoinCollabButton\"\n @click=\"requestToJoinCollabRoomAction\"\n >\n {{ t('common.collab.requestToCollaborate') }}\n </ABtnPrimary>\n <VBtn\n v-if=\"waitingFroApproval\"\n variant=\"text\"\n >\n <VIcon\n class=\"mr-1\"\n icon=\"mdi-loading mdi-spin\"\n />\n {{ t('common.collab.waitingForApprove') }}\n <ACollabCountdown\n parentheses\n @done=\"waitingForApprovalTimerDone\"\n />\n </VBtn>\n </VCardActions>\n </VCard>\n </VDialog>\n </div>\n</template>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ACollabManagement.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_unref","_createBlock","ACollabLockedByUser","_createVNode","_component_VDivider","_Fragment","_renderList","_withCtx","_createTextVNode","_toDisplayString","_component_VBtn","_component_VIcon","ACollabCountdown","_component_VTooltip","_component_VDialog","_component_VCard","ADialogToolbar","_component_VCardItem","_component_VList","_component_VListItem","_component_VCheckboxBtn","_component_VCardActions","_component_VSpacer","_withModifiers","_createElementVNode","_component_VMenu","_withDirectives","_mergeProps","_directive_tooltip","_component_VCardText","ACollabCountdown_default","ADialogToolbar_default","ACollabLockedByUser_default","_hoisted_1","_hoisted_2","ACollabManagement_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","useCollabRoom","useI18n","useAlerts","useCollabCurrentUserId","approveRequestsToCollab","ref","selectedIdsToCollab","collabUserIds","computed","collabRoomInfo","userId","currentUserId","moderatorManagementDialog","approveRequestTakeModerationDialog","moderationRequest","requestToJoinAccepted","waitingFroApproval","addJoinRequestListener","isDefined","addApprovedJoinRequestListener","showSuccessT","alertedOccupiedRooms","addRejectedJoinRequestListener","showErrorT","addRequestToTakeModerationListener","addApprovedRequestToTakeModerationListener","addRejectedRequestToTakeModerationListener","waitingForApprovalTimerDone","showRequestToJoinCollabButton","showRequestToTakeModerationButton","CollabStatus","showModeratorManagementDialog","showKickYourselfButton","showModeratorManagementButton","showJoinCollaborationDialog","collabUsers","user","requestToJoinCollabTimerDone","request","id","requestToJoinCollabRoomAction","requestToJoinCollabRoom","error","CollabRequestToJoinStatus","showModeratorManagementDialogAction","requestToTakeModerationAction","requestToTakeModeration","CollabRequestToTakeModerationStatus","approveRequestToCollaborate","selectedId","rejectRequestToCollaborate","resetRequestToTakeModeration","rejectRequestToTakeModerationAction","rejectRequestToTakeModeration","approveRequestToTakeModerationAction","approveRequestToTakeModeration","transferModerationAction","transferModeration","kickUserAction","kickUserFromRoom","purgeRoomAction","kickYourselfAction","calculateWaitingSeconds","timestamp","_component_ABtnSecondary","resolveComponent","_component_ABtnIcon","_component_ABtnTertiary","_component_ABtnPrimary","openBlock","createElementBlock","unref","createBlock","createCommentVNode","createVNode","VDivider","\"height\"","Fragment","renderList","withCtx","createTextVNode","toDisplayString","t","VBtn","VIcon","VTooltip","VDialog","VCard","VCardItem","VList","_cache","$event","VListItem","VCheckboxBtn","isActive","select","VCardActions","VSpacer","withModifiers","createElementVNode","VMenu","moreProps","withDirectives","mergeProps","Tooltip","VCardText"],"sources":["../../../../src/domains/collab/components/ACollabManagement.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n type CollabDelayedRequest,\n CollabRequestToJoinStatus,\n CollabRequestToTakeModerationStatus,\n type CollabRoom,\n CollabStatus,\n type CollabUserId,\n} from '@/domains/collab/types/Collab'\nimport { useI18n } from 'vue-i18n'\nimport { computed, type Ref, ref } from 'vue'\nimport ACollabCountdown from '@/domains/collab/components/ACollabCountdown.vue'\nimport { useCollabRoom } from '@/domains/collab/composables/collabRoom'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport { useCollabCurrentUserId } from '@/domains/collab/composables/collabCurrentUserId'\nimport type { AddToCachedArgs } from '@/domains/cached/composables/defineCached'\nimport type { IntegerId } from '@/shared/types/common'\nimport { isDefined } from '@/shared/utils/common'\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\nimport ACollabLockedByUser from '@/domains/collab/components/ACollabLockedByUser.vue'\nimport type { CollabCachedUsersMap } from '@/domains/collab/composables/collabHelpers'\n\nconst props = withDefaults(\n defineProps<{\n collabRoom: CollabRoom\n cachedUsers: CollabCachedUsersMap | Ref<CollabCachedUsersMap>\n isEdit?: boolean\n isAllowedToPurgeRoom?: boolean\n approveRequestBlocked?: boolean\n addToCachedUsers?: ((...args: AddToCachedArgs<IntegerId>) => void) | undefined\n fetchCachedUsers?: (() => unknown) | undefined\n }>(),\n {\n isEdit: false,\n isAllowedToPurgeRoom: false,\n approveRequestBlocked: false,\n addToCachedUsers: undefined,\n fetchCachedUsers: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'approvedRequestToJoinCollabRoom'): void\n}>()\n\nconst {\n collabRoomInfo,\n addJoinRequestListener,\n requestToJoinCollabRoom,\n approveRequestToJoinCollabRoom,\n rejectRequestToJoinCollabRoom,\n addApprovedJoinRequestListener,\n addRejectedJoinRequestListener,\n requestToTakeModeration,\n approveRequestToTakeModeration,\n rejectRequestToTakeModeration,\n addRequestToTakeModerationListener,\n addApprovedRequestToTakeModerationListener,\n addRejectedRequestToTakeModerationListener,\n kickUserFromRoom,\n purgeRoom,\n transferModeration,\n alertedOccupiedRooms,\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n} = useCollabRoom(props.collabRoom)\n\nconst { t } = useI18n()\nconst { showErrorT, showSuccessT } = useAlerts()\n\nconst { currentUserId } = useCollabCurrentUserId()\n\nconst approveRequestsToCollab = ref<CollabDelayedRequest[]>([])\nconst selectedIdsToCollab = ref<CollabUserId[]>([])\nconst collabUserIds = computed<CollabUserId[]>(() => {\n return collabRoomInfo.value.users.filter((userId) => userId !== currentUserId.value)\n})\nconst moderatorManagementDialog = ref(false)\nconst approveRequestTakeModerationDialog = ref(false)\nconst moderationRequest = ref<null | CollabDelayedRequest>(null)\nconst requestToJoinAccepted = ref<boolean | null>(null)\nconst waitingFroApproval = ref(false)\n\naddJoinRequestListener(async (userId: CollabUserId, timestamp: number) => {\n if (isDefined(props.addToCachedUsers)) props.addToCachedUsers(userId)\n if (isDefined(props.fetchCachedUsers)) props.fetchCachedUsers()\n if (!selectedIdsToCollab.value.includes(userId)) selectedIdsToCollab.value.push(userId)\n approveRequestsToCollab.value.push({ userId, timestamp })\n})\n\naddApprovedJoinRequestListener(() => {\n showSuccessT('common.collab.alert.approvedJoinRequest')\n waitingFroApproval.value = false\n requestToJoinAccepted.value = true\n alertedOccupiedRooms.value.delete(props.collabRoom)\n})\n\naddRejectedJoinRequestListener(() => {\n showErrorT('common.collab.alert.rejectedJoinRequest')\n waitingFroApproval.value = false\n requestToJoinAccepted.value = false\n alertedOccupiedRooms.value.delete(props.collabRoom)\n})\n\naddRequestToTakeModerationListener(async (userId: number, timestamp: number) => {\n if (isDefined(props.addToCachedUsers)) props.addToCachedUsers(userId)\n if (isDefined(props.fetchCachedUsers)) props.fetchCachedUsers()\n moderationRequest.value = { userId, timestamp }\n approveRequestTakeModerationDialog.value = true\n})\n\naddApprovedRequestToTakeModerationListener(() => {\n showSuccessT('common.collab.alert.approvedToTakeModeration')\n waitingFroApproval.value = false\n})\n\naddRejectedRequestToTakeModerationListener(() => {\n showErrorT('common.collab.alert.rejectedToTakeModeration')\n waitingFroApproval.value = false\n})\n\nconst waitingForApprovalTimerDone = () => {\n waitingFroApproval.value = false\n}\n\nconst showRequestToJoinCollabButton = computed(() => {\n return (\n requestToJoinAccepted.value === null &&\n collabRoomInfo.value.users.length &&\n !collabRoomInfo.value.users.includes(currentUserId.value ?? 0) &&\n !waitingFroApproval.value\n )\n})\n\nconst showRequestToTakeModerationButton = computed(() => {\n return (\n props.isEdit &&\n collabRoomInfo.value.status === CollabStatus.Active &&\n collabRoomInfo.value.moderator !== currentUserId.value\n )\n})\n\nconst showModeratorManagementDialog = computed(() => {\n return moderatorManagementDialog.value && collabRoomInfo.value.status === CollabStatus.Active\n})\n\nconst showKickYourselfButton = computed(() => {\n return props.isEdit && collabRoomInfo.value.status === CollabStatus.Active\n})\n\nconst showModeratorManagementButton = computed(() => {\n return (\n props.isEdit &&\n collabRoomInfo.value.moderator === currentUserId.value &&\n collabRoomInfo.value.status === CollabStatus.Active\n )\n})\n\nconst showJoinCollaborationDialog = computed(() => {\n return !props.isEdit && alertedOccupiedRooms.value.has(props.collabRoom) && requestToJoinAccepted.value === null\n})\n\nconst collabUsers = computed(() => {\n return collabRoomInfo.value.users.filter((user) => user !== collabRoomInfo.value.moderator)\n})\n\nconst requestToJoinCollabTimerDone = (userId: number) => {\n approveRequestsToCollab.value = approveRequestsToCollab.value.filter((request) => request.userId !== userId)\n selectedIdsToCollab.value = selectedIdsToCollab.value.filter((id) => id !== userId)\n}\n\nconst requestToJoinCollabRoomAction = async () => {\n try {\n await requestToJoinCollabRoom()\n waitingFroApproval.value = true\n } catch (error) {\n if (error === CollabRequestToJoinStatus.AlreadyRequested) {\n return void showErrorT('common.collab.alert.alreadyRequestedToJoin')\n }\n return void showErrorT('common.collab.alert.failedRequestedToJoin')\n }\n}\n\nconst showModeratorManagementDialogAction = () => {\n moderatorManagementDialog.value = true\n}\n\nconst requestToTakeModerationAction = async () => {\n try {\n await requestToTakeModeration()\n waitingFroApproval.value = true\n } catch (error) {\n if (error === CollabRequestToTakeModerationStatus.AlreadyRequested) {\n return void showErrorT('common.collab.alert.alreadyRequestedToTakeModeration')\n }\n return void showErrorT('common.collab.alert.failedRequestToTakeModeration')\n }\n}\n\nconst approveRequestToCollaborate = () => {\n selectedIdsToCollab.value.forEach((selectedId) => {\n approveRequestToJoinCollabRoom(selectedId)\n })\n approveRequestsToCollab.value = approveRequestsToCollab.value.filter(\n (request) => !selectedIdsToCollab.value.includes(request.userId)\n )\n selectedIdsToCollab.value = []\n emit('approvedRequestToJoinCollabRoom')\n}\n\nconst rejectRequestToCollaborate = () => {\n selectedIdsToCollab.value.forEach((selectedId) => {\n rejectRequestToJoinCollabRoom(selectedId)\n })\n approveRequestsToCollab.value = approveRequestsToCollab.value.filter(\n (request) => !selectedIdsToCollab.value.includes(request.userId)\n )\n selectedIdsToCollab.value = []\n}\n\nconst resetRequestToTakeModeration = () => {\n moderationRequest.value = null\n approveRequestTakeModerationDialog.value = false\n}\n\nconst rejectRequestToTakeModerationAction = () => {\n rejectRequestToTakeModeration()\n resetRequestToTakeModeration()\n}\n\nconst approveRequestToTakeModerationAction = () => {\n approveRequestToTakeModeration()\n resetRequestToTakeModeration()\n}\n\nconst transferModerationAction = (userId: CollabUserId) => {\n transferModeration(userId)\n moderatorManagementDialog.value = false\n}\n\nconst kickUserAction = (userId: CollabUserId) => {\n kickUserFromRoom(userId)\n moderatorManagementDialog.value = false\n}\n\nconst purgeRoomAction = () => {\n purgeRoom()\n}\n\nconst kickYourselfAction = () => {\n kickUserFromRoom(currentUserId.value ?? 0)\n}\n\nconst calculateWaitingSeconds = (timestamp: number) => {\n return Math.ceil((60000 - (new Date().getTime() - timestamp)) / 1000)\n}\n</script>\n\n<template>\n <div>\n <ACollabLockedByUser\n v-if=\"collabRoomInfo.moderator\"\n :id=\"collabRoomInfo.moderator\"\n :key=\"collabRoomInfo.moderator\"\n :users=\"cachedUsers\"\n is-moderator\n />\n <VDivider\n class=\"ml-2 mr-1\"\n style=\"height: 16px\"\n vertical\n />\n <ACollabLockedByUser\n v-for=\"userId in collabUsers\"\n :id=\"userId\"\n :key=\"userId\"\n :users=\"cachedUsers\"\n class=\"mx-1\"\n />\n <VDivider\n v-if=\"collabUsers.length > 0\"\n class=\"ml-1 mr-2\"\n style=\"height: 16px\"\n vertical\n />\n <ABtnSecondary\n v-if=\"showRequestToJoinCollabButton\"\n size=\"small\"\n @click=\"requestToJoinCollabRoomAction\"\n >\n {{ t('common.collab.requestToCollaborate') }}\n </ABtnSecondary>\n <VBtn\n v-if=\"waitingFroApproval\"\n size=\"small\"\n variant=\"text\"\n >\n <VIcon\n class=\"mr-1\"\n icon=\"mdi-loading mdi-spin\"\n />\n {{ t('common.collab.waitingForApprove') }}\n <ACollabCountdown\n parentheses\n @done=\"waitingForApprovalTimerDone\"\n />\n </VBtn>\n <ABtnIcon\n v-if=\"showModeratorManagementButton\"\n :aria-label=\"t('common.collab.moderatorManagement')\"\n size=\"small\"\n @click=\"showModeratorManagementDialogAction\"\n >\n <VIcon icon=\"mdi-account-details-outline\" />\n <VTooltip\n anchor=\"bottom\"\n activator=\"parent\"\n :text=\"t('common.collab.moderatorManagement')\"\n />\n </ABtnIcon>\n <VDialog\n v-if=\"approveRequestsToCollab.length\"\n :model-value=\"true\"\n width=\"auto\"\n >\n <VCard v-if=\"approveRequestsToCollab.length\">\n <ADialogToolbar>\n {{ t('common.collab.requestToCollaborateText') }}\n </ADialogToolbar>\n <VCardItem>\n <VList\n v-model:selected=\"selectedIdsToCollab\"\n select-strategy=\"independent\"\n >\n <VListItem\n v-for=\"request in approveRequestsToCollab\"\n :key=\"request.userId\"\n :value=\"request.userId\"\n >\n <template #prepend>\n <ACollabLockedByUser\n :id=\"request.userId\"\n :users=\"cachedUsers\"\n />\n </template>\n <template #title>\n <ACollabCountdown\n class=\"ml-3\"\n :seconds=\"calculateWaitingSeconds(request.timestamp)\"\n :label=\"t('common.collab.approvedAfterCountdown')\"\n @done=\"() => requestToJoinCollabTimerDone(request.userId)\"\n />\n </template>\n <template #append=\"{ isActive, select }\">\n <VCheckboxBtn\n :model-value=\"isActive\"\n color=\"primary\"\n @click=\"() => select(isActive)\"\n />\n </template>\n </VListItem>\n </VList>\n </VCardItem>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary\n :disabled=\"!selectedIdsToCollab.length\"\n @click=\"rejectRequestToCollaborate\"\n >\n {{ t('common.collab.button.reject') }}\n </ABtnTertiary>\n <ABtnPrimary\n :disabled=\"!selectedIdsToCollab.length || approveRequestBlocked\"\n @click.stop=\"approveRequestToCollaborate\"\n >\n {{ t('common.collab.button.accept') }}\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n <VDialog\n v-model=\"showModeratorManagementDialog\"\n width=\"auto\"\n >\n <VCard>\n <ADialogToolbar @cancel=\"moderatorManagementDialog = false\">\n {{ t('common.collab.moderatorManagement') }}\n </ADialogToolbar>\n <VCardItem>\n <VList>\n <VListItem\n v-for=\"userId in collabUserIds\"\n :key=\"userId\"\n :link=\"false\"\n >\n <template #title>\n <ACollabLockedByUser\n :id=\"userId\"\n :users=\"cachedUsers\"\n />\n </template>\n <template #append>\n <div class=\"ml-3\">\n <ABtnSecondary\n size=\"small\"\n @click=\"transferModerationAction(userId)\"\n >\n {{ t('common.collab.button.transferModeration') }}\n </ABtnSecondary>\n <ABtnTertiary\n size=\"small\"\n @click=\"kickUserAction(userId)\"\n >\n {{ t('common.collab.button.kickUser') }}\n </ABtnTertiary>\n </div>\n </template>\n </VListItem>\n </VList>\n </VCardItem>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary @click=\"moderatorManagementDialog = false\">\n {{ t('common.button.close') }}\n </ABtnTertiary>\n </VCardActions>\n </VCard>\n </VDialog>\n <ABtnIcon\n v-if=\"showRequestToTakeModerationButton\"\n :aria-label=\"t('common.collab.requestToTakeModeration')\"\n size=\"small\"\n @click=\"requestToTakeModerationAction\"\n >\n <VIcon icon=\"mdi-account-switch\" />\n <VTooltip\n anchor=\"bottom\"\n activator=\"parent\"\n :text=\"t('common.collab.requestToTakeModeration')\"\n />\n </ABtnIcon>\n <ABtnTertiary\n v-if=\"showKickYourselfButton\"\n size=\"small\"\n @click=\"kickYourselfAction\"\n >\n {{ t('common.collab.button.kickYourself') }}\n </ABtnTertiary>\n <VMenu v-if=\"isAllowedToPurgeRoom\">\n <template #activator=\"{ props: moreProps }\">\n <VBtn\n v-tooltip=\"t('common.collab.button.more')\"\n :aria-label=\"t('common.collab.button.more')\"\n variant=\"text\"\n size=\"small\"\n icon=\"mdi-dots-horizontal\"\n v-bind=\"moreProps\"\n />\n </template>\n <VList>\n <VListItem\n :title=\"t('common.collab.button.purgeCollabRoom')\"\n @click.stop=\"purgeRoomAction\"\n />\n </VList>\n </VMenu>\n <VDialog\n v-if=\"moderationRequest\"\n v-model=\"approveRequestTakeModerationDialog\"\n width=\"auto\"\n >\n <VCard>\n <ADialogToolbar>\n {{ t('common.collab.requestToTakeModerationTextTitle') }}\n </ADialogToolbar>\n <VCardItem>\n <VList>\n <VListItem>\n <template #prepend>\n <ACollabLockedByUser\n :id=\"moderationRequest.userId\"\n :users=\"cachedUsers\"\n />\n </template>\n <template #title>\n <span class=\"ml-1\">{{ t('common.collab.requestToTakeModerationText') }}</span>\n </template>\n </VListItem>\n </VList>\n </VCardItem>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary @click=\"rejectRequestToTakeModerationAction\">\n {{ t('common.collab.button.reject') }}\n </ABtnTertiary>\n <ABtnPrimary\n :disabled=\"approveRequestBlocked\"\n @click.stop=\"approveRequestToTakeModerationAction\"\n >\n {{ t('common.collab.button.accept') }}\n <ACollabCountdown\n parentheses\n :seconds=\"calculateWaitingSeconds(moderationRequest.timestamp)\"\n @done=\"resetRequestToTakeModeration\"\n />\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n <VDialog\n v-if=\"showJoinCollaborationDialog\"\n :model-value=\"true\"\n width=\"auto\"\n >\n <VCard>\n <ADialogToolbar @cancel=\"alertedOccupiedRooms.delete(props.collabRoom)\">\n {{ t('common.collab.occupiedEntityTitle') }}\n </ADialogToolbar>\n <VCardText>{{ t('common.collab.occupiedEntityText') }}</VCardText>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary @click=\"alertedOccupiedRooms.delete(props.collabRoom)\">\n {{ t('common.button.close') }}\n </ABtnTertiary>\n <ABtnPrimary\n v-if=\"showRequestToJoinCollabButton\"\n @click=\"requestToJoinCollabRoomAction\"\n >\n {{ t('common.collab.requestToCollaborate') }}\n </ABtnPrimary>\n <VBtn\n v-if=\"waitingFroApproval\"\n variant=\"text\"\n >\n <VIcon\n class=\"mr-1\"\n icon=\"mdi-loading mdi-spin\"\n />\n {{ t('common.collab.waitingForApprove') }}\n <ACollabCountdown\n parentheses\n @done=\"waitingForApprovalTimerDone\"\n />\n </VBtn>\n </VCardActions>\n </VCard>\n </VDialog>\n </div>\n</template>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ACustomDataForm.js","names":["
|
|
1
|
+
{"version":3,"file":"ACustomDataForm.js","names":["ACustomDataForm_vue_vue_type_script_setup_true_lang_default","ACustomDataForm_default"],"sources":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ACustomDataForm.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_Fragment","_createElementVNode","_renderSlot","_renderList","_createBlock","_component_VRow","_withCtx","_createVNode","_component_VCol","ARow","_createTextVNode","_toDisplayString","ACustomFormElement","ACustomDataFormHiddenPart","_component_VBtn","_component_VIcon","
|
|
1
|
+
{"version":3,"file":"ACustomDataForm.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_Fragment","_createElementVNode","_renderSlot","_renderList","_createBlock","_component_VRow","_withCtx","_createVNode","_component_VCol","ARow","_createTextVNode","_toDisplayString","ACustomFormElement","ACustomDataFormHiddenPart","_component_VBtn","_component_VIcon","ACustomDataFormElement_default","ACustomDataFormHiddenPart_default","ARow_default","useVuelidate","_hoisted_1","ACustomDataForm_vue_vue_type_script_setup_true_lang_default","__expose","__emit","props","__props","emit","useI18n","useCustomDataForm","hiddenError","ref","revealed","onHiddenError","isError","hiddenVisible","computed","showAll","hideRequests","hideDisabled","toggleForm","updateModelValue","updated","data","elementsPinned","elementsOther","showHideButtonText","t","showHideButtonIcon","enableShowHide","v$","openBlock","createElementBlock","Fragment","createElementVNode","renderSlot","_ctx","renderList","createBlock","VRow","element","withCtx","createVNode","VCol","createTextVNode","toDisplayString","VBtn","VIcon","createCommentVNode"],"sources":["../../../../src/domains/customDataForm/components/ACustomDataForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, ref, watch } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport useVuelidate from '@vuelidate/core'\nimport type { CustomDataFormElement } from '@/domains/customDataForm/types/CustomDataForm'\nimport type { ValidationScope } from '@/shared/types/Validation'\nimport { useCustomDataForm } from '@/domains/customDataForm/composables/useCustomDataForm'\nimport ACustomFormElement from '@/domains/customDataForm/components/ACustomDataFormElement.vue'\nimport ACustomDataFormHiddenPart from '@/domains/customDataForm/components/ACustomDataFormHiddenPart.vue'\nimport ARow from '@/domains/ui/components/ARow.vue'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: { [key: string]: any }\n elements: CustomDataFormElement[]\n validationScope?: ValidationScope\n pinnedCount?: number\n readonly?: boolean\n }>(),\n {\n validationScope: undefined,\n pinnedCount: 1000,\n readonly: false,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: any): void\n (e: 'anyChange'): void\n}>()\n\nconst { t } = useI18n()\n\n// \"Show all\" and \"hide\" are one shared choice for every form on the page.\nconst { showAll, hideRequests } = useCustomDataForm()\n\n// A failing field behind \"show all\" is shown regardless of that choice, in its own form.\n// It stays open after the user fixes it, so it does not close under the cursor.\nconst hiddenError = ref(false)\nconst revealed = ref(false)\nconst onHiddenError = (isError: boolean) => {\n hiddenError.value = isError\n if (isError) revealed.value = true\n}\nconst hiddenVisible = computed(() => showAll.value || revealed.value)\n// A form with a failing field stays open when another form hides, and cannot hide itself.\nwatch(hideRequests, () => {\n revealed.value = hiddenError.value\n})\nconst hideDisabled = computed(() => hiddenVisible.value && hiddenError.value)\nconst toggleForm = () => {\n if (!hiddenVisible.value) {\n showAll.value = true\n return\n }\n showAll.value = false\n hideRequests.value++\n}\n\nconst updateModelValue = (data: { property: string; value: any }) => {\n const updated = {} as { [key: string]: any }\n updated[data.property] = data.value\n emit('update:modelValue', { ...props.modelValue, ...updated })\n emit('anyChange')\n}\n\nconst elementsPinned = computed(() => {\n return props.elements.slice(0, props.pinnedCount)\n})\n\nconst elementsOther = computed(() => {\n return props.elements.slice(props.pinnedCount)\n})\n\nconst showHideButtonText = computed(() => {\n return hiddenVisible.value\n ? t('common.damImage.asset.detail.metadataToggle.hide')\n : t('common.damImage.asset.detail.metadataToggle.show')\n})\nconst showHideButtonIcon = computed(() => {\n return hiddenVisible.value ? 'mdi-minus' : 'mdi-plus'\n})\n\nconst enableShowHide = computed(() => {\n return props.elements.length > props.pinnedCount\n})\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst v$ = useVuelidate({ $scope: props.validationScope })\n\nconst validate = (): Promise<boolean> => {\n return v$.value.$validate()\n}\n\ndefineExpose({\n validate,\n})\n</script>\n\n<template>\n <div class=\"w-100\">\n <slot name=\"before-pinned\" />\n <VRow\n v-for=\"element in elementsPinned\"\n :key=\"element.id\"\n density=\"compact\"\n class=\"mt-1\"\n >\n <VCol>\n <ARow\n v-if=\"readonly\"\n :title=\"element.name\"\n >\n {{ modelValue[element.property] }}\n </ARow>\n <ACustomFormElement\n v-else\n :config=\"element\"\n :model-value=\"modelValue[element.property]\"\n :validation-scope=\"validationScope\"\n @update:model-value=\"updateModelValue\"\n />\n </VCol>\n </VRow>\n <slot name=\"after-pinned\" />\n </div>\n <ACustomDataFormHiddenPart\n :visible=\"hiddenVisible\"\n :validation-scope=\"validationScope\"\n @error=\"onHiddenError\"\n >\n <VRow\n v-for=\"element in elementsOther\"\n :key=\"element.id\"\n density=\"compact\"\n class=\"mt-1\"\n >\n <VCol>\n <ARow\n v-if=\"readonly\"\n :title=\"element.name\"\n >\n {{ modelValue[element.property] }}\n </ARow>\n <ACustomFormElement\n v-else\n :config=\"element\"\n :model-value=\"modelValue[element.property]\"\n :validation-scope=\"validationScope\"\n @update:model-value=\"updateModelValue\"\n />\n </VCol>\n </VRow>\n </ACustomDataFormHiddenPart>\n <VBtn\n v-if=\"enableShowHide\"\n variant=\"text\"\n size=\"small\"\n class=\"my-2\"\n :disabled=\"hideDisabled\"\n @click=\"toggleForm\"\n >\n <VIcon :icon=\"showHideButtonIcon\" />\n {{ showHideButtonText }}\n </VBtn>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWA,IAAM0B,IAAQC,GAeRC,IAAOH,GAKP,EAAE,SAAMI,EAAQ,GAGhB,EAAE,YAAS,oBAAiBC,EAAkB,GAI9CC,IAAcC,EAAI,EAAK,GACvBC,IAAWD,EAAI,EAAK,GACpBE,KAAiB,MAAqB;GAE1C,AADA,EAAY,QAAQC,GAChBA,MAAS,EAAS,QAAQ;EAChC,GACMC,IAAgBC,QAAeC,EAAQ,SAASL,EAAS,KAAK;EAEpE,EAAMM,SAAoB;GACxB,EAAS,QAAQR,EAAY;EAC/B,CAAC;EACD,IAAMS,IAAeH,QAAeD,EAAc,SAASL,EAAY,KAAK,GACtEU,UAAmB;GACvB,AAAKL,EAAc,SAInB,EAAQ,QAAQ,IAChB,EAAa,WAJX,EAAQ,QAAQ;EAKpB,GAEMM,KAAoB,MAA2C;GACnE,IAAMC,IAAU,CAAC;GAGjB,AAFA,EAAQC,EAAK,YAAYA,EAAK,OAC9BhB,EAAK,qBAAqB;IAAE,GAAGF,EAAM;IAAY,GAAGiB;GAAQ,CAAC,GAC7Df,EAAK,WAAW;EAClB,GAEMiB,IAAiBR,QACdX,EAAM,SAAS,MAAM,GAAGA,EAAM,WAAW,CACjD,GAEKoB,IAAgBT,QACbX,EAAM,SAAS,MAAMA,EAAM,WAAW,CAC9C,GAEKqB,IAAqBV,QAClBD,EAAc,QACjBY,EAAE,kDAAkD,IACpDA,EAAE,kDAAkD,CACzD,GACKC,IAAqBZ,QAClBD,EAAc,QAAQ,cAAc,UAC5C,GAEKc,IAAiBb,QACdX,EAAM,SAAS,SAASA,EAAM,WACtC,GAGKyB,IAAK9B,EAAa,EAAE,QAAQK,EAAM,gBAAgB,CAAC;E,OAMzDF,EAAa,EACX,gBAJO2B,EAAG,MAAM,UAAU,EAK5B,CAAC,I;GAIChD,EAyBM,OAzBNmB,GAyBM;IAxBJlB,EAA6BqD,EAAA,QAAA,eAAA;KAC7BzD,EAAA,EAAA,GAAAC,EAqBOC,GAAA,MAAAG,EApBawC,EAAA,QAAX,OADT7C,EAAA,GAAAM,EAqBOC,GAAA;KAnBJ,KAAKsD,EAAQ;KACd,SAAQ;KACR,OAAM;;KAEN,SAAArD,QAcO,CAdPC,EAcOC,GAAA,MAAA;MAbL,SAAAF,QAKO,CAJCmB,EAAA,YADR3B,EAAA,GAAAM,EAKOK,GAAA;;OAHJ,OAAOkD,EAAQ;;OAEhB,SAAArD,QAAkC,CAA/BI,EAAAC,EAAAc,EAAA,WAAWkC,EAAQ,SAAQ,GAAA,CAAA,C;;M,wBAEhC7D,EAAA,GAAAM,EAMEQ,GAAA;;OAJC,QAAQ+C;OACR,eAAalC,EAAA,WAAWkC,EAAQ;OAChC,oBAAkBlC,EAAA;OAClB,uBAAoBe;;;;;;;;;;IAI3BtC,EAA4BqD,EAAA,QAAA,cAAA;;GAE9BhD,EA2B4BM,GAAA;IA1BzB,SAASqB,EAAA;IACT,oBAAkBT,EAAA;IAClB,SAAOO;;IAGN,SAAA1B,QAAgC,EADlCR,EAAA,EAAA,GAAAC,EAqBOC,GAAA,MAAAG,EApBayC,EAAA,QAAX,OADT9C,EAAA,GAAAM,EAqBOC,GAAA;KAnBJ,KAAKsD,EAAQ;KACd,SAAQ;KACR,OAAM;;KAEN,SAAArD,QAcO,CAdPC,EAcOC,GAAA,MAAA;MAbL,SAAAF,QAKO,CAJCmB,EAAA,YADR3B,EAAA,GAAAM,EAKOK,GAAA;;OAHJ,OAAOkD,EAAQ;;OAEhB,SAAArD,QAAkC,CAA/BI,EAAAC,EAAAc,EAAA,WAAWkC,EAAQ,SAAQ,GAAA,CAAA,C;;M,wBAEhC7D,EAAA,GAAAM,EAMEQ,GAAA;;OAJC,QAAQ+C;OACR,eAAalC,EAAA,WAAWkC,EAAQ;OAChC,oBAAkBlC,EAAA;OAClB,uBAAoBe;;;;;;;;;;;;GAMrBQ,EAAA,SADRlD,EAAA,GAAAM,EAUOU,GAAA;;IARL,SAAQ;IACR,MAAK;IACL,OAAM;IACL,UAAUwB,EAAA;IACV,SAAOC;;IAER,SAAAjC,QAAoC,CAApCC,EAAoCQ,GAAA,EAA5B,MAAMgC,EAAA,MAAkB,GAAA,MAAA,GAAA,CAAA,MAAA,CAAA,GAAIrC,EAAA,MACpCC,EAAGkC,EAAA,KAAkB,GAAA,CAAA,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ACustomDataFormElement.js","names":["
|
|
1
|
+
{"version":3,"file":"ACustomDataFormElement.js","names":["ACustomDataFormElement_vue_vue_type_script_setup_true_lang_default","ACustomDataFormElement_default"],"sources":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ACustomDataFormElement.vue_vue_type_script_setup_true_lang.js","names":["useVuelidate","_openBlock","_createElementBlock","_Fragment","_unref","_createBlock","_component_VTextarea","_withCtx","_createTextVNode","_toDisplayString","_createCommentVNode","_component_VTextField","_component_VCombobox","_component_VSwitch","ABooleanSelect","ABooleanSelect_default","useVuelidate$1","_hoisted_1","_hoisted_2","_hoisted_3","ACustomDataFormElement_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","fixValue","CustomDataFormElementType","parsed","value","updateModelValue","modelValueComputed","computed","isProxy","toRaw","isEmptyObject","useValidate","rules","dynamicRules","requiredIf","minLength","maxLength","minValue","maxValue","stringArrayItemLength","v$","errorMessageComputed","item","counter","ref","onBlur","openBlock","createElementBlock","Fragment","unref","createBlock","VTextarea","withCtx","createTextVNode","toDisplayString","createCommentVNode","VTextField","VCombobox","VSwitch"],"sources":["../../../../src/domains/customDataForm/components/ACustomDataFormElement.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, isProxy, ref, toRaw } from 'vue'\nimport type { ErrorObject } from '@vuelidate/core'\nimport { useVuelidate } from '@vuelidate/core'\nimport type { CustomDataFormElement } from '@/domains/customDataForm/types/CustomDataForm'\nimport type { ValidationScope } from '@/shared/types/Validation'\nimport { CustomDataFormElementType } from '@/domains/customDataForm/types/CustomDataFormElementTypes'\nimport { isEmptyObject } from '@/shared/utils/common'\nimport { useValidate } from '@/shared/validators/vuelidate/useValidate'\nimport ABooleanSelect from '@/domains/ui/components/ABooleanSelect.vue'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: any\n config: CustomDataFormElement\n validationScope?: ValidationScope\n }>(),\n {\n validationScope: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: { property: string; value: any }): void\n (e: 'blur', data: any): void\n}>()\n\nconst fixValue = (value: any) => {\n if (props.config.attributes.type === CustomDataFormElementType.Integer) {\n // A cleared input is null, not `NaN`. An optional number can be emptied; a required one reports the error.\n const parsed = parseInt(value)\n return Number.isNaN(parsed) ? null : parsed\n }\n return value\n}\n\nconst updateModelValue = (value: any) => {\n emit('update:modelValue', { property: props.config.property, value: fixValue(value) })\n}\n\nconst modelValueComputed = computed(() => {\n const value = isProxy(props.modelValue) ? toRaw(props.modelValue) : props.modelValue\n if (\n (props.config.attributes.type === CustomDataFormElementType.StringArray ||\n props.config.attributes.type === CustomDataFormElementType.StringArrayLegacy) &&\n isEmptyObject(value)\n )\n return []\n return value\n})\n\nconst { maxLength, minLength, requiredIf, minValue, maxValue, stringArrayItemLength } = useValidate()\n\nconst rules = computed(() => {\n // Readonly fields are not validated. The user cannot fix them and the server does not validate them either.\n if (props.config.attributes.readonly) return { modelValueComputed: {} }\n const dynamicRules: Record<string, any> = {\n modelValueComputed: {\n required: requiredIf(props.config.attributes.required),\n },\n }\n switch (props.config.attributes.type) {\n case CustomDataFormElementType.String:\n dynamicRules.modelValueComputed.minLength = minLength(\n props.config.attributes.minValue ? props.config.attributes.minValue : 0\n )\n dynamicRules.modelValueComputed.maxLength = maxLength(\n props.config.attributes.maxValue ? props.config.attributes.maxValue : 256\n )\n break\n case CustomDataFormElementType.Integer:\n dynamicRules.modelValueComputed.minValue = minValue(\n props.config.attributes.minValue ? props.config.attributes.minValue : 0\n )\n dynamicRules.modelValueComputed.maxValue = maxValue(\n props.config.attributes.maxValue ? props.config.attributes.maxValue : 9999\n )\n break\n case CustomDataFormElementType.StringArray:\n dynamicRules.modelValueComputed.minLength = minLength(\n props.config.attributes.minCount ? props.config.attributes.minCount : 0\n )\n dynamicRules.modelValueComputed.maxLength = maxLength(\n props.config.attributes.maxCount ? props.config.attributes.maxCount : 32\n )\n dynamicRules.modelValueComputed.stringArrayItemLength = stringArrayItemLength(\n props.config.attributes.minValue ? props.config.attributes.minValue : 0,\n props.config.attributes.maxValue ? props.config.attributes.maxValue : 256\n )\n break\n }\n\n return dynamicRules\n})\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst v$ = useVuelidate(rules, { modelValueComputed }, { $scope: props.validationScope })\n\nconst errorMessageComputed = computed(() => {\n if (v$.value.$errors.length) return [v$.value.$errors.map((item: ErrorObject) => item.$message).join(' ')]\n return []\n})\n\nconst counter = ref<number | undefined>(undefined)\ncounter.value = props.config.attributes.maxValue ?? undefined\n\nconst onBlur = () => {\n emit('blur', props.modelValue)\n v$.value.$touch()\n}\n</script>\n\n<template>\n <VTextarea\n v-if=\"config.attributes.type === CustomDataFormElementType.String\"\n :model-value=\"modelValue\"\n auto-grow\n :rows=\"1\"\n :label=\"config.name\"\n :error-messages=\"errorMessageComputed\"\n :counter=\"counter\"\n :readonly=\"config.attributes.readonly\"\n :data-cy=\"'custom-field-' + config.property\"\n @update:model-value=\"updateModelValue\"\n @blur=\"onBlur\"\n >\n <template #label>\n {{ config.name\n }}<span\n v-if=\"config.attributes.required\"\n class=\"a-required-mark\"\n />\n </template>\n </VTextarea>\n <VTextField\n v-else-if=\"config.attributes.type === CustomDataFormElementType.Integer\"\n :model-value=\"modelValueComputed\"\n type=\"number\"\n :label=\"config.name\"\n :error-messages=\"errorMessageComputed\"\n :readonly=\"config.attributes.readonly\"\n :data-cy=\"'custom-field-' + config.property\"\n @update:model-value=\"updateModelValue\"\n @blur=\"onBlur\"\n >\n <template #label>\n {{ config.name\n }}<span\n v-if=\"config.attributes.required\"\n class=\"a-required-mark\"\n />\n </template>\n </VTextField>\n <VCombobox\n v-else-if=\"\n config.attributes.type === CustomDataFormElementType.StringArray ||\n config.attributes.type === CustomDataFormElementType.StringArrayLegacy\n \"\n :model-value=\"modelValueComputed\"\n :label=\"config.name\"\n multiple\n chips\n :readonly=\"config.attributes.readonly\"\n :error-messages=\"errorMessageComputed\"\n :data-cy=\"'custom-field-' + config.property\"\n @update:model-value=\"updateModelValue\"\n @blur=\"onBlur\"\n >\n <template #label>\n {{ config.name\n }}<span\n v-if=\"config.attributes.required\"\n class=\"a-required-mark\"\n />\n </template>\n </VCombobox>\n <VSwitch\n v-if=\"config.attributes.type === CustomDataFormElementType.Boolean && config.attributes.required === true\"\n :label=\"config.name\"\n :model-value=\"modelValueComputed\"\n :error-messages=\"errorMessageComputed\"\n :readonly=\"config.attributes.readonly\"\n :data-cy=\"'custom-field-' + config.property\"\n @update:model-value=\"updateModelValue\"\n />\n <ABooleanSelect\n v-if=\"config.attributes.type === CustomDataFormElementType.Boolean && config.attributes.required === false\"\n :model-value=\"modelValueComputed\"\n :label=\"config.name\"\n :data-cy=\"'custom-field-' + config.property\"\n :readonly=\"config.attributes.readonly\"\n @update:model-value=\"updateModelValue\"\n />\n</template>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ACustomDataFormElement.vue_vue_type_script_setup_true_lang.js","names":["useVuelidate","_openBlock","_createElementBlock","_unref","_createBlock","_component_VTextarea","_withCtx","_createTextVNode","_toDisplayString","_component_VTextField","_component_VCombobox","_component_VSwitch","ABooleanSelect","ABooleanSelect_default","useVuelidate$1","_hoisted_1","_hoisted_2","_hoisted_3","ACustomDataFormElement_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","fixValue","CustomDataFormElementType","parsed","value","updateModelValue","modelValueComputed","computed","isProxy","toRaw","isEmptyObject","useValidate","rules","dynamicRules","requiredIf","minLength","maxLength","minValue","maxValue","stringArrayItemLength","v$","errorMessageComputed","item","counter","ref","onBlur","openBlock","createElementBlock","Fragment","unref","createBlock","VTextarea","withCtx","createTextVNode","toDisplayString","createCommentVNode","VTextField","VCombobox","VSwitch"],"sources":["../../../../src/domains/customDataForm/components/ACustomDataFormElement.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, isProxy, ref, toRaw } from 'vue'\nimport type { ErrorObject } from '@vuelidate/core'\nimport { useVuelidate } from '@vuelidate/core'\nimport type { CustomDataFormElement } from '@/domains/customDataForm/types/CustomDataForm'\nimport type { ValidationScope } from '@/shared/types/Validation'\nimport { CustomDataFormElementType } from '@/domains/customDataForm/types/CustomDataFormElementTypes'\nimport { isEmptyObject } from '@/shared/utils/common'\nimport { useValidate } from '@/shared/validators/vuelidate/useValidate'\nimport ABooleanSelect from '@/domains/ui/components/ABooleanSelect.vue'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: any\n config: CustomDataFormElement\n validationScope?: ValidationScope\n }>(),\n {\n validationScope: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: { property: string; value: any }): void\n (e: 'blur', data: any): void\n}>()\n\nconst fixValue = (value: any) => {\n if (props.config.attributes.type === CustomDataFormElementType.Integer) {\n // A cleared input is null, not `NaN`. An optional number can be emptied; a required one reports the error.\n const parsed = parseInt(value)\n return Number.isNaN(parsed) ? null : parsed\n }\n return value\n}\n\nconst updateModelValue = (value: any) => {\n emit('update:modelValue', { property: props.config.property, value: fixValue(value) })\n}\n\nconst modelValueComputed = computed(() => {\n const value = isProxy(props.modelValue) ? toRaw(props.modelValue) : props.modelValue\n if (\n (props.config.attributes.type === CustomDataFormElementType.StringArray ||\n props.config.attributes.type === CustomDataFormElementType.StringArrayLegacy) &&\n isEmptyObject(value)\n )\n return []\n return value\n})\n\nconst { maxLength, minLength, requiredIf, minValue, maxValue, stringArrayItemLength } = useValidate()\n\nconst rules = computed(() => {\n // Readonly fields are not validated. The user cannot fix them and the server does not validate them either.\n if (props.config.attributes.readonly) return { modelValueComputed: {} }\n const dynamicRules: Record<string, any> = {\n modelValueComputed: {\n required: requiredIf(props.config.attributes.required),\n },\n }\n switch (props.config.attributes.type) {\n case CustomDataFormElementType.String:\n dynamicRules.modelValueComputed.minLength = minLength(\n props.config.attributes.minValue ? props.config.attributes.minValue : 0\n )\n dynamicRules.modelValueComputed.maxLength = maxLength(\n props.config.attributes.maxValue ? props.config.attributes.maxValue : 256\n )\n break\n case CustomDataFormElementType.Integer:\n dynamicRules.modelValueComputed.minValue = minValue(\n props.config.attributes.minValue ? props.config.attributes.minValue : 0\n )\n dynamicRules.modelValueComputed.maxValue = maxValue(\n props.config.attributes.maxValue ? props.config.attributes.maxValue : 9999\n )\n break\n case CustomDataFormElementType.StringArray:\n dynamicRules.modelValueComputed.minLength = minLength(\n props.config.attributes.minCount ? props.config.attributes.minCount : 0\n )\n dynamicRules.modelValueComputed.maxLength = maxLength(\n props.config.attributes.maxCount ? props.config.attributes.maxCount : 32\n )\n dynamicRules.modelValueComputed.stringArrayItemLength = stringArrayItemLength(\n props.config.attributes.minValue ? props.config.attributes.minValue : 0,\n props.config.attributes.maxValue ? props.config.attributes.maxValue : 256\n )\n break\n }\n\n return dynamicRules\n})\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst v$ = useVuelidate(rules, { modelValueComputed }, { $scope: props.validationScope })\n\nconst errorMessageComputed = computed(() => {\n if (v$.value.$errors.length) return [v$.value.$errors.map((item: ErrorObject) => item.$message).join(' ')]\n return []\n})\n\nconst counter = ref<number | undefined>(undefined)\ncounter.value = props.config.attributes.maxValue ?? undefined\n\nconst onBlur = () => {\n emit('blur', props.modelValue)\n v$.value.$touch()\n}\n</script>\n\n<template>\n <VTextarea\n v-if=\"config.attributes.type === CustomDataFormElementType.String\"\n :model-value=\"modelValue\"\n auto-grow\n :rows=\"1\"\n :label=\"config.name\"\n :error-messages=\"errorMessageComputed\"\n :counter=\"counter\"\n :readonly=\"config.attributes.readonly\"\n :data-cy=\"'custom-field-' + config.property\"\n @update:model-value=\"updateModelValue\"\n @blur=\"onBlur\"\n >\n <template #label>\n {{ config.name\n }}<span\n v-if=\"config.attributes.required\"\n class=\"a-required-mark\"\n />\n </template>\n </VTextarea>\n <VTextField\n v-else-if=\"config.attributes.type === CustomDataFormElementType.Integer\"\n :model-value=\"modelValueComputed\"\n type=\"number\"\n :label=\"config.name\"\n :error-messages=\"errorMessageComputed\"\n :readonly=\"config.attributes.readonly\"\n :data-cy=\"'custom-field-' + config.property\"\n @update:model-value=\"updateModelValue\"\n @blur=\"onBlur\"\n >\n <template #label>\n {{ config.name\n }}<span\n v-if=\"config.attributes.required\"\n class=\"a-required-mark\"\n />\n </template>\n </VTextField>\n <VCombobox\n v-else-if=\"\n config.attributes.type === CustomDataFormElementType.StringArray ||\n config.attributes.type === CustomDataFormElementType.StringArrayLegacy\n \"\n :model-value=\"modelValueComputed\"\n :label=\"config.name\"\n multiple\n chips\n :readonly=\"config.attributes.readonly\"\n :error-messages=\"errorMessageComputed\"\n :data-cy=\"'custom-field-' + config.property\"\n @update:model-value=\"updateModelValue\"\n @blur=\"onBlur\"\n >\n <template #label>\n {{ config.name\n }}<span\n v-if=\"config.attributes.required\"\n class=\"a-required-mark\"\n />\n </template>\n </VCombobox>\n <VSwitch\n v-if=\"config.attributes.type === CustomDataFormElementType.Boolean && config.attributes.required === true\"\n :label=\"config.name\"\n :model-value=\"modelValueComputed\"\n :error-messages=\"errorMessageComputed\"\n :readonly=\"config.attributes.readonly\"\n :data-cy=\"'custom-field-' + config.property\"\n @update:model-value=\"updateModelValue\"\n />\n <ABooleanSelect\n v-if=\"config.attributes.type === CustomDataFormElementType.Boolean && config.attributes.required === false\"\n :model-value=\"modelValueComputed\"\n :label=\"config.name\"\n :data-cy=\"'custom-field-' + config.property\"\n :readonly=\"config.attributes.readonly\"\n @update:model-value=\"updateModelValue\"\n />\n</template>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ACustomDataFormHiddenPart.js","names":["
|
|
1
|
+
{"version":3,"file":"ACustomDataFormHiddenPart.js","names":["ACustomDataFormHiddenPart_vue_vue_type_script_setup_true_lang_default","ACustomDataFormHiddenPart_default"],"sources":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AColorBox.js","names":["
|
|
1
|
+
{"version":3,"file":"AColorBox.js","names":["AColorBox_vue_vue_type_script_setup_true_lang_default","AColorBox_default"],"sources":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetCustomMetadataForm.js","names":["
|
|
1
|
+
{"version":3,"file":"AssetCustomMetadataForm.js","names":["AssetCustomMetadataForm_vue_vue_type_script_setup_true_lang_default","AssetCustomMetadataForm_default"],"sources":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetCustomMetadataForm.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","ACustomDataForm","_withCtx","_renderSlot","_createElementBlock","_toDisplayString","_unref","
|
|
1
|
+
{"version":3,"file":"AssetCustomMetadataForm.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","ACustomDataForm","_withCtx","_renderSlot","_createElementBlock","_toDisplayString","_unref","ACustomDataForm_default","_hoisted_1","AssetCustomMetadataForm_vue_vue_type_script_setup_true_lang_default","ADamAssetMetadataValidationScopeSymbol","__emit","props","__props","emit","damConfigName","useDamConfigName","useDamConfigState","configAssetCustomFormElements","getDamConfigAssetCustomFormElements","isUndefined","typeNotLoaded","computed","useI18n","elements","configExtSystem","getDamConfigExtSystem","pinnedCount","openBlock","createBlock","_cache","$event","withCtx","renderSlot","_ctx","createElementBlock","toDisplayString","unref","t","createCommentVNode"],"sources":["../../../../../src/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport type { DamAssetTypeType } from '@/domains/dam/types/Asset'\nimport { useDamConfigState } from '@/domains/dam/config/composables/damConfigState'\nimport ACustomDataForm from '@/domains/customDataForm/components/ACustomDataForm.vue'\nimport { ADamAssetMetadataValidationScopeSymbol } from '@/domains/dam/composables/uploadValidations'\nimport type { IntegerId } from '@/shared/types/common'\nimport type { ValidationScope } from '@/shared/types/Validation'\nimport { isUndefined } from '@/shared/utils/common'\nimport { useDamConfigName } from '@/domains/dam/composables/damConfigName'\n\nconst props = withDefaults(\n defineProps<{\n assetType: DamAssetTypeType\n extSystem: IntegerId\n modelValue: { [key: string]: any }\n dataCy?: string\n readonly?: boolean\n validationScope?: ValidationScope\n /** The DAM configuration whose forms it shows; inherited when not given. */\n configName?: string\n }>(),\n {\n dataCy: undefined,\n readonly: false,\n validationScope: ADamAssetMetadataValidationScopeSymbol,\n configName: undefined,\n }\n)\nconst emit = defineEmits<{\n (e: 'update:modelValue', data: any): void\n (e: 'anyChange'): void\n}>()\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst damConfigName = useDamConfigName(props.configName)\nconst { getDamConfigAssetCustomFormElements, getDamConfigExtSystem } = useDamConfigState(undefined, damConfigName)\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst configAssetCustomFormElements = getDamConfigAssetCustomFormElements(props.extSystem)\nif (isUndefined(configAssetCustomFormElements)) {\n throw new Error('Custom form elements must be initialised.')\n}\n// When the read of this type failed but other reads succeeded, the type is not loaded.\n// The form shows a notice in place of its fields and still renders the rest, including its slots.\n// Throwing here would also drop the inputs the host puts into the slots.\nconst typeNotLoaded = computed(() => isUndefined(getDamConfigAssetCustomFormElements(props.extSystem, props.assetType)))\n\nconst { t } = useI18n()\n\nconst elements = computed(() => {\n return configAssetCustomFormElements[props.assetType]\n})\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst configExtSystem = getDamConfigExtSystem(props.extSystem)\n\nif (isUndefined(configExtSystem)) {\n throw new Error('AssetCustomMetadataForm: Ext system must be initialised.')\n}\n\n// Uses the configured number, including 0, which pins no field.\nconst pinnedCount = computed(() => {\n return configExtSystem[props.assetType]?.customMetadataPinnedAmount ?? 2\n})\n</script>\n\n<template>\n <ACustomDataForm\n :model-value=\"modelValue\"\n :pinned-count=\"pinnedCount\"\n :elements=\"elements\"\n :readonly=\"readonly\"\n :validation-scope=\"validationScope\"\n @any-change=\"emit('anyChange')\"\n @update:model-value=\"emit('update:modelValue', $event)\"\n >\n <template #after-pinned>\n <slot name=\"after-pinned\" />\n </template>\n <template #before-pinned>\n <slot name=\"before-pinned\" />\n <div\n v-if=\"typeNotLoaded\"\n class=\"text-error my-2\"\n >\n {{ t('common.damImage.error.loadingConfig') }}\n </div>\n </template>\n </ACustomDataForm>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYA,IAAMa,IAAQC,GAkBRC,IAAOH,GAMPI,IAAgBC,EAAiBJ,EAAM,UAAU,GACjD,EAAE,wCAAqC,6BAA0BK,EAAkB,KAAA,GAAWF,CAAa,GAE3GG,IAAgCC,EAAoCP,EAAM,SAAS;EACzF,IAAIQ,EAAYF,CAA6B,GAC3C,MAAU,MAAM,2CAA2C;EAK7D,IAAMG,IAAgBC,QAAeF,EAAYD,EAAoCP,EAAM,WAAWA,EAAM,SAAS,CAAC,CAAC,GAEjH,EAAE,SAAMW,EAAQ,GAEhBC,IAAWF,QACRJ,EAA8BN,EAAM,UAC5C,GAGKa,IAAkBC,EAAsBd,EAAM,SAAS;EAE7D,IAAIQ,EAAYK,CAAe,GAC7B,MAAU,MAAM,0DAA0D;EAI5E,IAAME,IAAcL,QACXG,EAAgBb,EAAM,UAAU,EAAE,8BAA8B,CACxE;E,kBAICb,EAAA,GAAAC,EAqBkBC,GAAA;GApBf,eAAaY,EAAA;GACb,gBAAcc,EAAA;GACd,UAAUH,EAAA;GACV,UAAUX,EAAA;GACV,oBAAkBA,EAAA;GAClB,aAAU,AAAAiB,EAAA,QAAA,MAAEhB,EAAI,WAAA;GAChB,uBAAkB,AAAAgB,EAAA,QAAA,MAAEhB,EAAI,qBAAsBiB,CAAM;;GAE1C,gBAAY7B,QACO,CAA5BC,EAA4B+B,EAAA,QAAA,cAAA,C;GAEnB,iBAAahC,QACO,CAA7BC,EAA6B+B,EAAA,QAAA,eAAA,GAErBb,EAAA,SADRtB,EAAA,GAAAK,EAKM,OALNI,GAKMH,EADDC,EAAAgC,CAAA,CAAC,CAAA,qCAAA,CAAA,GAAA,CAAA,K"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetDetailDialog.js","names":["
|
|
1
|
+
{"version":3,"file":"AssetDetailDialog.js","names":["AssetDetailDialog_vue_vue_type_script_setup_true_lang_default","AssetDetailDialog_default"],"sources":[],"mappings":""}
|