@anzusystems/common-admin 2.0.0-rc.5 → 2.0.0-rc.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/AnzuSystemsCommonAdmin.d.ts +42 -32
- package/dist/AnzuSystemsCommonAdmin.js.map +1 -1
- package/dist/common-admin.css +1 -1
- package/dist/common-admin.js +282 -282
- package/dist/domains/anzuUser/api/anzuUserApi.d.ts +9 -12
- package/dist/domains/anzuUser/api/anzuUserApi.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserDatatable.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserDatatable.vue.d.ts +38 -44
- package/dist/domains/anzuUser/components/AAnzuUserDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserFilter.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserFilter.vue.d.ts +12 -13
- package/dist/domains/anzuUser/components/AAnzuUserFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserForm.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserForm.vue.d.ts +18 -20
- package/dist/domains/anzuUser/components/AAnzuUserForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserRoleAutocomplete.js.map +1 -1
- package/dist/domains/anzuUser/components/AAnzuUserRoleAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserBulkActionDialog.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserBulkActionDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.vue.d.ts +2 -3
- package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserCreateInSystemButton.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserCreateInSystemButton.vue.d.ts +9 -15
- package/dist/domains/anzuUser/components/AUserCreateInSystemButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserEnabledSwitch.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserEnabledSwitch.vue.d.ts +8 -7
- package/dist/domains/anzuUser/components/AUserEnabledSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserManageButton.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserManageButton.vue.d.ts +0 -1
- package/dist/domains/anzuUser/components/AUserManageButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserMetadataForm.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserMetadataForm.vue.d.ts +8 -9
- package/dist/domains/anzuUser/components/AUserMetadataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserOtherSystemsTable.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserOtherSystemsTable.vue.d.ts +1 -2
- package/dist/domains/anzuUser/components/AUserOtherSystemsTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemOverview.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemOverview.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemPanel.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemPanel.vue.d.ts +2 -2
- package/dist/domains/anzuUser/components/AUserSystemPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemStatusChip.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserSystemStatusChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserTabsShell.js.map +1 -1
- package/dist/domains/anzuUser/components/AUserTabsShell.vue.d.ts +17 -22
- package/dist/domains/anzuUser/components/AUserTabsShell.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/anzuUser/composables/anzuUserActions.d.ts +5 -9
- package/dist/domains/anzuUser/composables/anzuUserActions.js.map +1 -1
- package/dist/domains/anzuUser/composables/anzuUserValidations.d.ts +4 -6
- package/dist/domains/anzuUser/composables/anzuUserValidations.js.map +1 -1
- package/dist/domains/anzuUser/composables/cachedAnzuUsers.d.ts +3 -3
- package/dist/domains/anzuUser/composables/cachedAnzuUsers.js.map +1 -1
- package/dist/domains/anzuUser/composables/userCrossSystemSearch.d.ts +2 -4
- package/dist/domains/anzuUser/composables/userCrossSystemSearch.js.map +1 -1
- package/dist/domains/anzuUser/composables/userCrossSystemWrites.d.ts +5 -11
- package/dist/domains/anzuUser/composables/userCrossSystemWrites.js.map +1 -1
- package/dist/domains/anzuUser/composables/userSystemDescriptor.d.ts +33 -57
- package/dist/domains/anzuUser/composables/userSystemDescriptor.js.map +1 -1
- package/dist/domains/anzuUser/composables/userSystemProbe.d.ts +7 -27
- package/dist/domains/anzuUser/composables/userSystemProbe.js.map +1 -1
- package/dist/domains/anzuUser/filter/anzuUserFilter.d.ts +6 -16
- package/dist/domains/anzuUser/filter/anzuUserFilter.js.map +1 -1
- package/dist/domains/anzuUser/store/anzuUserStore.d.ts +1 -5
- package/dist/domains/anzuUser/store/anzuUserStore.js.map +1 -1
- package/dist/domains/anzuUser/store/userCrossSystemStore.d.ts +3 -14
- package/dist/domains/anzuUser/store/userCrossSystemStore.js.map +1 -1
- package/dist/domains/anzuUser/utils/userMetadataDiff.d.ts +7 -19
- package/dist/domains/anzuUser/utils/userMetadataDiff.js.map +1 -1
- package/dist/domains/anzuUser/utils/userSystemState.d.ts +12 -30
- package/dist/domains/anzuUser/utils/userSystemState.js.map +1 -1
- package/dist/domains/anzuUser/utils/userTabs.d.ts +1 -3
- package/dist/domains/anzuUser/utils/userTabs.js.map +1 -1
- package/dist/domains/api/composables/defineApiClient.d.ts +4 -8
- package/dist/domains/api/composables/defineApiClient.js.map +1 -1
- package/dist/domains/api/composables/request.d.ts +18 -48
- package/dist/domains/api/composables/request.js.map +1 -1
- package/dist/domains/api/composables/useApiFetchByIds.d.ts +7 -21
- package/dist/domains/api/composables/useApiFetchByIds.js.map +1 -1
- package/dist/domains/api/composables/useApiFetchItems.d.ts +18 -57
- package/dist/domains/api/composables/useApiFetchItems.js.map +1 -1
- package/dist/domains/api/composables/useApiFetchList.d.ts +7 -23
- package/dist/domains/api/composables/useApiFetchList.js.map +1 -1
- package/dist/domains/api/composables/useApiFetchListBatch.d.ts +5 -22
- package/dist/domains/api/composables/useApiFetchListBatch.js.map +1 -1
- package/dist/domains/api/composables/useApiQueryBuilder.js.map +1 -1
- package/dist/domains/api/composables/useApiRequest.d.ts +16 -39
- package/dist/domains/api/composables/useApiRequest.js.map +1 -1
- package/dist/domains/api/utils/apiErrors.d.ts +28 -55
- package/dist/domains/api/utils/apiErrors.js.map +1 -1
- package/dist/domains/api/utils/listBody.d.ts +22 -43
- package/dist/domains/api/utils/listBody.js.map +1 -1
- package/dist/domains/auth/components/Acl.js.map +1 -1
- package/dist/domains/auth/components/Acl.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/auth/composables/aclAllowed.d.ts +2 -3
- package/dist/domains/auth/composables/aclAllowed.js.map +1 -1
- package/dist/domains/auth/composables/defineAuth.js.map +1 -1
- package/dist/domains/auth/composables/refreshSession.d.ts +10 -13
- package/dist/domains/auth/composables/refreshSession.js.map +1 -1
- package/dist/domains/cached/components/ACachedChip.js.map +1 -1
- package/dist/domains/cached/components/ACachedChip.vue.d.ts +13 -11
- package/dist/domains/cached/components/ACachedChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/cached/components/ACachedUserChip.js +1 -1
- package/dist/domains/cached/components/ACachedUserChip.js.map +1 -1
- package/dist/domains/cached/components/ACachedUserChip.vue.d.ts +3 -3
- package/dist/domains/cached/components/ACachedUserChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/cached/composables/createUserAndTimeTrackingFields.d.ts +9 -9
- package/dist/domains/cached/composables/createUserAndTimeTrackingFields.js.map +1 -1
- package/dist/domains/cached/composables/defineCached.d.ts +13 -11
- package/dist/domains/cached/composables/defineCached.js.map +1 -1
- package/dist/domains/cached/composables/useCachedItem.d.ts +7 -8
- package/dist/domains/cached/composables/useCachedItem.js.map +1 -1
- package/dist/domains/collab/components/ACollabLockedByUser.js.map +1 -1
- package/dist/domains/collab/components/ACollabLockedByUser.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/collab/composables/collabAnyDataChange.js.map +1 -1
- package/dist/domains/collab/composables/collabField.d.ts +5 -3
- package/dist/domains/collab/composables/collabField.js.map +1 -1
- package/dist/domains/collab/composables/collabInit.js +58 -54
- package/dist/domains/collab/composables/collabInit.js.map +1 -1
- package/dist/domains/collab/composables/collabRecovery.d.ts +49 -0
- package/dist/domains/collab/composables/collabRecovery.js +99 -0
- package/dist/domains/collab/composables/collabRecovery.js.map +1 -0
- package/dist/domains/collab/composables/collabRoom.js +106 -106
- package/dist/domains/collab/composables/collabRoom.js.map +1 -1
- package/dist/domains/collab/composables/collabState.d.ts +11 -4
- package/dist/domains/collab/composables/collabState.js +34 -25
- package/dist/domains/collab/composables/collabState.js.map +1 -1
- package/dist/domains/collab/composables/commonAdminCollabOptions.d.ts +4 -2
- package/dist/domains/collab/types/Collab.d.ts +31 -5
- package/dist/domains/collab/types/Collab.js +23 -11
- package/dist/domains/collab/types/Collab.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataForm.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataForm.vue.d.ts +7 -5
- package/dist/domains/customDataForm/components/ACustomDataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataFormElement.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataFormElement.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.js.map +1 -1
- package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.vue.d.ts +5 -3
- package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/customDataForm/composables/useCustomDataForm.js.map +1 -1
- package/dist/domains/customDataForm/types/CustomDataForm.d.ts +4 -1
- package/dist/domains/dam/api/damAssetApi.d.ts +7 -7
- package/dist/domains/dam/api/damAssetApi.js.map +1 -1
- package/dist/domains/dam/api/damAssetLicenceApi.d.ts +1 -1
- package/dist/domains/dam/api/damAssetLicenceApi.js.map +1 -1
- package/dist/domains/dam/api/damConstants.js.map +1 -1
- package/dist/domains/dam/api/damEndPoints.js.map +1 -1
- package/dist/domains/dam/api/damImageApi.js.map +1 -1
- package/dist/domains/dam/api/uploadApi.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue.d.ts +7 -5
- package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailDialog.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.vue.d.ts +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.vue.d.ts +5 -3
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarFrame.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarFrame.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarMetadata.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarROI.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetDetailSidebarROI.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.vue.d.ts +1 -1
- package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetImage.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetImage.vue.d.ts +1 -1
- package/dist/domains/dam/assetDetail/components/AssetImage.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.vue.d.ts +2 -2
- package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetInfobox.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetInfobox.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetMetadata.js.map +1 -1
- package/dist/domains/dam/assetDetail/components/AssetMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetDetail/composables/assetDetailExtSystem.d.ts +5 -6
- package/dist/domains/dam/assetDetail/composables/assetDetailExtSystem.js.map +1 -1
- package/dist/domains/dam/assetDetail/composables/assetDetailView.d.ts +10 -10
- package/dist/domains/dam/assetDetail/composables/assetDetailView.js.map +1 -1
- package/dist/domains/dam/assetDetail/store/assetDetailStore.js.map +1 -1
- package/dist/domains/dam/assetDetail/utils/assetMetadataMayStillChange.d.ts +4 -3
- package/dist/domains/dam/assetDetail/utils/assetMetadataMayStillChange.js.map +1 -1
- package/dist/domains/dam/assetSelect/api/damPodcastApi.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetListInner.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetListInner.vue.d.ts +789 -787
- package/dist/domains/dam/assetSelect/components/AAssetListInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetSelect.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetSelect.vue.d.ts +395 -393
- package/dist/domains/dam/assetSelect/components/AAssetSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.vue.d.ts +14 -12
- package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetDistributionServiceNameFilter.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetDistributionServiceNameFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectListBar.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectListBar.vue.d.ts +9 -7
- package/dist/domains/dam/assetSelect/components/AssetSelectListBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectTableRowItem.js.map +1 -1
- package/dist/domains/dam/assetSelect/components/AssetSelectTableRowItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/assetSelect/composables/assetSelectListActions.js.map +1 -1
- package/dist/domains/dam/assetSelect/store/assetSelectStore.js.map +1 -1
- package/dist/domains/dam/author/api/authorApi.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorCreateButton.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorCreateButton.vue.d.ts +1 -1
- package/dist/domains/dam/author/components/AuthorCreateButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.vue.d.ts +9 -6
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChipConflicts.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChipConflicts.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.js +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.js.map +1 -1
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue.d.ts +2 -2
- package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.js.map +1 -1
- package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.vue.d.ts +1 -1
- package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/author/composables/cachedAuthors.d.ts +5 -4
- package/dist/domains/dam/author/composables/cachedAuthors.js.map +1 -1
- package/dist/domains/dam/author/composables/cachedUsers.d.ts +5 -4
- package/dist/domains/dam/author/composables/cachedUsers.js.map +1 -1
- package/dist/domains/dam/author/composables/damAuthorConfig.d.ts +2 -2
- package/dist/domains/dam/author/composables/damAuthorConfig.js.map +1 -1
- package/dist/domains/dam/components/DamAdminAssetLink.js.map +1 -1
- package/dist/domains/dam/components/DamAdminAssetLink.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/composables/commonAdminCoreDamOptions.d.ts +10 -8
- package/dist/domains/dam/composables/commonAdminCoreDamOptions.js.map +1 -1
- package/dist/domains/dam/composables/damConfigName.d.ts +8 -9
- package/dist/domains/dam/composables/damConfigName.js.map +1 -1
- package/dist/domains/dam/composables/damNotifications.d.ts +9 -9
- package/dist/domains/dam/composables/damNotifications.js.map +1 -1
- package/dist/domains/dam/composables/damNotificationsConnection.d.ts +4 -4
- package/dist/domains/dam/composables/damNotificationsConnection.js.map +1 -1
- package/dist/domains/dam/composables/damNotificationsEventBus.d.ts +2 -2
- package/dist/domains/dam/composables/damNotificationsEventBus.js.map +1 -1
- package/dist/domains/dam/composables/extSystemIdForCached.d.ts +5 -4
- package/dist/domains/dam/composables/extSystemIdForCached.js.map +1 -1
- package/dist/domains/dam/config/api/damAssetCustomFormApi.js.map +1 -1
- package/dist/domains/dam/config/api/damConfigApi.js.map +1 -1
- package/dist/domains/dam/config/composables/damConfigState.d.ts +5 -5
- package/dist/domains/dam/config/composables/damConfigState.js.map +1 -1
- package/dist/domains/dam/config/store/damConfigStore.d.ts +5 -4
- package/dist/domains/dam/config/store/damConfigStore.js.map +1 -1
- package/dist/domains/dam/config/utils/damFilterUserAllowedUploadConfigs.d.ts +3 -1
- package/dist/domains/dam/config/utils/damFilterUserAllowedUploadConfigs.js.map +1 -1
- package/dist/domains/dam/cropper/components/ACropper.js.map +1 -1
- package/dist/domains/dam/cropper/components/ACropper.vue.d.ts +8 -16
- package/dist/domains/dam/cropper/components/ACropper.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/cropper/components/DamAssetImageRoiSelect.js.map +1 -1
- package/dist/domains/dam/cropper/components/DamAssetImageRoiSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/cropper/store/imageRoiStore.d.ts +9 -12
- package/dist/domains/dam/cropper/store/imageRoiStore.js.map +1 -1
- package/dist/domains/dam/cropper/utils/cropperGeometry.d.ts +24 -38
- package/dist/domains/dam/cropper/utils/cropperGeometry.js.map +1 -1
- package/dist/domains/dam/cropper/utils/cropperJsService.d.ts +3 -7
- package/dist/domains/dam/cropper/utils/cropperJsService.js +10 -3
- package/dist/domains/dam/cropper/utils/cropperJsService.js.map +1 -1
- package/dist/domains/dam/cropper/utils/cropperTypes.d.ts +3 -6
- package/dist/domains/dam/cropper/utils/damAssetImageRoiSelectLoader.d.ts +5 -5
- package/dist/domains/dam/cropper/utils/damAssetImageRoiSelectLoader.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageMediaWidget.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageMediaWidget.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImagePublicInput.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImagePublicInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageWidget.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageWidget.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageWidgetMultiple.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageWidgetMultiple.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/AImageWidgetSimple.vue.d.ts +43 -41
- package/dist/domains/dam/imageWidget/components/AMediaWidgetSimple.vue.d.ts +31 -29
- package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.vue.d.ts +29 -27
- package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageMassOperations.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageMassOperations.vue.d.ts +1 -1
- package/dist/domains/dam/imageWidget/components/ImageMassOperations.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.vue.d.ts +68 -66
- package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetInner.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetInner.vue.d.ts +402 -400
- package/dist/domains/dam/imageWidget/components/ImageWidgetInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.vue.d.ts +384 -382
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleItem.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/imageWidget/components/MediaWidgetSimpleDialog.vue.d.ts +7 -5
- package/dist/domains/dam/imageWidget/composables/commonAdminImageOptions.js.map +1 -1
- package/dist/domains/dam/imageWidget/composables/imageApiCms.js.map +1 -1
- package/dist/domains/dam/imageWidget/composables/imageDialogDamAuthors.d.ts +11 -13
- package/dist/domains/dam/imageWidget/composables/imageDialogDamAuthors.js.map +1 -1
- package/dist/domains/dam/imageWidget/composables/useImageMassOperations.js.map +1 -1
- package/dist/domains/dam/imageWidget/store/imageMediaWidgetStore.js.map +1 -1
- package/dist/domains/dam/imageWidget/store/imageStore.js.map +1 -1
- package/dist/domains/dam/imageWidget/utils/damImage.d.ts +5 -6
- package/dist/domains/dam/imageWidget/utils/damImage.js.map +1 -1
- package/dist/domains/dam/imageWidget/utils/fieldLockTurns.d.ts +1 -2
- package/dist/domains/dam/imageWidget/utils/fieldLockTurns.js.map +1 -1
- package/dist/domains/dam/imageWidget/utils/imageSaves.d.ts +10 -14
- package/dist/domains/dam/imageWidget/utils/imageSaves.js.map +1 -1
- package/dist/domains/dam/imageWidget/utils/metadataToImageMap.js.map +1 -1
- package/dist/domains/dam/imageWidget/utils/waitLimit.d.ts +4 -6
- package/dist/domains/dam/imageWidget/utils/waitLimit.js.map +1 -1
- package/dist/domains/dam/keyword/api/keywordApi.js.map +1 -1
- package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.js.map +1 -1
- package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.vue.d.ts +1 -1
- package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.js.map +1 -1
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue.d.ts +8 -5
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.js +1 -1
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.js.map +1 -1
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue.d.ts +2 -2
- package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/keyword/composables/cachedKeywords.d.ts +5 -4
- package/dist/domains/dam/keyword/composables/cachedKeywords.js.map +1 -1
- package/dist/domains/dam/keyword/composables/damKeywordConfig.d.ts +2 -2
- package/dist/domains/dam/keyword/composables/damKeywordConfig.js.map +1 -1
- package/dist/domains/dam/types/Asset.d.ts +1 -1
- package/dist/domains/dam/types/Asset.js.map +1 -1
- package/dist/domains/dam/types/UploadQueue.d.ts +5 -4
- package/dist/domains/dam/types/UploadQueue.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue.d.ts +2 -2
- package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialog.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingle.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingle.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue.d.ts +6 -4
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue.d.ts +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.vue.d.ts +6 -6
- package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.vue.d.ts +13 -13
- package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/uploadQueue/components/uploadQueueBindings.d.ts +13 -13
- package/dist/domains/dam/uploadQueue/components/uploadQueueBindings.js.map +1 -1
- package/dist/domains/dam/uploadQueue/composables/damUploadChunkSize.d.ts +2 -2
- package/dist/domains/dam/uploadQueue/composables/damUploadChunkSize.js.map +1 -1
- package/dist/domains/dam/uploadQueue/composables/uploadMeter.d.ts +12 -12
- package/dist/domains/dam/uploadQueue/composables/uploadMeter.js.map +1 -1
- package/dist/domains/dam/uploadQueue/composables/uploadQueueItemRefresh.d.ts +5 -5
- package/dist/domains/dam/uploadQueue/composables/uploadQueueItemRefresh.js.map +1 -1
- package/dist/domains/dam/uploadQueue/composables/uploadService.d.ts +2 -3
- package/dist/domains/dam/uploadQueue/composables/uploadService.js.map +1 -1
- package/dist/domains/dam/uploadQueue/composables/useUploadQueueDialog.d.ts +5 -4
- package/dist/domains/dam/uploadQueue/composables/useUploadQueueDialog.js.map +1 -1
- package/dist/domains/dam/uploadQueue/core/uploadQueueCore.d.ts +3 -2
- package/dist/domains/dam/uploadQueue/core/uploadQueueCore.js.map +1 -1
- package/dist/domains/dam/uploadQueue/core/uploadQueueCoreTypes.d.ts +8 -5
- package/dist/domains/dam/uploadQueue/core/uploadQueueCoreTypes.js.map +1 -1
- package/dist/domains/dam/uploadQueue/core/uploadQueueFill.d.ts +3 -3
- package/dist/domains/dam/uploadQueue/core/uploadQueueFill.js.map +1 -1
- package/dist/domains/dam/uploadQueue/presets/queuePresets.d.ts +8 -5
- package/dist/domains/dam/uploadQueue/presets/queuePresets.js.map +1 -1
- package/dist/domains/dam/uploadQueue/presets/uploadPresets.d.ts +15 -13
- package/dist/domains/dam/uploadQueue/presets/uploadPresets.js.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadPollSchedule.d.ts +7 -7
- package/dist/domains/dam/uploadQueue/settlement/uploadPollSchedule.js.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadPoller.d.ts +4 -4
- package/dist/domains/dam/uploadQueue/settlement/uploadPoller.js.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadSettle.d.ts +28 -30
- package/dist/domains/dam/uploadQueue/settlement/uploadSettle.js.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlement.d.ts +2 -2
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlement.js.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlementRuntime.d.ts +2 -2
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlementRuntime.js.map +1 -1
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlementTypes.d.ts +63 -73
- package/dist/domains/dam/uploadQueue/settlement/uploadSettlementTypes.js.map +1 -1
- package/dist/domains/dam/uploadQueue/store/uploadQueuesStore.d.ts +8 -9
- package/dist/domains/dam/uploadQueue/store/uploadQueuesStore.js.map +1 -1
- package/dist/domains/dam/user/api/userApi.d.ts +2 -2
- package/dist/domains/dam/user/api/userApi.js.map +1 -1
- package/dist/domains/dam/user/components/DamDistributionServiceSelect.js.map +1 -1
- package/dist/domains/dam/user/components/DamDistributionServiceSelect.vue.d.ts +1 -1
- package/dist/domains/dam/user/components/DamDistributionServiceSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.js.map +1 -1
- package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.vue.d.ts +1 -1
- package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.js.map +1 -1
- package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.vue.d.ts +1 -1
- package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/dam/user/composables/damUserSelectActions.d.ts +1 -1
- package/dist/domains/dam/user/composables/damUserSelectActions.js.map +1 -1
- package/dist/domains/dam/user/types/DamDistributionServiceType.d.ts +2 -2
- package/dist/domains/dam/user/types/DamDistributionServiceType.js.map +1 -1
- package/dist/domains/dam/user/types/DamExternalProviderAssetType.d.ts +1 -1
- package/dist/domains/dam/user/types/DamExternalProviderAssetType.js.map +1 -1
- package/dist/domains/filters/bookmarks/components/FilterBookmarkDialog.js.map +1 -1
- package/dist/domains/filters/bookmarks/components/FilterBookmarkDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/bookmarks/store/bookmarksStore.d.ts +3 -3
- package/dist/domains/filters/bookmarks/store/bookmarksStore.js.map +1 -1
- package/dist/domains/filters/components/AFilterDatetimePicker.js.map +1 -1
- package/dist/domains/filters/components/AFilterDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterInteger.js.map +1 -1
- package/dist/domains/filters/components/AFilterInteger.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterString.js.map +1 -1
- package/dist/domains/filters/components/AFilterString.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterTimeInterval.js +1 -1
- package/dist/domains/filters/components/AFilterTimeInterval.js.map +1 -1
- package/dist/domains/filters/components/AFilterTimeInterval.vue.d.ts +5 -3
- package/dist/domains/filters/components/AFilterTimeInterval.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterValueObjectOptionsSelect.js.map +1 -1
- package/dist/domains/filters/components/AFilterValueObjectOptionsSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterWrapper.js.map +1 -1
- package/dist/domains/filters/components/AFilterWrapper.vue.d.ts +17 -15
- package/dist/domains/filters/components/AFilterWrapper.vue_vue_type_script_setup_true_lang.js +63 -62
- package/dist/domains/filters/components/AFilterWrapper.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/components/AFilterWrapperSidebar.vue.d.ts +5 -3
- package/dist/domains/filters/components/FiltersSelected.js.map +1 -1
- package/dist/domains/filters/components/FiltersSelected.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/composables/filterFactory.d.ts +16 -26
- package/dist/domains/filters/composables/filterFactory.js +38 -31
- package/dist/domains/filters/composables/filterFactory.js.map +1 -1
- package/dist/domains/filters/datatable/components/ADatatableOrdering.js.map +1 -1
- package/dist/domains/filters/datatable/components/ADatatableOrdering.vue_vue_type_script_setup_true_lang.js +3 -1
- package/dist/domains/filters/datatable/components/ADatatableOrdering.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/datatable/components/ADatatablePagination.js.map +1 -1
- package/dist/domains/filters/datatable/components/ADatatablePagination.vue_vue_type_script_setup_true_lang.js +2 -4
- package/dist/domains/filters/datatable/components/ADatatablePagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/filters/utils/filterInjectionKeys.js.map +1 -1
- package/dist/domains/form/components/AFormDatetimePicker.js.map +1 -1
- package/dist/domains/form/components/AFormDatetimePicker.vue.d.ts +7 -5
- package/dist/domains/form/components/AFormDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/form/components/AFormFlagDatetimePicker.js.map +1 -1
- package/dist/domains/form/components/AFormFlagDatetimePicker.vue.d.ts +7 -5
- package/dist/domains/form/components/AFormFlagDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/form/components/AFormSwitch.vue.d.ts +7 -5
- package/dist/domains/form/components/AFormTextField.js.map +1 -1
- package/dist/domains/form/components/AFormTextField.vue.d.ts +9 -7
- package/dist/domains/form/components/AFormTextField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/form/components/AFormTextarea.vue.d.ts +13 -11
- package/dist/domains/form/components/AFormValueObjectOptionsSelect.vue.d.ts +7 -5
- package/dist/domains/form/components/ASystemEntityScope.vue.d.ts +5 -3
- package/dist/domains/job/api/jobApi.js.map +1 -1
- package/dist/domains/job/components/AJobDetailCommon.vue.d.ts +5 -3
- package/dist/domains/listEditor/components/AListEditor.js.map +1 -1
- package/dist/domains/listEditor/components/AListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/listEditor/components/ANestedSortableListEditor.js.map +1 -1
- package/dist/domains/listEditor/components/ANestedSortableListEditor.vue.d.ts +2 -3
- package/dist/domains/listEditor/components/ANestedSortableListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/listEditor/components/ASortableListEditor.js.map +1 -1
- package/dist/domains/listEditor/components/ASortableListEditor.vue.d.ts +2 -3
- package/dist/domains/listEditor/components/ASortableListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/listEditor/composables/useListEditorController.d.ts +4 -5
- package/dist/domains/listEditor/composables/useListEditorController.js.map +1 -1
- package/dist/domains/listEditor/composables/useNestedListEditor.d.ts +3 -4
- package/dist/domains/listEditor/composables/useNestedListEditor.js.map +1 -1
- package/dist/domains/listEditor/composables/useNestedListEditorController.d.ts +5 -4
- package/dist/domains/listEditor/composables/useNestedListEditorController.js.map +1 -1
- package/dist/domains/listEditor/composables/useReorderMode.js.map +1 -1
- package/dist/domains/listEditor/types/listEditorTypes.d.ts +2 -2
- package/dist/domains/listEditor/utils/listEditorLoader.d.ts +5 -5
- package/dist/domains/listEditor/utils/listEditorLoader.js.map +1 -1
- package/dist/domains/listEditor/utils/resolveCompactText.js.map +1 -1
- package/dist/domains/log/api/logApi.d.ts +2 -3
- package/dist/domains/log/api/logApi.js.map +1 -1
- package/dist/domains/log/components/ALogDatatable.js.map +1 -1
- package/dist/domains/log/components/ALogDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/log/components/ALogDetailView.js.map +1 -1
- package/dist/domains/log/components/ALogDetailView.vue.d.ts +1 -1
- package/dist/domains/log/components/ALogDetailView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/log/components/ALogFilter.js.map +1 -1
- package/dist/domains/log/components/ALogFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/log/components/ALogListView.js.map +1 -1
- package/dist/domains/log/components/ALogListView.vue.d.ts +1 -1
- package/dist/domains/log/components/ALogListView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/log/composables/logActions.d.ts +4 -5
- package/dist/domains/log/composables/logActions.js.map +1 -1
- package/dist/domains/log/composables/logType.d.ts +6 -7
- package/dist/domains/log/composables/logType.js.map +1 -1
- package/dist/domains/log/filter/logFilter.d.ts +8 -11
- package/dist/domains/log/filter/logFilter.js.map +1 -1
- package/dist/domains/permission/components/APermissionEditor.js.map +1 -1
- package/dist/domains/permission/components/APermissionEditor.vue.d.ts +4 -4
- package/dist/domains/permission/components/APermissionEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/permission/composables/permissionActions.d.ts +3 -6
- package/dist/domains/permission/composables/permissionActions.js.map +1 -1
- package/dist/domains/permission/config/api/permissionConfigApi.d.ts +2 -2
- package/dist/domains/permission/config/api/permissionConfigApi.js.map +1 -1
- package/dist/domains/permission/config/composables/permissionConfigActions.d.ts +3 -7
- package/dist/domains/permission/config/composables/permissionConfigActions.js.map +1 -1
- package/dist/domains/permission/config/store/permissionConfigStore.d.ts +2 -4
- package/dist/domains/permission/config/store/permissionConfigStore.js.map +1 -1
- package/dist/domains/permission/group/api/permissionGroupApi.d.ts +8 -10
- package/dist/domains/permission/group/api/permissionGroupApi.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupDatatable.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupDatatable.vue.d.ts +12 -10
- package/dist/domains/permission/group/components/APermissionGroupDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupDetail.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupDetail.vue.d.ts +21 -22
- package/dist/domains/permission/group/components/APermissionGroupDetail.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupManage.js.map +1 -1
- package/dist/domains/permission/group/components/APermissionGroupManage.vue.d.ts +21 -22
- package/dist/domains/permission/group/components/APermissionGroupManage.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/permission/group/composables/cachedPermissionGroups.js.map +1 -1
- package/dist/domains/permission/group/composables/permissionGroupActions.d.ts +6 -8
- package/dist/domains/permission/group/composables/permissionGroupActions.js.map +1 -1
- package/dist/domains/permission/group/composables/permissionGroupValidations.d.ts +2 -3
- package/dist/domains/permission/group/composables/permissionGroupValidations.js.map +1 -1
- package/dist/domains/permission/group/filter/permissionGroupFilter.d.ts +2 -3
- package/dist/domains/permission/group/filter/permissionGroupFilter.js.map +1 -1
- package/dist/domains/permission/group/store/permissionGroupStore.d.ts +3 -6
- package/dist/domains/permission/group/store/permissionGroupStore.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue.d.ts +5 -3
- package/dist/domains/remoteAutocomplete/composables/createRemoteAutocomplete.d.ts +11 -13
- package/dist/domains/remoteAutocomplete/composables/createRemoteAutocomplete.js.map +1 -1
- package/dist/domains/subjectSelect/components/AFilterWrapperSubjectSelect.vue.d.ts +13 -11
- package/dist/domains/subjectSelect/components/ASubjectSelect.js.map +1 -1
- package/dist/domains/subjectSelect/components/ASubjectSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/subjectSelect/composables/useSubjectSelect.js +53 -51
- package/dist/domains/subjectSelect/composables/useSubjectSelect.js.map +1 -1
- package/dist/domains/system/appShell/components/AActionbar.vue.d.ts +7 -5
- package/dist/domains/system/appShell/components/ALayoutSwitch.js.map +1 -1
- package/dist/domains/system/appShell/components/ALayoutSwitch.vue.d.ts +7 -5
- package/dist/domains/system/appShell/components/ALayoutSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/system/appShell/composables/teleportSlot.d.ts +0 -1
- package/dist/domains/system/appShell/composables/teleportSlot.js.map +1 -1
- package/dist/domains/system/components/AAlerts.js.map +1 -1
- package/dist/domains/system/components/AAlerts.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/system/composables/alerts.js.map +1 -1
- package/dist/domains/system/composables/breadcrumbs.d.ts +3 -3
- package/dist/domains/system/composables/breadcrumbs.js.map +1 -1
- package/dist/domains/system/composables/languageSettings.js.map +1 -1
- package/dist/domains/system/composables/loginStatus.js.map +1 -1
- package/dist/domains/system/composables/navigationError.d.ts +6 -8
- package/dist/domains/system/composables/navigationError.js.map +1 -1
- package/dist/domains/system/composables/pageNavigation.d.ts +9 -10
- package/dist/domains/system/composables/pageNavigation.js.map +1 -1
- package/dist/domains/system/composables/recordActions.d.ts +14 -22
- package/dist/domains/system/composables/recordActions.js.map +1 -1
- package/dist/domains/system/composables/recordPage.d.ts +23 -38
- package/dist/domains/system/composables/recordPage.js.map +1 -1
- package/dist/domains/system/composables/routeHistory.d.ts +4 -5
- package/dist/domains/system/composables/routeHistory.js.map +1 -1
- package/dist/domains/system/composables/sentry.js.map +1 -1
- package/dist/domains/system/composables/useDebugFeatures.d.ts +3 -6
- package/dist/domains/system/composables/useDebugFeatures.js.map +1 -1
- package/dist/domains/system/store/datatablePageStore.d.ts +8 -1
- package/dist/domains/system/store/datatablePageStore.js +10 -3
- package/dist/domains/system/store/datatablePageStore.js.map +1 -1
- package/dist/domains/system/systemBar/components/ASystemBar.js.map +1 -1
- package/dist/domains/system/systemBar/components/ASystemBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/system/systemBar/utils/appReload.d.ts +5 -5
- package/dist/domains/system/systemBar/utils/appReload.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.vue.d.ts +2 -3
- package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionDeleteButton.js.map +1 -1
- package/dist/domains/ui/buttons/action/components/AActionDeleteButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/buttons/components/ABtnSplit.vue.d.ts +9 -7
- package/dist/domains/ui/components/AAvatarColorPicker.js.map +1 -1
- package/dist/domains/ui/components/AAvatarColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/ACard.js.map +1 -1
- package/dist/domains/ui/components/ACard.vue.d.ts +7 -3
- package/dist/domains/ui/components/ACard.vue_vue_type_script_setup_true_lang.js +6 -2
- package/dist/domains/ui/components/ACard.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/ACardLoader.js.map +1 -1
- package/dist/domains/ui/components/ACardLoader.vue.d.ts +1 -0
- package/dist/domains/ui/components/ACardLoader.vue_vue_type_script_setup_true_lang.js +13 -7
- package/dist/domains/ui/components/ACardLoader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/AChipNoLink.vue.d.ts +5 -3
- package/dist/domains/ui/components/ACopyText.vue.d.ts +9 -7
- package/dist/domains/ui/components/ACreateDialog.js.map +1 -1
- package/dist/domains/ui/components/ACreateDialog.vue.d.ts +11 -9
- package/dist/domains/ui/components/ACreateDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/ADialogToolbar.vue.d.ts +5 -3
- package/dist/domains/ui/components/ARow.vue.d.ts +5 -3
- package/dist/domains/ui/components/ATimeTrackingFields.js.map +1 -1
- package/dist/domains/ui/components/ATimeTrackingFields.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/components/AUserAndTimeTrackingFields.js.map +1 -1
- package/dist/domains/ui/components/AUserAndTimeTrackingFields.vue.d.ts +3 -5
- package/dist/domains/ui/components/AUserAndTimeTrackingFields.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/datetime/components/ADatetimePicker.js +1 -1
- package/dist/domains/ui/datetime/components/ADatetimePicker.js.map +1 -1
- package/dist/domains/ui/datetime/components/ADatetimePicker.vue.d.ts +5 -3
- package/dist/domains/ui/datetime/components/ADatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/file/components/AFileDropzone.js.map +1 -1
- package/dist/domains/ui/file/components/AFileDropzone.vue.d.ts +1 -1
- package/dist/domains/ui/file/components/AFileDropzone.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/file/components/AFileInput.js.map +1 -1
- package/dist/domains/ui/file/components/AFileInput.vue.d.ts +9 -7
- package/dist/domains/ui/file/components/AFileInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/file/components/AFileInputDialog.js.map +1 -1
- package/dist/domains/ui/file/components/AFileInputDialog.vue.d.ts +9 -7
- package/dist/domains/ui/file/components/AFileInputDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/file/composables/dropzone.js.map +1 -1
- package/dist/domains/ui/file/composables/formatAndSizeCheck.js.map +1 -1
- package/dist/domains/ui/view/components/AGenericView.vue.d.ts +7 -5
- package/dist/domains/ui/view/components/ALoginView.js +1 -1
- package/dist/domains/ui/view/components/ALoginView.js.map +1 -1
- package/dist/domains/ui/view/components/ALoginView.vue.d.ts +5 -3
- package/dist/domains/ui/view/components/ALoginView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/view/components/ALogoutView.js.map +1 -1
- package/dist/domains/ui/view/components/ALogoutView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/ui/view/components/ANotFoundView.js.map +1 -1
- package/dist/domains/ui/view/components/ANotFoundView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/domains/unsavedGuard/composables/useUnsavedChangesGuard.d.ts +6 -7
- package/dist/domains/unsavedGuard/composables/useUnsavedChangesGuard.js.map +1 -1
- package/dist/lib.d.ts +2 -2
- package/dist/plugins/commonVuetifyConfig.d.ts +3 -3
- package/dist/plugins/commonVuetifyConfig.js.map +1 -1
- package/dist/plugins/i18n.d.ts +4 -5
- package/dist/plugins/i18n.js.map +1 -1
- package/dist/plugins/pluginOptions.d.ts +4 -2
- package/dist/plugins/pluginOptions.js.map +1 -1
- package/dist/plugins/webfontloader.js.map +1 -1
- package/dist/shared/error/AnzuApiCancelledError.d.ts +5 -8
- package/dist/shared/error/AnzuApiCancelledError.js.map +1 -1
- package/dist/shared/error/AnzuError.d.ts +3 -5
- package/dist/shared/error/AnzuError.js.map +1 -1
- package/dist/shared/error/AuthUnavailableError.d.ts +3 -3
- package/dist/shared/error/AuthUnavailableError.js.map +1 -1
- package/dist/shared/error/isInCauseChain.d.ts +2 -2
- package/dist/shared/error/isInCauseChain.js.map +1 -1
- package/dist/shared/types/UserAndTimeTracking.d.ts +5 -5
- package/dist/shared/types/Validation.d.ts +4 -5
- package/dist/shared/types/common.d.ts +1 -3
- package/dist/shared/types/globalComponents.d.ts +5 -6
- package/dist/shared/utils/common.js.map +1 -1
- package/dist/shared/utils/datetime.d.ts +0 -1
- package/dist/shared/utils/datetime.js.map +1 -1
- package/dist/shared/utils/datetimePickerValue.d.ts +4 -7
- package/dist/shared/utils/datetimePickerValue.js.map +1 -1
- package/dist/shared/utils/development.d.ts +3 -3
- package/dist/shared/utils/development.js.map +1 -1
- package/dist/shared/utils/envConfig.d.ts +4 -4
- package/dist/shared/utils/envConfig.js.map +1 -1
- package/dist/shared/utils/json.d.ts +1 -1
- package/dist/shared/utils/json.js.map +1 -1
- package/dist/shared/utils/userAndTimeTracking.d.ts +5 -7
- package/dist/shared/utils/userAndTimeTracking.js.map +1 -1
- package/dist/shared/validators/vuelidate/common/useValidateHexColor.d.ts +3 -5
- package/dist/shared/validators/vuelidate/common/useValidateHexColor.js.map +1 -1
- package/dist/testing/appShell.d.ts +11 -11
- package/dist/testing/appShell.js.map +1 -1
- package/dist/testing/closeButtons.d.ts +9 -11
- package/dist/testing/closeButtons.js.map +1 -1
- package/dist/testing/declaredDependencies.d.ts +7 -7
- package/dist/testing/declaredDependencies.js.map +1 -1
- package/dist/testing/generatedRoutes.d.ts +6 -11
- package/dist/testing/generatedRoutes.js.map +1 -1
- package/dist/testing/routeHistory.d.ts +5 -12
- package/dist/testing/routeHistory.js.map +1 -1
- package/dist/testing/sortableLists.d.ts +16 -21
- package/dist/testing/sortableLists.js.map +1 -1
- package/dist/testing/typedRouter.d.ts +0 -1
- package/dist/testing/typedRouter.js.map +1 -1
- package/package.json +39 -29
- package/src/e2e/conventions.d.mts +4 -0
- package/src/e2e/conventions.mjs +15 -0
- package/src/e2e/index.d.mts +8 -0
- package/src/e2e/index.mjs +1 -0
- package/src/e2e/routeWalk.d.mts +43 -0
- package/src/e2e/routeWalk.mjs +606 -0
- package/src/e2e/types.d.mts +161 -0
- package/src/eslint/adminConfig.mjs +19 -27
- package/src/eslint/globalComponentNames.mjs +3 -4
- package/src/eslint/oxlint.mjs +7 -20
- package/src/eslint/plugin.d.mts +2 -4
- package/src/eslint/plugin.mjs +18 -34
- package/src/eslint/validRouteName.mjs +6 -7
- package/src/vite/devWatch.mjs +30 -43
- package/src/vite/index.d.mts +5 -5
- package/src/vite/sentry.mjs +7 -12
- package/src/vite/sourcemaps.mjs +4 -8
|
@@ -5,28 +5,25 @@ export declare const ANZU_USER_ENDPOINT = "/adm/v1/anzu-user";
|
|
|
5
5
|
export interface AnzuUserApiParams {
|
|
6
6
|
client: AxiosClientFn;
|
|
7
7
|
/**
|
|
8
|
-
* Both reach every `useApiRequest` built here.
|
|
9
|
-
*
|
|
10
|
-
* the same file now serves nine backends, and the error context has to name the right one.
|
|
8
|
+
* Both reach every `useApiRequest` built here.
|
|
9
|
+
* This file serves nine backends, so the error context has to name the right one.
|
|
11
10
|
*/
|
|
12
11
|
system: string;
|
|
13
12
|
entity?: string;
|
|
14
13
|
/**
|
|
15
|
-
* i18n scope for
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* contentHub passes its own pair to keep the keys it already has.
|
|
14
|
+
* i18n scope for server-side validation failures, separate from which backend answered.
|
|
15
|
+
* `AnzuApiValidationError` builds `<system>.<entity>.model.<field>` keys. For a component shared by
|
|
16
|
+
* nine backends the labels are the library's `common.*`; `weather.anzuUser.model.email` does not exist.
|
|
17
|
+
* Defaults to `common` plus the entity. contentHub passes its own pair to keep its existing keys.
|
|
20
18
|
*/
|
|
21
19
|
validationSystem?: string;
|
|
22
20
|
validationEntity?: string;
|
|
23
21
|
endPoint?: string;
|
|
24
22
|
}
|
|
25
23
|
/**
|
|
26
|
-
* Generic in the user type
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* body of a write is the whole object the preceding GET returned.
|
|
24
|
+
* Generic in the user type: the systems on `/adm/users` return their own DTO (`CmsUserDto`,
|
|
25
|
+
* `DamUserDto`, `ContentHubUserDto`) extending `UserDto` with system fields.
|
|
26
|
+
* Those fields must survive the round trip: a write body is the whole object the preceding GET returned.
|
|
30
27
|
*/
|
|
31
28
|
export declare const useAnzuUserApi: <T extends AnzuUser = AnzuUser>({ client, system, entity, validationSystem, validationEntity, endPoint, }: AnzuUserApiParams) => {
|
|
32
29
|
useFetchAnzuUserListByIds: () => import('../../api/composables/useApiFetchByIds').UseApiFetchByIdsReturnType<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anzuUserApi.js","names":["ANZU_USER_ENTITY","ANZU_USER_ENDPOINT","useAnzuUserApi","entity","scope","useApiFetchByIds","endPoint","useApiFetchList","useApiRequest","patchEndPoint"],"sources":["../../../../src/domains/anzuUser/api/anzuUserApi.ts"],"sourcesContent":["import type { AxiosClientFn } from '@/domains/api/utils/client'\nimport { useApiFetchByIds } from '@/domains/api/composables/useApiFetchByIds'\nimport { useApiFetchList } from '@/domains/api/composables/useApiFetchList'\nimport { useApiRequest } from '@/domains/api/composables/useApiRequest'\nimport type { AnzuUser } from '@/shared/types/AnzuUser'\n\nexport const ANZU_USER_ENTITY = 'anzuUser'\nexport const ANZU_USER_ENDPOINT = '/adm/v1/anzu-user'\n\nexport interface AnzuUserApiParams {\n client: AxiosClientFn\n /**\n * Both reach every `useApiRequest` built here
|
|
1
|
+
{"version":3,"file":"anzuUserApi.js","names":["ANZU_USER_ENTITY","ANZU_USER_ENDPOINT","useAnzuUserApi","entity","scope","useApiFetchByIds","endPoint","useApiFetchList","useApiRequest","patchEndPoint"],"sources":["../../../../src/domains/anzuUser/api/anzuUserApi.ts"],"sourcesContent":["import type { AxiosClientFn } from '@/domains/api/utils/client'\nimport { useApiFetchByIds } from '@/domains/api/composables/useApiFetchByIds'\nimport { useApiFetchList } from '@/domains/api/composables/useApiFetchList'\nimport { useApiRequest } from '@/domains/api/composables/useApiRequest'\nimport type { AnzuUser } from '@/shared/types/AnzuUser'\n\nexport const ANZU_USER_ENTITY = 'anzuUser'\nexport const ANZU_USER_ENDPOINT = '/adm/v1/anzu-user'\n\nexport interface AnzuUserApiParams {\n client: AxiosClientFn\n /**\n * Both reach every `useApiRequest` built here.\n * This file serves nine backends, so the error context has to name the right one.\n */\n system: string\n entity?: string\n /**\n * i18n scope for server-side validation failures, separate from which backend answered.\n * `AnzuApiValidationError` builds `<system>.<entity>.model.<field>` keys. For a component shared by\n * nine backends the labels are the library's `common.*`; `weather.anzuUser.model.email` does not exist.\n * Defaults to `common` plus the entity. contentHub passes its own pair to keep its existing keys.\n */\n validationSystem?: string\n validationEntity?: string\n endPoint?: string\n}\n\n/**\n * Generic in the user type: the systems on `/adm/users` return their own DTO (`CmsUserDto`,\n * `DamUserDto`, `ContentHubUserDto`) extending `UserDto` with system fields.\n * Those fields must survive the round trip: a write body is the whole object the preceding GET returned.\n */\nexport const useAnzuUserApi = <T extends AnzuUser = AnzuUser>({\n client,\n system,\n entity = ANZU_USER_ENTITY,\n validationSystem = 'common',\n validationEntity = entity,\n endPoint = ANZU_USER_ENDPOINT,\n}: AnzuUserApiParams) => {\n const scope = { validationSystem, validationEntity }\n const useFetchAnzuUserListByIds = () =>\n useApiFetchByIds<T>({ client, system, entity, ...scope, urlTemplate: endPoint })\n\n const useFetchAnzuUserList = () => useApiFetchList<T>({ client, system, entity, ...scope, urlTemplate: endPoint })\n\n const useFetchAnzuUser = () =>\n useApiRequest<T, null>({ client, method: 'GET', system, entity, ...scope, urlTemplate: endPoint + '/:id' })\n\n const useCreateAnzuUser = () =>\n useApiRequest<T, T>({ client, method: 'POST', system, entity, ...scope, urlTemplate: endPoint })\n\n const useUpdateAnzuUser = () =>\n useApiRequest<T, T>({ client, method: 'PUT', system, entity, ...scope, urlTemplate: endPoint + '/:id' })\n\n /**\n * Only cms, dam and contentHub have this path. It is the safe path for metadata:\n * the backend method writes e-mail, locale, avatar and person and nothing else.\n * The body is the whole record from the preceding read, typed `T`, not `BaseUser`. The method calls `setLocale`\n * unconditionally, and `BaseUser` has no `locale`, so a `BaseUser` body would erase the user's interface language.\n * The body must also carry `id`. `BaseUserDto` has a uniqueness constraint on `id` and `email`, and the validator\n * excludes the record itself only when `id` is set. Without it the server reports the user's own e-mail as taken.\n */\n const usePatchBaseUser = (patchEndPoint: string) =>\n useApiRequest<T, T>({ client, method: 'PATCH', system, entity, ...scope, urlTemplate: patchEndPoint })\n\n return {\n useFetchAnzuUserListByIds,\n useFetchAnzuUserList,\n useFetchAnzuUser,\n useCreateAnzuUser,\n useUpdateAnzuUser,\n usePatchBaseUser,\n }\n}\n"],"mappings":";;;;AAMA,IAAaA,IAAmB,YACnBC,IAAqB,qBA0BrBC,KAAiD,EAC5D,WACA,WACA,YAASF,GACT,sBAAmB,UACnB,sBAAmBG,GACnB,cAAWF,QACY;CACvB,IAAMG,IAAQ;EAAE;EAAkB;CAAiB;CA0BnD,OAAO;EACL,iCAzBAC,EAAoB;GAAE;GAAQ;GAAQ;GAAQ,GAAGD;GAAO,aAAaE;EAAS,CAAC;EA0B/E,4BAxBiCC,EAAmB;GAAE;GAAQ;GAAQ;GAAQ,GAAGH;GAAO,aAAaE;EAAS,CAAC;EAyB/G,wBAtBAE,EAAuB;GAAE;GAAQ,QAAQ;GAAO;GAAQ;GAAQ,GAAGJ;GAAO,aAAaE,IAAW;EAAO,CAAC;EAuB1G,yBApBAE,EAAoB;GAAE;GAAQ,QAAQ;GAAQ;GAAQ;GAAQ,GAAGJ;GAAO,aAAaE;EAAS,CAAC;EAqB/F,yBAlBAE,EAAoB;GAAE;GAAQ,QAAQ;GAAO;GAAQ;GAAQ,GAAGJ;GAAO,aAAaE,IAAW;EAAO,CAAC;EAmBvG,mBATwB,MACxBE,EAAoB;GAAE;GAAQ,QAAQ;GAAS;GAAQ;GAAQ,GAAGJ;GAAO,aAAaK;EAAc,CAAC;CASvG;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AAnzuUserDatatable.js","names":["_sfc_main","AAnzuUserDatatable_vue_vue_type_script_setup_true_lang_default","AAnzuUserDatatable_default"],"sources":["../../../../src/domains/anzuUser/components/AAnzuUserDatatable.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, onBeforeUnmount, onMounted, provide, useSlots, watch } from 'vue'\nimport type { RouteLocationRaw } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport type { AxiosInstance } from 'axios'\nimport { useDebounceFn } from '@vueuse/core'\nimport ABooleanValue from '@/domains/ui/components/ABooleanValue.vue'\nimport ADatatableConfigButton from '@/domains/filters/datatable/components/ADatatableConfigButton.vue'\nimport ADatetime from '@/domains/ui/datetime/components/ADatetime.vue'\nimport ATableCopyIdButton from '@/domains/ui/buttons/table/components/ATableCopyIdButton.vue'\nimport { SORT_BY_ID } from '@/domains/filters/datatable/utils/datatableColumns'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport ADatatableOrdering from '@/domains/filters/datatable/components/ADatatableOrdering.vue'\nimport ADatatablePagination from '@/domains/filters/datatable/components/ADatatablePagination.vue'\nimport { createDatatableColumnsConfig } from '@/domains/filters/datatable/composables/createDatatableColumnsConfig'\nimport {\n useFilterHelpers,\n type FilterStoreIdentifier,\n type MakeFilterOption,\n} from '@/domains/filters/composables/filterFactory'\nimport { DatatablePaginationKey, FilterConfigKey, FilterDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport { usePagination } from '@/domains/api/composables/pagination'\nimport AAnzuUserFilter from '@/domains/anzuUser/components/AAnzuUserFilter.vue'\nimport { useAnzuUserActions } from '@/domains/anzuUser/composables/anzuUserActions'\nimport { ANZU_USER_ENTITY } from '@/domains/anzuUser/api/anzuUserApi'\nimport { anzuUserFilterStorageKey, useAnzuUserListFilter } from '@/domains/anzuUser/filter/anzuUserFilter'\nimport { usePermissionConfigActions } from '@/domains/permission/config/composables/permissionConfigActions'\nimport { useCachedPermissionGroups } from '@/domains/permission/group/composables/cachedPermissionGroups'\nimport { PERMISSION_GROUP_ENDPOINT } from '@/domains/permission/group/api/permissionGroupApi'\nimport type { AnzuUser } from '@/shared/types/AnzuUser'\nimport type { IntegerIdNullable } from '@/shared/types/common'\n\ntype DatatableItem = AnzuUser\n\nconst props = withDefaults(\n defineProps<{\n client: AxiosClientFn\n system: string\n entity?: string | undefined\n endPoint?: string | undefined\n detailRoute: (user: AnzuUser) => RouteLocationRaw\n editRoute: (user: AnzuUser) => RouteLocationRaw\n /** Already-evaluated ACL of the owning system. */\n canUpdate?: boolean\n /** The permission-group endpoint, which is not the user one. */\n permissionGroupEndPoint?: string\n /**\n * Extra columns the app draws through `#systemColumns`, appended after the shared ones.\n *\n * A bare key takes its header from the library's own `common.anzuUser.model.*`, which holds\n * eight keys and none of any system's -- so a system column passes its title already\n * translated, out of the namespace that has it.\n */\n systemColumns?: Array<string | { key: string; title: string }>\n /**\n * Signing in as somebody else, as a switchable feature.\n *\n * A callback rather than a path, because there is more than one mechanism: cms posts to\n * `/adm/users/{id}/impersonate` and gets a JWT with an impersonation claim, blog opens the\n * public site through `window.open`. Only the cms one reaches a shared component -- blog's\n * hangs off its product user, which is a different view -- so one prop is enough for now.\n * Left unset, nothing is drawn.\n */\n impersonate?: ((user: AnzuUser) => void) | undefined\n canImpersonate?: boolean\n /**\n * Filter fields this system adds to the shared three.\n *\n * A parameter and not part of the shared list, because the same filter is not the same query\n * everywhere: cms asks for permission groups with `memberOf`, dam with `custom`, and\n * `allowedSites` exists only in cms. A plain field needs nothing more -- the generic renderer\n * draws it -- while one that wants a remote autocomplete comes in through `#filter.<name>`.\n */\n filterFields?: readonly MakeFilterOption[]\n /**\n * Saved filters, which are stored per user, so both are needed for the button to appear. cms\n * and dam have them on the list this replaces; the other three admins do not.\n */\n filterClient?: (() => AxiosInstance) | undefined\n filterUserId?: IntegerIdNullable | undefined\n /** Where the filter files its saved bookmarks. */\n filterStore?: FilterStoreIdentifier | undefined\n }>(),\n {\n entity: undefined,\n endPoint: undefined,\n permissionGroupEndPoint: PERMISSION_GROUP_ENDPOINT,\n canUpdate: false,\n systemColumns: () => [],\n impersonate: undefined,\n canImpersonate: false,\n filterFields: () => [],\n filterClient: undefined,\n filterUserId: undefined,\n filterStore: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'rowClick', user: AnzuUser): void\n}>()\n\n/* eslint-disable vue/no-setup-props-reactivity-loss */\nconst { t } = useI18n()\nconst { filterConfig, filterData } = useAnzuUserListFilter(props.system, props.filterFields)\nprovide(FilterConfigKey, filterConfig)\nprovide(FilterDataKey, filterData)\n\nconst { fetchAnzuUserList, cancelAnzuUserList, anzuUserList, loadingAnzuUserList, datatableHiddenColumns } =\n useAnzuUserActions({\n client: props.client,\n system: props.system,\n entity: props.entity,\n endPoint: props.endPoint,\n })\n\n// No `entity` here on purpose: this one reads the permission config, which is its own resource.\n// `props.entity` names the user.\nconst { translatePermission } = usePermissionConfigActions({\n client: props.client,\n system: props.system,\n})\n\n/**\n * Group titles for the column, resolved against this system's own cache.\n *\n * Drawn here rather than left to a slot: a group is a group in every admin, the library already\n * has the cache -- keyed per system, because id 42 in weather and id 42 in blog are different rows\n * -- and leaving it to the call sites is how the column ends up empty in every one of them. An app\n * that wants its own chip still overrides through the slot.\n */\nconst { addToCachedPermissionGroups, fetchCachedPermissionGroups, getCachedPermissionGroup } =\n useCachedPermissionGroups({\n client: props.client,\n system: props.system,\n endPoint: props.permissionGroupEndPoint,\n })\n\nconst { resetFilter, submitFilter, loadStoredFilters } = useFilterHelpers(filterData, filterConfig, {\n storeFiltersLocalStorage: anzuUserFilterStorageKey(props.system),\n})\n\nconst { pagination } = usePagination(SORT_BY_ID)\nprovide(DatatablePaginationKey, pagination)\n\nconst { columnsVisible, columnsAll, columnsHidden } = createDatatableColumnsConfig(\n [\n { key: 'id' },\n { key: 'email' },\n { key: 'enabled' },\n { key: 'roles' },\n { key: 'permissionGroups' },\n { key: 'permissions' },\n ...props.systemColumns.map((column) => (typeof column === 'string' ? { key: column } : column)),\n { key: 'createdAt' },\n { key: 'modifiedAt' },\n ],\n datatableHiddenColumns,\n 'common',\n ANZU_USER_ENTITY,\n { storeColumnsLocalStorage: `table_common_anzuUser_${props.system}` }\n)\n/* eslint-enable vue/no-setup-props-reactivity-loss */\n\nconst getList = useDebounceFn(async () => {\n await fetchAnzuUserList(pagination, filterData, filterConfig)\n})\n\nwatch(anzuUserList, (users) => {\n users.forEach((user) => addToCachedPermissionGroups(user.permissionGroups))\n void fetchCachedPermissionGroups()\n})\n\nconst systemColumnKeys = computed(() =>\n props.systemColumns.map((column) => (typeof column === 'string' ? column : column.key))\n)\n\n// `#filter.allowedSites` here becomes `#item.allowedSites` inside the filter, which is the name\n// `AFilterWrapper` renders a field's own widget under. The prefix is what keeps a field slot apart\n// from this table's own `item.*` columns.\nconst slots = useSlots()\nconst FILTER_SLOT_PREFIX = 'filter.'\nconst filterSlotNames = computed(() =>\n Object.keys(slots)\n .filter((name) => name.startsWith(FILTER_SLOT_PREFIX))\n .map((name) => name.slice(FILTER_SLOT_PREFIX.length))\n)\n\nconst submitFilterAction = () => submitFilter(pagination, getList)\nconst resetFilterAction = () => resetFilter(pagination, getList)\n\nconst onRowClick = (_event: unknown, { item }: { item: DatatableItem }) => {\n if (item.id) emit('rowClick', item)\n}\n\nonMounted(() => {\n loadStoredFilters(pagination, getList)\n})\n\nonBeforeUnmount(() => {\n getList.cancel()\n cancelAnzuUserList()\n})\n\ndefineExpose({\n refresh: getList,\n resetFilter: resetFilterAction,\n submitFilter: submitFilterAction,\n})\n</script>\n\n<template>\n <div>\n <AAnzuUserFilter\n v-model:datatable-hidden-columns=\"columnsHidden\"\n :client=\"filterClient\"\n :user-id=\"filterUserId\"\n :store=\"filterStore\"\n @submit=\"submitFilterAction\"\n @reset=\"resetFilterAction\"\n >\n <template\n v-for=\"name in filterSlotNames\"\n :key=\"name\"\n #[`item.${name}`]=\"slotProps\"\n >\n <slot\n :name=\"`${FILTER_SLOT_PREFIX}${name}`\"\n v-bind=\"slotProps ?? {}\"\n />\n </template>\n </AAnzuUserFilter>\n <div>\n <div class=\"d-flex align-center\">\n <VSpacer />\n <ADatatableOrdering\n variant=\"id\"\n @sort-by-change=\"submitFilterAction\"\n />\n <ADatatableConfigButton\n v-model:columns-hidden=\"columnsHidden\"\n :columns-all=\"columnsAll\"\n />\n </div>\n <VDataTableServer\n class=\"a-datatable\"\n :headers=\"columnsVisible\"\n :items=\"anzuUserList\"\n :items-length=\"anzuUserList.length\"\n :loading=\"loadingAnzuUserList\"\n item-value=\"id\"\n @click:row=\"onRowClick\"\n >\n <template #item.enabled=\"{ item }: { item: DatatableItem }\">\n <ABooleanValue\n chip\n :value=\"item.enabled\"\n />\n </template>\n <template #item.roles=\"{ item }: { item: DatatableItem }\">\n <VChip\n v-for=\"role in item.roles\"\n :key=\"role\"\n class=\"mr-1 mb-1\"\n >\n {{ translatePermission('roles', role) }}\n </VChip>\n </template>\n <template #item.permissionGroups=\"{ item }: { item: DatatableItem }\">\n <slot\n name=\"permissionGroups\"\n :ids=\"item.permissionGroups\"\n >\n <VChip\n v-for=\"permissionGroupId in item.permissionGroups\"\n :key=\"permissionGroupId\"\n class=\"mr-1 mb-1\"\n size=\"small\"\n label\n >\n {{ getCachedPermissionGroup(permissionGroupId)?.title || permissionGroupId }}\n </VChip>\n </slot>\n </template>\n <template #item.permissions=\"{ item }: { item: DatatableItem }\">\n <VChip>{{ Object.keys(item.permissions).length }}</VChip>\n </template>\n <template\n v-for=\"column in systemColumnKeys\"\n :key=\"column\"\n #[`item.${column}`]=\"{ item }: { item: DatatableItem }\"\n >\n <slot\n name=\"systemColumns\"\n :column=\"column\"\n :user=\"item\"\n />\n </template>\n <template #item.createdAt=\"{ item }: { item: DatatableItem }\">\n <ADatetime :date-time=\"item.createdAt\" />\n <template v-if=\"$slots.createdBy\">\n <br />\n <slot\n :id=\"item.createdBy\"\n name=\"createdBy\"\n />\n </template>\n </template>\n <template #item.modifiedAt=\"{ item }: { item: DatatableItem }\">\n <ADatetime :date-time=\"item.modifiedAt\" />\n <template v-if=\"$slots.modifiedBy\">\n <br />\n <slot\n :id=\"item.modifiedBy\"\n name=\"modifiedBy\"\n />\n </template>\n </template>\n <template #item.actions=\"{ item }: { item: DatatableItem }\">\n <div\n v-if=\"item.id\"\n class=\"d-flex justify-end\"\n >\n <ATableCopyIdButton :id=\"item.id\" />\n <VBtn\n :to=\"detailRoute(item)\"\n class=\"ml-1\"\n icon=\"mdi-information-outline\"\n :aria-label=\"t('common.button.detail')\"\n size=\"x-small\"\n variant=\"text\"\n />\n <VBtn\n v-if=\"canUpdate\"\n :to=\"editRoute(item)\"\n class=\"ml-1\"\n icon=\"mdi-pencil\"\n :aria-label=\"t('common.button.edit')\"\n size=\"x-small\"\n variant=\"text\"\n />\n <!-- A disabled account cannot sign in, so it cannot be signed in as either. -->\n <VBtn\n v-if=\"impersonate && canImpersonate\"\n :disabled=\"!item.enabled\"\n class=\"ml-1\"\n icon=\"mdi-account-switch\"\n :aria-label=\"t('common.anzuUser.table.impersonate')\"\n size=\"x-small\"\n variant=\"text\"\n data-cy=\"user-impersonate\"\n @click.stop=\"impersonate(item)\"\n />\n <slot\n name=\"rowActions\"\n :user=\"item\"\n />\n </div>\n </template>\n <template #bottom>\n <ADatatablePagination @change=\"getList\" />\n </template>\n </VDataTableServer>\n </div>\n </div>\n</template>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"AAnzuUserDatatable.js","names":["_sfc_main","AAnzuUserDatatable_vue_vue_type_script_setup_true_lang_default","AAnzuUserDatatable_default"],"sources":["../../../../src/domains/anzuUser/components/AAnzuUserDatatable.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, onBeforeUnmount, onMounted, provide, useSlots, watch } from 'vue'\nimport type { RouteLocationRaw } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport type { AxiosInstance } from 'axios'\nimport { useDebounceFn } from '@vueuse/core'\nimport ABooleanValue from '@/domains/ui/components/ABooleanValue.vue'\nimport ADatatableConfigButton from '@/domains/filters/datatable/components/ADatatableConfigButton.vue'\nimport ADatetime from '@/domains/ui/datetime/components/ADatetime.vue'\nimport ATableCopyIdButton from '@/domains/ui/buttons/table/components/ATableCopyIdButton.vue'\nimport { SORT_BY_ID } from '@/domains/filters/datatable/utils/datatableColumns'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport ADatatableOrdering from '@/domains/filters/datatable/components/ADatatableOrdering.vue'\nimport ADatatablePagination from '@/domains/filters/datatable/components/ADatatablePagination.vue'\nimport { createDatatableColumnsConfig } from '@/domains/filters/datatable/composables/createDatatableColumnsConfig'\nimport {\n useFilterHelpers,\n type FilterStoreIdentifier,\n type MakeFilterOption,\n} from '@/domains/filters/composables/filterFactory'\nimport { DatatablePaginationKey, FilterConfigKey, FilterDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport { usePagination } from '@/domains/api/composables/pagination'\nimport AAnzuUserFilter from '@/domains/anzuUser/components/AAnzuUserFilter.vue'\nimport { useAnzuUserActions } from '@/domains/anzuUser/composables/anzuUserActions'\nimport { ANZU_USER_ENTITY } from '@/domains/anzuUser/api/anzuUserApi'\nimport { anzuUserFilterStorageKey, useAnzuUserListFilter } from '@/domains/anzuUser/filter/anzuUserFilter'\nimport { usePermissionConfigActions } from '@/domains/permission/config/composables/permissionConfigActions'\nimport { useCachedPermissionGroups } from '@/domains/permission/group/composables/cachedPermissionGroups'\nimport { PERMISSION_GROUP_ENDPOINT } from '@/domains/permission/group/api/permissionGroupApi'\nimport type { AnzuUser } from '@/shared/types/AnzuUser'\nimport type { IntegerIdNullable } from '@/shared/types/common'\n\ntype DatatableItem = AnzuUser\n\nconst props = withDefaults(\n defineProps<{\n client: AxiosClientFn\n system: string\n entity?: string | undefined\n endPoint?: string | undefined\n detailRoute: (user: AnzuUser) => RouteLocationRaw\n editRoute: (user: AnzuUser) => RouteLocationRaw\n /** Already-evaluated ACL of the owning system. */\n canUpdate?: boolean\n /** The permission-group endpoint, which is not the user one. */\n permissionGroupEndPoint?: string\n /**\n * Extra columns the app draws through `#systemColumns`, appended after the shared ones.\n * A bare key takes its header from `common.anzuUser.model.*`, which has\n * no system keys. So a system column passes its title already translated.\n */\n systemColumns?: Array<string | { key: string; title: string }>\n /**\n * Optional impersonation. Left unset, nothing is drawn.\n * A callback rather than a path, because the mechanisms differ: cms posts to `/adm/users/{id}/impersonate` and\n * gets a JWT, blog opens the public site with `window.open`. Only the cms one reaches this shared component.\n */\n impersonate?: ((user: AnzuUser) => void) | undefined\n canImpersonate?: boolean\n /**\n * Filter fields this system adds to the shared three.\n * Not part of the shared list because the same filter is a different query per system:\n * cms uses `memberOf`, dam uses `custom`, and `allowedSites` exists only in cms.\n * A plain field is drawn by the generic renderer. A field that\n * needs a remote autocomplete comes in through `#filter.<name>`.\n */\n filterFields?: readonly MakeFilterOption[]\n /**\n * Saved filters are stored per user, so both props are needed for the button to appear. Only cms and dam use them.\n */\n filterClient?: (() => AxiosInstance) | undefined\n filterUserId?: IntegerIdNullable | undefined\n /** Where the filter files its saved bookmarks. */\n filterStore?: FilterStoreIdentifier | undefined\n }>(),\n {\n entity: undefined,\n endPoint: undefined,\n permissionGroupEndPoint: PERMISSION_GROUP_ENDPOINT,\n canUpdate: false,\n systemColumns: () => [],\n impersonate: undefined,\n canImpersonate: false,\n filterFields: () => [],\n filterClient: undefined,\n filterUserId: undefined,\n filterStore: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'rowClick', user: AnzuUser): void\n}>()\n\n/* eslint-disable vue/no-setup-props-reactivity-loss */\nconst { t } = useI18n()\nconst { filterConfig, filterData } = useAnzuUserListFilter(props.system, props.filterFields)\nprovide(FilterConfigKey, filterConfig)\nprovide(FilterDataKey, filterData)\n\nconst { fetchAnzuUserList, cancelAnzuUserList, anzuUserList, loadingAnzuUserList, datatableHiddenColumns } =\n useAnzuUserActions({\n client: props.client,\n system: props.system,\n entity: props.entity,\n endPoint: props.endPoint,\n })\n\n// No `entity` here on purpose: this one reads the permission config, which is its own resource.\n// `props.entity` names the user.\nconst { translatePermission } = usePermissionConfigActions({\n client: props.client,\n system: props.system,\n})\n\n/**\n * Group titles for the column, resolved against this system's own cache.\n * Drawn here rather than left to a slot, so the column is not left empty in every app.\n * The cache is keyed per system because the same id is a different group in each backend.\n * An app can still override the chip through the slot.\n */\nconst { addToCachedPermissionGroups, fetchCachedPermissionGroups, getCachedPermissionGroup } =\n useCachedPermissionGroups({\n client: props.client,\n system: props.system,\n endPoint: props.permissionGroupEndPoint,\n })\n\nconst { resetFilter, submitFilter, loadStoredFilters } = useFilterHelpers(filterData, filterConfig, {\n storeFiltersLocalStorage: anzuUserFilterStorageKey(props.system),\n})\n\nconst { pagination } = usePagination(SORT_BY_ID)\nprovide(DatatablePaginationKey, pagination)\n\nconst { columnsVisible, columnsAll, columnsHidden } = createDatatableColumnsConfig(\n [\n { key: 'id' },\n { key: 'email' },\n { key: 'enabled' },\n { key: 'roles' },\n { key: 'permissionGroups' },\n { key: 'permissions' },\n ...props.systemColumns.map((column) => (typeof column === 'string' ? { key: column } : column)),\n { key: 'createdAt' },\n { key: 'modifiedAt' },\n ],\n datatableHiddenColumns,\n 'common',\n ANZU_USER_ENTITY,\n { storeColumnsLocalStorage: `table_common_anzuUser_${props.system}` }\n)\n/* eslint-enable vue/no-setup-props-reactivity-loss */\n\nconst getList = useDebounceFn(async () => {\n await fetchAnzuUserList(pagination, filterData, filterConfig)\n})\n\nwatch(anzuUserList, (users) => {\n users.forEach((user) => addToCachedPermissionGroups(user.permissionGroups))\n void fetchCachedPermissionGroups()\n})\n\nconst systemColumnKeys = computed(() =>\n props.systemColumns.map((column) => (typeof column === 'string' ? column : column.key))\n)\n\n// `#filter.allowedSites` here becomes `#item.allowedSites` inside the\n// filter. That is the name `AFilterWrapper` renders a field's widget under.\n// The prefix keeps field slots apart from this table's own `item.*` columns.\nconst slots = useSlots()\nconst FILTER_SLOT_PREFIX = 'filter.'\nconst filterSlotNames = computed(() =>\n Object.keys(slots)\n .filter((name) => name.startsWith(FILTER_SLOT_PREFIX))\n .map((name) => name.slice(FILTER_SLOT_PREFIX.length))\n)\n\nconst submitFilterAction = () => submitFilter(pagination, getList)\nconst resetFilterAction = () => resetFilter(pagination, getList)\n\nconst onRowClick = (_event: unknown, { item }: { item: DatatableItem }) => {\n if (item.id) emit('rowClick', item)\n}\n\nonMounted(() => {\n loadStoredFilters(pagination, getList)\n})\n\nonBeforeUnmount(() => {\n getList.cancel()\n cancelAnzuUserList()\n})\n\ndefineExpose({\n refresh: getList,\n resetFilter: resetFilterAction,\n submitFilter: submitFilterAction,\n})\n</script>\n\n<template>\n <div>\n <AAnzuUserFilter\n v-model:datatable-hidden-columns=\"columnsHidden\"\n :client=\"filterClient\"\n :user-id=\"filterUserId\"\n :store=\"filterStore\"\n @submit=\"submitFilterAction\"\n @reset=\"resetFilterAction\"\n >\n <template\n v-for=\"name in filterSlotNames\"\n :key=\"name\"\n #[`item.${name}`]=\"slotProps\"\n >\n <slot\n :name=\"`${FILTER_SLOT_PREFIX}${name}`\"\n v-bind=\"slotProps ?? {}\"\n />\n </template>\n </AAnzuUserFilter>\n <div>\n <div class=\"d-flex align-center\">\n <VSpacer />\n <ADatatableOrdering\n variant=\"id\"\n @sort-by-change=\"submitFilterAction\"\n />\n <ADatatableConfigButton\n v-model:columns-hidden=\"columnsHidden\"\n :columns-all=\"columnsAll\"\n />\n </div>\n <VDataTableServer\n class=\"a-datatable\"\n :headers=\"columnsVisible\"\n :items=\"anzuUserList\"\n :items-length=\"anzuUserList.length\"\n :loading=\"loadingAnzuUserList\"\n item-value=\"id\"\n @click:row=\"onRowClick\"\n >\n <template #item.enabled=\"{ item }: { item: DatatableItem }\">\n <ABooleanValue\n chip\n :value=\"item.enabled\"\n />\n </template>\n <template #item.roles=\"{ item }: { item: DatatableItem }\">\n <VChip\n v-for=\"role in item.roles\"\n :key=\"role\"\n class=\"mr-1 mb-1\"\n >\n {{ translatePermission('roles', role) }}\n </VChip>\n </template>\n <template #item.permissionGroups=\"{ item }: { item: DatatableItem }\">\n <slot\n name=\"permissionGroups\"\n :ids=\"item.permissionGroups\"\n >\n <VChip\n v-for=\"permissionGroupId in item.permissionGroups\"\n :key=\"permissionGroupId\"\n class=\"mr-1 mb-1\"\n size=\"small\"\n label\n >\n {{ getCachedPermissionGroup(permissionGroupId)?.title || permissionGroupId }}\n </VChip>\n </slot>\n </template>\n <template #item.permissions=\"{ item }: { item: DatatableItem }\">\n <VChip>{{ Object.keys(item.permissions).length }}</VChip>\n </template>\n <template\n v-for=\"column in systemColumnKeys\"\n :key=\"column\"\n #[`item.${column}`]=\"{ item }: { item: DatatableItem }\"\n >\n <slot\n name=\"systemColumns\"\n :column=\"column\"\n :user=\"item\"\n />\n </template>\n <template #item.createdAt=\"{ item }: { item: DatatableItem }\">\n <ADatetime :date-time=\"item.createdAt\" />\n <template v-if=\"$slots.createdBy\">\n <br />\n <slot\n :id=\"item.createdBy\"\n name=\"createdBy\"\n />\n </template>\n </template>\n <template #item.modifiedAt=\"{ item }: { item: DatatableItem }\">\n <ADatetime :date-time=\"item.modifiedAt\" />\n <template v-if=\"$slots.modifiedBy\">\n <br />\n <slot\n :id=\"item.modifiedBy\"\n name=\"modifiedBy\"\n />\n </template>\n </template>\n <template #item.actions=\"{ item }: { item: DatatableItem }\">\n <div\n v-if=\"item.id\"\n class=\"d-flex justify-end\"\n >\n <ATableCopyIdButton :id=\"item.id\" />\n <VBtn\n :to=\"detailRoute(item)\"\n class=\"ml-1\"\n icon=\"mdi-information-outline\"\n :aria-label=\"t('common.button.detail')\"\n size=\"x-small\"\n variant=\"text\"\n />\n <VBtn\n v-if=\"canUpdate\"\n :to=\"editRoute(item)\"\n class=\"ml-1\"\n icon=\"mdi-pencil\"\n :aria-label=\"t('common.button.edit')\"\n size=\"x-small\"\n variant=\"text\"\n />\n <!-- A disabled account cannot sign in, so it cannot be signed in as either. -->\n <VBtn\n v-if=\"impersonate && canImpersonate\"\n :disabled=\"!item.enabled\"\n class=\"ml-1\"\n icon=\"mdi-account-switch\"\n :aria-label=\"t('common.anzuUser.table.impersonate')\"\n size=\"x-small\"\n variant=\"text\"\n data-cy=\"user-impersonate\"\n @click.stop=\"impersonate(item)\"\n />\n <slot\n name=\"rowActions\"\n :user=\"item\"\n />\n </div>\n </template>\n <template #bottom>\n <ADatatablePagination @change=\"getList\" />\n </template>\n </VDataTableServer>\n </div>\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -17,71 +17,65 @@ type __VLS_Props = {
|
|
|
17
17
|
permissionGroupEndPoint?: string;
|
|
18
18
|
/**
|
|
19
19
|
* Extra columns the app draws through `#systemColumns`, appended after the shared ones.
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* eight keys and none of any system's -- so a system column passes its title already
|
|
23
|
-
* translated, out of the namespace that has it.
|
|
20
|
+
* A bare key takes its header from `common.anzuUser.model.*`, which has
|
|
21
|
+
* no system keys. So a system column passes its title already translated.
|
|
24
22
|
*/
|
|
25
23
|
systemColumns?: Array<string | {
|
|
26
24
|
key: string;
|
|
27
25
|
title: string;
|
|
28
26
|
}>;
|
|
29
27
|
/**
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* `/adm/users/{id}/impersonate` and gets a JWT with an impersonation claim, blog opens the
|
|
34
|
-
* public site through `window.open`. Only the cms one reaches a shared component -- blog's
|
|
35
|
-
* hangs off its product user, which is a different view -- so one prop is enough for now.
|
|
36
|
-
* Left unset, nothing is drawn.
|
|
28
|
+
* Optional impersonation. Left unset, nothing is drawn.
|
|
29
|
+
* A callback rather than a path, because the mechanisms differ: cms posts to `/adm/users/{id}/impersonate` and
|
|
30
|
+
* gets a JWT, blog opens the public site with `window.open`. Only the cms one reaches this shared component.
|
|
37
31
|
*/
|
|
38
32
|
impersonate?: ((user: AnzuUser) => void) | undefined;
|
|
39
33
|
canImpersonate?: boolean;
|
|
40
34
|
/**
|
|
41
35
|
* Filter fields this system adds to the shared three.
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* draws it -- while one that wants a remote autocomplete comes in through `#filter.<name>`.
|
|
36
|
+
* Not part of the shared list because the same filter is a different query per system:
|
|
37
|
+
* cms uses `memberOf`, dam uses `custom`, and `allowedSites` exists only in cms.
|
|
38
|
+
* A plain field is drawn by the generic renderer. A field that
|
|
39
|
+
* needs a remote autocomplete comes in through `#filter.<name>`.
|
|
47
40
|
*/
|
|
48
41
|
filterFields?: readonly MakeFilterOption[];
|
|
49
42
|
/**
|
|
50
|
-
* Saved filters
|
|
51
|
-
* and dam have them on the list this replaces; the other three admins do not.
|
|
43
|
+
* Saved filters are stored per user, so both props are needed for the button to appear. Only cms and dam use them.
|
|
52
44
|
*/
|
|
53
45
|
filterClient?: (() => AxiosInstance) | undefined;
|
|
54
46
|
filterUserId?: IntegerIdNullable | undefined;
|
|
55
47
|
/** Where the filter files its saved bookmarks. */
|
|
56
48
|
filterStore?: FilterStoreIdentifier | undefined;
|
|
57
49
|
};
|
|
58
|
-
declare
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
} & {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
} & {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
50
|
+
declare const __VLS_template: () => {
|
|
51
|
+
__VLS_Slots: {
|
|
52
|
+
[x: `filter.${string}`]: ((props: {
|
|
53
|
+
itemConfig: import('../../filters/composables/filterFactory').FilterField;
|
|
54
|
+
}) => any) | undefined;
|
|
55
|
+
} & {
|
|
56
|
+
permissionGroups?: (props: {
|
|
57
|
+
ids: number[];
|
|
58
|
+
}) => any;
|
|
59
|
+
} & {
|
|
60
|
+
systemColumns?: (props: {
|
|
61
|
+
column: string;
|
|
62
|
+
user: AnzuUser;
|
|
63
|
+
}) => any;
|
|
64
|
+
} & {
|
|
65
|
+
createdBy?: (props: {
|
|
66
|
+
id: IntegerIdNullable;
|
|
67
|
+
}) => any;
|
|
68
|
+
} & {
|
|
69
|
+
modifiedBy?: (props: {
|
|
70
|
+
id: IntegerIdNullable;
|
|
71
|
+
}) => any;
|
|
72
|
+
} & {
|
|
73
|
+
rowActions?: (props: {
|
|
74
|
+
user: AnzuUser;
|
|
75
|
+
}) => any;
|
|
76
|
+
};
|
|
84
77
|
};
|
|
78
|
+
type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
|
|
85
79
|
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
86
80
|
refresh: import('@vueuse/shared').UseDebounceFnReturn<() => Promise<void>>;
|
|
87
81
|
resetFilter: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AAnzuUserDatatable.vue_vue_type_script_setup_true_lang.js","names":["$slots","_openBlock","_createElementBlock","_createVNode","AAnzuUserFilter","_unref","_isRef","_createSlots","_renderList","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps","_createElementVNode","_component_VSpacer","ADatatableOrdering","ADatatableConfigButton","_component_VDataTableServer","ABooleanValue","_Fragment","_createBlock","_component_VChip","_createTextVNode","_toDisplayString","ADatetime","_createCommentVNode","ATableCopyIdButton","_component_VBtn","_withModifiers","ADatatablePagination","ABooleanValue_default","ADatatableConfigButton_default","ADatetime_default","ATableCopyIdButton_default","ADatatableOrdering_default","ADatatablePagination_default","AAnzuUserFilter_default","_hoisted_1","_hoisted_2","FILTER_SLOT_PREFIX","AAnzuUserDatatable_vue_vue_type_script_setup_true_lang_default","PERMISSION_GROUP_ENDPOINT","__expose","__emit","props","__props","emit","useI18n","useAnzuUserListFilter","provide","FilterConfigKey","filterConfig","FilterDataKey","filterData","useAnzuUserActions","usePermissionConfigActions","useCachedPermissionGroups","useFilterHelpers","anzuUserFilterStorageKey","usePagination","DatatablePaginationKey","pagination","createDatatableColumnsConfig","column","datatableHiddenColumns","ANZU_USER_ENTITY","getList","useDebounceFn","fetchAnzuUserList","anzuUserList","users","addToCachedPermissionGroups","user","fetchCachedPermissionGroups","systemColumnKeys","computed","slots","useSlots","filterSlotNames","name","submitFilterAction","submitFilter","resetFilterAction","resetFilter","onRowClick","item","onMounted","onBeforeUnmount","cancelAnzuUserList","openBlock","createElementBlock","createVNode","unref","columnsHidden","_cache","isRef","$event","createSlots","renderList","withCtx","renderSlot","_ctx","normalizeProps","guardReactiveProps","slotProps","createElementVNode","VSpacer","columnsAll","VDataTableServer","columnsVisible","loadingAnzuUserList","Fragment","createBlock","VChip","role","createTextVNode","toDisplayString","translatePermission","permissionGroupId","getCachedPermissionGroup","createCommentVNode","VBtn","t","withModifiers"],"sources":["../../../../src/domains/anzuUser/components/AAnzuUserDatatable.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, onBeforeUnmount, onMounted, provide, useSlots, watch } from 'vue'\nimport type { RouteLocationRaw } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport type { AxiosInstance } from 'axios'\nimport { useDebounceFn } from '@vueuse/core'\nimport ABooleanValue from '@/domains/ui/components/ABooleanValue.vue'\nimport ADatatableConfigButton from '@/domains/filters/datatable/components/ADatatableConfigButton.vue'\nimport ADatetime from '@/domains/ui/datetime/components/ADatetime.vue'\nimport ATableCopyIdButton from '@/domains/ui/buttons/table/components/ATableCopyIdButton.vue'\nimport { SORT_BY_ID } from '@/domains/filters/datatable/utils/datatableColumns'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport ADatatableOrdering from '@/domains/filters/datatable/components/ADatatableOrdering.vue'\nimport ADatatablePagination from '@/domains/filters/datatable/components/ADatatablePagination.vue'\nimport { createDatatableColumnsConfig } from '@/domains/filters/datatable/composables/createDatatableColumnsConfig'\nimport {\n useFilterHelpers,\n type FilterStoreIdentifier,\n type MakeFilterOption,\n} from '@/domains/filters/composables/filterFactory'\nimport { DatatablePaginationKey, FilterConfigKey, FilterDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport { usePagination } from '@/domains/api/composables/pagination'\nimport AAnzuUserFilter from '@/domains/anzuUser/components/AAnzuUserFilter.vue'\nimport { useAnzuUserActions } from '@/domains/anzuUser/composables/anzuUserActions'\nimport { ANZU_USER_ENTITY } from '@/domains/anzuUser/api/anzuUserApi'\nimport { anzuUserFilterStorageKey, useAnzuUserListFilter } from '@/domains/anzuUser/filter/anzuUserFilter'\nimport { usePermissionConfigActions } from '@/domains/permission/config/composables/permissionConfigActions'\nimport { useCachedPermissionGroups } from '@/domains/permission/group/composables/cachedPermissionGroups'\nimport { PERMISSION_GROUP_ENDPOINT } from '@/domains/permission/group/api/permissionGroupApi'\nimport type { AnzuUser } from '@/shared/types/AnzuUser'\nimport type { IntegerIdNullable } from '@/shared/types/common'\n\ntype DatatableItem = AnzuUser\n\nconst props = withDefaults(\n defineProps<{\n client: AxiosClientFn\n system: string\n entity?: string | undefined\n endPoint?: string | undefined\n detailRoute: (user: AnzuUser) => RouteLocationRaw\n editRoute: (user: AnzuUser) => RouteLocationRaw\n /** Already-evaluated ACL of the owning system. */\n canUpdate?: boolean\n /** The permission-group endpoint, which is not the user one. */\n permissionGroupEndPoint?: string\n /**\n * Extra columns the app draws through `#systemColumns`, appended after the shared ones.\n *\n * A bare key takes its header from the library's own `common.anzuUser.model.*`, which holds\n * eight keys and none of any system's -- so a system column passes its title already\n * translated, out of the namespace that has it.\n */\n systemColumns?: Array<string | { key: string; title: string }>\n /**\n * Signing in as somebody else, as a switchable feature.\n *\n * A callback rather than a path, because there is more than one mechanism: cms posts to\n * `/adm/users/{id}/impersonate` and gets a JWT with an impersonation claim, blog opens the\n * public site through `window.open`. Only the cms one reaches a shared component -- blog's\n * hangs off its product user, which is a different view -- so one prop is enough for now.\n * Left unset, nothing is drawn.\n */\n impersonate?: ((user: AnzuUser) => void) | undefined\n canImpersonate?: boolean\n /**\n * Filter fields this system adds to the shared three.\n *\n * A parameter and not part of the shared list, because the same filter is not the same query\n * everywhere: cms asks for permission groups with `memberOf`, dam with `custom`, and\n * `allowedSites` exists only in cms. A plain field needs nothing more -- the generic renderer\n * draws it -- while one that wants a remote autocomplete comes in through `#filter.<name>`.\n */\n filterFields?: readonly MakeFilterOption[]\n /**\n * Saved filters, which are stored per user, so both are needed for the button to appear. cms\n * and dam have them on the list this replaces; the other three admins do not.\n */\n filterClient?: (() => AxiosInstance) | undefined\n filterUserId?: IntegerIdNullable | undefined\n /** Where the filter files its saved bookmarks. */\n filterStore?: FilterStoreIdentifier | undefined\n }>(),\n {\n entity: undefined,\n endPoint: undefined,\n permissionGroupEndPoint: PERMISSION_GROUP_ENDPOINT,\n canUpdate: false,\n systemColumns: () => [],\n impersonate: undefined,\n canImpersonate: false,\n filterFields: () => [],\n filterClient: undefined,\n filterUserId: undefined,\n filterStore: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'rowClick', user: AnzuUser): void\n}>()\n\n/* eslint-disable vue/no-setup-props-reactivity-loss */\nconst { t } = useI18n()\nconst { filterConfig, filterData } = useAnzuUserListFilter(props.system, props.filterFields)\nprovide(FilterConfigKey, filterConfig)\nprovide(FilterDataKey, filterData)\n\nconst { fetchAnzuUserList, cancelAnzuUserList, anzuUserList, loadingAnzuUserList, datatableHiddenColumns } =\n useAnzuUserActions({\n client: props.client,\n system: props.system,\n entity: props.entity,\n endPoint: props.endPoint,\n })\n\n// No `entity` here on purpose: this one reads the permission config, which is its own resource.\n// `props.entity` names the user.\nconst { translatePermission } = usePermissionConfigActions({\n client: props.client,\n system: props.system,\n})\n\n/**\n * Group titles for the column, resolved against this system's own cache.\n *\n * Drawn here rather than left to a slot: a group is a group in every admin, the library already\n * has the cache -- keyed per system, because id 42 in weather and id 42 in blog are different rows\n * -- and leaving it to the call sites is how the column ends up empty in every one of them. An app\n * that wants its own chip still overrides through the slot.\n */\nconst { addToCachedPermissionGroups, fetchCachedPermissionGroups, getCachedPermissionGroup } =\n useCachedPermissionGroups({\n client: props.client,\n system: props.system,\n endPoint: props.permissionGroupEndPoint,\n })\n\nconst { resetFilter, submitFilter, loadStoredFilters } = useFilterHelpers(filterData, filterConfig, {\n storeFiltersLocalStorage: anzuUserFilterStorageKey(props.system),\n})\n\nconst { pagination } = usePagination(SORT_BY_ID)\nprovide(DatatablePaginationKey, pagination)\n\nconst { columnsVisible, columnsAll, columnsHidden } = createDatatableColumnsConfig(\n [\n { key: 'id' },\n { key: 'email' },\n { key: 'enabled' },\n { key: 'roles' },\n { key: 'permissionGroups' },\n { key: 'permissions' },\n ...props.systemColumns.map((column) => (typeof column === 'string' ? { key: column } : column)),\n { key: 'createdAt' },\n { key: 'modifiedAt' },\n ],\n datatableHiddenColumns,\n 'common',\n ANZU_USER_ENTITY,\n { storeColumnsLocalStorage: `table_common_anzuUser_${props.system}` }\n)\n/* eslint-enable vue/no-setup-props-reactivity-loss */\n\nconst getList = useDebounceFn(async () => {\n await fetchAnzuUserList(pagination, filterData, filterConfig)\n})\n\nwatch(anzuUserList, (users) => {\n users.forEach((user) => addToCachedPermissionGroups(user.permissionGroups))\n void fetchCachedPermissionGroups()\n})\n\nconst systemColumnKeys = computed(() =>\n props.systemColumns.map((column) => (typeof column === 'string' ? column : column.key))\n)\n\n// `#filter.allowedSites` here becomes `#item.allowedSites` inside the filter, which is the name\n// `AFilterWrapper` renders a field's own widget under. The prefix is what keeps a field slot apart\n// from this table's own `item.*` columns.\nconst slots = useSlots()\nconst FILTER_SLOT_PREFIX = 'filter.'\nconst filterSlotNames = computed(() =>\n Object.keys(slots)\n .filter((name) => name.startsWith(FILTER_SLOT_PREFIX))\n .map((name) => name.slice(FILTER_SLOT_PREFIX.length))\n)\n\nconst submitFilterAction = () => submitFilter(pagination, getList)\nconst resetFilterAction = () => resetFilter(pagination, getList)\n\nconst onRowClick = (_event: unknown, { item }: { item: DatatableItem }) => {\n if (item.id) emit('rowClick', item)\n}\n\nonMounted(() => {\n loadStoredFilters(pagination, getList)\n})\n\nonBeforeUnmount(() => {\n getList.cancel()\n cancelAnzuUserList()\n})\n\ndefineExpose({\n refresh: getList,\n resetFilter: resetFilterAction,\n submitFilter: submitFilterAction,\n})\n</script>\n\n<template>\n <div>\n <AAnzuUserFilter\n v-model:datatable-hidden-columns=\"columnsHidden\"\n :client=\"filterClient\"\n :user-id=\"filterUserId\"\n :store=\"filterStore\"\n @submit=\"submitFilterAction\"\n @reset=\"resetFilterAction\"\n >\n <template\n v-for=\"name in filterSlotNames\"\n :key=\"name\"\n #[`item.${name}`]=\"slotProps\"\n >\n <slot\n :name=\"`${FILTER_SLOT_PREFIX}${name}`\"\n v-bind=\"slotProps ?? {}\"\n />\n </template>\n </AAnzuUserFilter>\n <div>\n <div class=\"d-flex align-center\">\n <VSpacer />\n <ADatatableOrdering\n variant=\"id\"\n @sort-by-change=\"submitFilterAction\"\n />\n <ADatatableConfigButton\n v-model:columns-hidden=\"columnsHidden\"\n :columns-all=\"columnsAll\"\n />\n </div>\n <VDataTableServer\n class=\"a-datatable\"\n :headers=\"columnsVisible\"\n :items=\"anzuUserList\"\n :items-length=\"anzuUserList.length\"\n :loading=\"loadingAnzuUserList\"\n item-value=\"id\"\n @click:row=\"onRowClick\"\n >\n <template #item.enabled=\"{ item }: { item: DatatableItem }\">\n <ABooleanValue\n chip\n :value=\"item.enabled\"\n />\n </template>\n <template #item.roles=\"{ item }: { item: DatatableItem }\">\n <VChip\n v-for=\"role in item.roles\"\n :key=\"role\"\n class=\"mr-1 mb-1\"\n >\n {{ translatePermission('roles', role) }}\n </VChip>\n </template>\n <template #item.permissionGroups=\"{ item }: { item: DatatableItem }\">\n <slot\n name=\"permissionGroups\"\n :ids=\"item.permissionGroups\"\n >\n <VChip\n v-for=\"permissionGroupId in item.permissionGroups\"\n :key=\"permissionGroupId\"\n class=\"mr-1 mb-1\"\n size=\"small\"\n label\n >\n {{ getCachedPermissionGroup(permissionGroupId)?.title || permissionGroupId }}\n </VChip>\n </slot>\n </template>\n <template #item.permissions=\"{ item }: { item: DatatableItem }\">\n <VChip>{{ Object.keys(item.permissions).length }}</VChip>\n </template>\n <template\n v-for=\"column in systemColumnKeys\"\n :key=\"column\"\n #[`item.${column}`]=\"{ item }: { item: DatatableItem }\"\n >\n <slot\n name=\"systemColumns\"\n :column=\"column\"\n :user=\"item\"\n />\n </template>\n <template #item.createdAt=\"{ item }: { item: DatatableItem }\">\n <ADatetime :date-time=\"item.createdAt\" />\n <template v-if=\"$slots.createdBy\">\n <br />\n <slot\n :id=\"item.createdBy\"\n name=\"createdBy\"\n />\n </template>\n </template>\n <template #item.modifiedAt=\"{ item }: { item: DatatableItem }\">\n <ADatetime :date-time=\"item.modifiedAt\" />\n <template v-if=\"$slots.modifiedBy\">\n <br />\n <slot\n :id=\"item.modifiedBy\"\n name=\"modifiedBy\"\n />\n </template>\n </template>\n <template #item.actions=\"{ item }: { item: DatatableItem }\">\n <div\n v-if=\"item.id\"\n class=\"d-flex justify-end\"\n >\n <ATableCopyIdButton :id=\"item.id\" />\n <VBtn\n :to=\"detailRoute(item)\"\n class=\"ml-1\"\n icon=\"mdi-information-outline\"\n :aria-label=\"t('common.button.detail')\"\n size=\"x-small\"\n variant=\"text\"\n />\n <VBtn\n v-if=\"canUpdate\"\n :to=\"editRoute(item)\"\n class=\"ml-1\"\n icon=\"mdi-pencil\"\n :aria-label=\"t('common.button.edit')\"\n size=\"x-small\"\n variant=\"text\"\n />\n <!-- A disabled account cannot sign in, so it cannot be signed in as either. -->\n <VBtn\n v-if=\"impersonate && canImpersonate\"\n :disabled=\"!item.enabled\"\n class=\"ml-1\"\n icon=\"mdi-account-switch\"\n :aria-label=\"t('common.anzuUser.table.impersonate')\"\n size=\"x-small\"\n variant=\"text\"\n data-cy=\"user-impersonate\"\n @click.stop=\"impersonate(item)\"\n />\n <slot\n name=\"rowActions\"\n :user=\"item\"\n />\n </div>\n </template>\n <template #bottom>\n <ADatatablePagination @change=\"getList\" />\n </template>\n </VDataTableServer>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AAnzuUserDatatable.vue_vue_type_script_setup_true_lang.js","names":["$slots","_openBlock","_createElementBlock","_createVNode","AAnzuUserFilter","_unref","_isRef","_createSlots","_renderList","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps","_createElementVNode","_component_VSpacer","ADatatableOrdering","ADatatableConfigButton","_component_VDataTableServer","ABooleanValue","_Fragment","_createBlock","_component_VChip","_createTextVNode","_toDisplayString","ADatetime","_createCommentVNode","ATableCopyIdButton","_component_VBtn","_withModifiers","ADatatablePagination","ABooleanValue_default","ADatatableConfigButton_default","ADatetime_default","ATableCopyIdButton_default","ADatatableOrdering_default","ADatatablePagination_default","AAnzuUserFilter_default","_hoisted_1","_hoisted_2","FILTER_SLOT_PREFIX","AAnzuUserDatatable_vue_vue_type_script_setup_true_lang_default","PERMISSION_GROUP_ENDPOINT","__expose","__emit","props","__props","emit","useI18n","useAnzuUserListFilter","provide","FilterConfigKey","filterConfig","FilterDataKey","filterData","useAnzuUserActions","usePermissionConfigActions","useCachedPermissionGroups","useFilterHelpers","anzuUserFilterStorageKey","usePagination","DatatablePaginationKey","pagination","createDatatableColumnsConfig","column","datatableHiddenColumns","ANZU_USER_ENTITY","getList","useDebounceFn","fetchAnzuUserList","anzuUserList","users","addToCachedPermissionGroups","user","fetchCachedPermissionGroups","systemColumnKeys","computed","slots","useSlots","filterSlotNames","name","submitFilterAction","submitFilter","resetFilterAction","resetFilter","onRowClick","item","onMounted","onBeforeUnmount","cancelAnzuUserList","openBlock","createElementBlock","createVNode","unref","columnsHidden","_cache","isRef","$event","createSlots","renderList","withCtx","renderSlot","_ctx","normalizeProps","guardReactiveProps","slotProps","createElementVNode","VSpacer","columnsAll","VDataTableServer","columnsVisible","loadingAnzuUserList","Fragment","createBlock","VChip","role","createTextVNode","toDisplayString","translatePermission","permissionGroupId","getCachedPermissionGroup","createCommentVNode","VBtn","t","withModifiers"],"sources":["../../../../src/domains/anzuUser/components/AAnzuUserDatatable.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, onBeforeUnmount, onMounted, provide, useSlots, watch } from 'vue'\nimport type { RouteLocationRaw } from 'vue-router'\nimport { useI18n } from 'vue-i18n'\nimport type { AxiosInstance } from 'axios'\nimport { useDebounceFn } from '@vueuse/core'\nimport ABooleanValue from '@/domains/ui/components/ABooleanValue.vue'\nimport ADatatableConfigButton from '@/domains/filters/datatable/components/ADatatableConfigButton.vue'\nimport ADatetime from '@/domains/ui/datetime/components/ADatetime.vue'\nimport ATableCopyIdButton from '@/domains/ui/buttons/table/components/ATableCopyIdButton.vue'\nimport { SORT_BY_ID } from '@/domains/filters/datatable/utils/datatableColumns'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport ADatatableOrdering from '@/domains/filters/datatable/components/ADatatableOrdering.vue'\nimport ADatatablePagination from '@/domains/filters/datatable/components/ADatatablePagination.vue'\nimport { createDatatableColumnsConfig } from '@/domains/filters/datatable/composables/createDatatableColumnsConfig'\nimport {\n useFilterHelpers,\n type FilterStoreIdentifier,\n type MakeFilterOption,\n} from '@/domains/filters/composables/filterFactory'\nimport { DatatablePaginationKey, FilterConfigKey, FilterDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport { usePagination } from '@/domains/api/composables/pagination'\nimport AAnzuUserFilter from '@/domains/anzuUser/components/AAnzuUserFilter.vue'\nimport { useAnzuUserActions } from '@/domains/anzuUser/composables/anzuUserActions'\nimport { ANZU_USER_ENTITY } from '@/domains/anzuUser/api/anzuUserApi'\nimport { anzuUserFilterStorageKey, useAnzuUserListFilter } from '@/domains/anzuUser/filter/anzuUserFilter'\nimport { usePermissionConfigActions } from '@/domains/permission/config/composables/permissionConfigActions'\nimport { useCachedPermissionGroups } from '@/domains/permission/group/composables/cachedPermissionGroups'\nimport { PERMISSION_GROUP_ENDPOINT } from '@/domains/permission/group/api/permissionGroupApi'\nimport type { AnzuUser } from '@/shared/types/AnzuUser'\nimport type { IntegerIdNullable } from '@/shared/types/common'\n\ntype DatatableItem = AnzuUser\n\nconst props = withDefaults(\n defineProps<{\n client: AxiosClientFn\n system: string\n entity?: string | undefined\n endPoint?: string | undefined\n detailRoute: (user: AnzuUser) => RouteLocationRaw\n editRoute: (user: AnzuUser) => RouteLocationRaw\n /** Already-evaluated ACL of the owning system. */\n canUpdate?: boolean\n /** The permission-group endpoint, which is not the user one. */\n permissionGroupEndPoint?: string\n /**\n * Extra columns the app draws through `#systemColumns`, appended after the shared ones.\n * A bare key takes its header from `common.anzuUser.model.*`, which has\n * no system keys. So a system column passes its title already translated.\n */\n systemColumns?: Array<string | { key: string; title: string }>\n /**\n * Optional impersonation. Left unset, nothing is drawn.\n * A callback rather than a path, because the mechanisms differ: cms posts to `/adm/users/{id}/impersonate` and\n * gets a JWT, blog opens the public site with `window.open`. Only the cms one reaches this shared component.\n */\n impersonate?: ((user: AnzuUser) => void) | undefined\n canImpersonate?: boolean\n /**\n * Filter fields this system adds to the shared three.\n * Not part of the shared list because the same filter is a different query per system:\n * cms uses `memberOf`, dam uses `custom`, and `allowedSites` exists only in cms.\n * A plain field is drawn by the generic renderer. A field that\n * needs a remote autocomplete comes in through `#filter.<name>`.\n */\n filterFields?: readonly MakeFilterOption[]\n /**\n * Saved filters are stored per user, so both props are needed for the button to appear. Only cms and dam use them.\n */\n filterClient?: (() => AxiosInstance) | undefined\n filterUserId?: IntegerIdNullable | undefined\n /** Where the filter files its saved bookmarks. */\n filterStore?: FilterStoreIdentifier | undefined\n }>(),\n {\n entity: undefined,\n endPoint: undefined,\n permissionGroupEndPoint: PERMISSION_GROUP_ENDPOINT,\n canUpdate: false,\n systemColumns: () => [],\n impersonate: undefined,\n canImpersonate: false,\n filterFields: () => [],\n filterClient: undefined,\n filterUserId: undefined,\n filterStore: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'rowClick', user: AnzuUser): void\n}>()\n\n/* eslint-disable vue/no-setup-props-reactivity-loss */\nconst { t } = useI18n()\nconst { filterConfig, filterData } = useAnzuUserListFilter(props.system, props.filterFields)\nprovide(FilterConfigKey, filterConfig)\nprovide(FilterDataKey, filterData)\n\nconst { fetchAnzuUserList, cancelAnzuUserList, anzuUserList, loadingAnzuUserList, datatableHiddenColumns } =\n useAnzuUserActions({\n client: props.client,\n system: props.system,\n entity: props.entity,\n endPoint: props.endPoint,\n })\n\n// No `entity` here on purpose: this one reads the permission config, which is its own resource.\n// `props.entity` names the user.\nconst { translatePermission } = usePermissionConfigActions({\n client: props.client,\n system: props.system,\n})\n\n/**\n * Group titles for the column, resolved against this system's own cache.\n * Drawn here rather than left to a slot, so the column is not left empty in every app.\n * The cache is keyed per system because the same id is a different group in each backend.\n * An app can still override the chip through the slot.\n */\nconst { addToCachedPermissionGroups, fetchCachedPermissionGroups, getCachedPermissionGroup } =\n useCachedPermissionGroups({\n client: props.client,\n system: props.system,\n endPoint: props.permissionGroupEndPoint,\n })\n\nconst { resetFilter, submitFilter, loadStoredFilters } = useFilterHelpers(filterData, filterConfig, {\n storeFiltersLocalStorage: anzuUserFilterStorageKey(props.system),\n})\n\nconst { pagination } = usePagination(SORT_BY_ID)\nprovide(DatatablePaginationKey, pagination)\n\nconst { columnsVisible, columnsAll, columnsHidden } = createDatatableColumnsConfig(\n [\n { key: 'id' },\n { key: 'email' },\n { key: 'enabled' },\n { key: 'roles' },\n { key: 'permissionGroups' },\n { key: 'permissions' },\n ...props.systemColumns.map((column) => (typeof column === 'string' ? { key: column } : column)),\n { key: 'createdAt' },\n { key: 'modifiedAt' },\n ],\n datatableHiddenColumns,\n 'common',\n ANZU_USER_ENTITY,\n { storeColumnsLocalStorage: `table_common_anzuUser_${props.system}` }\n)\n/* eslint-enable vue/no-setup-props-reactivity-loss */\n\nconst getList = useDebounceFn(async () => {\n await fetchAnzuUserList(pagination, filterData, filterConfig)\n})\n\nwatch(anzuUserList, (users) => {\n users.forEach((user) => addToCachedPermissionGroups(user.permissionGroups))\n void fetchCachedPermissionGroups()\n})\n\nconst systemColumnKeys = computed(() =>\n props.systemColumns.map((column) => (typeof column === 'string' ? column : column.key))\n)\n\n// `#filter.allowedSites` here becomes `#item.allowedSites` inside the\n// filter. That is the name `AFilterWrapper` renders a field's widget under.\n// The prefix keeps field slots apart from this table's own `item.*` columns.\nconst slots = useSlots()\nconst FILTER_SLOT_PREFIX = 'filter.'\nconst filterSlotNames = computed(() =>\n Object.keys(slots)\n .filter((name) => name.startsWith(FILTER_SLOT_PREFIX))\n .map((name) => name.slice(FILTER_SLOT_PREFIX.length))\n)\n\nconst submitFilterAction = () => submitFilter(pagination, getList)\nconst resetFilterAction = () => resetFilter(pagination, getList)\n\nconst onRowClick = (_event: unknown, { item }: { item: DatatableItem }) => {\n if (item.id) emit('rowClick', item)\n}\n\nonMounted(() => {\n loadStoredFilters(pagination, getList)\n})\n\nonBeforeUnmount(() => {\n getList.cancel()\n cancelAnzuUserList()\n})\n\ndefineExpose({\n refresh: getList,\n resetFilter: resetFilterAction,\n submitFilter: submitFilterAction,\n})\n</script>\n\n<template>\n <div>\n <AAnzuUserFilter\n v-model:datatable-hidden-columns=\"columnsHidden\"\n :client=\"filterClient\"\n :user-id=\"filterUserId\"\n :store=\"filterStore\"\n @submit=\"submitFilterAction\"\n @reset=\"resetFilterAction\"\n >\n <template\n v-for=\"name in filterSlotNames\"\n :key=\"name\"\n #[`item.${name}`]=\"slotProps\"\n >\n <slot\n :name=\"`${FILTER_SLOT_PREFIX}${name}`\"\n v-bind=\"slotProps ?? {}\"\n />\n </template>\n </AAnzuUserFilter>\n <div>\n <div class=\"d-flex align-center\">\n <VSpacer />\n <ADatatableOrdering\n variant=\"id\"\n @sort-by-change=\"submitFilterAction\"\n />\n <ADatatableConfigButton\n v-model:columns-hidden=\"columnsHidden\"\n :columns-all=\"columnsAll\"\n />\n </div>\n <VDataTableServer\n class=\"a-datatable\"\n :headers=\"columnsVisible\"\n :items=\"anzuUserList\"\n :items-length=\"anzuUserList.length\"\n :loading=\"loadingAnzuUserList\"\n item-value=\"id\"\n @click:row=\"onRowClick\"\n >\n <template #item.enabled=\"{ item }: { item: DatatableItem }\">\n <ABooleanValue\n chip\n :value=\"item.enabled\"\n />\n </template>\n <template #item.roles=\"{ item }: { item: DatatableItem }\">\n <VChip\n v-for=\"role in item.roles\"\n :key=\"role\"\n class=\"mr-1 mb-1\"\n >\n {{ translatePermission('roles', role) }}\n </VChip>\n </template>\n <template #item.permissionGroups=\"{ item }: { item: DatatableItem }\">\n <slot\n name=\"permissionGroups\"\n :ids=\"item.permissionGroups\"\n >\n <VChip\n v-for=\"permissionGroupId in item.permissionGroups\"\n :key=\"permissionGroupId\"\n class=\"mr-1 mb-1\"\n size=\"small\"\n label\n >\n {{ getCachedPermissionGroup(permissionGroupId)?.title || permissionGroupId }}\n </VChip>\n </slot>\n </template>\n <template #item.permissions=\"{ item }: { item: DatatableItem }\">\n <VChip>{{ Object.keys(item.permissions).length }}</VChip>\n </template>\n <template\n v-for=\"column in systemColumnKeys\"\n :key=\"column\"\n #[`item.${column}`]=\"{ item }: { item: DatatableItem }\"\n >\n <slot\n name=\"systemColumns\"\n :column=\"column\"\n :user=\"item\"\n />\n </template>\n <template #item.createdAt=\"{ item }: { item: DatatableItem }\">\n <ADatetime :date-time=\"item.createdAt\" />\n <template v-if=\"$slots.createdBy\">\n <br />\n <slot\n :id=\"item.createdBy\"\n name=\"createdBy\"\n />\n </template>\n </template>\n <template #item.modifiedAt=\"{ item }: { item: DatatableItem }\">\n <ADatetime :date-time=\"item.modifiedAt\" />\n <template v-if=\"$slots.modifiedBy\">\n <br />\n <slot\n :id=\"item.modifiedBy\"\n name=\"modifiedBy\"\n />\n </template>\n </template>\n <template #item.actions=\"{ item }: { item: DatatableItem }\">\n <div\n v-if=\"item.id\"\n class=\"d-flex justify-end\"\n >\n <ATableCopyIdButton :id=\"item.id\" />\n <VBtn\n :to=\"detailRoute(item)\"\n class=\"ml-1\"\n icon=\"mdi-information-outline\"\n :aria-label=\"t('common.button.detail')\"\n size=\"x-small\"\n variant=\"text\"\n />\n <VBtn\n v-if=\"canUpdate\"\n :to=\"editRoute(item)\"\n class=\"ml-1\"\n icon=\"mdi-pencil\"\n :aria-label=\"t('common.button.edit')\"\n size=\"x-small\"\n variant=\"text\"\n />\n <!-- A disabled account cannot sign in, so it cannot be signed in as either. -->\n <VBtn\n v-if=\"impersonate && canImpersonate\"\n :disabled=\"!item.enabled\"\n class=\"ml-1\"\n icon=\"mdi-account-switch\"\n :aria-label=\"t('common.anzuUser.table.impersonate')\"\n size=\"x-small\"\n variant=\"text\"\n data-cy=\"user-impersonate\"\n @click.stop=\"impersonate(item)\"\n />\n <slot\n name=\"rowActions\"\n :user=\"item\"\n />\n </div>\n </template>\n <template #bottom>\n <ADatatablePagination @change=\"getList\" />\n </template>\n </VDataTableServer>\n </div>\n </div>\n</template>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AAnzuUserFilter.js","names":["_sfc_main","AAnzuUserFilter_vue_vue_type_script_setup_true_lang_default","AAnzuUserFilter_default"],"sources":["../../../../src/domains/anzuUser/components/AAnzuUserFilter.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { inject } from 'vue'\nimport type { AxiosInstance } from 'axios'\nimport AFilterString from '@/domains/filters/components/AFilterString.vue'\nimport AFilterWrapper from '@/domains/filters/components/AFilterWrapper.vue'\nimport type { FilterStoreIdentifier } from '@/domains/filters/composables/filterFactory'\nimport { FilterConfigKey, FilterDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport type { IntegerIdNullable } from '@/shared/types/common'\nimport { isUndefined } from '@/shared/utils/common'\n\nwithDefaults(\n defineProps<{\n /**\n * Both are
|
|
1
|
+
{"version":3,"file":"AAnzuUserFilter.js","names":["_sfc_main","AAnzuUserFilter_vue_vue_type_script_setup_true_lang_default","AAnzuUserFilter_default"],"sources":["../../../../src/domains/anzuUser/components/AAnzuUserFilter.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { inject } from 'vue'\nimport type { AxiosInstance } from 'axios'\nimport AFilterString from '@/domains/filters/components/AFilterString.vue'\nimport AFilterWrapper from '@/domains/filters/components/AFilterWrapper.vue'\nimport type { FilterStoreIdentifier } from '@/domains/filters/composables/filterFactory'\nimport { FilterConfigKey, FilterDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport type { IntegerIdNullable } from '@/shared/types/common'\nimport { isUndefined } from '@/shared/utils/common'\n\nwithDefaults(\n defineProps<{\n /**\n * Both are needed to switch on the bookmark UI in `AFilterWrapper`, because\n * bookmarks are stored per user. Left unset, the filter has no bookmarks.\n */\n client?: (() => AxiosInstance) | undefined\n userId?: IntegerIdNullable | undefined\n /**\n * What the saved bookmarks are filed under on the server. Defaults to `common` / `anzuUser`.\n * cms overrides it with the pair its old list used, so existing\n * bookmarks keep showing up. A new key would orphan them.\n */\n store?: FilterStoreIdentifier | undefined\n }>(),\n {\n client: undefined,\n userId: undefined,\n store: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'submit'): void\n (e: 'reset'): void\n}>()\n\n/** The column set a bookmark restores along with the filter values. */\nconst datatableHiddenColumns = defineModel<string[] | undefined>('datatableHiddenColumns', {\n default: undefined,\n required: false,\n})\n\nconst filterConfig = inject(FilterConfigKey)\nconst filterData = inject(FilterDataKey)\nif (isUndefined(filterConfig) || isUndefined(filterData)) {\n throw new Error('[AAnzuUserFilter] Incorrect provide/inject config.')\n}\n</script>\n\n<template>\n <AFilterWrapper\n v-model:datatable-hidden-columns=\"datatableHiddenColumns\"\n :client=\"client\"\n :user-id=\"userId\"\n :store=\"store ?? true\"\n @submit=\"emit('submit')\"\n @reset=\"emit('reset')\"\n @bookmark-load-after=\"emit('submit')\"\n >\n <template #search>\n <AFilterString name=\"email\" />\n </template>\n <!--\n Pass every other slot through, so a system field can bring its own widget.\n The generic renderer draws a plain input. A permission group or\n site needs a remote autocomplete that only the app can build.\n -->\n <template\n v-for=\"(_, name) in $slots\"\n :key=\"name\"\n #[name]=\"slotProps\"\n >\n <slot\n :name=\"name\"\n v-bind=\"slotProps ?? {}\"\n />\n </template>\n </AFilterWrapper>\n</template>\n"],"mappings":""}
|
|
@@ -3,18 +3,15 @@ import { FilterStoreIdentifier } from '../../filters/composables/filterFactory';
|
|
|
3
3
|
import { IntegerIdNullable } from '../../../shared/types/common';
|
|
4
4
|
type __VLS_Props = {
|
|
5
5
|
/**
|
|
6
|
-
* Both are
|
|
7
|
-
*
|
|
8
|
-
* which is what admin-inhouse, blog and forum have.
|
|
6
|
+
* Both are needed to switch on the bookmark UI in `AFilterWrapper`, because
|
|
7
|
+
* bookmarks are stored per user. Left unset, the filter has no bookmarks.
|
|
9
8
|
*/
|
|
10
9
|
client?: (() => AxiosInstance) | undefined;
|
|
11
10
|
userId?: IntegerIdNullable | undefined;
|
|
12
11
|
/**
|
|
13
|
-
* What the saved bookmarks are filed under on the server.
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* old list used, so the bookmarks operators already have keep showing up -- the field names are
|
|
17
|
-
* the same, and a new key would simply orphan them.
|
|
12
|
+
* What the saved bookmarks are filed under on the server. Defaults to `common` / `anzuUser`.
|
|
13
|
+
* cms overrides it with the pair its old list used, so existing
|
|
14
|
+
* bookmarks keep showing up. A new key would orphan them.
|
|
18
15
|
*/
|
|
19
16
|
store?: FilterStoreIdentifier | undefined;
|
|
20
17
|
};
|
|
@@ -23,12 +20,14 @@ type __VLS_ModelProps = {
|
|
|
23
20
|
'datatableHiddenColumns'?: string[] | undefined;
|
|
24
21
|
};
|
|
25
22
|
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
26
|
-
declare
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
23
|
+
declare const __VLS_template: () => {
|
|
24
|
+
__VLS_Slots: {
|
|
25
|
+
[x: string]: ((props: {
|
|
26
|
+
itemConfig: import('../../filters/composables/filterFactory').FilterField;
|
|
27
|
+
}) => any) | undefined;
|
|
28
|
+
};
|
|
31
29
|
};
|
|
30
|
+
type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
|
|
32
31
|
declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
33
32
|
"update:datatableHiddenColumns": (value: string[] | undefined) => any;
|
|
34
33
|
} & {
|
package/dist/domains/anzuUser/components/AAnzuUserFilter.vue_vue_type_script_setup_true_lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AAnzuUserFilter.vue_vue_type_script_setup_true_lang.js","names":["$slots","_useModel","_openBlock","_createBlock","AFilterWrapper","_createSlots","_withCtx","_createVNode","AFilterString","_renderList","_renderSlot","_normalizeProps","_guardReactiveProps","AFilterString_default","AFilterWrapper_default","AAnzuUserFilter_vue_vue_type_script_setup_true_lang_default","\"datatableHiddenColumns\"","\"datatableHiddenColumnsModifiers\"","__emit","emit","datatableHiddenColumns","useModel","__props","filterConfig","inject","FilterConfigKey","filterData","FilterDataKey","isUndefined","openBlock","createBlock","_cache","$event","createSlots","withCtx","createVNode","renderList","_ctx","renderSlot","name","normalizeProps","guardReactiveProps","slotProps"],"sources":["../../../../src/domains/anzuUser/components/AAnzuUserFilter.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { inject } from 'vue'\nimport type { AxiosInstance } from 'axios'\nimport AFilterString from '@/domains/filters/components/AFilterString.vue'\nimport AFilterWrapper from '@/domains/filters/components/AFilterWrapper.vue'\nimport type { FilterStoreIdentifier } from '@/domains/filters/composables/filterFactory'\nimport { FilterConfigKey, FilterDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport type { IntegerIdNullable } from '@/shared/types/common'\nimport { isUndefined } from '@/shared/utils/common'\n\nwithDefaults(\n defineProps<{\n /**\n * Both are
|
|
1
|
+
{"version":3,"file":"AAnzuUserFilter.vue_vue_type_script_setup_true_lang.js","names":["$slots","_useModel","_openBlock","_createBlock","AFilterWrapper","_createSlots","_withCtx","_createVNode","AFilterString","_renderList","_renderSlot","_normalizeProps","_guardReactiveProps","AFilterString_default","AFilterWrapper_default","AAnzuUserFilter_vue_vue_type_script_setup_true_lang_default","\"datatableHiddenColumns\"","\"datatableHiddenColumnsModifiers\"","__emit","emit","datatableHiddenColumns","useModel","__props","filterConfig","inject","FilterConfigKey","filterData","FilterDataKey","isUndefined","openBlock","createBlock","_cache","$event","createSlots","withCtx","createVNode","renderList","_ctx","renderSlot","name","normalizeProps","guardReactiveProps","slotProps"],"sources":["../../../../src/domains/anzuUser/components/AAnzuUserFilter.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { inject } from 'vue'\nimport type { AxiosInstance } from 'axios'\nimport AFilterString from '@/domains/filters/components/AFilterString.vue'\nimport AFilterWrapper from '@/domains/filters/components/AFilterWrapper.vue'\nimport type { FilterStoreIdentifier } from '@/domains/filters/composables/filterFactory'\nimport { FilterConfigKey, FilterDataKey } from '@/domains/filters/utils/filterInjectionKeys'\nimport type { IntegerIdNullable } from '@/shared/types/common'\nimport { isUndefined } from '@/shared/utils/common'\n\nwithDefaults(\n defineProps<{\n /**\n * Both are needed to switch on the bookmark UI in `AFilterWrapper`, because\n * bookmarks are stored per user. Left unset, the filter has no bookmarks.\n */\n client?: (() => AxiosInstance) | undefined\n userId?: IntegerIdNullable | undefined\n /**\n * What the saved bookmarks are filed under on the server. Defaults to `common` / `anzuUser`.\n * cms overrides it with the pair its old list used, so existing\n * bookmarks keep showing up. A new key would orphan them.\n */\n store?: FilterStoreIdentifier | undefined\n }>(),\n {\n client: undefined,\n userId: undefined,\n store: undefined,\n }\n)\n\nconst emit = defineEmits<{\n (e: 'submit'): void\n (e: 'reset'): void\n}>()\n\n/** The column set a bookmark restores along with the filter values. */\nconst datatableHiddenColumns = defineModel<string[] | undefined>('datatableHiddenColumns', {\n default: undefined,\n required: false,\n})\n\nconst filterConfig = inject(FilterConfigKey)\nconst filterData = inject(FilterDataKey)\nif (isUndefined(filterConfig) || isUndefined(filterData)) {\n throw new Error('[AAnzuUserFilter] Incorrect provide/inject config.')\n}\n</script>\n\n<template>\n <AFilterWrapper\n v-model:datatable-hidden-columns=\"datatableHiddenColumns\"\n :client=\"client\"\n :user-id=\"userId\"\n :store=\"store ?? true\"\n @submit=\"emit('submit')\"\n @reset=\"emit('reset')\"\n @bookmark-load-after=\"emit('submit')\"\n >\n <template #search>\n <AFilterString name=\"email\" />\n </template>\n <!--\n Pass every other slot through, so a system field can bring its own widget.\n The generic renderer draws a plain input. A permission group or\n site needs a remote autocomplete that only the app can build.\n -->\n <template\n v-for=\"(_, name) in $slots\"\n :key=\"name\"\n #[name]=\"slotProps\"\n >\n <slot\n :name=\"name\"\n v-bind=\"slotProps ?? {}\"\n />\n </template>\n </AFilterWrapper>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;EAgCA,IAAMmB,IAAOD,GAMPE,IAAyBnB,EAAiCqB,GAAC,wBAGhE,GAEKC,IAAeC,EAAOC,CAAe,GACrCC,IAAaF,EAAOG,CAAa;EACvC,IAAIC,EAAYL,CAAY,KAAKK,EAAYF,CAAU,GACrD,MAAU,MAAM,oDAAoD;E,kBAKpExB,EAAA,GAAAC,EA2BiBC,GAAA;GA1BP,4BAA0BgB,EAAA;GAAA,mCAAA,AAAAW,EAAA,QAAA,MAAA,EAAsB,QAAAC;GACvD,QAAQV,EAAA;GACR,WAASA,EAAA;GACT,OAAOA,EAAA,SAAK;GACZ,UAAM,AAAAS,EAAA,QAAA,MAAEZ,EAAI,QAAA;GACZ,SAAK,AAAAY,EAAA,QAAA,MAAEZ,EAAI,OAAA;GACX,qBAAmB,AAAAY,EAAA,QAAA,MAAEZ,EAAI,QAAA;;GAEf,QAAMb,QACe,CAA9BC,EAA8BC,GAAA,EAAf,MAAK,QAAO,CAAA,C;;E,IAQPR,EAAAA,EAAAA,SAAZ,GAAG,O;GAEV;GAED,IAAAM,GAFS,MAAS,CAElBI,EAGE2B,EAAA,QAFOE,GAAI5B,EAAAC,EACH8B,KAAS,CAAA,CAAA,CAAA,CAAA,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AAnzuUserForm.js","names":["_sfc_main","AAnzuUserForm_vue_vue_type_script_setup_true_lang_default","AAnzuUserForm_default"],"sources":["../../../../src/domains/anzuUser/components/AAnzuUserForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport AUserEnabledSwitch from '@/domains/anzuUser/components/AUserEnabledSwitch.vue'\nimport AUserMetadataForm from '@/domains/anzuUser/components/AUserMetadataForm.vue'\nimport AAnzuUserRoleAutocomplete from '@/domains/anzuUser/components/AAnzuUserRoleAutocomplete.vue'\nimport { ANZU_USER_ENTITY } from '@/domains/anzuUser/api/anzuUserApi'\nimport APermissionEditor from '@/domains/permission/components/APermissionEditor.vue'\nimport { usePermissionActions } from '@/domains/permission/composables/permissionActions'\nimport APermissionGroupRemoteAutocomplete from '@/domains/permission/group/components/APermissionGroupRemoteAutocomplete.vue'\nimport { PERMISSION_GROUP_ENDPOINT } from '@/domains/permission/group/api/permissionGroupApi'\nimport type { AnzuUser } from '@/shared/types/AnzuUser'\n\nconst props = withDefaults(\n defineProps<{\n client: AxiosClientFn\n system: string\n /**\n * The permission-group endpoint, which is not the user one.\n
|
|
1
|
+
{"version":3,"file":"AAnzuUserForm.js","names":["_sfc_main","AAnzuUserForm_vue_vue_type_script_setup_true_lang_default","AAnzuUserForm_default"],"sources":["../../../../src/domains/anzuUser/components/AAnzuUserForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport ASystemEntityScope from '@/domains/form/components/ASystemEntityScope.vue'\nimport type { AxiosClientFn } from '@/domains/api/utils/client'\nimport AUserEnabledSwitch from '@/domains/anzuUser/components/AUserEnabledSwitch.vue'\nimport AUserMetadataForm from '@/domains/anzuUser/components/AUserMetadataForm.vue'\nimport AAnzuUserRoleAutocomplete from '@/domains/anzuUser/components/AAnzuUserRoleAutocomplete.vue'\nimport { ANZU_USER_ENTITY } from '@/domains/anzuUser/api/anzuUserApi'\nimport APermissionEditor from '@/domains/permission/components/APermissionEditor.vue'\nimport { usePermissionActions } from '@/domains/permission/composables/permissionActions'\nimport APermissionGroupRemoteAutocomplete from '@/domains/permission/group/components/APermissionGroupRemoteAutocomplete.vue'\nimport { PERMISSION_GROUP_ENDPOINT } from '@/domains/permission/group/api/permissionGroupApi'\nimport type { AnzuUser } from '@/shared/types/AnzuUser'\n\nconst props = withDefaults(\n defineProps<{\n client: AxiosClientFn\n system: string\n /**\n * The permission-group endpoint, which is not the user one.\n * There is deliberately no `entity` prop. `entity` names the resource that server validation\n * errors are filed under. Passing the user's down would file group errors under user labels.\n */\n permissionGroupEndPoint?: string\n /**\n * One component for detail and edit (decision 27). Two components drift:\n * a field added to one and forgotten in the other fails silently.\n */\n readonly?: boolean\n isEdit?: boolean\n /** From the system's descriptor. */\n requiredMetadata?: boolean\n idInput?: boolean\n randomColor?: boolean\n enabledNote?: string | undefined\n metadataNote?: string | undefined\n }>(),\n {\n permissionGroupEndPoint: PERMISSION_GROUP_ENDPOINT,\n readonly: false,\n isEdit: false,\n requiredMetadata: false,\n idInput: true,\n randomColor: false,\n enabledNote: undefined,\n metadataNote: undefined,\n }\n)\n\nconst user = defineModel<AnzuUser>('user', { required: true })\n\nconst { t } = useI18n()\n\n/* eslint-disable vue/no-setup-props-reactivity-loss */\nconst { resolvePermissions } = usePermissionActions({\n client: props.client,\n system: props.system,\n endPoint: props.permissionGroupEndPoint,\n})\n/* eslint-enable vue/no-setup-props-reactivity-loss */\n\n/**\n * Grants the account would have if saved now: those of the ticked groups plus the user's own.\n * Computed locally so ticking a group shows its effect without a round\n * trip. The server's `resolvedPermissions` reflects the record as loaded.\n */\nconst resolvedPermissions = computed(() => resolvePermissions(user.value))\n</script>\n\n<template>\n <ASystemEntityScope\n system=\"common\"\n :subject=\"ANZU_USER_ENTITY\"\n >\n <VRow>\n <VCol cols=\"12\">\n <AUserEnabledSwitch\n v-model=\"user.enabled\"\n :readonly=\"readonly\"\n :note=\"enabledNote\"\n />\n </VCol>\n <VCol cols=\"12\">\n <AUserMetadataForm\n v-model:user=\"user\"\n :required=\"requiredMetadata\"\n :id-input=\"idInput\"\n :is-edit=\"isEdit\"\n :readonly=\"readonly\"\n :random-color=\"randomColor\"\n :note=\"metadataNote\"\n />\n </VCol>\n <VCol\n v-if=\"isEdit && !readonly && $slots.copyPermissions\"\n cols=\"12\"\n >\n <!-- Copying roles and grants from another account. Only cms offers it today. -->\n <slot name=\"copyPermissions\" />\n </VCol>\n <VCol\n v-if=\"$slots.systemFields\"\n cols=\"12\"\n >\n <!--\n The system's own fields: autocompletes over that backend's entities, which the library\n cannot build. They get the same `readonly`, so the app can swap autocompletes for chips.\n -->\n <slot\n name=\"systemFields\"\n :readonly=\"readonly\"\n :is-edit=\"isEdit\"\n />\n </VCol>\n <VCol cols=\"12\">\n <AAnzuUserRoleAutocomplete\n v-model=\"user.roles\"\n :client=\"client\"\n :system=\"system\"\n :readonly=\"readonly\"\n />\n </VCol>\n <VCol cols=\"12\">\n <APermissionGroupRemoteAutocomplete\n v-model=\"user.permissionGroups\"\n :client=\"client\"\n :system=\"system\"\n :end-point=\"permissionGroupEndPoint\"\n :label=\"t('common.anzuUser.model.permissionGroups')\"\n :readonly=\"readonly\"\n multiple\n clearable\n />\n </VCol>\n <VCol\n v-if=\"$slots.actions\"\n cols=\"12\"\n >\n <slot\n name=\"actions\"\n :user=\"user\"\n />\n </VCol>\n <VCol cols=\"12\">\n <APermissionEditor\n v-model=\"user.permissions\"\n :resolved-permissions=\"resolvedPermissions\"\n :roles=\"user.roles\"\n :client=\"client\"\n :system=\"system\"\n :readonly=\"readonly\"\n />\n </VCol>\n </VRow>\n </ASystemEntityScope>\n</template>\n"],"mappings":""}
|
|
@@ -5,17 +5,13 @@ type __VLS_Props = {
|
|
|
5
5
|
system: string;
|
|
6
6
|
/**
|
|
7
7
|
* The permission-group endpoint, which is not the user one.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* it is what a server validation failure is filed under -- so the group autocomplete, the role
|
|
11
|
-
* list and the permission editor each use their own, and passing the user's down would file a
|
|
12
|
-
* group's error under the user's labels.
|
|
8
|
+
* There is deliberately no `entity` prop. `entity` names the resource that server validation
|
|
9
|
+
* errors are filed under. Passing the user's down would file group errors under user labels.
|
|
13
10
|
*/
|
|
14
11
|
permissionGroupEndPoint?: string;
|
|
15
12
|
/**
|
|
16
|
-
* One component for detail and edit (decision 27). Two
|
|
17
|
-
* added to
|
|
18
|
-
* fail.
|
|
13
|
+
* One component for detail and edit (decision 27). Two components drift:
|
|
14
|
+
* a field added to one and forgotten in the other fails silently.
|
|
19
15
|
*/
|
|
20
16
|
readonly?: boolean;
|
|
21
17
|
isEdit?: boolean;
|
|
@@ -30,19 +26,21 @@ type __VLS_ModelProps = {
|
|
|
30
26
|
'user': AnzuUser;
|
|
31
27
|
};
|
|
32
28
|
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
33
|
-
declare
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
} & {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
29
|
+
declare const __VLS_template: () => {
|
|
30
|
+
__VLS_Slots: {
|
|
31
|
+
copyPermissions?: (props: {}) => any;
|
|
32
|
+
} & {
|
|
33
|
+
systemFields?: (props: {
|
|
34
|
+
readonly: boolean;
|
|
35
|
+
isEdit: boolean;
|
|
36
|
+
}) => any;
|
|
37
|
+
} & {
|
|
38
|
+
actions?: (props: {
|
|
39
|
+
user: AnzuUser;
|
|
40
|
+
}) => any;
|
|
41
|
+
};
|
|
45
42
|
};
|
|
43
|
+
type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
|
|
46
44
|
declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
47
45
|
"update:user": (value: AnzuUser) => any;
|
|
48
46
|
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|