@mediusinc/mng-commons 0.2.1-rc → 0.2.4

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 (327) hide show
  1. package/esm2020/lib/api/models/builders/query-param.builder.mjs +48 -0
  2. package/esm2020/lib/api/models/filter-match-type.model.mjs +26 -0
  3. package/esm2020/lib/api/models/filter-param.model.mjs +46 -0
  4. package/esm2020/lib/api/models/index.mjs +9 -0
  5. package/esm2020/lib/api/models/mappers.mjs +17 -0
  6. package/esm2020/lib/api/models/query-mode.model.mjs +19 -0
  7. package/esm2020/lib/api/models/query-param.model.mjs +69 -0
  8. package/esm2020/lib/api/models/query-result.model.mjs +45 -0
  9. package/esm2020/lib/api/models/serialization.model.mjs +2 -0
  10. package/esm2020/lib/api/services/crud-api.abstract.service.mjs +72 -0
  11. package/esm2020/lib/api/services/index.mjs +2 -0
  12. package/esm2020/lib/api/utils/index.mjs +3 -0
  13. package/esm2020/lib/api/utils/medius-rest.util.mjs +122 -0
  14. package/esm2020/lib/api/utils/object-serializer.util.mjs +226 -0
  15. package/esm2020/lib/components/action/action.component.mjs +65 -0
  16. package/esm2020/lib/components/action/dialog/action-dialog.component.mjs +148 -0
  17. package/esm2020/lib/components/action/index.mjs +4 -0
  18. package/esm2020/lib/components/action/models/action-confirmation-service.model.mjs +2 -0
  19. package/esm2020/lib/components/action/models/action-execution.model.mjs +58 -0
  20. package/esm2020/lib/components/action/models/index.mjs +3 -0
  21. package/esm2020/lib/components/action/route/action-route.component.mjs +144 -0
  22. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +114 -0
  23. package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +113 -0
  24. package/esm2020/lib/components/form/editor/form-editor.component.mjs +141 -0
  25. package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +19 -0
  26. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +19 -0
  27. package/esm2020/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +16 -0
  28. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +26 -0
  29. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +109 -0
  30. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +122 -0
  31. package/esm2020/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +17 -0
  32. package/esm2020/lib/components/form/formly/fields/index.mjs +8 -0
  33. package/esm2020/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +17 -0
  34. package/esm2020/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.mjs +16 -0
  35. package/esm2020/lib/components/form/formly/wrappers/index.mjs +3 -0
  36. package/esm2020/lib/components/form/index.mjs +4 -0
  37. package/esm2020/lib/components/form/models/form-editor.event.mjs +7 -0
  38. package/esm2020/lib/components/form/models/index.mjs +2 -0
  39. package/esm2020/lib/components/layout/breadcrumb.component.mjs +17 -0
  40. package/esm2020/lib/components/layout/footer.component.mjs +17 -0
  41. package/esm2020/lib/components/layout/index.mjs +7 -0
  42. package/esm2020/lib/components/layout/main-layout.component.mjs +54 -0
  43. package/esm2020/lib/components/layout/menu-item.component.mjs +173 -0
  44. package/esm2020/lib/components/layout/menu.component.mjs +20 -0
  45. package/esm2020/lib/components/layout/services/index.mjs +2 -0
  46. package/esm2020/lib/components/layout/services/main-layout.component.service.mjs +190 -0
  47. package/esm2020/lib/components/layout/topbar.component.mjs +59 -0
  48. package/esm2020/lib/components/tableview/index.mjs +6 -0
  49. package/esm2020/lib/components/tableview/models/index.mjs +2 -0
  50. package/esm2020/lib/components/tableview/models/table.event.mjs +16 -0
  51. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +24 -0
  52. package/esm2020/lib/components/tableview/services/index.mjs +2 -0
  53. package/esm2020/lib/components/tableview/services/tableview.component.service.mjs +17 -0
  54. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +74 -0
  55. package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +25 -0
  56. package/esm2020/lib/components/tableview/table/table.component.mjs +307 -0
  57. package/esm2020/lib/components/tableview/tableview.component.mjs +82 -0
  58. package/esm2020/lib/config/formly.config.mjs +136 -0
  59. package/esm2020/lib/config/index.mjs +2 -0
  60. package/esm2020/lib/config/models/index.mjs +2 -0
  61. package/esm2020/lib/config/models/mng-config.model.mjs +2 -0
  62. package/esm2020/lib/data-providers/base.data-provider.mjs +24 -0
  63. package/esm2020/lib/data-providers/editor.data-provider.mjs +37 -0
  64. package/esm2020/lib/data-providers/index.mjs +6 -0
  65. package/esm2020/lib/data-providers/lookup.data-provider.mjs +16 -0
  66. package/esm2020/lib/data-providers/table.data-provider.mjs +2 -0
  67. package/esm2020/lib/data-providers/tableview.data-provider.mjs +17 -0
  68. package/esm2020/lib/descriptors/action.descriptor.mjs +332 -0
  69. package/esm2020/lib/descriptors/editor.descriptor.mjs +670 -0
  70. package/esm2020/lib/descriptors/field.validator.mjs +21 -0
  71. package/esm2020/lib/descriptors/index.mjs +8 -0
  72. package/esm2020/lib/descriptors/lookup.descriptor.mjs +2 -0
  73. package/esm2020/lib/descriptors/model.descriptor.mjs +34 -0
  74. package/esm2020/lib/descriptors/table.descriptor.mjs +401 -0
  75. package/esm2020/lib/descriptors/tableview.descriptor.mjs +131 -0
  76. package/esm2020/lib/directives/component.directive.mjs +23 -0
  77. package/esm2020/lib/directives/index.mjs +3 -0
  78. package/esm2020/lib/directives/template.directive.mjs +29 -0
  79. package/esm2020/lib/mng-commons.module.mjs +410 -0
  80. package/esm2020/lib/models/index.mjs +3 -0
  81. package/esm2020/lib/models/router.model.mjs +2 -0
  82. package/esm2020/lib/models/user.model.mjs +2 -0
  83. package/esm2020/lib/pipes/boolean.pipe.mjs +22 -0
  84. package/esm2020/lib/pipes/index.mjs +3 -0
  85. package/esm2020/lib/pipes/property-path.pipe.mjs +36 -0
  86. package/esm2020/lib/services/action.service.mjs +269 -0
  87. package/esm2020/lib/services/commons.service.mjs +354 -0
  88. package/esm2020/lib/services/configuration.service.mjs +78 -0
  89. package/esm2020/lib/services/index.mjs +5 -0
  90. package/esm2020/lib/services/navigation.service.mjs +48 -0
  91. package/esm2020/lib/services/providers/commons-init.provider.mjs +4 -0
  92. package/esm2020/lib/services/providers/config-service.provider.mjs +20 -0
  93. package/esm2020/lib/services/providers/formly-config.provider.mjs +31 -0
  94. package/esm2020/lib/services/providers/index.mjs +4 -0
  95. package/esm2020/lib/services/tokens/browser-storage.token.mjs +6 -0
  96. package/esm2020/lib/services/tokens/index.mjs +3 -0
  97. package/esm2020/lib/services/tokens/module-config.token.mjs +3 -0
  98. package/esm2020/lib/types/index.mjs +3 -0
  99. package/esm2020/lib/types/type.decorator.mjs +7 -0
  100. package/esm2020/lib/types/type.model.mjs +2 -0
  101. package/esm2020/lib/utils/editor-formly.util.mjs +176 -0
  102. package/esm2020/lib/utils/i18n.util.mjs +125 -0
  103. package/esm2020/lib/utils/index.mjs +6 -0
  104. package/esm2020/lib/utils/model.util.mjs +57 -0
  105. package/esm2020/lib/utils/toast.util.mjs +39 -0
  106. package/esm2020/lib/utils/type.util.mjs +39 -0
  107. package/esm2020/mediusinc-mng-commons.mjs +5 -0
  108. package/esm2020/public-api.mjs +36 -0
  109. package/fesm2015/mediusinc-mng-commons.mjs +6252 -0
  110. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -0
  111. package/fesm2020/mediusinc-mng-commons.mjs +6177 -0
  112. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -0
  113. package/lib/api/models/builders/query-param.builder.d.ts +11 -0
  114. package/{src/lib/api/models/query-mode.model.ts → lib/api/models/filter-match-type.model.d.ts} +11 -6
  115. package/lib/api/models/filter-param.model.d.ts +23 -0
  116. package/{src/lib/api/models/index.ts → lib/api/models/index.d.ts} +0 -2
  117. package/lib/api/models/mappers.d.ts +6 -0
  118. package/lib/api/models/query-mode.model.d.ts +16 -0
  119. package/lib/api/models/query-param.model.d.ts +31 -0
  120. package/lib/api/models/query-result.model.d.ts +36 -0
  121. package/{src/lib/api/models/serialization.model.ts → lib/api/models/serialization.model.d.ts} +0 -1
  122. package/lib/api/services/crud-api.abstract.service.d.ts +23 -0
  123. package/{src/lib/api/services/index.ts → lib/api/services/index.d.ts} +0 -0
  124. package/{src/lib/api/utils/index.ts → lib/api/utils/index.d.ts} +0 -0
  125. package/lib/api/utils/medius-rest.util.d.ts +12 -0
  126. package/lib/api/utils/object-serializer.util.d.ts +30 -0
  127. package/lib/components/action/action.component.d.ts +36 -0
  128. package/lib/components/action/dialog/action-dialog.component.d.ts +46 -0
  129. package/{src/lib/components/action/index.ts → lib/components/action/index.d.ts} +0 -0
  130. package/{src/lib/components/action/models/action-confirmation-service.model.ts → lib/components/action/models/action-confirmation-service.model.d.ts} +2 -3
  131. package/lib/components/action/models/action-execution.model.d.ts +53 -0
  132. package/{src/lib/components/action/models/index.ts → lib/components/action/models/index.d.ts} +0 -0
  133. package/lib/components/action/route/action-route.component.d.ts +32 -0
  134. package/lib/components/form/autocomplete/autocomplete.component.d.ts +36 -0
  135. package/lib/components/form/dropdown/dropdown.component.d.ts +34 -0
  136. package/lib/components/form/editor/form-editor.component.d.ts +39 -0
  137. package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +11 -0
  138. package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +11 -0
  139. package/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +6 -0
  140. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +12 -0
  141. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +17 -0
  142. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +36 -0
  143. package/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +6 -0
  144. package/{src/lib/components/form/formly/fields/index.ts → lib/components/form/formly/fields/index.d.ts} +0 -0
  145. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +8 -0
  146. package/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.d.ts +8 -0
  147. package/{src/lib/components/form/formly/wrappers/index.ts → lib/components/form/formly/wrappers/index.d.ts} +0 -0
  148. package/{src/lib/components/form/index.ts → lib/components/form/index.d.ts} +0 -0
  149. package/lib/components/form/models/form-editor.event.d.ts +5 -0
  150. package/{src/lib/components/form/models/index.ts → lib/components/form/models/index.d.ts} +0 -0
  151. package/lib/components/layout/breadcrumb.component.d.ts +8 -0
  152. package/lib/components/layout/footer.component.d.ts +9 -0
  153. package/{src/lib/components/layout/index.ts → lib/components/layout/index.d.ts} +0 -0
  154. package/lib/components/layout/main-layout.component.d.ts +21 -0
  155. package/lib/components/layout/menu-item.component.d.ts +29 -0
  156. package/lib/components/layout/menu.component.d.ts +10 -0
  157. package/{src/lib/components/layout/services/index.ts → lib/components/layout/services/index.d.ts} +0 -0
  158. package/lib/components/layout/services/main-layout.component.service.d.ts +65 -0
  159. package/lib/components/layout/topbar.component.d.ts +25 -0
  160. package/{src/lib/components/tableview/index.ts → lib/components/tableview/index.d.ts} +0 -0
  161. package/{src/lib/components/tableview/models/index.ts → lib/components/tableview/models/index.d.ts} +0 -0
  162. package/lib/components/tableview/models/table.event.d.ts +17 -0
  163. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +14 -0
  164. package/{src/lib/components/tableview/services/index.ts → lib/components/tableview/services/index.d.ts} +0 -0
  165. package/lib/components/tableview/services/tableview.component.service.d.ts +13 -0
  166. package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +22 -0
  167. package/lib/components/tableview/table/column-value/column-value.component.d.ts +12 -0
  168. package/lib/components/tableview/table/table.component.d.ts +79 -0
  169. package/lib/components/tableview/tableview.component.d.ts +35 -0
  170. package/lib/config/formly.config.d.ts +14 -0
  171. package/{src/lib/config/index.ts → lib/config/index.d.ts} +0 -0
  172. package/{src/lib/config/models/index.ts → lib/config/models/index.d.ts} +0 -0
  173. package/{src/lib/config/models/mng-config.model.ts → lib/config/models/mng-config.model.d.ts} +8 -9
  174. package/lib/data-providers/base.data-provider.d.ts +17 -0
  175. package/lib/data-providers/editor.data-provider.d.ts +25 -0
  176. package/{src/lib/data-providers/index.ts → lib/data-providers/index.d.ts} +0 -0
  177. package/lib/data-providers/lookup.data-provider.d.ts +14 -0
  178. package/{src/lib/data-providers/table.data-provider.ts → lib/data-providers/table.data-provider.d.ts} +3 -5
  179. package/lib/data-providers/tableview.data-provider.d.ts +15 -0
  180. package/lib/descriptors/action.descriptor.d.ts +148 -0
  181. package/lib/descriptors/editor.descriptor.d.ts +255 -0
  182. package/lib/descriptors/field.validator.d.ts +18 -0
  183. package/{src/lib/descriptors/index.ts → lib/descriptors/index.d.ts} +0 -0
  184. package/{src/lib/descriptors/lookup.descriptor.ts → lib/descriptors/lookup.descriptor.d.ts} +6 -9
  185. package/lib/descriptors/model.descriptor.d.ts +15 -0
  186. package/lib/descriptors/table.descriptor.d.ts +164 -0
  187. package/lib/descriptors/tableview.descriptor.d.ts +39 -0
  188. package/lib/directives/component.directive.d.ts +11 -0
  189. package/{src/lib/directives/index.ts → lib/directives/index.d.ts} +0 -0
  190. package/lib/directives/template.directive.d.ts +13 -0
  191. package/lib/mng-commons.module.d.ts +79 -0
  192. package/{src/lib/models/index.ts → lib/models/index.d.ts} +0 -0
  193. package/lib/models/router.model.d.ts +14 -0
  194. package/{src/lib/models/user.model.ts → lib/models/user.model.d.ts} +2 -3
  195. package/lib/pipes/boolean.pipe.d.ts +7 -0
  196. package/{src/lib/pipes/index.ts → lib/pipes/index.d.ts} +0 -0
  197. package/lib/pipes/property-path.pipe.d.ts +7 -0
  198. package/lib/services/action.service.d.ts +92 -0
  199. package/lib/services/commons.service.d.ts +72 -0
  200. package/lib/services/configuration.service.d.ts +35 -0
  201. package/{src/lib/services/index.ts → lib/services/index.d.ts} +0 -0
  202. package/lib/services/navigation.service.d.ts +14 -0
  203. package/lib/services/providers/commons-init.provider.d.ts +2 -0
  204. package/lib/services/providers/config-service.provider.d.ts +5 -0
  205. package/lib/services/providers/formly-config.provider.d.ts +4 -0
  206. package/{src/lib/services/providers/index.ts → lib/services/providers/index.d.ts} +0 -0
  207. package/lib/services/tokens/browser-storage.token.d.ts +2 -0
  208. package/{src/lib/services/tokens/index.ts → lib/services/tokens/index.d.ts} +0 -0
  209. package/lib/services/tokens/module-config.token.d.ts +3 -0
  210. package/{src/lib/types/index.ts → lib/types/index.d.ts} +0 -0
  211. package/lib/types/type.decorator.d.ts +2 -0
  212. package/lib/types/type.model.d.ts +10 -0
  213. package/lib/utils/editor-formly.util.d.ts +9 -0
  214. package/lib/utils/i18n.util.d.ts +18 -0
  215. package/{src/lib/utils/index.ts → lib/utils/index.d.ts} +0 -0
  216. package/lib/utils/model.util.d.ts +7 -0
  217. package/lib/utils/toast.util.d.ts +13 -0
  218. package/lib/utils/type.util.d.ts +15 -0
  219. package/mediusinc-mng-commons.d.ts +5 -0
  220. package/package.json +27 -6
  221. package/{src/public-api.ts → public-api.d.ts} +0 -17
  222. package/.browserslistrc +0 -16
  223. package/karma.conf.js +0 -51
  224. package/ng-package.json +0 -14
  225. package/src/lib/api/models/builders/query-param.builder.ts +0 -54
  226. package/src/lib/api/models/filter-match-type.model.ts +0 -25
  227. package/src/lib/api/models/filter-param.model.ts +0 -59
  228. package/src/lib/api/models/mappers.ts +0 -18
  229. package/src/lib/api/models/query-param.model.ts +0 -99
  230. package/src/lib/api/models/query-result.model.ts +0 -77
  231. package/src/lib/api/services/crud-api.abstract.service.ts +0 -113
  232. package/src/lib/api/utils/medius-rest.util.ts +0 -146
  233. package/src/lib/api/utils/object-serializer.util.ts +0 -227
  234. package/src/lib/components/action/action.component.html +0 -30
  235. package/src/lib/components/action/action.component.ts +0 -77
  236. package/src/lib/components/action/dialog/action-dialog.component.html +0 -26
  237. package/src/lib/components/action/dialog/action-dialog.component.ts +0 -171
  238. package/src/lib/components/action/models/action-execution.model.ts +0 -81
  239. package/src/lib/components/action/route/action-route.component.html +0 -1
  240. package/src/lib/components/action/route/action-route.component.ts +0 -159
  241. package/src/lib/components/form/autocomplete/autocomplete.component.html +0 -16
  242. package/src/lib/components/form/autocomplete/autocomplete.component.ts +0 -113
  243. package/src/lib/components/form/dropdown/dropdown.component.html +0 -29
  244. package/src/lib/components/form/dropdown/dropdown.component.ts +0 -109
  245. package/src/lib/components/form/editor/form-editor.component.html +0 -5
  246. package/src/lib/components/form/editor/form-editor.component.ts +0 -149
  247. package/src/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.html +0 -7
  248. package/src/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.ts +0 -21
  249. package/src/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.html +0 -9
  250. package/src/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.ts +0 -22
  251. package/src/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.html +0 -8
  252. package/src/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.ts +0 -10
  253. package/src/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.html +0 -56
  254. package/src/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.ts +0 -22
  255. package/src/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.html +0 -13
  256. package/src/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.scss +0 -4
  257. package/src/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.ts +0 -114
  258. package/src/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.html +0 -37
  259. package/src/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.ts +0 -133
  260. package/src/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.html +0 -10
  261. package/src/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.ts +0 -10
  262. package/src/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.html +0 -7
  263. package/src/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.ts +0 -13
  264. package/src/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.html +0 -6
  265. package/src/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.ts +0 -13
  266. package/src/lib/components/form/models/form-editor.event.ts +0 -7
  267. package/src/lib/components/layout/breadcrumb.component.html +0 -5
  268. package/src/lib/components/layout/breadcrumb.component.ts +0 -12
  269. package/src/lib/components/layout/footer.component.html +0 -7
  270. package/src/lib/components/layout/footer.component.ts +0 -15
  271. package/src/lib/components/layout/main-layout.component.html +0 -26
  272. package/src/lib/components/layout/main-layout.component.ts +0 -54
  273. package/src/lib/components/layout/menu-item.component.html +0 -41
  274. package/src/lib/components/layout/menu-item.component.ts +0 -170
  275. package/src/lib/components/layout/menu.component.html +0 -27
  276. package/src/lib/components/layout/menu.component.ts +0 -17
  277. package/src/lib/components/layout/services/main-layout.component.service.ts +0 -231
  278. package/src/lib/components/layout/topbar.component.html +0 -38
  279. package/src/lib/components/layout/topbar.component.ts +0 -62
  280. package/src/lib/components/tableview/models/table.event.ts +0 -22
  281. package/src/lib/components/tableview/route/tableview-route.abstract.component.ts +0 -31
  282. package/src/lib/components/tableview/services/tableview.component.service.ts +0 -22
  283. package/src/lib/components/tableview/table/column-filter/column-filter.component.html +0 -36
  284. package/src/lib/components/tableview/table/column-filter/column-filter.component.ts +0 -70
  285. package/src/lib/components/tableview/table/column-value/column-value.component.html +0 -14
  286. package/src/lib/components/tableview/table/column-value/column-value.component.ts +0 -19
  287. package/src/lib/components/tableview/table/table.component.html +0 -110
  288. package/src/lib/components/tableview/table/table.component.ts +0 -327
  289. package/src/lib/components/tableview/tableview.component.html +0 -37
  290. package/src/lib/components/tableview/tableview.component.ts +0 -78
  291. package/src/lib/config/formly.config.ts +0 -154
  292. package/src/lib/data-providers/base.data-provider.ts +0 -42
  293. package/src/lib/data-providers/editor.data-provider.ts +0 -60
  294. package/src/lib/data-providers/lookup.data-provider.ts +0 -29
  295. package/src/lib/data-providers/tableview.data-provider.ts +0 -29
  296. package/src/lib/descriptors/action.descriptor.ts +0 -439
  297. package/src/lib/descriptors/editor.descriptor.ts +0 -880
  298. package/src/lib/descriptors/field.validator.ts +0 -35
  299. package/src/lib/descriptors/model.descriptor.ts +0 -47
  300. package/src/lib/descriptors/table.descriptor.ts +0 -514
  301. package/src/lib/descriptors/tableview.descriptor.ts +0 -180
  302. package/src/lib/directives/component.directive.ts +0 -18
  303. package/src/lib/directives/template.directive.ts +0 -24
  304. package/src/lib/mng-commons.module.ts +0 -240
  305. package/src/lib/models/router.model.ts +0 -16
  306. package/src/lib/pipes/boolean.pipe.ts +0 -17
  307. package/src/lib/pipes/property-path.pipe.ts +0 -30
  308. package/src/lib/services/action.service.ts +0 -310
  309. package/src/lib/services/commons.service.ts +0 -407
  310. package/src/lib/services/configuration.service.ts +0 -98
  311. package/src/lib/services/navigation.service.ts +0 -42
  312. package/src/lib/services/providers/commons-init.provider.ts +0 -5
  313. package/src/lib/services/providers/config-service.provider.ts +0 -22
  314. package/src/lib/services/providers/formly-config.provider.ts +0 -39
  315. package/src/lib/services/tokens/browser-storage.token.ts +0 -9
  316. package/src/lib/services/tokens/module-config.token.ts +0 -5
  317. package/src/lib/types/type.decorator.ts +0 -7
  318. package/src/lib/types/type.model.ts +0 -12
  319. package/src/lib/utils/editor-formly.util.ts +0 -193
  320. package/src/lib/utils/i18n.util.ts +0 -148
  321. package/src/lib/utils/model.util.ts +0 -66
  322. package/src/lib/utils/toast.util.ts +0 -49
  323. package/src/lib/utils/type.util.ts +0 -44
  324. package/src/test.ts +0 -26
  325. package/tsconfig.lib.json +0 -15
  326. package/tsconfig.lib.prod.json +0 -10
  327. package/tsconfig.spec.json +0 -17
package/karma.conf.js DELETED
@@ -1,51 +0,0 @@
1
- // Karma configuration file, see link for more information
2
- // https://karma-runner.github.io/1.0/config/configuration-file.html
3
-
4
- module.exports = function (config) {
5
- config.set({
6
- basePath: '',
7
- frameworks: ['jasmine', '@angular-devkit/build-angular'],
8
- plugins: [
9
- require('karma-jasmine'),
10
- require('karma-chrome-launcher'),
11
- require('karma-jasmine-html-reporter'),
12
- require('karma-coverage'),
13
- require('@angular-devkit/build-angular/plugins/karma')
14
- ],
15
- client: {
16
- jasmine: {
17
- // you can add configuration options for Jasmine here
18
- // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
19
- // for example, you can disable the random execution with `random: false`
20
- // or set a specific seed with `seed: 4321`
21
- },
22
- clearContext: false // leave Jasmine Spec Runner output visible in browser
23
- },
24
- jasmineHtmlReporter: {
25
- suppressAll: true // removes the duplicated traces
26
- },
27
- coverageReporter: {
28
- dir: require('path').join(__dirname, '../../coverage/mng-commons'),
29
- subdir: '.',
30
- reporters: [
31
- { type: 'html' },
32
- { type: 'text-summary' }
33
- ]
34
- },
35
- reporters: ['progress', 'kjhtml'],
36
- port: 9876,
37
- colors: true,
38
- logLevel: config.LOG_INFO,
39
- autoWatch: true,
40
- browsers: ['Chrome', 'ChromeHeadless', 'ChromeHeadlessCI'],
41
- customLaunchers: {
42
- ChromeHeadlessCI: {
43
- base: 'ChromeHeadless',
44
- flags: ['--no-sandbox']
45
- }
46
- },
47
- singleRun: false,
48
- restartOnFileChange: true,
49
- failOnEmptyTestSuite: false
50
- });
51
- };
package/ng-package.json DELETED
@@ -1,14 +0,0 @@
1
- {
2
- "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
- "dest": "../../dist/mng-commons",
4
- "lib": {
5
- "entryFile": "src/public-api.ts"
6
- },
7
- "assets": [
8
- "assets/**/*",
9
- "scss/**/*.scss"
10
- ],
11
- "allowedNonPeerDependencies": [
12
- "reflect-metadata"
13
- ]
14
- }
@@ -1,54 +0,0 @@
1
- import {MediusFilterMatchType, MediusFilterParam, MediusQueryParam} from '../';
2
-
3
- export class MediusQueryParamBuilder {
4
-
5
- private constructor(private queryParam: MediusQueryParam) {
6
- }
7
-
8
- public static create(itemsPerPage: number = 50, itemsOffset: number = 0): MediusQueryParamBuilder {
9
- const queryParam = new MediusQueryParam();
10
- queryParam.itemsPerPage = itemsPerPage;
11
- queryParam.itemsOffset = itemsOffset;
12
- return new MediusQueryParamBuilder(queryParam);
13
- }
14
-
15
- public withItemsPerPage(itemsPerPage: number): MediusQueryParamBuilder {
16
- this.queryParam.itemsPerPage = itemsPerPage;
17
- return this;
18
- }
19
-
20
- public withItemsOffset(itemsOffset: number): MediusQueryParamBuilder {
21
- this.queryParam.itemsOffset = itemsOffset;
22
- return this;
23
- }
24
-
25
- public withSort(property: string, asc: boolean = true): MediusQueryParamBuilder {
26
- if (!this.queryParam.sortProperty || !this.queryParam.sortAsc) {
27
- this.queryParam.sortProperty = [];
28
- this.queryParam.sortAsc = [];
29
- }
30
- this.queryParam.sortProperty.push(property);
31
- this.queryParam.sortAsc.push(asc);
32
- return this;
33
- }
34
-
35
- public withFilter(property: string, value: any, valueTo: any = undefined, matchType: MediusFilterMatchType = MediusFilterMatchType.Contains, matchCaseSensitive: boolean = false): MediusQueryParamBuilder {
36
- if (!this.queryParam.filterParams) {
37
- this.queryParam.filterParams = [];
38
- }
39
- const filterParam = new MediusFilterParam();
40
- filterParam.property = property;
41
- filterParam.filterValue = value;
42
- filterParam.filterValueTo = valueTo;
43
- filterParam.filterMatchType = matchType;
44
- filterParam.filterMatchCaseSensitive = matchCaseSensitive;
45
- this.queryParam.filterParams.push(filterParam);
46
- return this;
47
- }
48
-
49
- public build(): MediusQueryParam {
50
- const queryParam = this.queryParam;
51
- this.queryParam = new MediusQueryParam();
52
- return queryParam;
53
- }
54
- }
@@ -1,25 +0,0 @@
1
- /* tslint:disable:no-angle-bracket-type-assertion no-trailing-whitespace member-ordering object-literal-key-quotes */
2
- /**
3
- * Generated API
4
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
- *
6
- * The version of the OpenAPI document: 1.0
7
- *
8
- *
9
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
10
- * https://openapi-generator.tech
11
- * Do not edit the class manually.
12
- */
13
-
14
- export enum MediusFilterMatchType {
15
- Equals = <any> 'EQUALS',
16
- NotEquals = <any> 'NOT_EQUALS',
17
- Contains = <any> 'CONTAINS',
18
- EndsWith = <any> 'ENDS_WITH',
19
- StartsWith = <any> 'STARTS_WITH',
20
- FromTo = <any> 'FROM_TO',
21
- SmallerThan = <any> 'SMALLER_THEN',
22
- GreaterThan = <any> 'GREATER_THEN',
23
- In = <any> 'IN',
24
- NotIn = <any> 'NOT_IN'
25
- }
@@ -1,59 +0,0 @@
1
- /* tslint:disable:no-angle-bracket-type-assertion no-trailing-whitespace member-ordering object-literal-key-quotes */
2
- /**
3
- * Generated API
4
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
- *
6
- * The version of the OpenAPI document: 1.0
7
- *
8
- *
9
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
10
- * https://openapi-generator.tech
11
- * Do not edit the class manually.
12
- */
13
-
14
- import {AttributeDef} from './serialization.model';
15
- import { MediusFilterMatchType } from './filter-match-type.model';
16
-
17
- export class MediusFilterParam {
18
- 'property'?: string;
19
- 'filterMatchCaseSensitive'?: boolean;
20
- 'filterMatchType'?: MediusFilterMatchType;
21
- 'filterValue'?: object;
22
- 'filterValueTo'?: object;
23
-
24
- static discriminator: string | undefined = undefined;
25
-
26
- static attributeTypeMap: Array<AttributeDef> =
27
- [
28
- {
29
- 'name': 'property',
30
- 'baseName': 'property',
31
- 'type': 'string'
32
- },
33
- {
34
- 'name': 'filterMatchCaseSensitive',
35
- 'baseName': 'filter_match_case_sensitive',
36
- 'type': 'boolean'
37
- },
38
- {
39
- 'name': 'filterMatchType',
40
- 'baseName': 'filter_match_type',
41
- 'type': 'FilterMatchType'
42
- },
43
- {
44
- 'name': 'filterValue',
45
- 'baseName': 'filter_value',
46
- 'type': 'object'
47
- },
48
- {
49
- 'name': 'filterValueTo',
50
- 'baseName': 'filter_value_to',
51
- 'type': 'object'
52
- }
53
- ];
54
-
55
- static getAttributeTypeMap() {
56
- return MediusFilterParam.attributeTypeMap;
57
- }
58
- }
59
-
@@ -1,18 +0,0 @@
1
- /* tslint:disable:no-angle-bracket-type-assertion no-trailing-whitespace member-ordering object-literal-key-quotes */
2
- import { MediusFilterMatchType } from './filter-match-type.model';
3
- import { MediusFilterParam } from './filter-param.model';
4
- import { MediusQueryMode } from './query-mode.model';
5
- import { MediusQueryParam } from './query-param.model';
6
- import { MediusQueryResult, MediusQueryResultWithObject } from './query-result.model';
7
-
8
- export const enumsMapBase: {[index: string]: any} = {
9
- 'FilterMatchType': MediusFilterMatchType,
10
- 'QueryMode': MediusQueryMode,
11
- };
12
-
13
- export const typeMapBase: {[index: string]: any} = {
14
- 'FilterParam': MediusFilterParam,
15
- 'QueryParam': MediusQueryParam,
16
- 'QueryResult': MediusQueryResult,
17
- 'QueryResultWithObject': MediusQueryResultWithObject
18
- };
@@ -1,99 +0,0 @@
1
- /* tslint:disable:no-angle-bracket-type-assertion no-trailing-whitespace member-ordering object-literal-key-quotes */
2
- /**
3
- * Generated API
4
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
- *
6
- * The version of the OpenAPI document: 1.0
7
- *
8
- *
9
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
10
- * https://openapi-generator.tech
11
- * Do not edit the class manually.
12
- */
13
- import { MediusFilterParam } from './filter-param.model';
14
- import { MediusQueryMode } from './query-mode.model';
15
- import {AttributeDef} from './serialization.model';
16
-
17
- export class MediusQueryParam {
18
- 'filterAllParam'?: string;
19
- 'filterAllProperties'?: Array<string>;
20
- 'filterParams'?: Array<MediusFilterParam>;
21
- 'groupByProperties'?: Array<string>;
22
- 'itemsOffset': number;
23
- 'itemsPerPage': number;
24
- 'queryMode'?: MediusQueryMode;
25
- 'selectInTwoSteps'?: boolean;
26
- 'sortAsc'?: Array<boolean>;
27
- 'sortEnumByOrdinal'?: boolean;
28
- 'sortProperty'?: Array<string>;
29
- 'validateProperties'?: Array<string>;
30
-
31
- static discriminator: string | undefined = undefined;
32
-
33
- static attributeTypeMap: Array<AttributeDef> = [
34
- {
35
- 'name': 'filterAllParam',
36
- 'baseName': 'filter_all_param',
37
- 'type': 'string'
38
- },
39
- {
40
- 'name': 'filterAllProperties',
41
- 'baseName': 'filter_all_properties',
42
- 'type': 'Array<string>'
43
- },
44
- {
45
- 'name': 'filterParams',
46
- 'baseName': 'filter_params',
47
- 'type': 'Array<FilterParam>'
48
- },
49
- {
50
- 'name': 'groupByProperties',
51
- 'baseName': 'group_by_properties',
52
- 'type': 'Array<string>'
53
- },
54
- {
55
- 'name': 'itemsOffset',
56
- 'baseName': 'items_offset',
57
- 'type': 'number'
58
- },
59
- {
60
- 'name': 'itemsPerPage',
61
- 'baseName': 'items_per_page',
62
- 'type': 'number'
63
- },
64
- {
65
- 'name': 'queryMode',
66
- 'baseName': 'query_mode',
67
- 'type': 'QueryMode'
68
- },
69
- {
70
- 'name': 'selectInTwoSteps',
71
- 'baseName': 'select_in_two_steps',
72
- 'type': 'boolean'
73
- },
74
- {
75
- 'name': 'sortAsc',
76
- 'baseName': 'sort_asc',
77
- 'type': 'Array<boolean>'
78
- },
79
- {
80
- 'name': 'sortEnumByOrdinal',
81
- 'baseName': 'sort_enum_by_ordinal',
82
- 'type': 'boolean'
83
- },
84
- {
85
- 'name': 'sortProperty',
86
- 'baseName': 'sort_property',
87
- 'type': 'Array<string>'
88
- },
89
- {
90
- 'name': 'validateProperties',
91
- 'baseName': 'validate_properties',
92
- 'type': 'Array<string>'
93
- } ];
94
-
95
- static getAttributeTypeMap() {
96
- return MediusQueryParam.attributeTypeMap;
97
- }
98
- }
99
-
@@ -1,77 +0,0 @@
1
- /* tslint:disable:no-angle-bracket-type-assertion no-trailing-whitespace member-ordering object-literal-key-quotes */
2
- /**
3
- * Generated API
4
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
- *
6
- * The version of the OpenAPI document: 1.0
7
- *
8
- *
9
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
10
- * https://openapi-generator.tech
11
- * Do not edit the class manually.
12
- */
13
- import {AttributeDef} from './serialization.model';
14
-
15
- export class MediusQueryResultBase {
16
- 'selectInTwoSteps'?: boolean;
17
- 'allDataCount'?: number;
18
-
19
- static discriminator: string | undefined = undefined;
20
- static attributeTypeMap: Array<AttributeDef> = [
21
- {
22
- 'name': 'allDataCount',
23
- 'baseName': 'all_data_count',
24
- 'type': 'number'
25
- },
26
- {
27
- 'name': 'selectInTwoSteps',
28
- 'baseName': 'selectInTwoSteps',
29
- 'type': 'boolean'
30
- }
31
- ];
32
- }
33
-
34
- export class MediusQueryResultWithObject extends MediusQueryResultBase {
35
- 'pageData'?: Array<object>;
36
-
37
- static override discriminator: string | undefined = undefined;
38
-
39
- static override attributeTypeMap: Array<AttributeDef> = [
40
- ...MediusQueryResultBase.attributeTypeMap,
41
- {
42
- 'name': 'pageData',
43
- 'baseName': 'page_data',
44
- 'type': 'Array<object>'
45
- }
46
- ];
47
-
48
- static getAttributeTypeMap() {
49
- return MediusQueryResultWithObject.attributeTypeMap;
50
- }
51
- }
52
-
53
- export class MediusQueryResult<T> extends MediusQueryResultBase implements IMediusQueryResult<T> {
54
- 'pageData'?: Array<T>;
55
-
56
- static override discriminator: string | undefined = undefined;
57
-
58
- static attributeTypeMapBase: Array<AttributeDef> = MediusQueryResultBase.attributeTypeMap;
59
- static override attributeTypeMap: Array<AttributeDef> = [
60
- ...MediusQueryResultBase.attributeTypeMap,
61
- {
62
- 'name': 'pageData',
63
- 'baseName': 'page_data',
64
- 'type': 'Array<T>'
65
- }
66
- ];
67
-
68
- static getAttributeTypeMap() {
69
- return MediusQueryResultWithObject.attributeTypeMap;
70
- }
71
- }
72
-
73
- export interface IMediusQueryResult<T> {
74
- selectInTwoSteps?: boolean;
75
- allDataCount?: number;
76
- pageData?: Array<T>
77
- }
@@ -1,113 +0,0 @@
1
- import {HttpClient} from '@angular/common/http';
2
-
3
- import {Observable} from 'rxjs';
4
- import {map} from 'rxjs/operators';
5
-
6
- import {MediusQueryParam, MediusQueryResult} from '../models';
7
- import {ObjectSerializer} from '../utils';
8
- import {ClassType} from '../../types';
9
-
10
- export abstract class AMngCrudApiService<T, QRT extends MediusQueryResult<T>> {
11
-
12
- private readonly objectSerializer: ObjectSerializer = ObjectSerializer.get();
13
-
14
- protected constructor(
15
- protected type: ClassType<T>,
16
- protected queryResultType: ClassType<QRT>,
17
- protected http: HttpClient
18
- ) {
19
- }
20
-
21
- protected abstract getBasePath(): string;
22
- protected abstract getServiceBasePath(): string;
23
-
24
- protected getGetAllPostPath(): string {
25
- return '/get-all';
26
- }
27
- protected getCreatePostPath(): string {
28
- return '';
29
- }
30
- protected getUpdatePutPath(id: any, item: T): string {
31
- return `/${id}`;
32
- }
33
- protected getGetByIdGetPath(id: any): string {
34
- return `/${id}`;
35
- }
36
- protected getRemoveDeletePath(id: any, item: T) {
37
- return `/${id}`;
38
- }
39
-
40
- public createPost(item: T): Observable<T> {
41
-
42
- const url = `${this.getBasePath()}/${this.getServiceBasePath()}${this.getCreatePostPath()}`;
43
- return this.http.post<T>(url,
44
- this.objectSerializer.serializeClass(item, this.type),
45
- {
46
- withCredentials: true,
47
- observe: 'body',
48
- reportProgress: false
49
- })
50
- .pipe(
51
- map(res => this.objectSerializer.deserializeClass(res, this.type))
52
- );
53
- }
54
-
55
- public getAllPost(queryParam?: MediusQueryParam): Observable<QRT> {
56
-
57
- const url = `${this.getBasePath()}/${this.getServiceBasePath()}${this.getGetAllPostPath()}`;
58
- return this.http.post<QRT>(url,
59
- this.objectSerializer.serialize(queryParam, 'QueryParam'),
60
- {
61
- withCredentials: true,
62
- observe: 'body',
63
- reportProgress: false
64
- })
65
- .pipe(
66
- map(res => this.objectSerializer.deserializeClass(res, this.queryResultType))
67
- );
68
- }
69
-
70
- public getByIdGet(id: any): Observable<T> {
71
-
72
- const url = `${this.getBasePath()}/${this.getServiceBasePath()}${this.getGetByIdGetPath(id)}`;
73
- return this.http.get<T>(url,
74
- {
75
- withCredentials: true,
76
- observe: 'body',
77
- reportProgress: false
78
- })
79
- .pipe(
80
- map(res => this.objectSerializer.deserializeClass(res, this.type))
81
- );
82
- }
83
-
84
- public updatePut(id: any, item: T): Observable<T> {
85
-
86
- const url = `${this.getBasePath()}/${this.getServiceBasePath()}${this.getUpdatePutPath(id, item)}`;
87
- return this.http.put<T>(url,
88
- this.objectSerializer.serializeClass(item, this.type),
89
- {
90
- withCredentials: true,
91
- observe: 'body',
92
- reportProgress: false
93
- })
94
- .pipe(
95
- map(res => this.objectSerializer.deserializeClass(res, this.type))
96
- );
97
- }
98
-
99
- public removeDelete(id: any, item: T): Observable<any> {
100
-
101
- const url = `${this.getBasePath()}/${this.getServiceBasePath()}${this.getRemoveDeletePath(id, item)}`;
102
- return this.http.request<any>('delete', url,
103
- {
104
- withCredentials: true,
105
- observe: 'body',
106
- reportProgress: false,
107
- body: this.objectSerializer.serializeClass(item, this.type)
108
- })
109
- .pipe(
110
- map(res => this.objectSerializer.deserializeClass(res, this.type))
111
- );
112
- }
113
- }
@@ -1,146 +0,0 @@
1
- import {Params} from '@angular/router';
2
-
3
- import {FilterMetadata, LazyLoadEvent} from 'primeng/api';
4
-
5
- import {MediusFilterMatchType, MediusQueryParam, MediusQueryParamBuilder} from '../models';
6
- import {FilterDescriptor} from '../../descriptors';
7
-
8
- export class MediusRestUtil {
9
-
10
- // first value is from primeNG, second is for use in query params
11
- public static readonly matchModeMapping: Array<[string, string, MediusFilterMatchType]> = [
12
- ['contains', 'c', MediusFilterMatchType.Contains],
13
- ['endsWith', 'ew', MediusFilterMatchType.EndsWith],
14
- ['equals', 'eq', MediusFilterMatchType.Equals],
15
- ['gte', 'gte', MediusFilterMatchType.GreaterThan],
16
- ['leq', 'leq', MediusFilterMatchType.SmallerThan],
17
- ['startsWith', 'sw', MediusFilterMatchType.StartsWith],
18
- ['in', 'in', MediusFilterMatchType.In],
19
- ['notEquals', 'neq', MediusFilterMatchType.NotEquals]
20
- ];
21
-
22
- public static fromAngularQueryParamsToMediusQueryParams(params: Params, filterDescriptors: Array<FilterDescriptor<any>>, defaultItemsPerPage = 10, defaultOffset= 0): MediusQueryParam {
23
- const offset = params['first'] ? parseInt(params['first']) : defaultOffset;
24
- const itemsPerPage = params['rows'] ? parseInt(params['rows']) : defaultItemsPerPage;
25
-
26
- const mediusParamsBuilder = MediusQueryParamBuilder.create(itemsPerPage, offset);
27
-
28
- if (params['sort']) {
29
- for (const sort of params['sort'].split(',')) {
30
- const qpSortSplit = sort.split(':');
31
- const field = qpSortSplit[0];
32
- const asc = qpSortSplit.length > 1 ? qpSortSplit[1] === 'asc' : true;
33
- mediusParamsBuilder.withSort(field, asc);
34
- }
35
- }
36
- if (params['filter']) {
37
- const filterSplit = params['filter'].split(',');
38
- for (const filterField of filterSplit) {
39
- const filterFieldSplit = filterField.split(':');
40
- const field = filterFieldSplit[0];
41
- const operator = filterFieldSplit.length > 1 ? filterFieldSplit[1] : 'eq';
42
-
43
- // prepare value
44
- let value: any = filterFieldSplit.length > 2 ? filterFieldSplit[2] : '';
45
- let valueTo: any = undefined;
46
- if (value.startsWith('\'')) {
47
- value = value.substring(1, value.length - 1);
48
- }
49
- if (value.startsWith('[') && value.endsWith(']')) {
50
- value = value.substring(1, value.length - 1).split(',').map((v: string) => v.startsWith('\'') ? v.substring(1, v.length - 1) : v);
51
- }
52
-
53
- const operatorMapping = MediusRestUtil.matchModeMapping.find(mapping => mapping[1] === operator);
54
- const filterDescriptor = filterDescriptors.find(f => f.property === field);
55
- if (operatorMapping && filterDescriptor) {
56
- const fieldFilterProperty = filterDescriptor.filterProperty ?? filterDescriptor.property;
57
- mediusParamsBuilder.withFilter(fieldFilterProperty, value, valueTo, MediusRestUtil.getMediusFilterMatchTypeFromPrimeMatchMode(operatorMapping[0]));
58
- }
59
- }
60
- }
61
-
62
- return mediusParamsBuilder.build();
63
- }
64
-
65
- public static fromPrimeLazyLoadEventToAngularQueryParams(event: LazyLoadEvent, defaultItemsPerPage = 10, defaultOffset= 0): Params {
66
- const params: Params = {
67
- first: null,
68
- rows: null,
69
- sort: null,
70
- filter: null
71
- };
72
-
73
- if (event.first && event.first !== defaultOffset && event.first > 0) {
74
- params['first'] = event.first;
75
- }
76
- if (event.rows && event.rows !== defaultItemsPerPage && event.rows > 0) {
77
- params['rows'] = event.rows;
78
- }
79
-
80
- if (event.multiSortMeta?.length ?? 0 > 0) {
81
- params['sort'] = event.multiSortMeta?.map(s => `${s.field}${s.order === 1 ? '' : ':desc'}`).join(',');
82
- }
83
-
84
- if (event.filters) {
85
- const filters = [];
86
- for (const field in event.filters) {
87
- const primeOperator = event.filters[field].matchMode;
88
- let value = event.filters[field].value;
89
- const operatorMapping = MediusRestUtil.matchModeMapping.find(mapping => mapping[0] === primeOperator);
90
- if (operatorMapping && typeof value !== 'undefined' && value !== null &&
91
- ((typeof value === 'string' && value.length > 0) || (Array.isArray(value) && value.length > 0))) {
92
-
93
- if (Array.isArray(value)) {
94
- value = `[${value.map(v => `'${v}'`).join(',')}]`;
95
- } else {
96
- value = `'${value}'`;
97
- }
98
-
99
- filters.push(`${field}:${operatorMapping[1]}:${value}`);
100
- }
101
- }
102
- if (filters.length > 0) {
103
- params['filter'] = filters.join(',');
104
- }
105
- }
106
-
107
- return params;
108
- }
109
-
110
- public static fromPrimeLazyLoadEventToMediusQueryParams(event: LazyLoadEvent): MediusQueryParam {
111
-
112
- const queryParamBuilder = MediusQueryParamBuilder.create(event.rows, event.first);
113
-
114
- // apply sorting
115
- if (event.multiSortMeta) {
116
- event.multiSortMeta.forEach(msm => queryParamBuilder.withSort(msm.field, msm.order === 1));
117
- }
118
-
119
- // apply filtering
120
- if (event.filters) {
121
- for (const key of Object.keys(event.filters)) {
122
- const filterEvent = event.filters[key];
123
- if (Array.isArray(filterEvent)) {
124
- (filterEvent as FilterMetadata[]).filter(e => e.value)
125
- .forEach(e => MediusRestUtil.addMediusFilterFromPrimeFilterMetadata(queryParamBuilder, key, e));
126
- } else if (typeof filterEvent === 'object') {
127
- if (filterEvent.value) {
128
- MediusRestUtil.addMediusFilterFromPrimeFilterMetadata(queryParamBuilder, key, filterEvent);
129
- }
130
- }
131
- }
132
- }
133
-
134
- return queryParamBuilder.build();
135
- }
136
-
137
- public static addMediusFilterFromPrimeFilterMetadata(queryParamBuilder: MediusQueryParamBuilder, property: string, filterMetadata: FilterMetadata) {
138
- const matchType: MediusFilterMatchType = MediusRestUtil.getMediusFilterMatchTypeFromPrimeMatchMode(filterMetadata.matchMode ?? 'contains');
139
- queryParamBuilder.withFilter(property, filterMetadata.value, undefined, matchType);
140
- }
141
-
142
- public static getMediusFilterMatchTypeFromPrimeMatchMode(matchMode: string): MediusFilterMatchType {
143
- const mapping = MediusRestUtil.matchModeMapping.find(m => m[0] === matchMode);
144
- return mapping?.[2] ?? MediusFilterMatchType.Contains;
145
- }
146
- }