@mediusinc/mng-commons 1.4.0 → 2.0.0-rc.1-b808fba6

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 (419) hide show
  1. package/esm2020/lib/api/models/builders/query-param.builder.mjs +58 -58
  2. package/esm2020/lib/api/models/filter-match-type.model.mjs +24 -24
  3. package/esm2020/lib/api/models/filter-param.model.mjs +32 -32
  4. package/esm2020/lib/api/models/index.mjs +8 -8
  5. package/esm2020/lib/api/models/mappers.mjs +12 -12
  6. package/esm2020/lib/api/models/query-mode.model.mjs +17 -17
  7. package/esm2020/lib/api/models/query-param.model.mjs +67 -67
  8. package/esm2020/lib/api/models/query-result.model.mjs +23 -23
  9. package/esm2020/lib/api/models/serialization.model.mjs +1 -1
  10. package/esm2020/lib/api/services/api.abstract.service.mjs +57 -57
  11. package/esm2020/lib/api/services/crud-api.abstract.service.mjs +74 -74
  12. package/esm2020/lib/api/services/get-all-api.abstract.service.mjs +29 -29
  13. package/esm2020/lib/api/services/index.mjs +3 -3
  14. package/esm2020/lib/api/utils/index.mjs +2 -2
  15. package/esm2020/lib/api/utils/medius-rest.util.mjs +213 -213
  16. package/esm2020/lib/api/utils/object-serializer.util.mjs +247 -247
  17. package/esm2020/lib/components/action/action.component.mjs +281 -275
  18. package/esm2020/lib/components/action/editor/action-editor.component.mjs +303 -303
  19. package/esm2020/lib/components/action/index.mjs +4 -4
  20. package/esm2020/lib/components/action/localization/data-language-dropdown.component.mjs +45 -45
  21. package/esm2020/lib/components/action/models/action-component.model.mjs +2 -2
  22. package/esm2020/lib/components/action/models/action-confirmation-service.model.mjs +2 -2
  23. package/esm2020/lib/components/action/models/action-execution.model.mjs +249 -249
  24. package/esm2020/lib/components/action/models/index.mjs +4 -4
  25. package/esm2020/lib/components/action/models/tableview-action-default-categories.model.mjs +10 -10
  26. package/esm2020/lib/components/action/route/action-route.component.mjs +131 -130
  27. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +301 -300
  28. package/esm2020/lib/components/form/date-range/date-range.component.mjs +110 -109
  29. package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +209 -194
  30. package/esm2020/lib/components/form/editor/form-editor.component.mjs +246 -243
  31. package/esm2020/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.mjs +43 -39
  32. package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +51 -50
  33. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +46 -45
  34. package/esm2020/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +28 -26
  35. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +180 -150
  36. package/esm2020/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.mjs +24 -24
  37. package/esm2020/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +191 -186
  38. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +198 -197
  39. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +158 -154
  40. package/esm2020/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +19 -17
  41. package/esm2020/lib/components/form/formly/fields/index.mjs +10 -10
  42. package/esm2020/lib/components/form/formly/formly.config.mjs +211 -211
  43. package/esm2020/lib/components/form/formly/index.mjs +1 -1
  44. package/esm2020/lib/components/form/formly/models/formly-config.model.mjs +1 -1
  45. package/esm2020/lib/components/form/formly/models/formly-field.model.mjs +2 -2
  46. package/esm2020/lib/components/form/formly/models/index.mjs +2 -2
  47. package/esm2020/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +16 -15
  48. package/esm2020/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +84 -83
  49. package/esm2020/lib/components/form/formly/wrappers/index.mjs +2 -2
  50. package/esm2020/lib/components/form/index.mjs +4 -4
  51. package/esm2020/lib/components/form/models/field-action-context.model.mjs +2 -2
  52. package/esm2020/lib/components/form/models/form-editor.event.mjs +33 -33
  53. package/esm2020/lib/components/form/models/form-editor.interface.mjs +1 -1
  54. package/esm2020/lib/components/form/models/index.mjs +2 -2
  55. package/esm2020/lib/components/layout/breadcrumb.component.mjs +18 -17
  56. package/esm2020/lib/components/layout/footer.component.mjs +18 -17
  57. package/esm2020/lib/components/layout/index.mjs +9 -8
  58. package/esm2020/lib/components/layout/main-layout.component.mjs +56 -52
  59. package/esm2020/lib/components/layout/menu-item.component.mjs +292 -272
  60. package/esm2020/lib/components/layout/menu.component.mjs +32 -21
  61. package/esm2020/lib/components/layout/services/index.mjs +1 -1
  62. package/esm2020/lib/components/layout/services/main-layout.component.service.mjs +194 -194
  63. package/esm2020/lib/components/layout/topbar-user.component.mjs +41 -0
  64. package/esm2020/lib/components/layout/topbar.component.mjs +64 -65
  65. package/esm2020/lib/components/layout/version.component.mjs +58 -58
  66. package/esm2020/lib/components/tableview/index.mjs +6 -6
  67. package/esm2020/lib/components/tableview/models/index.mjs +1 -1
  68. package/esm2020/lib/components/tableview/models/table.event.mjs +16 -16
  69. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +150 -147
  70. package/esm2020/lib/components/tableview/route/tableview-route.component.mjs +52 -53
  71. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +121 -120
  72. package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +101 -84
  73. package/esm2020/lib/components/tableview/table/table.component.mjs +611 -595
  74. package/esm2020/lib/components/tableview/tableview.component.mjs +115 -113
  75. package/esm2020/lib/data-providers/base.data-provider.mjs +16 -16
  76. package/esm2020/lib/data-providers/editor.data-provider.mjs +36 -36
  77. package/esm2020/lib/data-providers/index.mjs +6 -6
  78. package/esm2020/lib/data-providers/lookup.data-provider.mjs +15 -15
  79. package/esm2020/lib/data-providers/table.data-provider.mjs +37 -37
  80. package/esm2020/lib/data-providers/tableview-crud.data-provider.mjs +23 -23
  81. package/esm2020/lib/data-providers/tableview.data-provider.mjs +44 -44
  82. package/esm2020/lib/descriptors/action/action-button.descriptor.mjs +60 -0
  83. package/esm2020/lib/descriptors/action/action-confirmation.descriptor.mjs +77 -77
  84. package/esm2020/lib/descriptors/action/action.descriptor.mjs +579 -0
  85. package/esm2020/lib/descriptors/action/index.mjs +4 -0
  86. package/esm2020/lib/descriptors/editor/editor.descriptor.mjs +291 -0
  87. package/esm2020/lib/descriptors/editor/field-validation.descriptor.mjs +25 -0
  88. package/esm2020/lib/descriptors/editor/field.descriptor.mjs +990 -0
  89. package/esm2020/lib/descriptors/editor/index.mjs +4 -0
  90. package/esm2020/lib/descriptors/filter/filter.descriptor.mjs +370 -0
  91. package/esm2020/lib/descriptors/filter/index.mjs +2 -0
  92. package/esm2020/lib/descriptors/index.mjs +2 -12
  93. package/esm2020/lib/descriptors/interfaces/field-config.interface.mjs +1 -1
  94. package/esm2020/lib/descriptors/interfaces/index.mjs +2 -2
  95. package/esm2020/lib/descriptors/interfaces/lookup-descriptor.interface.mjs +1 -1
  96. package/esm2020/lib/descriptors/model.descriptor.mjs +44 -44
  97. package/esm2020/lib/descriptors/table/column.descriptor.mjs +406 -0
  98. package/esm2020/lib/descriptors/table/index.mjs +3 -0
  99. package/esm2020/lib/descriptors/table/table.descriptor.mjs +497 -0
  100. package/esm2020/lib/descriptors/tableview/index.mjs +2 -0
  101. package/esm2020/lib/descriptors/tableview/tableview.descriptor.mjs +346 -0
  102. package/esm2020/lib/descriptors/types/action.type.mjs +25 -25
  103. package/esm2020/lib/descriptors/types/column.type.mjs +20 -20
  104. package/esm2020/lib/descriptors/types/editor.type.mjs +7 -7
  105. package/esm2020/lib/descriptors/types/field.type.mjs +55 -55
  106. package/esm2020/lib/descriptors/types/filter.type.mjs +30 -30
  107. package/esm2020/lib/descriptors/types/index.mjs +6 -6
  108. package/esm2020/lib/descriptors/types/table.type.mjs +26 -26
  109. package/esm2020/lib/directives/component.directive.mjs +62 -44
  110. package/esm2020/lib/directives/index.mjs +2 -2
  111. package/esm2020/lib/directives/template.directive.mjs +29 -28
  112. package/esm2020/lib/mng-commons.module.mjs +450 -485
  113. package/esm2020/lib/models/column-value.model.mjs +2 -2
  114. package/esm2020/lib/models/config.model.mjs +2 -2
  115. package/esm2020/lib/models/enum.model.mjs +1 -1
  116. package/esm2020/lib/models/error.model.mjs +1 -1
  117. package/esm2020/lib/models/index.mjs +9 -9
  118. package/esm2020/lib/models/menu.model.mjs +2 -2
  119. package/esm2020/lib/models/tableview-attr.model.mjs +1 -1
  120. package/esm2020/lib/models/user.model.mjs +1 -1
  121. package/esm2020/lib/models/version.model.mjs +1 -1
  122. package/esm2020/lib/models/view-container.model.mjs +2 -2
  123. package/esm2020/lib/pipes/boolean.pipe.mjs +28 -27
  124. package/esm2020/lib/pipes/class-map.pipe.mjs +23 -22
  125. package/esm2020/lib/pipes/enum.pipe.mjs +26 -25
  126. package/esm2020/lib/pipes/enumerate-async.pipe.mjs +39 -38
  127. package/esm2020/lib/pipes/enumerate.pipe.mjs +56 -55
  128. package/esm2020/lib/pipes/getter.pipe.mjs +21 -20
  129. package/esm2020/lib/pipes/i18n-property.pipe.mjs +19 -18
  130. package/esm2020/lib/pipes/index.mjs +11 -11
  131. package/esm2020/lib/pipes/json-path.pipe.mjs +80 -79
  132. package/esm2020/lib/pipes/locale-default-row-class.pipe.mjs +27 -26
  133. package/esm2020/lib/pipes/models/internal/enumrate-pipe-i18n.model.mjs +1 -1
  134. package/esm2020/lib/pipes/models/internal/index.mjs +1 -1
  135. package/esm2020/lib/pipes/parametrize.pipe.mjs +86 -85
  136. package/esm2020/lib/pipes/template.pipe.mjs +25 -24
  137. package/esm2020/lib/provide-commons.mjs +73 -0
  138. package/esm2020/lib/router/index.mjs +4 -3
  139. package/esm2020/lib/router/models/index.mjs +1 -1
  140. package/esm2020/lib/router/models/router.model.mjs +2 -2
  141. package/esm2020/lib/router/route-builder.mjs +293 -426
  142. package/esm2020/lib/router/routes-builder.mjs +67 -0
  143. package/esm2020/lib/router/tableview-route-builder.mjs +184 -187
  144. package/esm2020/lib/security/authorization.guard.mjs +29 -26
  145. package/esm2020/lib/security/authorization.service.mjs +50 -47
  146. package/esm2020/lib/security/authorization.util.mjs +15 -15
  147. package/esm2020/lib/security/index.mjs +3 -3
  148. package/esm2020/lib/security/model/authorization.type.mjs +7 -7
  149. package/esm2020/lib/security/model/index.mjs +3 -3
  150. package/esm2020/lib/security/model/permission-service.interface.mjs +1 -1
  151. package/esm2020/lib/security/model/permissions.model.mjs +86 -86
  152. package/esm2020/lib/services/action-executor.service.mjs +558 -555
  153. package/esm2020/lib/services/commons.service.mjs +464 -461
  154. package/esm2020/lib/services/configuration.service.mjs +149 -142
  155. package/esm2020/lib/services/error-mapper.service.mjs +13 -13
  156. package/esm2020/lib/services/index.mjs +6 -6
  157. package/esm2020/lib/services/internal/commons-init.provider.mjs +3 -3
  158. package/esm2020/lib/services/internal/commons-init.service.mjs +50 -44
  159. package/esm2020/lib/services/internal/index.mjs +2 -2
  160. package/esm2020/lib/services/navigation.service.mjs +51 -48
  161. package/esm2020/lib/services/providers/config-service.provider.mjs +31 -30
  162. package/esm2020/lib/services/providers/formly-config.provider.mjs +30 -30
  163. package/esm2020/lib/services/providers/index.mjs +2 -2
  164. package/esm2020/lib/services/router.service.mjs +97 -0
  165. package/esm2020/lib/services/tokens/browser-storage.token.mjs +5 -5
  166. package/esm2020/lib/services/tokens/commons-init.token.mjs +2 -2
  167. package/esm2020/lib/services/tokens/default-setting.token.mjs +2 -2
  168. package/esm2020/lib/services/tokens/index.mjs +4 -4
  169. package/esm2020/lib/services/tokens/module-config.token.mjs +2 -2
  170. package/esm2020/lib/services/version.service.mjs +42 -39
  171. package/esm2020/lib/services/view-container.component.service.mjs +55 -55
  172. package/esm2020/lib/styles/button-style.builder.mjs +164 -164
  173. package/esm2020/lib/styles/index.mjs +2 -2
  174. package/esm2020/lib/styles/models/index.mjs +2 -2
  175. package/esm2020/lib/styles/models/style-level.enum.mjs +11 -11
  176. package/esm2020/lib/styles/models/style-size.enum.mjs +8 -8
  177. package/esm2020/lib/styles/styles.util.mjs +42 -42
  178. package/esm2020/lib/types/index.mjs +2 -2
  179. package/esm2020/lib/types/type.decorator.mjs +21 -21
  180. package/esm2020/lib/types/type.model.mjs +1 -1
  181. package/esm2020/lib/utils/action-data-provider.util.mjs +145 -145
  182. package/esm2020/lib/utils/date.util.mjs +117 -117
  183. package/esm2020/lib/utils/editor-formly.util.mjs +288 -288
  184. package/esm2020/lib/utils/enum.util.mjs +81 -81
  185. package/esm2020/lib/utils/export.util.mjs +20 -20
  186. package/esm2020/lib/utils/i18n.util.mjs +233 -233
  187. package/esm2020/lib/utils/index.mjs +10 -10
  188. package/esm2020/lib/utils/model.util.mjs +68 -68
  189. package/esm2020/lib/utils/notification.util.mjs +51 -51
  190. package/esm2020/lib/utils/route.util.mjs +36 -24
  191. package/esm2020/lib/utils/string.util.mjs +26 -26
  192. package/esm2020/lib/utils/tableview.util.mjs +160 -160
  193. package/esm2020/lib/utils/type.util.mjs +92 -92
  194. package/esm2020/mediusinc-mng-commons.mjs +4 -4
  195. package/esm2020/public-api.mjs +61 -55
  196. package/fesm2015/mediusinc-mng-commons.mjs +14198 -13932
  197. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  198. package/fesm2020/mediusinc-mng-commons.mjs +14024 -13769
  199. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  200. package/index.d.ts +5 -5
  201. package/lib/api/models/builders/query-param.builder.d.ts +13 -13
  202. package/lib/api/models/filter-match-type.model.d.ts +23 -23
  203. package/lib/api/models/filter-param.model.d.ts +23 -23
  204. package/lib/api/models/index.d.ts +8 -8
  205. package/lib/api/models/mappers.d.ts +6 -6
  206. package/lib/api/models/query-mode.model.d.ts +16 -16
  207. package/lib/api/models/query-param.model.d.ts +31 -31
  208. package/lib/api/models/query-result.model.d.ts +24 -24
  209. package/lib/api/models/serialization.model.d.ts +8 -8
  210. package/lib/api/services/api.abstract.service.d.ts +24 -24
  211. package/lib/api/services/crud-api.abstract.service.d.ts +22 -22
  212. package/lib/api/services/get-all-api.abstract.service.d.ts +14 -14
  213. package/lib/api/services/index.d.ts +3 -3
  214. package/lib/api/utils/index.d.ts +2 -2
  215. package/lib/api/utils/medius-rest.util.d.ts +16 -16
  216. package/lib/api/utils/object-serializer.util.d.ts +33 -33
  217. package/lib/components/action/action.component.d.ts +79 -79
  218. package/lib/components/action/editor/action-editor.component.d.ts +69 -69
  219. package/lib/components/action/index.d.ts +4 -4
  220. package/lib/components/action/localization/data-language-dropdown.component.d.ts +25 -25
  221. package/lib/components/action/models/action-component.model.d.ts +15 -15
  222. package/lib/components/action/models/action-confirmation-service.model.d.ts +6 -6
  223. package/lib/components/action/models/action-execution.model.d.ts +135 -135
  224. package/lib/components/action/models/index.d.ts +4 -4
  225. package/lib/components/action/models/tableview-action-default-categories.model.d.ts +10 -10
  226. package/lib/components/action/route/action-route.component.d.ts +31 -31
  227. package/lib/components/form/autocomplete/autocomplete.component.d.ts +61 -61
  228. package/lib/components/form/date-range/date-range.component.d.ts +28 -28
  229. package/lib/components/form/dropdown/dropdown.component.d.ts +59 -52
  230. package/lib/components/form/editor/form-editor.component.d.ts +52 -52
  231. package/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.d.ts +13 -13
  232. package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +16 -16
  233. package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +15 -15
  234. package/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +14 -14
  235. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +29 -29
  236. package/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.d.ts +11 -11
  237. package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +46 -46
  238. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +25 -24
  239. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +37 -37
  240. package/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +7 -7
  241. package/lib/components/form/formly/fields/index.d.ts +10 -10
  242. package/lib/components/form/formly/formly.config.d.ts +14 -14
  243. package/lib/components/form/formly/index.d.ts +1 -1
  244. package/lib/components/form/formly/models/formly-config.model.d.ts +11 -11
  245. package/lib/components/form/formly/models/formly-field.model.d.ts +16 -16
  246. package/lib/components/form/formly/models/index.d.ts +2 -2
  247. package/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.d.ts +6 -6
  248. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +11 -11
  249. package/lib/components/form/formly/wrappers/index.d.ts +2 -2
  250. package/lib/components/form/index.d.ts +4 -4
  251. package/lib/components/form/models/field-action-context.model.d.ts +17 -17
  252. package/lib/components/form/models/form-editor.event.d.ts +37 -37
  253. package/lib/components/form/models/form-editor.interface.d.ts +10 -10
  254. package/lib/components/form/models/index.d.ts +2 -2
  255. package/lib/components/layout/breadcrumb.component.d.ts +8 -8
  256. package/lib/components/layout/footer.component.d.ts +9 -9
  257. package/lib/components/layout/index.d.ts +8 -7
  258. package/lib/components/layout/main-layout.component.d.ts +22 -20
  259. package/lib/components/layout/menu-item.component.d.ts +56 -52
  260. package/lib/components/layout/menu.component.d.ts +16 -10
  261. package/lib/components/layout/services/index.d.ts +1 -1
  262. package/lib/components/layout/services/main-layout.component.service.d.ts +65 -65
  263. package/lib/components/layout/topbar-user.component.d.ts +21 -0
  264. package/lib/components/layout/topbar.component.d.ts +26 -28
  265. package/lib/components/layout/version.component.d.ts +19 -19
  266. package/lib/components/tableview/index.d.ts +6 -6
  267. package/lib/components/tableview/models/index.d.ts +1 -1
  268. package/lib/components/tableview/models/table.event.d.ts +17 -17
  269. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +36 -33
  270. package/lib/components/tableview/route/tableview-route.component.d.ts +19 -18
  271. package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +38 -38
  272. package/lib/components/tableview/table/column-value/column-value.component.d.ts +35 -35
  273. package/lib/components/tableview/table/table.component.d.ts +117 -115
  274. package/lib/components/tableview/tableview.component.d.ts +49 -48
  275. package/lib/data-providers/base.data-provider.d.ts +14 -14
  276. package/lib/data-providers/editor.data-provider.d.ts +25 -25
  277. package/lib/data-providers/index.d.ts +6 -6
  278. package/lib/data-providers/lookup.data-provider.d.ts +14 -14
  279. package/lib/data-providers/table.data-provider.d.ts +27 -27
  280. package/lib/data-providers/tableview-crud.data-provider.d.ts +8 -8
  281. package/lib/data-providers/tableview.data-provider.d.ts +33 -33
  282. package/lib/descriptors/{action-button.descriptor.d.ts → action/action-button.descriptor.d.ts} +22 -22
  283. package/lib/descriptors/action/action-confirmation.descriptor.d.ts +36 -36
  284. package/lib/descriptors/{action.descriptor.d.ts → action/action.descriptor.d.ts} +225 -223
  285. package/lib/descriptors/action/index.d.ts +3 -0
  286. package/lib/descriptors/{editor.descriptor.d.ts → editor/editor.descriptor.d.ts} +119 -116
  287. package/lib/descriptors/{field-validation.descriptor.d.ts → editor/field-validation.descriptor.d.ts} +19 -19
  288. package/lib/descriptors/{field.descriptor.d.ts → editor/field.descriptor.d.ts} +349 -345
  289. package/lib/descriptors/editor/index.d.ts +3 -0
  290. package/lib/descriptors/{filter.descriptor.d.ts → filter/filter.descriptor.d.ts} +120 -118
  291. package/lib/descriptors/filter/index.d.ts +1 -0
  292. package/lib/descriptors/index.d.ts +1 -11
  293. package/lib/descriptors/interfaces/field-config.interface.d.ts +9 -9
  294. package/lib/descriptors/interfaces/index.d.ts +2 -2
  295. package/lib/descriptors/interfaces/lookup-descriptor.interface.d.ts +17 -17
  296. package/lib/descriptors/model.descriptor.d.ts +18 -18
  297. package/lib/descriptors/{column.descriptor.d.ts → table/column.descriptor.d.ts} +130 -130
  298. package/lib/descriptors/table/index.d.ts +2 -0
  299. package/lib/descriptors/{table.descriptor.d.ts → table/table.descriptor.d.ts} +193 -193
  300. package/lib/descriptors/tableview/index.d.ts +1 -0
  301. package/lib/descriptors/{tableview.descriptor.d.ts → tableview/tableview.descriptor.d.ts} +131 -129
  302. package/lib/descriptors/types/action.type.d.ts +21 -21
  303. package/lib/descriptors/types/column.type.d.ts +18 -18
  304. package/lib/descriptors/types/editor.type.d.ts +6 -6
  305. package/lib/descriptors/types/field.type.d.ts +47 -47
  306. package/lib/descriptors/types/filter.type.d.ts +27 -27
  307. package/lib/descriptors/types/index.d.ts +6 -6
  308. package/lib/descriptors/types/table.type.d.ts +22 -22
  309. package/lib/directives/component.directive.d.ts +20 -16
  310. package/lib/directives/index.d.ts +2 -2
  311. package/lib/directives/template.directive.d.ts +13 -13
  312. package/lib/mng-commons.module.d.ts +100 -99
  313. package/lib/models/column-value.model.d.ts +4 -4
  314. package/lib/models/config.model.d.ts +51 -40
  315. package/lib/models/enum.model.d.ts +6 -6
  316. package/lib/models/error.model.d.ts +14 -14
  317. package/lib/models/index.d.ts +9 -9
  318. package/lib/models/menu.model.d.ts +30 -30
  319. package/lib/models/tableview-attr.model.d.ts +10 -10
  320. package/lib/models/user.model.d.ts +8 -8
  321. package/lib/models/version.model.d.ts +18 -18
  322. package/lib/models/view-container.model.d.ts +43 -43
  323. package/lib/pipes/boolean.pipe.d.ts +7 -7
  324. package/lib/pipes/class-map.pipe.d.ts +7 -7
  325. package/lib/pipes/enum.pipe.d.ts +8 -8
  326. package/lib/pipes/enumerate-async.pipe.d.ts +14 -14
  327. package/lib/pipes/enumerate.pipe.d.ts +21 -21
  328. package/lib/pipes/getter.pipe.d.ts +7 -7
  329. package/lib/pipes/i18n-property.pipe.d.ts +8 -8
  330. package/lib/pipes/index.d.ts +11 -11
  331. package/lib/pipes/json-path.pipe.d.ts +13 -13
  332. package/lib/pipes/locale-default-row-class.pipe.d.ts +10 -10
  333. package/lib/pipes/models/internal/enumrate-pipe-i18n.model.d.ts +5 -5
  334. package/lib/pipes/models/internal/index.d.ts +1 -1
  335. package/lib/pipes/parametrize.pipe.d.ts +13 -13
  336. package/lib/pipes/template.pipe.d.ts +10 -10
  337. package/lib/provide-commons.d.ts +3 -0
  338. package/lib/router/index.d.ts +3 -2
  339. package/lib/router/models/index.d.ts +1 -1
  340. package/lib/router/models/router.model.d.ts +31 -33
  341. package/lib/router/route-builder.d.ts +60 -98
  342. package/lib/router/routes-builder.d.ts +28 -0
  343. package/lib/router/tableview-route-builder.d.ts +44 -37
  344. package/lib/security/authorization.guard.d.ts +11 -11
  345. package/lib/security/authorization.service.d.ts +19 -19
  346. package/lib/security/authorization.util.d.ts +5 -5
  347. package/lib/security/index.d.ts +3 -3
  348. package/lib/security/model/authorization.type.d.ts +6 -6
  349. package/lib/security/model/index.d.ts +3 -3
  350. package/lib/security/model/permission-service.interface.d.ts +6 -6
  351. package/lib/security/model/permissions.model.d.ts +37 -37
  352. package/lib/services/action-executor.service.d.ts +150 -149
  353. package/lib/services/commons.service.d.ts +93 -93
  354. package/lib/services/configuration.service.d.ts +60 -57
  355. package/lib/services/error-mapper.service.d.ts +7 -7
  356. package/lib/services/index.d.ts +6 -6
  357. package/lib/services/internal/commons-init.provider.d.ts +3 -3
  358. package/lib/services/internal/commons-init.service.d.ts +18 -16
  359. package/lib/services/internal/index.d.ts +2 -2
  360. package/lib/services/navigation.service.d.ts +14 -14
  361. package/lib/services/providers/config-service.provider.d.ts +6 -6
  362. package/lib/services/providers/formly-config.provider.d.ts +4 -4
  363. package/lib/services/providers/index.d.ts +2 -2
  364. package/lib/services/router.service.d.ts +22 -0
  365. package/lib/services/tokens/browser-storage.token.d.ts +2 -2
  366. package/lib/services/tokens/commons-init.token.d.ts +3 -3
  367. package/lib/services/tokens/default-setting.token.d.ts +2 -2
  368. package/lib/services/tokens/index.d.ts +4 -4
  369. package/lib/services/tokens/module-config.token.d.ts +3 -3
  370. package/lib/services/version.service.d.ts +13 -13
  371. package/lib/services/view-container.component.service.d.ts +31 -31
  372. package/lib/styles/button-style.builder.d.ts +67 -67
  373. package/lib/styles/index.d.ts +2 -2
  374. package/lib/styles/models/index.d.ts +2 -2
  375. package/lib/styles/models/style-level.enum.d.ts +10 -10
  376. package/lib/styles/models/style-size.enum.d.ts +7 -7
  377. package/lib/styles/styles.util.d.ts +15 -14
  378. package/lib/types/index.d.ts +2 -2
  379. package/lib/types/type.decorator.d.ts +4 -4
  380. package/lib/types/type.model.d.ts +23 -23
  381. package/lib/utils/action-data-provider.util.d.ts +20 -20
  382. package/lib/utils/date.util.d.ts +7 -7
  383. package/lib/utils/editor-formly.util.d.ts +12 -12
  384. package/lib/utils/enum.util.d.ts +50 -50
  385. package/lib/utils/export.util.d.ts +5 -5
  386. package/lib/utils/i18n.util.d.ts +57 -56
  387. package/lib/utils/index.d.ts +10 -10
  388. package/lib/utils/model.util.d.ts +8 -8
  389. package/lib/utils/notification.util.d.ts +13 -12
  390. package/lib/utils/route.util.d.ts +59 -4
  391. package/lib/utils/string.util.d.ts +4 -4
  392. package/lib/utils/tableview.util.d.ts +40 -40
  393. package/lib/utils/type.util.d.ts +57 -57
  394. package/package.json +6 -6
  395. package/public-api.d.ts +40 -34
  396. package/scss/common/layout/_breadcrumb.scss +12 -2
  397. package/scss/common/layout/_exception.scss +1 -1
  398. package/scss/common/layout/_inlinemenu.scss +13 -0
  399. package/scss/common/layout/_login.scss +1 -0
  400. package/scss/common/layout/_rightmenu.scss +5 -0
  401. package/scss/common/layout/menu/_menu_common.scss +1 -1
  402. package/scss/common/theme/designer/_mixins.scss +29 -0
  403. package/scss/common/theme/extensions/_datatable.scss +2 -2
  404. package/scss/common/variables/layout/_layout_dark.scss +0 -1
  405. package/scss/common/variables/layout/_layout_light.scss +0 -1
  406. package/scss/common/variables/theme/_theme_dark.scss +72 -46
  407. package/scss/common/variables/theme/_theme_light.scss +70 -33
  408. package/scss/theme/default/_mng-variables-theme-light.scss +2 -0
  409. package/version-info.json +7 -7
  410. package/esm2020/lib/descriptors/action-button.descriptor.mjs +0 -60
  411. package/esm2020/lib/descriptors/action.descriptor.mjs +0 -577
  412. package/esm2020/lib/descriptors/column.descriptor.mjs +0 -405
  413. package/esm2020/lib/descriptors/editor.descriptor.mjs +0 -290
  414. package/esm2020/lib/descriptors/field-validation.descriptor.mjs +0 -25
  415. package/esm2020/lib/descriptors/field.descriptor.mjs +0 -987
  416. package/esm2020/lib/descriptors/filter.descriptor.mjs +0 -368
  417. package/esm2020/lib/descriptors/table.descriptor.mjs +0 -497
  418. package/esm2020/lib/descriptors/tableview.descriptor.mjs +0 -344
  419. package/mediusinc-mng-commons-1.4.0.tgz +0 -0
@@ -1,147 +1,150 @@
1
- import { Directive, inject } from '@angular/core';
2
- import { ActivatedRoute } from '@angular/router';
3
- import * as FileSaver from 'file-saver';
4
- import { TranslateService } from '@ngx-translate/core';
5
- import { of, tap } from 'rxjs';
6
- import { map } from 'rxjs/operators';
7
- import { MediusQueryParamBuilder } from '../../../api/models/builders/query-param.builder';
8
- import { ActionButtonDescriptor, ActionDeleteDescriptor, ActionDescriptor, ActionEditorAddDescriptor, ActionEditorDetailsDescriptor, ActionEditorEditDescriptor, ActionLinkDescriptor } from '../../../descriptors';
9
- import { ActionPositionEnum } from '../../../descriptors/types';
10
- import { StyleLevelEnum, StyleSizeEnum } from '../../../styles/models';
11
- import { ActionDataProviderUtil, ExportUtils } from '../../../utils';
12
- import { MngDataLanguageDropdownComponent } from '../../action';
13
- import { TableviewActionDefaultCategories } from '../../action/models';
14
- import * as i0 from "@angular/core";
15
- export class AMngTableviewRouteComponent {
16
- constructor() {
17
- this.route = inject(ActivatedRoute);
18
- this.translateService = inject(TranslateService);
19
- }
20
- get routeData() {
21
- return this.route.snapshot.data;
22
- }
23
- ngOnInit() {
24
- this.descriptor = this.createTableviewDescriptor();
25
- this.dataProvider = this.createTableviewDataProvider();
26
- this.actions = this.createActionDescriptors();
27
- }
28
- createActionDescriptors() {
29
- return [
30
- this.createActionDescriptorForDetails(),
31
- this.createActionDescriptorForAdd(),
32
- this.createActionDescriptorForEdit(),
33
- this.createActionDescriptorForDelete(),
34
- this.createActionDescriptorForRefresh(),
35
- this.createActionDescriptorForExport(),
36
- this.createActionDescriptorForDataTranslate(),
37
- //details actions
38
- this.createActionDescriptorForDetailsEditLink(),
39
- this.createActionDescriptorForDetailsDelete()
40
- ].filter(e => e != null);
41
- }
42
- createActionDescriptorForDetails(descriptor = this.descriptor.detailsEditor) {
43
- return !this.routeData.tableviewActions || this.routeData.tableviewActions.hasDetails ? new ActionEditorDetailsDescriptor(descriptor) : null;
44
- }
45
- createActionDescriptorForAdd(descriptor = this.descriptor.addEditor) {
46
- return !this.routeData.tableviewActions || this.routeData.tableviewActions.hasAdd ? new ActionEditorAddDescriptor(descriptor) : null;
47
- }
48
- createActionDescriptorForEdit(descriptor = this.descriptor.editEditor) {
49
- return !this.routeData.tableviewActions || this.routeData.tableviewActions.hasEdit ? new ActionEditorEditDescriptor(descriptor) : null;
50
- }
51
- createActionDescriptorForDetailsEditLink(descriptor = this.descriptor.model) {
52
- if (!this.routeData.tableviewActions || this.routeData.tableviewActions.hasEdit) {
53
- const action = new ActionLinkDescriptor(descriptor, ActionEditorEditDescriptor.ACTION_NAME)
54
- .withTableviewCategory(TableviewActionDefaultCategories.EDIT)
55
- .withPositionTableviewCategories([TableviewActionDefaultCategories.DETAILS])
56
- .withPosition(ActionPositionEnum.FooterLeft)
57
- .withRouterLink('./edit');
58
- action.button.styleClass.withActionLevel(StyleLevelEnum.Secondary);
59
- action.button.withIcon('pi pi-pencil');
60
- return action;
61
- }
62
- return null;
63
- }
64
- createActionDescriptorForDetailsDelete() {
65
- const action = this.createActionDescriptorForDelete();
66
- if (action) {
67
- action
68
- .withTableviewCategory(TableviewActionDefaultCategories.DELETE)
69
- .withPositionTableviewCategories([TableviewActionDefaultCategories.DETAILS])
70
- .withPosition(ActionPositionEnum.FooterLeft)
71
- .withRunFunction(ctx => ActionDataProviderUtil.runDeleteOrFail(ctx).pipe(tap(() => {
72
- ctx.parameters.viewContainer?.reloadTable?.({});
73
- ctx.parameters.viewContainer?.closeEditor?.();
74
- })));
75
- action.button.withLabel(undefined);
76
- action.button.styleClass.withSize(StyleSizeEnum.Normal);
77
- return action;
78
- }
79
- return null;
80
- }
81
- createActionDescriptorForDelete(descriptor = this.descriptor.model) {
82
- return !this.routeData.tableviewActions || this.routeData.tableviewActions.hasDelete ? new ActionDeleteDescriptor(descriptor) : null;
83
- }
84
- createActionDescriptorForExport(descriptor = this.descriptor.model) {
85
- const exportAction = new ActionDescriptor(descriptor, 'export').withButtonDescriptor(new ActionButtonDescriptor().withIcon('pi pi-download')).withSubactionsAsMenu();
86
- exportAction.withSubactions(this.createActionDescriptorForExportJson(descriptor), this.createActionDescriptorForExportCsv(descriptor));
87
- return exportAction;
88
- }
89
- createActionDescriptorForExportJson(descriptor = this.descriptor.model) {
90
- return new ActionDescriptor(descriptor, 'exportJson')
91
- .withRunFunction(ctx => {
92
- const queryParamBuilder = ctx.parameters.queryParam ? MediusQueryParamBuilder.createFromExisting(ctx.parameters.queryParam) : MediusQueryParamBuilder.create();
93
- queryParamBuilder.withItemsOffset(0).withItemsPerPage(500);
94
- ctx.parameters.withQueryParam(queryParamBuilder.build());
95
- return ActionDataProviderUtil.runGetAllOrFail(ctx).pipe(map(res => {
96
- const blob = new Blob([JSON.stringify(res.pageData, undefined, 4)], { type: 'application/json;charset=utf-8' });
97
- const typeName = ctx.instance.action.model?.typeName ?? '';
98
- FileSaver.saveAs(blob, `${typeName ? typeName + '_' : ''}${ctx.instance.action.actionName}.json`);
99
- return undefined;
100
- }));
101
- })
102
- .withButtonDescriptor(new ActionButtonDescriptor().withIcon('pi pi-code'))
103
- .withPosition(ActionPositionEnum.ToolbarRight);
104
- }
105
- createActionDescriptorForExportCsv(descriptor = this.descriptor.model) {
106
- return new ActionDescriptor(descriptor, 'exportCsv')
107
- .withRunFunction(ctx => {
108
- const queryParamBuilder = ctx.parameters.queryParam ? MediusQueryParamBuilder.createFromExisting(ctx.parameters.queryParam) : MediusQueryParamBuilder.create();
109
- queryParamBuilder.withItemsOffset(0).withItemsPerPage(500);
110
- ctx.parameters.withQueryParam(queryParamBuilder.build());
111
- return ActionDataProviderUtil.runGetAllOrFail(ctx).pipe(map(res => {
112
- if (!res.pageData) {
113
- return undefined;
114
- }
115
- const blob = new Blob([ExportUtils.prepareDataForExport(res.pageData, ',', this.descriptor, this.translateService)], { type: 'text/csv;charset=utf-8' });
116
- const typeName = ctx.instance.action.model?.typeName ?? '';
117
- FileSaver.saveAs(blob, `${typeName ? typeName + '_' : ''}${ctx.instance.action.actionName}.csv`);
118
- return undefined;
119
- }));
120
- })
121
- .withButtonDescriptor(new ActionButtonDescriptor().withIcon('pi pi-file'))
122
- .withPosition(ActionPositionEnum.ToolbarRight);
123
- }
124
- createActionDescriptorForRefresh(descriptor = this.descriptor.model) {
125
- const action = new ActionDescriptor(descriptor, 'refresh')
126
- .withPosition(ActionPositionEnum.ToolbarRight)
127
- .withTableviewCategory(TableviewActionDefaultCategories.READ)
128
- .withRunNotificationSuccess(undefined, undefined, false)
129
- .withRunFunction((ctx) => {
130
- ctx.parameters.viewContainer?.reloadTable?.({});
131
- return of(null);
132
- });
133
- action.button.withIcon('pi pi-refresh').styleClass.withActionLevel(StyleLevelEnum.Secondary);
134
- return action;
135
- }
136
- createActionDescriptorForDataTranslate(descriptor = this.descriptor.model) {
137
- return this.descriptor.isLocalized()
138
- ? new ActionDescriptor(descriptor, 'translator').withPosition(ActionPositionEnum.ToolbarLeft).withComponent(MngDataLanguageDropdownComponent)
139
- : null;
140
- }
141
- }
142
- AMngTableviewRouteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AMngTableviewRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
143
- AMngTableviewRouteComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.0", type: AMngTableviewRouteComponent, ngImport: i0 });
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AMngTableviewRouteComponent, decorators: [{
145
- type: Directive
146
- }], ctorParameters: function () { return []; } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LXJvdXRlLmFic3RyYWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXZpZXcvcm91dGUvdGFibGV2aWV3LXJvdXRlLmFic3RyYWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBRXpGLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQix5QkFBeUIsRUFDekIsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQixvQkFBb0IsRUFJdkIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUc5RCxPQUFPLEVBQUMsY0FBYyxFQUFFLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxzQkFBc0IsRUFBRSxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDOUQsT0FBTyxFQUFnQixnQ0FBZ0MsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQUdwRixNQUFNLE9BQWdC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aUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLO1FBQzdGLE1BQU0sTUFBTSxHQUFHLElBQUksZ0JBQWdCLENBQUksVUFBVSxFQUFFLFNBQVMsQ0FBQzthQUN4RCxZQUFZLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDO2FBQzdDLHFCQUFxQixDQUFDLGdDQUFnQyxDQUFDLElBQUksQ0FBQzthQUM1RCwwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQzthQUN2RCxlQUFlLENBQUMsQ0FBQyxHQUF3QixFQUFFLEVBQUU7WUFDekMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxhQUEyQyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQy9FLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0YsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVTLHNDQUFzQyxDQUFDLGFBQWlDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSztRQUNuRyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFO1lBQ2hDLENBQUMsQ0FBQyxJQUFJLGdCQUFnQixDQUFJLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUMsYUFBYSxDQUFDLGdDQUFnQyxDQUFDO1lBQ2hKLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDZixDQUFDOzt3SEFuS2lCLDJCQUEyQjs0R0FBM0IsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBRGhELFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgT25Jbml0LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0ICogYXMgRmlsZVNhdmVyIGZyb20gJ2ZpbGUtc2F2ZXInO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7b2YsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge01lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyfSBmcm9tICcuLi8uLi8uLi9hcGkvbW9kZWxzL2J1aWxkZXJzL3F1ZXJ5LXBhcmFtLmJ1aWxkZXInO1xuaW1wb3J0IHtJVGFibGV2aWV3RGF0YVByb3ZpZGVyfSBmcm9tICcuLi8uLi8uLi9kYXRhLXByb3ZpZGVycyc7XG5pbXBvcnQge1xuICAgIEFjdGlvbkJ1dHRvbkRlc2NyaXB0b3IsXG4gICAgQWN0aW9uRGVsZXRlRGVzY3JpcHRvcixcbiAgICBBY3Rpb25EZXNjcmlwdG9yLFxuICAgIEFjdGlvbkVkaXRvckFkZERlc2NyaXB0b3IsXG4gICAgQWN0aW9uRWRpdG9yRGV0YWlsc0Rlc2NyaXB0b3IsXG4gICAgQWN0aW9uRWRpdG9yRWRpdERlc2NyaXB0b3IsXG4gICAgQWN0aW9uTGlua0Rlc2NyaXB0b3IsXG4gICAgRWRpdG9yRGVzY3JpcHRvcixcbiAgICBNb2RlbERlc2NyaXB0b3IsXG4gICAgVGFibGV2aWV3RGVzY3JpcHRvclxufSBmcm9tICcuLi8uLi8uLi9kZXNjcmlwdG9ycyc7XG5pbXBvcnQge0FjdGlvblBvc2l0aW9uRW51bX0gZnJvbSAnLi4vLi4vLi4vZGVzY3JpcHRvcnMvdHlwZXMnO1xuaW1wb3J0IHtJVmlld0NvbnRhaW5lckVkaXRvciwgSVZpZXdDb250YWluZXJUYWJsZX0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7TW5nUm91dGVyRGF0YX0gZnJvbSAnLi4vLi4vLi4vcm91dGVyL21vZGVscyc7XG5pbXBvcnQge1N0eWxlTGV2ZWxFbnVtLCBTdHlsZVNpemVFbnVtfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvbW9kZWxzJztcbmltcG9ydCB7QWN0aW9uRGF0YVByb3ZpZGVyVXRpbCwgRXhwb3J0VXRpbHN9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7TW5nRGF0YUxhbmd1YWdlRHJvcGRvd25Db21wb25lbnR9IGZyb20gJy4uLy4uL2FjdGlvbic7XG5pbXBvcnQge0FjdGlvbkNvbnRleHQsIFRhYmxldmlld0FjdGlvbkRlZmF1bHRDYXRlZ29yaWVzfSBmcm9tICcuLi8uLi9hY3Rpb24vbW9kZWxzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQU1uZ1RhYmxldmlld1JvdXRlQ29tcG9uZW50PFQsIFM+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwdWJsaWMgZGVzY3JpcHRvciE6IFRhYmxldmlld0Rlc2NyaXB0b3I8VD47XG4gICAgcHVibGljIGRhdGFQcm92aWRlciE6IElUYWJsZXZpZXdEYXRhUHJvdmlkZXI8VCwgUz47XG4gICAgcHVibGljIGFjdGlvbnMhOiBBcnJheTxBY3Rpb25EZXNjcmlwdG9yPFQ+PjtcblxuICAgIHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGU7XG4gICAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2U7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5yb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHJvdXRlRGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGUuc25hcHNob3QuZGF0YSBhcyBNbmdSb3V0ZXJEYXRhO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5kZXNjcmlwdG9yID0gdGhpcy5jcmVhdGVUYWJsZXZpZXdEZXNjcmlwdG9yKCk7XG4gICAgICAgIHRoaXMuZGF0YVByb3ZpZGVyID0gdGhpcy5jcmVhdGVUYWJsZXZpZXdEYXRhUHJvdmlkZXIoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zID0gdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9ycygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBjcmVhdGVUYWJsZXZpZXdEZXNjcmlwdG9yKCk6IFRhYmxldmlld0Rlc2NyaXB0b3I8VD47XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlVGFibGV2aWV3RGF0YVByb3ZpZGVyKCk6IElUYWJsZXZpZXdEYXRhUHJvdmlkZXI8VCwgUz47XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvcnMoKTogQXJyYXk8QWN0aW9uRGVzY3JpcHRvcjxUPj4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGV0YWlscygpLFxuICAgICAgICAgICAgdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yQWRkKCksXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JFZGl0KCksXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JEZWxldGUoKSxcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvclJlZnJlc2goKSxcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckV4cG9ydCgpLFxuICAgICAgICAgICAgdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGF0YVRyYW5zbGF0ZSgpLFxuXG4gICAgICAgICAgICAvL2RldGFpbHMgYWN0aW9uc1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGV0YWlsc0VkaXRMaW5rKCksXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JEZXRhaWxzRGVsZXRlKClcbiAgICAgICAgXS5maWx0ZXIoZSA9PiBlICE9IG51bGwpIGFzIEFycmF5PEFjdGlvbkRlc2NyaXB0b3I8VD4+O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGV0YWlscyhkZXNjcmlwdG9yOiBFZGl0b3JEZXNjcmlwdG9yPFQ+ID0gdGhpcy5kZXNjcmlwdG9yLmRldGFpbHNFZGl0b3IpOiBBY3Rpb25FZGl0b3JEZXRhaWxzRGVzY3JpcHRvcjxUPiB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMucm91dGVEYXRhLnRhYmxldmlld0FjdGlvbnMgfHwgdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3QWN0aW9ucy5oYXNEZXRhaWxzID8gbmV3IEFjdGlvbkVkaXRvckRldGFpbHNEZXNjcmlwdG9yKGRlc2NyaXB0b3IpIDogbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckFkZChkZXNjcmlwdG9yOiBFZGl0b3JEZXNjcmlwdG9yPFQ+ID0gdGhpcy5kZXNjcmlwdG9yLmFkZEVkaXRvcik6IEFjdGlvbkVkaXRvckFkZERlc2NyaXB0b3I8VD4gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnJvdXRlRGF0YS50YWJsZXZpZXdBY3Rpb25zIHx8IHRoaXMucm91dGVEYXRhLnRhYmxldmlld0FjdGlvbnMuaGFzQWRkID8gbmV3IEFjdGlvbkVkaXRvckFkZERlc2NyaXB0b3IoZGVzY3JpcHRvcikgOiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRWRpdChkZXNjcmlwdG9yOiBFZGl0b3JEZXNjcmlwdG9yPFQ+ID0gdGhpcy5kZXNjcmlwdG9yLmVkaXRFZGl0b3IpOiBBY3Rpb25FZGl0b3JFZGl0RGVzY3JpcHRvcjxUPiB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMucm91dGVEYXRhLnRhYmxldmlld0FjdGlvbnMgfHwgdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3QWN0aW9ucy5oYXNFZGl0ID8gbmV3IEFjdGlvbkVkaXRvckVkaXREZXNjcmlwdG9yKGRlc2NyaXB0b3IpIDogbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckRldGFpbHNFZGl0TGluayhkZXNjcmlwdG9yOiBNb2RlbERlc2NyaXB0b3I8VD4gPSB0aGlzLmRlc2NyaXB0b3IubW9kZWwpOiBBY3Rpb25MaW5rRGVzY3JpcHRvcjxUPiB8IG51bGwge1xuICAgICAgICBpZiAoIXRoaXMucm91dGVEYXRhLnRhYmxldmlld0FjdGlvbnMgfHwgdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3QWN0aW9ucy5oYXNFZGl0KSB7XG4gICAgICAgICAgICBjb25zdCBhY3Rpb24gPSBuZXcgQWN0aW9uTGlua0Rlc2NyaXB0b3IoZGVzY3JpcHRvciwgQWN0aW9uRWRpdG9yRWRpdERlc2NyaXB0b3IuQUNUSU9OX05BTUUpXG4gICAgICAgICAgICAgICAgLndpdGhUYWJsZXZpZXdDYXRlZ29yeShUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5FRElUKVxuICAgICAgICAgICAgICAgIC53aXRoUG9zaXRpb25UYWJsZXZpZXdDYXRlZ29yaWVzKFtUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5ERVRBSUxTXSlcbiAgICAgICAgICAgICAgICAud2l0aFBvc2l0aW9uKEFjdGlvblBvc2l0aW9uRW51bS5Gb290ZXJMZWZ0KVxuICAgICAgICAgICAgICAgIC53aXRoUm91dGVyTGluaygnLi9lZGl0Jyk7XG4gICAgICAgICAgICBhY3Rpb24uYnV0dG9uLnN0eWxlQ2xhc3Mud2l0aEFjdGlvbkxldmVsKFN0eWxlTGV2ZWxFbnVtLlNlY29uZGFyeSk7XG4gICAgICAgICAgICBhY3Rpb24uYnV0dG9uLndpdGhJY29uKCdwaSBwaS1wZW5jaWwnKTtcblxuICAgICAgICAgICAgcmV0dXJuIGFjdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGV0YWlsc0RlbGV0ZSgpOiBBY3Rpb25EZXNjcmlwdG9yPFQ+IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckRlbGV0ZSgpO1xuICAgICAgICBpZiAoYWN0aW9uKSB7XG4gICAgICAgICAgICBhY3Rpb25cbiAgICAgICAgICAgICAgICAud2l0aFRhYmxldmlld0NhdGVnb3J5KFRhYmxldmlld0FjdGlvbkRlZmF1bHRDYXRlZ29yaWVzLkRFTEVURSlcbiAgICAgICAgICAgICAgICAud2l0aFBvc2l0aW9uVGFibGV2aWV3Q2F0ZWdvcmllcyhbVGFibGV2aWV3QWN0aW9uRGVmYXVsdENhdGVnb3JpZXMuREVUQUlMU10pXG4gICAgICAgICAgICAgICAgLndpdGhQb3NpdGlvbihBY3Rpb25Qb3NpdGlvbkVudW0uRm9vdGVyTGVmdClcbiAgICAgICAgICAgICAgICAud2l0aFJ1bkZ1bmN0aW9uKGN0eCA9PlxuICAgICAgICAgICAgICAgICAgICBBY3Rpb25EYXRhUHJvdmlkZXJVdGlsLnJ1bkRlbGV0ZU9yRmFpbChjdHgpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdHgucGFyYW1ldGVycy52aWV3Q29udGFpbmVyIGFzIElWaWV3Q29udGFpbmVyVGFibGU8dW5rbm93biwgdW5rbm93bj4pPy5yZWxvYWRUYWJsZT8uKHt9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY3R4LnBhcmFtZXRlcnMudmlld0NvbnRhaW5lciBhcyBJVmlld0NvbnRhaW5lckVkaXRvcjx1bmtub3duLCB1bmtub3duPik/LmNsb3NlRWRpdG9yPy4oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgYWN0aW9uLmJ1dHRvbi53aXRoTGFiZWwodW5kZWZpbmVkKTtcbiAgICAgICAgICAgIGFjdGlvbi5idXR0b24uc3R5bGVDbGFzcy53aXRoU2l6ZShTdHlsZVNpemVFbnVtLk5vcm1hbCk7XG5cbiAgICAgICAgICAgIHJldHVybiBhY3Rpb247XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckRlbGV0ZShkZXNjcmlwdG9yOiBNb2RlbERlc2NyaXB0b3I8VD4gPSB0aGlzLmRlc2NyaXB0b3IubW9kZWwpOiBBY3Rpb25EZWxldGVEZXNjcmlwdG9yPFQ+IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3QWN0aW9ucyB8fCB0aGlzLnJvdXRlRGF0YS50YWJsZXZpZXdBY3Rpb25zLmhhc0RlbGV0ZSA/IG5ldyBBY3Rpb25EZWxldGVEZXNjcmlwdG9yKGRlc2NyaXB0b3IpIDogbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckV4cG9ydChkZXNjcmlwdG9yOiBNb2RlbERlc2NyaXB0b3I8VD4gPSB0aGlzLmRlc2NyaXB0b3IubW9kZWwpOiBBY3Rpb25EZXNjcmlwdG9yPFQ+IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGV4cG9ydEFjdGlvbiA9IG5ldyBBY3Rpb25EZXNjcmlwdG9yKGRlc2NyaXB0b3IsICdleHBvcnQnKS53aXRoQnV0dG9uRGVzY3JpcHRvcihuZXcgQWN0aW9uQnV0dG9uRGVzY3JpcHRvcigpLndpdGhJY29uKCdwaSBwaS1kb3dubG9hZCcpKS53aXRoU3ViYWN0aW9uc0FzTWVudSgpO1xuICAgICAgICBleHBvcnRBY3Rpb24ud2l0aFN1YmFjdGlvbnModGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRXhwb3J0SnNvbihkZXNjcmlwdG9yKSwgdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRXhwb3J0Q3N2KGRlc2NyaXB0b3IpKTtcbiAgICAgICAgcmV0dXJuIGV4cG9ydEFjdGlvbjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckV4cG9ydEpzb24oZGVzY3JpcHRvcjogTW9kZWxEZXNjcmlwdG9yPFQ+ID0gdGhpcy5kZXNjcmlwdG9yLm1vZGVsKTogQWN0aW9uRGVzY3JpcHRvcjxUPiB7XG4gICAgICAgIHJldHVybiBuZXcgQWN0aW9uRGVzY3JpcHRvcihkZXNjcmlwdG9yLCAnZXhwb3J0SnNvbicpXG4gICAgICAgICAgICAud2l0aFJ1bkZ1bmN0aW9uKGN0eCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcXVlcnlQYXJhbUJ1aWxkZXIgPSBjdHgucGFyYW1ldGVycy5xdWVyeVBhcmFtID8gTWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXIuY3JlYXRlRnJvbUV4aXN0aW5nKGN0eC5wYXJhbWV0ZXJzLnF1ZXJ5UGFyYW0pIDogTWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXIuY3JlYXRlKCk7XG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbUJ1aWxkZXIud2l0aEl0ZW1zT2Zmc2V0KDApLndpdGhJdGVtc1BlclBhZ2UoNTAwKTtcbiAgICAgICAgICAgICAgICBjdHgucGFyYW1ldGVycy53aXRoUXVlcnlQYXJhbShxdWVyeVBhcmFtQnVpbGRlci5idWlsZCgpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gQWN0aW9uRGF0YVByb3ZpZGVyVXRpbC5ydW5HZXRBbGxPckZhaWwoY3R4KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkocmVzLnBhZ2VEYXRhLCB1bmRlZmluZWQsIDQpXSwge3R5cGU6ICdhcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTgnfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0eXBlTmFtZSA9IGN0eC5pbnN0YW5jZS5hY3Rpb24ubW9kZWw/LnR5cGVOYW1lID8/ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgRmlsZVNhdmVyLnNhdmVBcyhibG9iLCBgJHt0eXBlTmFtZSA/IHR5cGVOYW1lICsgJ18nIDogJyd9JHtjdHguaW5zdGFuY2UuYWN0aW9uLmFjdGlvbk5hbWV9Lmpzb25gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAud2l0aEJ1dHRvbkRlc2NyaXB0b3IobmV3IEFjdGlvbkJ1dHRvbkRlc2NyaXB0b3IoKS53aXRoSWNvbigncGkgcGktY29kZScpKVxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbihBY3Rpb25Qb3NpdGlvbkVudW0uVG9vbGJhclJpZ2h0KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckV4cG9ydENzdihkZXNjcmlwdG9yOiBNb2RlbERlc2NyaXB0b3I8VD4gPSB0aGlzLmRlc2NyaXB0b3IubW9kZWwpOiBBY3Rpb25EZXNjcmlwdG9yPFQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBBY3Rpb25EZXNjcmlwdG9yKGRlc2NyaXB0b3IsICdleHBvcnRDc3YnKVxuICAgICAgICAgICAgLndpdGhSdW5GdW5jdGlvbihjdHggPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1CdWlsZGVyID0gY3R4LnBhcmFtZXRlcnMucXVlcnlQYXJhbSA/IE1lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyLmNyZWF0ZUZyb21FeGlzdGluZyhjdHgucGFyYW1ldGVycy5xdWVyeVBhcmFtKSA6IE1lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyLmNyZWF0ZSgpO1xuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1CdWlsZGVyLndpdGhJdGVtc09mZnNldCgwKS53aXRoSXRlbXNQZXJQYWdlKDUwMCk7XG4gICAgICAgICAgICAgICAgY3R4LnBhcmFtZXRlcnMud2l0aFF1ZXJ5UGFyYW0ocXVlcnlQYXJhbUJ1aWxkZXIuYnVpbGQoKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEFjdGlvbkRhdGFQcm92aWRlclV0aWwucnVuR2V0QWxsT3JGYWlsKGN0eCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXJlcy5wYWdlRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW0V4cG9ydFV0aWxzLnByZXBhcmVEYXRhRm9yRXhwb3J0KHJlcy5wYWdlRGF0YSwgJywnLCB0aGlzLmRlc2NyaXB0b3IsIHRoaXMudHJhbnNsYXRlU2VydmljZSldLCB7dHlwZTogJ3RleHQvY3N2O2NoYXJzZXQ9dXRmLTgnfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0eXBlTmFtZSA9IGN0eC5pbnN0YW5jZS5hY3Rpb24ubW9kZWw/LnR5cGVOYW1lID8/ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgRmlsZVNhdmVyLnNhdmVBcyhibG9iLCBgJHt0eXBlTmFtZSA/IHR5cGVOYW1lICsgJ18nIDogJyd9JHtjdHguaW5zdGFuY2UuYWN0aW9uLmFjdGlvbk5hbWV9LmNzdmApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC53aXRoQnV0dG9uRGVzY3JpcHRvcihuZXcgQWN0aW9uQnV0dG9uRGVzY3JpcHRvcigpLndpdGhJY29uKCdwaSBwaS1maWxlJykpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9uKEFjdGlvblBvc2l0aW9uRW51bS5Ub29sYmFyUmlnaHQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yUmVmcmVzaChkZXNjcmlwdG9yOiBNb2RlbERlc2NyaXB0b3I8VD4gPSB0aGlzLmRlc2NyaXB0b3IubW9kZWwpOiBBY3Rpb25EZXNjcmlwdG9yPFQ+IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBBY3Rpb25EZXNjcmlwdG9yPFQ+KGRlc2NyaXB0b3IsICdyZWZyZXNoJylcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb24oQWN0aW9uUG9zaXRpb25FbnVtLlRvb2xiYXJSaWdodClcbiAgICAgICAgICAgIC53aXRoVGFibGV2aWV3Q2F0ZWdvcnkoVGFibGV2aWV3QWN0aW9uRGVmYXVsdENhdGVnb3JpZXMuUkVBRClcbiAgICAgICAgICAgIC53aXRoUnVuTm90aWZpY2F0aW9uU3VjY2Vzcyh1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UpXG4gICAgICAgICAgICAud2l0aFJ1bkZ1bmN0aW9uKChjdHg6IEFjdGlvbkNvbnRleHQ8VCwgUz4pID0+IHtcbiAgICAgICAgICAgICAgICAoY3R4LnBhcmFtZXRlcnMudmlld0NvbnRhaW5lciBhcyBJVmlld0NvbnRhaW5lclRhYmxlPFQsIFM+KT8ucmVsb2FkVGFibGU/Lih7fSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIGFjdGlvbi5idXR0b24ud2l0aEljb24oJ3BpIHBpLXJlZnJlc2gnKS5zdHlsZUNsYXNzLndpdGhBY3Rpb25MZXZlbChTdHlsZUxldmVsRW51bS5TZWNvbmRhcnkpO1xuICAgICAgICByZXR1cm4gYWN0aW9uO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGF0YVRyYW5zbGF0ZShkZXNjcmlwdG9yOiBNb2RlbERlc2NyaXB0b3I8VD4gPSB0aGlzLmRlc2NyaXB0b3IubW9kZWwpOiBBY3Rpb25EZXNjcmlwdG9yPFQ+IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRlc2NyaXB0b3IuaXNMb2NhbGl6ZWQoKVxuICAgICAgICAgICAgPyBuZXcgQWN0aW9uRGVzY3JpcHRvcjxUPihkZXNjcmlwdG9yLCAndHJhbnNsYXRvcicpLndpdGhQb3NpdGlvbihBY3Rpb25Qb3NpdGlvbkVudW0uVG9vbGJhckxlZnQpLndpdGhDb21wb25lbnQoTW5nRGF0YUxhbmd1YWdlRHJvcGRvd25Db21wb25lbnQpXG4gICAgICAgICAgICA6IG51bGw7XG4gICAgfVxufVxuIl19
1
+ import { Directive, inject } from '@angular/core';
2
+ import { ActivatedRoute } from '@angular/router';
3
+ import * as FileSaver from 'file-saver';
4
+ import { TranslateService } from '@ngx-translate/core';
5
+ import { of, tap } from 'rxjs';
6
+ import { map } from 'rxjs/operators';
7
+ import { MediusQueryParamBuilder } from '../../../api/models/builders/query-param.builder';
8
+ import { ActionButtonDescriptor, ActionDeleteDescriptor, ActionDescriptor, ActionEditorAddDescriptor, ActionEditorDetailsDescriptor, ActionEditorEditDescriptor, ActionLinkDescriptor } from '../../../descriptors/action';
9
+ import { ActionPositionEnum } from '../../../descriptors/types';
10
+ import { StyleLevelEnum, StyleSizeEnum } from '../../../styles/models';
11
+ import { ActionDataProviderUtil, ExportUtils } from '../../../utils';
12
+ import { MngDataLanguageDropdownComponent } from '../../action';
13
+ import { TableviewActionDefaultCategories } from '../../action/models';
14
+ import * as i0 from "@angular/core";
15
+ export class AMngTableviewRouteComponent {
16
+ constructor() {
17
+ this.route = inject(ActivatedRoute);
18
+ this.translateService = inject(TranslateService);
19
+ }
20
+ get routeData() {
21
+ return this.route.snapshot.data;
22
+ }
23
+ ngOnInit() {
24
+ this.descriptor = this.createTableviewDescriptor();
25
+ this.dataProvider = this.createTableviewDataProvider();
26
+ this.actions = this.createActionDescriptors();
27
+ }
28
+ createActionDescriptors() {
29
+ return [
30
+ this.createActionDescriptorForDetails(),
31
+ this.createActionDescriptorForAdd(),
32
+ this.createActionDescriptorForEdit(),
33
+ this.createActionDescriptorForDelete(),
34
+ this.createActionDescriptorForRefresh(),
35
+ this.createActionDescriptorForExport(),
36
+ this.createActionDescriptorForDataTranslate(),
37
+ //details actions
38
+ this.createActionDescriptorForDetailsEditLink(),
39
+ this.createActionDescriptorForDetailsDelete()
40
+ ].filter(e => e != null);
41
+ }
42
+ createActionDescriptorForDetails(descriptor = this.descriptor.detailsEditor) {
43
+ return !this.routeData.tableviewActions || this.routeData.tableviewActions.hasDetails ? new ActionEditorDetailsDescriptor(descriptor) : null;
44
+ }
45
+ createActionDescriptorForAdd(descriptor = this.descriptor.addEditor) {
46
+ return !this.routeData.tableviewActions || this.routeData.tableviewActions.hasAdd ? new ActionEditorAddDescriptor(descriptor) : null;
47
+ }
48
+ createActionDescriptorForEdit(descriptor = this.descriptor.editEditor) {
49
+ return !this.routeData.tableviewActions || this.routeData.tableviewActions.hasEdit ? new ActionEditorEditDescriptor(descriptor) : null;
50
+ }
51
+ createActionDescriptorForDetailsEditLink(descriptor = this.descriptor.model) {
52
+ if (!this.routeData.tableviewActions || this.routeData.tableviewActions.hasEdit) {
53
+ const action = new ActionLinkDescriptor(descriptor, ActionEditorEditDescriptor.ACTION_NAME)
54
+ .withTableviewCategory(TableviewActionDefaultCategories.EDIT)
55
+ .withPositionTableviewCategories([TableviewActionDefaultCategories.DETAILS])
56
+ .withPosition(ActionPositionEnum.FooterLeft)
57
+ .withRouterLink('./edit');
58
+ action.button.styleClass.withActionLevel(StyleLevelEnum.Secondary);
59
+ action.button.withIcon('pi pi-pencil');
60
+ return action;
61
+ }
62
+ return null;
63
+ }
64
+ createActionDescriptorForDetailsDelete() {
65
+ const action = this.createActionDescriptorForDelete();
66
+ if (action) {
67
+ action
68
+ .withTableviewCategory(TableviewActionDefaultCategories.DELETE)
69
+ .withPositionTableviewCategories([TableviewActionDefaultCategories.DETAILS])
70
+ .withPosition(ActionPositionEnum.FooterLeft)
71
+ .withRunFunction(ctx => ActionDataProviderUtil.runDeleteOrFail(ctx).pipe(tap(() => {
72
+ ctx.parameters.viewContainer?.reloadTable?.({});
73
+ ctx.parameters.viewContainer?.closeEditor?.();
74
+ })));
75
+ action.button.withLabel(undefined);
76
+ action.button.styleClass.withSize(StyleSizeEnum.Normal);
77
+ return action;
78
+ }
79
+ return null;
80
+ }
81
+ createActionDescriptorForDelete(descriptor = this.descriptor.model) {
82
+ return !this.routeData.tableviewActions || this.routeData.tableviewActions.hasDelete ? new ActionDeleteDescriptor(descriptor) : null;
83
+ }
84
+ createActionDescriptorForExport(descriptor = this.descriptor.model) {
85
+ const exportAction = new ActionDescriptor(descriptor, 'export').withButtonDescriptor(new ActionButtonDescriptor().withIcon('pi pi-download')).withSubactionsAsMenu();
86
+ exportAction.withSubactions(this.createActionDescriptorForExportJson(descriptor), this.createActionDescriptorForExportCsv(descriptor));
87
+ return exportAction;
88
+ }
89
+ createActionDescriptorForExportJson(descriptor = this.descriptor.model) {
90
+ return new ActionDescriptor(descriptor, 'exportJson')
91
+ .withRunFunction(ctx => {
92
+ const queryParamBuilder = ctx.parameters.queryParam ? MediusQueryParamBuilder.createFromExisting(ctx.parameters.queryParam) : MediusQueryParamBuilder.create();
93
+ queryParamBuilder.withItemsOffset(0).withItemsPerPage(500);
94
+ ctx.parameters.withQueryParam(queryParamBuilder.build());
95
+ return ActionDataProviderUtil.runGetAllOrFail(ctx).pipe(map(res => {
96
+ const blob = new Blob([JSON.stringify(res.pageData, undefined, 4)], { type: 'application/json;charset=utf-8' });
97
+ const typeName = ctx.instance.action.model?.typeName ?? '';
98
+ FileSaver.saveAs(blob, `${typeName ? typeName + '_' : ''}${ctx.instance.action.actionName}.json`);
99
+ return undefined;
100
+ }));
101
+ })
102
+ .withButtonDescriptor(new ActionButtonDescriptor().withIcon('pi pi-code'))
103
+ .withPosition(ActionPositionEnum.ToolbarRight);
104
+ }
105
+ createActionDescriptorForExportCsv(descriptor = this.descriptor.model) {
106
+ return new ActionDescriptor(descriptor, 'exportCsv')
107
+ .withRunFunction(ctx => {
108
+ const queryParamBuilder = ctx.parameters.queryParam ? MediusQueryParamBuilder.createFromExisting(ctx.parameters.queryParam) : MediusQueryParamBuilder.create();
109
+ queryParamBuilder.withItemsOffset(0).withItemsPerPage(500);
110
+ ctx.parameters.withQueryParam(queryParamBuilder.build());
111
+ return ActionDataProviderUtil.runGetAllOrFail(ctx).pipe(map(res => {
112
+ if (!res.pageData) {
113
+ return undefined;
114
+ }
115
+ const blob = new Blob([ExportUtils.prepareDataForExport(res.pageData, ',', this.descriptor, this.translateService)], { type: 'text/csv;charset=utf-8' });
116
+ const typeName = ctx.instance.action.model?.typeName ?? '';
117
+ FileSaver.saveAs(blob, `${typeName ? typeName + '_' : ''}${ctx.instance.action.actionName}.csv`);
118
+ return undefined;
119
+ }));
120
+ })
121
+ .withButtonDescriptor(new ActionButtonDescriptor().withIcon('pi pi-file'))
122
+ .withPosition(ActionPositionEnum.ToolbarRight);
123
+ }
124
+ createActionDescriptorForRefresh(descriptor = this.descriptor.model) {
125
+ const action = new ActionDescriptor(descriptor, 'refresh')
126
+ .withPosition(ActionPositionEnum.ToolbarRight)
127
+ .withTableviewCategory(TableviewActionDefaultCategories.READ)
128
+ .withRunNotificationSuccess(undefined, undefined, false)
129
+ .withRunFunction((ctx) => {
130
+ ctx.parameters.viewContainer?.reloadTable?.({});
131
+ return of(null);
132
+ });
133
+ action.button.withIcon('pi pi-refresh').styleClass.withActionLevel(StyleLevelEnum.Secondary);
134
+ return action;
135
+ }
136
+ createActionDescriptorForDataTranslate(descriptor = this.descriptor.model) {
137
+ return this.descriptor.isLocalized()
138
+ ? new ActionDescriptor(descriptor, 'translator').withPosition(ActionPositionEnum.ToolbarLeft).withComponent(MngDataLanguageDropdownComponent)
139
+ : null;
140
+ }
141
+ }
142
+ AMngTableviewRouteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: AMngTableviewRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
143
+ AMngTableviewRouteComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: AMngTableviewRouteComponent, isStandalone: true, ngImport: i0 });
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: AMngTableviewRouteComponent, decorators: [{
145
+ type: Directive,
146
+ args: [{
147
+ standalone: true
148
+ }]
149
+ }], ctorParameters: function () { return []; } });
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LXJvdXRlLmFic3RyYWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXZpZXcvcm91dGUvdGFibGV2aWV3LXJvdXRlLmFic3RyYWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBR3pGLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQix5QkFBeUIsRUFDekIsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQixvQkFBb0IsRUFDdkIsTUFBTSw2QkFBNkIsQ0FBQztBQUdyQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUc5RCxPQUFPLEVBQUMsY0FBYyxFQUFFLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxzQkFBc0IsRUFBRSxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDOUQsT0FBTyxFQUFnQixnQ0FBZ0MsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQUtwRixNQUFNLE9BQWdC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ci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge29mLCB0YXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtNZWRpdXNRdWVyeVBhcmFtQnVpbGRlcn0gZnJvbSAnLi4vLi4vLi4vYXBpL21vZGVscy9idWlsZGVycy9xdWVyeS1wYXJhbS5idWlsZGVyJztcbmltcG9ydCB7SVRhYmxldmlld0RhdGFQcm92aWRlcn0gZnJvbSAnLi4vLi4vLi4vZGF0YS1wcm92aWRlcnMnO1xuaW1wb3J0IHtNb2RlbERlc2NyaXB0b3J9IGZyb20gJy4uLy4uLy4uL2Rlc2NyaXB0b3JzJztcbmltcG9ydCB7XG4gICAgQWN0aW9uQnV0dG9uRGVzY3JpcHRvcixcbiAgICBBY3Rpb25EZWxldGVEZXNjcmlwdG9yLFxuICAgIEFjdGlvbkRlc2NyaXB0b3IsXG4gICAgQWN0aW9uRWRpdG9yQWRkRGVzY3JpcHRvcixcbiAgICBBY3Rpb25FZGl0b3JEZXRhaWxzRGVzY3JpcHRvcixcbiAgICBBY3Rpb25FZGl0b3JFZGl0RGVzY3JpcHRvcixcbiAgICBBY3Rpb25MaW5rRGVzY3JpcHRvclxufSBmcm9tICcuLi8uLi8uLi9kZXNjcmlwdG9ycy9hY3Rpb24nO1xuaW1wb3J0IHtFZGl0b3JEZXNjcmlwdG9yfSBmcm9tICcuLi8uLi8uLi9kZXNjcmlwdG9ycy9lZGl0b3InO1xuaW1wb3J0IHtUYWJsZXZpZXdEZXNjcmlwdG9yfSBmcm9tICcuLi8uLi8uLi9kZXNjcmlwdG9ycy90YWJsZXZpZXcnO1xuaW1wb3J0IHtBY3Rpb25Qb3NpdGlvbkVudW19IGZyb20gJy4uLy4uLy4uL2Rlc2NyaXB0b3JzL3R5cGVzJztcbmltcG9ydCB7SVZpZXdDb250YWluZXJFZGl0b3IsIElWaWV3Q29udGFpbmVyVGFibGV9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQge01uZ1JvdXRlckRhdGF9IGZyb20gJy4uLy4uLy4uL3JvdXRlci9tb2RlbHMnO1xuaW1wb3J0IHtTdHlsZUxldmVsRW51bSwgU3R5bGVTaXplRW51bX0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL21vZGVscyc7XG5pbXBvcnQge0FjdGlvbkRhdGFQcm92aWRlclV0aWwsIEV4cG9ydFV0aWxzfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQge01uZ0RhdGFMYW5ndWFnZURyb3Bkb3duQ29tcG9uZW50fSBmcm9tICcuLi8uLi9hY3Rpb24nO1xuaW1wb3J0IHtBY3Rpb25Db250ZXh0LCBUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllc30gZnJvbSAnLi4vLi4vYWN0aW9uL21vZGVscyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQU1uZ1RhYmxldmlld1JvdXRlQ29tcG9uZW50PFQsIFM+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwdWJsaWMgZGVzY3JpcHRvciE6IFRhYmxldmlld0Rlc2NyaXB0b3I8VD47XG4gICAgcHVibGljIGRhdGFQcm92aWRlciE6IElUYWJsZXZpZXdEYXRhUHJvdmlkZXI8VCwgUz47XG4gICAgcHVibGljIGFjdGlvbnMhOiBBcnJheTxBY3Rpb25EZXNjcmlwdG9yPFQ+PjtcblxuICAgIHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGU7XG4gICAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2U7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5yb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHJvdXRlRGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGUuc25hcHNob3QuZGF0YSBhcyBNbmdSb3V0ZXJEYXRhO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5kZXNjcmlwdG9yID0gdGhpcy5jcmVhdGVUYWJsZXZpZXdEZXNjcmlwdG9yKCk7XG4gICAgICAgIHRoaXMuZGF0YVByb3ZpZGVyID0gdGhpcy5jcmVhdGVUYWJsZXZpZXdEYXRhUHJvdmlkZXIoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zID0gdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9ycygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBjcmVhdGVUYWJsZXZpZXdEZXNjcmlwdG9yKCk6IFRhYmxldmlld0Rlc2NyaXB0b3I8VD47XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlVGFibGV2aWV3RGF0YVByb3ZpZGVyKCk6IElUYWJsZXZpZXdEYXRhUHJvdmlkZXI8VCwgUz47XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvcnMoKTogQXJyYXk8QWN0aW9uRGVzY3JpcHRvcjxUPj4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGV0YWlscygpLFxuICAgICAgICAgICAgdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yQWRkKCksXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JFZGl0KCksXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JEZWxldGUoKSxcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvclJlZnJlc2goKSxcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckV4cG9ydCgpLFxuICAgICAgICAgICAgdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGF0YVRyYW5zbGF0ZSgpLFxuXG4gICAgICAgICAgICAvL2RldGFpbHMgYWN0aW9uc1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGV0YWlsc0VkaXRMaW5rKCksXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JEZXRhaWxzRGVsZXRlKClcbiAgICAgICAgXS5maWx0ZXIoZSA9PiBlICE9IG51bGwpIGFzIEFycmF5PEFjdGlvbkRlc2NyaXB0b3I8VD4+O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGV0YWlscyhkZXNjcmlwdG9yOiBFZGl0b3JEZXNjcmlwdG9yPFQ+ID0gdGhpcy5kZXNjcmlwdG9yLmRldGFpbHNFZGl0b3IpOiBBY3Rpb25FZGl0b3JEZXRhaWxzRGVzY3JpcHRvcjxUPiB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMucm91dGVEYXRhLnRhYmxldmlld0FjdGlvbnMgfHwgdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3QWN0aW9ucy5oYXNEZXRhaWxzID8gbmV3IEFjdGlvbkVkaXRvckRldGFpbHNEZXNjcmlwdG9yKGRlc2NyaXB0b3IpIDogbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckFkZChkZXNjcmlwdG9yOiBFZGl0b3JEZXNjcmlwdG9yPFQ+ID0gdGhpcy5kZXNjcmlwdG9yLmFkZEVkaXRvcik6IEFjdGlvbkVkaXRvckFkZERlc2NyaXB0b3I8VD4gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnJvdXRlRGF0YS50YWJsZXZpZXdBY3Rpb25zIHx8IHRoaXMucm91dGVEYXRhLnRhYmxldmlld0FjdGlvbnMuaGFzQWRkID8gbmV3IEFjdGlvbkVkaXRvckFkZERlc2NyaXB0b3IoZGVzY3JpcHRvcikgOiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRWRpdChkZXNjcmlwdG9yOiBFZGl0b3JEZXNjcmlwdG9yPFQ+ID0gdGhpcy5kZXNjcmlwdG9yLmVkaXRFZGl0b3IpOiBBY3Rpb25FZGl0b3JFZGl0RGVzY3JpcHRvcjxUPiB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMucm91dGVEYXRhLnRhYmxldmlld0FjdGlvbnMgfHwgdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3QWN0aW9ucy5oYXNFZGl0ID8gbmV3IEFjdGlvbkVkaXRvckVkaXREZXNjcmlwdG9yKGRlc2NyaXB0b3IpIDogbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckRldGFpbHNFZGl0TGluayhkZXNjcmlwdG9yOiBNb2RlbERlc2NyaXB0b3I8VD4gPSB0aGlzLmRlc2NyaXB0b3IubW9kZWwpOiBBY3Rpb25MaW5rRGVzY3JpcHRvcjxUPiB8IG51bGwge1xuICAgICAgICBpZiAoIXRoaXMucm91dGVEYXRhLnRhYmxldmlld0FjdGlvbnMgfHwgdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3QWN0aW9ucy5oYXNFZGl0KSB7XG4gICAgICAgICAgICBjb25zdCBhY3Rpb24gPSBuZXcgQWN0aW9uTGlua0Rlc2NyaXB0b3IoZGVzY3JpcHRvciwgQWN0aW9uRWRpdG9yRWRpdERlc2NyaXB0b3IuQUNUSU9OX05BTUUpXG4gICAgICAgICAgICAgICAgLndpdGhUYWJsZXZpZXdDYXRlZ29yeShUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5FRElUKVxuICAgICAgICAgICAgICAgIC53aXRoUG9zaXRpb25UYWJsZXZpZXdDYXRlZ29yaWVzKFtUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5ERVRBSUxTXSlcbiAgICAgICAgICAgICAgICAud2l0aFBvc2l0aW9uKEFjdGlvblBvc2l0aW9uRW51bS5Gb290ZXJMZWZ0KVxuICAgICAgICAgICAgICAgIC53aXRoUm91dGVyTGluaygnLi9lZGl0Jyk7XG4gICAgICAgICAgICBhY3Rpb24uYnV0dG9uLnN0eWxlQ2xhc3Mud2l0aEFjdGlvbkxldmVsKFN0eWxlTGV2ZWxFbnVtLlNlY29uZGFyeSk7XG4gICAgICAgICAgICBhY3Rpb24uYnV0dG9uLndpdGhJY29uKCdwaSBwaS1wZW5jaWwnKTtcblxuICAgICAgICAgICAgcmV0dXJuIGFjdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGV0YWlsc0RlbGV0ZSgpOiBBY3Rpb25EZXNjcmlwdG9yPFQ+IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckRlbGV0ZSgpO1xuICAgICAgICBpZiAoYWN0aW9uKSB7XG4gICAgICAgICAgICBhY3Rpb25cbiAgICAgICAgICAgICAgICAud2l0aFRhYmxldmlld0NhdGVnb3J5KFRhYmxldmlld0FjdGlvbkRlZmF1bHRDYXRlZ29yaWVzLkRFTEVURSlcbiAgICAgICAgICAgICAgICAud2l0aFBvc2l0aW9uVGFibGV2aWV3Q2F0ZWdvcmllcyhbVGFibGV2aWV3QWN0aW9uRGVmYXVsdENhdGVnb3JpZXMuREVUQUlMU10pXG4gICAgICAgICAgICAgICAgLndpdGhQb3NpdGlvbihBY3Rpb25Qb3NpdGlvbkVudW0uRm9vdGVyTGVmdClcbiAgICAgICAgICAgICAgICAud2l0aFJ1bkZ1bmN0aW9uKGN0eCA9PlxuICAgICAgICAgICAgICAgICAgICBBY3Rpb25EYXRhUHJvdmlkZXJVdGlsLnJ1bkRlbGV0ZU9yRmFpbChjdHgpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdHgucGFyYW1ldGVycy52aWV3Q29udGFpbmVyIGFzIElWaWV3Q29udGFpbmVyVGFibGU8dW5rbm93biwgdW5rbm93bj4pPy5yZWxvYWRUYWJsZT8uKHt9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY3R4LnBhcmFtZXRlcnMudmlld0NvbnRhaW5lciBhcyBJVmlld0NvbnRhaW5lckVkaXRvcjx1bmtub3duLCB1bmtub3duPik/LmNsb3NlRWRpdG9yPy4oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgYWN0aW9uLmJ1dHRvbi53aXRoTGFiZWwodW5kZWZpbmVkKTtcbiAgICAgICAgICAgIGFjdGlvbi5idXR0b24uc3R5bGVDbGFzcy53aXRoU2l6ZShTdHlsZVNpemVFbnVtLk5vcm1hbCk7XG5cbiAgICAgICAgICAgIHJldHVybiBhY3Rpb247XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckRlbGV0ZShkZXNjcmlwdG9yOiBNb2RlbERlc2NyaXB0b3I8VD4gPSB0aGlzLmRlc2NyaXB0b3IubW9kZWwpOiBBY3Rpb25EZWxldGVEZXNjcmlwdG9yPFQ+IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3QWN0aW9ucyB8fCB0aGlzLnJvdXRlRGF0YS50YWJsZXZpZXdBY3Rpb25zLmhhc0RlbGV0ZSA/IG5ldyBBY3Rpb25EZWxldGVEZXNjcmlwdG9yKGRlc2NyaXB0b3IpIDogbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckV4cG9ydChkZXNjcmlwdG9yOiBNb2RlbERlc2NyaXB0b3I8VD4gPSB0aGlzLmRlc2NyaXB0b3IubW9kZWwpOiBBY3Rpb25EZXNjcmlwdG9yPFQ+IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGV4cG9ydEFjdGlvbiA9IG5ldyBBY3Rpb25EZXNjcmlwdG9yKGRlc2NyaXB0b3IsICdleHBvcnQnKS53aXRoQnV0dG9uRGVzY3JpcHRvcihuZXcgQWN0aW9uQnV0dG9uRGVzY3JpcHRvcigpLndpdGhJY29uKCdwaSBwaS1kb3dubG9hZCcpKS53aXRoU3ViYWN0aW9uc0FzTWVudSgpO1xuICAgICAgICBleHBvcnRBY3Rpb24ud2l0aFN1YmFjdGlvbnModGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRXhwb3J0SnNvbihkZXNjcmlwdG9yKSwgdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRXhwb3J0Q3N2KGRlc2NyaXB0b3IpKTtcbiAgICAgICAgcmV0dXJuIGV4cG9ydEFjdGlvbjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckV4cG9ydEpzb24oZGVzY3JpcHRvcjogTW9kZWxEZXNjcmlwdG9yPFQ+ID0gdGhpcy5kZXNjcmlwdG9yLm1vZGVsKTogQWN0aW9uRGVzY3JpcHRvcjxUPiB7XG4gICAgICAgIHJldHVybiBuZXcgQWN0aW9uRGVzY3JpcHRvcihkZXNjcmlwdG9yLCAnZXhwb3J0SnNvbicpXG4gICAgICAgICAgICAud2l0aFJ1bkZ1bmN0aW9uKGN0eCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcXVlcnlQYXJhbUJ1aWxkZXIgPSBjdHgucGFyYW1ldGVycy5xdWVyeVBhcmFtID8gTWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXIuY3JlYXRlRnJvbUV4aXN0aW5nKGN0eC5wYXJhbWV0ZXJzLnF1ZXJ5UGFyYW0pIDogTWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXIuY3JlYXRlKCk7XG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbUJ1aWxkZXIud2l0aEl0ZW1zT2Zmc2V0KDApLndpdGhJdGVtc1BlclBhZ2UoNTAwKTtcbiAgICAgICAgICAgICAgICBjdHgucGFyYW1ldGVycy53aXRoUXVlcnlQYXJhbShxdWVyeVBhcmFtQnVpbGRlci5idWlsZCgpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gQWN0aW9uRGF0YVByb3ZpZGVyVXRpbC5ydW5HZXRBbGxPckZhaWwoY3R4KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkocmVzLnBhZ2VEYXRhLCB1bmRlZmluZWQsIDQpXSwge3R5cGU6ICdhcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTgnfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0eXBlTmFtZSA9IGN0eC5pbnN0YW5jZS5hY3Rpb24ubW9kZWw/LnR5cGVOYW1lID8/ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgRmlsZVNhdmVyLnNhdmVBcyhibG9iLCBgJHt0eXBlTmFtZSA/IHR5cGVOYW1lICsgJ18nIDogJyd9JHtjdHguaW5zdGFuY2UuYWN0aW9uLmFjdGlvbk5hbWV9Lmpzb25gKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAud2l0aEJ1dHRvbkRlc2NyaXB0b3IobmV3IEFjdGlvbkJ1dHRvbkRlc2NyaXB0b3IoKS53aXRoSWNvbigncGkgcGktY29kZScpKVxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbihBY3Rpb25Qb3NpdGlvbkVudW0uVG9vbGJhclJpZ2h0KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckV4cG9ydENzdihkZXNjcmlwdG9yOiBNb2RlbERlc2NyaXB0b3I8VD4gPSB0aGlzLmRlc2NyaXB0b3IubW9kZWwpOiBBY3Rpb25EZXNjcmlwdG9yPFQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBBY3Rpb25EZXNjcmlwdG9yKGRlc2NyaXB0b3IsICdleHBvcnRDc3YnKVxuICAgICAgICAgICAgLndpdGhSdW5GdW5jdGlvbihjdHggPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1CdWlsZGVyID0gY3R4LnBhcmFtZXRlcnMucXVlcnlQYXJhbSA/IE1lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyLmNyZWF0ZUZyb21FeGlzdGluZyhjdHgucGFyYW1ldGVycy5xdWVyeVBhcmFtKSA6IE1lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyLmNyZWF0ZSgpO1xuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1CdWlsZGVyLndpdGhJdGVtc09mZnNldCgwKS53aXRoSXRlbXNQZXJQYWdlKDUwMCk7XG4gICAgICAgICAgICAgICAgY3R4LnBhcmFtZXRlcnMud2l0aFF1ZXJ5UGFyYW0ocXVlcnlQYXJhbUJ1aWxkZXIuYnVpbGQoKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEFjdGlvbkRhdGFQcm92aWRlclV0aWwucnVuR2V0QWxsT3JGYWlsKGN0eCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXJlcy5wYWdlRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW0V4cG9ydFV0aWxzLnByZXBhcmVEYXRhRm9yRXhwb3J0KHJlcy5wYWdlRGF0YSwgJywnLCB0aGlzLmRlc2NyaXB0b3IsIHRoaXMudHJhbnNsYXRlU2VydmljZSldLCB7dHlwZTogJ3RleHQvY3N2O2NoYXJzZXQ9dXRmLTgnfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0eXBlTmFtZSA9IGN0eC5pbnN0YW5jZS5hY3Rpb24ubW9kZWw/LnR5cGVOYW1lID8/ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgRmlsZVNhdmVyLnNhdmVBcyhibG9iLCBgJHt0eXBlTmFtZSA/IHR5cGVOYW1lICsgJ18nIDogJyd9JHtjdHguaW5zdGFuY2UuYWN0aW9uLmFjdGlvbk5hbWV9LmNzdmApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC53aXRoQnV0dG9uRGVzY3JpcHRvcihuZXcgQWN0aW9uQnV0dG9uRGVzY3JpcHRvcigpLndpdGhJY29uKCdwaSBwaS1maWxlJykpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9uKEFjdGlvblBvc2l0aW9uRW51bS5Ub29sYmFyUmlnaHQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yUmVmcmVzaChkZXNjcmlwdG9yOiBNb2RlbERlc2NyaXB0b3I8VD4gPSB0aGlzLmRlc2NyaXB0b3IubW9kZWwpOiBBY3Rpb25EZXNjcmlwdG9yPFQ+IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBBY3Rpb25EZXNjcmlwdG9yPFQ+KGRlc2NyaXB0b3IsICdyZWZyZXNoJylcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb24oQWN0aW9uUG9zaXRpb25FbnVtLlRvb2xiYXJSaWdodClcbiAgICAgICAgICAgIC53aXRoVGFibGV2aWV3Q2F0ZWdvcnkoVGFibGV2aWV3QWN0aW9uRGVmYXVsdENhdGVnb3JpZXMuUkVBRClcbiAgICAgICAgICAgIC53aXRoUnVuTm90aWZpY2F0aW9uU3VjY2Vzcyh1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UpXG4gICAgICAgICAgICAud2l0aFJ1bkZ1bmN0aW9uKChjdHg6IEFjdGlvbkNvbnRleHQ8VCwgUz4pID0+IHtcbiAgICAgICAgICAgICAgICAoY3R4LnBhcmFtZXRlcnMudmlld0NvbnRhaW5lciBhcyBJVmlld0NvbnRhaW5lclRhYmxlPFQsIFM+KT8ucmVsb2FkVGFibGU/Lih7fSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIGFjdGlvbi5idXR0b24ud2l0aEljb24oJ3BpIHBpLXJlZnJlc2gnKS5zdHlsZUNsYXNzLndpdGhBY3Rpb25MZXZlbChTdHlsZUxldmVsRW51bS5TZWNvbmRhcnkpO1xuICAgICAgICByZXR1cm4gYWN0aW9uO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGF0YVRyYW5zbGF0ZShkZXNjcmlwdG9yOiBNb2RlbERlc2NyaXB0b3I8VD4gPSB0aGlzLmRlc2NyaXB0b3IubW9kZWwpOiBBY3Rpb25EZXNjcmlwdG9yPFQ+IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRlc2NyaXB0b3IuaXNMb2NhbGl6ZWQoKVxuICAgICAgICAgICAgPyBuZXcgQWN0aW9uRGVzY3JpcHRvcjxUPihkZXNjcmlwdG9yLCAndHJhbnNsYXRvcicpLndpdGhQb3NpdGlvbihBY3Rpb25Qb3NpdGlvbkVudW0uVG9vbGJhckxlZnQpLndpdGhDb21wb25lbnQoTW5nRGF0YUxhbmd1YWdlRHJvcGRvd25Db21wb25lbnQpXG4gICAgICAgICAgICA6IG51bGw7XG4gICAgfVxufVxuIl19
@@ -1,53 +1,52 @@
1
- import { Component, Input, ViewChild } from '@angular/core';
2
- import { MngTableviewComponent } from '../tableview.component';
3
- import { AMngTableviewRouteComponent } from './tableview-route.abstract.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../tableview.component";
6
- export class MngTableviewRouteComponent extends AMngTableviewRouteComponent {
7
- createTableviewDescriptor() {
8
- if (this.descriptorInit) {
9
- return this.descriptorInit;
10
- }
11
- if (this.routeData?.tableview?.descriptor) {
12
- throw Error('Tableview requires a descriptor.');
13
- }
14
- return this.routeData.tableview.descriptor;
15
- }
16
- createTableviewDataProvider() {
17
- if (this.dataProviderInit) {
18
- return this.dataProviderInit;
19
- }
20
- if (this.routeData?.tableview?.dataProvider) {
21
- throw Error('Tableview requires a data provider.');
22
- }
23
- return this.routeData.tableview.dataProvider;
24
- }
25
- createActionDescriptors() {
26
- if (this.actionsInit) {
27
- return this.actionsInit;
28
- }
29
- return this.routeData?.tableview?.actions ?? super.createActionDescriptors();
30
- }
31
- reloadTable() {
32
- this.tableviewComponent?.reloadTable();
33
- }
34
- }
35
- MngTableviewRouteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngTableviewRouteComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
36
- MngTableviewRouteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: MngTableviewRouteComponent, selector: "mng-tableview-route", inputs: { descriptorInit: ["descriptor", "descriptorInit"], dataProviderInit: ["dataProvider", "dataProviderInit"], actionsInit: ["actions", "actionsInit"] }, viewQueries: [{ propertyName: "tableviewComponent", first: true, predicate: MngTableviewComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"grid\">\n <div class=\"col-12\">\n <mng-tableview [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"> </mng-tableview>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i1.MngTableviewComponent, selector: "mng-tableview", inputs: ["descriptor", "dataProvider", "actions"] }] });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngTableviewRouteComponent, decorators: [{
38
- type: Component,
39
- args: [{ selector: 'mng-tableview-route', template: "<div class=\"grid\">\n <div class=\"col-12\">\n <mng-tableview [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"> </mng-tableview>\n </div>\n</div>\n" }]
40
- }], propDecorators: { descriptorInit: [{
41
- type: Input,
42
- args: ['descriptor']
43
- }], dataProviderInit: [{
44
- type: Input,
45
- args: ['dataProvider']
46
- }], actionsInit: [{
47
- type: Input,
48
- args: ['actions']
49
- }], tableviewComponent: [{
50
- type: ViewChild,
51
- args: [MngTableviewComponent]
52
- }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LXJvdXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXZpZXcvcm91dGUvdGFibGV2aWV3LXJvdXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3RlbXBsYXRlcy90YWJsZXZpZXctcm91dGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSWxFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDOzs7QUFNakYsTUFBTSxPQUFPLDBCQUFpQyxTQUFRLDJCQUFpQztJQU96RSx5QkFBeUI7UUFDL0IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUM5QjtRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFO1lBQ3ZDLE1BQU0sS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7U0FDbkQ7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBVSxDQUFDLFVBQVUsQ0FBQztJQUNoRCxDQUFDO0lBRVMsMkJBQTJCO1FBQ2pDLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO1NBQ2hDO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUU7WUFDekMsTUFBTSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztTQUN0RDtRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFVLENBQUMsWUFBWSxDQUFDO0lBQ2xELENBQUM7SUFFa0IsdUJBQXVCO1FBQ3RDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDM0I7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sSUFBSSxLQUFLLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqRixDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUMzQyxDQUFDOzt1SEFwQ1EsMEJBQTBCOzJHQUExQiwwQkFBMEIsOFFBS3hCLHFCQUFxQix1RUNoQnBDLG9NQUtBOzJGRE1hLDBCQUEwQjtrQkFKdEMsU0FBUzsrQkFDSSxxQkFBcUI7OEJBSUgsY0FBYztzQkFBekMsS0FBSzt1QkFBQyxZQUFZO2dCQUNXLGdCQUFnQjtzQkFBN0MsS0FBSzt1QkFBQyxjQUFjO2dCQUNJLFdBQVc7c0JBQW5DLEtBQUs7dUJBQUMsU0FBUztnQkFFeUIsa0JBQWtCO3NCQUExRCxTQUFTO3VCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0lUYWJsZXZpZXdEYXRhUHJvdmlkZXJ9IGZyb20gJy4uLy4uLy4uL2RhdGEtcHJvdmlkZXJzJztcbmltcG9ydCB7QWN0aW9uRGVzY3JpcHRvciwgVGFibGV2aWV3RGVzY3JpcHRvcn0gZnJvbSAnLi4vLi4vLi4vZGVzY3JpcHRvcnMnO1xuaW1wb3J0IHtNbmdUYWJsZXZpZXdDb21wb25lbnR9IGZyb20gJy4uL3RhYmxldmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHtBTW5nVGFibGV2aWV3Um91dGVDb21wb25lbnR9IGZyb20gJy4vdGFibGV2aWV3LXJvdXRlLmFic3RyYWN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLXRhYmxldmlldy1yb3V0ZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuLi8uLi8uLi8uLi8uLi90ZW1wbGF0ZXMvdGFibGV2aWV3LXJvdXRlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBNbmdUYWJsZXZpZXdSb3V0ZUNvbXBvbmVudDxULCBTPiBleHRlbmRzIEFNbmdUYWJsZXZpZXdSb3V0ZUNvbXBvbmVudDxULCBTPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCdkZXNjcmlwdG9yJykgcHVibGljIGRlc2NyaXB0b3JJbml0PzogVGFibGV2aWV3RGVzY3JpcHRvcjxUPjtcbiAgICBASW5wdXQoJ2RhdGFQcm92aWRlcicpIHB1YmxpYyBkYXRhUHJvdmlkZXJJbml0PzogSVRhYmxldmlld0RhdGFQcm92aWRlcjxULCBTPjtcbiAgICBASW5wdXQoJ2FjdGlvbnMnKSBwdWJsaWMgYWN0aW9uc0luaXQ/OiBBcnJheTxBY3Rpb25EZXNjcmlwdG9yPFQ+PjtcblxuICAgIEBWaWV3Q2hpbGQoTW5nVGFibGV2aWV3Q29tcG9uZW50KSBwdWJsaWMgdGFibGV2aWV3Q29tcG9uZW50PzogTW5nVGFibGV2aWV3Q29tcG9uZW50PFQsIFM+O1xuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVRhYmxldmlld0Rlc2NyaXB0b3IoKTogVGFibGV2aWV3RGVzY3JpcHRvcjxUPiB7XG4gICAgICAgIGlmICh0aGlzLmRlc2NyaXB0b3JJbml0KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kZXNjcmlwdG9ySW5pdDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5yb3V0ZURhdGE/LnRhYmxldmlldz8uZGVzY3JpcHRvcikge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ1RhYmxldmlldyByZXF1aXJlcyBhIGRlc2NyaXB0b3IuJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVEYXRhLnRhYmxldmlldyEuZGVzY3JpcHRvcjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlVGFibGV2aWV3RGF0YVByb3ZpZGVyKCk6IElUYWJsZXZpZXdEYXRhUHJvdmlkZXI8VCwgUz4ge1xuICAgICAgICBpZiAodGhpcy5kYXRhUHJvdmlkZXJJbml0KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhUHJvdmlkZXJJbml0O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnJvdXRlRGF0YT8udGFibGV2aWV3Py5kYXRhUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdUYWJsZXZpZXcgcmVxdWlyZXMgYSBkYXRhIHByb3ZpZGVyLicpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlRGF0YS50YWJsZXZpZXchLmRhdGFQcm92aWRlcjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY3JlYXRlQWN0aW9uRGVzY3JpcHRvcnMoKTogQXJyYXk8QWN0aW9uRGVzY3JpcHRvcjxUPj4ge1xuICAgICAgICBpZiAodGhpcy5hY3Rpb25zSW5pdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWN0aW9uc0luaXQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVEYXRhPy50YWJsZXZpZXc/LmFjdGlvbnMgPz8gc3VwZXIuY3JlYXRlQWN0aW9uRGVzY3JpcHRvcnMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVsb2FkVGFibGUoKSB7XG4gICAgICAgIHRoaXMudGFibGV2aWV3Q29tcG9uZW50Py5yZWxvYWRUYWJsZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJncmlkXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICA8bW5nLXRhYmxldmlldyBbZGVzY3JpcHRvcl09XCJkZXNjcmlwdG9yXCIgW2RhdGFQcm92aWRlcl09XCJkYXRhUHJvdmlkZXJcIiBbYWN0aW9uc109XCJhY3Rpb25zXCI+IDwvbW5nLXRhYmxldmlldz5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { MngTableviewComponent } from '../tableview.component';
3
+ import { AMngTableviewRouteComponent } from './tableview-route.abstract.component';
4
+ import * as i0 from "@angular/core";
5
+ export class MngTableviewRouteComponent extends AMngTableviewRouteComponent {
6
+ createTableviewDescriptor() {
7
+ if (this.descriptorInit) {
8
+ return this.descriptorInit;
9
+ }
10
+ if (this.routeData?.tableview?.descriptor) {
11
+ throw Error('Tableview requires a descriptor.');
12
+ }
13
+ return this.routeData.tableview.descriptor;
14
+ }
15
+ createTableviewDataProvider() {
16
+ if (this.dataProviderInit) {
17
+ return this.dataProviderInit;
18
+ }
19
+ if (this.routeData?.tableview?.dataProvider) {
20
+ throw Error('Tableview requires a data provider.');
21
+ }
22
+ return this.routeData.tableview.dataProvider;
23
+ }
24
+ createActionDescriptors() {
25
+ if (this.actionsInit) {
26
+ return this.actionsInit;
27
+ }
28
+ return this.routeData?.tableview?.actions ?? super.createActionDescriptors();
29
+ }
30
+ reloadTable() {
31
+ this.tableviewComponent?.reloadTable();
32
+ }
33
+ }
34
+ MngTableviewRouteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: MngTableviewRouteComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
35
+ MngTableviewRouteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: MngTableviewRouteComponent, isStandalone: true, selector: "mng-tableview-route", inputs: { descriptorInit: ["descriptor", "descriptorInit"], dataProviderInit: ["dataProvider", "dataProviderInit"], actionsInit: ["actions", "actionsInit"] }, viewQueries: [{ propertyName: "tableviewComponent", first: true, predicate: MngTableviewComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"grid\">\n <div class=\"col-12\">\n <mng-tableview [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"> </mng-tableview>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: MngTableviewComponent, selector: "mng-tableview", inputs: ["descriptor", "dataProvider", "actions"] }] });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: MngTableviewRouteComponent, decorators: [{
37
+ type: Component,
38
+ args: [{ standalone: true, selector: 'mng-tableview-route', imports: [MngTableviewComponent], template: "<div class=\"grid\">\n <div class=\"col-12\">\n <mng-tableview [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"> </mng-tableview>\n </div>\n</div>\n" }]
39
+ }], propDecorators: { descriptorInit: [{
40
+ type: Input,
41
+ args: ['descriptor']
42
+ }], dataProviderInit: [{
43
+ type: Input,
44
+ args: ['dataProvider']
45
+ }], actionsInit: [{
46
+ type: Input,
47
+ args: ['actions']
48
+ }], tableviewComponent: [{
49
+ type: ViewChild,
50
+ args: [MngTableviewComponent]
51
+ }] } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LXJvdXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXZpZXcvcm91dGUvdGFibGV2aWV3LXJvdXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3RlbXBsYXRlcy90YWJsZXZpZXctcm91dGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBS2xFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDOztBQVFqRixNQUFNLE9BQU8sMEJBQWlDLFNBQVEsMkJBQWlDO0lBT3pFLHlCQUF5QjtRQUMvQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQzlCO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUU7WUFDdkMsTUFBTSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztTQUNuRDtRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFVLENBQUMsVUFBVSxDQUFDO0lBQ2hELENBQUM7SUFFUywyQkFBMkI7UUFDakMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7U0FDaEM7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRTtZQUN6QyxNQUFNLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVUsQ0FBQyxZQUFZLENBQUM7SUFDbEQsQ0FBQztJQUVrQix1QkFBdUI7UUFDdEMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUMzQjtRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2pGLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQzNDLENBQUM7O3VIQXBDUSwwQkFBMEI7MkdBQTFCLDBCQUEwQixrU0FLeEIscUJBQXFCLHVFQ25CcEMsb01BS0EsNENETWMscUJBQXFCOzJGQUd0QiwwQkFBMEI7a0JBTnRDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLHFCQUFxQixXQUN0QixDQUFDLHFCQUFxQixDQUFDOzhCQUlKLGNBQWM7c0JBQXpDLEtBQUs7dUJBQUMsWUFBWTtnQkFDVyxnQkFBZ0I7c0JBQTdDLEtBQUs7dUJBQUMsY0FBYztnQkFDSSxXQUFXO3NCQUFuQyxLQUFLO3VCQUFDLFNBQVM7Z0JBRXlCLGtCQUFrQjtzQkFBMUQsU0FBUzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtJVGFibGV2aWV3RGF0YVByb3ZpZGVyfSBmcm9tICcuLi8uLi8uLi9kYXRhLXByb3ZpZGVycyc7XG5pbXBvcnQge0FjdGlvbkRlc2NyaXB0b3J9IGZyb20gJy4uLy4uLy4uL2Rlc2NyaXB0b3JzL2FjdGlvbic7XG5pbXBvcnQge1RhYmxldmlld0Rlc2NyaXB0b3J9IGZyb20gJy4uLy4uLy4uL2Rlc2NyaXB0b3JzL3RhYmxldmlldyc7XG5pbXBvcnQge01uZ1RhYmxldmlld0NvbXBvbmVudH0gZnJvbSAnLi4vdGFibGV2aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQge0FNbmdUYWJsZXZpZXdSb3V0ZUNvbXBvbmVudH0gZnJvbSAnLi90YWJsZXZpZXctcm91dGUuYWJzdHJhY3QuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ21uZy10YWJsZXZpZXctcm91dGUnLFxuICAgIGltcG9ydHM6IFtNbmdUYWJsZXZpZXdDb21wb25lbnRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi4vLi4vLi4vLi4vLi4vdGVtcGxhdGVzL3RhYmxldmlldy1yb3V0ZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTW5nVGFibGV2aWV3Um91dGVDb21wb25lbnQ8VCwgUz4gZXh0ZW5kcyBBTW5nVGFibGV2aWV3Um91dGVDb21wb25lbnQ8VCwgUz4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgnZGVzY3JpcHRvcicpIHB1YmxpYyBkZXNjcmlwdG9ySW5pdD86IFRhYmxldmlld0Rlc2NyaXB0b3I8VD47XG4gICAgQElucHV0KCdkYXRhUHJvdmlkZXInKSBwdWJsaWMgZGF0YVByb3ZpZGVySW5pdD86IElUYWJsZXZpZXdEYXRhUHJvdmlkZXI8VCwgUz47XG4gICAgQElucHV0KCdhY3Rpb25zJykgcHVibGljIGFjdGlvbnNJbml0PzogQXJyYXk8QWN0aW9uRGVzY3JpcHRvcjxUPj47XG5cbiAgICBAVmlld0NoaWxkKE1uZ1RhYmxldmlld0NvbXBvbmVudCkgcHVibGljIHRhYmxldmlld0NvbXBvbmVudD86IE1uZ1RhYmxldmlld0NvbXBvbmVudDxULCBTPjtcblxuICAgIHByb3RlY3RlZCBjcmVhdGVUYWJsZXZpZXdEZXNjcmlwdG9yKCk6IFRhYmxldmlld0Rlc2NyaXB0b3I8VD4ge1xuICAgICAgICBpZiAodGhpcy5kZXNjcmlwdG9ySW5pdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGVzY3JpcHRvckluaXQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucm91dGVEYXRhPy50YWJsZXZpZXc/LmRlc2NyaXB0b3IpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdUYWJsZXZpZXcgcmVxdWlyZXMgYSBkZXNjcmlwdG9yLicpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlRGF0YS50YWJsZXZpZXchLmRlc2NyaXB0b3I7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVRhYmxldmlld0RhdGFQcm92aWRlcigpOiBJVGFibGV2aWV3RGF0YVByb3ZpZGVyPFQsIFM+IHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YVByb3ZpZGVySW5pdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVByb3ZpZGVySW5pdDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5yb3V0ZURhdGE/LnRhYmxldmlldz8uZGF0YVByb3ZpZGVyKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignVGFibGV2aWV3IHJlcXVpcmVzIGEgZGF0YSBwcm92aWRlci4nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3IS5kYXRhUHJvdmlkZXI7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JzKCk6IEFycmF5PEFjdGlvbkRlc2NyaXB0b3I8VD4+IHtcbiAgICAgICAgaWYgKHRoaXMuYWN0aW9uc0luaXQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFjdGlvbnNJbml0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlRGF0YT8udGFibGV2aWV3Py5hY3Rpb25zID8/IHN1cGVyLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbG9hZFRhYmxlKCkge1xuICAgICAgICB0aGlzLnRhYmxldmlld0NvbXBvbmVudD8ucmVsb2FkVGFibGUoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgPG1uZy10YWJsZXZpZXcgW2Rlc2NyaXB0b3JdPVwiZGVzY3JpcHRvclwiIFtkYXRhUHJvdmlkZXJdPVwiZGF0YVByb3ZpZGVyXCIgW2FjdGlvbnNdPVwiYWN0aW9uc1wiPiA8L21uZy10YWJsZXZpZXc+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==