d2aura 23.0.0

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 (274) hide show
  1. package/api/abstractApi.d.ts +21 -0
  2. package/api/abstractApi.js +56 -0
  3. package/api/abstractApi.js.map +1 -0
  4. package/api/abstractEntityApi.d.ts +37 -0
  5. package/api/abstractEntityApi.js +145 -0
  6. package/api/abstractEntityApi.js.map +1 -0
  7. package/api/advancedFilterApi.d.ts +56 -0
  8. package/api/advancedFilterApi.js +108 -0
  9. package/api/advancedFilterApi.js.map +1 -0
  10. package/api/archiveApi.d.ts +14 -0
  11. package/api/archiveApi.js +25 -0
  12. package/api/archiveApi.js.map +1 -0
  13. package/api/comparison/entityComparisonUtils.d.ts +4 -0
  14. package/api/comparison/entityComparisonUtils.js +15 -0
  15. package/api/comparison/entityComparisonUtils.js.map +1 -0
  16. package/api/constants/constants.d.ts +5 -0
  17. package/api/constants/constants.js +6 -0
  18. package/api/constants/constants.js.map +1 -0
  19. package/api/constants/d2ChartConstants.d.ts +5 -0
  20. package/api/constants/d2ChartConstants.js +6 -0
  21. package/api/constants/d2ChartConstants.js.map +1 -0
  22. package/api/edaApi.d.ts +36 -0
  23. package/api/edaApi.js +109 -0
  24. package/api/edaApi.js.map +1 -0
  25. package/api/impl/errorHandling.d.ts +1 -0
  26. package/api/impl/errorHandling.js +72 -0
  27. package/api/impl/errorHandling.js.map +1 -0
  28. package/api/impl/utils/reportError.d.ts +2 -0
  29. package/api/impl/utils/reportError.js +157 -0
  30. package/api/impl/utils/reportError.js.map +1 -0
  31. package/api/impl/utils/reportServiceMessage.d.ts +1 -0
  32. package/api/impl/utils/reportServiceMessage.js +29 -0
  33. package/api/impl/utils/reportServiceMessage.js.map +1 -0
  34. package/api/types/accessRight.d.ts +5 -0
  35. package/api/types/accessRight.js +7 -0
  36. package/api/types/accessRight.js.map +1 -0
  37. package/api/types/advancedFilter.d.ts +22 -0
  38. package/api/types/advancedFilter.js +16 -0
  39. package/api/types/advancedFilter.js.map +1 -0
  40. package/api/types/apiResult.d.ts +5 -0
  41. package/api/types/apiResult.js +2 -0
  42. package/api/types/apiResult.js.map +1 -0
  43. package/api/types/auditableEntity.d.ts +10 -0
  44. package/api/types/auditableEntity.js +2 -0
  45. package/api/types/auditableEntity.js.map +1 -0
  46. package/api/types/d2ArTypes.d.ts +5 -0
  47. package/api/types/d2ArTypes.js +2 -0
  48. package/api/types/d2ArTypes.js.map +1 -0
  49. package/api/types/d2ChartTypes.d.ts +26 -0
  50. package/api/types/d2ChartTypes.js +7 -0
  51. package/api/types/d2ChartTypes.js.map +1 -0
  52. package/api/types/dbBoolean.d.ts +5 -0
  53. package/api/types/dbBoolean.js +15 -0
  54. package/api/types/dbBoolean.js.map +1 -0
  55. package/api/types/entity.d.ts +7 -0
  56. package/api/types/entity.js +2 -0
  57. package/api/types/entity.js.map +1 -0
  58. package/api/types/entityListResult.d.ts +4 -0
  59. package/api/types/entityListResult.js +2 -0
  60. package/api/types/entityListResult.js.map +1 -0
  61. package/api/types/entityResult.d.ts +4 -0
  62. package/api/types/entityResult.js +2 -0
  63. package/api/types/entityResult.js.map +1 -0
  64. package/api/types/nounGender.d.ts +5 -0
  65. package/api/types/nounGender.js +7 -0
  66. package/api/types/nounGender.js.map +1 -0
  67. package/api/util/d2Boolean.d.ts +8 -0
  68. package/api/util/d2Boolean.js +14 -0
  69. package/api/util/d2Boolean.js.map +1 -0
  70. package/api/util/d2ChartUtils.d.ts +7 -0
  71. package/api/util/d2ChartUtils.js +62 -0
  72. package/api/util/d2ChartUtils.js.map +1 -0
  73. package/api/util/edaUtils.d.ts +5 -0
  74. package/api/util/edaUtils.js +33 -0
  75. package/api/util/edaUtils.js.map +1 -0
  76. package/api/util/fileUtils.d.ts +3 -0
  77. package/api/util/fileUtils.js +22 -0
  78. package/api/util/fileUtils.js.map +1 -0
  79. package/api/validation/abstractEntityValidationUtils.d.ts +8 -0
  80. package/api/validation/abstractEntityValidationUtils.js +24 -0
  81. package/api/validation/abstractEntityValidationUtils.js.map +1 -0
  82. package/core/types/panelConfiguration.d.ts +3 -0
  83. package/core/types/panelConfiguration.js +2 -0
  84. package/core/types/panelConfiguration.js.map +1 -0
  85. package/core/util/humanizeDuration.d.ts +1 -0
  86. package/core/util/humanizeDuration.js +24 -0
  87. package/core/util/humanizeDuration.js.map +1 -0
  88. package/core/util/isStringEmpty.d.ts +1 -0
  89. package/core/util/isStringEmpty.js +4 -0
  90. package/core/util/isStringEmpty.js.map +1 -0
  91. package/core/util/locationUtils.d.ts +10 -0
  92. package/core/util/locationUtils.js +34 -0
  93. package/core/util/locationUtils.js.map +1 -0
  94. package/coreui/abstractApp.d.ts +22 -0
  95. package/coreui/abstractApp.js +49 -0
  96. package/coreui/abstractApp.js.map +1 -0
  97. package/coreui/abstractListPanel.d.ts +88 -0
  98. package/coreui/abstractListPanel.js +426 -0
  99. package/coreui/abstractListPanel.js.map +1 -0
  100. package/coreui/abstractPage.d.ts +18 -0
  101. package/coreui/abstractPage.js +104 -0
  102. package/coreui/abstractPage.js.map +1 -0
  103. package/coreui/auth/loginForm.d.ts +27 -0
  104. package/coreui/auth/loginForm.js +47 -0
  105. package/coreui/auth/loginForm.js.map +1 -0
  106. package/coreui/auth/logoutButton.d.ts +9 -0
  107. package/coreui/auth/logoutButton.js +23 -0
  108. package/coreui/auth/logoutButton.js.map +1 -0
  109. package/coreui/components/about/aboutModalDialog.d.ts +30 -0
  110. package/coreui/components/about/aboutModalDialog.js +96 -0
  111. package/coreui/components/about/aboutModalDialog.js.map +1 -0
  112. package/coreui/components/advancedFilter/advancedFilterButton.d.ts +26 -0
  113. package/coreui/components/advancedFilter/advancedFilterButton.js +115 -0
  114. package/coreui/components/advancedFilter/advancedFilterButton.js.map +1 -0
  115. package/coreui/components/advancedFilter/advancedFilterColumnDefinitions.d.ts +18 -0
  116. package/coreui/components/advancedFilter/advancedFilterColumnDefinitions.js +39 -0
  117. package/coreui/components/advancedFilter/advancedFilterColumnDefinitions.js.map +1 -0
  118. package/coreui/components/advancedFilter/advancedFilterUtils.d.ts +12 -0
  119. package/coreui/components/advancedFilter/advancedFilterUtils.js +101 -0
  120. package/coreui/components/advancedFilter/advancedFilterUtils.js.map +1 -0
  121. package/coreui/components/advancedFilter/advancedFilterValidationUtils.d.ts +11 -0
  122. package/coreui/components/advancedFilter/advancedFilterValidationUtils.js +59 -0
  123. package/coreui/components/advancedFilter/advancedFilterValidationUtils.js.map +1 -0
  124. package/coreui/components/advancedFilter/advancedFilteredGrid.d.ts +55 -0
  125. package/coreui/components/advancedFilter/advancedFilteredGrid.js +165 -0
  126. package/coreui/components/advancedFilter/advancedFilteredGrid.js.map +1 -0
  127. package/coreui/components/advancedFilter/components/advancedFilterOperatorSelect.d.ts +14 -0
  128. package/coreui/components/advancedFilter/components/advancedFilterOperatorSelect.js +35 -0
  129. package/coreui/components/advancedFilter/components/advancedFilterOperatorSelect.js.map +1 -0
  130. package/coreui/components/advancedFilter/components/advancedFilterValueInput.d.ts +23 -0
  131. package/coreui/components/advancedFilter/components/advancedFilterValueInput.js +148 -0
  132. package/coreui/components/advancedFilter/components/advancedFilterValueInput.js.map +1 -0
  133. package/coreui/components/advancedFilter/conditionList/advancedFilterConditionDetailPanel.d.ts +18 -0
  134. package/coreui/components/advancedFilter/conditionList/advancedFilterConditionDetailPanel.js +82 -0
  135. package/coreui/components/advancedFilter/conditionList/advancedFilterConditionDetailPanel.js.map +1 -0
  136. package/coreui/components/advancedFilter/conditionList/advancedFilterConditionListModalDialog.d.ts +23 -0
  137. package/coreui/components/advancedFilter/conditionList/advancedFilterConditionListModalDialog.js +58 -0
  138. package/coreui/components/advancedFilter/conditionList/advancedFilterConditionListModalDialog.js.map +1 -0
  139. package/coreui/components/advancedFilter/conditionList/advancedFilterConditionListPanel.d.ts +31 -0
  140. package/coreui/components/advancedFilter/conditionList/advancedFilterConditionListPanel.js +211 -0
  141. package/coreui/components/advancedFilter/conditionList/advancedFilterConditionListPanel.js.map +1 -0
  142. package/coreui/components/advancedFilter/filterList/advancedFilterListModalDialog.d.ts +15 -0
  143. package/coreui/components/advancedFilter/filterList/advancedFilterListModalDialog.js +48 -0
  144. package/coreui/components/advancedFilter/filterList/advancedFilterListModalDialog.js.map +1 -0
  145. package/coreui/components/advancedFilter/filterSave/filterSaveModalDialog.d.ts +18 -0
  146. package/coreui/components/advancedFilter/filterSave/filterSaveModalDialog.js +37 -0
  147. package/coreui/components/advancedFilter/filterSave/filterSaveModalDialog.js.map +1 -0
  148. package/coreui/components/advancedFilter/floatingColumnFilter/advancedFilterFloatingColumnComponent.d.ts +26 -0
  149. package/coreui/components/advancedFilter/floatingColumnFilter/advancedFilterFloatingColumnComponent.js +81 -0
  150. package/coreui/components/advancedFilter/floatingColumnFilter/advancedFilterFloatingColumnComponent.js.map +1 -0
  151. package/coreui/components/assignEntitiesToEntity/abstractEntitiesOnEntityList.d.ts +32 -0
  152. package/coreui/components/assignEntitiesToEntity/abstractEntitiesOnEntityList.js +102 -0
  153. package/coreui/components/assignEntitiesToEntity/abstractEntitiesOnEntityList.js.map +1 -0
  154. package/coreui/components/changePasswordModalDialog/changePasswordModalDialog.d.ts +23 -0
  155. package/coreui/components/changePasswordModalDialog/changePasswordModalDialog.js +83 -0
  156. package/coreui/components/changePasswordModalDialog/changePasswordModalDialog.js.map +1 -0
  157. package/coreui/components/colorTag/colorTag.d.ts +9 -0
  158. package/coreui/components/colorTag/colorTag.js +17 -0
  159. package/coreui/components/colorTag/colorTag.js.map +1 -0
  160. package/coreui/components/d2Chart/d2ChartOptions.d.ts +3 -0
  161. package/coreui/components/d2Chart/d2ChartOptions.js +73 -0
  162. package/coreui/components/d2Chart/d2ChartOptions.js.map +1 -0
  163. package/coreui/components/d2Chart/d2ChartPanel.d.ts +48 -0
  164. package/coreui/components/d2Chart/d2ChartPanel.js +325 -0
  165. package/coreui/components/d2Chart/d2ChartPanel.js.map +1 -0
  166. package/coreui/components/d2Chart/d2ChartTablePanel.d.ts +31 -0
  167. package/coreui/components/d2Chart/d2ChartTablePanel.js +121 -0
  168. package/coreui/components/d2Chart/d2ChartTablePanel.js.map +1 -0
  169. package/coreui/components/d2Chart/d2ChartToolboxPanel.d.ts +27 -0
  170. package/coreui/components/d2Chart/d2ChartToolboxPanel.js +116 -0
  171. package/coreui/components/d2Chart/d2ChartToolboxPanel.js.map +1 -0
  172. package/coreui/components/edaManager/abstract/edaManagerAbstractPanel.d.ts +51 -0
  173. package/coreui/components/edaManager/abstract/edaManagerAbstractPanel.js +169 -0
  174. package/coreui/components/edaManager/abstract/edaManagerAbstractPanel.js.map +1 -0
  175. package/coreui/components/edaManager/abstract/edaManagerAbstractTablePanel.d.ts +32 -0
  176. package/coreui/components/edaManager/abstract/edaManagerAbstractTablePanel.js +87 -0
  177. package/coreui/components/edaManager/abstract/edaManagerAbstractTablePanel.js.map +1 -0
  178. package/coreui/components/edaManager/abstract/edaManagerAbstractVectorList.d.ts +24 -0
  179. package/coreui/components/edaManager/abstract/edaManagerAbstractVectorList.js +98 -0
  180. package/coreui/components/edaManager/abstract/edaManagerAbstractVectorList.js.map +1 -0
  181. package/coreui/components/edaManager/compactPanel/edaManagerCompactPanel.d.ts +19 -0
  182. package/coreui/components/edaManager/compactPanel/edaManagerCompactPanel.js +52 -0
  183. package/coreui/components/edaManager/compactPanel/edaManagerCompactPanel.js.map +1 -0
  184. package/coreui/components/edaManager/compactPanel/initialLayout.d.ts +2 -0
  185. package/coreui/components/edaManager/compactPanel/initialLayout.js +26 -0
  186. package/coreui/components/edaManager/compactPanel/initialLayout.js.map +1 -0
  187. package/coreui/components/edaManager/components/detail/components/edaVectorMassChangeButton.d.ts +38 -0
  188. package/coreui/components/edaManager/components/detail/components/edaVectorMassChangeButton.js +182 -0
  189. package/coreui/components/edaManager/components/detail/components/edaVectorMassChangeButton.js.map +1 -0
  190. package/coreui/components/edaManager/components/detail/edaVectorDetailModalDialog.d.ts +23 -0
  191. package/coreui/components/edaManager/components/detail/edaVectorDetailModalDialog.js +122 -0
  192. package/coreui/components/edaManager/components/detail/edaVectorDetailModalDialog.js.map +1 -0
  193. package/coreui/components/edaManager/components/detail/edaVectorDetailTablePanel.d.ts +16 -0
  194. package/coreui/components/edaManager/components/detail/edaVectorDetailTablePanel.js +63 -0
  195. package/coreui/components/edaManager/components/detail/edaVectorDetailTablePanel.js.map +1 -0
  196. package/coreui/components/edaManager/components/detail/initialLayout.d.ts +2 -0
  197. package/coreui/components/edaManager/components/detail/initialLayout.js +29 -0
  198. package/coreui/components/edaManager/components/detail/initialLayout.js.map +1 -0
  199. package/coreui/components/edaManager/components/edaManagerTablePanel.d.ts +22 -0
  200. package/coreui/components/edaManager/components/edaManagerTablePanel.js +80 -0
  201. package/coreui/components/edaManager/components/edaManagerTablePanel.js.map +1 -0
  202. package/coreui/components/edaManager/components/edaManagerTimePanel.d.ts +22 -0
  203. package/coreui/components/edaManager/components/edaManagerTimePanel.js +38 -0
  204. package/coreui/components/edaManager/components/edaManagerTimePanel.js.map +1 -0
  205. package/coreui/components/edaManager/components/edaManagerVectorList.d.ts +11 -0
  206. package/coreui/components/edaManager/components/edaManagerVectorList.js +35 -0
  207. package/coreui/components/edaManager/components/edaManagerVectorList.js.map +1 -0
  208. package/coreui/components/edaManager/components/edaStepSelect/edaStepConstants.d.ts +0 -0
  209. package/coreui/components/edaManager/components/edaStepSelect/edaStepConstants.js +2 -0
  210. package/coreui/components/edaManager/components/edaStepSelect/edaStepConstants.js.map +1 -0
  211. package/coreui/components/edaManager/components/edaStepSelect/edaStepSelect.d.ts +13 -0
  212. package/coreui/components/edaManager/components/edaStepSelect/edaStepSelect.js +14 -0
  213. package/coreui/components/edaManager/components/edaStepSelect/edaStepSelect.js.map +1 -0
  214. package/coreui/components/edaManager/components/edaVectorSelect/edaVectorSelect.d.ts +10 -0
  215. package/coreui/components/edaManager/components/edaVectorSelect/edaVectorSelect.js +20 -0
  216. package/coreui/components/edaManager/components/edaVectorSelect/edaVectorSelect.js.map +1 -0
  217. package/coreui/components/edaManager/components/edaVectorSelect/edaVectorSelectModalDialog.d.ts +13 -0
  218. package/coreui/components/edaManager/components/edaVectorSelect/edaVectorSelectModalDialog.js +22 -0
  219. package/coreui/components/edaManager/components/edaVectorSelect/edaVectorSelectModalDialog.js.map +1 -0
  220. package/coreui/components/edaManager/constants.d.ts +2 -0
  221. package/coreui/components/edaManager/constants.js +11 -0
  222. package/coreui/components/edaManager/constants.js.map +1 -0
  223. package/coreui/components/edaManager/panel/edaManagerPanel.d.ts +13 -0
  224. package/coreui/components/edaManager/panel/edaManagerPanel.js +32 -0
  225. package/coreui/components/edaManager/panel/edaManagerPanel.js.map +1 -0
  226. package/coreui/components/edaManager/panel/initialLayout.d.ts +2 -0
  227. package/coreui/components/edaManager/panel/initialLayout.js +39 -0
  228. package/coreui/components/edaManager/panel/initialLayout.js.map +1 -0
  229. package/coreui/components/editor/abstractEntityConfigPanel.d.ts +82 -0
  230. package/coreui/components/editor/abstractEntityConfigPanel.js +307 -0
  231. package/coreui/components/editor/abstractEntityConfigPanel.js.map +1 -0
  232. package/coreui/components/filePicker/filePicker.d.ts +20 -0
  233. package/coreui/components/filePicker/filePicker.js +57 -0
  234. package/coreui/components/filePicker/filePicker.js.map +1 -0
  235. package/coreui/components/grid/auditEntityRowStyleRules.d.ts +3 -0
  236. package/coreui/components/grid/auditEntityRowStyleRules.js +34 -0
  237. package/coreui/components/grid/auditEntityRowStyleRules.js.map +1 -0
  238. package/coreui/components/grid/detailHeaderPanel.d.ts +13 -0
  239. package/coreui/components/grid/detailHeaderPanel.js +29 -0
  240. package/coreui/components/grid/detailHeaderPanel.js.map +1 -0
  241. package/coreui/components/grid/standardColumns.d.ts +14 -0
  242. package/coreui/components/grid/standardColumns.js +150 -0
  243. package/coreui/components/grid/standardColumns.js.map +1 -0
  244. package/coreui/components/history/entityHistoryListPanel.d.ts +38 -0
  245. package/coreui/components/history/entityHistoryListPanel.js +154 -0
  246. package/coreui/components/history/entityHistoryListPanel.js.map +1 -0
  247. package/coreui/components/languageSelect/languageSelect.d.ts +17 -0
  248. package/coreui/components/languageSelect/languageSelect.js +28 -0
  249. package/coreui/components/languageSelect/languageSelect.js.map +1 -0
  250. package/coreui/components/modalWithIcon/openModalWithIcon.d.ts +8 -0
  251. package/coreui/components/modalWithIcon/openModalWithIcon.js +30 -0
  252. package/coreui/components/modalWithIcon/openModalWithIcon.js.map +1 -0
  253. package/coreui/components/select/abstractSelect.d.ts +57 -0
  254. package/coreui/components/select/abstractSelect.js +233 -0
  255. package/coreui/components/select/abstractSelect.js.map +1 -0
  256. package/coreui/components/select/abstractSelectModalDialog.d.ts +33 -0
  257. package/coreui/components/select/abstractSelectModalDialog.js +110 -0
  258. package/coreui/components/select/abstractSelectModalDialog.js.map +1 -0
  259. package/coreui/components/select/selectUtils.d.ts +4 -0
  260. package/coreui/components/select/selectUtils.js +14 -0
  261. package/coreui/components/select/selectUtils.js.map +1 -0
  262. package/coreui/components/titleWithCodePanel/titleWithCodePanel.d.ts +10 -0
  263. package/coreui/components/titleWithCodePanel/titleWithCodePanel.js +20 -0
  264. package/coreui/components/titleWithCodePanel/titleWithCodePanel.js.map +1 -0
  265. package/coreui/icons/icons.d.ts +3 -0
  266. package/coreui/icons/icons.js +18 -0
  267. package/coreui/icons/icons.js.map +1 -0
  268. package/coreui/layout/contextToolbar.d.ts +15 -0
  269. package/coreui/layout/contextToolbar.js +41 -0
  270. package/coreui/layout/contextToolbar.js.map +1 -0
  271. package/coreui/style/index.less +165 -0
  272. package/coreui/style/login.css +214 -0
  273. package/package.json +65 -0
  274. package/tsconfig.json +38 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advancedFilterColumnDefinitions.js","sourceRoot":"","sources":["../../../../../coreui/components/advancedFilter/advancedFilterColumnDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,uBAAuB,EAAC,MAAM,mCAAmC,CAAC;AAC1G,OAAO,EAAC,SAAS,EAAE,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;AAE3E,MAAM,CAAN,IAAY,YAcX;AAdD,WAAY,YAAY;IAEpB,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,qCAAqB,CAAA;IACrB,6BAAa,CAAA;IAEb,uCAAuB,CAAA;IAEvB,uCAAuB,CAAA;IACvB,sCAAsB,CAAA;IACtB,uCAAuB,CAAA;IACvB,uCAAuB,CAAA;IACvB,uCAAuB,CAAA;AAC3B,CAAC,EAdW,YAAY,KAAZ,YAAY,QAcvB;AAGD,MAAM,UAAU,2BAA2B,CAAC,UAAkB;IAC1D,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,uBAAuB,CAAC,IAAI,EAAC,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,UAAkB;IAC9D,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,uBAAuB,CAAC,SAAS,EAAC,CAAA;AACjF,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,UAAkB;IAC5D,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,uBAAuB,CAAC,MAAM,EAAC,CAAA;AAC9E,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,UAAkB;IAC5D,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,uBAAuB,CAAC,MAAM,EAAC,CAAA;AAC9E,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,UAAkB;IAC/D,OAAO;QACH,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,uBAAuB,CAAC,WAAW;QAC9C,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;aAC/B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;aAC1C,GAAG,CAAC,KAAK,CAAC,EAAE;YACT,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAkB,CAAC,EAAC,CAAA;QACxE,CAAC,CAAC;KACT,CAAA;AACL,CAAC","sourcesContent":["import {AdvancedFilterColumnDefinition, AdvancedFilterValueType} from \"../../../api/types/advancedFilter\";\r\nimport {DbBoolean, getDbBooleanString} from \"../../../api/types/dbBoolean\";\r\n\r\nexport enum EntityColumn {\r\n // general\r\n CODE = \"code\",\r\n NAME = \"name\",\r\n BG_COLOR = \"bg_color\",\r\n NOTE = \"note\",\r\n // eda\r\n ID_VEKTOR = \"id_vektor\",\r\n // audit columns\r\n CREATE_DATE = \"date_in\",\r\n CREATED_BY = \"user_in\",\r\n MODIFY_DATE = \"date_ch\",\r\n MODIFIED_BY = \"user_ch\",\r\n VALIDITY = \"ano_platny\",\r\n}\r\n\r\n// general\r\nexport function getDateAdvancedFilterColumn(columnName: string): AdvancedFilterColumnDefinition {\r\n return {columnName: columnName, valueType: AdvancedFilterValueType.DATE}\r\n}\r\n\r\nexport function getDateTimeAdvancedFilterColumn(columnName: string): AdvancedFilterColumnDefinition {\r\n return {columnName: columnName, valueType: AdvancedFilterValueType.DATE_TIME}\r\n}\r\n\r\nexport function getStringAdvancedFilterColumn(columnName: string): AdvancedFilterColumnDefinition {\r\n return {columnName: columnName, valueType: AdvancedFilterValueType.STRING}\r\n}\r\n\r\nexport function getNumberAdvancedFilterColumn(columnName: string): AdvancedFilterColumnDefinition {\r\n return {columnName: columnName, valueType: AdvancedFilterValueType.NUMBER}\r\n}\r\n\r\nexport function getDbBooleanAdvancedFilterColumn(columnName: string): AdvancedFilterColumnDefinition {\r\n return {\r\n columnName: columnName,\r\n valueType: AdvancedFilterValueType.NUMBER_LIST,\r\n optionList: Object.values(DbBoolean)\r\n .filter(value => typeof value === \"number\")\r\n .map(value => {\r\n return {value: value, title: getDbBooleanString(value as DbBoolean)}\r\n }),\r\n }\r\n}"]}
@@ -0,0 +1,12 @@
1
+ import { AdvancedFilterCondition, AdvancedFilterOperator } from "../../../api/advancedFilterApi";
2
+ import { AdvancedFilterColumnDefinition, AdvancedFilterValueType } from "../../../api/types/advancedFilter";
3
+ export declare enum AdvancedFilterListNameEnum {
4
+ EDA_VECTOR_SELECT_LIST = "eda_vector_select_list"
5
+ }
6
+ export default class AdvancedFilterUtils {
7
+ static humanizeCondition(columnDefinition: AdvancedFilterColumnDefinition, withOperator: boolean, filterCondition?: AdvancedFilterCondition): string;
8
+ static serializeConditionValues(filterConditions: AdvancedFilterCondition[]): AdvancedFilterCondition[];
9
+ static parseConditionValues(filterConditions: AdvancedFilterCondition[]): AdvancedFilterCondition[];
10
+ static createNewCondition(id: number, columnDefinition: AdvancedFilterColumnDefinition, additionalConfig?: Partial<AdvancedFilterCondition>): AdvancedFilterCondition;
11
+ static getOperatorsForValueType(valueType: AdvancedFilterValueType): AdvancedFilterOperator[];
12
+ }
@@ -0,0 +1,101 @@
1
+ import { AdvancedFilterOperator, getAdvancedFilterOperatorString } from "../../../api/advancedFilterApi";
2
+ import cloneDeep from "lodash/cloneDeep";
3
+ import { AdvancedFilterValueType } from "../../../api/types/advancedFilter";
4
+ import dayjs from "d2core/dayjs";
5
+ import { ADVANCED_FILTER_DATE_FORMAT } from "./components/advancedFilterValueInput";
6
+ import { LocaleHolder } from "d2core/i18n/localeHolder";
7
+ export var AdvancedFilterListNameEnum;
8
+ (function (AdvancedFilterListNameEnum) {
9
+ AdvancedFilterListNameEnum["EDA_VECTOR_SELECT_LIST"] = "eda_vector_select_list";
10
+ })(AdvancedFilterListNameEnum || (AdvancedFilterListNameEnum = {}));
11
+ export default class AdvancedFilterUtils {
12
+ static humanizeCondition(columnDefinition, withOperator, filterCondition) {
13
+ let result = "";
14
+ if (filterCondition?.value !== undefined) {
15
+ const { operator, value, value_type } = filterCondition;
16
+ if (value_type === AdvancedFilterValueType.DATE_TIME) {
17
+ result = dayjs(value, ADVANCED_FILTER_DATE_FORMAT).format(LocaleHolder.getDateTimeFormat(true, true, false));
18
+ }
19
+ else if (value_type === AdvancedFilterValueType.DATE) {
20
+ result = dayjs(value, ADVANCED_FILTER_DATE_FORMAT).format(LocaleHolder.getDateFormat(true));
21
+ }
22
+ else if (value_type === AdvancedFilterValueType.NUMBER_LIST) {
23
+ if (operator === AdvancedFilterOperator.IN) {
24
+ result = `(${columnDefinition.optionList
25
+ ?.filter(v => typeof v.value === "number" && value.includes(v.value))
26
+ .map(v => v.title)
27
+ .join(", ")})`;
28
+ }
29
+ else {
30
+ result = columnDefinition.optionList?.find(v => v.value == value)?.title ?? "";
31
+ }
32
+ }
33
+ else if (Array.isArray(value)) {
34
+ result = `(${value.join(", ")})`;
35
+ }
36
+ else {
37
+ result = value.toString();
38
+ }
39
+ if (withOperator) {
40
+ const operatorString = getAdvancedFilterOperatorString(operator);
41
+ result = `${operatorString} ${result}`;
42
+ }
43
+ }
44
+ return result;
45
+ }
46
+ static serializeConditionValues(filterConditions) {
47
+ const serializedFilterConditions = cloneDeep(filterConditions);
48
+ serializedFilterConditions.forEach(filterCondition => {
49
+ if (Array.isArray(filterCondition.value)) {
50
+ filterCondition.value = filterCondition.value.join("@#@");
51
+ }
52
+ });
53
+ return serializedFilterConditions;
54
+ }
55
+ static parseConditionValues(filterConditions) {
56
+ const parsedFilterConditions = cloneDeep(filterConditions);
57
+ parsedFilterConditions.forEach(value => {
58
+ if (typeof value.value === "string" && value.value.includes("@#@")) {
59
+ value.value = value.value.split("@#@");
60
+ }
61
+ });
62
+ return parsedFilterConditions;
63
+ }
64
+ static createNewCondition(id, columnDefinition, additionalConfig) {
65
+ const allowedOperators = this.getOperatorsForValueType(columnDefinition.valueType);
66
+ return cloneDeep(Object.assign({
67
+ id: id,
68
+ id_condition: -1,
69
+ id_filter: -1,
70
+ not_flag: 0,
71
+ left_par: 0,
72
+ column_name: columnDefinition.columnName,
73
+ operator: allowedOperators[0],
74
+ value: undefined,
75
+ value_type: columnDefinition.valueType,
76
+ right_par: 0,
77
+ logical_operator: null,
78
+ }, additionalConfig));
79
+ }
80
+ static getOperatorsForValueType(valueType) {
81
+ switch (valueType) {
82
+ case AdvancedFilterValueType.STRING:
83
+ return [AdvancedFilterOperator.LIKE, AdvancedFilterOperator.EQUALS, AdvancedFilterOperator.LESS_THAN,
84
+ AdvancedFilterOperator.GREATER_THAN, AdvancedFilterOperator.NOT_EQUALS, AdvancedFilterOperator.LESS_THAN_EQUALS,
85
+ AdvancedFilterOperator.GREATER_THAN_EQUALS, AdvancedFilterOperator.IN, AdvancedFilterOperator.IS_NULL];
86
+ case AdvancedFilterValueType.NUMBER:
87
+ return [AdvancedFilterOperator.EQUALS, AdvancedFilterOperator.LESS_THAN, AdvancedFilterOperator.GREATER_THAN,
88
+ AdvancedFilterOperator.NOT_EQUALS, AdvancedFilterOperator.LESS_THAN_EQUALS, AdvancedFilterOperator.GREATER_THAN_EQUALS,
89
+ AdvancedFilterOperator.IN, AdvancedFilterOperator.IS_NULL];
90
+ case AdvancedFilterValueType.STRING_LIST:
91
+ case AdvancedFilterValueType.NUMBER_LIST:
92
+ return [AdvancedFilterOperator.EQUALS, AdvancedFilterOperator.IN, AdvancedFilterOperator.IS_NULL];
93
+ case AdvancedFilterValueType.DATE_TIME:
94
+ case AdvancedFilterValueType.DATE:
95
+ return [AdvancedFilterOperator.EQUALS, AdvancedFilterOperator.LESS_THAN, AdvancedFilterOperator.GREATER_THAN,
96
+ AdvancedFilterOperator.NOT_EQUALS, AdvancedFilterOperator.LESS_THAN_EQUALS, AdvancedFilterOperator.GREATER_THAN_EQUALS,
97
+ AdvancedFilterOperator.IS_NULL];
98
+ }
99
+ }
100
+ }
101
+ //# sourceMappingURL=advancedFilterUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advancedFilterUtils.js","sourceRoot":"","sources":["../../../../../coreui/components/advancedFilter/advancedFilterUtils.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n AdvancedFilterCondition,\r\n AdvancedFilterOperator,\r\n getAdvancedFilterOperatorString\r\n} from \"../../../api/advancedFilterApi\";\r\nimport cloneDeep from \"lodash/cloneDeep\";\r\nimport {AdvancedFilterColumnDefinition, AdvancedFilterValueType} from \"../../../api/types/advancedFilter\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport {ADVANCED_FILTER_DATE_FORMAT} from \"./components/advancedFilterValueInput\";\r\nimport {LocaleHolder} from \"d2core/i18n/localeHolder\";\r\n\r\nexport enum AdvancedFilterListNameEnum {\r\n EDA_VECTOR_SELECT_LIST = \"eda_vector_select_list\",\r\n}\r\n\r\nexport default class AdvancedFilterUtils {\r\n\r\n static humanizeCondition(columnDefinition: AdvancedFilterColumnDefinition, withOperator: boolean, filterCondition?: AdvancedFilterCondition) {\r\n let result = \"\";\r\n\r\n if (filterCondition?.value !== undefined) {\r\n const {operator, value, value_type} = filterCondition;\r\n\r\n if (value_type === AdvancedFilterValueType.DATE_TIME) {\r\n result = dayjs(value as string, ADVANCED_FILTER_DATE_FORMAT).format(LocaleHolder.getDateTimeFormat(true, true, false));\r\n } else if (value_type === AdvancedFilterValueType.DATE) {\r\n result = dayjs(value as string, ADVANCED_FILTER_DATE_FORMAT).format(LocaleHolder.getDateFormat(true));\r\n } else if (value_type === AdvancedFilterValueType.NUMBER_LIST) {\r\n if (operator === AdvancedFilterOperator.IN) {\r\n result = `(${\r\n columnDefinition.optionList\r\n ?.filter(v => typeof v.value === \"number\" && (value as number[]).includes(v.value))\r\n .map(v => v.title)\r\n .join(\", \")\r\n })`;\r\n } else {\r\n result = columnDefinition.optionList?.find(v => v.value == value)?.title ?? \"\";\r\n }\r\n } else if (Array.isArray(value)) {\r\n result = `(${value.join(\", \")})`;\r\n } else {\r\n result = value.toString();\r\n }\r\n\r\n if (withOperator) {\r\n const operatorString = getAdvancedFilterOperatorString(operator);\r\n result = `${operatorString} ${result}`;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n static serializeConditionValues(filterConditions: AdvancedFilterCondition[]): AdvancedFilterCondition[] {\r\n const serializedFilterConditions = cloneDeep(filterConditions);\r\n serializedFilterConditions.forEach(filterCondition => {\r\n if (Array.isArray(filterCondition.value)) {\r\n filterCondition.value = filterCondition.value.join(\"@#@\");\r\n }\r\n });\r\n\r\n return serializedFilterConditions;\r\n }\r\n\r\n static parseConditionValues(filterConditions: AdvancedFilterCondition[]): AdvancedFilterCondition[] {\r\n const parsedFilterConditions = cloneDeep(filterConditions);\r\n parsedFilterConditions.forEach(value => {\r\n if (typeof value.value === \"string\" && value.value.includes(\"@#@\")) {\r\n value.value = value.value.split(\"@#@\");\r\n }\r\n });\r\n\r\n return parsedFilterConditions;\r\n }\r\n\r\n static createNewCondition(id: number, columnDefinition: AdvancedFilterColumnDefinition, additionalConfig?: Partial<AdvancedFilterCondition>): AdvancedFilterCondition {\r\n const allowedOperators = this.getOperatorsForValueType(columnDefinition.valueType);\r\n\r\n return cloneDeep(Object.assign({\r\n id: id,\r\n id_condition: -1,\r\n id_filter: -1,\r\n not_flag: 0,\r\n left_par: 0,\r\n column_name: columnDefinition.columnName,\r\n operator: allowedOperators[0],\r\n value: undefined,\r\n value_type: columnDefinition.valueType,\r\n right_par: 0,\r\n logical_operator: null,\r\n }, additionalConfig));\r\n }\r\n\r\n static getOperatorsForValueType(valueType: AdvancedFilterValueType): AdvancedFilterOperator[] {\r\n switch (valueType) {\r\n case AdvancedFilterValueType.STRING:\r\n return [AdvancedFilterOperator.LIKE, AdvancedFilterOperator.EQUALS, AdvancedFilterOperator.LESS_THAN,\r\n AdvancedFilterOperator.GREATER_THAN, AdvancedFilterOperator.NOT_EQUALS, AdvancedFilterOperator.LESS_THAN_EQUALS,\r\n AdvancedFilterOperator.GREATER_THAN_EQUALS, AdvancedFilterOperator.IN, AdvancedFilterOperator.IS_NULL];\r\n case AdvancedFilterValueType.NUMBER:\r\n return [AdvancedFilterOperator.EQUALS, AdvancedFilterOperator.LESS_THAN, AdvancedFilterOperator.GREATER_THAN,\r\n AdvancedFilterOperator.NOT_EQUALS, AdvancedFilterOperator.LESS_THAN_EQUALS, AdvancedFilterOperator.GREATER_THAN_EQUALS,\r\n AdvancedFilterOperator.IN, AdvancedFilterOperator.IS_NULL];\r\n case AdvancedFilterValueType.STRING_LIST:\r\n case AdvancedFilterValueType.NUMBER_LIST:\r\n return [AdvancedFilterOperator.EQUALS, AdvancedFilterOperator.IN, AdvancedFilterOperator.IS_NULL];\r\n case AdvancedFilterValueType.DATE_TIME:\r\n case AdvancedFilterValueType.DATE:\r\n return [AdvancedFilterOperator.EQUALS, AdvancedFilterOperator.LESS_THAN, AdvancedFilterOperator.GREATER_THAN,\r\n AdvancedFilterOperator.NOT_EQUALS, AdvancedFilterOperator.LESS_THAN_EQUALS, AdvancedFilterOperator.GREATER_THAN_EQUALS,\r\n AdvancedFilterOperator.IS_NULL];\r\n }\r\n }\r\n}"]}
@@ -0,0 +1,11 @@
1
+ import { AdvancedFilterCondition, AdvancedFilterValue } from "../../../api/advancedFilterApi";
2
+ import { ValidateStatus } from "antd/lib/form/FormItem";
3
+ import { AdvancedFilterConditionError } from "../../../api/types/advancedFilter";
4
+ export default class AdvancedFilterValidationUtils {
5
+ static isConditionValueInvalid(value: AdvancedFilterValue): boolean;
6
+ static validade(filterConditions: AdvancedFilterCondition[]): {
7
+ isConditionError: boolean;
8
+ isParenthesisError: boolean;
9
+ };
10
+ }
11
+ export declare function getErrorInfo(possibleErrors: AdvancedFilterConditionError[], allErrors: AdvancedFilterConditionError[]): [ValidateStatus, string | undefined];
@@ -0,0 +1,59 @@
1
+ import i18n from "d2core/i18n/i18n";
2
+ import { AdvancedFilterConditionError } from "../../../api/types/advancedFilter";
3
+ function getAdvancedFilterConditionErrorString(error) {
4
+ switch (error) {
5
+ case AdvancedFilterConditionError.VALUE_REQUIRED:
6
+ return i18n("Missing Value");
7
+ case AdvancedFilterConditionError.LOGICAL_OPERATOR_REQUIRED:
8
+ return i18n("Missing Logical Operator");
9
+ case AdvancedFilterConditionError.LOGICAL_OPERATOR_UNNECESSARY:
10
+ return i18n("Unnecessary Logical Operator");
11
+ }
12
+ }
13
+ export default class AdvancedFilterValidationUtils {
14
+ static isConditionValueInvalid(value) {
15
+ return value === undefined || value === "" || (Array.isArray(value) && value.length === 0);
16
+ }
17
+ static validade(filterConditions) {
18
+ const parenthesisStack = [];
19
+ let isConditionError = false;
20
+ let isParenthesisError = false;
21
+ filterConditions.forEach((filterCondition, index) => {
22
+ filterCondition._errors = [];
23
+ if (this.isConditionValueInvalid(filterCondition.value)) {
24
+ isConditionError = true;
25
+ filterCondition._errors.push(AdvancedFilterConditionError.VALUE_REQUIRED);
26
+ }
27
+ if (filterConditions[index + 1] !== undefined && filterCondition.logical_operator === null) {
28
+ isConditionError = true;
29
+ filterCondition._errors.push(AdvancedFilterConditionError.LOGICAL_OPERATOR_REQUIRED);
30
+ }
31
+ if (filterConditions[index + 1] === undefined && filterCondition.logical_operator !== null) {
32
+ isConditionError = true;
33
+ filterCondition._errors.push(AdvancedFilterConditionError.LOGICAL_OPERATOR_UNNECESSARY);
34
+ }
35
+ if (filterCondition.left_par === 1 && filterCondition.right_par === 0) {
36
+ parenthesisStack.push("(");
37
+ }
38
+ else if (filterCondition.left_par === 0 && filterCondition.right_par === 1) {
39
+ const pop = parenthesisStack.pop();
40
+ if (pop !== "(") {
41
+ isParenthesisError = true;
42
+ }
43
+ }
44
+ });
45
+ isParenthesisError = isParenthesisError || parenthesisStack.length !== 0;
46
+ return {
47
+ isConditionError: isConditionError,
48
+ isParenthesisError: isParenthesisError,
49
+ };
50
+ }
51
+ }
52
+ export function getErrorInfo(possibleErrors, allErrors) {
53
+ const foundError = possibleErrors.find(error => allErrors.includes(error));
54
+ if (foundError) {
55
+ return ["error", getAdvancedFilterConditionErrorString(foundError)];
56
+ }
57
+ return ["success", undefined];
58
+ }
59
+ //# sourceMappingURL=advancedFilterValidationUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advancedFilterValidationUtils.js","sourceRoot":"","sources":["../../../../../coreui/components/advancedFilter/advancedFilterValidationUtils.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AAEpC,OAAO,EAAC,4BAA4B,EAAC,MAAM,mCAAmC,CAAC;AAE/E,SAAS,qCAAqC,CAAC,KAAmC;IAC9E,QAAQ,KAAK,EAAE,CAAC;QACZ,KAAK,4BAA4B,CAAC,cAAc;YAC5C,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC;QACjC,KAAK,4BAA4B,CAAC,yBAAyB;YACvD,OAAO,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC5C,KAAK,4BAA4B,CAAC,4BAA4B;YAC1D,OAAO,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACpD,CAAC;AACL,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,6BAA6B;IAE9C,MAAM,CAAC,uBAAuB,CAAC,KAA0B;QACrD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,gBAA2C;QACvD,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAE/B,gBAAgB,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE;YAChD,eAAe,CAAC,OAAO,GAAG,EAAE,CAAC;YAE7B,IAAI,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtD,gBAAgB,GAAG,IAAI,CAAC;gBACxB,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,cAAc,CAAC,CAAC;YAC9E,CAAC;YACD,IAAI,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,SAAS,IAAI,eAAe,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBACzF,gBAAgB,GAAG,IAAI,CAAC;gBACxB,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,yBAAyB,CAAC,CAAC;YACzF,CAAC;YACD,IAAI,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,SAAS,IAAI,eAAe,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBACzF,gBAAgB,GAAG,IAAI,CAAC;gBACxB,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,4BAA4B,CAAC,CAAC;YAC5F,CAAC;YAGD,IAAI,eAAe,CAAC,QAAQ,KAAK,CAAC,IAAI,eAAe,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;gBACpE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,eAAe,CAAC,QAAQ,KAAK,CAAC,IAAI,eAAe,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;gBAC3E,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC;gBACnC,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBACd,kBAAkB,GAAG,IAAI,CAAC;gBAC9B,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,kBAAkB,GAAG,kBAAkB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC;QAEzE,OAAO;YACH,gBAAgB,EAAE,gBAAgB;YAClC,kBAAkB,EAAE,kBAAkB;SACzC,CAAC;IACN,CAAC;CACJ;AAED,MAAM,UAAU,YAAY,CAAC,cAA8C,EAAE,SAAyC;IAClH,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAE3E,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,OAAO,EAAE,qCAAqC,CAAC,UAAU,CAAC,CAAC,CAAA;IACvE,CAAC;IAED,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAClC,CAAC","sourcesContent":["import {AdvancedFilterCondition, AdvancedFilterValue} from \"../../../api/advancedFilterApi\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {ValidateStatus} from \"antd/lib/form/FormItem\";\r\nimport {AdvancedFilterConditionError} from \"../../../api/types/advancedFilter\";\r\n\r\nfunction getAdvancedFilterConditionErrorString(error: AdvancedFilterConditionError): string {\r\n switch (error) {\r\n case AdvancedFilterConditionError.VALUE_REQUIRED:\r\n return i18n(\"Missing Value\");\r\n case AdvancedFilterConditionError.LOGICAL_OPERATOR_REQUIRED:\r\n return i18n(\"Missing Logical Operator\");\r\n case AdvancedFilterConditionError.LOGICAL_OPERATOR_UNNECESSARY:\r\n return i18n(\"Unnecessary Logical Operator\");\r\n }\r\n}\r\n\r\nexport default class AdvancedFilterValidationUtils {\r\n\r\n static isConditionValueInvalid(value: AdvancedFilterValue): boolean {\r\n return value === undefined || value === \"\" || (Array.isArray(value) && value.length === 0);\r\n }\r\n\r\n static validade(filterConditions: AdvancedFilterCondition[]): { isConditionError: boolean, isParenthesisError: boolean } {\r\n const parenthesisStack: string[] = [];\r\n let isConditionError = false;\r\n let isParenthesisError = false;\r\n\r\n filterConditions.forEach((filterCondition, index) => {\r\n filterCondition._errors = [];\r\n\r\n if (this.isConditionValueInvalid(filterCondition.value)) {\r\n isConditionError = true;\r\n filterCondition._errors.push(AdvancedFilterConditionError.VALUE_REQUIRED);\r\n }\r\n if (filterConditions[index + 1] !== undefined && filterCondition.logical_operator === null) {\r\n isConditionError = true;\r\n filterCondition._errors.push(AdvancedFilterConditionError.LOGICAL_OPERATOR_REQUIRED);\r\n }\r\n if (filterConditions[index + 1] === undefined && filterCondition.logical_operator !== null) {\r\n isConditionError = true;\r\n filterCondition._errors.push(AdvancedFilterConditionError.LOGICAL_OPERATOR_UNNECESSARY);\r\n }\r\n\r\n // parentheses check\r\n if (filterCondition.left_par === 1 && filterCondition.right_par === 0) {\r\n parenthesisStack.push(\"(\");\r\n } else if (filterCondition.left_par === 0 && filterCondition.right_par === 1) {\r\n const pop = parenthesisStack.pop();\r\n if (pop !== \"(\") {\r\n isParenthesisError = true;\r\n }\r\n }\r\n });\r\n\r\n isParenthesisError = isParenthesisError || parenthesisStack.length !== 0;\r\n\r\n return {\r\n isConditionError: isConditionError,\r\n isParenthesisError: isParenthesisError,\r\n };\r\n }\r\n}\r\n\r\nexport function getErrorInfo(possibleErrors: AdvancedFilterConditionError[], allErrors: AdvancedFilterConditionError[]): [ValidateStatus, string | undefined] {\r\n const foundError = possibleErrors.find(error => allErrors.includes(error));\r\n\r\n if (foundError) {\r\n return [\"error\", getAdvancedFilterConditionErrorString(foundError)]\r\n }\r\n\r\n return [\"success\", undefined];\r\n}\r\n"]}
@@ -0,0 +1,55 @@
1
+ import React from "react";
2
+ import { AdvancedFilterApi, AdvancedFilterCondition } from "../../../api/advancedFilterApi";
3
+ import Entity from "../../../api/types/entity";
4
+ import ExtendedDataGrid from "d2coreui/components/grid/extendedDataGrid";
5
+ import { GridApi, IDatasource } from "ag-grid-community";
6
+ import { AdvancedFilterColumnDefinition } from "../../../api/types/advancedFilter";
7
+ import { DataGridColDef, OnLoadDataCallback } from "d2coreui/components/grid/dataGrid";
8
+ import AbstractEntityApi, { PageableList } from "../../../api/abstractEntityApi";
9
+ export interface AdvancedFilteredGridProps<T extends Entity> {
10
+ api: AbstractEntityApi<T>;
11
+ advancedFilterApi: AdvancedFilterApi;
12
+ filterConditions?: AdvancedFilterCondition[];
13
+ }
14
+ export interface AdvancedFilteredGridState<T extends Entity> {
15
+ filterConditions: AdvancedFilterCondition[];
16
+ selectedData: T[];
17
+ columnDefs: DataGridColDef[];
18
+ loading: boolean;
19
+ datasource: IDatasource;
20
+ }
21
+ export default abstract class AdvancedFilteredGrid<T extends Entity, P extends AdvancedFilteredGridProps<T>, S extends AdvancedFilteredGridState<T>> extends React.Component<P, S> {
22
+ protected dataGrid: ExtendedDataGrid<T> | null;
23
+ protected gridApi?: GridApi;
24
+ protected firstLoadedPage: PageableList<T> | null;
25
+ protected manualReload: boolean;
26
+ protected initialColumnDefs?: DataGridColDef[];
27
+ protected constructor(props: Readonly<P>);
28
+ componentDidMount(): void;
29
+ protected onLoadData(callback: OnLoadDataCallback): Promise<void>;
30
+ protected getRecords(from: number, to: number): Promise<PageableList<T>>;
31
+ abstract getOnlyValidRecords(): boolean;
32
+ protected onRecordsLoaded(): Promise<void>;
33
+ private saveConfiguration;
34
+ abstract getAdvancedFilterListName(): string | undefined;
35
+ protected getAdvancedFilterColumnDefinitions(): AdvancedFilterColumnDefinition[];
36
+ protected renderFloatingFilter(columnDefinition: AdvancedFilterColumnDefinition): React.JSX.Element;
37
+ protected onApplyFilter(filterConditions: AdvancedFilterCondition[]): void;
38
+ private onAddCondition;
39
+ private onSetCondition;
40
+ private onClearCondition;
41
+ protected getIdColumn(columnName: string): DataGridColDef;
42
+ protected getCodeColumn(params?: Partial<DataGridColDef>): DataGridColDef;
43
+ protected getCodeColumnWithBackgroundColor(): DataGridColDef;
44
+ protected getNameColumn(params?: Partial<DataGridColDef>): DataGridColDef;
45
+ protected getEntityColumn(columnConfig: {
46
+ codeColumn: string;
47
+ nameColumn: string;
48
+ backgroundColorColumn?: string;
49
+ }, params?: Partial<DataGridColDef>): DataGridColDef;
50
+ protected getDateColumn(columnName: string, params?: Partial<DataGridColDef>): DataGridColDef;
51
+ protected getDateTimeColumn(columnName: string, params?: Partial<DataGridColDef>): DataGridColDef;
52
+ protected getDbBooleanColumn(columnName: string, params?: Partial<DataGridColDef>): DataGridColDef;
53
+ protected getStringColumn(columnName: string, params?: Partial<DataGridColDef>): DataGridColDef;
54
+ protected getNumberColumn(columnName: string, params?: Partial<DataGridColDef>): DataGridColDef;
55
+ }
@@ -0,0 +1,165 @@
1
+ import React from "react";
2
+ import { AdvancedFilterLogicalOperator } from "../../../api/advancedFilterApi";
3
+ import cloneDeep from "lodash/cloneDeep";
4
+ import AdvancedFilterFloatingColumnComponent from "./floatingColumnFilter/advancedFilterFloatingColumnComponent";
5
+ import AdvancedFilterUtils from "./advancedFilterUtils";
6
+ import { getCodeColumn, getDateColumn, getDateTimeColumn, getDbBooleanColumn, getEntityColumn, getIDColumn, getNameColumn, getNumberColumn, getStringColumn } from "../grid/standardColumns";
7
+ import { EntityColumn, getDateAdvancedFilterColumn, getDateTimeAdvancedFilterColumn, getDbBooleanAdvancedFilterColumn, getNumberAdvancedFilterColumn, getStringAdvancedFilterColumn } from "./advancedFilterColumnDefinitions";
8
+ import i18n from "d2core/i18n/i18n";
9
+ const CONFIGURATION_VERSION = 1;
10
+ export default class AdvancedFilteredGrid extends React.Component {
11
+ constructor(props) {
12
+ super(props);
13
+ this.dataGrid = null;
14
+ this.firstLoadedPage = null;
15
+ this.manualReload = true;
16
+ this.renderFloatingFilter = this.renderFloatingFilter.bind(this);
17
+ this.onApplyFilter = this.onApplyFilter.bind(this);
18
+ this.onAddCondition = this.onAddCondition.bind(this);
19
+ this.onSetCondition = this.onSetCondition.bind(this);
20
+ this.onClearCondition = this.onClearCondition.bind(this);
21
+ this.onLoadData = this.onLoadData.bind(this);
22
+ }
23
+ componentDidMount() {
24
+ if (this.state.filterConditions.length === 0) {
25
+ const advancedFilterListName = this.getAdvancedFilterListName();
26
+ if (advancedFilterListName) {
27
+ const item = localStorage.getItem(advancedFilterListName);
28
+ if (item) {
29
+ try {
30
+ const savedConditions = JSON.parse(item);
31
+ if (savedConditions.version === CONFIGURATION_VERSION) {
32
+ this.setState({ filterConditions: savedConditions.filterConditions });
33
+ }
34
+ }
35
+ catch {
36
+ }
37
+ }
38
+ }
39
+ }
40
+ }
41
+ async onLoadData(callback) {
42
+ this.manualReload = true;
43
+ this.firstLoadedPage = await this.getRecords(0, 100);
44
+ callback(this.firstLoadedPage.totalNumberOfRows);
45
+ this.gridApi?.onFilterChanged();
46
+ }
47
+ async getRecords(from, to) {
48
+ this.setState({ loading: true });
49
+ const filterConditions = [...this.state.filterConditions];
50
+ if (this.props.filterConditions) {
51
+ if (filterConditions.length > 0) {
52
+ filterConditions[filterConditions.length - 1].logical_operator = AdvancedFilterLogicalOperator.AND;
53
+ }
54
+ filterConditions.push(...this.props.filterConditions);
55
+ }
56
+ let orderBy = "";
57
+ const sortModel = this.dataGrid?.getSortModel()[0];
58
+ if (sortModel) {
59
+ orderBy = `${sortModel.colId} ${sortModel.sort}`;
60
+ }
61
+ const pageableList = await this.props.api.getAllData(from, to, orderBy, AdvancedFilterUtils.serializeConditionValues(filterConditions), this.getOnlyValidRecords());
62
+ await this.onRecordsLoaded();
63
+ this.setState({ loading: false });
64
+ return pageableList;
65
+ }
66
+ async onRecordsLoaded() {
67
+ }
68
+ saveConfiguration() {
69
+ const advancedFilterListName = this.getAdvancedFilterListName();
70
+ if (advancedFilterListName) {
71
+ const conditionsToSave = {
72
+ version: CONFIGURATION_VERSION,
73
+ filterConditions: this.state.filterConditions,
74
+ };
75
+ localStorage.setItem(advancedFilterListName, JSON.stringify(conditionsToSave));
76
+ }
77
+ }
78
+ getAdvancedFilterColumnDefinitions() {
79
+ return this.dataGrid?.props.columnDefs
80
+ .filter(value => value.renderFilter && value.context)
81
+ .map(value => value.context)
82
+ ?? [];
83
+ }
84
+ renderFloatingFilter(columnDefinition) {
85
+ const filterCondition = this.state.filterConditions.find(value => value.column_name === columnDefinition.columnName);
86
+ return (React.createElement(AdvancedFilterFloatingColumnComponent, { filterCondition: filterCondition, columnDefinition: columnDefinition, onAddCondition: (operator, value) => this.onAddCondition(columnDefinition, operator, value), onSetCondition: (operator, value) => this.onSetCondition(columnDefinition, operator, value), onClearCondition: () => this.onClearCondition(columnDefinition) }));
87
+ }
88
+ onApplyFilter(filterConditions) {
89
+ this.setState({ filterConditions: filterConditions }, () => {
90
+ this.dataGrid?.loadData();
91
+ this.saveConfiguration();
92
+ });
93
+ }
94
+ onAddCondition(columnDefinition, operator, value) {
95
+ const filterConditions = cloneDeep(this.state.filterConditions);
96
+ const filterConditionIndex = filterConditions.findIndex(filterCondition => filterCondition.column_name === columnDefinition.columnName);
97
+ if (filterConditionIndex >= 0) {
98
+ if (filterConditions[filterConditionIndex + 1]) {
99
+ filterConditions[filterConditionIndex].logical_operator = AdvancedFilterLogicalOperator.AND;
100
+ }
101
+ filterConditions[filterConditionIndex].operator = operator;
102
+ filterConditions[filterConditionIndex].value = value;
103
+ }
104
+ else {
105
+ const newId = filterConditions.length === 0 ? 0 : Math.max(...filterConditions.map(value => value.id)) + 1;
106
+ const newCondition = AdvancedFilterUtils.createNewCondition(newId, columnDefinition, { operator, value });
107
+ if (filterConditions.length > 0) {
108
+ filterConditions[filterConditions.length - 1].logical_operator = AdvancedFilterLogicalOperator.AND;
109
+ }
110
+ filterConditions.push(newCondition);
111
+ }
112
+ this.setState({ filterConditions: filterConditions }, () => {
113
+ this.dataGrid?.loadData();
114
+ this.saveConfiguration();
115
+ });
116
+ }
117
+ onSetCondition(columnDefinition, operator, value) {
118
+ const newCondition = AdvancedFilterUtils.createNewCondition(0, columnDefinition, { operator, value });
119
+ this.setState({ filterConditions: [newCondition] }, () => {
120
+ this.dataGrid?.loadData();
121
+ this.saveConfiguration();
122
+ });
123
+ }
124
+ onClearCondition(columnDefinition) {
125
+ const filterConditions = this.state.filterConditions.filter(value => value.column_name !== columnDefinition.columnName);
126
+ if (filterConditions.length > 0) {
127
+ filterConditions[filterConditions.length - 1].logical_operator = null;
128
+ }
129
+ this.setState({ filterConditions: filterConditions }, () => {
130
+ this.dataGrid?.loadData();
131
+ this.saveConfiguration();
132
+ });
133
+ }
134
+ getIdColumn(columnName) {
135
+ return getIDColumn(() => this.renderFloatingFilter(getNumberAdvancedFilterColumn(columnName)), { colId: columnName, context: getNumberAdvancedFilterColumn(columnName) });
136
+ }
137
+ getCodeColumn(params) {
138
+ return getCodeColumn(() => this.renderFloatingFilter(getStringAdvancedFilterColumn(EntityColumn.CODE)), { context: getStringAdvancedFilterColumn(EntityColumn.CODE), ...params });
139
+ }
140
+ getCodeColumnWithBackgroundColor() {
141
+ return this.getEntityColumn({ codeColumn: EntityColumn.CODE, nameColumn: EntityColumn.NAME, backgroundColorColumn: EntityColumn.BG_COLOR }, { headerName: i18n("Code") });
142
+ }
143
+ getNameColumn(params) {
144
+ return getNameColumn(() => this.renderFloatingFilter(getStringAdvancedFilterColumn(EntityColumn.NAME)), { context: getStringAdvancedFilterColumn(EntityColumn.NAME), ...params });
145
+ }
146
+ getEntityColumn(columnConfig, params) {
147
+ return getEntityColumn(columnConfig, () => this.renderFloatingFilter(getStringAdvancedFilterColumn(columnConfig.codeColumn)), { context: getStringAdvancedFilterColumn(columnConfig.codeColumn), ...params });
148
+ }
149
+ getDateColumn(columnName, params) {
150
+ return getDateColumn(columnName, () => this.renderFloatingFilter(getDateAdvancedFilterColumn(columnName)), { context: getDateAdvancedFilterColumn(columnName), ...params });
151
+ }
152
+ getDateTimeColumn(columnName, params) {
153
+ return getDateTimeColumn(columnName, () => this.renderFloatingFilter(getDateTimeAdvancedFilterColumn(columnName)), { context: getDateTimeAdvancedFilterColumn(columnName), ...params });
154
+ }
155
+ getDbBooleanColumn(columnName, params) {
156
+ return getDbBooleanColumn(columnName, () => this.renderFloatingFilter(getDbBooleanAdvancedFilterColumn(columnName)), { context: getDbBooleanAdvancedFilterColumn(columnName), ...params });
157
+ }
158
+ getStringColumn(columnName, params) {
159
+ return getStringColumn(columnName, () => this.renderFloatingFilter(getStringAdvancedFilterColumn(columnName)), { context: getStringAdvancedFilterColumn(columnName), ...params });
160
+ }
161
+ getNumberColumn(columnName, params) {
162
+ return getNumberColumn(columnName, () => this.renderFloatingFilter(getNumberAdvancedFilterColumn(columnName)), { context: getNumberAdvancedFilterColumn(columnName), ...params });
163
+ }
164
+ }
165
+ //# sourceMappingURL=advancedFilteredGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advancedFilteredGrid.js","sourceRoot":"","sources":["../../../../../coreui/components/advancedFilter/advancedFilteredGrid.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport {\r\n AdvancedFilterApi,\r\n AdvancedFilterCondition,\r\n AdvancedFilterLogicalOperator,\r\n AdvancedFilterOperator,\r\n AdvancedFilterValue\r\n} from \"../../../api/advancedFilterApi\";\r\nimport Entity from \"../../../api/types/entity\";\r\nimport ExtendedDataGrid from \"d2coreui/components/grid/extendedDataGrid\";\r\nimport {GridApi, IDatasource} from \"ag-grid-community\";\r\nimport cloneDeep from \"lodash/cloneDeep\";\r\nimport AdvancedFilterFloatingColumnComponent from \"./floatingColumnFilter/advancedFilterFloatingColumnComponent\";\r\nimport {AdvancedFilterColumnDefinition} from \"../../../api/types/advancedFilter\";\r\nimport AdvancedFilterUtils from \"./advancedFilterUtils\";\r\nimport {\r\n getCodeColumn,\r\n getDateColumn,\r\n getDateTimeColumn,\r\n getDbBooleanColumn,\r\n getEntityColumn,\r\n getIDColumn,\r\n getNameColumn,\r\n getNumberColumn,\r\n getStringColumn\r\n} from \"../grid/standardColumns\";\r\nimport {\r\n EntityColumn,\r\n getDateAdvancedFilterColumn,\r\n getDateTimeAdvancedFilterColumn,\r\n getDbBooleanAdvancedFilterColumn,\r\n getNumberAdvancedFilterColumn,\r\n getStringAdvancedFilterColumn\r\n} from \"./advancedFilterColumnDefinitions\";\r\nimport {DataGridColDef, OnLoadDataCallback} from \"d2coreui/components/grid/dataGrid\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport AbstractEntityApi, {PageableList} from \"../../../api/abstractEntityApi\";\r\n\r\nconst CONFIGURATION_VERSION = 1;\r\n\r\ninterface AdvancedFilterSavedConditions {\r\n version: number\r\n filterConditions: AdvancedFilterCondition[]\r\n}\r\n\r\nexport interface AdvancedFilteredGridProps<T extends Entity> {\r\n api: AbstractEntityApi<T>\r\n advancedFilterApi: AdvancedFilterApi\r\n filterConditions?: AdvancedFilterCondition[]\r\n}\r\n\r\nexport interface AdvancedFilteredGridState<T extends Entity> {\r\n filterConditions: AdvancedFilterCondition[]\r\n selectedData: T[]\r\n columnDefs: DataGridColDef[]\r\n loading: boolean\r\n datasource: IDatasource\r\n}\r\n\r\nexport default abstract class AdvancedFilteredGrid<T extends Entity, P extends AdvancedFilteredGridProps<T>, S extends AdvancedFilteredGridState<T>> extends React.Component<P, S> {\r\n protected dataGrid: ExtendedDataGrid<T> | null = null;\r\n protected gridApi?: GridApi;\r\n protected firstLoadedPage: PageableList<T> | null = null;\r\n protected manualReload = true;\r\n protected initialColumnDefs?: DataGridColDef[];\r\n\r\n protected constructor(props: Readonly<P>) {\r\n super(props);\r\n\r\n this.renderFloatingFilter = this.renderFloatingFilter.bind(this);\r\n this.onApplyFilter = this.onApplyFilter.bind(this);\r\n this.onAddCondition = this.onAddCondition.bind(this);\r\n this.onSetCondition = this.onSetCondition.bind(this);\r\n this.onClearCondition = this.onClearCondition.bind(this);\r\n this.onLoadData = this.onLoadData.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n // can be set in child component from url parameters\r\n if (this.state.filterConditions.length === 0) {\r\n const advancedFilterListName = this.getAdvancedFilterListName();\r\n\r\n if (advancedFilterListName) {\r\n const item = localStorage.getItem(advancedFilterListName);\r\n\r\n if (item) {\r\n try {\r\n const savedConditions: AdvancedFilterSavedConditions = JSON.parse(item);\r\n if (savedConditions.version === CONFIGURATION_VERSION) {\r\n this.setState({filterConditions: savedConditions.filterConditions});\r\n }\r\n } catch {\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n protected async onLoadData(callback: OnLoadDataCallback) {\r\n this.manualReload = true;\r\n this.firstLoadedPage = await this.getRecords(0, 100);\r\n callback(this.firstLoadedPage.totalNumberOfRows);\r\n this.gridApi?.onFilterChanged();\r\n }\r\n\r\n protected async getRecords(from: number, to: number): Promise<PageableList<T>> {\r\n this.setState({loading: true});\r\n\r\n const filterConditions = [...this.state.filterConditions];\r\n if (this.props.filterConditions) {\r\n if (filterConditions.length > 0) {\r\n filterConditions[filterConditions.length - 1].logical_operator = AdvancedFilterLogicalOperator.AND;\r\n }\r\n filterConditions.push(...this.props.filterConditions);\r\n }\r\n\r\n let orderBy = \"\";\r\n const sortModel = this.dataGrid?.getSortModel()[0];\r\n if (sortModel) {\r\n orderBy = `${sortModel.colId} ${sortModel.sort}`;\r\n }\r\n const pageableList = await this.props.api.getAllData(from, to, orderBy, AdvancedFilterUtils.serializeConditionValues(filterConditions), this.getOnlyValidRecords());\r\n await this.onRecordsLoaded();\r\n\r\n this.setState({loading: false});\r\n return pageableList;\r\n }\r\n\r\n abstract getOnlyValidRecords(): boolean\r\n\r\n protected async onRecordsLoaded() {\r\n }\r\n\r\n private saveConfiguration() {\r\n const advancedFilterListName = this.getAdvancedFilterListName();\r\n\r\n if (advancedFilterListName) {\r\n const conditionsToSave: AdvancedFilterSavedConditions = {\r\n version: CONFIGURATION_VERSION,\r\n filterConditions: this.state.filterConditions,\r\n }\r\n\r\n localStorage.setItem(advancedFilterListName, JSON.stringify(conditionsToSave));\r\n }\r\n }\r\n\r\n abstract getAdvancedFilterListName(): string | undefined;\r\n\r\n protected getAdvancedFilterColumnDefinitions(): AdvancedFilterColumnDefinition[] {\r\n return this.dataGrid?.props.columnDefs\r\n .filter(value => value.renderFilter && value.context)\r\n .map(value => value.context as AdvancedFilterColumnDefinition)\r\n ?? [];\r\n }\r\n\r\n protected renderFloatingFilter(columnDefinition: AdvancedFilterColumnDefinition) {\r\n const filterCondition = this.state.filterConditions.find(value => value.column_name === columnDefinition.columnName);\r\n return (\r\n <AdvancedFilterFloatingColumnComponent\r\n filterCondition={filterCondition}\r\n columnDefinition={columnDefinition}\r\n onAddCondition={(operator, value) => this.onAddCondition(columnDefinition, operator, value)}\r\n onSetCondition={(operator, value) => this.onSetCondition(columnDefinition, operator, value)}\r\n onClearCondition={() => this.onClearCondition(columnDefinition)}\r\n />\r\n );\r\n }\r\n\r\n protected onApplyFilter(filterConditions: AdvancedFilterCondition[]) {\r\n this.setState({filterConditions: filterConditions}, () => {\r\n this.dataGrid?.loadData();\r\n this.saveConfiguration();\r\n });\r\n }\r\n\r\n private onAddCondition(columnDefinition: AdvancedFilterColumnDefinition, operator: AdvancedFilterOperator, value: AdvancedFilterValue) {\r\n const filterConditions = cloneDeep(this.state.filterConditions);\r\n\r\n const filterConditionIndex = filterConditions.findIndex(filterCondition => filterCondition.column_name === columnDefinition.columnName);\r\n\r\n if (filterConditionIndex >= 0) {\r\n if (filterConditions[filterConditionIndex + 1]) {\r\n filterConditions[filterConditionIndex].logical_operator = AdvancedFilterLogicalOperator.AND;\r\n }\r\n filterConditions[filterConditionIndex].operator = operator;\r\n filterConditions[filterConditionIndex].value = value;\r\n } else {\r\n const newId = filterConditions.length === 0 ? 0 : Math.max(...filterConditions.map(value => value.id)) + 1;\r\n const newCondition = AdvancedFilterUtils.createNewCondition(newId, columnDefinition, {operator, value});\r\n\r\n if (filterConditions.length > 0) {\r\n filterConditions[filterConditions.length - 1].logical_operator = AdvancedFilterLogicalOperator.AND;\r\n }\r\n filterConditions.push(newCondition);\r\n }\r\n\r\n this.setState({filterConditions: filterConditions}, () => {\r\n this.dataGrid?.loadData();\r\n this.saveConfiguration();\r\n });\r\n }\r\n\r\n private onSetCondition(columnDefinition: AdvancedFilterColumnDefinition, operator: AdvancedFilterOperator, value: AdvancedFilterValue) {\r\n const newCondition = AdvancedFilterUtils.createNewCondition(0, columnDefinition, {operator, value});\r\n\r\n this.setState({filterConditions: [newCondition]}, () => {\r\n this.dataGrid?.loadData()\r\n this.saveConfiguration();\r\n });\r\n }\r\n\r\n private onClearCondition(columnDefinition: AdvancedFilterColumnDefinition) {\r\n const filterConditions = this.state.filterConditions.filter(value => value.column_name !== columnDefinition.columnName);\r\n\r\n if (filterConditions.length > 0) {\r\n filterConditions[filterConditions.length - 1].logical_operator = null;\r\n }\r\n\r\n this.setState({filterConditions: filterConditions}, () => {\r\n this.dataGrid?.loadData();\r\n this.saveConfiguration();\r\n });\r\n }\r\n\r\n // columns\r\n protected getIdColumn(columnName: string) {\r\n return getIDColumn(() => this.renderFloatingFilter(getNumberAdvancedFilterColumn(columnName)), {colId: columnName, context: getNumberAdvancedFilterColumn(columnName)});\r\n }\r\n\r\n protected getCodeColumn(params?: Partial<DataGridColDef>) {\r\n return getCodeColumn(() => this.renderFloatingFilter(getStringAdvancedFilterColumn(EntityColumn.CODE)), {context: getStringAdvancedFilterColumn(EntityColumn.CODE), ...params});\r\n }\r\n\r\n protected getCodeColumnWithBackgroundColor() {\r\n return this.getEntityColumn({codeColumn: EntityColumn.CODE, nameColumn: EntityColumn.NAME, backgroundColorColumn: EntityColumn.BG_COLOR}, {headerName: i18n(\"Code\")});\r\n }\r\n\r\n protected getNameColumn(params?: Partial<DataGridColDef>) {\r\n return getNameColumn(() => this.renderFloatingFilter(getStringAdvancedFilterColumn(EntityColumn.NAME)), {context: getStringAdvancedFilterColumn(EntityColumn.NAME), ...params});\r\n }\r\n\r\n protected getEntityColumn(columnConfig: {codeColumn: string, nameColumn: string, backgroundColorColumn?: string}, params?: Partial<DataGridColDef>) {\r\n return getEntityColumn(columnConfig, () => this.renderFloatingFilter(getStringAdvancedFilterColumn(columnConfig.codeColumn)), {context: getStringAdvancedFilterColumn(columnConfig.codeColumn), ...params});\r\n }\r\n\r\n protected getDateColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getDateColumn(columnName, () => this.renderFloatingFilter(getDateAdvancedFilterColumn(columnName)), {context: getDateAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n protected getDateTimeColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getDateTimeColumn(columnName, () => this.renderFloatingFilter(getDateTimeAdvancedFilterColumn(columnName)), {context: getDateTimeAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n protected getDbBooleanColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getDbBooleanColumn(columnName, () => this.renderFloatingFilter(getDbBooleanAdvancedFilterColumn(columnName)), {context: getDbBooleanAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n protected getStringColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getStringColumn(columnName, () => this.renderFloatingFilter(getStringAdvancedFilterColumn(columnName)), {context: getStringAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n protected getNumberColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getNumberColumn(columnName, () => this.renderFloatingFilter(getNumberAdvancedFilterColumn(columnName)), {context: getNumberAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n}"]}
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ import { AdvancedFilterOperator, AdvancedFilterValue } from "../../../../api/advancedFilterApi";
3
+ import { AdvancedFilterValueType } from "../../../../api/types/advancedFilter";
4
+ interface AdvancedFilterOperatorSelectProps {
5
+ operator: AdvancedFilterOperator;
6
+ value: AdvancedFilterValue;
7
+ valueType: AdvancedFilterValueType;
8
+ onChange(operator: AdvancedFilterOperator, value: AdvancedFilterValue): void;
9
+ }
10
+ export default class AdvancedFilterOperatorSelect extends React.Component<AdvancedFilterOperatorSelectProps> {
11
+ constructor(props: Readonly<AdvancedFilterOperatorSelectProps>);
12
+ render(): React.JSX.Element;
13
+ }
14
+ export {};
@@ -0,0 +1,35 @@
1
+ import React from "react";
2
+ import { AdvancedFilterOperator, getAdvancedFilterOperatorString } from "../../../../api/advancedFilterApi";
3
+ import { Select } from "antd";
4
+ import AdvancedFilterUtils from "../advancedFilterUtils";
5
+ export default class AdvancedFilterOperatorSelect extends React.Component {
6
+ constructor(props) {
7
+ super(props);
8
+ }
9
+ render() {
10
+ const allowedOperators = AdvancedFilterUtils.getOperatorsForValueType(this.props.valueType);
11
+ let editedOperator = this.props.operator;
12
+ let editedValue = this.props.value;
13
+ return (React.createElement(Select, { style: { width: "100%" }, value: editedOperator, onChange: value => {
14
+ if (value === AdvancedFilterOperator.IS_NULL) {
15
+ editedValue = "NULL";
16
+ }
17
+ else if (value === AdvancedFilterOperator.LIKE) {
18
+ if (typeof editedValue === "string" && !editedValue.includes("%")) {
19
+ editedValue += "%";
20
+ }
21
+ else if (editedValue === undefined) {
22
+ editedValue = "%";
23
+ }
24
+ }
25
+ else if ([editedOperator, value].includes(AdvancedFilterOperator.IN) || editedOperator === AdvancedFilterOperator.IS_NULL) {
26
+ editedValue = undefined;
27
+ }
28
+ editedOperator = value;
29
+ this.props.onChange(editedOperator, editedValue);
30
+ } }, allowedOperators.map(value => {
31
+ return (React.createElement(Select.Option, { value: value, key: value }, getAdvancedFilterOperatorString(value)));
32
+ })));
33
+ }
34
+ }
35
+ //# sourceMappingURL=advancedFilterOperatorSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advancedFilterOperatorSelect.js","sourceRoot":"","sources":["../../../../../../coreui/components/advancedFilter/components/advancedFilterOperatorSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACH,sBAAsB,EAEtB,+BAA+B,EAClC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAC,MAAM,MAAM,CAAC;AAE5B,OAAO,mBAAmB,MAAM,wBAAwB,CAAC;AAUzD,MAAM,CAAC,OAAO,OAAO,4BAA6B,SAAQ,KAAK,CAAC,SAA4C;IACxG,YAAY,KAAkD;QAC1D,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,MAAM;QACF,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5F,IAAI,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QACzC,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAEnC,OAAO,CACH,oBAAC,MAAM,IACH,KAAK,EAAE,EAAC,KAAK,EAAE,MAAM,EAAC,EACtB,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,KAAK,CAAC,EAAE;gBACd,IAAI,KAAK,KAAK,sBAAsB,CAAC,OAAO,EAAE,CAAC;oBAC3C,WAAW,GAAG,MAAM,CAAC;gBACzB,CAAC;qBAAM,IAAI,KAAK,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;oBAC/C,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBAChE,WAAW,IAAI,GAAG,CAAC;oBACvB,CAAC;yBAAM,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;wBACnC,WAAW,GAAG,GAAG,CAAC;oBACtB,CAAC;gBACL,CAAC;qBAAM,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,IAAI,cAAc,KAAK,sBAAsB,CAAC,OAAO,EAAE,CAAC;oBAC1H,WAAW,GAAG,SAAS,CAAC;gBAC5B,CAAC;gBACD,cAAc,GAAG,KAAK,CAAC;gBAEvB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YACrD,CAAC,IAEA,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC1B,OAAO,CACH,oBAAC,MAAM,CAAC,MAAM,IAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,IAClC,+BAA+B,CAAC,KAAK,CAAC,CAC3B,CACnB,CAAC;QACN,CAAC,CAAC,CACG,CACZ,CAAC;IACN,CAAC;CAEJ","sourcesContent":["import React from \"react\";\r\nimport {\r\n AdvancedFilterOperator,\r\n AdvancedFilterValue,\r\n getAdvancedFilterOperatorString\r\n} from \"../../../../api/advancedFilterApi\";\r\nimport {Select} from \"antd\";\r\nimport {AdvancedFilterValueType} from \"../../../../api/types/advancedFilter\";\r\nimport AdvancedFilterUtils from \"../advancedFilterUtils\";\r\n\r\ninterface AdvancedFilterOperatorSelectProps {\r\n operator: AdvancedFilterOperator\r\n value: AdvancedFilterValue\r\n valueType: AdvancedFilterValueType\r\n\r\n onChange(operator: AdvancedFilterOperator, value: AdvancedFilterValue): void\r\n}\r\n\r\nexport default class AdvancedFilterOperatorSelect extends React.Component<AdvancedFilterOperatorSelectProps> {\r\n constructor(props: Readonly<AdvancedFilterOperatorSelectProps>) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const allowedOperators = AdvancedFilterUtils.getOperatorsForValueType(this.props.valueType);\r\n let editedOperator = this.props.operator;\r\n let editedValue = this.props.value;\r\n\r\n return (\r\n <Select\r\n style={{width: \"100%\"}}\r\n value={editedOperator}\r\n onChange={value => {\r\n if (value === AdvancedFilterOperator.IS_NULL) {\r\n editedValue = \"NULL\";\r\n } else if (value === AdvancedFilterOperator.LIKE) {\r\n if (typeof editedValue === \"string\" && !editedValue.includes(\"%\")) {\r\n editedValue += \"%\";\r\n } else if (editedValue === undefined) {\r\n editedValue = \"%\";\r\n }\r\n } else if ([editedOperator, value].includes(AdvancedFilterOperator.IN) || editedOperator === AdvancedFilterOperator.IS_NULL) {\r\n editedValue = undefined;\r\n }\r\n editedOperator = value;\r\n\r\n this.props.onChange(editedOperator, editedValue);\r\n }}\r\n >\r\n {allowedOperators.map(value => {\r\n return (\r\n <Select.Option value={value} key={value}>\r\n {getAdvancedFilterOperatorString(value)}\r\n </Select.Option>\r\n );\r\n })}\r\n </Select>\r\n );\r\n }\r\n\r\n}"]}
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import { AdvancedFilterOperator, AdvancedFilterValue } from "../../../../api/advancedFilterApi";
3
+ import { AdvancedFilterColumnDefinition } from "../../../../api/types/advancedFilter";
4
+ export declare const ADVANCED_FILTER_DATE_FORMAT = "YYYY-MM-DD HH:mm:ss";
5
+ interface AdvancedFilterValueInputProps {
6
+ operator: AdvancedFilterOperator;
7
+ editedValue: AdvancedFilterValue;
8
+ columnDefinition: AdvancedFilterColumnDefinition;
9
+ onPressEnter?(isCtrl: boolean, isAlt: boolean): void;
10
+ onChange(value: AdvancedFilterValue): void;
11
+ }
12
+ export default class AdvancedFilterValueInput extends React.Component<AdvancedFilterValueInputProps> {
13
+ private inputComponent;
14
+ constructor(props: Readonly<AdvancedFilterValueInputProps>);
15
+ focusInput(): void;
16
+ private renderInputComponent;
17
+ private renderInputNumberComponent;
18
+ private renderSelectListComponent;
19
+ private renderDateComponent;
20
+ private renderValueComponent;
21
+ render(): React.JSX.Element | "Unsupported operator";
22
+ }
23
+ export {};