@mediusinc/mng-commons 0.19.3 → 0.21.0-rc.1

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 (384) hide show
  1. package/assets/i18n/en.json +14 -3
  2. package/assets/i18n/sl.json +14 -3
  3. package/esm2020/lib/api/models/builders/query-param.builder.mjs +58 -58
  4. package/esm2020/lib/api/models/filter-match-type.model.mjs +24 -24
  5. package/esm2020/lib/api/models/filter-param.model.mjs +32 -32
  6. package/esm2020/lib/api/models/index.mjs +8 -8
  7. package/esm2020/lib/api/models/mappers.mjs +12 -12
  8. package/esm2020/lib/api/models/query-mode.model.mjs +17 -17
  9. package/esm2020/lib/api/models/query-param.model.mjs +67 -67
  10. package/esm2020/lib/api/models/query-result.model.mjs +23 -23
  11. package/esm2020/lib/api/models/serialization.model.mjs +1 -1
  12. package/esm2020/lib/api/services/api.abstract.service.mjs +57 -57
  13. package/esm2020/lib/api/services/crud-api.abstract.service.mjs +75 -68
  14. package/esm2020/lib/api/services/get-all-api.abstract.service.mjs +30 -23
  15. package/esm2020/lib/api/services/index.mjs +3 -3
  16. package/esm2020/lib/api/utils/index.mjs +2 -2
  17. package/esm2020/lib/api/utils/medius-rest.util.mjs +212 -212
  18. package/esm2020/lib/api/utils/object-serializer.util.mjs +247 -247
  19. package/esm2020/lib/components/action/action.component.mjs +225 -221
  20. package/esm2020/lib/components/action/editor/action-editor.component.mjs +303 -281
  21. package/esm2020/lib/components/action/index.mjs +5 -4
  22. package/esm2020/lib/components/action/localization/data-language-dropdown.component.mjs +45 -0
  23. package/esm2020/lib/components/action/models/action-component.model.mjs +2 -0
  24. package/esm2020/lib/components/action/models/action-confirmation-service.model.mjs +1 -1
  25. package/esm2020/lib/components/action/models/action-execution.model.mjs +249 -245
  26. package/esm2020/lib/components/action/models/index.mjs +5 -4
  27. package/esm2020/lib/components/action/models/tableview-action-default-categories.model.mjs +10 -10
  28. package/esm2020/lib/components/action/route/action-route.component.mjs +129 -129
  29. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +299 -299
  30. package/esm2020/lib/components/form/date-range/date-range.component.mjs +108 -108
  31. package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +193 -193
  32. package/esm2020/lib/components/form/editor/form-editor.component.mjs +240 -219
  33. package/esm2020/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.mjs +38 -38
  34. package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +49 -49
  35. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +44 -44
  36. package/esm2020/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +25 -25
  37. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +150 -103
  38. package/esm2020/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.mjs +23 -23
  39. package/esm2020/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +180 -180
  40. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +167 -167
  41. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +148 -148
  42. package/esm2020/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +16 -16
  43. package/esm2020/lib/components/form/formly/fields/index.mjs +10 -10
  44. package/esm2020/lib/components/form/formly/formly.config.mjs +212 -186
  45. package/esm2020/lib/components/form/formly/index.mjs +1 -1
  46. package/esm2020/lib/components/form/formly/models/formly-config.model.mjs +1 -1
  47. package/esm2020/lib/components/form/formly/models/formly-field.model.mjs +1 -1
  48. package/esm2020/lib/components/form/formly/models/index.mjs +2 -2
  49. package/esm2020/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +14 -14
  50. package/esm2020/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +79 -15
  51. package/esm2020/lib/components/form/formly/wrappers/index.mjs +2 -2
  52. package/esm2020/lib/components/form/index.mjs +4 -4
  53. package/esm2020/lib/components/form/models/field-action-context.model.mjs +1 -1
  54. package/esm2020/lib/components/form/models/form-editor.event.mjs +33 -33
  55. package/esm2020/lib/components/form/models/form-editor.interface.mjs +1 -1
  56. package/esm2020/lib/components/form/models/index.mjs +2 -2
  57. package/esm2020/lib/components/layout/breadcrumb.component.mjs +16 -16
  58. package/esm2020/lib/components/layout/footer.component.mjs +16 -16
  59. package/esm2020/lib/components/layout/index.mjs +7 -7
  60. package/esm2020/lib/components/layout/main-layout.component.mjs +51 -51
  61. package/esm2020/lib/components/layout/menu-item.component.mjs +271 -271
  62. package/esm2020/lib/components/layout/menu.component.mjs +20 -20
  63. package/esm2020/lib/components/layout/services/index.mjs +1 -1
  64. package/esm2020/lib/components/layout/services/main-layout.component.service.mjs +194 -194
  65. package/esm2020/lib/components/layout/topbar.component.mjs +64 -64
  66. package/esm2020/lib/components/layout/version.component.mjs +57 -57
  67. package/esm2020/lib/components/tableview/index.mjs +6 -6
  68. package/esm2020/lib/components/tableview/models/index.mjs +1 -1
  69. package/esm2020/lib/components/tableview/models/table.event.mjs +15 -15
  70. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +122 -115
  71. package/esm2020/lib/components/tableview/route/tableview-route.component.mjs +52 -52
  72. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +119 -119
  73. package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +84 -74
  74. package/esm2020/lib/components/tableview/table/table.component.mjs +604 -590
  75. package/esm2020/lib/components/tableview/tableview.component.mjs +112 -112
  76. package/esm2020/lib/data-providers/base.data-provider.mjs +16 -16
  77. package/esm2020/lib/data-providers/editor.data-provider.mjs +37 -37
  78. package/esm2020/lib/data-providers/index.mjs +6 -6
  79. package/esm2020/lib/data-providers/lookup.data-provider.mjs +15 -15
  80. package/esm2020/lib/data-providers/table.data-provider.mjs +38 -38
  81. package/esm2020/lib/data-providers/tableview-crud.data-provider.mjs +24 -24
  82. package/esm2020/lib/data-providers/tableview.data-provider.mjs +45 -59
  83. package/esm2020/lib/descriptors/action/action-confirmation.descriptor.mjs +76 -76
  84. package/esm2020/lib/descriptors/action-button.descriptor.mjs +59 -59
  85. package/esm2020/lib/descriptors/action.descriptor.mjs +555 -548
  86. package/esm2020/lib/descriptors/column.descriptor.mjs +405 -381
  87. package/esm2020/lib/descriptors/editor.descriptor.mjs +290 -251
  88. package/esm2020/lib/descriptors/field-validation.descriptor.mjs +24 -24
  89. package/esm2020/lib/descriptors/field.descriptor.mjs +979 -904
  90. package/esm2020/lib/descriptors/filter.descriptor.mjs +320 -320
  91. package/esm2020/lib/descriptors/index.mjs +11 -11
  92. package/esm2020/lib/descriptors/interfaces/field-config.interface.mjs +1 -1
  93. package/esm2020/lib/descriptors/interfaces/index.mjs +2 -2
  94. package/esm2020/lib/descriptors/interfaces/lookup-descriptor.interface.mjs +1 -1
  95. package/esm2020/lib/descriptors/model.descriptor.mjs +44 -44
  96. package/esm2020/lib/descriptors/table.descriptor.mjs +482 -463
  97. package/esm2020/lib/descriptors/tableview.descriptor.mjs +340 -324
  98. package/esm2020/lib/descriptors/types/action.type.mjs +25 -25
  99. package/esm2020/lib/descriptors/types/column.type.mjs +21 -12
  100. package/esm2020/lib/descriptors/types/editor.type.mjs +7 -7
  101. package/esm2020/lib/descriptors/types/field.type.mjs +55 -53
  102. package/esm2020/lib/descriptors/types/filter.type.mjs +30 -30
  103. package/esm2020/lib/descriptors/types/index.mjs +6 -6
  104. package/esm2020/lib/descriptors/types/table.type.mjs +26 -26
  105. package/esm2020/lib/directives/component.directive.mjs +44 -44
  106. package/esm2020/lib/directives/index.mjs +2 -2
  107. package/esm2020/lib/directives/template.directive.mjs +27 -27
  108. package/esm2020/lib/mng-commons.module.mjs +471 -466
  109. package/esm2020/lib/models/column-value.model.mjs +1 -1
  110. package/esm2020/lib/models/config.model.mjs +2 -2
  111. package/esm2020/lib/models/enum.model.mjs +1 -1
  112. package/esm2020/lib/models/error.model.mjs +1 -1
  113. package/esm2020/lib/models/index.mjs +9 -9
  114. package/esm2020/lib/models/menu.model.mjs +1 -1
  115. package/esm2020/lib/models/tableview-attr.model.mjs +2 -2
  116. package/esm2020/lib/models/user.model.mjs +1 -1
  117. package/esm2020/lib/models/version.model.mjs +1 -1
  118. package/esm2020/lib/models/view-container.model.mjs +2 -2
  119. package/esm2020/lib/pipes/boolean.pipe.mjs +26 -26
  120. package/esm2020/lib/pipes/class-map.pipe.mjs +21 -21
  121. package/esm2020/lib/pipes/enum.pipe.mjs +24 -24
  122. package/esm2020/lib/pipes/enumerate-async.pipe.mjs +37 -37
  123. package/esm2020/lib/pipes/enumerate.pipe.mjs +54 -54
  124. package/esm2020/lib/pipes/getter.pipe.mjs +19 -19
  125. package/esm2020/lib/pipes/i18n-property.pipe.mjs +17 -17
  126. package/esm2020/lib/pipes/index.mjs +10 -10
  127. package/esm2020/lib/pipes/json-path.pipe.mjs +78 -78
  128. package/esm2020/lib/pipes/models/internal/enumrate-pipe-i18n.model.mjs +1 -1
  129. package/esm2020/lib/pipes/models/internal/index.mjs +1 -1
  130. package/esm2020/lib/pipes/parametrize.pipe.mjs +84 -84
  131. package/esm2020/lib/pipes/template.pipe.mjs +23 -23
  132. package/esm2020/lib/router/index.mjs +2 -2
  133. package/esm2020/lib/router/models/index.mjs +1 -1
  134. package/esm2020/lib/router/models/router.model.mjs +1 -1
  135. package/esm2020/lib/router/route-builder.mjs +425 -425
  136. package/esm2020/lib/router/tableview-route-builder.mjs +186 -186
  137. package/esm2020/lib/security/authorization.guard.mjs +25 -25
  138. package/esm2020/lib/security/authorization.service.mjs +46 -46
  139. package/esm2020/lib/security/authorization.util.mjs +15 -15
  140. package/esm2020/lib/security/index.mjs +3 -3
  141. package/esm2020/lib/security/model/authorization.type.mjs +7 -7
  142. package/esm2020/lib/security/model/index.mjs +3 -3
  143. package/esm2020/lib/security/model/permission-service.interface.mjs +1 -1
  144. package/esm2020/lib/security/model/permissions.model.mjs +86 -86
  145. package/esm2020/lib/services/action-executor.service.mjs +552 -552
  146. package/esm2020/lib/services/commons.service.mjs +446 -420
  147. package/esm2020/lib/services/configuration.service.mjs +119 -119
  148. package/esm2020/lib/services/error-mapper.service.mjs +13 -13
  149. package/esm2020/lib/services/index.mjs +6 -6
  150. package/esm2020/lib/services/internal/commons-init.provider.mjs +3 -3
  151. package/esm2020/lib/services/internal/commons-init.service.mjs +43 -43
  152. package/esm2020/lib/services/internal/index.mjs +2 -2
  153. package/esm2020/lib/services/navigation.service.mjs +47 -47
  154. package/esm2020/lib/services/providers/config-service.provider.mjs +29 -29
  155. package/esm2020/lib/services/providers/formly-config.provider.mjs +30 -30
  156. package/esm2020/lib/services/providers/index.mjs +2 -2
  157. package/esm2020/lib/services/tokens/browser-storage.token.mjs +5 -5
  158. package/esm2020/lib/services/tokens/commons-init.token.mjs +2 -2
  159. package/esm2020/lib/services/tokens/default-setting.token.mjs +2 -2
  160. package/esm2020/lib/services/tokens/index.mjs +4 -4
  161. package/esm2020/lib/services/tokens/module-config.token.mjs +2 -2
  162. package/esm2020/lib/services/version.service.mjs +38 -38
  163. package/esm2020/lib/services/view-container.component.service.mjs +54 -54
  164. package/esm2020/lib/styles/button-style.builder.mjs +164 -164
  165. package/esm2020/lib/styles/index.mjs +2 -2
  166. package/esm2020/lib/styles/models/index.mjs +2 -2
  167. package/esm2020/lib/styles/models/style-level.enum.mjs +11 -11
  168. package/esm2020/lib/styles/models/style-size.enum.mjs +8 -8
  169. package/esm2020/lib/styles/styles.util.mjs +41 -41
  170. package/esm2020/lib/types/index.mjs +2 -2
  171. package/esm2020/lib/types/type.decorator.mjs +21 -21
  172. package/esm2020/lib/types/type.model.mjs +1 -1
  173. package/esm2020/lib/utils/action-data-provider.util.mjs +145 -145
  174. package/esm2020/lib/utils/date.util.mjs +117 -117
  175. package/esm2020/lib/utils/editor-formly.util.mjs +277 -263
  176. package/esm2020/lib/utils/enum.util.mjs +81 -81
  177. package/esm2020/lib/utils/i18n.util.mjs +232 -232
  178. package/esm2020/lib/utils/index.mjs +9 -9
  179. package/esm2020/lib/utils/model.util.mjs +68 -68
  180. package/esm2020/lib/utils/notification.util.mjs +45 -45
  181. package/esm2020/lib/utils/route.util.mjs +23 -23
  182. package/esm2020/lib/utils/string.util.mjs +26 -26
  183. package/esm2020/lib/utils/tableview.util.mjs +160 -144
  184. package/esm2020/lib/utils/type.util.mjs +92 -92
  185. package/esm2020/mediusinc-mng-commons.mjs +4 -4
  186. package/esm2020/public-api.mjs +54 -54
  187. package/fesm2015/mediusinc-mng-commons.mjs +13529 -13030
  188. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  189. package/fesm2020/mediusinc-mng-commons.mjs +13369 -12876
  190. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  191. package/index.d.ts +5 -5
  192. package/lib/api/models/builders/query-param.builder.d.ts +13 -13
  193. package/lib/api/models/filter-match-type.model.d.ts +23 -23
  194. package/lib/api/models/filter-param.model.d.ts +23 -23
  195. package/lib/api/models/index.d.ts +8 -8
  196. package/lib/api/models/mappers.d.ts +6 -6
  197. package/lib/api/models/query-mode.model.d.ts +16 -16
  198. package/lib/api/models/query-param.model.d.ts +31 -31
  199. package/lib/api/models/query-result.model.d.ts +24 -24
  200. package/lib/api/models/serialization.model.d.ts +8 -8
  201. package/lib/api/services/api.abstract.service.d.ts +24 -24
  202. package/lib/api/services/crud-api.abstract.service.d.ts +22 -22
  203. package/lib/api/services/get-all-api.abstract.service.d.ts +14 -14
  204. package/lib/api/services/index.d.ts +3 -3
  205. package/lib/api/utils/index.d.ts +2 -2
  206. package/lib/api/utils/medius-rest.util.d.ts +16 -16
  207. package/lib/api/utils/object-serializer.util.d.ts +33 -33
  208. package/lib/components/action/action.component.d.ts +74 -72
  209. package/lib/components/action/editor/action-editor.component.d.ts +69 -65
  210. package/lib/components/action/index.d.ts +4 -3
  211. package/lib/components/action/localization/data-language-dropdown.component.d.ts +25 -0
  212. package/lib/components/action/models/action-component.model.d.ts +15 -0
  213. package/lib/components/action/models/action-confirmation-service.model.d.ts +6 -6
  214. package/lib/components/action/models/action-execution.model.d.ts +135 -133
  215. package/lib/components/action/models/index.d.ts +4 -3
  216. package/lib/components/action/models/tableview-action-default-categories.model.d.ts +10 -10
  217. package/lib/components/action/route/action-route.component.d.ts +31 -31
  218. package/lib/components/form/autocomplete/autocomplete.component.d.ts +61 -61
  219. package/lib/components/form/date-range/date-range.component.d.ts +28 -28
  220. package/lib/components/form/dropdown/dropdown.component.d.ts +52 -52
  221. package/lib/components/form/editor/form-editor.component.d.ts +50 -45
  222. package/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.d.ts +13 -13
  223. package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +16 -16
  224. package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +15 -15
  225. package/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +14 -14
  226. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +29 -24
  227. package/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.d.ts +11 -11
  228. package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +46 -46
  229. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +21 -21
  230. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +37 -37
  231. package/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +7 -7
  232. package/lib/components/form/formly/fields/index.d.ts +10 -10
  233. package/lib/components/form/formly/formly.config.d.ts +14 -12
  234. package/lib/components/form/formly/index.d.ts +1 -1
  235. package/lib/components/form/formly/models/formly-config.model.d.ts +11 -11
  236. package/lib/components/form/formly/models/formly-field.model.d.ts +16 -16
  237. package/lib/components/form/formly/models/index.d.ts +2 -2
  238. package/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.d.ts +6 -6
  239. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +11 -6
  240. package/lib/components/form/formly/wrappers/index.d.ts +2 -2
  241. package/lib/components/form/index.d.ts +4 -4
  242. package/lib/components/form/models/field-action-context.model.d.ts +17 -17
  243. package/lib/components/form/models/form-editor.event.d.ts +37 -37
  244. package/lib/components/form/models/form-editor.interface.d.ts +10 -10
  245. package/lib/components/form/models/index.d.ts +2 -2
  246. package/lib/components/layout/breadcrumb.component.d.ts +8 -8
  247. package/lib/components/layout/footer.component.d.ts +9 -9
  248. package/lib/components/layout/index.d.ts +7 -7
  249. package/lib/components/layout/main-layout.component.d.ts +20 -20
  250. package/lib/components/layout/menu-item.component.d.ts +52 -52
  251. package/lib/components/layout/menu.component.d.ts +10 -10
  252. package/lib/components/layout/services/index.d.ts +1 -1
  253. package/lib/components/layout/services/main-layout.component.service.d.ts +65 -65
  254. package/lib/components/layout/topbar.component.d.ts +28 -28
  255. package/lib/components/layout/version.component.d.ts +19 -19
  256. package/lib/components/tableview/index.d.ts +6 -6
  257. package/lib/components/tableview/models/index.d.ts +1 -1
  258. package/lib/components/tableview/models/table.event.d.ts +17 -17
  259. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +29 -28
  260. package/lib/components/tableview/route/tableview-route.component.d.ts +18 -18
  261. package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +38 -38
  262. package/lib/components/tableview/table/column-value/column-value.component.d.ts +35 -30
  263. package/lib/components/tableview/table/table.component.d.ts +116 -114
  264. package/lib/components/tableview/tableview.component.d.ts +48 -48
  265. package/lib/data-providers/base.data-provider.d.ts +14 -14
  266. package/lib/data-providers/editor.data-provider.d.ts +25 -25
  267. package/lib/data-providers/index.d.ts +6 -6
  268. package/lib/data-providers/lookup.data-provider.d.ts +14 -14
  269. package/lib/data-providers/table.data-provider.d.ts +27 -27
  270. package/lib/data-providers/tableview-crud.data-provider.d.ts +8 -8
  271. package/lib/data-providers/tableview.data-provider.d.ts +33 -37
  272. package/lib/descriptors/action/action-confirmation.descriptor.d.ts +36 -36
  273. package/lib/descriptors/action-button.descriptor.d.ts +22 -22
  274. package/lib/descriptors/action.descriptor.d.ts +216 -212
  275. package/lib/descriptors/column.descriptor.d.ts +130 -123
  276. package/lib/descriptors/editor.descriptor.d.ts +116 -95
  277. package/lib/descriptors/field-validation.descriptor.d.ts +19 -19
  278. package/lib/descriptors/field.descriptor.d.ts +342 -324
  279. package/lib/descriptors/filter.descriptor.d.ts +112 -112
  280. package/lib/descriptors/index.d.ts +11 -11
  281. package/lib/descriptors/interfaces/field-config.interface.d.ts +9 -9
  282. package/lib/descriptors/interfaces/index.d.ts +2 -2
  283. package/lib/descriptors/interfaces/lookup-descriptor.interface.d.ts +17 -17
  284. package/lib/descriptors/model.descriptor.d.ts +18 -18
  285. package/lib/descriptors/table.descriptor.d.ts +188 -182
  286. package/lib/descriptors/tableview.descriptor.d.ts +129 -122
  287. package/lib/descriptors/types/action.type.d.ts +21 -21
  288. package/lib/descriptors/types/column.type.d.ts +18 -10
  289. package/lib/descriptors/types/editor.type.d.ts +6 -6
  290. package/lib/descriptors/types/field.type.d.ts +46 -44
  291. package/lib/descriptors/types/filter.type.d.ts +27 -27
  292. package/lib/descriptors/types/index.d.ts +6 -6
  293. package/lib/descriptors/types/table.type.d.ts +22 -22
  294. package/lib/directives/component.directive.d.ts +16 -16
  295. package/lib/directives/index.d.ts +2 -2
  296. package/lib/directives/template.directive.d.ts +13 -13
  297. package/lib/mng-commons.module.d.ts +96 -94
  298. package/lib/models/column-value.model.d.ts +4 -4
  299. package/lib/models/config.model.d.ts +40 -39
  300. package/lib/models/enum.model.d.ts +6 -6
  301. package/lib/models/error.model.d.ts +14 -14
  302. package/lib/models/index.d.ts +9 -9
  303. package/lib/models/menu.model.d.ts +30 -30
  304. package/lib/models/tableview-attr.model.d.ts +10 -9
  305. package/lib/models/user.model.d.ts +8 -8
  306. package/lib/models/version.model.d.ts +18 -18
  307. package/lib/models/view-container.model.d.ts +43 -42
  308. package/lib/pipes/boolean.pipe.d.ts +7 -7
  309. package/lib/pipes/class-map.pipe.d.ts +7 -7
  310. package/lib/pipes/enum.pipe.d.ts +8 -8
  311. package/lib/pipes/enumerate-async.pipe.d.ts +14 -14
  312. package/lib/pipes/enumerate.pipe.d.ts +21 -21
  313. package/lib/pipes/getter.pipe.d.ts +7 -7
  314. package/lib/pipes/i18n-property.pipe.d.ts +8 -8
  315. package/lib/pipes/index.d.ts +10 -10
  316. package/lib/pipes/json-path.pipe.d.ts +13 -13
  317. package/lib/pipes/models/internal/enumrate-pipe-i18n.model.d.ts +5 -5
  318. package/lib/pipes/models/internal/index.d.ts +1 -1
  319. package/lib/pipes/parametrize.pipe.d.ts +13 -13
  320. package/lib/pipes/template.pipe.d.ts +10 -10
  321. package/lib/router/index.d.ts +2 -2
  322. package/lib/router/models/index.d.ts +1 -1
  323. package/lib/router/models/router.model.d.ts +33 -33
  324. package/lib/router/route-builder.d.ts +98 -98
  325. package/lib/router/tableview-route-builder.d.ts +37 -37
  326. package/lib/security/authorization.guard.d.ts +11 -11
  327. package/lib/security/authorization.service.d.ts +19 -19
  328. package/lib/security/authorization.util.d.ts +5 -5
  329. package/lib/security/index.d.ts +3 -3
  330. package/lib/security/model/authorization.type.d.ts +6 -6
  331. package/lib/security/model/index.d.ts +3 -3
  332. package/lib/security/model/permission-service.interface.d.ts +6 -6
  333. package/lib/security/model/permissions.model.d.ts +37 -37
  334. package/lib/services/action-executor.service.d.ts +149 -149
  335. package/lib/services/commons.service.d.ts +89 -84
  336. package/lib/services/configuration.service.d.ts +45 -45
  337. package/lib/services/error-mapper.service.d.ts +7 -7
  338. package/lib/services/index.d.ts +6 -6
  339. package/lib/services/internal/commons-init.provider.d.ts +3 -3
  340. package/lib/services/internal/commons-init.service.d.ts +16 -16
  341. package/lib/services/internal/index.d.ts +2 -2
  342. package/lib/services/navigation.service.d.ts +14 -14
  343. package/lib/services/providers/config-service.provider.d.ts +6 -6
  344. package/lib/services/providers/formly-config.provider.d.ts +4 -4
  345. package/lib/services/providers/index.d.ts +2 -2
  346. package/lib/services/tokens/browser-storage.token.d.ts +2 -2
  347. package/lib/services/tokens/commons-init.token.d.ts +3 -3
  348. package/lib/services/tokens/default-setting.token.d.ts +2 -2
  349. package/lib/services/tokens/index.d.ts +4 -4
  350. package/lib/services/tokens/module-config.token.d.ts +3 -3
  351. package/lib/services/version.service.d.ts +13 -13
  352. package/lib/services/view-container.component.service.d.ts +31 -31
  353. package/lib/styles/button-style.builder.d.ts +67 -67
  354. package/lib/styles/index.d.ts +2 -2
  355. package/lib/styles/models/index.d.ts +2 -2
  356. package/lib/styles/models/style-level.enum.d.ts +10 -10
  357. package/lib/styles/models/style-size.enum.d.ts +7 -7
  358. package/lib/styles/styles.util.d.ts +14 -14
  359. package/lib/types/index.d.ts +2 -2
  360. package/lib/types/type.decorator.d.ts +4 -4
  361. package/lib/types/type.model.d.ts +23 -23
  362. package/lib/utils/action-data-provider.util.d.ts +20 -20
  363. package/lib/utils/date.util.d.ts +7 -7
  364. package/lib/utils/editor-formly.util.d.ts +12 -12
  365. package/lib/utils/enum.util.d.ts +50 -50
  366. package/lib/utils/i18n.util.d.ts +56 -56
  367. package/lib/utils/index.d.ts +9 -9
  368. package/lib/utils/model.util.d.ts +8 -8
  369. package/lib/utils/notification.util.d.ts +11 -11
  370. package/lib/utils/route.util.d.ts +4 -4
  371. package/lib/utils/string.util.d.ts +4 -4
  372. package/lib/utils/tableview.util.d.ts +40 -39
  373. package/lib/utils/type.util.d.ts +57 -57
  374. package/mediusinc-mng-commons-0.21.0-rc.1.tgz +0 -0
  375. package/package.json +1 -1
  376. package/public-api.d.ts +34 -34
  377. package/scss/common/theme/designer/_components.scss +1 -0
  378. package/scss/common/theme/designer/components/multimedia/_image.scss +44 -0
  379. package/scss/common/variables/theme/_theme_dark.scss +15 -1
  380. package/scss/common/variables/theme/_theme_light.scss +15 -1
  381. package/scss/mng-overrides/_theme_forms.scss +5 -0
  382. package/scss/mng-overrides/_theme_image.scss +27 -0
  383. package/scss/mng-overrides/_theme_styles.scss +1 -0
  384. package/version-info.json +7 -7
@@ -1,144 +1,160 @@
1
- import { ObjectSerializer } from '../api/utils';
2
- import { ColumnTypeEnum, FieldInputTypeEnum } from '../descriptors/types';
3
- export class TableviewUtil {
4
- /**
5
- * returns attributes from class type and extends to typed def with column and field enum type
6
- * @param modelType class type
7
- */
8
- static getAttributeDefMap(modelType) {
9
- return TableviewUtil.expandAttributeDefWithTableviewTypes(ObjectSerializer.get().findAttributesDefinitionByClassType(modelType));
10
- }
11
- /**
12
- * expands AttributeDef to TableviewAttributeDef with defined input and column enum type
13
- * @param attributes open api specification model
14
- */
15
- static expandAttributeDefWithTableviewTypes(attributes) {
16
- if (attributes == null) {
17
- throw new Error('AttributeDef is null, problem with ObjectSerializer::findAttributesDefinitionByClassType?');
18
- }
19
- const objectSerializer = ObjectSerializer.get();
20
- const tableviewAttributeDef = [];
21
- for (const attribute of attributes) {
22
- const enumType = objectSerializer.findEnum(attribute.type);
23
- tableviewAttributeDef.push({
24
- name: attribute.name,
25
- baseName: attribute.baseName,
26
- type: attribute.type,
27
- columnType: enumType ? ColumnTypeEnum.Enum : TableviewUtil.toColumnType(attribute.type),
28
- fieldType: TableviewUtil.toFieldInputType(attribute.type),
29
- enumType: objectSerializer.findEnum(attribute.type),
30
- classType: objectSerializer.findType(attribute.type)
31
- });
32
- }
33
- return tableviewAttributeDef;
34
- }
35
- /**
36
- * converts column to number or date on value based
37
- * @param column column to be transformed
38
- * @param value value to check if applicable
39
- */
40
- static stringColumnConverter(column, value) {
41
- if (typeof value === 'boolean') {
42
- return column.asBoolean();
43
- }
44
- else if (!isNaN(value) && typeof value === 'number') {
45
- return column.asNumber();
46
- }
47
- else if (this._dateRegex.test(value)) {
48
- return column.asDate();
49
- }
50
- else {
51
- return column;
52
- }
53
- }
54
- /**
55
- * converts string type to column type enum, default is string
56
- * @param property
57
- */
58
- static toColumnType(property) {
59
- const os = ObjectSerializer.get();
60
- if (os.findEnum(property)) {
61
- property = 'enum';
62
- }
63
- else if (os.findType(property)) {
64
- property = 'class';
65
- }
66
- switch (property) {
67
- case 'number':
68
- return ColumnTypeEnum.Number;
69
- case 'currency':
70
- return ColumnTypeEnum.Currency;
71
- case 'boolean':
72
- return ColumnTypeEnum.Boolean;
73
- case 'date':
74
- return ColumnTypeEnum.Date;
75
- case 'enum':
76
- return ColumnTypeEnum.Enum;
77
- case 'custom':
78
- return ColumnTypeEnum.Custom;
79
- case 'class':
80
- return ColumnTypeEnum.String;
81
- case 'string':
82
- default:
83
- return ColumnTypeEnum.String;
84
- }
85
- }
86
- /**
87
- * converts string type to type enum, default is text
88
- * @param property
89
- */
90
- static toFieldInputType(property) {
91
- switch (property) {
92
- case 'hidden':
93
- return FieldInputTypeEnum.Hidden;
94
- case 'label':
95
- return FieldInputTypeEnum.Label;
96
- case 'textarea':
97
- return FieldInputTypeEnum.Textarea;
98
- case 'number':
99
- return FieldInputTypeEnum.Number;
100
- case 'currency':
101
- return FieldInputTypeEnum.Currency;
102
- case 'switch':
103
- case 'boolean':
104
- return FieldInputTypeEnum.Switch;
105
- case 'radio':
106
- return FieldInputTypeEnum.Radio;
107
- case 'datepicker':
108
- return FieldInputTypeEnum.Datepicker;
109
- case 'mask':
110
- return FieldInputTypeEnum.Mask;
111
- case 'file':
112
- return FieldInputTypeEnum.File;
113
- case 'custom':
114
- return FieldInputTypeEnum.Custom;
115
- case 'text':
116
- default:
117
- return FieldInputTypeEnum.Text;
118
- }
119
- }
120
- /**
121
- * convert column type to equivalent field input type
122
- * @param type column type
123
- */
124
- static toFieldInputTypeFromColumnType(type) {
125
- switch (type) {
126
- case ColumnTypeEnum.Number:
127
- return FieldInputTypeEnum.Number;
128
- case ColumnTypeEnum.Currency:
129
- return FieldInputTypeEnum.Currency;
130
- case ColumnTypeEnum.Boolean:
131
- return FieldInputTypeEnum.Switch;
132
- case ColumnTypeEnum.Date:
133
- return FieldInputTypeEnum.Datepicker;
134
- case ColumnTypeEnum.Custom:
135
- return FieldInputTypeEnum.Custom;
136
- case ColumnTypeEnum.String:
137
- case ColumnTypeEnum.Enum:
138
- default:
139
- return FieldInputTypeEnum.Text;
140
- }
141
- }
142
- }
143
- TableviewUtil._dateRegex = /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/;
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL3RhYmxldmlldy51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUMsY0FBYyxFQUFFLGtCQUFrQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFJeEUsTUFBTSxPQUFPLGFBQWE7SUFHdEI7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLGtCQUFrQixDQUFJLFNBQXVCO1FBQ3ZELE9BQU8sYUFBYSxDQUFDLG9DQUFvQyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxDQUFDLG1DQUFtQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDckksQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxVQUF1QztRQUN0RixJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUU7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyRkFBMkYsQ0FBQyxDQUFDO1NBQ2hIO1FBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUVoRCxNQUFNLHFCQUFxQixHQUE0QixFQUFFLENBQUM7UUFFMUQsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUU7WUFDaEMsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzRCxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtnQkFDcEIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxRQUFRO2dCQUM1QixJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7Z0JBQ3BCLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FB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QUM7WUFDekMsS0FBSyxNQUFNO2dCQUNQLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDO1lBQ25DLEtBQUssTUFBTTtnQkFDUCxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUNuQyxLQUFLLFFBQVE7Z0JBQ1QsT0FBTyxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7WUFDckMsS0FBSyxNQUFNLENBQUM7WUFDWjtnQkFDSSxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQztTQUN0QztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsOEJBQThCLENBQUMsSUFBb0I7UUFDN0QsUUFBUSxJQUFJLEVBQUU7WUFDVixLQUFLLGNBQWMsQ0FBQyxNQUFNO2dCQUN0QixPQUFPLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztZQUNyQyxLQUFLLGNBQWMsQ0FBQyxRQUFRO2dCQUN4QixPQUFPLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztZQUN2QyxLQUFLLGNBQWMsQ0FBQyxPQUFPO2dCQUN2QixPQUFPLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztZQUNyQyxLQUFLLGNBQWMsQ0FBQyxJQUFJO2dCQUNwQixPQUFPLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztZQUN6QyxLQUFLLGNBQWMsQ0FBQyxNQUFNO2dCQUN0QixPQUFPLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztZQUNyQyxLQUFLLGNBQWMsQ0FBQyxNQUFNLENBQUM7WUFDM0IsS0FBSyxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ3pCO2dCQUNJLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQzs7QUFoSmMsd0JBQVUsR0FBRywwRUFBMEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXR0cmlidXRlRGVmfSBmcm9tICcuLi9hcGkvbW9kZWxzJztcbmltcG9ydCB7T2JqZWN0U2VyaWFsaXplcn0gZnJvbSAnLi4vYXBpL3V0aWxzJztcbmltcG9ydCB7Q29sdW1uRGVzY3JpcHRvcn0gZnJvbSAnLi4vZGVzY3JpcHRvcnMnO1xuaW1wb3J0IHtDb2x1bW5UeXBlRW51bSwgRmllbGRJbnB1dFR5cGVFbnVtfSBmcm9tICcuLi9kZXNjcmlwdG9ycy90eXBlcyc7XG5pbXBvcnQge1RhYmxldmlld0F0dHJpYnV0ZURlZn0gZnJvbSAnLi4vbW9kZWxzL3RhYmxldmlldy1hdHRyLm1vZGVsJztcbmltcG9ydCB7Q2xhc3NUeXBlLCBFbnVtVHlwZX0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgVGFibGV2aWV3VXRpbCB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgX2RhdGVSZWdleCA9IC9cXGR7NH0tWzAxXVxcZC1bMC0zXVxcZFRbMC0yXVxcZDpbMC01XVxcZDpbMC01XVxcZFxcLlxcZCsoWystXVswLTJdXFxkOlswLTVdXFxkfFopLztcblxuICAgIC8qKlxuICAgICAqIHJldHVybnMgYXR0cmlidXRlcyBmcm9tIGNsYXNzIHR5cGUgYW5kIGV4dGVuZHMgdG8gdHlwZWQgZGVmIHdpdGggY29sdW1uIGFuZCBmaWVsZCBlbnVtIHR5cGVcbiAgICAgKiBAcGFyYW0gbW9kZWxUeXBlIGNsYXNzIHR5cGVcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldEF0dHJpYnV0ZURlZk1hcDxUPihtb2RlbFR5cGU6IENsYXNzVHlwZTxUPik6IFRhYmxldmlld0F0dHJpYnV0ZURlZltdIHtcbiAgICAgICAgcmV0dXJuIFRhYmxldmlld1V0aWwuZXhwYW5kQXR0cmlidXRlRGVmV2l0aFRhYmxldmlld1R5cGVzKE9iamVjdFNlcmlhbGl6ZXIuZ2V0KCkuZmluZEF0dHJpYnV0ZXNEZWZpbml0aW9uQnlDbGFzc1R5cGUobW9kZWxUeXBlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZXhwYW5kcyBBdHRyaWJ1dGVEZWYgdG8gVGFibGV2aWV3QXR0cmlidXRlRGVmIHdpdGggZGVmaW5lZCBpbnB1dCBhbmQgY29sdW1uIGVudW0gdHlwZVxuICAgICAqIEBwYXJhbSBhdHRyaWJ1dGVzIG9wZW4gYXBpIHNwZWNpZmljYXRpb24gbW9kZWxcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGV4cGFuZEF0dHJpYnV0ZURlZldpdGhUYWJsZXZpZXdUeXBlcyhhdHRyaWJ1dGVzPzogQXJyYXk8QXR0cmlidXRlRGVmPiB8IG51bGwpOiBUYWJsZXZpZXdBdHRyaWJ1dGVEZWZbXSB7XG4gICAgICAgIGlmIChhdHRyaWJ1dGVzID09IG51bGwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQXR0cmlidXRlRGVmIGlzIG51bGwsIHByb2JsZW0gd2l0aCBPYmplY3RTZXJpYWxpemVyOjpmaW5kQXR0cmlidXRlc0RlZmluaXRpb25CeUNsYXNzVHlwZT8nKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvYmplY3RTZXJpYWxpemVyID0gT2JqZWN0U2VyaWFsaXplci5nZXQoKTtcblxuICAgICAgICBjb25zdCB0YWJsZXZpZXdBdHRyaWJ1dGVEZWY6IFRhYmxldmlld0F0dHJpYnV0ZURlZltdID0gW107XG5cbiAgICAgICAgZm9yIChjb25zdCBhdHRyaWJ1dGUgb2YgYXR0cmlidXRlcykge1xuICAgICAgICAgICAgY29uc3QgZW51bVR5cGUgPSBvYmplY3RTZXJpYWxpemVyLmZpbmRFbnVtKGF0dHJpYnV0ZS50eXBlKTtcbiAgICAgICAgICAgIHRhYmxldmlld0F0dHJpYnV0ZURlZi5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBhdHRyaWJ1dGUubmFtZSxcbiAgICAgICAgICAgICAgICBiYXNlTmFtZTogYXR0cmlidXRlLmJhc2VOYW1lLFxuICAgICAgICAgICAgICAgIHR5cGU6IGF0dHJpYnV0ZS50eXBlLFxuICAgICAgICAgICAgICAgIGNvbHVtblR5cGU6IGVudW1UeXBlID8gQ29sdW1uVHlwZUVudW0uRW51bSA6IFRhYmxldmlld1V0aWwudG9Db2x1bW5UeXBlKGF0dHJpYnV0ZS50eXBlKSxcbiAgICAgICAgICAgICAgICBmaWVsZFR5cGU6IFRhYmxldmlld1V0aWwudG9GaWVsZElucHV0VHlwZShhdHRyaWJ1dGUudHlwZSksXG4gICAgICAgICAgICAgICAgZW51bVR5cGU6IG9iamVjdFNlcmlhbGl6ZXIuZmluZEVudW0oYXR0cmlidXRlLnR5cGUpIGFzIEVudW1UeXBlLFxuICAgICAgICAgICAgICAgIGNsYXNzVHlwZTogb2JqZWN0U2VyaWFsaXplci5maW5kVHlwZShhdHRyaWJ1dGUudHlwZSkgYXMgQ2xhc3NUeXBlPGFueT5cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRhYmxldmlld0F0dHJpYnV0ZURlZjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjb252ZXJ0cyBjb2x1bW4gdG8gbnVtYmVyIG9yIGRhdGUgb24gdmFsdWUgYmFzZWRcbiAgICAgKiBAcGFyYW0gY29sdW1uIGNvbHVtbiB0byBiZSB0cmFuc2Zvcm1lZFxuICAgICAqIEBwYXJhbSB2YWx1ZSB2YWx1ZSB0byBjaGVjayBpZiBhcHBsaWNhYmxlXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBzdHJpbmdDb2x1bW5Db252ZXJ0ZXIoY29sdW1uOiBDb2x1bW5EZXNjcmlwdG9yPGFueSwgYW55PiwgdmFsdWU6IGFueSk6IENvbHVtbkRlc2NyaXB0b3I8YW55LCBhbnk+IHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICByZXR1cm4gY29sdW1uLmFzQm9vbGVhbigpO1xuICAgICAgICB9IGVsc2UgaWYgKCFpc05hTih2YWx1ZSkgJiYgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgcmV0dXJuIGNvbHVtbi5hc051bWJlcigpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2RhdGVSZWdleC50ZXN0KHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbHVtbi5hc0RhdGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBjb2x1bW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjb252ZXJ0cyBzdHJpbmcgdHlwZSB0byBjb2x1bW4gdHlwZSBlbnVtLCBkZWZhdWx0IGlzIHN0cmluZ1xuICAgICAqIEBwYXJhbSBwcm9wZXJ0eVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdG9Db2x1bW5UeXBlKHByb3BlcnR5OiBzdHJpbmcpOiBDb2x1bW5UeXBlRW51bSB7XG4gICAgICAgIGNvbnN0IG9zID0gT2JqZWN0U2VyaWFsaXplci5nZXQoKTtcbiAgICAgICAgaWYgKG9zLmZpbmRFbnVtKHByb3BlcnR5KSBhcyBFbnVtVHlwZSkge1xuICAgICAgICAgICAgcHJvcGVydHkgPSAnZW51bSc7XG4gICAgICAgIH0gZWxzZSBpZiAob3MuZmluZFR5cGUocHJvcGVydHkpIGFzIENsYXNzVHlwZTxhbnk+KSB7XG4gICAgICAgICAgICBwcm9wZXJ0eSA9ICdjbGFzcyc7XG4gICAgICAgIH1cblxuICAgICAgICBzd2l0Y2ggKHByb3BlcnR5KSB7XG4gICAgICAgICAgICBjYXNlICdudW1iZXInOlxuICAgICAgICAgICAgICAgIHJldHVybiBDb2x1bW5UeXBlRW51bS5OdW1iZXI7XG4gICAgICAgICAgICBjYXNlICdjdXJyZW5jeSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIENvbHVtblR5cGVFbnVtLkN1cnJlbmN5O1xuICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIENvbHVtblR5cGVFbnVtLkJvb2xlYW47XG4gICAgICAgICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sdW1uVHlwZUVudW0uRGF0ZTtcbiAgICAgICAgICAgIGNhc2UgJ2VudW0nOlxuICAgICAgICAgICAgICAgIHJldHVybiBDb2x1bW5UeXBlRW51bS5FbnVtO1xuICAgICAgICAgICAgY2FzZSAnY3VzdG9tJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sdW1uVHlwZUVudW0uQ3VzdG9tO1xuICAgICAgICAgICAgY2FzZSAnY2xhc3MnOlxuICAgICAgICAgICAgICAgIHJldHVybiBDb2x1bW5UeXBlRW51bS5TdHJpbmc7XG4gICAgICAgICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sdW1uVHlwZUVudW0uU3RyaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY29udmVydHMgc3RyaW5nIHR5cGUgdG8gdHlwZSBlbnVtLCBkZWZhdWx0IGlzIHRleHRcbiAgICAgKiBAcGFyYW0gcHJvcGVydHlcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHRvRmllbGRJbnB1dFR5cGUocHJvcGVydHk6IHN0cmluZyk6IEZpZWxkSW5wdXRUeXBlRW51bSB7XG4gICAgICAgIHN3aXRjaCAocHJvcGVydHkpIHtcbiAgICAgICAgICAgIGNhc2UgJ2hpZGRlbic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5IaWRkZW47XG4gICAgICAgICAgICBjYXNlICdsYWJlbCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5MYWJlbDtcbiAgICAgICAgICAgIGNhc2UgJ3RleHRhcmVhJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gRmllbGRJbnB1dFR5cGVFbnVtLlRleHRhcmVhO1xuICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gRmllbGRJbnB1dFR5cGVFbnVtLk51bWJlcjtcbiAgICAgICAgICAgIGNhc2UgJ2N1cnJlbmN5JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gRmllbGRJbnB1dFR5cGVFbnVtLkN1cnJlbmN5O1xuICAgICAgICAgICAgY2FzZSAnc3dpdGNoJzpcbiAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZElucHV0VHlwZUVudW0uU3dpdGNoO1xuICAgICAgICAgICAgY2FzZSAncmFkaW8nOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZElucHV0VHlwZUVudW0uUmFkaW87XG4gICAgICAgICAgICBjYXNlICdkYXRlcGlja2VyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gRmllbGRJbnB1dFR5cGVFbnVtLkRhdGVwaWNrZXI7XG4gICAgICAgICAgICBjYXNlICdtYXNrJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gRmllbGRJbnB1dFR5cGVFbnVtLk1hc2s7XG4gICAgICAgICAgICBjYXNlICdmaWxlJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gRmllbGRJbnB1dFR5cGVFbnVtLkZpbGU7XG4gICAgICAgICAgICBjYXNlICdjdXN0b20nOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZElucHV0VHlwZUVudW0uQ3VzdG9tO1xuICAgICAgICAgICAgY2FzZSAndGV4dCc6XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZElucHV0VHlwZUVudW0uVGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNvbnZlcnQgY29sdW1uIHR5cGUgdG8gZXF1aXZhbGVudCBmaWVsZCBpbnB1dCB0eXBlXG4gICAgICogQHBhcmFtIHR5cGUgY29sdW1uIHR5cGVcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHRvRmllbGRJbnB1dFR5cGVGcm9tQ29sdW1uVHlwZSh0eXBlOiBDb2x1bW5UeXBlRW51bSk6IEZpZWxkSW5wdXRUeXBlRW51bSB7XG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgY2FzZSBDb2x1bW5UeXBlRW51bS5OdW1iZXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5OdW1iZXI7XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLkN1cnJlbmN5OlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZElucHV0VHlwZUVudW0uQ3VycmVuY3k7XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLkJvb2xlYW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5Td2l0Y2g7XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLkRhdGU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5EYXRlcGlja2VyO1xuICAgICAgICAgICAgY2FzZSBDb2x1bW5UeXBlRW51bS5DdXN0b206XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5DdXN0b207XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLlN0cmluZzpcbiAgICAgICAgICAgIGNhc2UgQ29sdW1uVHlwZUVudW0uRW51bTpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5UZXh0O1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
1
+ import { ObjectSerializer } from '../api/utils';
2
+ import { ColumnDisplayTypeEnum, ColumnTypeEnum, FieldInputTypeEnum } from '../descriptors/types';
3
+ export class TableviewUtil {
4
+ /**
5
+ * returns attributes from class type and extends to typed def with column and field enum type
6
+ * @param modelType class type
7
+ */
8
+ static getAttributeDefMap(modelType) {
9
+ return TableviewUtil.expandAttributeDefWithTableviewTypes(ObjectSerializer.get().findAttributesDefinitionByClassType(modelType));
10
+ }
11
+ /**
12
+ * expands AttributeDef to TableviewAttributeDef with defined input and column enum type
13
+ * @param attributes open api specification model
14
+ */
15
+ static expandAttributeDefWithTableviewTypes(attributes) {
16
+ if (attributes == null) {
17
+ throw new Error('AttributeDef is null, problem with ObjectSerializer::findAttributesDefinitionByClassType?');
18
+ }
19
+ const objectSerializer = ObjectSerializer.get();
20
+ const tableviewAttributeDef = [];
21
+ for (const attribute of attributes) {
22
+ const enumType = objectSerializer.findEnum(attribute.type);
23
+ const columnType = enumType ? ColumnTypeEnum.Enum : TableviewUtil.toColumnType(attribute.type);
24
+ tableviewAttributeDef.push({
25
+ name: attribute.name,
26
+ baseName: attribute.baseName,
27
+ type: attribute.type,
28
+ columnType: enumType ? ColumnTypeEnum.Enum : TableviewUtil.toColumnType(attribute.type),
29
+ columnDisplayType: TableviewUtil.toColumnDisplayType(columnType, attribute.type),
30
+ fieldType: TableviewUtil.toFieldInputType(attribute.type),
31
+ enumType: objectSerializer.findEnum(attribute.type),
32
+ classType: objectSerializer.findType(attribute.type)
33
+ });
34
+ }
35
+ return tableviewAttributeDef;
36
+ }
37
+ /**
38
+ * converts column to number or date on value based
39
+ * @param column column to be transformed
40
+ * @param value value to check if applicable
41
+ */
42
+ static stringColumnConverter(column, value) {
43
+ if (typeof value === 'boolean') {
44
+ return column.asBoolean();
45
+ }
46
+ else if (!isNaN(value) && typeof value === 'number') {
47
+ return column.asNumber();
48
+ }
49
+ else if (this._dateRegex.test(value)) {
50
+ return column.asDate();
51
+ }
52
+ else {
53
+ return column;
54
+ }
55
+ }
56
+ /**
57
+ * converts string type to column type enum, default is string
58
+ * @param propertyType
59
+ */
60
+ static toColumnType(propertyType) {
61
+ const os = ObjectSerializer.get();
62
+ if (os.findEnum(propertyType)) {
63
+ propertyType = 'enum';
64
+ }
65
+ else if (os.findType(propertyType)) {
66
+ propertyType = 'class';
67
+ }
68
+ switch (propertyType) {
69
+ case 'number':
70
+ case 'currency':
71
+ return ColumnTypeEnum.Number;
72
+ case 'boolean':
73
+ return ColumnTypeEnum.Boolean;
74
+ case 'date':
75
+ return ColumnTypeEnum.Date;
76
+ case 'enum':
77
+ return ColumnTypeEnum.Enum;
78
+ case 'custom':
79
+ return ColumnTypeEnum.Custom;
80
+ case 'class':
81
+ return ColumnTypeEnum.String;
82
+ case 'string':
83
+ default:
84
+ return ColumnTypeEnum.String;
85
+ }
86
+ }
87
+ static toColumnDisplayType(columnType, propertyType) {
88
+ switch (columnType) {
89
+ case ColumnTypeEnum.Number:
90
+ return propertyType === 'currency' ? ColumnDisplayTypeEnum.Currency : ColumnDisplayTypeEnum.Number;
91
+ case ColumnTypeEnum.Boolean:
92
+ return ColumnDisplayTypeEnum.Boolean;
93
+ case ColumnTypeEnum.Date:
94
+ return ColumnDisplayTypeEnum.Date;
95
+ case ColumnTypeEnum.Enum:
96
+ return ColumnDisplayTypeEnum.Enum;
97
+ case ColumnTypeEnum.Custom:
98
+ return ColumnDisplayTypeEnum.Component;
99
+ case ColumnTypeEnum.String:
100
+ default:
101
+ return ColumnDisplayTypeEnum.String;
102
+ }
103
+ }
104
+ /**
105
+ * converts string type to type enum, default is text
106
+ * @param property
107
+ */
108
+ static toFieldInputType(property) {
109
+ switch (property) {
110
+ case 'hidden':
111
+ return FieldInputTypeEnum.Hidden;
112
+ case 'label':
113
+ return FieldInputTypeEnum.Label;
114
+ case 'textarea':
115
+ return FieldInputTypeEnum.Textarea;
116
+ case 'number':
117
+ return FieldInputTypeEnum.Number;
118
+ case 'currency':
119
+ return FieldInputTypeEnum.Currency;
120
+ case 'switch':
121
+ case 'boolean':
122
+ return FieldInputTypeEnum.Switch;
123
+ case 'radio':
124
+ return FieldInputTypeEnum.Radio;
125
+ case 'datepicker':
126
+ return FieldInputTypeEnum.Datepicker;
127
+ case 'mask':
128
+ return FieldInputTypeEnum.Mask;
129
+ case 'file':
130
+ return FieldInputTypeEnum.File;
131
+ case 'custom':
132
+ return FieldInputTypeEnum.Custom;
133
+ case 'text':
134
+ default:
135
+ return FieldInputTypeEnum.Text;
136
+ }
137
+ }
138
+ /**
139
+ * convert column type to equivalent field input type
140
+ * @param type column type
141
+ */
142
+ static toFieldInputTypeFromColumnType(type, displayType) {
143
+ switch (type) {
144
+ case ColumnTypeEnum.Number:
145
+ return displayType === ColumnDisplayTypeEnum.Currency ? FieldInputTypeEnum.Currency : FieldInputTypeEnum.Number;
146
+ case ColumnTypeEnum.Boolean:
147
+ return FieldInputTypeEnum.Switch;
148
+ case ColumnTypeEnum.Date:
149
+ return FieldInputTypeEnum.Datepicker;
150
+ case ColumnTypeEnum.Custom:
151
+ return FieldInputTypeEnum.Custom;
152
+ case ColumnTypeEnum.String:
153
+ case ColumnTypeEnum.Enum:
154
+ default:
155
+ return FieldInputTypeEnum.Text;
156
+ }
157
+ }
158
+ }
159
+ TableviewUtil._dateRegex = /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/;
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL3RhYmxldmlldy51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUMscUJBQXFCLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFJL0YsTUFBTSxPQUFPLGFBQWE7SUFHdEI7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLGtCQUFrQixDQUFJLFNBQXVCO1FBQ3ZELE9BQU8sYUFBYSxDQUFDLG9DQUFvQyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxDQUFDLG1DQUFtQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDckksQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxVQUF1QztRQUN0RixJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUU7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyRkFBMkYsQ0FBQyxDQUFDO1NBQ2hIO1FBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUVoRCxNQUFNLHFCQUFxQixHQUE0QixFQUFFLENBQUM7UUFFMUQsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUU7WUFDaEMsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzRCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9GLHFCQUFxQixDQUFDLElBQUksQ0FBQztnQkFDdkIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJ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O0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxJQUFvQixFQUFFLFdBQW1DO1FBQ2xHLFFBQVEsSUFBSSxFQUFFO1lBQ1YsS0FBSyxjQUFjLENBQUMsTUFBTTtnQkFDdEIsT0FBTyxXQUFXLEtBQUsscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztZQUNwSCxLQUFLLGNBQWMsQ0FBQyxPQUFPO2dCQUN2QixPQUFPLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztZQUNyQyxLQUFLLGNBQWMsQ0FBQyxJQUFJO2dCQUNwQixPQUFPLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztZQUN6QyxLQUFLLGNBQWMsQ0FBQyxNQUFNO2dCQUN0QixPQUFPLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztZQUNyQyxLQUFLLGNBQWMsQ0FBQyxNQUFNLENBQUM7WUFDM0IsS0FBSyxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ3pCO2dCQUNJLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQzs7QUFqS2Msd0JBQVUsR0FBRywwRUFBMEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXR0cmlidXRlRGVmfSBmcm9tICcuLi9hcGkvbW9kZWxzJztcbmltcG9ydCB7T2JqZWN0U2VyaWFsaXplcn0gZnJvbSAnLi4vYXBpL3V0aWxzJztcbmltcG9ydCB7Q29sdW1uRGVzY3JpcHRvcn0gZnJvbSAnLi4vZGVzY3JpcHRvcnMnO1xuaW1wb3J0IHtDb2x1bW5EaXNwbGF5VHlwZUVudW0sIENvbHVtblR5cGVFbnVtLCBGaWVsZElucHV0VHlwZUVudW19IGZyb20gJy4uL2Rlc2NyaXB0b3JzL3R5cGVzJztcbmltcG9ydCB7VGFibGV2aWV3QXR0cmlidXRlRGVmfSBmcm9tICcuLi9tb2RlbHMvdGFibGV2aWV3LWF0dHIubW9kZWwnO1xuaW1wb3J0IHtDbGFzc1R5cGUsIEVudW1UeXBlfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBUYWJsZXZpZXdVdGlsIHtcbiAgICBwcml2YXRlIHN0YXRpYyBfZGF0ZVJlZ2V4ID0gL1xcZHs0fS1bMDFdXFxkLVswLTNdXFxkVFswLTJdXFxkOlswLTVdXFxkOlswLTVdXFxkXFwuXFxkKyhbKy1dWzAtMl1cXGQ6WzAtNV1cXGR8WikvO1xuXG4gICAgLyoqXG4gICAgICogcmV0dXJucyBhdHRyaWJ1dGVzIGZyb20gY2xhc3MgdHlwZSBhbmQgZXh0ZW5kcyB0byB0eXBlZCBkZWYgd2l0aCBjb2x1bW4gYW5kIGZpZWxkIGVudW0gdHlwZVxuICAgICAqIEBwYXJhbSBtb2RlbFR5cGUgY2xhc3MgdHlwZVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QXR0cmlidXRlRGVmTWFwPFQ+KG1vZGVsVHlwZTogQ2xhc3NUeXBlPFQ+KTogVGFibGV2aWV3QXR0cmlidXRlRGVmW10ge1xuICAgICAgICByZXR1cm4gVGFibGV2aWV3VXRpbC5leHBhbmRBdHRyaWJ1dGVEZWZXaXRoVGFibGV2aWV3VHlwZXMoT2JqZWN0U2VyaWFsaXplci5nZXQoKS5maW5kQXR0cmlidXRlc0RlZmluaXRpb25CeUNsYXNzVHlwZShtb2RlbFR5cGUpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBleHBhbmRzIEF0dHJpYnV0ZURlZiB0byBUYWJsZXZpZXdBdHRyaWJ1dGVEZWYgd2l0aCBkZWZpbmVkIGlucHV0IGFuZCBjb2x1bW4gZW51bSB0eXBlXG4gICAgICogQHBhcmFtIGF0dHJpYnV0ZXMgb3BlbiBhcGkgc3BlY2lmaWNhdGlvbiBtb2RlbFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZXhwYW5kQXR0cmlidXRlRGVmV2l0aFRhYmxldmlld1R5cGVzKGF0dHJpYnV0ZXM/OiBBcnJheTxBdHRyaWJ1dGVEZWY+IHwgbnVsbCk6IFRhYmxldmlld0F0dHJpYnV0ZURlZltdIHtcbiAgICAgICAgaWYgKGF0dHJpYnV0ZXMgPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBdHRyaWJ1dGVEZWYgaXMgbnVsbCwgcHJvYmxlbSB3aXRoIE9iamVjdFNlcmlhbGl6ZXI6OmZpbmRBdHRyaWJ1dGVzRGVmaW5pdGlvbkJ5Q2xhc3NUeXBlPycpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9iamVjdFNlcmlhbGl6ZXIgPSBPYmplY3RTZXJpYWxpemVyLmdldCgpO1xuXG4gICAgICAgIGNvbnN0IHRhYmxldmlld0F0dHJpYnV0ZURlZjogVGFibGV2aWV3QXR0cmlidXRlRGVmW10gPSBbXTtcblxuICAgICAgICBmb3IgKGNvbnN0IGF0dHJpYnV0ZSBvZiBhdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgICBjb25zdCBlbnVtVHlwZSA9IG9iamVjdFNlcmlhbGl6ZXIuZmluZEVudW0oYXR0cmlidXRlLnR5cGUpO1xuICAgICAgICAgICAgY29uc3QgY29sdW1uVHlwZSA9IGVudW1UeXBlID8gQ29sdW1uVHlwZUVudW0uRW51bSA6IFRhYmxldmlld1V0aWwudG9Db2x1bW5UeXBlKGF0dHJpYnV0ZS50eXBlKTtcbiAgICAgICAgICAgIHRhYmxldmlld0F0dHJpYnV0ZURlZi5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBhdHRyaWJ1dGUubmFtZSxcbiAgICAgICAgICAgICAgICBiYXNlTmFtZTogYXR0cmlidXRlLmJhc2VOYW1lLFxuICAgICAgICAgICAgICAgIHR5cGU6IGF0dHJpYnV0ZS50eXBlLFxuICAgICAgICAgICAgICAgIGNvbHVtblR5cGU6IGVudW1UeXBlID8gQ29sdW1uVHlwZUVudW0uRW51bSA6IFRhYmxldmlld1V0aWwudG9Db2x1bW5UeXBlKGF0dHJpYnV0ZS50eXBlKSxcbiAgICAgICAgICAgICAgICBjb2x1bW5EaXNwbGF5VHlwZTogVGFibGV2aWV3VXRpbC50b0NvbHVtbkRpc3BsYXlUeXBlKGNvbHVtblR5cGUsIGF0dHJpYnV0ZS50eXBlKSxcbiAgICAgICAgICAgICAgICBmaWVsZFR5cGU6IFRhYmxldmlld1V0aWwudG9GaWVsZElucHV0VHlwZShhdHRyaWJ1dGUudHlwZSksXG4gICAgICAgICAgICAgICAgZW51bVR5cGU6IG9iamVjdFNlcmlhbGl6ZXIuZmluZEVudW0oYXR0cmlidXRlLnR5cGUpIGFzIEVudW1UeXBlLFxuICAgICAgICAgICAgICAgIGNsYXNzVHlwZTogb2JqZWN0U2VyaWFsaXplci5maW5kVHlwZShhdHRyaWJ1dGUudHlwZSkgYXMgQ2xhc3NUeXBlPGFueT5cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRhYmxldmlld0F0dHJpYnV0ZURlZjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjb252ZXJ0cyBjb2x1bW4gdG8gbnVtYmVyIG9yIGRhdGUgb24gdmFsdWUgYmFzZWRcbiAgICAgKiBAcGFyYW0gY29sdW1uIGNvbHVtbiB0byBiZSB0cmFuc2Zvcm1lZFxuICAgICAqIEBwYXJhbSB2YWx1ZSB2YWx1ZSB0byBjaGVjayBpZiBhcHBsaWNhYmxlXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBzdHJpbmdDb2x1bW5Db252ZXJ0ZXIoY29sdW1uOiBDb2x1bW5EZXNjcmlwdG9yPGFueSwgYW55PiwgdmFsdWU6IGFueSk6IENvbHVtbkRlc2NyaXB0b3I8YW55LCBhbnk+IHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICByZXR1cm4gY29sdW1uLmFzQm9vbGVhbigpO1xuICAgICAgICB9IGVsc2UgaWYgKCFpc05hTih2YWx1ZSkgJiYgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgcmV0dXJuIGNvbHVtbi5hc051bWJlcigpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2RhdGVSZWdleC50ZXN0KHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbHVtbi5hc0RhdGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBjb2x1bW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjb252ZXJ0cyBzdHJpbmcgdHlwZSB0byBjb2x1bW4gdHlwZSBlbnVtLCBkZWZhdWx0IGlzIHN0cmluZ1xuICAgICAqIEBwYXJhbSBwcm9wZXJ0eVR5cGVcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHRvQ29sdW1uVHlwZShwcm9wZXJ0eVR5cGU6IHN0cmluZyk6IENvbHVtblR5cGVFbnVtIHtcbiAgICAgICAgY29uc3Qgb3MgPSBPYmplY3RTZXJpYWxpemVyLmdldCgpO1xuICAgICAgICBpZiAob3MuZmluZEVudW0ocHJvcGVydHlUeXBlKSBhcyBFbnVtVHlwZSkge1xuICAgICAgICAgICAgcHJvcGVydHlUeXBlID0gJ2VudW0nO1xuICAgICAgICB9IGVsc2UgaWYgKG9zLmZpbmRUeXBlKHByb3BlcnR5VHlwZSkgYXMgQ2xhc3NUeXBlPGFueT4pIHtcbiAgICAgICAgICAgIHByb3BlcnR5VHlwZSA9ICdjbGFzcyc7XG4gICAgICAgIH1cblxuICAgICAgICBzd2l0Y2ggKHByb3BlcnR5VHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgICAgIGNhc2UgJ2N1cnJlbmN5JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sdW1uVHlwZUVudW0uTnVtYmVyO1xuICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIENvbHVtblR5cGVFbnVtLkJvb2xlYW47XG4gICAgICAgICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sdW1uVHlwZUVudW0uRGF0ZTtcbiAgICAgICAgICAgIGNhc2UgJ2VudW0nOlxuICAgICAgICAgICAgICAgIHJldHVybiBDb2x1bW5UeXBlRW51bS5FbnVtO1xuICAgICAgICAgICAgY2FzZSAnY3VzdG9tJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sdW1uVHlwZUVudW0uQ3VzdG9tO1xuICAgICAgICAgICAgY2FzZSAnY2xhc3MnOlxuICAgICAgICAgICAgICAgIHJldHVybiBDb2x1bW5UeXBlRW51bS5TdHJpbmc7XG4gICAgICAgICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sdW1uVHlwZUVudW0uU3RyaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyB0b0NvbHVtbkRpc3BsYXlUeXBlKGNvbHVtblR5cGU6IENvbHVtblR5cGVFbnVtLCBwcm9wZXJ0eVR5cGU6IHN0cmluZyk6IENvbHVtbkRpc3BsYXlUeXBlRW51bSB7XG4gICAgICAgIHN3aXRjaCAoY29sdW1uVHlwZSkge1xuICAgICAgICAgICAgY2FzZSBDb2x1bW5UeXBlRW51bS5OdW1iZXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5VHlwZSA9PT0gJ2N1cnJlbmN5JyA/IENvbHVtbkRpc3BsYXlUeXBlRW51bS5DdXJyZW5jeSA6IENvbHVtbkRpc3BsYXlUeXBlRW51bS5OdW1iZXI7XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLkJvb2xlYW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIENvbHVtbkRpc3BsYXlUeXBlRW51bS5Cb29sZWFuO1xuICAgICAgICAgICAgY2FzZSBDb2x1bW5UeXBlRW51bS5EYXRlOlxuICAgICAgICAgICAgICAgIHJldHVybiBDb2x1bW5EaXNwbGF5VHlwZUVudW0uRGF0ZTtcbiAgICAgICAgICAgIGNhc2UgQ29sdW1uVHlwZUVudW0uRW51bTpcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sdW1uRGlzcGxheVR5cGVFbnVtLkVudW07XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLkN1c3RvbTpcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sdW1uRGlzcGxheVR5cGVFbnVtLkNvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgQ29sdW1uVHlwZUVudW0uU3RyaW5nOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sdW1uRGlzcGxheVR5cGVFbnVtLlN0cmluZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNvbnZlcnRzIHN0cmluZyB0eXBlIHRvIHR5cGUgZW51bSwgZGVmYXVsdCBpcyB0ZXh0XG4gICAgICogQHBhcmFtIHByb3BlcnR5XG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB0b0ZpZWxkSW5wdXRUeXBlKHByb3BlcnR5OiBzdHJpbmcpOiBGaWVsZElucHV0VHlwZUVudW0ge1xuICAgICAgICBzd2l0Y2ggKHByb3BlcnR5KSB7XG4gICAgICAgICAgICBjYXNlICdoaWRkZW4nOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZElucHV0VHlwZUVudW0uSGlkZGVuO1xuICAgICAgICAgICAgY2FzZSAnbGFiZWwnOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZElucHV0VHlwZUVudW0uTGFiZWw7XG4gICAgICAgICAgICBjYXNlICd0ZXh0YXJlYSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5UZXh0YXJlYTtcbiAgICAgICAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5OdW1iZXI7XG4gICAgICAgICAgICBjYXNlICdjdXJyZW5jeSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5DdXJyZW5jeTtcbiAgICAgICAgICAgIGNhc2UgJ3N3aXRjaCc6XG4gICAgICAgICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gRmllbGRJbnB1dFR5cGVFbnVtLlN3aXRjaDtcbiAgICAgICAgICAgIGNhc2UgJ3JhZGlvJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gRmllbGRJbnB1dFR5cGVFbnVtLlJhZGlvO1xuICAgICAgICAgICAgY2FzZSAnZGF0ZXBpY2tlcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5EYXRlcGlja2VyO1xuICAgICAgICAgICAgY2FzZSAnbWFzayc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5NYXNrO1xuICAgICAgICAgICAgY2FzZSAnZmlsZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5GaWxlO1xuICAgICAgICAgICAgY2FzZSAnY3VzdG9tJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gRmllbGRJbnB1dFR5cGVFbnVtLkN1c3RvbTtcbiAgICAgICAgICAgIGNhc2UgJ3RleHQnOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gRmllbGRJbnB1dFR5cGVFbnVtLlRleHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjb252ZXJ0IGNvbHVtbiB0eXBlIHRvIGVxdWl2YWxlbnQgZmllbGQgaW5wdXQgdHlwZVxuICAgICAqIEBwYXJhbSB0eXBlIGNvbHVtbiB0eXBlXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB0b0ZpZWxkSW5wdXRUeXBlRnJvbUNvbHVtblR5cGUodHlwZTogQ29sdW1uVHlwZUVudW0sIGRpc3BsYXlUeXBlPzogQ29sdW1uRGlzcGxheVR5cGVFbnVtKTogRmllbGRJbnB1dFR5cGVFbnVtIHtcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLk51bWJlcjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGlzcGxheVR5cGUgPT09IENvbHVtbkRpc3BsYXlUeXBlRW51bS5DdXJyZW5jeSA/IEZpZWxkSW5wdXRUeXBlRW51bS5DdXJyZW5jeSA6IEZpZWxkSW5wdXRUeXBlRW51bS5OdW1iZXI7XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLkJvb2xlYW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5Td2l0Y2g7XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLkRhdGU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5EYXRlcGlja2VyO1xuICAgICAgICAgICAgY2FzZSBDb2x1bW5UeXBlRW51bS5DdXN0b206XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5DdXN0b207XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLlN0cmluZzpcbiAgICAgICAgICAgIGNhc2UgQ29sdW1uVHlwZUVudW0uRW51bTpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5UZXh0O1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,93 +1,93 @@
1
- import 'reflect-metadata';
2
- export class TypeUtil {
3
- /**
4
- * Defines type name decorator.
5
- * @param targetType class.
6
- * @param typeName Name of the type.
7
- */
8
- static defineReflectTypeName(targetType, typeName) {
9
- if (!Reflect.hasOwnMetadata(TypeUtil.reflectTypeNameKey, targetType)) {
10
- Reflect.defineMetadata(TypeUtil.reflectTypeNameKey, typeName, targetType);
11
- }
12
- }
13
- /**
14
- * Defines enum name decorator.
15
- * @param targetType enum object.
16
- * @param enumName Name of the enum.
17
- */
18
- static defineReflectEnumName(targetType, enumName) {
19
- if (!Reflect.hasOwnMetadata(TypeUtil.reflectEnumNameKey, targetType)) {
20
- Reflect.defineMetadata(TypeUtil.reflectEnumNameKey, enumName, targetType);
21
- }
22
- }
23
- /**
24
- * Defines type's id property.
25
- * @param targetType class.
26
- * @param typeName Name of the type.
27
- */
28
- static defineReflectTypeIdProperty(targetType, idProperty) {
29
- if (!Reflect.hasOwnMetadata(TypeUtil.reflectTypeIdPropertyKey, targetType)) {
30
- Reflect.defineMetadata(TypeUtil.reflectTypeIdPropertyKey, idProperty, targetType);
31
- }
32
- }
33
- /**
34
- * Defines type's id property.
35
- * @param targetType class.
36
- * @param typeName Name of the type.
37
- */
38
- static defineReflectTypeTitleProperty(targetType, titleProperty) {
39
- if (!Reflect.hasOwnMetadata(TypeUtil.reflectTypeTitlePropertyKey, targetType)) {
40
- Reflect.defineMetadata(TypeUtil.reflectTypeTitlePropertyKey, titleProperty, targetType);
41
- }
42
- }
43
- /**
44
- * Gets type name from reflect metadata.
45
- * @param type Class.
46
- */
47
- static findTypeName(type) {
48
- const typeName = Reflect.getMetadata(TypeUtil.reflectTypeNameKey, type);
49
- if (typeName) {
50
- return typeName;
51
- }
52
- console.warn('Reflect metadata could not be found for type, you might experience some issues in production build.', type);
53
- return type.name;
54
- }
55
- /**
56
- * Gets type name from either decorator or reflect metadata.
57
- * @param type Class.
58
- */
59
- static typeNameExists(type) {
60
- return Reflect.hasOwnMetadata(TypeUtil.reflectTypeNameKey, type);
61
- }
62
- /**
63
- * Gets enum name from either decorator or reflect metadata.
64
- * @param enumType Class.
65
- */
66
- static findEnumName(enumType) {
67
- const enumName = Reflect.getMetadata(TypeUtil.reflectEnumNameKey, enumType);
68
- if (enumName) {
69
- return enumName;
70
- }
71
- console.warn('Reflect metadata could not be found for enum, you might experience some issues in production build.', enumType);
72
- throw new Error('Could not fined enum name');
73
- }
74
- /**
75
- * Gets type's id property from reflect metadata.
76
- * @param type Class.
77
- */
78
- static findTypeIdProperty(type) {
79
- return Reflect.getMetadata(TypeUtil.reflectTypeIdPropertyKey, type);
80
- }
81
- /**
82
- * Gets type's title property from reflect metadata.
83
- * @param type Class.
84
- */
85
- static findTypeTitleProperty(type) {
86
- return Reflect.getMetadata(TypeUtil.reflectTypeTitlePropertyKey, type);
87
- }
88
- }
89
- TypeUtil.reflectTypeNameKey = 'typeName';
90
- TypeUtil.reflectTypeIdPropertyKey = 'typeIdProperty';
91
- TypeUtil.reflectTypeTitlePropertyKey = 'typeTitleProperty';
92
- TypeUtil.reflectEnumNameKey = 'enumName';
1
+ import 'reflect-metadata';
2
+ export class TypeUtil {
3
+ /**
4
+ * Defines type name decorator.
5
+ * @param targetType class.
6
+ * @param typeName Name of the type.
7
+ */
8
+ static defineReflectTypeName(targetType, typeName) {
9
+ if (!Reflect.hasOwnMetadata(TypeUtil.reflectTypeNameKey, targetType)) {
10
+ Reflect.defineMetadata(TypeUtil.reflectTypeNameKey, typeName, targetType);
11
+ }
12
+ }
13
+ /**
14
+ * Defines enum name decorator.
15
+ * @param targetType enum object.
16
+ * @param enumName Name of the enum.
17
+ */
18
+ static defineReflectEnumName(targetType, enumName) {
19
+ if (!Reflect.hasOwnMetadata(TypeUtil.reflectEnumNameKey, targetType)) {
20
+ Reflect.defineMetadata(TypeUtil.reflectEnumNameKey, enumName, targetType);
21
+ }
22
+ }
23
+ /**
24
+ * Defines type's id property.
25
+ * @param targetType class.
26
+ * @param typeName Name of the type.
27
+ */
28
+ static defineReflectTypeIdProperty(targetType, idProperty) {
29
+ if (!Reflect.hasOwnMetadata(TypeUtil.reflectTypeIdPropertyKey, targetType)) {
30
+ Reflect.defineMetadata(TypeUtil.reflectTypeIdPropertyKey, idProperty, targetType);
31
+ }
32
+ }
33
+ /**
34
+ * Defines type's id property.
35
+ * @param targetType class.
36
+ * @param typeName Name of the type.
37
+ */
38
+ static defineReflectTypeTitleProperty(targetType, titleProperty) {
39
+ if (!Reflect.hasOwnMetadata(TypeUtil.reflectTypeTitlePropertyKey, targetType)) {
40
+ Reflect.defineMetadata(TypeUtil.reflectTypeTitlePropertyKey, titleProperty, targetType);
41
+ }
42
+ }
43
+ /**
44
+ * Gets type name from reflect metadata.
45
+ * @param type Class.
46
+ */
47
+ static findTypeName(type) {
48
+ const typeName = Reflect.getMetadata(TypeUtil.reflectTypeNameKey, type);
49
+ if (typeName) {
50
+ return typeName;
51
+ }
52
+ console.warn('Reflect metadata could not be found for type, you might experience some issues in production build.', type);
53
+ return type.name;
54
+ }
55
+ /**
56
+ * Gets type name from either decorator or reflect metadata.
57
+ * @param type Class.
58
+ */
59
+ static typeNameExists(type) {
60
+ return Reflect.hasOwnMetadata(TypeUtil.reflectTypeNameKey, type);
61
+ }
62
+ /**
63
+ * Gets enum name from either decorator or reflect metadata.
64
+ * @param enumType Class.
65
+ */
66
+ static findEnumName(enumType) {
67
+ const enumName = Reflect.getMetadata(TypeUtil.reflectEnumNameKey, enumType);
68
+ if (enumName) {
69
+ return enumName;
70
+ }
71
+ console.warn('Reflect metadata could not be found for enum, you might experience some issues in production build.', enumType);
72
+ throw new Error('Could not fined enum name');
73
+ }
74
+ /**
75
+ * Gets type's id property from reflect metadata.
76
+ * @param type Class.
77
+ */
78
+ static findTypeIdProperty(type) {
79
+ return Reflect.getMetadata(TypeUtil.reflectTypeIdPropertyKey, type);
80
+ }
81
+ /**
82
+ * Gets type's title property from reflect metadata.
83
+ * @param type Class.
84
+ */
85
+ static findTypeTitleProperty(type) {
86
+ return Reflect.getMetadata(TypeUtil.reflectTypeTitlePropertyKey, type);
87
+ }
88
+ }
89
+ TypeUtil.reflectTypeNameKey = 'typeName';
90
+ TypeUtil.reflectTypeIdPropertyKey = 'typeIdProperty';
91
+ TypeUtil.reflectTypeTitlePropertyKey = 'typeTitleProperty';
92
+ TypeUtil.reflectEnumNameKey = 'enumName';
93
93
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi91dGlscy90eXBlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxrQkFBa0IsQ0FBQztBQUkxQixNQUFNLE9BQU8sUUFBUTtJQU1qQjs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLHFCQUFxQixDQUFDLFVBQTBCLEVBQUUsUUFBZ0I7UUFDNUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxFQUFFO1lBQ2xFLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUM3RTtJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLHFCQUFxQixDQUFDLFVBQW9CLEVBQUUsUUFBZ0I7UUFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxFQUFFO1lBQ2xFLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUM3RTtJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLDJCQUEyQixDQUFDLFVBQTBCLEVBQUUsVUFBMkI7UUFDN0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLHdCQUF3QixFQUFFLFVBQVUsQ0FBQyxFQUFFO1lBQ3hFLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLHdCQUF3QixFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUNyRjtJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLDhCQUE4QixDQUFDLFVBQTBCLEVBQUUsYUFBOEI7UUFDbkcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLDJCQUEyQixFQUFFLFVBQVUsQ0FBQyxFQUFFO1lBQzNFLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLDJCQUEyQixFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUMzRjtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsWUFBWSxDQUFDLElBQW9CO1FBQzNDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hFLElBQUksUUFBUSxFQUFFO1lBQ1YsT0FBTyxRQUFRLENBQUM7U0FDbkI7UUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLHFHQUFxRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFvQjtRQUM3QyxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQWtCO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzVFLElBQUksUUFBUSxFQUFFO1lBQ1YsT0FBTyxRQUFRLENBQUM7U0FDbkI7UUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLHFHQUFxRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlILE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQW9CO1FBQ2pELE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFvQjtRQUNwRCxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLDJCQUEyQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNFLENBQUM7O0FBakdzQiwyQkFBa0IsR0FBRyxVQUFVLENBQUM7QUFDaEMsaUNBQXdCLEdBQUcsZ0JBQWdCLENBQUM7QUFDNUMsb0NBQTJCLEdBQUcsbUJBQW1CLENBQUM7QUFDbEQsMkJBQWtCLEdBQUcsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdyZWZsZWN0LW1ldGFkYXRhJztcblxuaW1wb3J0IHtDbGFzc1R5cGUsIEVudW1UeXBlfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBUeXBlVXRpbCB7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSByZWZsZWN0VHlwZU5hbWVLZXkgPSAndHlwZU5hbWUnO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgcmVmbGVjdFR5cGVJZFByb3BlcnR5S2V5ID0gJ3R5cGVJZFByb3BlcnR5JztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHJlZmxlY3RUeXBlVGl0bGVQcm9wZXJ0eUtleSA9ICd0eXBlVGl0bGVQcm9wZXJ0eSc7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSByZWZsZWN0RW51bU5hbWVLZXkgPSAnZW51bU5hbWUnO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB0eXBlIG5hbWUgZGVjb3JhdG9yLlxuICAgICAqIEBwYXJhbSB0YXJnZXRUeXBlIGNsYXNzLlxuICAgICAqIEBwYXJhbSB0eXBlTmFtZSBOYW1lIG9mIHRoZSB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZGVmaW5lUmVmbGVjdFR5cGVOYW1lKHRhcmdldFR5cGU6IENsYXNzVHlwZTxhbnk+LCB0eXBlTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghUmVmbGVjdC5oYXNPd25NZXRhZGF0YShUeXBlVXRpbC5yZWZsZWN0VHlwZU5hbWVLZXksIHRhcmdldFR5cGUpKSB7XG4gICAgICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFR5cGVVdGlsLnJlZmxlY3RUeXBlTmFtZUtleSwgdHlwZU5hbWUsIHRhcmdldFR5cGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyBlbnVtIG5hbWUgZGVjb3JhdG9yLlxuICAgICAqIEBwYXJhbSB0YXJnZXRUeXBlIGVudW0gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBlbnVtTmFtZSBOYW1lIG9mIHRoZSBlbnVtLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZGVmaW5lUmVmbGVjdEVudW1OYW1lKHRhcmdldFR5cGU6IEVudW1UeXBlLCBlbnVtTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghUmVmbGVjdC5oYXNPd25NZXRhZGF0YShUeXBlVXRpbC5yZWZsZWN0RW51bU5hbWVLZXksIHRhcmdldFR5cGUpKSB7XG4gICAgICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFR5cGVVdGlsLnJlZmxlY3RFbnVtTmFtZUtleSwgZW51bU5hbWUsIHRhcmdldFR5cGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB0eXBlJ3MgaWQgcHJvcGVydHkuXG4gICAgICogQHBhcmFtIHRhcmdldFR5cGUgY2xhc3MuXG4gICAgICogQHBhcmFtIHR5cGVOYW1lIE5hbWUgb2YgdGhlIHR5cGUuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBkZWZpbmVSZWZsZWN0VHlwZUlkUHJvcGVydHkodGFyZ2V0VHlwZTogQ2xhc3NUeXBlPGFueT4sIGlkUHJvcGVydHk6IHN0cmluZyB8IHN5bWJvbCkge1xuICAgICAgICBpZiAoIVJlZmxlY3QuaGFzT3duTWV0YWRhdGEoVHlwZVV0aWwucmVmbGVjdFR5cGVJZFByb3BlcnR5S2V5LCB0YXJnZXRUeXBlKSkge1xuICAgICAgICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShUeXBlVXRpbC5yZWZsZWN0VHlwZUlkUHJvcGVydHlLZXksIGlkUHJvcGVydHksIHRhcmdldFR5cGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB0eXBlJ3MgaWQgcHJvcGVydHkuXG4gICAgICogQHBhcmFtIHRhcmdldFR5cGUgY2xhc3MuXG4gICAgICogQHBhcmFtIHR5cGVOYW1lIE5hbWUgb2YgdGhlIHR5cGUuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBkZWZpbmVSZWZsZWN0VHlwZVRpdGxlUHJvcGVydHkodGFyZ2V0VHlwZTogQ2xhc3NUeXBlPGFueT4sIHRpdGxlUHJvcGVydHk6IHN0cmluZyB8IHN5bWJvbCkge1xuICAgICAgICBpZiAoIVJlZmxlY3QuaGFzT3duTWV0YWRhdGEoVHlwZVV0aWwucmVmbGVjdFR5cGVUaXRsZVByb3BlcnR5S2V5LCB0YXJnZXRUeXBlKSkge1xuICAgICAgICAgICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShUeXBlVXRpbC5yZWZsZWN0VHlwZVRpdGxlUHJvcGVydHlLZXksIHRpdGxlUHJvcGVydHksIHRhcmdldFR5cGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0eXBlIG5hbWUgZnJvbSByZWZsZWN0IG1ldGFkYXRhLlxuICAgICAqIEBwYXJhbSB0eXBlIENsYXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZmluZFR5cGVOYW1lKHR5cGU6IENsYXNzVHlwZTxhbnk+KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgdHlwZU5hbWUgPSBSZWZsZWN0LmdldE1ldGFkYXRhKFR5cGVVdGlsLnJlZmxlY3RUeXBlTmFtZUtleSwgdHlwZSk7XG4gICAgICAgIGlmICh0eXBlTmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHR5cGVOYW1lO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUud2FybignUmVmbGVjdCBtZXRhZGF0YSBjb3VsZCBub3QgYmUgZm91bmQgZm9yIHR5cGUsIHlvdSBtaWdodCBleHBlcmllbmNlIHNvbWUgaXNzdWVzIGluIHByb2R1Y3Rpb24gYnVpbGQuJywgdHlwZSk7XG4gICAgICAgIHJldHVybiB0eXBlLm5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0eXBlIG5hbWUgZnJvbSBlaXRoZXIgZGVjb3JhdG9yIG9yIHJlZmxlY3QgbWV0YWRhdGEuXG4gICAgICogQHBhcmFtIHR5cGUgQ2xhc3MuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB0eXBlTmFtZUV4aXN0cyh0eXBlOiBDbGFzc1R5cGU8YW55Pik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5oYXNPd25NZXRhZGF0YShUeXBlVXRpbC5yZWZsZWN0VHlwZU5hbWVLZXksIHR5cGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgZW51bSBuYW1lIGZyb20gZWl0aGVyIGRlY29yYXRvciBvciByZWZsZWN0IG1ldGFkYXRhLlxuICAgICAqIEBwYXJhbSBlbnVtVHlwZSBDbGFzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGZpbmRFbnVtTmFtZShlbnVtVHlwZTogRW51bVR5cGUpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBlbnVtTmFtZSA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoVHlwZVV0aWwucmVmbGVjdEVudW1OYW1lS2V5LCBlbnVtVHlwZSk7XG4gICAgICAgIGlmIChlbnVtTmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIGVudW1OYW1lO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUud2FybignUmVmbGVjdCBtZXRhZGF0YSBjb3VsZCBub3QgYmUgZm91bmQgZm9yIGVudW0sIHlvdSBtaWdodCBleHBlcmllbmNlIHNvbWUgaXNzdWVzIGluIHByb2R1Y3Rpb24gYnVpbGQuJywgZW51bVR5cGUpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5lZCBlbnVtIG5hbWUnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHR5cGUncyBpZCBwcm9wZXJ0eSBmcm9tIHJlZmxlY3QgbWV0YWRhdGEuXG4gICAgICogQHBhcmFtIHR5cGUgQ2xhc3MuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBmaW5kVHlwZUlkUHJvcGVydHkodHlwZTogQ2xhc3NUeXBlPGFueT4pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5nZXRNZXRhZGF0YShUeXBlVXRpbC5yZWZsZWN0VHlwZUlkUHJvcGVydHlLZXksIHR5cGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdHlwZSdzIHRpdGxlIHByb3BlcnR5IGZyb20gcmVmbGVjdCBtZXRhZGF0YS5cbiAgICAgKiBAcGFyYW0gdHlwZSBDbGFzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGZpbmRUeXBlVGl0bGVQcm9wZXJ0eSh0eXBlOiBDbGFzc1R5cGU8YW55Pik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0LmdldE1ldGFkYXRhKFR5cGVVdGlsLnJlZmxlY3RUeXBlVGl0bGVQcm9wZXJ0eUtleSwgdHlwZSk7XG4gICAgfVxufVxuIl19
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaXVzaW5jLW1uZy1jb21tb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lZGl1c2luYy1tbmctY29tbW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19