@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.
Files changed (690) hide show
  1. package/README.md +4 -0
  2. package/dist/AnzuSystemsCommonAdmin.d.ts +42 -32
  3. package/dist/AnzuSystemsCommonAdmin.js.map +1 -1
  4. package/dist/common-admin.css +1 -1
  5. package/dist/common-admin.js +282 -282
  6. package/dist/domains/anzuUser/api/anzuUserApi.d.ts +9 -12
  7. package/dist/domains/anzuUser/api/anzuUserApi.js.map +1 -1
  8. package/dist/domains/anzuUser/components/AAnzuUserDatatable.js.map +1 -1
  9. package/dist/domains/anzuUser/components/AAnzuUserDatatable.vue.d.ts +38 -44
  10. package/dist/domains/anzuUser/components/AAnzuUserDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  11. package/dist/domains/anzuUser/components/AAnzuUserFilter.js.map +1 -1
  12. package/dist/domains/anzuUser/components/AAnzuUserFilter.vue.d.ts +12 -13
  13. package/dist/domains/anzuUser/components/AAnzuUserFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
  14. package/dist/domains/anzuUser/components/AAnzuUserForm.js.map +1 -1
  15. package/dist/domains/anzuUser/components/AAnzuUserForm.vue.d.ts +18 -20
  16. package/dist/domains/anzuUser/components/AAnzuUserForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  17. package/dist/domains/anzuUser/components/AAnzuUserRoleAutocomplete.js.map +1 -1
  18. package/dist/domains/anzuUser/components/AAnzuUserRoleAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  19. package/dist/domains/anzuUser/components/AUserBulkActionDialog.js.map +1 -1
  20. package/dist/domains/anzuUser/components/AUserBulkActionDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  21. package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.js.map +1 -1
  22. package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.vue.d.ts +2 -3
  23. package/dist/domains/anzuUser/components/AUserCopyPermissionsDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  24. package/dist/domains/anzuUser/components/AUserCreateInSystemButton.js.map +1 -1
  25. package/dist/domains/anzuUser/components/AUserCreateInSystemButton.vue.d.ts +9 -15
  26. package/dist/domains/anzuUser/components/AUserCreateInSystemButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  27. package/dist/domains/anzuUser/components/AUserEnabledSwitch.js.map +1 -1
  28. package/dist/domains/anzuUser/components/AUserEnabledSwitch.vue.d.ts +8 -7
  29. package/dist/domains/anzuUser/components/AUserEnabledSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  30. package/dist/domains/anzuUser/components/AUserManageButton.js.map +1 -1
  31. package/dist/domains/anzuUser/components/AUserManageButton.vue.d.ts +0 -1
  32. package/dist/domains/anzuUser/components/AUserManageButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  33. package/dist/domains/anzuUser/components/AUserMetadataForm.js.map +1 -1
  34. package/dist/domains/anzuUser/components/AUserMetadataForm.vue.d.ts +8 -9
  35. package/dist/domains/anzuUser/components/AUserMetadataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  36. package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.js.map +1 -1
  37. package/dist/domains/anzuUser/components/AUserMetadataRepairDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  38. package/dist/domains/anzuUser/components/AUserOtherSystemsTable.js.map +1 -1
  39. package/dist/domains/anzuUser/components/AUserOtherSystemsTable.vue.d.ts +1 -2
  40. package/dist/domains/anzuUser/components/AUserOtherSystemsTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  41. package/dist/domains/anzuUser/components/AUserSystemOverview.js.map +1 -1
  42. package/dist/domains/anzuUser/components/AUserSystemOverview.vue_vue_type_script_setup_true_lang.js.map +1 -1
  43. package/dist/domains/anzuUser/components/AUserSystemPanel.js.map +1 -1
  44. package/dist/domains/anzuUser/components/AUserSystemPanel.vue.d.ts +2 -2
  45. package/dist/domains/anzuUser/components/AUserSystemPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  46. package/dist/domains/anzuUser/components/AUserSystemStatusChip.js.map +1 -1
  47. package/dist/domains/anzuUser/components/AUserSystemStatusChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  48. package/dist/domains/anzuUser/components/AUserTabsShell.js.map +1 -1
  49. package/dist/domains/anzuUser/components/AUserTabsShell.vue.d.ts +17 -22
  50. package/dist/domains/anzuUser/components/AUserTabsShell.vue_vue_type_script_setup_true_lang.js.map +1 -1
  51. package/dist/domains/anzuUser/composables/anzuUserActions.d.ts +5 -9
  52. package/dist/domains/anzuUser/composables/anzuUserActions.js.map +1 -1
  53. package/dist/domains/anzuUser/composables/anzuUserValidations.d.ts +4 -6
  54. package/dist/domains/anzuUser/composables/anzuUserValidations.js.map +1 -1
  55. package/dist/domains/anzuUser/composables/cachedAnzuUsers.d.ts +3 -3
  56. package/dist/domains/anzuUser/composables/cachedAnzuUsers.js.map +1 -1
  57. package/dist/domains/anzuUser/composables/userCrossSystemSearch.d.ts +2 -4
  58. package/dist/domains/anzuUser/composables/userCrossSystemSearch.js.map +1 -1
  59. package/dist/domains/anzuUser/composables/userCrossSystemWrites.d.ts +5 -11
  60. package/dist/domains/anzuUser/composables/userCrossSystemWrites.js.map +1 -1
  61. package/dist/domains/anzuUser/composables/userSystemDescriptor.d.ts +33 -57
  62. package/dist/domains/anzuUser/composables/userSystemDescriptor.js.map +1 -1
  63. package/dist/domains/anzuUser/composables/userSystemProbe.d.ts +7 -27
  64. package/dist/domains/anzuUser/composables/userSystemProbe.js.map +1 -1
  65. package/dist/domains/anzuUser/filter/anzuUserFilter.d.ts +6 -16
  66. package/dist/domains/anzuUser/filter/anzuUserFilter.js.map +1 -1
  67. package/dist/domains/anzuUser/store/anzuUserStore.d.ts +1 -5
  68. package/dist/domains/anzuUser/store/anzuUserStore.js.map +1 -1
  69. package/dist/domains/anzuUser/store/userCrossSystemStore.d.ts +3 -14
  70. package/dist/domains/anzuUser/store/userCrossSystemStore.js.map +1 -1
  71. package/dist/domains/anzuUser/utils/userMetadataDiff.d.ts +7 -19
  72. package/dist/domains/anzuUser/utils/userMetadataDiff.js.map +1 -1
  73. package/dist/domains/anzuUser/utils/userSystemState.d.ts +12 -30
  74. package/dist/domains/anzuUser/utils/userSystemState.js.map +1 -1
  75. package/dist/domains/anzuUser/utils/userTabs.d.ts +1 -3
  76. package/dist/domains/anzuUser/utils/userTabs.js.map +1 -1
  77. package/dist/domains/api/composables/defineApiClient.d.ts +4 -8
  78. package/dist/domains/api/composables/defineApiClient.js.map +1 -1
  79. package/dist/domains/api/composables/request.d.ts +18 -48
  80. package/dist/domains/api/composables/request.js.map +1 -1
  81. package/dist/domains/api/composables/useApiFetchByIds.d.ts +7 -21
  82. package/dist/domains/api/composables/useApiFetchByIds.js.map +1 -1
  83. package/dist/domains/api/composables/useApiFetchItems.d.ts +18 -57
  84. package/dist/domains/api/composables/useApiFetchItems.js.map +1 -1
  85. package/dist/domains/api/composables/useApiFetchList.d.ts +7 -23
  86. package/dist/domains/api/composables/useApiFetchList.js.map +1 -1
  87. package/dist/domains/api/composables/useApiFetchListBatch.d.ts +5 -22
  88. package/dist/domains/api/composables/useApiFetchListBatch.js.map +1 -1
  89. package/dist/domains/api/composables/useApiQueryBuilder.js.map +1 -1
  90. package/dist/domains/api/composables/useApiRequest.d.ts +16 -39
  91. package/dist/domains/api/composables/useApiRequest.js.map +1 -1
  92. package/dist/domains/api/utils/apiErrors.d.ts +28 -55
  93. package/dist/domains/api/utils/apiErrors.js.map +1 -1
  94. package/dist/domains/api/utils/listBody.d.ts +22 -43
  95. package/dist/domains/api/utils/listBody.js.map +1 -1
  96. package/dist/domains/auth/components/Acl.js.map +1 -1
  97. package/dist/domains/auth/components/Acl.vue_vue_type_script_setup_true_lang.js.map +1 -1
  98. package/dist/domains/auth/composables/aclAllowed.d.ts +2 -3
  99. package/dist/domains/auth/composables/aclAllowed.js.map +1 -1
  100. package/dist/domains/auth/composables/defineAuth.js.map +1 -1
  101. package/dist/domains/auth/composables/refreshSession.d.ts +10 -13
  102. package/dist/domains/auth/composables/refreshSession.js.map +1 -1
  103. package/dist/domains/cached/components/ACachedChip.js.map +1 -1
  104. package/dist/domains/cached/components/ACachedChip.vue.d.ts +13 -11
  105. package/dist/domains/cached/components/ACachedChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  106. package/dist/domains/cached/components/ACachedUserChip.js +1 -1
  107. package/dist/domains/cached/components/ACachedUserChip.js.map +1 -1
  108. package/dist/domains/cached/components/ACachedUserChip.vue.d.ts +3 -3
  109. package/dist/domains/cached/components/ACachedUserChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  110. package/dist/domains/cached/composables/createUserAndTimeTrackingFields.d.ts +9 -9
  111. package/dist/domains/cached/composables/createUserAndTimeTrackingFields.js.map +1 -1
  112. package/dist/domains/cached/composables/defineCached.d.ts +13 -11
  113. package/dist/domains/cached/composables/defineCached.js.map +1 -1
  114. package/dist/domains/cached/composables/useCachedItem.d.ts +7 -8
  115. package/dist/domains/cached/composables/useCachedItem.js.map +1 -1
  116. package/dist/domains/collab/components/ACollabLockedByUser.js.map +1 -1
  117. package/dist/domains/collab/components/ACollabLockedByUser.vue_vue_type_script_setup_true_lang.js.map +1 -1
  118. package/dist/domains/collab/composables/collabAnyDataChange.js.map +1 -1
  119. package/dist/domains/collab/composables/collabField.d.ts +5 -3
  120. package/dist/domains/collab/composables/collabField.js.map +1 -1
  121. package/dist/domains/collab/composables/collabInit.js +58 -54
  122. package/dist/domains/collab/composables/collabInit.js.map +1 -1
  123. package/dist/domains/collab/composables/collabRecovery.d.ts +49 -0
  124. package/dist/domains/collab/composables/collabRecovery.js +99 -0
  125. package/dist/domains/collab/composables/collabRecovery.js.map +1 -0
  126. package/dist/domains/collab/composables/collabRoom.js +106 -106
  127. package/dist/domains/collab/composables/collabRoom.js.map +1 -1
  128. package/dist/domains/collab/composables/collabState.d.ts +11 -4
  129. package/dist/domains/collab/composables/collabState.js +34 -25
  130. package/dist/domains/collab/composables/collabState.js.map +1 -1
  131. package/dist/domains/collab/composables/commonAdminCollabOptions.d.ts +4 -2
  132. package/dist/domains/collab/types/Collab.d.ts +31 -5
  133. package/dist/domains/collab/types/Collab.js +23 -11
  134. package/dist/domains/collab/types/Collab.js.map +1 -1
  135. package/dist/domains/customDataForm/components/ACustomDataForm.js.map +1 -1
  136. package/dist/domains/customDataForm/components/ACustomDataForm.vue.d.ts +7 -5
  137. package/dist/domains/customDataForm/components/ACustomDataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  138. package/dist/domains/customDataForm/components/ACustomDataFormElement.js.map +1 -1
  139. package/dist/domains/customDataForm/components/ACustomDataFormElement.vue_vue_type_script_setup_true_lang.js.map +1 -1
  140. package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.js.map +1 -1
  141. package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.vue.d.ts +5 -3
  142. package/dist/domains/customDataForm/components/ACustomDataFormHiddenPart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  143. package/dist/domains/customDataForm/composables/useCustomDataForm.js.map +1 -1
  144. package/dist/domains/customDataForm/types/CustomDataForm.d.ts +4 -1
  145. package/dist/domains/dam/api/damAssetApi.d.ts +7 -7
  146. package/dist/domains/dam/api/damAssetApi.js.map +1 -1
  147. package/dist/domains/dam/api/damAssetLicenceApi.d.ts +1 -1
  148. package/dist/domains/dam/api/damAssetLicenceApi.js.map +1 -1
  149. package/dist/domains/dam/api/damConstants.js.map +1 -1
  150. package/dist/domains/dam/api/damEndPoints.js.map +1 -1
  151. package/dist/domains/dam/api/damImageApi.js.map +1 -1
  152. package/dist/domains/dam/api/uploadApi.js.map +1 -1
  153. package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.js.map +1 -1
  154. package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue.d.ts +7 -5
  155. package/dist/domains/dam/assetDetail/components/AssetCustomMetadataForm.vue_vue_type_script_setup_true_lang.js.map +1 -1
  156. package/dist/domains/dam/assetDetail/components/AssetDetailDialog.js.map +1 -1
  157. package/dist/domains/dam/assetDetail/components/AssetDetailDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  158. package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.js.map +1 -1
  159. package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.vue.d.ts +1 -1
  160. package/dist/domains/dam/assetDetail/components/AssetDetailDialogFrame.vue_vue_type_script_setup_true_lang.js.map +1 -1
  161. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarActionsWrapper.vue.d.ts +5 -3
  162. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarFrame.js.map +1 -1
  163. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarFrame.vue_vue_type_script_setup_true_lang.js.map +1 -1
  164. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarMetadata.js.map +1 -1
  165. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
  166. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarROI.js.map +1 -1
  167. package/dist/domains/dam/assetDetail/components/AssetDetailSidebarROI.vue_vue_type_script_setup_true_lang.js.map +1 -1
  168. package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.js.map +1 -1
  169. package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.vue.d.ts +1 -1
  170. package/dist/domains/dam/assetDetail/components/AssetFileInfoPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  171. package/dist/domains/dam/assetDetail/components/AssetImage.js.map +1 -1
  172. package/dist/domains/dam/assetDetail/components/AssetImage.vue.d.ts +1 -1
  173. package/dist/domains/dam/assetDetail/components/AssetImage.vue_vue_type_script_setup_true_lang.js.map +1 -1
  174. package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.js.map +1 -1
  175. package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.vue.d.ts +2 -2
  176. package/dist/domains/dam/assetDetail/components/AssetImageMetaIcons.vue_vue_type_script_setup_true_lang.js.map +1 -1
  177. package/dist/domains/dam/assetDetail/components/AssetInfobox.js.map +1 -1
  178. package/dist/domains/dam/assetDetail/components/AssetInfobox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  179. package/dist/domains/dam/assetDetail/components/AssetMetadata.js.map +1 -1
  180. package/dist/domains/dam/assetDetail/components/AssetMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
  181. package/dist/domains/dam/assetDetail/composables/assetDetailExtSystem.d.ts +5 -6
  182. package/dist/domains/dam/assetDetail/composables/assetDetailExtSystem.js.map +1 -1
  183. package/dist/domains/dam/assetDetail/composables/assetDetailView.d.ts +10 -10
  184. package/dist/domains/dam/assetDetail/composables/assetDetailView.js.map +1 -1
  185. package/dist/domains/dam/assetDetail/store/assetDetailStore.js.map +1 -1
  186. package/dist/domains/dam/assetDetail/utils/assetMetadataMayStillChange.d.ts +4 -3
  187. package/dist/domains/dam/assetDetail/utils/assetMetadataMayStillChange.js.map +1 -1
  188. package/dist/domains/dam/assetSelect/api/damPodcastApi.js.map +1 -1
  189. package/dist/domains/dam/assetSelect/components/AAssetListInner.js.map +1 -1
  190. package/dist/domains/dam/assetSelect/components/AAssetListInner.vue.d.ts +789 -787
  191. package/dist/domains/dam/assetSelect/components/AAssetListInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  192. package/dist/domains/dam/assetSelect/components/AAssetSelect.js.map +1 -1
  193. package/dist/domains/dam/assetSelect/components/AAssetSelect.vue.d.ts +395 -393
  194. package/dist/domains/dam/assetSelect/components/AAssetSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  195. package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.js.map +1 -1
  196. package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.vue.d.ts +14 -12
  197. package/dist/domains/dam/assetSelect/components/AAssetSelectMedia.vue_vue_type_script_setup_true_lang.js.map +1 -1
  198. package/dist/domains/dam/assetSelect/components/AssetDistributionServiceNameFilter.js.map +1 -1
  199. package/dist/domains/dam/assetSelect/components/AssetDistributionServiceNameFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
  200. package/dist/domains/dam/assetSelect/components/AssetSelectListBar.js.map +1 -1
  201. package/dist/domains/dam/assetSelect/components/AssetSelectListBar.vue.d.ts +9 -7
  202. package/dist/domains/dam/assetSelect/components/AssetSelectListBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  203. package/dist/domains/dam/assetSelect/components/AssetSelectTableRowItem.js.map +1 -1
  204. package/dist/domains/dam/assetSelect/components/AssetSelectTableRowItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  205. package/dist/domains/dam/assetSelect/composables/assetSelectListActions.js.map +1 -1
  206. package/dist/domains/dam/assetSelect/store/assetSelectStore.js.map +1 -1
  207. package/dist/domains/dam/author/api/authorApi.js.map +1 -1
  208. package/dist/domains/dam/author/components/AuthorCreateButton.js.map +1 -1
  209. package/dist/domains/dam/author/components/AuthorCreateButton.vue.d.ts +1 -1
  210. package/dist/domains/dam/author/components/AuthorCreateButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  211. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.js.map +1 -1
  212. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.vue.d.ts +9 -6
  213. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  214. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChipConflicts.js.map +1 -1
  215. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteCachedAuthorChipConflicts.vue_vue_type_script_setup_true_lang.js.map +1 -1
  216. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.js +1 -1
  217. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.js.map +1 -1
  218. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue.d.ts +2 -2
  219. package/dist/domains/dam/author/components/AuthorRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js.map +1 -1
  220. package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.js.map +1 -1
  221. package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.vue.d.ts +1 -1
  222. package/dist/domains/dam/author/components/DamAuthorFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  223. package/dist/domains/dam/author/composables/cachedAuthors.d.ts +5 -4
  224. package/dist/domains/dam/author/composables/cachedAuthors.js.map +1 -1
  225. package/dist/domains/dam/author/composables/cachedUsers.d.ts +5 -4
  226. package/dist/domains/dam/author/composables/cachedUsers.js.map +1 -1
  227. package/dist/domains/dam/author/composables/damAuthorConfig.d.ts +2 -2
  228. package/dist/domains/dam/author/composables/damAuthorConfig.js.map +1 -1
  229. package/dist/domains/dam/components/DamAdminAssetLink.js.map +1 -1
  230. package/dist/domains/dam/components/DamAdminAssetLink.vue_vue_type_script_setup_true_lang.js.map +1 -1
  231. package/dist/domains/dam/composables/commonAdminCoreDamOptions.d.ts +10 -8
  232. package/dist/domains/dam/composables/commonAdminCoreDamOptions.js.map +1 -1
  233. package/dist/domains/dam/composables/damConfigName.d.ts +8 -9
  234. package/dist/domains/dam/composables/damConfigName.js.map +1 -1
  235. package/dist/domains/dam/composables/damNotifications.d.ts +9 -9
  236. package/dist/domains/dam/composables/damNotifications.js.map +1 -1
  237. package/dist/domains/dam/composables/damNotificationsConnection.d.ts +4 -4
  238. package/dist/domains/dam/composables/damNotificationsConnection.js.map +1 -1
  239. package/dist/domains/dam/composables/damNotificationsEventBus.d.ts +2 -2
  240. package/dist/domains/dam/composables/damNotificationsEventBus.js.map +1 -1
  241. package/dist/domains/dam/composables/extSystemIdForCached.d.ts +5 -4
  242. package/dist/domains/dam/composables/extSystemIdForCached.js.map +1 -1
  243. package/dist/domains/dam/config/api/damAssetCustomFormApi.js.map +1 -1
  244. package/dist/domains/dam/config/api/damConfigApi.js.map +1 -1
  245. package/dist/domains/dam/config/composables/damConfigState.d.ts +5 -5
  246. package/dist/domains/dam/config/composables/damConfigState.js.map +1 -1
  247. package/dist/domains/dam/config/store/damConfigStore.d.ts +5 -4
  248. package/dist/domains/dam/config/store/damConfigStore.js.map +1 -1
  249. package/dist/domains/dam/config/utils/damFilterUserAllowedUploadConfigs.d.ts +3 -1
  250. package/dist/domains/dam/config/utils/damFilterUserAllowedUploadConfigs.js.map +1 -1
  251. package/dist/domains/dam/cropper/components/ACropper.js.map +1 -1
  252. package/dist/domains/dam/cropper/components/ACropper.vue.d.ts +8 -16
  253. package/dist/domains/dam/cropper/components/ACropper.vue_vue_type_script_setup_true_lang.js.map +1 -1
  254. package/dist/domains/dam/cropper/components/DamAssetImageRoiSelect.js.map +1 -1
  255. package/dist/domains/dam/cropper/components/DamAssetImageRoiSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  256. package/dist/domains/dam/cropper/store/imageRoiStore.d.ts +9 -12
  257. package/dist/domains/dam/cropper/store/imageRoiStore.js.map +1 -1
  258. package/dist/domains/dam/cropper/utils/cropperGeometry.d.ts +24 -38
  259. package/dist/domains/dam/cropper/utils/cropperGeometry.js.map +1 -1
  260. package/dist/domains/dam/cropper/utils/cropperJsService.d.ts +3 -7
  261. package/dist/domains/dam/cropper/utils/cropperJsService.js +10 -3
  262. package/dist/domains/dam/cropper/utils/cropperJsService.js.map +1 -1
  263. package/dist/domains/dam/cropper/utils/cropperTypes.d.ts +3 -6
  264. package/dist/domains/dam/cropper/utils/damAssetImageRoiSelectLoader.d.ts +5 -5
  265. package/dist/domains/dam/cropper/utils/damAssetImageRoiSelectLoader.js.map +1 -1
  266. package/dist/domains/dam/imageWidget/components/AImageMediaWidget.js.map +1 -1
  267. package/dist/domains/dam/imageWidget/components/AImageMediaWidget.vue_vue_type_script_setup_true_lang.js.map +1 -1
  268. package/dist/domains/dam/imageWidget/components/AImagePublicInput.js.map +1 -1
  269. package/dist/domains/dam/imageWidget/components/AImagePublicInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  270. package/dist/domains/dam/imageWidget/components/AImageWidget.js.map +1 -1
  271. package/dist/domains/dam/imageWidget/components/AImageWidget.vue_vue_type_script_setup_true_lang.js.map +1 -1
  272. package/dist/domains/dam/imageWidget/components/AImageWidgetMultiple.js.map +1 -1
  273. package/dist/domains/dam/imageWidget/components/AImageWidgetMultiple.vue_vue_type_script_setup_true_lang.js.map +1 -1
  274. package/dist/domains/dam/imageWidget/components/AImageWidgetSimple.vue.d.ts +43 -41
  275. package/dist/domains/dam/imageWidget/components/AMediaWidgetSimple.vue.d.ts +31 -29
  276. package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.js.map +1 -1
  277. package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.vue.d.ts +29 -27
  278. package/dist/domains/dam/imageWidget/components/ImageDetailDialogMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
  279. package/dist/domains/dam/imageWidget/components/ImageMassOperations.js.map +1 -1
  280. package/dist/domains/dam/imageWidget/components/ImageMassOperations.vue.d.ts +1 -1
  281. package/dist/domains/dam/imageWidget/components/ImageMassOperations.vue_vue_type_script_setup_true_lang.js.map +1 -1
  282. package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.js.map +1 -1
  283. package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.vue.d.ts +68 -66
  284. package/dist/domains/dam/imageWidget/components/ImageMediaWidgetInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  285. package/dist/domains/dam/imageWidget/components/ImageWidgetInner.js.map +1 -1
  286. package/dist/domains/dam/imageWidget/components/ImageWidgetInner.vue.d.ts +402 -400
  287. package/dist/domains/dam/imageWidget/components/ImageWidgetInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  288. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.js.map +1 -1
  289. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.vue.d.ts +384 -382
  290. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleInner.vue_vue_type_script_setup_true_lang.js.map +1 -1
  291. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleItem.js.map +1 -1
  292. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  293. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.js.map +1 -1
  294. package/dist/domains/dam/imageWidget/components/ImageWidgetMultipleLimitDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  295. package/dist/domains/dam/imageWidget/components/MediaWidgetSimpleDialog.vue.d.ts +7 -5
  296. package/dist/domains/dam/imageWidget/composables/commonAdminImageOptions.js.map +1 -1
  297. package/dist/domains/dam/imageWidget/composables/imageApiCms.js.map +1 -1
  298. package/dist/domains/dam/imageWidget/composables/imageDialogDamAuthors.d.ts +11 -13
  299. package/dist/domains/dam/imageWidget/composables/imageDialogDamAuthors.js.map +1 -1
  300. package/dist/domains/dam/imageWidget/composables/useImageMassOperations.js.map +1 -1
  301. package/dist/domains/dam/imageWidget/store/imageMediaWidgetStore.js.map +1 -1
  302. package/dist/domains/dam/imageWidget/store/imageStore.js.map +1 -1
  303. package/dist/domains/dam/imageWidget/utils/damImage.d.ts +5 -6
  304. package/dist/domains/dam/imageWidget/utils/damImage.js.map +1 -1
  305. package/dist/domains/dam/imageWidget/utils/fieldLockTurns.d.ts +1 -2
  306. package/dist/domains/dam/imageWidget/utils/fieldLockTurns.js.map +1 -1
  307. package/dist/domains/dam/imageWidget/utils/imageSaves.d.ts +10 -14
  308. package/dist/domains/dam/imageWidget/utils/imageSaves.js.map +1 -1
  309. package/dist/domains/dam/imageWidget/utils/metadataToImageMap.js.map +1 -1
  310. package/dist/domains/dam/imageWidget/utils/waitLimit.d.ts +4 -6
  311. package/dist/domains/dam/imageWidget/utils/waitLimit.js.map +1 -1
  312. package/dist/domains/dam/keyword/api/keywordApi.js.map +1 -1
  313. package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.js.map +1 -1
  314. package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.vue.d.ts +1 -1
  315. package/dist/domains/dam/keyword/components/DamKeywordFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  316. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.js.map +1 -1
  317. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue.d.ts +8 -5
  318. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteCachedKeywordChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  319. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.js +1 -1
  320. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.js.map +1 -1
  321. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue.d.ts +2 -2
  322. package/dist/domains/dam/keyword/components/KeywordRemoteAutocompleteWithCached.vue_vue_type_script_setup_true_lang.js.map +1 -1
  323. package/dist/domains/dam/keyword/composables/cachedKeywords.d.ts +5 -4
  324. package/dist/domains/dam/keyword/composables/cachedKeywords.js.map +1 -1
  325. package/dist/domains/dam/keyword/composables/damKeywordConfig.d.ts +2 -2
  326. package/dist/domains/dam/keyword/composables/damKeywordConfig.js.map +1 -1
  327. package/dist/domains/dam/types/Asset.d.ts +1 -1
  328. package/dist/domains/dam/types/Asset.js.map +1 -1
  329. package/dist/domains/dam/types/UploadQueue.d.ts +5 -4
  330. package/dist/domains/dam/types/UploadQueue.js.map +1 -1
  331. package/dist/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.js.map +1 -1
  332. package/dist/domains/dam/uploadQueue/components/AssetCustomMetadataFormMassOperations.vue_vue_type_script_setup_true_lang.js.map +1 -1
  333. package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.js.map +1 -1
  334. package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue.d.ts +2 -2
  335. package/dist/domains/dam/uploadQueue/components/AssetQueueSelectedSidebar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  336. package/dist/domains/dam/uploadQueue/components/UploadQueueDialog.js.map +1 -1
  337. package/dist/domains/dam/uploadQueue/components/UploadQueueDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  338. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingle.js.map +1 -1
  339. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  340. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.js.map +1 -1
  341. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue.d.ts +6 -4
  342. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  343. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.js.map +1 -1
  344. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue.d.ts +1 -1
  345. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadata.vue_vue_type_script_setup_true_lang.js.map +1 -1
  346. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.js.map +1 -1
  347. package/dist/domains/dam/uploadQueue/components/UploadQueueDialogSingleSidebarMetadataContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  348. package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.js.map +1 -1
  349. package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.vue.d.ts +6 -6
  350. package/dist/domains/dam/uploadQueue/components/UploadQueueEditable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  351. package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.js.map +1 -1
  352. package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.vue.d.ts +13 -13
  353. package/dist/domains/dam/uploadQueue/components/UploadQueueItemEditable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  354. package/dist/domains/dam/uploadQueue/components/uploadQueueBindings.d.ts +13 -13
  355. package/dist/domains/dam/uploadQueue/components/uploadQueueBindings.js.map +1 -1
  356. package/dist/domains/dam/uploadQueue/composables/damUploadChunkSize.d.ts +2 -2
  357. package/dist/domains/dam/uploadQueue/composables/damUploadChunkSize.js.map +1 -1
  358. package/dist/domains/dam/uploadQueue/composables/uploadMeter.d.ts +12 -12
  359. package/dist/domains/dam/uploadQueue/composables/uploadMeter.js.map +1 -1
  360. package/dist/domains/dam/uploadQueue/composables/uploadQueueItemRefresh.d.ts +5 -5
  361. package/dist/domains/dam/uploadQueue/composables/uploadQueueItemRefresh.js.map +1 -1
  362. package/dist/domains/dam/uploadQueue/composables/uploadService.d.ts +2 -3
  363. package/dist/domains/dam/uploadQueue/composables/uploadService.js.map +1 -1
  364. package/dist/domains/dam/uploadQueue/composables/useUploadQueueDialog.d.ts +5 -4
  365. package/dist/domains/dam/uploadQueue/composables/useUploadQueueDialog.js.map +1 -1
  366. package/dist/domains/dam/uploadQueue/core/uploadQueueCore.d.ts +3 -2
  367. package/dist/domains/dam/uploadQueue/core/uploadQueueCore.js.map +1 -1
  368. package/dist/domains/dam/uploadQueue/core/uploadQueueCoreTypes.d.ts +8 -5
  369. package/dist/domains/dam/uploadQueue/core/uploadQueueCoreTypes.js.map +1 -1
  370. package/dist/domains/dam/uploadQueue/core/uploadQueueFill.d.ts +3 -3
  371. package/dist/domains/dam/uploadQueue/core/uploadQueueFill.js.map +1 -1
  372. package/dist/domains/dam/uploadQueue/presets/queuePresets.d.ts +8 -5
  373. package/dist/domains/dam/uploadQueue/presets/queuePresets.js.map +1 -1
  374. package/dist/domains/dam/uploadQueue/presets/uploadPresets.d.ts +15 -13
  375. package/dist/domains/dam/uploadQueue/presets/uploadPresets.js.map +1 -1
  376. package/dist/domains/dam/uploadQueue/settlement/uploadPollSchedule.d.ts +7 -7
  377. package/dist/domains/dam/uploadQueue/settlement/uploadPollSchedule.js.map +1 -1
  378. package/dist/domains/dam/uploadQueue/settlement/uploadPoller.d.ts +4 -4
  379. package/dist/domains/dam/uploadQueue/settlement/uploadPoller.js.map +1 -1
  380. package/dist/domains/dam/uploadQueue/settlement/uploadSettle.d.ts +28 -30
  381. package/dist/domains/dam/uploadQueue/settlement/uploadSettle.js.map +1 -1
  382. package/dist/domains/dam/uploadQueue/settlement/uploadSettlement.d.ts +2 -2
  383. package/dist/domains/dam/uploadQueue/settlement/uploadSettlement.js.map +1 -1
  384. package/dist/domains/dam/uploadQueue/settlement/uploadSettlementRuntime.d.ts +2 -2
  385. package/dist/domains/dam/uploadQueue/settlement/uploadSettlementRuntime.js.map +1 -1
  386. package/dist/domains/dam/uploadQueue/settlement/uploadSettlementTypes.d.ts +63 -73
  387. package/dist/domains/dam/uploadQueue/settlement/uploadSettlementTypes.js.map +1 -1
  388. package/dist/domains/dam/uploadQueue/store/uploadQueuesStore.d.ts +8 -9
  389. package/dist/domains/dam/uploadQueue/store/uploadQueuesStore.js.map +1 -1
  390. package/dist/domains/dam/user/api/userApi.d.ts +2 -2
  391. package/dist/domains/dam/user/api/userApi.js.map +1 -1
  392. package/dist/domains/dam/user/components/DamDistributionServiceSelect.js.map +1 -1
  393. package/dist/domains/dam/user/components/DamDistributionServiceSelect.vue.d.ts +1 -1
  394. package/dist/domains/dam/user/components/DamDistributionServiceSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  395. package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.js.map +1 -1
  396. package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.vue.d.ts +1 -1
  397. package/dist/domains/dam/user/components/DamExternalProviderAssetSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  398. package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.js.map +1 -1
  399. package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.vue.d.ts +1 -1
  400. package/dist/domains/dam/user/components/DamUserRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  401. package/dist/domains/dam/user/composables/damUserSelectActions.d.ts +1 -1
  402. package/dist/domains/dam/user/composables/damUserSelectActions.js.map +1 -1
  403. package/dist/domains/dam/user/types/DamDistributionServiceType.d.ts +2 -2
  404. package/dist/domains/dam/user/types/DamDistributionServiceType.js.map +1 -1
  405. package/dist/domains/dam/user/types/DamExternalProviderAssetType.d.ts +1 -1
  406. package/dist/domains/dam/user/types/DamExternalProviderAssetType.js.map +1 -1
  407. package/dist/domains/filters/bookmarks/components/FilterBookmarkDialog.js.map +1 -1
  408. package/dist/domains/filters/bookmarks/components/FilterBookmarkDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  409. package/dist/domains/filters/bookmarks/store/bookmarksStore.d.ts +3 -3
  410. package/dist/domains/filters/bookmarks/store/bookmarksStore.js.map +1 -1
  411. package/dist/domains/filters/components/AFilterDatetimePicker.js.map +1 -1
  412. package/dist/domains/filters/components/AFilterDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  413. package/dist/domains/filters/components/AFilterInteger.js.map +1 -1
  414. package/dist/domains/filters/components/AFilterInteger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  415. package/dist/domains/filters/components/AFilterString.js.map +1 -1
  416. package/dist/domains/filters/components/AFilterString.vue_vue_type_script_setup_true_lang.js.map +1 -1
  417. package/dist/domains/filters/components/AFilterTimeInterval.js +1 -1
  418. package/dist/domains/filters/components/AFilterTimeInterval.js.map +1 -1
  419. package/dist/domains/filters/components/AFilterTimeInterval.vue.d.ts +5 -3
  420. package/dist/domains/filters/components/AFilterTimeInterval.vue_vue_type_script_setup_true_lang.js.map +1 -1
  421. package/dist/domains/filters/components/AFilterValueObjectOptionsSelect.js.map +1 -1
  422. package/dist/domains/filters/components/AFilterValueObjectOptionsSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  423. package/dist/domains/filters/components/AFilterWrapper.js.map +1 -1
  424. package/dist/domains/filters/components/AFilterWrapper.vue.d.ts +17 -15
  425. package/dist/domains/filters/components/AFilterWrapper.vue_vue_type_script_setup_true_lang.js +63 -62
  426. package/dist/domains/filters/components/AFilterWrapper.vue_vue_type_script_setup_true_lang.js.map +1 -1
  427. package/dist/domains/filters/components/AFilterWrapperSidebar.vue.d.ts +5 -3
  428. package/dist/domains/filters/components/FiltersSelected.js.map +1 -1
  429. package/dist/domains/filters/components/FiltersSelected.vue_vue_type_script_setup_true_lang.js.map +1 -1
  430. package/dist/domains/filters/composables/filterFactory.d.ts +16 -26
  431. package/dist/domains/filters/composables/filterFactory.js +38 -31
  432. package/dist/domains/filters/composables/filterFactory.js.map +1 -1
  433. package/dist/domains/filters/datatable/components/ADatatableOrdering.js.map +1 -1
  434. package/dist/domains/filters/datatable/components/ADatatableOrdering.vue_vue_type_script_setup_true_lang.js +3 -1
  435. package/dist/domains/filters/datatable/components/ADatatableOrdering.vue_vue_type_script_setup_true_lang.js.map +1 -1
  436. package/dist/domains/filters/datatable/components/ADatatablePagination.js.map +1 -1
  437. package/dist/domains/filters/datatable/components/ADatatablePagination.vue_vue_type_script_setup_true_lang.js +2 -4
  438. package/dist/domains/filters/datatable/components/ADatatablePagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
  439. package/dist/domains/filters/utils/filterInjectionKeys.js.map +1 -1
  440. package/dist/domains/form/components/AFormDatetimePicker.js.map +1 -1
  441. package/dist/domains/form/components/AFormDatetimePicker.vue.d.ts +7 -5
  442. package/dist/domains/form/components/AFormDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  443. package/dist/domains/form/components/AFormFlagDatetimePicker.js.map +1 -1
  444. package/dist/domains/form/components/AFormFlagDatetimePicker.vue.d.ts +7 -5
  445. package/dist/domains/form/components/AFormFlagDatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  446. package/dist/domains/form/components/AFormSwitch.vue.d.ts +7 -5
  447. package/dist/domains/form/components/AFormTextField.js.map +1 -1
  448. package/dist/domains/form/components/AFormTextField.vue.d.ts +9 -7
  449. package/dist/domains/form/components/AFormTextField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  450. package/dist/domains/form/components/AFormTextarea.vue.d.ts +13 -11
  451. package/dist/domains/form/components/AFormValueObjectOptionsSelect.vue.d.ts +7 -5
  452. package/dist/domains/form/components/ASystemEntityScope.vue.d.ts +5 -3
  453. package/dist/domains/job/api/jobApi.js.map +1 -1
  454. package/dist/domains/job/components/AJobDetailCommon.vue.d.ts +5 -3
  455. package/dist/domains/listEditor/components/AListEditor.js.map +1 -1
  456. package/dist/domains/listEditor/components/AListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
  457. package/dist/domains/listEditor/components/ANestedSortableListEditor.js.map +1 -1
  458. package/dist/domains/listEditor/components/ANestedSortableListEditor.vue.d.ts +2 -3
  459. package/dist/domains/listEditor/components/ANestedSortableListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
  460. package/dist/domains/listEditor/components/ASortableListEditor.js.map +1 -1
  461. package/dist/domains/listEditor/components/ASortableListEditor.vue.d.ts +2 -3
  462. package/dist/domains/listEditor/components/ASortableListEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
  463. package/dist/domains/listEditor/composables/useListEditorController.d.ts +4 -5
  464. package/dist/domains/listEditor/composables/useListEditorController.js.map +1 -1
  465. package/dist/domains/listEditor/composables/useNestedListEditor.d.ts +3 -4
  466. package/dist/domains/listEditor/composables/useNestedListEditor.js.map +1 -1
  467. package/dist/domains/listEditor/composables/useNestedListEditorController.d.ts +5 -4
  468. package/dist/domains/listEditor/composables/useNestedListEditorController.js.map +1 -1
  469. package/dist/domains/listEditor/composables/useReorderMode.js.map +1 -1
  470. package/dist/domains/listEditor/types/listEditorTypes.d.ts +2 -2
  471. package/dist/domains/listEditor/utils/listEditorLoader.d.ts +5 -5
  472. package/dist/domains/listEditor/utils/listEditorLoader.js.map +1 -1
  473. package/dist/domains/listEditor/utils/resolveCompactText.js.map +1 -1
  474. package/dist/domains/log/api/logApi.d.ts +2 -3
  475. package/dist/domains/log/api/logApi.js.map +1 -1
  476. package/dist/domains/log/components/ALogDatatable.js.map +1 -1
  477. package/dist/domains/log/components/ALogDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  478. package/dist/domains/log/components/ALogDetailView.js.map +1 -1
  479. package/dist/domains/log/components/ALogDetailView.vue.d.ts +1 -1
  480. package/dist/domains/log/components/ALogDetailView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  481. package/dist/domains/log/components/ALogFilter.js.map +1 -1
  482. package/dist/domains/log/components/ALogFilter.vue_vue_type_script_setup_true_lang.js.map +1 -1
  483. package/dist/domains/log/components/ALogListView.js.map +1 -1
  484. package/dist/domains/log/components/ALogListView.vue.d.ts +1 -1
  485. package/dist/domains/log/components/ALogListView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  486. package/dist/domains/log/composables/logActions.d.ts +4 -5
  487. package/dist/domains/log/composables/logActions.js.map +1 -1
  488. package/dist/domains/log/composables/logType.d.ts +6 -7
  489. package/dist/domains/log/composables/logType.js.map +1 -1
  490. package/dist/domains/log/filter/logFilter.d.ts +8 -11
  491. package/dist/domains/log/filter/logFilter.js.map +1 -1
  492. package/dist/domains/permission/components/APermissionEditor.js.map +1 -1
  493. package/dist/domains/permission/components/APermissionEditor.vue.d.ts +4 -4
  494. package/dist/domains/permission/components/APermissionEditor.vue_vue_type_script_setup_true_lang.js.map +1 -1
  495. package/dist/domains/permission/composables/permissionActions.d.ts +3 -6
  496. package/dist/domains/permission/composables/permissionActions.js.map +1 -1
  497. package/dist/domains/permission/config/api/permissionConfigApi.d.ts +2 -2
  498. package/dist/domains/permission/config/api/permissionConfigApi.js.map +1 -1
  499. package/dist/domains/permission/config/composables/permissionConfigActions.d.ts +3 -7
  500. package/dist/domains/permission/config/composables/permissionConfigActions.js.map +1 -1
  501. package/dist/domains/permission/config/store/permissionConfigStore.d.ts +2 -4
  502. package/dist/domains/permission/config/store/permissionConfigStore.js.map +1 -1
  503. package/dist/domains/permission/group/api/permissionGroupApi.d.ts +8 -10
  504. package/dist/domains/permission/group/api/permissionGroupApi.js.map +1 -1
  505. package/dist/domains/permission/group/components/APermissionGroupDatatable.js.map +1 -1
  506. package/dist/domains/permission/group/components/APermissionGroupDatatable.vue.d.ts +12 -10
  507. package/dist/domains/permission/group/components/APermissionGroupDatatable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  508. package/dist/domains/permission/group/components/APermissionGroupDetail.js.map +1 -1
  509. package/dist/domains/permission/group/components/APermissionGroupDetail.vue.d.ts +21 -22
  510. package/dist/domains/permission/group/components/APermissionGroupDetail.vue_vue_type_script_setup_true_lang.js.map +1 -1
  511. package/dist/domains/permission/group/components/APermissionGroupManage.js.map +1 -1
  512. package/dist/domains/permission/group/components/APermissionGroupManage.vue.d.ts +21 -22
  513. package/dist/domains/permission/group/components/APermissionGroupManage.vue_vue_type_script_setup_true_lang.js.map +1 -1
  514. package/dist/domains/permission/group/composables/cachedPermissionGroups.js.map +1 -1
  515. package/dist/domains/permission/group/composables/permissionGroupActions.d.ts +6 -8
  516. package/dist/domains/permission/group/composables/permissionGroupActions.js.map +1 -1
  517. package/dist/domains/permission/group/composables/permissionGroupValidations.d.ts +2 -3
  518. package/dist/domains/permission/group/composables/permissionGroupValidations.js.map +1 -1
  519. package/dist/domains/permission/group/filter/permissionGroupFilter.d.ts +2 -3
  520. package/dist/domains/permission/group/filter/permissionGroupFilter.js.map +1 -1
  521. package/dist/domains/permission/group/store/permissionGroupStore.d.ts +3 -6
  522. package/dist/domains/permission/group/store/permissionGroupStore.js.map +1 -1
  523. package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.js.map +1 -1
  524. package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  525. package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.js.map +1 -1
  526. package/dist/domains/remoteAutocomplete/components/AFilterRemoteAutocompleteWithMinimal.vue_vue_type_script_setup_true_lang.js.map +1 -1
  527. package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.js.map +1 -1
  528. package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  529. package/dist/domains/remoteAutocomplete/components/AFormRemoteAutocompleteWithCached.vue.d.ts +5 -3
  530. package/dist/domains/remoteAutocomplete/composables/createRemoteAutocomplete.d.ts +11 -13
  531. package/dist/domains/remoteAutocomplete/composables/createRemoteAutocomplete.js.map +1 -1
  532. package/dist/domains/subjectSelect/components/AFilterWrapperSubjectSelect.vue.d.ts +13 -11
  533. package/dist/domains/subjectSelect/components/ASubjectSelect.js.map +1 -1
  534. package/dist/domains/subjectSelect/components/ASubjectSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  535. package/dist/domains/subjectSelect/composables/useSubjectSelect.js +53 -51
  536. package/dist/domains/subjectSelect/composables/useSubjectSelect.js.map +1 -1
  537. package/dist/domains/system/appShell/components/AActionbar.vue.d.ts +7 -5
  538. package/dist/domains/system/appShell/components/ALayoutSwitch.js.map +1 -1
  539. package/dist/domains/system/appShell/components/ALayoutSwitch.vue.d.ts +7 -5
  540. package/dist/domains/system/appShell/components/ALayoutSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  541. package/dist/domains/system/appShell/composables/teleportSlot.d.ts +0 -1
  542. package/dist/domains/system/appShell/composables/teleportSlot.js.map +1 -1
  543. package/dist/domains/system/components/AAlerts.js.map +1 -1
  544. package/dist/domains/system/components/AAlerts.vue_vue_type_script_setup_true_lang.js.map +1 -1
  545. package/dist/domains/system/composables/alerts.js.map +1 -1
  546. package/dist/domains/system/composables/breadcrumbs.d.ts +3 -3
  547. package/dist/domains/system/composables/breadcrumbs.js.map +1 -1
  548. package/dist/domains/system/composables/languageSettings.js.map +1 -1
  549. package/dist/domains/system/composables/loginStatus.js.map +1 -1
  550. package/dist/domains/system/composables/navigationError.d.ts +6 -8
  551. package/dist/domains/system/composables/navigationError.js.map +1 -1
  552. package/dist/domains/system/composables/pageNavigation.d.ts +9 -10
  553. package/dist/domains/system/composables/pageNavigation.js.map +1 -1
  554. package/dist/domains/system/composables/recordActions.d.ts +14 -22
  555. package/dist/domains/system/composables/recordActions.js.map +1 -1
  556. package/dist/domains/system/composables/recordPage.d.ts +23 -38
  557. package/dist/domains/system/composables/recordPage.js.map +1 -1
  558. package/dist/domains/system/composables/routeHistory.d.ts +4 -5
  559. package/dist/domains/system/composables/routeHistory.js.map +1 -1
  560. package/dist/domains/system/composables/sentry.js.map +1 -1
  561. package/dist/domains/system/composables/useDebugFeatures.d.ts +3 -6
  562. package/dist/domains/system/composables/useDebugFeatures.js.map +1 -1
  563. package/dist/domains/system/store/datatablePageStore.d.ts +8 -1
  564. package/dist/domains/system/store/datatablePageStore.js +10 -3
  565. package/dist/domains/system/store/datatablePageStore.js.map +1 -1
  566. package/dist/domains/system/systemBar/components/ASystemBar.js.map +1 -1
  567. package/dist/domains/system/systemBar/components/ASystemBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  568. package/dist/domains/system/systemBar/utils/appReload.d.ts +5 -5
  569. package/dist/domains/system/systemBar/utils/appReload.js.map +1 -1
  570. package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.js.map +1 -1
  571. package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.vue.d.ts +2 -3
  572. package/dist/domains/ui/buttons/action/components/AActionCloseButtonHistory.vue_vue_type_script_setup_true_lang.js.map +1 -1
  573. package/dist/domains/ui/buttons/action/components/AActionDeleteButton.js.map +1 -1
  574. package/dist/domains/ui/buttons/action/components/AActionDeleteButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  575. package/dist/domains/ui/buttons/components/ABtnSplit.vue.d.ts +9 -7
  576. package/dist/domains/ui/components/AAvatarColorPicker.js.map +1 -1
  577. package/dist/domains/ui/components/AAvatarColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  578. package/dist/domains/ui/components/ACard.js.map +1 -1
  579. package/dist/domains/ui/components/ACard.vue.d.ts +7 -3
  580. package/dist/domains/ui/components/ACard.vue_vue_type_script_setup_true_lang.js +6 -2
  581. package/dist/domains/ui/components/ACard.vue_vue_type_script_setup_true_lang.js.map +1 -1
  582. package/dist/domains/ui/components/ACardLoader.js.map +1 -1
  583. package/dist/domains/ui/components/ACardLoader.vue.d.ts +1 -0
  584. package/dist/domains/ui/components/ACardLoader.vue_vue_type_script_setup_true_lang.js +13 -7
  585. package/dist/domains/ui/components/ACardLoader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  586. package/dist/domains/ui/components/AChipNoLink.vue.d.ts +5 -3
  587. package/dist/domains/ui/components/ACopyText.vue.d.ts +9 -7
  588. package/dist/domains/ui/components/ACreateDialog.js.map +1 -1
  589. package/dist/domains/ui/components/ACreateDialog.vue.d.ts +11 -9
  590. package/dist/domains/ui/components/ACreateDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  591. package/dist/domains/ui/components/ADialogToolbar.vue.d.ts +5 -3
  592. package/dist/domains/ui/components/ARow.vue.d.ts +5 -3
  593. package/dist/domains/ui/components/ATimeTrackingFields.js.map +1 -1
  594. package/dist/domains/ui/components/ATimeTrackingFields.vue_vue_type_script_setup_true_lang.js.map +1 -1
  595. package/dist/domains/ui/components/AUserAndTimeTrackingFields.js.map +1 -1
  596. package/dist/domains/ui/components/AUserAndTimeTrackingFields.vue.d.ts +3 -5
  597. package/dist/domains/ui/components/AUserAndTimeTrackingFields.vue_vue_type_script_setup_true_lang.js.map +1 -1
  598. package/dist/domains/ui/datetime/components/ADatetimePicker.js +1 -1
  599. package/dist/domains/ui/datetime/components/ADatetimePicker.js.map +1 -1
  600. package/dist/domains/ui/datetime/components/ADatetimePicker.vue.d.ts +5 -3
  601. package/dist/domains/ui/datetime/components/ADatetimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  602. package/dist/domains/ui/file/components/AFileDropzone.js.map +1 -1
  603. package/dist/domains/ui/file/components/AFileDropzone.vue.d.ts +1 -1
  604. package/dist/domains/ui/file/components/AFileDropzone.vue_vue_type_script_setup_true_lang.js.map +1 -1
  605. package/dist/domains/ui/file/components/AFileInput.js.map +1 -1
  606. package/dist/domains/ui/file/components/AFileInput.vue.d.ts +9 -7
  607. package/dist/domains/ui/file/components/AFileInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  608. package/dist/domains/ui/file/components/AFileInputDialog.js.map +1 -1
  609. package/dist/domains/ui/file/components/AFileInputDialog.vue.d.ts +9 -7
  610. package/dist/domains/ui/file/components/AFileInputDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  611. package/dist/domains/ui/file/composables/dropzone.js.map +1 -1
  612. package/dist/domains/ui/file/composables/formatAndSizeCheck.js.map +1 -1
  613. package/dist/domains/ui/view/components/AGenericView.vue.d.ts +7 -5
  614. package/dist/domains/ui/view/components/ALoginView.js +1 -1
  615. package/dist/domains/ui/view/components/ALoginView.js.map +1 -1
  616. package/dist/domains/ui/view/components/ALoginView.vue.d.ts +5 -3
  617. package/dist/domains/ui/view/components/ALoginView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  618. package/dist/domains/ui/view/components/ALogoutView.js.map +1 -1
  619. package/dist/domains/ui/view/components/ALogoutView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  620. package/dist/domains/ui/view/components/ANotFoundView.js.map +1 -1
  621. package/dist/domains/ui/view/components/ANotFoundView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  622. package/dist/domains/unsavedGuard/composables/useUnsavedChangesGuard.d.ts +6 -7
  623. package/dist/domains/unsavedGuard/composables/useUnsavedChangesGuard.js.map +1 -1
  624. package/dist/lib.d.ts +2 -2
  625. package/dist/plugins/commonVuetifyConfig.d.ts +3 -3
  626. package/dist/plugins/commonVuetifyConfig.js.map +1 -1
  627. package/dist/plugins/i18n.d.ts +4 -5
  628. package/dist/plugins/i18n.js.map +1 -1
  629. package/dist/plugins/pluginOptions.d.ts +4 -2
  630. package/dist/plugins/pluginOptions.js.map +1 -1
  631. package/dist/plugins/webfontloader.js.map +1 -1
  632. package/dist/shared/error/AnzuApiCancelledError.d.ts +5 -8
  633. package/dist/shared/error/AnzuApiCancelledError.js.map +1 -1
  634. package/dist/shared/error/AnzuError.d.ts +3 -5
  635. package/dist/shared/error/AnzuError.js.map +1 -1
  636. package/dist/shared/error/AuthUnavailableError.d.ts +3 -3
  637. package/dist/shared/error/AuthUnavailableError.js.map +1 -1
  638. package/dist/shared/error/isInCauseChain.d.ts +2 -2
  639. package/dist/shared/error/isInCauseChain.js.map +1 -1
  640. package/dist/shared/types/UserAndTimeTracking.d.ts +5 -5
  641. package/dist/shared/types/Validation.d.ts +4 -5
  642. package/dist/shared/types/common.d.ts +1 -3
  643. package/dist/shared/types/globalComponents.d.ts +5 -6
  644. package/dist/shared/utils/common.js.map +1 -1
  645. package/dist/shared/utils/datetime.d.ts +0 -1
  646. package/dist/shared/utils/datetime.js.map +1 -1
  647. package/dist/shared/utils/datetimePickerValue.d.ts +4 -7
  648. package/dist/shared/utils/datetimePickerValue.js.map +1 -1
  649. package/dist/shared/utils/development.d.ts +3 -3
  650. package/dist/shared/utils/development.js.map +1 -1
  651. package/dist/shared/utils/envConfig.d.ts +4 -4
  652. package/dist/shared/utils/envConfig.js.map +1 -1
  653. package/dist/shared/utils/json.d.ts +1 -1
  654. package/dist/shared/utils/json.js.map +1 -1
  655. package/dist/shared/utils/userAndTimeTracking.d.ts +5 -7
  656. package/dist/shared/utils/userAndTimeTracking.js.map +1 -1
  657. package/dist/shared/validators/vuelidate/common/useValidateHexColor.d.ts +3 -5
  658. package/dist/shared/validators/vuelidate/common/useValidateHexColor.js.map +1 -1
  659. package/dist/testing/appShell.d.ts +11 -11
  660. package/dist/testing/appShell.js.map +1 -1
  661. package/dist/testing/closeButtons.d.ts +9 -11
  662. package/dist/testing/closeButtons.js.map +1 -1
  663. package/dist/testing/declaredDependencies.d.ts +7 -7
  664. package/dist/testing/declaredDependencies.js.map +1 -1
  665. package/dist/testing/generatedRoutes.d.ts +6 -11
  666. package/dist/testing/generatedRoutes.js.map +1 -1
  667. package/dist/testing/routeHistory.d.ts +5 -12
  668. package/dist/testing/routeHistory.js.map +1 -1
  669. package/dist/testing/sortableLists.d.ts +16 -21
  670. package/dist/testing/sortableLists.js.map +1 -1
  671. package/dist/testing/typedRouter.d.ts +0 -1
  672. package/dist/testing/typedRouter.js.map +1 -1
  673. package/package.json +39 -29
  674. package/src/e2e/conventions.d.mts +4 -0
  675. package/src/e2e/conventions.mjs +15 -0
  676. package/src/e2e/index.d.mts +8 -0
  677. package/src/e2e/index.mjs +1 -0
  678. package/src/e2e/routeWalk.d.mts +43 -0
  679. package/src/e2e/routeWalk.mjs +606 -0
  680. package/src/e2e/types.d.mts +161 -0
  681. package/src/eslint/adminConfig.mjs +19 -27
  682. package/src/eslint/globalComponentNames.mjs +3 -4
  683. package/src/eslint/oxlint.mjs +7 -20
  684. package/src/eslint/plugin.d.mts +2 -4
  685. package/src/eslint/plugin.mjs +18 -34
  686. package/src/eslint/validRouteName.mjs +6 -7
  687. package/src/vite/devWatch.mjs +30 -43
  688. package/src/vite/index.d.mts +5 -5
  689. package/src/vite/sentry.mjs +7 -12
  690. package/src/vite/sourcemaps.mjs +4 -8
@@ -1 +1 @@
1
- {"version":3,"file":"AFilterTimeInterval.js","names":["_sfc_main","_plugin_vue_export_helper_default","AFilterTimeInterval_vue_vue_type_script_setup_true_lang_default","AFilterTimeInterval_default"],"sources":["../../../../src/domains/filters/components/AFilterTimeInterval.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject, nextTick, ref, watch } from 'vue'\nimport {\n FilterConfigKey,\n FilterDataKey,\n FilterSelectedKey,\n FilterSubmitResetCounterKey,\n} from '@/domains/filters/utils/filterInjectionKeys'\nimport { isArray, isBoolean, isNull, isUndefined } from '@/shared/utils/common'\nimport { useI18n } from 'vue-i18n'\nimport { type AllowedFilterValues, useFilterClearHelpers } from '@/domains/filters/composables/filterFactory'\nimport {\n TimeIntervalSpecialOptions,\n type TimeIntervalToolsValue,\n useFilterTimeIntervalValidators,\n useTimeIntervalOptions,\n} from '@/domains/filters/composables/filterTimeIntervalTools'\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\nimport AFormDatetimePicker from '@/domains/form/components/AFormDatetimePicker.vue'\nimport type { DatetimeUTCNullable } from '@/shared/types/common'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport { dateTimeNow, dateTimePretty, isDatetimeUTC } from '@/shared/utils/datetime'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\n\nconst props = withDefaults(\n defineProps<{\n nameFrom: string\n nameUntil: string\n allowed?: TimeIntervalToolsValue[]\n placeholder?: string | undefined\n dataCy?: string\n }>(),\n {\n allowed: undefined,\n placeholder: undefined,\n dataCy: 'filter-time-interval',\n }\n)\nconst emit = defineEmits<{\n (e: 'change'): void\n}>()\n\nconst submitResetCounter = inject(FilterSubmitResetCounterKey)\nconst filterSelected = inject(FilterSelectedKey)\nconst filterConfig = inject(FilterConfigKey)\nconst filterData = inject(FilterDataKey)\n\nif (\n isUndefined(submitResetCounter) ||\n isUndefined(filterSelected) ||\n isUndefined(filterConfig) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterConfig.fields[props.nameFrom]) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterConfig.fields[props.nameUntil]) ||\n isUndefined(filterData) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterData[props.nameFrom]) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterData[props.nameUntil])\n) {\n throw new Error('Incorrect provide/inject config.')\n}\n\nconst modelValue = computed({\n get() {\n return filterData[props.nameFrom]\n },\n set(newValue) {\n filterData[props.nameFrom] = newValue\n updateSelected(newValue)\n filterConfig.touched = true\n nextTick(() => {\n emit('change')\n })\n },\n})\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { timeIntervalOptions, getTimeIntervalOption } = useTimeIntervalOptions(props.allowed)\nconst modelInternal = ref<TimeIntervalToolsValue>(null)\nconst dialogCustom = ref(false)\nconst dialogData = ref<{ from: DatetimeUTCNullable; until: DatetimeUTCNullable }>({\n from: null,\n until: dateTimeNow(),\n})\nconst displayFromTo = ref(false)\n\nconst { v$ } = useFilterTimeIntervalValidators(dialogData)\n\n// The setup above throws unless the field is configured.\nconst filterConfigCurrent = computed(() => filterConfig.fields[props.nameFrom]!)\n\nconst { t } = useI18n()\n\nconst label = computed(() => {\n return filterConfigCurrent.value.titleT ? t(filterConfigCurrent.value.titleT) : undefined\n})\n\nconst { clearOne } = useFilterClearHelpers()\nconst { showValidationError } = useAlerts()\n\nconst onClear = () => {\n clearField()\n // Clearing means \"back to the default\", which is not always \"everything\" - a pair with an\n // absolute default keeps its window. Since the value then does not change, neither watcher runs,\n // so the display and the chip are re-derived here. Showing \"everything\" while the query still\n // carries the old window would make the control lie about what the list contains.\n syncDisplayToValue(filterData[props.nameFrom])\n updateSelected(filterData[props.nameFrom])\n}\n\nconst onDialogConfirm = () => {\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return\n }\n displayFromTo.value = true\n dialogCustom.value = false\n filterData[props.nameUntil] = dialogData.value.until\n modelValue.value = dialogData.value.from\n}\n\ndefineExpose({ onClear })\n\nconst onDialogClose = () => {\n dialogCustom.value = false\n modelInternal.value = null\n}\n\nconst clearField = () => {\n clearOne(props.nameFrom, filterData, filterConfig)\n clearOne(props.nameUntil, filterData, filterConfig)\n filterSelected.value.delete(props.nameFrom)\n}\n\nconst updateSelected = (fromValue: AllowedFilterValues) => {\n if (isArray(fromValue) || isBoolean(fromValue)) return\n if (isNull(fromValue) || isUndefined(fromValue)) {\n filterSelected.value.delete(props.nameFrom)\n return\n }\n const found = getTimeIntervalOption(fromValue as TimeIntervalToolsValue)\n if (!found && isDatetimeUTC(fromValue)) {\n const customOption = getTimeIntervalOption(TimeIntervalSpecialOptions.Custom)!\n filterSelected.value.set(props.nameFrom, [\n {\n title:\n customOption.title +\n ': ' +\n dateTimePretty(dialogData.value.from) +\n ' - ' +\n dateTimePretty(dialogData.value.until),\n value: fromValue,\n },\n ])\n return\n }\n if (!found) return\n filterSelected.value.set(props.nameFrom, [{ title: found.title, value: fromValue }])\n}\n\nconst onEditInterval = (clear = false) => {\n v$.value.$reset()\n if (clear) {\n dialogData.value.from = null\n dialogData.value.until = dateTimeNow()\n }\n dialogCustom.value = true\n}\n\n/** What the control shows is derived from the value, never assumed. */\nconst syncDisplayToValue = (newValue: AllowedFilterValues) => {\n if (isArray(newValue) || isBoolean(newValue)) return\n displayFromTo.value = false\n if (isUndefined(newValue) || isNull(newValue)) {\n modelInternal.value = null\n return\n }\n const found = getTimeIntervalOption(newValue as TimeIntervalToolsValue)\n const filterDataUntil = filterData[props.nameUntil]\n if (!found && isDatetimeUTC(newValue) && isDatetimeUTC(filterDataUntil)) {\n modelInternal.value = TimeIntervalSpecialOptions.Custom\n dialogData.value.from = newValue\n dialogData.value.until = filterDataUntil\n displayFromTo.value = true\n }\n if (found) {\n modelInternal.value = found.value\n }\n}\n\nwatch(modelValue, syncDisplayToValue, { immediate: true })\n\n// Reset clears every field back to its default and wipes the chips. For a pair whose default is\n// null that is the whole story, but an absolute default survives the reset - the value does not\n// change, so no watcher runs, and the control would keep showing a range with no chip beside it.\n// The wrapper bumps this counter after clearing, which is the one signal that a reset happened.\nwatch(submitResetCounter, () => {\n syncDisplayToValue(filterData[props.nameFrom])\n updateSelected(filterData[props.nameFrom])\n})\n\nwatch(\n [() => filterData[props.nameFrom], () => filterData[props.nameUntil]],\n ([fromNewValue, untilNewValue], [fromOldValue, untilOldValue]) => {\n if (fromNewValue === fromOldValue && untilNewValue === untilOldValue) return\n updateSelected(fromNewValue)\n },\n { immediate: true }\n)\n\nconst onInternalItemChange = (item: ValueObjectOption<TimeIntervalToolsValue>) => {\n if (item.value === TimeIntervalSpecialOptions.Custom) {\n onEditInterval(true)\n return\n }\n filterData[props.nameUntil] = null\n modelValue.value = item.value\n}\n</script>\n\n<template>\n <VTextarea\n v-if=\"displayFromTo\"\n :label=\"label\"\n :model-value=\"dateTimePretty(dialogData.from) + ' - ' + dateTimePretty(dialogData.until)\"\n readonly\n rows=\"1\"\n auto-grow\n hide-details\n append-inner-icon=\"mdi-menu-down\"\n clearable\n class=\"cursor-pointer\"\n @click:clear.stop=\"onClear\"\n @click.stop=\"onEditInterval()\"\n />\n <VSelect\n v-else\n v-model=\"modelInternal\"\n item-title=\"title\"\n item-value=\"value\"\n :label=\"label\"\n :clearable=\"!isNull(modelInternal)\"\n no-filter\n :data-cy=\"dataCy\"\n :items=\"timeIntervalOptions\"\n hide-details\n autocomplete=\"off\"\n @click:clear.stop=\"onClear\"\n >\n <template #item=\"{ props: itemProps, internalItem }\">\n <VListItem\n v-bind=\"itemProps\"\n @click=\"onInternalItemChange(internalItem)\"\n />\n </template>\n </VSelect>\n <VDialog\n v-if=\"dialogCustom\"\n :model-value=\"true\"\n width=\"auto\"\n :min-width=\"360\"\n >\n <VCard>\n <ADialogToolbar @cancel=\"onDialogClose\">\n <slot name=\"title\">\n {{ label }}\n </slot>\n </ADialogToolbar>\n <VCardText>\n <ARow>\n <AFormDatetimePicker\n v-model=\"dialogData.from\"\n :v=\"v$.dialogData.from\"\n :label=\"t('common.filter.timeInterval.from')\"\n required\n />\n </ARow>\n <ARow>\n <AFormDatetimePicker\n v-model=\"dialogData.until\"\n :v=\"v$.dialogData.until\"\n :label=\"t('common.filter.timeInterval.until')\"\n required\n />\n </ARow>\n </VCardText>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary\n data-cy=\"button-cancel\"\n @click.stop=\"onDialogClose\"\n >\n {{ t('common.button.cancel') }}\n </ABtnTertiary>\n <ABtnPrimary\n data-cy=\"button-confirm\"\n @click.stop=\"onDialogConfirm\"\n >\n {{ t('common.button.confirm') }}\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n</template>\n\n<style lang=\"scss\" scoped>\n.v-text-field.cursor-pointer {\n ::v-deep(.v-field),\n ::v-deep(.v-field__input) {\n cursor: pointer;\n }\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"AFilterTimeInterval.js","names":["_sfc_main","_plugin_vue_export_helper_default","AFilterTimeInterval_vue_vue_type_script_setup_true_lang_default","AFilterTimeInterval_default"],"sources":["../../../../src/domains/filters/components/AFilterTimeInterval.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject, nextTick, ref, watch } from 'vue'\nimport {\n FilterConfigKey,\n FilterDataKey,\n FilterSelectedKey,\n FilterSubmitResetCounterKey,\n} from '@/domains/filters/utils/filterInjectionKeys'\nimport { isArray, isBoolean, isNull, isUndefined } from '@/shared/utils/common'\nimport { useI18n } from 'vue-i18n'\nimport { type AllowedFilterValues, useFilterClearHelpers } from '@/domains/filters/composables/filterFactory'\nimport {\n TimeIntervalSpecialOptions,\n type TimeIntervalToolsValue,\n useFilterTimeIntervalValidators,\n useTimeIntervalOptions,\n} from '@/domains/filters/composables/filterTimeIntervalTools'\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\nimport AFormDatetimePicker from '@/domains/form/components/AFormDatetimePicker.vue'\nimport type { DatetimeUTCNullable } from '@/shared/types/common'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport { dateTimeNow, dateTimePretty, isDatetimeUTC } from '@/shared/utils/datetime'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\n\nconst props = withDefaults(\n defineProps<{\n nameFrom: string\n nameUntil: string\n allowed?: TimeIntervalToolsValue[]\n placeholder?: string | undefined\n dataCy?: string\n }>(),\n {\n allowed: undefined,\n placeholder: undefined,\n dataCy: 'filter-time-interval',\n }\n)\nconst emit = defineEmits<{\n (e: 'change'): void\n}>()\n\nconst submitResetCounter = inject(FilterSubmitResetCounterKey)\nconst filterSelected = inject(FilterSelectedKey)\nconst filterConfig = inject(FilterConfigKey)\nconst filterData = inject(FilterDataKey)\n\nif (\n isUndefined(submitResetCounter) ||\n isUndefined(filterSelected) ||\n isUndefined(filterConfig) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterConfig.fields[props.nameFrom]) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterConfig.fields[props.nameUntil]) ||\n isUndefined(filterData) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterData[props.nameFrom]) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterData[props.nameUntil])\n) {\n throw new Error('Incorrect provide/inject config.')\n}\n\nconst modelValue = computed({\n get() {\n return filterData[props.nameFrom]\n },\n set(newValue) {\n filterData[props.nameFrom] = newValue\n updateSelected(newValue)\n filterConfig.touched = true\n nextTick(() => {\n emit('change')\n })\n },\n})\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { timeIntervalOptions, getTimeIntervalOption } = useTimeIntervalOptions(props.allowed)\nconst modelInternal = ref<TimeIntervalToolsValue>(null)\nconst dialogCustom = ref(false)\nconst dialogData = ref<{ from: DatetimeUTCNullable; until: DatetimeUTCNullable }>({\n from: null,\n until: dateTimeNow(),\n})\nconst displayFromTo = ref(false)\n\nconst { v$ } = useFilterTimeIntervalValidators(dialogData)\n\n// The setup above throws unless the field is configured.\nconst filterConfigCurrent = computed(() => filterConfig.fields[props.nameFrom]!)\n\nconst { t } = useI18n()\n\nconst label = computed(() => {\n return filterConfigCurrent.value.titleT ? t(filterConfigCurrent.value.titleT) : undefined\n})\n\nconst { clearOne } = useFilterClearHelpers()\nconst { showValidationError } = useAlerts()\n\nconst onClear = () => {\n clearField()\n // Clearing restores the default, and an absolute default keeps\n // its window. The value does not change, so no watcher runs.\n // Re-derive the display and the chip here, or the control shows \"everything\" while the query still has the window.\n syncDisplayToValue(filterData[props.nameFrom])\n updateSelected(filterData[props.nameFrom])\n}\n\nconst onDialogConfirm = () => {\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return\n }\n displayFromTo.value = true\n dialogCustom.value = false\n filterData[props.nameUntil] = dialogData.value.until\n modelValue.value = dialogData.value.from\n}\n\ndefineExpose({ onClear })\n\nconst onDialogClose = () => {\n dialogCustom.value = false\n modelInternal.value = null\n}\n\nconst clearField = () => {\n clearOne(props.nameFrom, filterData, filterConfig)\n clearOne(props.nameUntil, filterData, filterConfig)\n filterSelected.value.delete(props.nameFrom)\n}\n\nconst updateSelected = (fromValue: AllowedFilterValues) => {\n if (isArray(fromValue) || isBoolean(fromValue)) return\n if (isNull(fromValue) || isUndefined(fromValue)) {\n filterSelected.value.delete(props.nameFrom)\n return\n }\n const found = getTimeIntervalOption(fromValue as TimeIntervalToolsValue)\n if (!found && isDatetimeUTC(fromValue)) {\n const customOption = getTimeIntervalOption(TimeIntervalSpecialOptions.Custom)!\n filterSelected.value.set(props.nameFrom, [\n {\n title:\n customOption.title +\n ': ' +\n dateTimePretty(dialogData.value.from) +\n ' - ' +\n dateTimePretty(dialogData.value.until),\n value: fromValue,\n },\n ])\n return\n }\n if (!found) return\n filterSelected.value.set(props.nameFrom, [{ title: found.title, value: fromValue }])\n}\n\nconst onEditInterval = (clear = false) => {\n v$.value.$reset()\n if (clear) {\n dialogData.value.from = null\n dialogData.value.until = dateTimeNow()\n }\n dialogCustom.value = true\n}\n\n/** What the control shows is derived from the value, never assumed. */\nconst syncDisplayToValue = (newValue: AllowedFilterValues) => {\n if (isArray(newValue) || isBoolean(newValue)) return\n displayFromTo.value = false\n if (isUndefined(newValue) || isNull(newValue)) {\n modelInternal.value = null\n return\n }\n const found = getTimeIntervalOption(newValue as TimeIntervalToolsValue)\n const filterDataUntil = filterData[props.nameUntil]\n if (!found && isDatetimeUTC(newValue) && isDatetimeUTC(filterDataUntil)) {\n modelInternal.value = TimeIntervalSpecialOptions.Custom\n dialogData.value.from = newValue\n dialogData.value.until = filterDataUntil\n displayFromTo.value = true\n }\n if (found) {\n modelInternal.value = found.value\n }\n}\n\nwatch(modelValue, syncDisplayToValue, { immediate: true })\n\n// Reset restores defaults and wipes chips. For an absolute default the value\n// does not change, so no watcher runs and the range would show without a chip.\n// The wrapper bumps this counter after clearing. It is the only signal that a reset happened.\nwatch(submitResetCounter, () => {\n syncDisplayToValue(filterData[props.nameFrom])\n updateSelected(filterData[props.nameFrom])\n})\n\nwatch(\n [() => filterData[props.nameFrom], () => filterData[props.nameUntil]],\n ([fromNewValue, untilNewValue], [fromOldValue, untilOldValue]) => {\n if (fromNewValue === fromOldValue && untilNewValue === untilOldValue) return\n updateSelected(fromNewValue)\n },\n { immediate: true }\n)\n\nconst onInternalItemChange = (item: ValueObjectOption<TimeIntervalToolsValue>) => {\n if (item.value === TimeIntervalSpecialOptions.Custom) {\n onEditInterval(true)\n return\n }\n filterData[props.nameUntil] = null\n modelValue.value = item.value\n}\n</script>\n\n<template>\n <VTextarea\n v-if=\"displayFromTo\"\n :label=\"label\"\n :model-value=\"dateTimePretty(dialogData.from) + ' - ' + dateTimePretty(dialogData.until)\"\n readonly\n rows=\"1\"\n auto-grow\n hide-details\n append-inner-icon=\"mdi-menu-down\"\n clearable\n class=\"cursor-pointer\"\n @click:clear.stop=\"onClear\"\n @click.stop=\"onEditInterval()\"\n />\n <VSelect\n v-else\n v-model=\"modelInternal\"\n item-title=\"title\"\n item-value=\"value\"\n :label=\"label\"\n :clearable=\"!isNull(modelInternal)\"\n no-filter\n :data-cy=\"dataCy\"\n :items=\"timeIntervalOptions\"\n hide-details\n autocomplete=\"off\"\n @click:clear.stop=\"onClear\"\n >\n <template #item=\"{ props: itemProps, internalItem }\">\n <VListItem\n v-bind=\"itemProps\"\n @click=\"onInternalItemChange(internalItem)\"\n />\n </template>\n </VSelect>\n <VDialog\n v-if=\"dialogCustom\"\n :model-value=\"true\"\n width=\"auto\"\n :min-width=\"360\"\n >\n <VCard>\n <ADialogToolbar @cancel=\"onDialogClose\">\n <slot name=\"title\">\n {{ label }}\n </slot>\n </ADialogToolbar>\n <VCardText>\n <ARow>\n <AFormDatetimePicker\n v-model=\"dialogData.from\"\n :v=\"v$.dialogData.from\"\n :label=\"t('common.filter.timeInterval.from')\"\n required\n />\n </ARow>\n <ARow>\n <AFormDatetimePicker\n v-model=\"dialogData.until\"\n :v=\"v$.dialogData.until\"\n :label=\"t('common.filter.timeInterval.until')\"\n required\n />\n </ARow>\n </VCardText>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary\n data-cy=\"button-cancel\"\n @click.stop=\"onDialogClose\"\n >\n {{ t('common.button.cancel') }}\n </ABtnTertiary>\n <ABtnPrimary\n data-cy=\"button-confirm\"\n @click.stop=\"onDialogConfirm\"\n >\n {{ t('common.button.confirm') }}\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n</template>\n\n<style lang=\"scss\" scoped>\n.v-text-field.cursor-pointer {\n ::v-deep(.v-field),\n ::v-deep(.v-field__input) {\n cursor: pointer;\n }\n}\n</style>\n"],"mappings":""}
@@ -6,10 +6,12 @@ type __VLS_Props = {
6
6
  placeholder?: string | undefined;
7
7
  dataCy?: string;
8
8
  };
9
- declare var __VLS_45: {};
10
- type __VLS_Slots = {} & {
11
- title?: (props: typeof __VLS_45) => any;
9
+ declare const __VLS_template: () => {
10
+ __VLS_Slots: {
11
+ title?: (props: {}) => any;
12
+ };
12
13
  };
14
+ type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
13
15
  declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
14
16
  onClear: () => void;
15
17
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
@@ -1 +1 @@
1
- {"version":3,"file":"AFilterTimeInterval.vue_vue_type_script_setup_true_lang.js","names":["_resolveComponent","_openBlock","_createElementBlock","_Fragment","_createBlock","_component_VTextarea","_unref","_withModifiers","_component_VSelect","_withCtx","_createVNode","_component_VListItem","_mergeProps","_component_VDialog","_component_VCard","ADialogToolbar","_renderSlot","_createTextVNode","_toDisplayString","_component_VCardText","ARow","AFormDatetimePicker","_component_VCardActions","_component_VSpacer","_createCommentVNode","ARow_default","ADialogToolbar_default","AFormDatetimePicker_default","AFilterTimeInterval_vue_vue_type_script_setup_true_lang_default","__expose","__emit","props","__props","emit","submitResetCounter","inject","FilterSubmitResetCounterKey","filterSelected","FilterSelectedKey","filterConfig","FilterConfigKey","filterData","FilterDataKey","isUndefined","modelValue","computed","newValue","updateSelected","nextTick","useTimeIntervalOptions","modelInternal","ref","dialogCustom","dialogData","dateTimeNow","displayFromTo","useFilterTimeIntervalValidators","filterConfigCurrent","useI18n","label","t","useFilterClearHelpers","useAlerts","onClear","clearField","syncDisplayToValue","onDialogConfirm","v$","showValidationError","onDialogClose","clearOne","isArray","fromValue","isBoolean","isNull","found","getTimeIntervalOption","isDatetimeUTC","customOption","TimeIntervalSpecialOptions","dateTimePretty","onEditInterval","clear","filterDataUntil","watch","fromNewValue","untilNewValue","fromOldValue","untilOldValue","onInternalItemChange","item","_component_ABtnTertiary","resolveComponent","_component_ABtnPrimary","openBlock","createElementBlock","Fragment","createBlock","VTextarea","unref","withModifiers","_cache","VSelect","$event","timeIntervalOptions","withCtx","itemProps","createVNode","VListItem","mergeProps","internalItem","VDialog","VCard","renderSlot","_ctx","createTextVNode","toDisplayString","VCardText","VCardActions","VSpacer","createCommentVNode"],"sources":["../../../../src/domains/filters/components/AFilterTimeInterval.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject, nextTick, ref, watch } from 'vue'\nimport {\n FilterConfigKey,\n FilterDataKey,\n FilterSelectedKey,\n FilterSubmitResetCounterKey,\n} from '@/domains/filters/utils/filterInjectionKeys'\nimport { isArray, isBoolean, isNull, isUndefined } from '@/shared/utils/common'\nimport { useI18n } from 'vue-i18n'\nimport { type AllowedFilterValues, useFilterClearHelpers } from '@/domains/filters/composables/filterFactory'\nimport {\n TimeIntervalSpecialOptions,\n type TimeIntervalToolsValue,\n useFilterTimeIntervalValidators,\n useTimeIntervalOptions,\n} from '@/domains/filters/composables/filterTimeIntervalTools'\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\nimport AFormDatetimePicker from '@/domains/form/components/AFormDatetimePicker.vue'\nimport type { DatetimeUTCNullable } from '@/shared/types/common'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport { dateTimeNow, dateTimePretty, isDatetimeUTC } from '@/shared/utils/datetime'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\n\nconst props = withDefaults(\n defineProps<{\n nameFrom: string\n nameUntil: string\n allowed?: TimeIntervalToolsValue[]\n placeholder?: string | undefined\n dataCy?: string\n }>(),\n {\n allowed: undefined,\n placeholder: undefined,\n dataCy: 'filter-time-interval',\n }\n)\nconst emit = defineEmits<{\n (e: 'change'): void\n}>()\n\nconst submitResetCounter = inject(FilterSubmitResetCounterKey)\nconst filterSelected = inject(FilterSelectedKey)\nconst filterConfig = inject(FilterConfigKey)\nconst filterData = inject(FilterDataKey)\n\nif (\n isUndefined(submitResetCounter) ||\n isUndefined(filterSelected) ||\n isUndefined(filterConfig) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterConfig.fields[props.nameFrom]) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterConfig.fields[props.nameUntil]) ||\n isUndefined(filterData) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterData[props.nameFrom]) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterData[props.nameUntil])\n) {\n throw new Error('Incorrect provide/inject config.')\n}\n\nconst modelValue = computed({\n get() {\n return filterData[props.nameFrom]\n },\n set(newValue) {\n filterData[props.nameFrom] = newValue\n updateSelected(newValue)\n filterConfig.touched = true\n nextTick(() => {\n emit('change')\n })\n },\n})\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { timeIntervalOptions, getTimeIntervalOption } = useTimeIntervalOptions(props.allowed)\nconst modelInternal = ref<TimeIntervalToolsValue>(null)\nconst dialogCustom = ref(false)\nconst dialogData = ref<{ from: DatetimeUTCNullable; until: DatetimeUTCNullable }>({\n from: null,\n until: dateTimeNow(),\n})\nconst displayFromTo = ref(false)\n\nconst { v$ } = useFilterTimeIntervalValidators(dialogData)\n\n// The setup above throws unless the field is configured.\nconst filterConfigCurrent = computed(() => filterConfig.fields[props.nameFrom]!)\n\nconst { t } = useI18n()\n\nconst label = computed(() => {\n return filterConfigCurrent.value.titleT ? t(filterConfigCurrent.value.titleT) : undefined\n})\n\nconst { clearOne } = useFilterClearHelpers()\nconst { showValidationError } = useAlerts()\n\nconst onClear = () => {\n clearField()\n // Clearing means \"back to the default\", which is not always \"everything\" - a pair with an\n // absolute default keeps its window. Since the value then does not change, neither watcher runs,\n // so the display and the chip are re-derived here. Showing \"everything\" while the query still\n // carries the old window would make the control lie about what the list contains.\n syncDisplayToValue(filterData[props.nameFrom])\n updateSelected(filterData[props.nameFrom])\n}\n\nconst onDialogConfirm = () => {\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return\n }\n displayFromTo.value = true\n dialogCustom.value = false\n filterData[props.nameUntil] = dialogData.value.until\n modelValue.value = dialogData.value.from\n}\n\ndefineExpose({ onClear })\n\nconst onDialogClose = () => {\n dialogCustom.value = false\n modelInternal.value = null\n}\n\nconst clearField = () => {\n clearOne(props.nameFrom, filterData, filterConfig)\n clearOne(props.nameUntil, filterData, filterConfig)\n filterSelected.value.delete(props.nameFrom)\n}\n\nconst updateSelected = (fromValue: AllowedFilterValues) => {\n if (isArray(fromValue) || isBoolean(fromValue)) return\n if (isNull(fromValue) || isUndefined(fromValue)) {\n filterSelected.value.delete(props.nameFrom)\n return\n }\n const found = getTimeIntervalOption(fromValue as TimeIntervalToolsValue)\n if (!found && isDatetimeUTC(fromValue)) {\n const customOption = getTimeIntervalOption(TimeIntervalSpecialOptions.Custom)!\n filterSelected.value.set(props.nameFrom, [\n {\n title:\n customOption.title +\n ': ' +\n dateTimePretty(dialogData.value.from) +\n ' - ' +\n dateTimePretty(dialogData.value.until),\n value: fromValue,\n },\n ])\n return\n }\n if (!found) return\n filterSelected.value.set(props.nameFrom, [{ title: found.title, value: fromValue }])\n}\n\nconst onEditInterval = (clear = false) => {\n v$.value.$reset()\n if (clear) {\n dialogData.value.from = null\n dialogData.value.until = dateTimeNow()\n }\n dialogCustom.value = true\n}\n\n/** What the control shows is derived from the value, never assumed. */\nconst syncDisplayToValue = (newValue: AllowedFilterValues) => {\n if (isArray(newValue) || isBoolean(newValue)) return\n displayFromTo.value = false\n if (isUndefined(newValue) || isNull(newValue)) {\n modelInternal.value = null\n return\n }\n const found = getTimeIntervalOption(newValue as TimeIntervalToolsValue)\n const filterDataUntil = filterData[props.nameUntil]\n if (!found && isDatetimeUTC(newValue) && isDatetimeUTC(filterDataUntil)) {\n modelInternal.value = TimeIntervalSpecialOptions.Custom\n dialogData.value.from = newValue\n dialogData.value.until = filterDataUntil\n displayFromTo.value = true\n }\n if (found) {\n modelInternal.value = found.value\n }\n}\n\nwatch(modelValue, syncDisplayToValue, { immediate: true })\n\n// Reset clears every field back to its default and wipes the chips. For a pair whose default is\n// null that is the whole story, but an absolute default survives the reset - the value does not\n// change, so no watcher runs, and the control would keep showing a range with no chip beside it.\n// The wrapper bumps this counter after clearing, which is the one signal that a reset happened.\nwatch(submitResetCounter, () => {\n syncDisplayToValue(filterData[props.nameFrom])\n updateSelected(filterData[props.nameFrom])\n})\n\nwatch(\n [() => filterData[props.nameFrom], () => filterData[props.nameUntil]],\n ([fromNewValue, untilNewValue], [fromOldValue, untilOldValue]) => {\n if (fromNewValue === fromOldValue && untilNewValue === untilOldValue) return\n updateSelected(fromNewValue)\n },\n { immediate: true }\n)\n\nconst onInternalItemChange = (item: ValueObjectOption<TimeIntervalToolsValue>) => {\n if (item.value === TimeIntervalSpecialOptions.Custom) {\n onEditInterval(true)\n return\n }\n filterData[props.nameUntil] = null\n modelValue.value = item.value\n}\n</script>\n\n<template>\n <VTextarea\n v-if=\"displayFromTo\"\n :label=\"label\"\n :model-value=\"dateTimePretty(dialogData.from) + ' - ' + dateTimePretty(dialogData.until)\"\n readonly\n rows=\"1\"\n auto-grow\n hide-details\n append-inner-icon=\"mdi-menu-down\"\n clearable\n class=\"cursor-pointer\"\n @click:clear.stop=\"onClear\"\n @click.stop=\"onEditInterval()\"\n />\n <VSelect\n v-else\n v-model=\"modelInternal\"\n item-title=\"title\"\n item-value=\"value\"\n :label=\"label\"\n :clearable=\"!isNull(modelInternal)\"\n no-filter\n :data-cy=\"dataCy\"\n :items=\"timeIntervalOptions\"\n hide-details\n autocomplete=\"off\"\n @click:clear.stop=\"onClear\"\n >\n <template #item=\"{ props: itemProps, internalItem }\">\n <VListItem\n v-bind=\"itemProps\"\n @click=\"onInternalItemChange(internalItem)\"\n />\n </template>\n </VSelect>\n <VDialog\n v-if=\"dialogCustom\"\n :model-value=\"true\"\n width=\"auto\"\n :min-width=\"360\"\n >\n <VCard>\n <ADialogToolbar @cancel=\"onDialogClose\">\n <slot name=\"title\">\n {{ label }}\n </slot>\n </ADialogToolbar>\n <VCardText>\n <ARow>\n <AFormDatetimePicker\n v-model=\"dialogData.from\"\n :v=\"v$.dialogData.from\"\n :label=\"t('common.filter.timeInterval.from')\"\n required\n />\n </ARow>\n <ARow>\n <AFormDatetimePicker\n v-model=\"dialogData.until\"\n :v=\"v$.dialogData.until\"\n :label=\"t('common.filter.timeInterval.until')\"\n required\n />\n </ARow>\n </VCardText>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary\n data-cy=\"button-cancel\"\n @click.stop=\"onDialogClose\"\n >\n {{ t('common.button.cancel') }}\n </ABtnTertiary>\n <ABtnPrimary\n data-cy=\"button-confirm\"\n @click.stop=\"onDialogConfirm\"\n >\n {{ t('common.button.confirm') }}\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n</template>\n\n<style lang=\"scss\" scoped>\n.v-text-field.cursor-pointer {\n ::v-deep(.v-field),\n ::v-deep(.v-field__input) {\n cursor: pointer;\n }\n}\n</style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"AFilterTimeInterval.vue_vue_type_script_setup_true_lang.js","names":["_resolveComponent","_openBlock","_createElementBlock","_Fragment","_createBlock","_component_VTextarea","_unref","_withModifiers","_component_VSelect","_withCtx","_createVNode","_component_VListItem","_mergeProps","_component_VDialog","_component_VCard","ADialogToolbar","_renderSlot","_createTextVNode","_toDisplayString","_component_VCardText","ARow","AFormDatetimePicker","_component_VCardActions","_component_VSpacer","_createCommentVNode","ARow_default","ADialogToolbar_default","AFormDatetimePicker_default","AFilterTimeInterval_vue_vue_type_script_setup_true_lang_default","__expose","__emit","props","__props","emit","submitResetCounter","inject","FilterSubmitResetCounterKey","filterSelected","FilterSelectedKey","filterConfig","FilterConfigKey","filterData","FilterDataKey","isUndefined","modelValue","computed","newValue","updateSelected","nextTick","useTimeIntervalOptions","modelInternal","ref","dialogCustom","dialogData","dateTimeNow","displayFromTo","useFilterTimeIntervalValidators","filterConfigCurrent","useI18n","label","t","useFilterClearHelpers","useAlerts","onClear","clearField","syncDisplayToValue","onDialogConfirm","v$","showValidationError","onDialogClose","clearOne","isArray","fromValue","isBoolean","isNull","found","getTimeIntervalOption","isDatetimeUTC","customOption","TimeIntervalSpecialOptions","dateTimePretty","onEditInterval","clear","filterDataUntil","watch","fromNewValue","untilNewValue","fromOldValue","untilOldValue","onInternalItemChange","item","_component_ABtnTertiary","resolveComponent","_component_ABtnPrimary","openBlock","createElementBlock","Fragment","createBlock","VTextarea","unref","withModifiers","_cache","VSelect","$event","timeIntervalOptions","withCtx","itemProps","createVNode","VListItem","mergeProps","internalItem","VDialog","VCard","renderSlot","_ctx","createTextVNode","toDisplayString","VCardText","VCardActions","VSpacer","createCommentVNode"],"sources":["../../../../src/domains/filters/components/AFilterTimeInterval.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject, nextTick, ref, watch } from 'vue'\nimport {\n FilterConfigKey,\n FilterDataKey,\n FilterSelectedKey,\n FilterSubmitResetCounterKey,\n} from '@/domains/filters/utils/filterInjectionKeys'\nimport { isArray, isBoolean, isNull, isUndefined } from '@/shared/utils/common'\nimport { useI18n } from 'vue-i18n'\nimport { type AllowedFilterValues, useFilterClearHelpers } from '@/domains/filters/composables/filterFactory'\nimport {\n TimeIntervalSpecialOptions,\n type TimeIntervalToolsValue,\n useFilterTimeIntervalValidators,\n useTimeIntervalOptions,\n} from '@/domains/filters/composables/filterTimeIntervalTools'\nimport ADialogToolbar from '@/domains/ui/components/ADialogToolbar.vue'\nimport AFormDatetimePicker from '@/domains/form/components/AFormDatetimePicker.vue'\nimport type { DatetimeUTCNullable } from '@/shared/types/common'\nimport ARow from '@/domains/ui/components/ARow.vue'\nimport { dateTimeNow, dateTimePretty, isDatetimeUTC } from '@/shared/utils/datetime'\nimport { useAlerts } from '@/domains/system/composables/alerts'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\n\nconst props = withDefaults(\n defineProps<{\n nameFrom: string\n nameUntil: string\n allowed?: TimeIntervalToolsValue[]\n placeholder?: string | undefined\n dataCy?: string\n }>(),\n {\n allowed: undefined,\n placeholder: undefined,\n dataCy: 'filter-time-interval',\n }\n)\nconst emit = defineEmits<{\n (e: 'change'): void\n}>()\n\nconst submitResetCounter = inject(FilterSubmitResetCounterKey)\nconst filterSelected = inject(FilterSelectedKey)\nconst filterConfig = inject(FilterConfigKey)\nconst filterData = inject(FilterDataKey)\n\nif (\n isUndefined(submitResetCounter) ||\n isUndefined(filterSelected) ||\n isUndefined(filterConfig) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterConfig.fields[props.nameFrom]) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterConfig.fields[props.nameUntil]) ||\n isUndefined(filterData) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterData[props.nameFrom]) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterData[props.nameUntil])\n) {\n throw new Error('Incorrect provide/inject config.')\n}\n\nconst modelValue = computed({\n get() {\n return filterData[props.nameFrom]\n },\n set(newValue) {\n filterData[props.nameFrom] = newValue\n updateSelected(newValue)\n filterConfig.touched = true\n nextTick(() => {\n emit('change')\n })\n },\n})\n\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nconst { timeIntervalOptions, getTimeIntervalOption } = useTimeIntervalOptions(props.allowed)\nconst modelInternal = ref<TimeIntervalToolsValue>(null)\nconst dialogCustom = ref(false)\nconst dialogData = ref<{ from: DatetimeUTCNullable; until: DatetimeUTCNullable }>({\n from: null,\n until: dateTimeNow(),\n})\nconst displayFromTo = ref(false)\n\nconst { v$ } = useFilterTimeIntervalValidators(dialogData)\n\n// The setup above throws unless the field is configured.\nconst filterConfigCurrent = computed(() => filterConfig.fields[props.nameFrom]!)\n\nconst { t } = useI18n()\n\nconst label = computed(() => {\n return filterConfigCurrent.value.titleT ? t(filterConfigCurrent.value.titleT) : undefined\n})\n\nconst { clearOne } = useFilterClearHelpers()\nconst { showValidationError } = useAlerts()\n\nconst onClear = () => {\n clearField()\n // Clearing restores the default, and an absolute default keeps\n // its window. The value does not change, so no watcher runs.\n // Re-derive the display and the chip here, or the control shows \"everything\" while the query still has the window.\n syncDisplayToValue(filterData[props.nameFrom])\n updateSelected(filterData[props.nameFrom])\n}\n\nconst onDialogConfirm = () => {\n v$.value.$touch()\n if (v$.value.$invalid) {\n showValidationError()\n return\n }\n displayFromTo.value = true\n dialogCustom.value = false\n filterData[props.nameUntil] = dialogData.value.until\n modelValue.value = dialogData.value.from\n}\n\ndefineExpose({ onClear })\n\nconst onDialogClose = () => {\n dialogCustom.value = false\n modelInternal.value = null\n}\n\nconst clearField = () => {\n clearOne(props.nameFrom, filterData, filterConfig)\n clearOne(props.nameUntil, filterData, filterConfig)\n filterSelected.value.delete(props.nameFrom)\n}\n\nconst updateSelected = (fromValue: AllowedFilterValues) => {\n if (isArray(fromValue) || isBoolean(fromValue)) return\n if (isNull(fromValue) || isUndefined(fromValue)) {\n filterSelected.value.delete(props.nameFrom)\n return\n }\n const found = getTimeIntervalOption(fromValue as TimeIntervalToolsValue)\n if (!found && isDatetimeUTC(fromValue)) {\n const customOption = getTimeIntervalOption(TimeIntervalSpecialOptions.Custom)!\n filterSelected.value.set(props.nameFrom, [\n {\n title:\n customOption.title +\n ': ' +\n dateTimePretty(dialogData.value.from) +\n ' - ' +\n dateTimePretty(dialogData.value.until),\n value: fromValue,\n },\n ])\n return\n }\n if (!found) return\n filterSelected.value.set(props.nameFrom, [{ title: found.title, value: fromValue }])\n}\n\nconst onEditInterval = (clear = false) => {\n v$.value.$reset()\n if (clear) {\n dialogData.value.from = null\n dialogData.value.until = dateTimeNow()\n }\n dialogCustom.value = true\n}\n\n/** What the control shows is derived from the value, never assumed. */\nconst syncDisplayToValue = (newValue: AllowedFilterValues) => {\n if (isArray(newValue) || isBoolean(newValue)) return\n displayFromTo.value = false\n if (isUndefined(newValue) || isNull(newValue)) {\n modelInternal.value = null\n return\n }\n const found = getTimeIntervalOption(newValue as TimeIntervalToolsValue)\n const filterDataUntil = filterData[props.nameUntil]\n if (!found && isDatetimeUTC(newValue) && isDatetimeUTC(filterDataUntil)) {\n modelInternal.value = TimeIntervalSpecialOptions.Custom\n dialogData.value.from = newValue\n dialogData.value.until = filterDataUntil\n displayFromTo.value = true\n }\n if (found) {\n modelInternal.value = found.value\n }\n}\n\nwatch(modelValue, syncDisplayToValue, { immediate: true })\n\n// Reset restores defaults and wipes chips. For an absolute default the value\n// does not change, so no watcher runs and the range would show without a chip.\n// The wrapper bumps this counter after clearing. It is the only signal that a reset happened.\nwatch(submitResetCounter, () => {\n syncDisplayToValue(filterData[props.nameFrom])\n updateSelected(filterData[props.nameFrom])\n})\n\nwatch(\n [() => filterData[props.nameFrom], () => filterData[props.nameUntil]],\n ([fromNewValue, untilNewValue], [fromOldValue, untilOldValue]) => {\n if (fromNewValue === fromOldValue && untilNewValue === untilOldValue) return\n updateSelected(fromNewValue)\n },\n { immediate: true }\n)\n\nconst onInternalItemChange = (item: ValueObjectOption<TimeIntervalToolsValue>) => {\n if (item.value === TimeIntervalSpecialOptions.Custom) {\n onEditInterval(true)\n return\n }\n filterData[props.nameUntil] = null\n modelValue.value = item.value\n}\n</script>\n\n<template>\n <VTextarea\n v-if=\"displayFromTo\"\n :label=\"label\"\n :model-value=\"dateTimePretty(dialogData.from) + ' - ' + dateTimePretty(dialogData.until)\"\n readonly\n rows=\"1\"\n auto-grow\n hide-details\n append-inner-icon=\"mdi-menu-down\"\n clearable\n class=\"cursor-pointer\"\n @click:clear.stop=\"onClear\"\n @click.stop=\"onEditInterval()\"\n />\n <VSelect\n v-else\n v-model=\"modelInternal\"\n item-title=\"title\"\n item-value=\"value\"\n :label=\"label\"\n :clearable=\"!isNull(modelInternal)\"\n no-filter\n :data-cy=\"dataCy\"\n :items=\"timeIntervalOptions\"\n hide-details\n autocomplete=\"off\"\n @click:clear.stop=\"onClear\"\n >\n <template #item=\"{ props: itemProps, internalItem }\">\n <VListItem\n v-bind=\"itemProps\"\n @click=\"onInternalItemChange(internalItem)\"\n />\n </template>\n </VSelect>\n <VDialog\n v-if=\"dialogCustom\"\n :model-value=\"true\"\n width=\"auto\"\n :min-width=\"360\"\n >\n <VCard>\n <ADialogToolbar @cancel=\"onDialogClose\">\n <slot name=\"title\">\n {{ label }}\n </slot>\n </ADialogToolbar>\n <VCardText>\n <ARow>\n <AFormDatetimePicker\n v-model=\"dialogData.from\"\n :v=\"v$.dialogData.from\"\n :label=\"t('common.filter.timeInterval.from')\"\n required\n />\n </ARow>\n <ARow>\n <AFormDatetimePicker\n v-model=\"dialogData.until\"\n :v=\"v$.dialogData.until\"\n :label=\"t('common.filter.timeInterval.until')\"\n required\n />\n </ARow>\n </VCardText>\n <VCardActions>\n <VSpacer />\n <ABtnTertiary\n data-cy=\"button-cancel\"\n @click.stop=\"onDialogClose\"\n >\n {{ t('common.button.cancel') }}\n </ABtnTertiary>\n <ABtnPrimary\n data-cy=\"button-confirm\"\n @click.stop=\"onDialogConfirm\"\n >\n {{ t('common.button.confirm') }}\n </ABtnPrimary>\n </VCardActions>\n </VCard>\n </VDialog>\n</template>\n\n<style lang=\"scss\" scoped>\n.v-text-field.cursor-pointer {\n ::v-deep(.v-field),\n ::v-deep(.v-field__input) {\n cursor: pointer;\n }\n}\n</style>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AFilterValueObjectOptionsSelect.js","names":["_sfc_main","AFilterValueObjectOptionsSelect_vue_vue_type_script_setup_true_lang_default","AFilterValueObjectOptionsSelect_default"],"sources":["../../../../src/domains/filters/components/AFilterValueObjectOptionsSelect.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport { computed, inject, watch, getCurrentInstance } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport {\n FilterConfigKey,\n FilterDataKey,\n FilterSelectedKey,\n FilterSubmitResetCounterKey,\n} from '@/domains/filters/utils/filterInjectionKeys'\nimport { isArray, isBoolean, isNull, isUndefined } from '@/shared/utils/common'\nimport { type AllowedFilterValues, useFilterClearHelpers } from '@/domains/filters/composables/filterFactory'\n\nconst props = withDefaults(\n defineProps<{\n name: string\n items: ValueObjectOption<string | number>[]\n dataCy?: string\n }>(),\n {\n dataCy: 'filter-value',\n }\n)\nconst emit = defineEmits<{\n (e: 'change'): void\n}>()\n\nconst submitResetCounter = inject(FilterSubmitResetCounterKey)\nconst filterSelected = inject(FilterSelectedKey)\nconst filterConfig = inject(FilterConfigKey)\nconst filterData = inject(FilterDataKey)\n\nconst componentName = getCurrentInstance()?.type.__name\n\nif (\n isUndefined(submitResetCounter) ||\n isUndefined(filterSelected) ||\n isUndefined(filterData) ||\n isUndefined(filterConfig)\n) {\n throw new Error(`[${componentName}] Incorrect provide/inject config.`)\n}\n\nif (\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterConfig.fields[props.name]) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterData[props.name])\n) {\n throw new Error(\n `[${componentName}] Incorrect filter config. ` +\n `Name is '${props.name}' and available options are ${Object.keys(filterData).join(', ')}.`\n )\n}\n\nconst modelValue = computed({\n get() {\n return filterData[props.name]\n },\n set(newValue) {\n filterData[props.name] = newValue\n updateSelected(newValue)\n filterConfig.touched = true\n emit('change')\n },\n})\n\n// The setup above throws unless the field is configured.\nconst filterConfigCurrent = computed(() => filterConfig.fields[props.name]!)\n\nconst { t } = useI18n()\n\nconst label = computed(() => {\n return filterConfigCurrent.value.titleT ? t(filterConfigCurrent.value.titleT) : undefined\n})\n\nconst { clearOne } = useFilterClearHelpers()\n\nconst clearField = () => {\n clearOne(props.name, filterData, filterConfig)\n filterSelected.value.delete(props.name)\n}\n\nconst updateSelected = (newValue: AllowedFilterValues) => {\n // `null` reaches here when the filter is reset from outside - loading a hash clears every field\n // before applying it, and the chip has to go with the value. Falling through to `items.find`\n // would find nothing and leave the previous chip in place, naming a value the query no longer\n // carries.\n if (isNull(newValue) || isUndefined(newValue) || (isArray(newValue) && newValue.length === 0)) {\n filterSelected.value.delete(props.name)\n return\n }\n if (isArray(newValue)) {\n filterSelected.value.set(\n props.name,\n newValue.map((modelItemValue) => {\n const found = props.items.find((item) => item.value === modelItemValue)\n if (found) return { title: found.title, value: found.value }\n return { title: modelItemValue as string, value: modelItemValue as string }\n })\n )\n return\n }\n const found = props.items.find((item) => item.value === newValue)\n if (found) {\n filterSelected.value.set(props.name, [{ title: found.title as string, value: found.value as string }])\n }\n}\n\nwatch(\n () => filterData[props.name],\n (newValue, oldValue) => {\n if (newValue === oldValue || isBoolean(newValue)) return\n updateSelected(newValue)\n },\n { immediate: true }\n)\n</script>\n\n<template>\n <VAutocomplete\n v-model=\"modelValue\"\n :items=\"items\"\n :chips=\"filterConfigCurrent.multiple\"\n :label=\"label\"\n :multiple=\"filterConfigCurrent.multiple\"\n :clearable=\"!filterConfigCurrent.mandatory\"\n :data-cy=\"dataCy\"\n hide-details\n autocomplete=\"off\"\n @click:clear.stop=\"clearField\"\n />\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"AFilterValueObjectOptionsSelect.js","names":["_sfc_main","AFilterValueObjectOptionsSelect_vue_vue_type_script_setup_true_lang_default","AFilterValueObjectOptionsSelect_default"],"sources":["../../../../src/domains/filters/components/AFilterValueObjectOptionsSelect.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport { computed, inject, watch, getCurrentInstance } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport {\n FilterConfigKey,\n FilterDataKey,\n FilterSelectedKey,\n FilterSubmitResetCounterKey,\n} from '@/domains/filters/utils/filterInjectionKeys'\nimport { isArray, isBoolean, isNull, isUndefined } from '@/shared/utils/common'\nimport { type AllowedFilterValues, useFilterClearHelpers } from '@/domains/filters/composables/filterFactory'\n\nconst props = withDefaults(\n defineProps<{\n name: string\n items: ValueObjectOption<string | number>[]\n dataCy?: string\n }>(),\n {\n dataCy: 'filter-value',\n }\n)\nconst emit = defineEmits<{\n (e: 'change'): void\n}>()\n\nconst submitResetCounter = inject(FilterSubmitResetCounterKey)\nconst filterSelected = inject(FilterSelectedKey)\nconst filterConfig = inject(FilterConfigKey)\nconst filterData = inject(FilterDataKey)\n\nconst componentName = getCurrentInstance()?.type.__name\n\nif (\n isUndefined(submitResetCounter) ||\n isUndefined(filterSelected) ||\n isUndefined(filterData) ||\n isUndefined(filterConfig)\n) {\n throw new Error(`[${componentName}] Incorrect provide/inject config.`)\n}\n\nif (\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterConfig.fields[props.name]) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterData[props.name])\n) {\n throw new Error(\n `[${componentName}] Incorrect filter config. ` +\n `Name is '${props.name}' and available options are ${Object.keys(filterData).join(', ')}.`\n )\n}\n\nconst modelValue = computed({\n get() {\n return filterData[props.name]\n },\n set(newValue) {\n filterData[props.name] = newValue\n updateSelected(newValue)\n filterConfig.touched = true\n emit('change')\n },\n})\n\n// The setup above throws unless the field is configured.\nconst filterConfigCurrent = computed(() => filterConfig.fields[props.name]!)\n\nconst { t } = useI18n()\n\nconst label = computed(() => {\n return filterConfigCurrent.value.titleT ? t(filterConfigCurrent.value.titleT) : undefined\n})\n\nconst { clearOne } = useFilterClearHelpers()\n\nconst clearField = () => {\n clearOne(props.name, filterData, filterConfig)\n filterSelected.value.delete(props.name)\n}\n\nconst updateSelected = (newValue: AllowedFilterValues) => {\n // `null` arrives when the filter is reset from outside. Loading a hash clears every field first.\n // Falling through to `items.find` finds nothing and leaves the old chip naming a value the query no longer has.\n if (isNull(newValue) || isUndefined(newValue) || (isArray(newValue) && newValue.length === 0)) {\n filterSelected.value.delete(props.name)\n return\n }\n if (isArray(newValue)) {\n filterSelected.value.set(\n props.name,\n newValue.map((modelItemValue) => {\n const found = props.items.find((item) => item.value === modelItemValue)\n if (found) return { title: found.title, value: found.value }\n return { title: modelItemValue as string, value: modelItemValue as string }\n })\n )\n return\n }\n const found = props.items.find((item) => item.value === newValue)\n if (found) {\n filterSelected.value.set(props.name, [{ title: found.title as string, value: found.value as string }])\n }\n}\n\nwatch(\n () => filterData[props.name],\n (newValue, oldValue) => {\n if (newValue === oldValue || isBoolean(newValue)) return\n updateSelected(newValue)\n },\n { immediate: true }\n)\n</script>\n\n<template>\n <VAutocomplete\n v-model=\"modelValue\"\n :items=\"items\"\n :chips=\"filterConfigCurrent.multiple\"\n :label=\"label\"\n :multiple=\"filterConfigCurrent.multiple\"\n :clearable=\"!filterConfigCurrent.mandatory\"\n :data-cy=\"dataCy\"\n hide-details\n autocomplete=\"off\"\n @click:clear.stop=\"clearField\"\n />\n</template>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"AFilterValueObjectOptionsSelect.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_component_VAutocomplete","_withModifiers","AFilterValueObjectOptionsSelect_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","submitResetCounter","inject","FilterSubmitResetCounterKey","filterSelected","FilterSelectedKey","filterConfig","FilterConfigKey","filterData","FilterDataKey","componentName","getCurrentInstance","isUndefined","modelValue","computed","newValue","updateSelected","filterConfigCurrent","useI18n","label","t","useFilterClearHelpers","clearField","clearOne","isNull","isArray","found","item","modelItemValue","watch","oldValue","isBoolean","openBlock","createBlock","VAutocomplete","_cache","$event","withModifiers"],"sources":["../../../../src/domains/filters/components/AFilterValueObjectOptionsSelect.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport { computed, inject, watch, getCurrentInstance } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport {\n FilterConfigKey,\n FilterDataKey,\n FilterSelectedKey,\n FilterSubmitResetCounterKey,\n} from '@/domains/filters/utils/filterInjectionKeys'\nimport { isArray, isBoolean, isNull, isUndefined } from '@/shared/utils/common'\nimport { type AllowedFilterValues, useFilterClearHelpers } from '@/domains/filters/composables/filterFactory'\n\nconst props = withDefaults(\n defineProps<{\n name: string\n items: ValueObjectOption<string | number>[]\n dataCy?: string\n }>(),\n {\n dataCy: 'filter-value',\n }\n)\nconst emit = defineEmits<{\n (e: 'change'): void\n}>()\n\nconst submitResetCounter = inject(FilterSubmitResetCounterKey)\nconst filterSelected = inject(FilterSelectedKey)\nconst filterConfig = inject(FilterConfigKey)\nconst filterData = inject(FilterDataKey)\n\nconst componentName = getCurrentInstance()?.type.__name\n\nif (\n isUndefined(submitResetCounter) ||\n isUndefined(filterSelected) ||\n isUndefined(filterData) ||\n isUndefined(filterConfig)\n) {\n throw new Error(`[${componentName}] Incorrect provide/inject config.`)\n}\n\nif (\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterConfig.fields[props.name]) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterData[props.name])\n) {\n throw new Error(\n `[${componentName}] Incorrect filter config. ` +\n `Name is '${props.name}' and available options are ${Object.keys(filterData).join(', ')}.`\n )\n}\n\nconst modelValue = computed({\n get() {\n return filterData[props.name]\n },\n set(newValue) {\n filterData[props.name] = newValue\n updateSelected(newValue)\n filterConfig.touched = true\n emit('change')\n },\n})\n\n// The setup above throws unless the field is configured.\nconst filterConfigCurrent = computed(() => filterConfig.fields[props.name]!)\n\nconst { t } = useI18n()\n\nconst label = computed(() => {\n return filterConfigCurrent.value.titleT ? t(filterConfigCurrent.value.titleT) : undefined\n})\n\nconst { clearOne } = useFilterClearHelpers()\n\nconst clearField = () => {\n clearOne(props.name, filterData, filterConfig)\n filterSelected.value.delete(props.name)\n}\n\nconst updateSelected = (newValue: AllowedFilterValues) => {\n // `null` reaches here when the filter is reset from outside - loading a hash clears every field\n // before applying it, and the chip has to go with the value. Falling through to `items.find`\n // would find nothing and leave the previous chip in place, naming a value the query no longer\n // carries.\n if (isNull(newValue) || isUndefined(newValue) || (isArray(newValue) && newValue.length === 0)) {\n filterSelected.value.delete(props.name)\n return\n }\n if (isArray(newValue)) {\n filterSelected.value.set(\n props.name,\n newValue.map((modelItemValue) => {\n const found = props.items.find((item) => item.value === modelItemValue)\n if (found) return { title: found.title, value: found.value }\n return { title: modelItemValue as string, value: modelItemValue as string }\n })\n )\n return\n }\n const found = props.items.find((item) => item.value === newValue)\n if (found) {\n filterSelected.value.set(props.name, [{ title: found.title as string, value: found.value as string }])\n }\n}\n\nwatch(\n () => filterData[props.name],\n (newValue, oldValue) => {\n if (newValue === oldValue || isBoolean(newValue)) return\n updateSelected(newValue)\n },\n { immediate: true }\n)\n</script>\n\n<template>\n <VAutocomplete\n v-model=\"modelValue\"\n :items=\"items\"\n :chips=\"filterConfigCurrent.multiple\"\n :label=\"label\"\n :multiple=\"filterConfigCurrent.multiple\"\n :clearable=\"!filterConfigCurrent.mandatory\"\n :data-cy=\"dataCy\"\n hide-details\n autocomplete=\"off\"\n @click:clear.stop=\"clearField\"\n />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;EAaA,IAAMM,IAAQC,GAURC,IAAOH,GAIPI,IAAqBC,EAAOC,CAA2B,GACvDC,IAAiBF,EAAOG,CAAiB,GACzCC,IAAeJ,EAAOK,CAAe,GACrCC,IAAaN,EAAOO,CAAa,GAEjCC,IAAgBC,EAAmB,CAAC,EAAE,KAAK;EAEjD,IACEC,EAAYX,CAAkB,KAC9BW,EAAYR,CAAc,KAC1BQ,EAAYJ,CAAU,KACtBI,EAAYN,CAAY,GAExB,MAAU,MAAM,IAAII,EAAc,mCAAmC;EAGvE,IAEEE,EAAYN,EAAa,OAAOR,EAAM,KAAK,KAE3Cc,EAAYJ,EAAWV,EAAM,KAAK,GAElC,MAAU,MACR,IAAIY,EAAc,sCACJZ,EAAM,KAAK,8BAA8B,OAAO,KAAKU,CAAU,CAAC,CAAC,KAAK,IAAI,EAAE,EAC5F;EAGF,IAAMK,IAAaC,EAAS;GAC1B,MAAM;IACJ,OAAON,EAAWV,EAAM;GAC1B;GACA,IAAI,GAAU;IAIZ,AAHA,EAAWA,EAAM,QAAQiB,GACzBC,EAAeD,CAAQ,GACvB,EAAa,UAAU,IACvBf,EAAK,QAAQ;GACf;EACF,CAAC,GAGKiB,IAAsBH,QAAeR,EAAa,OAAOR,EAAM,KAAM,GAErE,EAAE,SAAMoB,EAAQ,GAEhBC,IAAQL,QACLG,EAAoB,MAAM,SAASG,EAAEH,EAAoB,MAAM,MAAM,IAAI,KAAA,CACjF,GAEK,EAAE,gBAAaI,EAAsB,GAErCC,UAAmB;GAEvB,AADAC,EAASzB,EAAM,MAAMU,GAAYF,CAAY,GAC7CF,EAAe,MAAM,OAAON,EAAM,IAAI;EACxC,GAEMkB,KAAkB,MAAkC;GAKxD,IAAIQ,EAAOT,CAAQ,KAAKH,EAAYG,CAAQ,KAAMU,EAAQV,CAAQ,KAAKA,EAAS,WAAW,GAAI;IAC7F,EAAe,MAAM,OAAOjB,EAAM,IAAI;IACtC;GACF;GACA,IAAI2B,EAAQV,CAAQ,GAAG;IACrB,EAAe,MAAM,IACnBjB,EAAM,MACNiB,EAAS,KAAK,MAAmB;KAC/B,IAAMW,IAAQ5B,EAAM,MAAM,MAAM,MAAS6B,EAAK,UAAUC,CAAc;KAEtE,OADIF,IAAc;MAAE,OAAOA,EAAM;MAAO,OAAOA,EAAM;KAAM,IACpD;MAAE,OAAOE;MAA0B,OAAOA;KAAyB;IAC5E,CAAC,CACH;IACA;GACF;GACA,IAAMF,IAAQ5B,EAAM,MAAM,MAAM,MAAS6B,EAAK,UAAUZ,CAAQ;GAChE,AAAIW,KACFtB,EAAe,MAAM,IAAIN,EAAM,MAAM,CAAC;IAAE,OAAO4B,EAAM;IAAiB,OAAOA,EAAM;GAAgB,CAAC,CAAC;EAEzG;E,OAEAG,QACQrB,EAAWV,EAAM,QACtB,GAAU,MAAa;GACtB,AAAIiB,MAAae,KAAYC,EAAUhB,CAAQ,KAC/CC,EAAeD,CAAQ;EACzB,GACA,EAAE,WAAW,GAAK,CACpB,I,UAIEvB,EAAA,GAAAC,EAWEC,GAAA;GAVS,YAAAmB,EAAA;GAAA,uBAAA,AAAAsB,EAAA,QAAA,MAAA,EAAU,QAAAC;GAClB,OAAOrC,EAAA;GACP,OAAOkB,EAAA,MAAoB;GAC3B,OAAOE,EAAA;GACP,UAAUF,EAAA,MAAoB;GAC9B,WAAS,CAAGA,EAAA,MAAoB;GAChC,WAASlB,EAAA;GACV,gBAAA;GACA,cAAa;GACZ,iBAAWJ,EAAO2B,GAAU,CAAA,MAAA,CAAA"}
1
+ {"version":3,"file":"AFilterValueObjectOptionsSelect.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_component_VAutocomplete","_withModifiers","AFilterValueObjectOptionsSelect_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","submitResetCounter","inject","FilterSubmitResetCounterKey","filterSelected","FilterSelectedKey","filterConfig","FilterConfigKey","filterData","FilterDataKey","componentName","getCurrentInstance","isUndefined","modelValue","computed","newValue","updateSelected","filterConfigCurrent","useI18n","label","t","useFilterClearHelpers","clearField","clearOne","isNull","isArray","found","item","modelItemValue","watch","oldValue","isBoolean","openBlock","createBlock","VAutocomplete","_cache","$event","withModifiers"],"sources":["../../../../src/domains/filters/components/AFilterValueObjectOptionsSelect.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport { computed, inject, watch, getCurrentInstance } from 'vue'\nimport { useI18n } from 'vue-i18n'\nimport {\n FilterConfigKey,\n FilterDataKey,\n FilterSelectedKey,\n FilterSubmitResetCounterKey,\n} from '@/domains/filters/utils/filterInjectionKeys'\nimport { isArray, isBoolean, isNull, isUndefined } from '@/shared/utils/common'\nimport { type AllowedFilterValues, useFilterClearHelpers } from '@/domains/filters/composables/filterFactory'\n\nconst props = withDefaults(\n defineProps<{\n name: string\n items: ValueObjectOption<string | number>[]\n dataCy?: string\n }>(),\n {\n dataCy: 'filter-value',\n }\n)\nconst emit = defineEmits<{\n (e: 'change'): void\n}>()\n\nconst submitResetCounter = inject(FilterSubmitResetCounterKey)\nconst filterSelected = inject(FilterSelectedKey)\nconst filterConfig = inject(FilterConfigKey)\nconst filterData = inject(FilterDataKey)\n\nconst componentName = getCurrentInstance()?.type.__name\n\nif (\n isUndefined(submitResetCounter) ||\n isUndefined(filterSelected) ||\n isUndefined(filterData) ||\n isUndefined(filterConfig)\n) {\n throw new Error(`[${componentName}] Incorrect provide/inject config.`)\n}\n\nif (\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterConfig.fields[props.name]) ||\n // eslint-disable-next-line vue/no-setup-props-reactivity-loss\n isUndefined(filterData[props.name])\n) {\n throw new Error(\n `[${componentName}] Incorrect filter config. ` +\n `Name is '${props.name}' and available options are ${Object.keys(filterData).join(', ')}.`\n )\n}\n\nconst modelValue = computed({\n get() {\n return filterData[props.name]\n },\n set(newValue) {\n filterData[props.name] = newValue\n updateSelected(newValue)\n filterConfig.touched = true\n emit('change')\n },\n})\n\n// The setup above throws unless the field is configured.\nconst filterConfigCurrent = computed(() => filterConfig.fields[props.name]!)\n\nconst { t } = useI18n()\n\nconst label = computed(() => {\n return filterConfigCurrent.value.titleT ? t(filterConfigCurrent.value.titleT) : undefined\n})\n\nconst { clearOne } = useFilterClearHelpers()\n\nconst clearField = () => {\n clearOne(props.name, filterData, filterConfig)\n filterSelected.value.delete(props.name)\n}\n\nconst updateSelected = (newValue: AllowedFilterValues) => {\n // `null` arrives when the filter is reset from outside. Loading a hash clears every field first.\n // Falling through to `items.find` finds nothing and leaves the old chip naming a value the query no longer has.\n if (isNull(newValue) || isUndefined(newValue) || (isArray(newValue) && newValue.length === 0)) {\n filterSelected.value.delete(props.name)\n return\n }\n if (isArray(newValue)) {\n filterSelected.value.set(\n props.name,\n newValue.map((modelItemValue) => {\n const found = props.items.find((item) => item.value === modelItemValue)\n if (found) return { title: found.title, value: found.value }\n return { title: modelItemValue as string, value: modelItemValue as string }\n })\n )\n return\n }\n const found = props.items.find((item) => item.value === newValue)\n if (found) {\n filterSelected.value.set(props.name, [{ title: found.title as string, value: found.value as string }])\n }\n}\n\nwatch(\n () => filterData[props.name],\n (newValue, oldValue) => {\n if (newValue === oldValue || isBoolean(newValue)) return\n updateSelected(newValue)\n },\n { immediate: true }\n)\n</script>\n\n<template>\n <VAutocomplete\n v-model=\"modelValue\"\n :items=\"items\"\n :chips=\"filterConfigCurrent.multiple\"\n :label=\"label\"\n :multiple=\"filterConfigCurrent.multiple\"\n :clearable=\"!filterConfigCurrent.mandatory\"\n :data-cy=\"dataCy\"\n hide-details\n autocomplete=\"off\"\n @click:clear.stop=\"clearField\"\n />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;EAaA,IAAMM,IAAQC,GAURC,IAAOH,GAIPI,IAAqBC,EAAOC,CAA2B,GACvDC,IAAiBF,EAAOG,CAAiB,GACzCC,IAAeJ,EAAOK,CAAe,GACrCC,IAAaN,EAAOO,CAAa,GAEjCC,IAAgBC,EAAmB,CAAC,EAAE,KAAK;EAEjD,IACEC,EAAYX,CAAkB,KAC9BW,EAAYR,CAAc,KAC1BQ,EAAYJ,CAAU,KACtBI,EAAYN,CAAY,GAExB,MAAU,MAAM,IAAII,EAAc,mCAAmC;EAGvE,IAEEE,EAAYN,EAAa,OAAOR,EAAM,KAAK,KAE3Cc,EAAYJ,EAAWV,EAAM,KAAK,GAElC,MAAU,MACR,IAAIY,EAAc,sCACJZ,EAAM,KAAK,8BAA8B,OAAO,KAAKU,CAAU,CAAC,CAAC,KAAK,IAAI,EAAE,EAC5F;EAGF,IAAMK,IAAaC,EAAS;GAC1B,MAAM;IACJ,OAAON,EAAWV,EAAM;GAC1B;GACA,IAAI,GAAU;IAIZ,AAHA,EAAWA,EAAM,QAAQiB,GACzBC,EAAeD,CAAQ,GACvB,EAAa,UAAU,IACvBf,EAAK,QAAQ;GACf;EACF,CAAC,GAGKiB,IAAsBH,QAAeR,EAAa,OAAOR,EAAM,KAAM,GAErE,EAAE,SAAMoB,EAAQ,GAEhBC,IAAQL,QACLG,EAAoB,MAAM,SAASG,EAAEH,EAAoB,MAAM,MAAM,IAAI,KAAA,CACjF,GAEK,EAAE,gBAAaI,EAAsB,GAErCC,UAAmB;GAEvB,AADAC,EAASzB,EAAM,MAAMU,GAAYF,CAAY,GAC7CF,EAAe,MAAM,OAAON,EAAM,IAAI;EACxC,GAEMkB,KAAkB,MAAkC;GAGxD,IAAIQ,EAAOT,CAAQ,KAAKH,EAAYG,CAAQ,KAAMU,EAAQV,CAAQ,KAAKA,EAAS,WAAW,GAAI;IAC7F,EAAe,MAAM,OAAOjB,EAAM,IAAI;IACtC;GACF;GACA,IAAI2B,EAAQV,CAAQ,GAAG;IACrB,EAAe,MAAM,IACnBjB,EAAM,MACNiB,EAAS,KAAK,MAAmB;KAC/B,IAAMW,IAAQ5B,EAAM,MAAM,MAAM,MAAS6B,EAAK,UAAUC,CAAc;KAEtE,OADIF,IAAc;MAAE,OAAOA,EAAM;MAAO,OAAOA,EAAM;KAAM,IACpD;MAAE,OAAOE;MAA0B,OAAOA;KAAyB;IAC5E,CAAC,CACH;IACA;GACF;GACA,IAAMF,IAAQ5B,EAAM,MAAM,MAAM,MAAS6B,EAAK,UAAUZ,CAAQ;GAChE,AAAIW,KACFtB,EAAe,MAAM,IAAIN,EAAM,MAAM,CAAC;IAAE,OAAO4B,EAAM;IAAiB,OAAOA,EAAM;GAAgB,CAAC,CAAC;EAEzG;E,OAEAG,QACQrB,EAAWV,EAAM,QACtB,GAAU,MAAa;GACtB,AAAIiB,MAAae,KAAYC,EAAUhB,CAAQ,KAC/CC,EAAeD,CAAQ;EACzB,GACA,EAAE,WAAW,GAAK,CACpB,I,UAIEvB,EAAA,GAAAC,EAWEC,GAAA;GAVS,YAAAmB,EAAA;GAAA,uBAAA,AAAAsB,EAAA,QAAA,MAAA,EAAU,QAAAC;GAClB,OAAOrC,EAAA;GACP,OAAOkB,EAAA,MAAoB;GAC3B,OAAOE,EAAA;GACP,UAAUF,EAAA,MAAoB;GAC9B,WAAS,CAAGA,EAAA,MAAoB;GAChC,WAASlB,EAAA;GACV,gBAAA;GACA,cAAa;GACZ,iBAAWJ,EAAO2B,GAAU,CAAA,MAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"AFilterWrapper.js","names":["_sfc_main","AFilterWrapper_vue_vue_type_script_setup_true_lang_default","AFilterWrapper_default"],"sources":["../../../../src/domains/filters/components/AFilterWrapper.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport AFilterAdvancedButton from '@/domains/filters/components/AFilterAdvancedButton.vue'\nimport AFilterSubmitButton from '@/domains/filters/components/AFilterSubmitButton.vue'\nimport AFilterResetButton from '@/domains/filters/components/AFilterResetButton.vue'\nimport { computed, inject, nextTick, provide, ref } from 'vue'\nimport {\n FilterConfigKey,\n FilterDataKey,\n FilterSelectedKey,\n FilterSubmitResetCounterKey,\n} from '@/domains/filters/utils/filterInjectionKeys'\nimport FiltersSelected from '@/domains/filters/components/FiltersSelected.vue'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport { isBoolean, isDefined, isUndefined } from '@/shared/utils/common'\nimport { type FilterStoreIdentifier, useFilterClearHelpers } from '@/domains/filters/composables/filterFactory'\nimport { datatableSlotName } from '@/domains/filters/datatable/utils/datatable'\nimport FilterDetailItem from '@/domains/filters/components/FilterDetailItem.vue'\nimport AFilterBookmarkButton from '@/domains/filters/bookmarks/components/AFilterBookmarkButton.vue'\nimport FilterBookmarks from '@/domains/filters/bookmarks/components/FilterBookmarks.vue'\nimport type { IntegerIdNullable } from '@/shared/types/common'\nimport { type AxiosInstance } from 'axios'\n\nconst props = withDefaults(\n defineProps<{\n enableTop?: boolean\n hideButtons?: boolean\n formName?: string\n userId?: IntegerIdNullable | undefined\n client?: (() => AxiosInstance) | undefined\n store?: FilterStoreIdentifier | boolean // false to disable, FilterStoreIdentifier to custom store key\n alwaysVisible?: boolean\n hideMore?: boolean\n }>(),\n {\n enableTop: false,\n hideButtons: false,\n formName: 'search',\n userId: undefined,\n client: undefined,\n store: true,\n alwaysVisible: false,\n hideMore: false,\n }\n)\nconst emit = defineEmits<{\n (e: 'submit'): void\n (e: 'reset'): void\n (e: 'bookmarkLoadAfter'): void\n}>()\n\nconst datatableHiddenColumns = defineModel<string[] | undefined>('datatableHiddenColumns', {\n default: undefined,\n required: false,\n})\nconst showDetail = defineModel<boolean>('showDetail', { default: false, required: false })\n\nconst filterConfig = inject(FilterConfigKey)\nconst filterData = inject(FilterDataKey)\nif (isUndefined(filterConfig) || isUndefined(filterData)) {\n throw new Error('Incorrect provide/inject config.')\n}\nconst identifier = ref<Partial<FilterStoreIdentifier>>({\n system: filterConfig.general.system,\n subject: filterConfig.general.subject,\n})\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nif (!isBoolean(props.store)) {\n identifier.value.system = props.store.system\n identifier.value.subject = props.store.subject\n} else if (false === props.store) {\n identifier.value.system = undefined\n identifier.value.subject = undefined\n}\nconst submitResetCounter = ref(0)\nprovide(FilterSubmitResetCounterKey, submitResetCounter)\nconst filterSelected = ref<Map<string, ValueObjectOption<string | number>[]>>(new Map())\nprovide(FilterSelectedKey, filterSelected)\n\nconst submitFilter = () => {\n submitResetCounter.value++\n nextTick(() => {\n emit('submit')\n })\n}\n\nconst { clearAll, clearAllFilterSelected } = useFilterClearHelpers()\n\nconst submitFilterBookmark = () => {\n nextTick(() => {\n submitResetCounter.value++\n emit('bookmarkLoadAfter')\n })\n}\n\nconst resetFilter = () => {\n clearAll(filterData, filterConfig)\n clearAllFilterSelected(filterData, filterConfig, filterSelected)\n nextTick(() => {\n submitResetCounter.value++\n emit('reset')\n })\n}\n\nconst toggleFilterDetail = () => {\n showDetail.value = !showDetail.value\n}\n\nconst touched = computed(() => {\n return filterConfig.touched\n})\n\n// Names of `filterConfig.fields` itself, so the template's lookups by them always hit.\nconst renderedFieldNames = computed(() => {\n return Object.entries(filterConfig.fields)\n .filter(([, field]) => !field.render.skip)\n .map(([fieldName]) => fieldName)\n})\n\nif (props.alwaysVisible) {\n showDetail.value = true\n}\n\ndefineExpose({\n submit: submitFilter,\n reset: resetFilter,\n})\n</script>\n\n<template>\n <VForm\n :name=\"formName\"\n @submit.prevent=\"submitFilter\"\n >\n <VRow\n v-if=\"enableTop\"\n density=\"compact\"\n >\n <VCol>\n <slot name=\"top\" />\n </VCol>\n </VRow>\n <VRow density=\"compact\">\n <VCol v-if=\"store && userId && isDefined(client)\">\n <slot name=\"bookmarks\">\n <div class=\"d-flex flex-wrap align-center\">\n <FilterBookmarks\n v-if=\"identifier.system && identifier.subject && userId && isDefined(client)\"\n v-model:datatable-hidden-columns=\"datatableHiddenColumns\"\n :client=\"client\"\n :system=\"identifier.system\"\n :subject=\"identifier.subject\"\n :user-id=\"userId\"\n @submit=\"submitFilterBookmark\"\n />\n </div>\n </slot>\n </VCol>\n </VRow>\n <VRow\n v-if=\"!alwaysVisible\"\n density=\"compact\"\n >\n <VCol\n v-if=\"!hideMore\"\n cols=\"auto\"\n >\n <AFilterAdvancedButton\n :button-active=\"showDetail\"\n @advanced-filter=\"toggleFilterDetail\"\n />\n </VCol>\n <VCol>\n <div class=\"a-filter__container\">\n <div class=\"a-filter__search\">\n <slot name=\"search\" />\n </div>\n <FiltersSelected />\n </div>\n </VCol>\n <VCol\n v-if=\"!hideButtons\"\n class=\"text-right\"\n cols=\"auto\"\n >\n <slot name=\"buttons\">\n <AFilterSubmitButton :touched=\"touched\" />\n <AFilterResetButton @reset=\"resetFilter\" />\n <AFilterBookmarkButton\n v-if=\"identifier.system && identifier.subject && userId && isDefined(client)\"\n :client=\"client\"\n :user=\"userId\"\n :system=\"identifier.system\"\n :subject=\"identifier.subject\"\n :datatable-hidden-columns=\"datatableHiddenColumns\"\n />\n </slot>\n </VCol>\n </VRow>\n <div v-if=\"!hideMore\">\n <component :is=\"alwaysVisible ? 'div' : 'VSlideYTransition'\">\n <div\n v-show=\"showDetail\"\n :class=\"{ 'mt-6 pa-4 border': !alwaysVisible }\"\n >\n <slot name=\"detail\">\n <VRow>\n <VCol\n v-for=\"fieldName in renderedFieldNames\"\n :key=\"fieldName\"\n :cols=\"filterConfig.fields[fieldName]!.render.xs || 12\"\n :sm=\"filterConfig.fields[fieldName]!.render.sm || 6\"\n :md=\"filterConfig.fields[fieldName]!.render.md || 4\"\n :lg=\"filterConfig.fields[fieldName]!.render.lg || 3\"\n :xl=\"filterConfig.fields[fieldName]!.render.xl || 2\"\n >\n <slot\n :name=\"datatableSlotName(fieldName)\"\n :item-config=\"filterConfig.fields[fieldName]!\"\n >\n <FilterDetailItem :name=\"fieldName\" />\n </slot>\n </VCol>\n </VRow>\n </slot>\n </div>\n </component>\n </div>\n </VForm>\n</template>\n\n<style lang=\"scss\">\n@use 'vuetify/tools' as *;\n\n.a-filter {\n &__container {\n width: 100%;\n }\n\n &__search {\n display: inline-flex;\n vertical-align: middle;\n min-width: 100%;\n height: 34px;\n\n @include media-breakpoint-up(sm) {\n min-width: 50%;\n margin-right: 8px;\n }\n\n @include media-breakpoint-up(md) {\n min-width: 40%;\n }\n\n @include media-breakpoint-up(lg) {\n min-width: 30%;\n }\n }\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"AFilterWrapper.js","names":["_sfc_main","AFilterWrapper_vue_vue_type_script_setup_true_lang_default","AFilterWrapper_default"],"sources":["../../../../src/domains/filters/components/AFilterWrapper.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport AFilterAdvancedButton from '@/domains/filters/components/AFilterAdvancedButton.vue'\nimport AFilterSubmitButton from '@/domains/filters/components/AFilterSubmitButton.vue'\nimport AFilterResetButton from '@/domains/filters/components/AFilterResetButton.vue'\nimport { computed, inject, nextTick, provide, ref } from 'vue'\nimport {\n FilterConfigKey,\n FilterDataKey,\n FilterSelectedKey,\n FilterSubmitResetCounterKey,\n} from '@/domains/filters/utils/filterInjectionKeys'\nimport FiltersSelected from '@/domains/filters/components/FiltersSelected.vue'\nimport type { ValueObjectOption } from '@/shared/types/ValueObject'\nimport { isBoolean, isDefined, isUndefined } from '@/shared/utils/common'\nimport { type FilterStoreIdentifier, useFilterClearHelpers } from '@/domains/filters/composables/filterFactory'\nimport { datatableSlotName } from '@/domains/filters/datatable/utils/datatable'\nimport FilterDetailItem from '@/domains/filters/components/FilterDetailItem.vue'\nimport AFilterBookmarkButton from '@/domains/filters/bookmarks/components/AFilterBookmarkButton.vue'\nimport FilterBookmarks from '@/domains/filters/bookmarks/components/FilterBookmarks.vue'\nimport type { IntegerIdNullable } from '@/shared/types/common'\nimport { type AxiosInstance } from 'axios'\nimport { VSlideYTransition } from 'vuetify/components/transitions'\n\nconst props = withDefaults(\n defineProps<{\n enableTop?: boolean\n hideButtons?: boolean\n formName?: string\n userId?: IntegerIdNullable | undefined\n client?: (() => AxiosInstance) | undefined\n store?: FilterStoreIdentifier | boolean // false to disable, FilterStoreIdentifier to custom store key\n alwaysVisible?: boolean\n hideMore?: boolean\n }>(),\n {\n enableTop: false,\n hideButtons: false,\n formName: 'search',\n userId: undefined,\n client: undefined,\n store: true,\n alwaysVisible: false,\n hideMore: false,\n }\n)\nconst emit = defineEmits<{\n (e: 'submit'): void\n (e: 'reset'): void\n (e: 'bookmarkLoadAfter'): void\n}>()\n\nconst datatableHiddenColumns = defineModel<string[] | undefined>('datatableHiddenColumns', {\n default: undefined,\n required: false,\n})\nconst showDetail = defineModel<boolean>('showDetail', { default: false, required: false })\n\nconst filterConfig = inject(FilterConfigKey)\nconst filterData = inject(FilterDataKey)\nif (isUndefined(filterConfig) || isUndefined(filterData)) {\n throw new Error('Incorrect provide/inject config.')\n}\nconst identifier = ref<Partial<FilterStoreIdentifier>>({\n system: filterConfig.general.system,\n subject: filterConfig.general.subject,\n})\n// eslint-disable-next-line vue/no-setup-props-reactivity-loss\nif (!isBoolean(props.store)) {\n identifier.value.system = props.store.system\n identifier.value.subject = props.store.subject\n} else if (false === props.store) {\n identifier.value.system = undefined\n identifier.value.subject = undefined\n}\nconst submitResetCounter = ref(0)\nprovide(FilterSubmitResetCounterKey, submitResetCounter)\nconst filterSelected = ref<Map<string, ValueObjectOption<string | number>[]>>(new Map())\nprovide(FilterSelectedKey, filterSelected)\n\nconst submitFilter = () => {\n submitResetCounter.value++\n nextTick(() => {\n emit('submit')\n })\n}\n\nconst { clearAll, clearAllFilterSelected } = useFilterClearHelpers()\n\nconst submitFilterBookmark = () => {\n nextTick(() => {\n submitResetCounter.value++\n emit('bookmarkLoadAfter')\n })\n}\n\nconst resetFilter = () => {\n clearAll(filterData, filterConfig)\n clearAllFilterSelected(filterData, filterConfig, filterSelected)\n nextTick(() => {\n submitResetCounter.value++\n emit('reset')\n })\n}\n\nconst toggleFilterDetail = () => {\n showDetail.value = !showDetail.value\n}\n\nconst touched = computed(() => {\n return filterConfig.touched\n})\n\n// Names of `filterConfig.fields` itself, so the template's lookups by them always hit.\nconst renderedFieldNames = computed(() => {\n return Object.entries(filterConfig.fields)\n .filter(([, field]) => !field.render.skip)\n .map(([fieldName]) => fieldName)\n})\n\nif (props.alwaysVisible) {\n showDetail.value = true\n}\n\ndefineExpose({\n submit: submitFilter,\n reset: resetFilter,\n})\n</script>\n\n<template>\n <VForm\n :name=\"formName\"\n @submit.prevent=\"submitFilter\"\n >\n <VRow\n v-if=\"enableTop\"\n density=\"compact\"\n >\n <VCol>\n <slot name=\"top\" />\n </VCol>\n </VRow>\n <VRow density=\"compact\">\n <VCol v-if=\"store && userId && isDefined(client)\">\n <slot name=\"bookmarks\">\n <div class=\"d-flex flex-wrap align-center\">\n <FilterBookmarks\n v-if=\"identifier.system && identifier.subject && userId && isDefined(client)\"\n v-model:datatable-hidden-columns=\"datatableHiddenColumns\"\n :client=\"client\"\n :system=\"identifier.system\"\n :subject=\"identifier.subject\"\n :user-id=\"userId\"\n @submit=\"submitFilterBookmark\"\n />\n </div>\n </slot>\n </VCol>\n </VRow>\n <VRow\n v-if=\"!alwaysVisible\"\n density=\"compact\"\n >\n <VCol\n v-if=\"!hideMore\"\n cols=\"auto\"\n >\n <AFilterAdvancedButton\n :button-active=\"showDetail\"\n @advanced-filter=\"toggleFilterDetail\"\n />\n </VCol>\n <VCol>\n <div class=\"a-filter__container\">\n <div class=\"a-filter__search\">\n <slot name=\"search\" />\n </div>\n <FiltersSelected />\n </div>\n </VCol>\n <VCol\n v-if=\"!hideButtons\"\n class=\"text-right\"\n cols=\"auto\"\n >\n <slot name=\"buttons\">\n <AFilterSubmitButton :touched=\"touched\" />\n <AFilterResetButton @reset=\"resetFilter\" />\n <AFilterBookmarkButton\n v-if=\"identifier.system && identifier.subject && userId && isDefined(client)\"\n :client=\"client\"\n :user=\"userId\"\n :system=\"identifier.system\"\n :subject=\"identifier.subject\"\n :datatable-hidden-columns=\"datatableHiddenColumns\"\n />\n </slot>\n </VCol>\n </VRow>\n <div v-if=\"!hideMore\">\n <component :is=\"alwaysVisible ? 'div' : VSlideYTransition\">\n <div\n v-show=\"showDetail\"\n :class=\"{ 'mt-6 pa-4 border': !alwaysVisible }\"\n >\n <slot name=\"detail\">\n <VRow>\n <VCol\n v-for=\"fieldName in renderedFieldNames\"\n :key=\"fieldName\"\n :cols=\"filterConfig.fields[fieldName]!.render.xs || 12\"\n :sm=\"filterConfig.fields[fieldName]!.render.sm || 6\"\n :md=\"filterConfig.fields[fieldName]!.render.md || 4\"\n :lg=\"filterConfig.fields[fieldName]!.render.lg || 3\"\n :xl=\"filterConfig.fields[fieldName]!.render.xl || 2\"\n >\n <slot\n :name=\"datatableSlotName(fieldName)\"\n :item-config=\"filterConfig.fields[fieldName]!\"\n >\n <FilterDetailItem :name=\"fieldName\" />\n </slot>\n </VCol>\n </VRow>\n </slot>\n </div>\n </component>\n </div>\n </VForm>\n</template>\n\n<style lang=\"scss\">\n@use 'vuetify/tools' as *;\n\n.a-filter {\n &__container {\n width: 100%;\n }\n\n &__search {\n display: inline-flex;\n vertical-align: middle;\n min-width: 100%;\n height: 34px;\n\n @include media-breakpoint-up(sm) {\n min-width: 50%;\n margin-right: 8px;\n }\n\n @include media-breakpoint-up(md) {\n min-width: 40%;\n }\n\n @include media-breakpoint-up(lg) {\n min-width: 30%;\n }\n }\n}\n</style>\n"],"mappings":""}
@@ -16,22 +16,24 @@ type __VLS_ModelProps = {
16
16
  'showDetail'?: boolean;
17
17
  };
18
18
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
19
- declare var __VLS_21: {}, __VLS_35: {}, __VLS_69: {}, __VLS_82: {}, __VLS_107: {}, __VLS_123: string, __VLS_124: {
20
- itemConfig: import('../composables/filterFactory').FilterField;
21
- };
22
- type __VLS_Slots = {} & {
23
- [K in NonNullable<typeof __VLS_123>]?: (props: typeof __VLS_124) => any;
24
- } & {
25
- top?: (props: typeof __VLS_21) => any;
26
- } & {
27
- bookmarks?: (props: typeof __VLS_35) => any;
28
- } & {
29
- search?: (props: typeof __VLS_69) => any;
30
- } & {
31
- buttons?: (props: typeof __VLS_82) => any;
32
- } & {
33
- detail?: (props: typeof __VLS_107) => any;
19
+ declare const __VLS_template: () => {
20
+ __VLS_Slots: {
21
+ [x: string]: ((props: {
22
+ itemConfig: import('../composables/filterFactory').FilterField;
23
+ }) => any) | undefined;
24
+ } & {
25
+ top?: (props: {}) => any;
26
+ } & {
27
+ bookmarks?: (props: {}) => any;
28
+ } & {
29
+ search?: (props: {}) => any;
30
+ } & {
31
+ buttons?: (props: {}) => any;
32
+ } & {
33
+ detail?: (props: {}) => any;
34
+ };
34
35
  };
36
+ type __VLS_Slots = ReturnType<typeof __VLS_template>['__VLS_Slots'];
35
37
  declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {
36
38
  submit: () => void;
37
39
  reset: () => void;
@@ -7,16 +7,17 @@ import { datatableSlotName as l } from "../datatable/utils/datatable.js";
7
7
  import u from "./FilterDetailItem.js";
8
8
  import d from "../bookmarks/components/FilterBookmarks.js";
9
9
  import f from "../bookmarks/components/AFilterBookmarkButton.js";
10
- import p from "./AFilterAdvancedButton.js";
11
- import te from "./FiltersSelected.js";
12
- import { Fragment as ne, computed as m, createBlock as h, createCommentVNode as g, createElementBlock as _, createElementVNode as v, createVNode as y, defineComponent as b, inject as x, mergeModels as S, nextTick as C, normalizeClass as w, openBlock as T, provide as E, ref as D, renderList as re, renderSlot as O, resolveDynamicComponent as ie, unref as k, useModel as A, vShow as j, withCtx as M, withDirectives as N, withModifiers as P } from "vue";
13
- import { VCol as F, VRow as I } from "vuetify/components/VGrid";
10
+ import te from "./AFilterAdvancedButton.js";
11
+ import ne from "./FiltersSelected.js";
12
+ import { Fragment as re, computed as p, createBlock as m, createCommentVNode as h, createElementBlock as g, createElementVNode as _, createVNode as v, defineComponent as y, inject as b, mergeModels as x, nextTick as S, normalizeClass as C, openBlock as w, provide as T, ref as E, renderList as ie, renderSlot as D, resolveDynamicComponent as ae, unref as O, useModel as k, vShow as A, withCtx as j, withDirectives as M, withModifiers as N } from "vue";
13
+ import { VCol as P, VRow as F } from "vuetify/components/VGrid";
14
14
  import "axios";
15
+ import { VSlideYTransition as I } from "vuetify/components/transitions";
15
16
  import { VForm as L } from "vuetify/components/VForm";
16
17
  // src/domains/filters/components/AFilterWrapper.vue?vue&type=script&setup=true&lang.ts
17
- var R = { class: "d-flex flex-wrap align-center" }, z = { class: "a-filter__container" }, B = { class: "a-filter__search" }, V = { key: 2 }, H = /*@__PURE__*/ b({
18
+ var R = { class: "d-flex flex-wrap align-center" }, z = { class: "a-filter__container" }, B = { class: "a-filter__search" }, V = { key: 2 }, H = /*@__PURE__*/ y({
18
19
  __name: "AFilterWrapper",
19
- props: /*@__PURE__*/ S({
20
+ props: /*@__PURE__*/ x({
20
21
  enableTop: {
21
22
  type: Boolean,
22
23
  default: !1
@@ -56,109 +57,109 @@ var R = { class: "d-flex flex-wrap align-center" }, z = { class: "a-filter__cont
56
57
  },
57
58
  showDetailModifiers: {}
58
59
  }),
59
- emits: /*@__PURE__*/ S([
60
+ emits: /*@__PURE__*/ x([
60
61
  "submit",
61
62
  "reset",
62
63
  "bookmarkLoadAfter"
63
64
  ], ["update:datatableHiddenColumns", "update:showDetail"]),
64
- setup(b, { expose: S, emit: H }) {
65
- let U = b, W = H, G = A(b, "datatableHiddenColumns"), K = A(b, "showDetail"), q = x(ee), J = x(r);
65
+ setup(y, { expose: x, emit: H }) {
66
+ let U = y, W = H, G = k(y, "datatableHiddenColumns"), K = k(y, "showDetail"), q = b(ee), J = b(r);
66
67
  if (n(q) || n(J)) throw Error("Incorrect provide/inject config.");
67
- let Y = D({
68
+ let Y = E({
68
69
  system: q.general.system,
69
70
  subject: q.general.subject
70
71
  });
71
72
  e(U.store) ? !1 === U.store && (Y.value.system = void 0, Y.value.subject = void 0) : (Y.value.system = U.store.system, Y.value.subject = U.store.subject);
72
- let X = D(0);
73
- E(a, X);
74
- let Z = D(/* @__PURE__ */ new Map());
75
- E(i, Z);
73
+ let X = E(0);
74
+ T(a, X);
75
+ let Z = E(/* @__PURE__ */ new Map());
76
+ T(i, Z);
76
77
  let Q = () => {
77
- X.value++, C(() => {
78
+ X.value++, S(() => {
78
79
  W("submit");
79
80
  });
80
- }, { clearAll: ae, clearAllFilterSelected: oe } = o(), se = () => {
81
- C(() => {
81
+ }, { clearAll: oe, clearAllFilterSelected: se } = o(), ce = () => {
82
+ S(() => {
82
83
  X.value++, W("bookmarkLoadAfter");
83
84
  });
84
85
  }, $ = () => {
85
- ae(J, q), oe(J, q, Z), C(() => {
86
+ oe(J, q), se(J, q, Z), S(() => {
86
87
  X.value++, W("reset");
87
88
  });
88
- }, ce = () => {
89
+ }, le = () => {
89
90
  K.value = !K.value;
90
- }, le = m(() => q.touched), ue = m(() => Object.entries(q.fields).filter(([, e]) => !e.render.skip).map(([e]) => e));
91
- return U.alwaysVisible && (K.value = !0), S({
91
+ }, ue = p(() => q.touched), de = p(() => Object.entries(q.fields).filter(([, e]) => !e.render.skip).map(([e]) => e));
92
+ return U.alwaysVisible && (K.value = !0), x({
92
93
  submit: Q,
93
94
  reset: $
94
- }), (e, n) => (T(), h(L, {
95
- name: b.formName,
96
- onSubmit: P(Q, ["prevent"])
95
+ }), (e, n) => (w(), m(L, {
96
+ name: y.formName,
97
+ onSubmit: N(Q, ["prevent"])
97
98
  }, {
98
- default: M(() => [
99
- b.enableTop ? (T(), h(I, {
99
+ default: j(() => [
100
+ y.enableTop ? (w(), m(F, {
100
101
  key: 0,
101
102
  density: "compact"
102
103
  }, {
103
- default: M(() => [y(F, null, {
104
- default: M(() => [O(e.$slots, "top")]),
104
+ default: j(() => [v(P, null, {
105
+ default: j(() => [D(e.$slots, "top")]),
105
106
  _: 3
106
107
  })]),
107
108
  _: 3
108
- })) : g("", !0),
109
- y(I, { density: "compact" }, {
110
- default: M(() => [b.store && b.userId && k(t)(b.client) ? (T(), h(F, { key: 0 }, {
111
- default: M(() => [O(e.$slots, "bookmarks", {}, () => [v("div", R, [Y.value.system && Y.value.subject && b.userId && k(t)(b.client) ? (T(), h(d, {
109
+ })) : h("", !0),
110
+ v(F, { density: "compact" }, {
111
+ default: j(() => [y.store && y.userId && O(t)(y.client) ? (w(), m(P, { key: 0 }, {
112
+ default: j(() => [D(e.$slots, "bookmarks", {}, () => [_("div", R, [Y.value.system && Y.value.subject && y.userId && O(t)(y.client) ? (w(), m(d, {
112
113
  key: 0,
113
114
  "datatable-hidden-columns": G.value,
114
115
  "onUpdate:datatableHiddenColumns": n[0] ||= (e) => G.value = e,
115
- client: b.client,
116
+ client: y.client,
116
117
  system: Y.value.system,
117
118
  subject: Y.value.subject,
118
- "user-id": b.userId,
119
- onSubmit: se
119
+ "user-id": y.userId,
120
+ onSubmit: ce
120
121
  }, null, 8, [
121
122
  "datatable-hidden-columns",
122
123
  "client",
123
124
  "system",
124
125
  "subject",
125
126
  "user-id"
126
- ])) : g("", !0)])])]),
127
+ ])) : h("", !0)])])]),
127
128
  _: 3
128
- })) : g("", !0)]),
129
+ })) : h("", !0)]),
129
130
  _: 3
130
131
  }),
131
- b.alwaysVisible ? g("", !0) : (T(), h(I, {
132
+ y.alwaysVisible ? h("", !0) : (w(), m(F, {
132
133
  key: 1,
133
134
  density: "compact"
134
135
  }, {
135
- default: M(() => [
136
- b.hideMore ? g("", !0) : (T(), h(F, {
136
+ default: j(() => [
137
+ y.hideMore ? h("", !0) : (w(), m(P, {
137
138
  key: 0,
138
139
  cols: "auto"
139
140
  }, {
140
- default: M(() => [y(p, {
141
+ default: j(() => [v(te, {
141
142
  "button-active": K.value,
142
- onAdvancedFilter: ce
143
+ onAdvancedFilter: le
143
144
  }, null, 8, ["button-active"])]),
144
145
  _: 1
145
146
  })),
146
- y(F, null, {
147
- default: M(() => [v("div", z, [v("div", B, [O(e.$slots, "search")]), y(te)])]),
147
+ v(P, null, {
148
+ default: j(() => [_("div", z, [_("div", B, [D(e.$slots, "search")]), v(ne)])]),
148
149
  _: 3
149
150
  }),
150
- b.hideButtons ? g("", !0) : (T(), h(F, {
151
+ y.hideButtons ? h("", !0) : (w(), m(P, {
151
152
  key: 1,
152
153
  class: "text-right",
153
154
  cols: "auto"
154
155
  }, {
155
- default: M(() => [O(e.$slots, "buttons", {}, () => [
156
- y(s, { touched: le.value }, null, 8, ["touched"]),
157
- y(c, { onReset: $ }),
158
- Y.value.system && Y.value.subject && b.userId && k(t)(b.client) ? (T(), h(f, {
156
+ default: j(() => [D(e.$slots, "buttons", {}, () => [
157
+ v(s, { touched: ue.value }, null, 8, ["touched"]),
158
+ v(c, { onReset: $ }),
159
+ Y.value.system && Y.value.subject && y.userId && O(t)(y.client) ? (w(), m(f, {
159
160
  key: 0,
160
- client: b.client,
161
- user: b.userId,
161
+ client: y.client,
162
+ user: y.userId,
162
163
  system: Y.value.system,
163
164
  subject: Y.value.subject,
164
165
  "datatable-hidden-columns": G.value
@@ -168,24 +169,24 @@ var R = { class: "d-flex flex-wrap align-center" }, z = { class: "a-filter__cont
168
169
  "system",
169
170
  "subject",
170
171
  "datatable-hidden-columns"
171
- ])) : g("", !0)
172
+ ])) : h("", !0)
172
173
  ])]),
173
174
  _: 3
174
175
  }))
175
176
  ]),
176
177
  _: 3
177
178
  })),
178
- b.hideMore ? g("", !0) : (T(), _("div", V, [(T(), h(ie(b.alwaysVisible ? "div" : "VSlideYTransition"), null, {
179
- default: M(() => [N(v("div", { class: w({ "mt-6 pa-4 border": !b.alwaysVisible }) }, [O(e.$slots, "detail", {}, () => [y(I, null, {
180
- default: M(() => [(T(!0), _(ne, null, re(ue.value, (t) => (T(), h(F, {
179
+ y.hideMore ? h("", !0) : (w(), g("div", V, [(w(), m(ae(y.alwaysVisible ? "div" : O(I)), null, {
180
+ default: j(() => [M(_("div", { class: C({ "mt-6 pa-4 border": !y.alwaysVisible }) }, [D(e.$slots, "detail", {}, () => [v(F, null, {
181
+ default: j(() => [(w(!0), g(re, null, ie(de.value, (t) => (w(), m(P, {
181
182
  key: t,
182
- cols: k(q).fields[t].render.xs || 12,
183
- sm: k(q).fields[t].render.sm || 6,
184
- md: k(q).fields[t].render.md || 4,
185
- lg: k(q).fields[t].render.lg || 3,
186
- xl: k(q).fields[t].render.xl || 2
183
+ cols: O(q).fields[t].render.xs || 12,
184
+ sm: O(q).fields[t].render.sm || 6,
185
+ md: O(q).fields[t].render.md || 4,
186
+ lg: O(q).fields[t].render.lg || 3,
187
+ xl: O(q).fields[t].render.xl || 2
187
188
  }, {
188
- default: M(() => [O(e.$slots, k(l)(t), { itemConfig: k(q).fields[t] }, () => [y(u, { name: t }, null, 8, ["name"])])]),
189
+ default: j(() => [D(e.$slots, O(l)(t), { itemConfig: O(q).fields[t] }, () => [v(u, { name: t }, null, 8, ["name"])])]),
189
190
  _: 2
190
191
  }, 1032, [
191
192
  "cols",
@@ -195,7 +196,7 @@ var R = { class: "d-flex flex-wrap align-center" }, z = { class: "a-filter__cont
195
196
  "xl"
196
197
  ]))), 128))]),
197
198
  _: 3
198
- })])], 2), [[j, K.value]])]),
199
+ })])], 2), [[A, K.value]])]),
199
200
  _: 3
200
201
  }))]))
201
202
  ]),