@mediusinc/mng-commons 1.4.0 → 2.0.0-rc.0-08f92864

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 (416) 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 +196 -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 +7 -7
  58. package/esm2020/lib/components/layout/main-layout.component.mjs +52 -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.component.mjs +67 -65
  64. package/esm2020/lib/components/layout/version.component.mjs +58 -58
  65. package/esm2020/lib/components/tableview/index.mjs +6 -6
  66. package/esm2020/lib/components/tableview/models/index.mjs +1 -1
  67. package/esm2020/lib/components/tableview/models/table.event.mjs +16 -16
  68. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +150 -147
  69. package/esm2020/lib/components/tableview/route/tableview-route.component.mjs +52 -53
  70. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +121 -120
  71. package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +101 -84
  72. package/esm2020/lib/components/tableview/table/table.component.mjs +611 -595
  73. package/esm2020/lib/components/tableview/tableview.component.mjs +115 -113
  74. package/esm2020/lib/data-providers/base.data-provider.mjs +16 -16
  75. package/esm2020/lib/data-providers/editor.data-provider.mjs +36 -36
  76. package/esm2020/lib/data-providers/index.mjs +6 -6
  77. package/esm2020/lib/data-providers/lookup.data-provider.mjs +15 -15
  78. package/esm2020/lib/data-providers/table.data-provider.mjs +37 -37
  79. package/esm2020/lib/data-providers/tableview-crud.data-provider.mjs +23 -23
  80. package/esm2020/lib/data-providers/tableview.data-provider.mjs +44 -44
  81. package/esm2020/lib/descriptors/action/action-button.descriptor.mjs +60 -0
  82. package/esm2020/lib/descriptors/action/action-confirmation.descriptor.mjs +77 -77
  83. package/esm2020/lib/descriptors/action/action.descriptor.mjs +579 -0
  84. package/esm2020/lib/descriptors/action/index.mjs +4 -0
  85. package/esm2020/lib/descriptors/editor/editor.descriptor.mjs +291 -0
  86. package/esm2020/lib/descriptors/editor/field-validation.descriptor.mjs +25 -0
  87. package/esm2020/lib/descriptors/editor/field.descriptor.mjs +990 -0
  88. package/esm2020/lib/descriptors/editor/index.mjs +4 -0
  89. package/esm2020/lib/descriptors/filter/filter.descriptor.mjs +370 -0
  90. package/esm2020/lib/descriptors/filter/index.mjs +2 -0
  91. package/esm2020/lib/descriptors/index.mjs +2 -12
  92. package/esm2020/lib/descriptors/interfaces/field-config.interface.mjs +1 -1
  93. package/esm2020/lib/descriptors/interfaces/index.mjs +2 -2
  94. package/esm2020/lib/descriptors/interfaces/lookup-descriptor.interface.mjs +1 -1
  95. package/esm2020/lib/descriptors/model.descriptor.mjs +44 -44
  96. package/esm2020/lib/descriptors/table/column.descriptor.mjs +406 -0
  97. package/esm2020/lib/descriptors/table/index.mjs +3 -0
  98. package/esm2020/lib/descriptors/table/table.descriptor.mjs +497 -0
  99. package/esm2020/lib/descriptors/tableview/index.mjs +2 -0
  100. package/esm2020/lib/descriptors/tableview/tableview.descriptor.mjs +346 -0
  101. package/esm2020/lib/descriptors/types/action.type.mjs +25 -25
  102. package/esm2020/lib/descriptors/types/column.type.mjs +20 -20
  103. package/esm2020/lib/descriptors/types/editor.type.mjs +7 -7
  104. package/esm2020/lib/descriptors/types/field.type.mjs +55 -55
  105. package/esm2020/lib/descriptors/types/filter.type.mjs +30 -30
  106. package/esm2020/lib/descriptors/types/index.mjs +6 -6
  107. package/esm2020/lib/descriptors/types/table.type.mjs +26 -26
  108. package/esm2020/lib/directives/component.directive.mjs +45 -44
  109. package/esm2020/lib/directives/index.mjs +2 -2
  110. package/esm2020/lib/directives/template.directive.mjs +29 -28
  111. package/esm2020/lib/mng-commons.module.mjs +445 -485
  112. package/esm2020/lib/models/column-value.model.mjs +2 -2
  113. package/esm2020/lib/models/config.model.mjs +2 -2
  114. package/esm2020/lib/models/enum.model.mjs +1 -1
  115. package/esm2020/lib/models/error.model.mjs +1 -1
  116. package/esm2020/lib/models/index.mjs +9 -9
  117. package/esm2020/lib/models/menu.model.mjs +2 -2
  118. package/esm2020/lib/models/tableview-attr.model.mjs +1 -1
  119. package/esm2020/lib/models/user.model.mjs +1 -1
  120. package/esm2020/lib/models/version.model.mjs +1 -1
  121. package/esm2020/lib/models/view-container.model.mjs +2 -2
  122. package/esm2020/lib/pipes/boolean.pipe.mjs +28 -27
  123. package/esm2020/lib/pipes/class-map.pipe.mjs +23 -22
  124. package/esm2020/lib/pipes/enum.pipe.mjs +26 -25
  125. package/esm2020/lib/pipes/enumerate-async.pipe.mjs +39 -38
  126. package/esm2020/lib/pipes/enumerate.pipe.mjs +56 -55
  127. package/esm2020/lib/pipes/getter.pipe.mjs +21 -20
  128. package/esm2020/lib/pipes/i18n-property.pipe.mjs +19 -18
  129. package/esm2020/lib/pipes/index.mjs +11 -11
  130. package/esm2020/lib/pipes/json-path.pipe.mjs +80 -79
  131. package/esm2020/lib/pipes/locale-default-row-class.pipe.mjs +27 -26
  132. package/esm2020/lib/pipes/models/internal/enumrate-pipe-i18n.model.mjs +1 -1
  133. package/esm2020/lib/pipes/models/internal/index.mjs +1 -1
  134. package/esm2020/lib/pipes/parametrize.pipe.mjs +86 -85
  135. package/esm2020/lib/pipes/template.pipe.mjs +25 -24
  136. package/esm2020/lib/provide-commons.mjs +73 -0
  137. package/esm2020/lib/router/index.mjs +4 -3
  138. package/esm2020/lib/router/models/index.mjs +1 -1
  139. package/esm2020/lib/router/models/router.model.mjs +2 -2
  140. package/esm2020/lib/router/route-builder.mjs +313 -426
  141. package/esm2020/lib/router/routes-builder.mjs +67 -0
  142. package/esm2020/lib/router/tableview-route-builder.mjs +187 -187
  143. package/esm2020/lib/security/authorization.guard.mjs +29 -26
  144. package/esm2020/lib/security/authorization.service.mjs +50 -47
  145. package/esm2020/lib/security/authorization.util.mjs +15 -15
  146. package/esm2020/lib/security/index.mjs +3 -3
  147. package/esm2020/lib/security/model/authorization.type.mjs +7 -7
  148. package/esm2020/lib/security/model/index.mjs +3 -3
  149. package/esm2020/lib/security/model/permission-service.interface.mjs +1 -1
  150. package/esm2020/lib/security/model/permissions.model.mjs +86 -86
  151. package/esm2020/lib/services/action-executor.service.mjs +558 -555
  152. package/esm2020/lib/services/commons.service.mjs +464 -461
  153. package/esm2020/lib/services/configuration.service.mjs +149 -142
  154. package/esm2020/lib/services/error-mapper.service.mjs +13 -13
  155. package/esm2020/lib/services/index.mjs +6 -6
  156. package/esm2020/lib/services/internal/commons-init.provider.mjs +3 -3
  157. package/esm2020/lib/services/internal/commons-init.service.mjs +50 -44
  158. package/esm2020/lib/services/internal/index.mjs +2 -2
  159. package/esm2020/lib/services/navigation.service.mjs +51 -48
  160. package/esm2020/lib/services/providers/config-service.provider.mjs +31 -30
  161. package/esm2020/lib/services/providers/formly-config.provider.mjs +30 -30
  162. package/esm2020/lib/services/providers/index.mjs +2 -2
  163. package/esm2020/lib/services/router.service.mjs +97 -0
  164. package/esm2020/lib/services/tokens/browser-storage.token.mjs +5 -5
  165. package/esm2020/lib/services/tokens/commons-init.token.mjs +2 -2
  166. package/esm2020/lib/services/tokens/default-setting.token.mjs +2 -2
  167. package/esm2020/lib/services/tokens/index.mjs +4 -4
  168. package/esm2020/lib/services/tokens/module-config.token.mjs +2 -2
  169. package/esm2020/lib/services/version.service.mjs +42 -39
  170. package/esm2020/lib/services/view-container.component.service.mjs +55 -55
  171. package/esm2020/lib/styles/button-style.builder.mjs +164 -164
  172. package/esm2020/lib/styles/index.mjs +2 -2
  173. package/esm2020/lib/styles/models/index.mjs +2 -2
  174. package/esm2020/lib/styles/models/style-level.enum.mjs +11 -11
  175. package/esm2020/lib/styles/models/style-size.enum.mjs +8 -8
  176. package/esm2020/lib/styles/styles.util.mjs +42 -42
  177. package/esm2020/lib/types/index.mjs +2 -2
  178. package/esm2020/lib/types/type.decorator.mjs +21 -21
  179. package/esm2020/lib/types/type.model.mjs +1 -1
  180. package/esm2020/lib/utils/action-data-provider.util.mjs +145 -145
  181. package/esm2020/lib/utils/date.util.mjs +117 -117
  182. package/esm2020/lib/utils/editor-formly.util.mjs +288 -288
  183. package/esm2020/lib/utils/enum.util.mjs +81 -81
  184. package/esm2020/lib/utils/export.util.mjs +20 -20
  185. package/esm2020/lib/utils/i18n.util.mjs +233 -233
  186. package/esm2020/lib/utils/index.mjs +10 -10
  187. package/esm2020/lib/utils/model.util.mjs +68 -68
  188. package/esm2020/lib/utils/notification.util.mjs +51 -51
  189. package/esm2020/lib/utils/route.util.mjs +36 -24
  190. package/esm2020/lib/utils/string.util.mjs +26 -26
  191. package/esm2020/lib/utils/tableview.util.mjs +160 -160
  192. package/esm2020/lib/utils/type.util.mjs +92 -92
  193. package/esm2020/mediusinc-mng-commons.mjs +4 -4
  194. package/esm2020/public-api.mjs +61 -55
  195. package/fesm2015/mediusinc-mng-commons.mjs +14147 -13931
  196. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  197. package/fesm2020/mediusinc-mng-commons.mjs +13980 -13768
  198. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  199. package/index.d.ts +5 -5
  200. package/lib/api/models/builders/query-param.builder.d.ts +13 -13
  201. package/lib/api/models/filter-match-type.model.d.ts +23 -23
  202. package/lib/api/models/filter-param.model.d.ts +23 -23
  203. package/lib/api/models/index.d.ts +8 -8
  204. package/lib/api/models/mappers.d.ts +6 -6
  205. package/lib/api/models/query-mode.model.d.ts +16 -16
  206. package/lib/api/models/query-param.model.d.ts +31 -31
  207. package/lib/api/models/query-result.model.d.ts +24 -24
  208. package/lib/api/models/serialization.model.d.ts +8 -8
  209. package/lib/api/services/api.abstract.service.d.ts +24 -24
  210. package/lib/api/services/crud-api.abstract.service.d.ts +22 -22
  211. package/lib/api/services/get-all-api.abstract.service.d.ts +14 -14
  212. package/lib/api/services/index.d.ts +3 -3
  213. package/lib/api/utils/index.d.ts +2 -2
  214. package/lib/api/utils/medius-rest.util.d.ts +16 -16
  215. package/lib/api/utils/object-serializer.util.d.ts +33 -33
  216. package/lib/components/action/action.component.d.ts +79 -79
  217. package/lib/components/action/editor/action-editor.component.d.ts +69 -69
  218. package/lib/components/action/index.d.ts +4 -4
  219. package/lib/components/action/localization/data-language-dropdown.component.d.ts +25 -25
  220. package/lib/components/action/models/action-component.model.d.ts +15 -15
  221. package/lib/components/action/models/action-confirmation-service.model.d.ts +6 -6
  222. package/lib/components/action/models/action-execution.model.d.ts +135 -135
  223. package/lib/components/action/models/index.d.ts +4 -4
  224. package/lib/components/action/models/tableview-action-default-categories.model.d.ts +10 -10
  225. package/lib/components/action/route/action-route.component.d.ts +31 -31
  226. package/lib/components/form/autocomplete/autocomplete.component.d.ts +61 -61
  227. package/lib/components/form/date-range/date-range.component.d.ts +28 -28
  228. package/lib/components/form/dropdown/dropdown.component.d.ts +52 -52
  229. package/lib/components/form/editor/form-editor.component.d.ts +52 -52
  230. package/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.d.ts +13 -13
  231. package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +16 -16
  232. package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +15 -15
  233. package/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +14 -14
  234. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +29 -29
  235. package/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.d.ts +11 -11
  236. package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +46 -46
  237. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +25 -24
  238. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +37 -37
  239. package/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +7 -7
  240. package/lib/components/form/formly/fields/index.d.ts +10 -10
  241. package/lib/components/form/formly/formly.config.d.ts +14 -14
  242. package/lib/components/form/formly/index.d.ts +1 -1
  243. package/lib/components/form/formly/models/formly-config.model.d.ts +11 -11
  244. package/lib/components/form/formly/models/formly-field.model.d.ts +16 -16
  245. package/lib/components/form/formly/models/index.d.ts +2 -2
  246. package/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.d.ts +6 -6
  247. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +11 -11
  248. package/lib/components/form/formly/wrappers/index.d.ts +2 -2
  249. package/lib/components/form/index.d.ts +4 -4
  250. package/lib/components/form/models/field-action-context.model.d.ts +17 -17
  251. package/lib/components/form/models/form-editor.event.d.ts +37 -37
  252. package/lib/components/form/models/form-editor.interface.d.ts +10 -10
  253. package/lib/components/form/models/index.d.ts +2 -2
  254. package/lib/components/layout/breadcrumb.component.d.ts +8 -8
  255. package/lib/components/layout/footer.component.d.ts +9 -9
  256. package/lib/components/layout/index.d.ts +7 -7
  257. package/lib/components/layout/main-layout.component.d.ts +20 -20
  258. package/lib/components/layout/menu-item.component.d.ts +56 -52
  259. package/lib/components/layout/menu.component.d.ts +16 -10
  260. package/lib/components/layout/services/index.d.ts +1 -1
  261. package/lib/components/layout/services/main-layout.component.service.d.ts +65 -65
  262. package/lib/components/layout/topbar.component.d.ts +28 -28
  263. package/lib/components/layout/version.component.d.ts +19 -19
  264. package/lib/components/tableview/index.d.ts +6 -6
  265. package/lib/components/tableview/models/index.d.ts +1 -1
  266. package/lib/components/tableview/models/table.event.d.ts +17 -17
  267. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +36 -33
  268. package/lib/components/tableview/route/tableview-route.component.d.ts +19 -18
  269. package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +38 -38
  270. package/lib/components/tableview/table/column-value/column-value.component.d.ts +35 -35
  271. package/lib/components/tableview/table/table.component.d.ts +117 -115
  272. package/lib/components/tableview/tableview.component.d.ts +49 -48
  273. package/lib/data-providers/base.data-provider.d.ts +14 -14
  274. package/lib/data-providers/editor.data-provider.d.ts +25 -25
  275. package/lib/data-providers/index.d.ts +6 -6
  276. package/lib/data-providers/lookup.data-provider.d.ts +14 -14
  277. package/lib/data-providers/table.data-provider.d.ts +27 -27
  278. package/lib/data-providers/tableview-crud.data-provider.d.ts +8 -8
  279. package/lib/data-providers/tableview.data-provider.d.ts +33 -33
  280. package/lib/descriptors/{action-button.descriptor.d.ts → action/action-button.descriptor.d.ts} +22 -22
  281. package/lib/descriptors/action/action-confirmation.descriptor.d.ts +36 -36
  282. package/lib/descriptors/{action.descriptor.d.ts → action/action.descriptor.d.ts} +225 -223
  283. package/lib/descriptors/action/index.d.ts +3 -0
  284. package/lib/descriptors/{editor.descriptor.d.ts → editor/editor.descriptor.d.ts} +119 -116
  285. package/lib/descriptors/{field-validation.descriptor.d.ts → editor/field-validation.descriptor.d.ts} +19 -19
  286. package/lib/descriptors/{field.descriptor.d.ts → editor/field.descriptor.d.ts} +349 -345
  287. package/lib/descriptors/editor/index.d.ts +3 -0
  288. package/lib/descriptors/{filter.descriptor.d.ts → filter/filter.descriptor.d.ts} +120 -118
  289. package/lib/descriptors/filter/index.d.ts +1 -0
  290. package/lib/descriptors/index.d.ts +1 -11
  291. package/lib/descriptors/interfaces/field-config.interface.d.ts +9 -9
  292. package/lib/descriptors/interfaces/index.d.ts +2 -2
  293. package/lib/descriptors/interfaces/lookup-descriptor.interface.d.ts +17 -17
  294. package/lib/descriptors/model.descriptor.d.ts +18 -18
  295. package/lib/descriptors/{column.descriptor.d.ts → table/column.descriptor.d.ts} +130 -130
  296. package/lib/descriptors/table/index.d.ts +2 -0
  297. package/lib/descriptors/{table.descriptor.d.ts → table/table.descriptor.d.ts} +193 -193
  298. package/lib/descriptors/tableview/index.d.ts +1 -0
  299. package/lib/descriptors/{tableview.descriptor.d.ts → tableview/tableview.descriptor.d.ts} +131 -129
  300. package/lib/descriptors/types/action.type.d.ts +21 -21
  301. package/lib/descriptors/types/column.type.d.ts +18 -18
  302. package/lib/descriptors/types/editor.type.d.ts +6 -6
  303. package/lib/descriptors/types/field.type.d.ts +47 -47
  304. package/lib/descriptors/types/filter.type.d.ts +27 -27
  305. package/lib/descriptors/types/index.d.ts +6 -6
  306. package/lib/descriptors/types/table.type.d.ts +22 -22
  307. package/lib/directives/component.directive.d.ts +16 -16
  308. package/lib/directives/index.d.ts +2 -2
  309. package/lib/directives/template.directive.d.ts +13 -13
  310. package/lib/mng-commons.module.d.ts +99 -99
  311. package/lib/models/column-value.model.d.ts +4 -4
  312. package/lib/models/config.model.d.ts +41 -40
  313. package/lib/models/enum.model.d.ts +6 -6
  314. package/lib/models/error.model.d.ts +14 -14
  315. package/lib/models/index.d.ts +9 -9
  316. package/lib/models/menu.model.d.ts +30 -30
  317. package/lib/models/tableview-attr.model.d.ts +10 -10
  318. package/lib/models/user.model.d.ts +8 -8
  319. package/lib/models/version.model.d.ts +18 -18
  320. package/lib/models/view-container.model.d.ts +43 -43
  321. package/lib/pipes/boolean.pipe.d.ts +7 -7
  322. package/lib/pipes/class-map.pipe.d.ts +7 -7
  323. package/lib/pipes/enum.pipe.d.ts +8 -8
  324. package/lib/pipes/enumerate-async.pipe.d.ts +14 -14
  325. package/lib/pipes/enumerate.pipe.d.ts +21 -21
  326. package/lib/pipes/getter.pipe.d.ts +7 -7
  327. package/lib/pipes/i18n-property.pipe.d.ts +8 -8
  328. package/lib/pipes/index.d.ts +11 -11
  329. package/lib/pipes/json-path.pipe.d.ts +13 -13
  330. package/lib/pipes/locale-default-row-class.pipe.d.ts +10 -10
  331. package/lib/pipes/models/internal/enumrate-pipe-i18n.model.d.ts +5 -5
  332. package/lib/pipes/models/internal/index.d.ts +1 -1
  333. package/lib/pipes/parametrize.pipe.d.ts +13 -13
  334. package/lib/pipes/template.pipe.d.ts +10 -10
  335. package/lib/provide-commons.d.ts +3 -0
  336. package/lib/router/index.d.ts +3 -2
  337. package/lib/router/models/index.d.ts +1 -1
  338. package/lib/router/models/router.model.d.ts +36 -33
  339. package/lib/router/route-builder.d.ts +62 -98
  340. package/lib/router/routes-builder.d.ts +29 -0
  341. package/lib/router/tableview-route-builder.d.ts +38 -37
  342. package/lib/security/authorization.guard.d.ts +11 -11
  343. package/lib/security/authorization.service.d.ts +19 -19
  344. package/lib/security/authorization.util.d.ts +5 -5
  345. package/lib/security/index.d.ts +3 -3
  346. package/lib/security/model/authorization.type.d.ts +6 -6
  347. package/lib/security/model/index.d.ts +3 -3
  348. package/lib/security/model/permission-service.interface.d.ts +6 -6
  349. package/lib/security/model/permissions.model.d.ts +37 -37
  350. package/lib/services/action-executor.service.d.ts +150 -149
  351. package/lib/services/commons.service.d.ts +93 -93
  352. package/lib/services/configuration.service.d.ts +60 -57
  353. package/lib/services/error-mapper.service.d.ts +7 -7
  354. package/lib/services/index.d.ts +6 -6
  355. package/lib/services/internal/commons-init.provider.d.ts +3 -3
  356. package/lib/services/internal/commons-init.service.d.ts +18 -16
  357. package/lib/services/internal/index.d.ts +2 -2
  358. package/lib/services/navigation.service.d.ts +14 -14
  359. package/lib/services/providers/config-service.provider.d.ts +6 -6
  360. package/lib/services/providers/formly-config.provider.d.ts +4 -4
  361. package/lib/services/providers/index.d.ts +2 -2
  362. package/lib/services/router.service.d.ts +22 -0
  363. package/lib/services/tokens/browser-storage.token.d.ts +2 -2
  364. package/lib/services/tokens/commons-init.token.d.ts +3 -3
  365. package/lib/services/tokens/default-setting.token.d.ts +2 -2
  366. package/lib/services/tokens/index.d.ts +4 -4
  367. package/lib/services/tokens/module-config.token.d.ts +3 -3
  368. package/lib/services/version.service.d.ts +13 -13
  369. package/lib/services/view-container.component.service.d.ts +31 -31
  370. package/lib/styles/button-style.builder.d.ts +67 -67
  371. package/lib/styles/index.d.ts +2 -2
  372. package/lib/styles/models/index.d.ts +2 -2
  373. package/lib/styles/models/style-level.enum.d.ts +10 -10
  374. package/lib/styles/models/style-size.enum.d.ts +7 -7
  375. package/lib/styles/styles.util.d.ts +15 -14
  376. package/lib/types/index.d.ts +2 -2
  377. package/lib/types/type.decorator.d.ts +4 -4
  378. package/lib/types/type.model.d.ts +23 -23
  379. package/lib/utils/action-data-provider.util.d.ts +20 -20
  380. package/lib/utils/date.util.d.ts +7 -7
  381. package/lib/utils/editor-formly.util.d.ts +12 -12
  382. package/lib/utils/enum.util.d.ts +50 -50
  383. package/lib/utils/export.util.d.ts +5 -5
  384. package/lib/utils/i18n.util.d.ts +57 -56
  385. package/lib/utils/index.d.ts +10 -10
  386. package/lib/utils/model.util.d.ts +8 -8
  387. package/lib/utils/notification.util.d.ts +13 -12
  388. package/lib/utils/route.util.d.ts +59 -4
  389. package/lib/utils/string.util.d.ts +4 -4
  390. package/lib/utils/tableview.util.d.ts +40 -40
  391. package/lib/utils/type.util.d.ts +57 -57
  392. package/package.json +6 -6
  393. package/public-api.d.ts +40 -34
  394. package/scss/common/layout/_breadcrumb.scss +12 -2
  395. package/scss/common/layout/_exception.scss +1 -1
  396. package/scss/common/layout/_inlinemenu.scss +13 -0
  397. package/scss/common/layout/_login.scss +1 -0
  398. package/scss/common/layout/_rightmenu.scss +5 -0
  399. package/scss/common/layout/menu/_menu_common.scss +1 -1
  400. package/scss/common/theme/designer/_mixins.scss +29 -0
  401. package/scss/common/theme/extensions/_datatable.scss +2 -2
  402. package/scss/common/variables/layout/_layout_dark.scss +0 -1
  403. package/scss/common/variables/layout/_layout_light.scss +0 -1
  404. package/scss/common/variables/theme/_theme_dark.scss +72 -46
  405. package/scss/common/variables/theme/_theme_light.scss +70 -33
  406. package/version-info.json +7 -7
  407. package/esm2020/lib/descriptors/action-button.descriptor.mjs +0 -60
  408. package/esm2020/lib/descriptors/action.descriptor.mjs +0 -577
  409. package/esm2020/lib/descriptors/column.descriptor.mjs +0 -405
  410. package/esm2020/lib/descriptors/editor.descriptor.mjs +0 -290
  411. package/esm2020/lib/descriptors/field-validation.descriptor.mjs +0 -25
  412. package/esm2020/lib/descriptors/field.descriptor.mjs +0 -987
  413. package/esm2020/lib/descriptors/filter.descriptor.mjs +0 -368
  414. package/esm2020/lib/descriptors/table.descriptor.mjs +0 -497
  415. package/esm2020/lib/descriptors/tableview.descriptor.mjs +0 -344
  416. package/mediusinc-mng-commons-1.4.0.tgz +0 -0
@@ -1,52 +1,52 @@
1
- import { ChangeDetectionStrategy, Component, HostListener, ViewChildren } from '@angular/core';
2
- import { MngTemplateDirective } from '../../directives';
3
- import { MngFooterComponent } from './footer.component';
4
- import { MngMenuComponent } from './menu.component';
5
- import { MngMainLayoutComponentService } from './services';
6
- import { MngTopbarComponent } from './topbar.component';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/router";
9
- import * as i2 from "../../services";
10
- import * as i3 from "./services";
11
- import * as i4 from "@angular/common";
12
- import * as i5 from "../../directives/component.directive";
13
- export class MngMainLayoutComponent {
14
- constructor(route, mngCommons, mainLayoutService) {
15
- this.route = route;
16
- this.mngCommons = mngCommons;
17
- this.mainLayoutService = mainLayoutService;
18
- this.topbarComponent = MngTopbarComponent;
19
- this.menuComponent = MngMenuComponent;
20
- this.footerComponent = MngFooterComponent;
21
- }
22
- ngOnInit() {
23
- const routeData = this.route.snapshot.data;
24
- if (routeData?.topbarComponent) {
25
- this.topbarComponent = routeData.topbarComponent;
26
- }
27
- if (routeData?.menuComponent) {
28
- this.menuComponent = routeData.menuComponent;
29
- }
30
- if (routeData?.footerComponent) {
31
- this.footerComponent = routeData.footerComponent;
32
- }
33
- this.mainLayoutService.innerWidth = window.innerWidth;
34
- }
35
- onWindowResize(event) {
36
- const target = event.target;
37
- this.mainLayoutService.innerWidth = target?.innerWidth ?? window.innerWidth;
38
- }
39
- }
40
- MngMainLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngMainLayoutComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.MngCommonsService }, { token: i3.MngMainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
41
- MngMainLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: MngMainLayoutComponent, selector: "mng-main-layout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [MngMainLayoutComponentService], viewQueries: [{ propertyName: "templates", predicate: MngTemplateDirective, descendants: true }], ngImport: i0, template: "<div\n class=\"layout-wrapper\"\n (click)=\"mainLayoutService.onLayoutClick()\"\n [ngClass]=\"{\n 'layout-static': mngCommons.menuModeIsStatic$ | async,\n 'layout-overlay': mngCommons.menuModeIsOverlay$ | async,\n 'layout-slim': mngCommons.menuModeIsSlim$ | async,\n 'layout-sidebar': mngCommons.menuModeIsSidebar$ | async,\n 'layout-sidebar-static': (mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async),\n 'layout-overlay-active': mainLayoutService.overlayMenuActive$ | async,\n 'layout-mobile-active': mainLayoutService.staticMenuMobileActive$ | async,\n 'layout-static-inactive': (mainLayoutService.staticMenuDesktopInactive$ | async) && (mngCommons.menuModeIsStatic$ | async)\n }\">\n <div class=\"layout-main\">\n <ng-container [mngComponent]=\"topbarComponent\"></ng-container>\n\n <ng-container\n *ngIf=\"\n (mainLayoutService.isMobile$ | async) === false &&\n ((mngCommons.menuModeIsStatic$ | async) || (mngCommons.menuModeIsSlim$ | async) || (mngCommons.menuModeIsSidebar$ | async))\n \"\n [mngComponent]=\"menuComponent\">\n </ng-container>\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <ng-container [mngComponent]=\"footerComponent\"></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i5.MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "inputs"], outputs: ["instanceCreated"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngMainLayoutComponent, decorators: [{
43
- type: Component,
44
- args: [{ selector: 'mng-main-layout', providers: [MngMainLayoutComponentService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"layout-wrapper\"\n (click)=\"mainLayoutService.onLayoutClick()\"\n [ngClass]=\"{\n 'layout-static': mngCommons.menuModeIsStatic$ | async,\n 'layout-overlay': mngCommons.menuModeIsOverlay$ | async,\n 'layout-slim': mngCommons.menuModeIsSlim$ | async,\n 'layout-sidebar': mngCommons.menuModeIsSidebar$ | async,\n 'layout-sidebar-static': (mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async),\n 'layout-overlay-active': mainLayoutService.overlayMenuActive$ | async,\n 'layout-mobile-active': mainLayoutService.staticMenuMobileActive$ | async,\n 'layout-static-inactive': (mainLayoutService.staticMenuDesktopInactive$ | async) && (mngCommons.menuModeIsStatic$ | async)\n }\">\n <div class=\"layout-main\">\n <ng-container [mngComponent]=\"topbarComponent\"></ng-container>\n\n <ng-container\n *ngIf=\"\n (mainLayoutService.isMobile$ | async) === false &&\n ((mngCommons.menuModeIsStatic$ | async) || (mngCommons.menuModeIsSlim$ | async) || (mngCommons.menuModeIsSidebar$ | async))\n \"\n [mngComponent]=\"menuComponent\">\n </ng-container>\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <ng-container [mngComponent]=\"footerComponent\"></ng-container>\n </div>\n</div>\n" }]
45
- }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.MngCommonsService }, { type: i3.MngMainLayoutComponentService }]; }, propDecorators: { templates: [{
46
- type: ViewChildren,
47
- args: [MngTemplateDirective]
48
- }], onWindowResize: [{
49
- type: HostListener,
50
- args: ['window:resize', ['$event']]
51
- }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9tYWluLWxheW91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L21haW4tbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUEyQixZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHdEgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFHdEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ3pELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7O0FBUXRELE1BQU0sT0FBTyxzQkFBc0I7SUFPL0IsWUFBb0IsS0FBcUIsRUFBUyxVQUE2QixFQUFTLGlCQUFnRDtRQUFwSCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUFTLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQVMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUErQjtRQUpqSSxvQkFBZSxHQUFjLGtCQUFrQixDQUFDO1FBQ2hELGtCQUFhLEdBQWMsZ0JBQWdCLENBQUM7UUFDNUMsb0JBQWUsR0FBYyxrQkFBa0IsQ0FBQztJQUVvRixDQUFDO0lBRTVJLFFBQVE7UUFDSixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFxQixDQUFDO1FBQzVELElBQUksU0FBUyxFQUFFLGVBQWUsRUFBRTtZQUM1QixJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxlQUFlLENBQUM7U0FDcEQ7UUFDRCxJQUFJLFNBQVMsRUFBRSxhQUFhLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDO1NBQ2hEO1FBQ0QsSUFBSSxTQUFTLEVBQUUsZUFBZSxFQUFFO1lBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDLGVBQWUsQ0FBQztTQUNwRDtRQUVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUMxRCxDQUFDO0lBR0QsY0FBYyxDQUFDLEtBQWM7UUFDekIsTUFBTSxNQUFNLEdBQVEsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxHQUFHLE1BQU0sRUFBRSxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUNoRixDQUFDOzttSEE1QlEsc0JBQXNCO3VHQUF0QixzQkFBc0IsOEdBSHBCLENBQUMsNkJBQTZCLENBQUMsd0RBSTVCLG9CQUFvQixnRENsQnRDLHM2Q0ErQkE7MkZEZGEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNJLGlCQUFpQixhQUVoQixDQUFDLDZCQUE2QixDQUFDLG1CQUN6Qix1QkFBdUIsQ0FBQyxNQUFNO2lMQUdYLFNBQVM7c0JBQTVDLFlBQVk7dUJBQUMsb0JBQW9CO2dCQXdCbEMsY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBPbkluaXQsIFF1ZXJ5TGlzdCwgVHlwZSwgVmlld0NoaWxkcmVufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7TW5nVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtNbmdSb3V0ZXJEYXRhfSBmcm9tICcuLi8uLi9yb3V0ZXIvbW9kZWxzJztcbmltcG9ydCB7TW5nQ29tbW9uc1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7TW5nRm9vdGVyQ29tcG9uZW50fSBmcm9tICcuL2Zvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHtNbmdNZW51Q29tcG9uZW50fSBmcm9tICcuL21lbnUuY29tcG9uZW50JztcbmltcG9ydCB7TW5nTWFpbkxheW91dENvbXBvbmVudFNlcnZpY2V9IGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IHtNbmdUb3BiYXJDb21wb25lbnR9IGZyb20gJy4vdG9wYmFyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLW1haW4tbGF5b3V0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWFpbi1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW01uZ01haW5MYXlvdXRDb21wb25lbnRTZXJ2aWNlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNbmdNYWluTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkcmVuKE1uZ1RlbXBsYXRlRGlyZWN0aXZlKSB0ZW1wbGF0ZXMhOiBRdWVyeUxpc3Q8TW5nVGVtcGxhdGVEaXJlY3RpdmU+O1xuXG4gICAgcHVibGljIHRvcGJhckNvbXBvbmVudDogVHlwZTxhbnk+ID0gTW5nVG9wYmFyQ29tcG9uZW50O1xuICAgIHB1YmxpYyBtZW51Q29tcG9uZW50OiBUeXBlPGFueT4gPSBNbmdNZW51Q29tcG9uZW50O1xuICAgIHB1YmxpYyBmb290ZXJDb21wb25lbnQ6IFR5cGU8YW55PiA9IE1uZ0Zvb3RlckNvbXBvbmVudDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwdWJsaWMgbW5nQ29tbW9uczogTW5nQ29tbW9uc1NlcnZpY2UsIHB1YmxpYyBtYWluTGF5b3V0U2VydmljZTogTW5nTWFpbkxheW91dENvbXBvbmVudFNlcnZpY2UpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc3Qgcm91dGVEYXRhID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhIGFzIE1uZ1JvdXRlckRhdGE7XG4gICAgICAgIGlmIChyb3V0ZURhdGE/LnRvcGJhckNvbXBvbmVudCkge1xuICAgICAgICAgICAgdGhpcy50b3BiYXJDb21wb25lbnQgPSByb3V0ZURhdGEudG9wYmFyQ29tcG9uZW50O1xuICAgICAgICB9XG4gICAgICAgIGlmIChyb3V0ZURhdGE/Lm1lbnVDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMubWVudUNvbXBvbmVudCA9IHJvdXRlRGF0YS5tZW51Q29tcG9uZW50O1xuICAgICAgICB9XG4gICAgICAgIGlmIChyb3V0ZURhdGE/LmZvb3RlckNvbXBvbmVudCkge1xuICAgICAgICAgICAgdGhpcy5mb290ZXJDb21wb25lbnQgPSByb3V0ZURhdGEuZm9vdGVyQ29tcG9uZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5tYWluTGF5b3V0U2VydmljZS5pbm5lcldpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gICAgb25XaW5kb3dSZXNpemUoZXZlbnQ6IFVJRXZlbnQpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0OiBhbnkgPSBldmVudC50YXJnZXQ7XG4gICAgICAgIHRoaXMubWFpbkxheW91dFNlcnZpY2UuaW5uZXJXaWR0aCA9IHRhcmdldD8uaW5uZXJXaWR0aCA/PyB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJsYXlvdXQtd3JhcHBlclwiXG4gICAgKGNsaWNrKT1cIm1haW5MYXlvdXRTZXJ2aWNlLm9uTGF5b3V0Q2xpY2soKVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnbGF5b3V0LXN0YXRpYyc6IG1uZ0NvbW1vbnMubWVudU1vZGVJc1N0YXRpYyQgfCBhc3luYyxcbiAgICAgICAgJ2xheW91dC1vdmVybGF5JzogbW5nQ29tbW9ucy5tZW51TW9kZUlzT3ZlcmxheSQgfCBhc3luYyxcbiAgICAgICAgJ2xheW91dC1zbGltJzogbW5nQ29tbW9ucy5tZW51TW9kZUlzU2xpbSQgfCBhc3luYyxcbiAgICAgICAgJ2xheW91dC1zaWRlYmFyJzogbW5nQ29tbW9ucy5tZW51TW9kZUlzU2lkZWJhciQgfCBhc3luYyxcbiAgICAgICAgJ2xheW91dC1zaWRlYmFyLXN0YXRpYyc6IChtbmdDb21tb25zLm1lbnVNb2RlSXNTaWRlYmFyJCB8IGFzeW5jKSAmJiAobWFpbkxheW91dFNlcnZpY2Uuc2lkZWJhclN0YXRpYyQgfCBhc3luYyksXG4gICAgICAgICdsYXlvdXQtb3ZlcmxheS1hY3RpdmUnOiBtYWluTGF5b3V0U2VydmljZS5vdmVybGF5TWVudUFjdGl2ZSQgfCBhc3luYyxcbiAgICAgICAgJ2xheW91dC1tb2JpbGUtYWN0aXZlJzogbWFpbkxheW91dFNlcnZpY2Uuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSQgfCBhc3luYyxcbiAgICAgICAgJ2xheW91dC1zdGF0aWMtaW5hY3RpdmUnOiAobWFpbkxheW91dFNlcnZpY2Uuc3RhdGljTWVudURlc2t0b3BJbmFjdGl2ZSQgfCBhc3luYykgJiYgKG1uZ0NvbW1vbnMubWVudU1vZGVJc1N0YXRpYyQgfCBhc3luYylcbiAgICB9XCI+XG4gICAgPGRpdiBjbGFzcz1cImxheW91dC1tYWluXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW21uZ0NvbXBvbmVudF09XCJ0b3BiYXJDb21wb25lbnRcIj48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgIChtYWluTGF5b3V0U2VydmljZS5pc01vYmlsZSQgfCBhc3luYykgPT09IGZhbHNlICYmXG4gICAgICAgICAgICAgICAgKChtbmdDb21tb25zLm1lbnVNb2RlSXNTdGF0aWMkIHwgYXN5bmMpIHx8IChtbmdDb21tb25zLm1lbnVNb2RlSXNTbGltJCB8IGFzeW5jKSB8fCAobW5nQ29tbW9ucy5tZW51TW9kZUlzU2lkZWJhciQgfCBhc3luYykpXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW21uZ0NvbXBvbmVudF09XCJtZW51Q29tcG9uZW50XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtbWFpbi1jb250ZW50XCI+XG4gICAgICAgICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgW21uZ0NvbXBvbmVudF09XCJmb290ZXJDb21wb25lbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
1
+ import { AsyncPipe, NgClass, NgIf } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, HostListener, ViewChildren } from '@angular/core';
3
+ import { RouterOutlet } from '@angular/router';
4
+ import { MngComponentDirective, MngTemplateDirective } from '../../directives';
5
+ import { MngFooterComponent } from './footer.component';
6
+ import { MngMenuComponent } from './menu.component';
7
+ import { MngMainLayoutComponentService } from './services';
8
+ import { MngTopbarComponent } from './topbar.component';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/router";
11
+ import * as i2 from "../../services";
12
+ import * as i3 from "./services";
13
+ export class MngMainLayoutComponent {
14
+ constructor(route, mngCommons, mainLayoutService) {
15
+ this.route = route;
16
+ this.mngCommons = mngCommons;
17
+ this.mainLayoutService = mainLayoutService;
18
+ this.topbarComponent = MngTopbarComponent;
19
+ this.menuComponent = MngMenuComponent;
20
+ this.footerComponent = MngFooterComponent;
21
+ }
22
+ ngOnInit() {
23
+ const routeData = this.route.snapshot.data;
24
+ if (routeData?.topbarComponent) {
25
+ this.topbarComponent = routeData.topbarComponent;
26
+ }
27
+ if (routeData?.menuComponent) {
28
+ this.menuComponent = routeData.menuComponent;
29
+ }
30
+ if (routeData?.footerComponent) {
31
+ this.footerComponent = routeData.footerComponent;
32
+ }
33
+ this.mainLayoutService.innerWidth = window.innerWidth;
34
+ }
35
+ onWindowResize(event) {
36
+ const target = event.target;
37
+ this.mainLayoutService.innerWidth = target?.innerWidth ?? window.innerWidth;
38
+ }
39
+ }
40
+ MngMainLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: MngMainLayoutComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.MngCommonsService }, { token: i3.MngMainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
41
+ MngMainLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: MngMainLayoutComponent, isStandalone: true, selector: "mng-main-layout", host: { listeners: { "window:resize": "onWindowResize($event)" } }, providers: [MngMainLayoutComponentService], viewQueries: [{ propertyName: "templates", predicate: MngTemplateDirective, descendants: true }], ngImport: i0, template: "<div\n class=\"layout-wrapper\"\n (click)=\"mainLayoutService.onLayoutClick()\"\n [ngClass]=\"{\n 'layout-static': mngCommons.menuModeIsStatic$ | async,\n 'layout-overlay': mngCommons.menuModeIsOverlay$ | async,\n 'layout-slim': mngCommons.menuModeIsSlim$ | async,\n 'layout-sidebar': mngCommons.menuModeIsSidebar$ | async,\n 'layout-sidebar-static': (mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async),\n 'layout-overlay-active': mainLayoutService.overlayMenuActive$ | async,\n 'layout-mobile-active': mainLayoutService.staticMenuMobileActive$ | async,\n 'layout-static-inactive': (mainLayoutService.staticMenuDesktopInactive$ | async) && (mngCommons.menuModeIsStatic$ | async)\n }\">\n <div class=\"layout-main\">\n <ng-container [mngComponent]=\"topbarComponent\"></ng-container>\n\n <ng-container\n *ngIf=\"\n (mainLayoutService.isMobile$ | async) === false &&\n ((mngCommons.menuModeIsStatic$ | async) || (mngCommons.menuModeIsSlim$ | async) || (mngCommons.menuModeIsSidebar$ | async))\n \"\n [mngComponent]=\"menuComponent\">\n </ng-container>\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <ng-container [mngComponent]=\"footerComponent\"></ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: MngComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "inputs"], outputs: ["instanceCreated"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: MngMainLayoutComponent, decorators: [{
43
+ type: Component,
44
+ args: [{ standalone: true, selector: 'mng-main-layout', providers: [MngMainLayoutComponentService], imports: [NgClass, AsyncPipe, MngComponentDirective, NgIf, RouterOutlet], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"layout-wrapper\"\n (click)=\"mainLayoutService.onLayoutClick()\"\n [ngClass]=\"{\n 'layout-static': mngCommons.menuModeIsStatic$ | async,\n 'layout-overlay': mngCommons.menuModeIsOverlay$ | async,\n 'layout-slim': mngCommons.menuModeIsSlim$ | async,\n 'layout-sidebar': mngCommons.menuModeIsSidebar$ | async,\n 'layout-sidebar-static': (mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async),\n 'layout-overlay-active': mainLayoutService.overlayMenuActive$ | async,\n 'layout-mobile-active': mainLayoutService.staticMenuMobileActive$ | async,\n 'layout-static-inactive': (mainLayoutService.staticMenuDesktopInactive$ | async) && (mngCommons.menuModeIsStatic$ | async)\n }\">\n <div class=\"layout-main\">\n <ng-container [mngComponent]=\"topbarComponent\"></ng-container>\n\n <ng-container\n *ngIf=\"\n (mainLayoutService.isMobile$ | async) === false &&\n ((mngCommons.menuModeIsStatic$ | async) || (mngCommons.menuModeIsSlim$ | async) || (mngCommons.menuModeIsSidebar$ | async))\n \"\n [mngComponent]=\"menuComponent\">\n </ng-container>\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <ng-container [mngComponent]=\"footerComponent\"></ng-container>\n </div>\n</div>\n" }]
45
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.MngCommonsService }, { type: i3.MngMainLayoutComponentService }]; }, propDecorators: { templates: [{
46
+ type: ViewChildren,
47
+ args: [MngTemplateDirective]
48
+ }], onWindowResize: [{
49
+ type: HostListener,
50
+ args: ['window:resize', ['$event']]
51
+ }] } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9tYWluLWxheW91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L21haW4tbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUEyQixZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFpQixZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUU3RCxPQUFPLEVBQUMscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUc3RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFDekQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBVXRELE1BQU0sT0FBTyxzQkFBc0I7SUFPL0IsWUFBb0IsS0FBcUIsRUFBUyxVQUE2QixFQUFTLGlCQUFnRDtRQUFwSCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUFTLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQVMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUErQjtRQUpqSSxvQkFBZSxHQUFjLGtCQUFrQixDQUFDO1FBQ2hELGtCQUFhLEdBQWMsZ0JBQWdCLENBQUM7UUFDNUMsb0JBQWUsR0FBYyxrQkFBa0IsQ0FBQztJQUVvRixDQUFDO0lBRTVJLFFBQVE7UUFDSixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFxQixDQUFDO1FBQzVELElBQUksU0FBUyxFQUFFLGVBQWUsRUFBRTtZQUM1QixJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxlQUFlLENBQUM7U0FDcEQ7UUFDRCxJQUFJLFNBQVMsRUFBRSxhQUFhLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUMsYUFBYSxDQUFDO1NBQ2hEO1FBQ0QsSUFBSSxTQUFTLEVBQUUsZUFBZSxFQUFFO1lBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDLGVBQWUsQ0FBQztTQUNwRDtRQUVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUMxRCxDQUFDO0lBR0QsY0FBYyxDQUFDLEtBQWM7UUFDekIsTUFBTSxNQUFNLEdBQVEsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxHQUFHLE1BQU0sRUFBRSxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUNoRixDQUFDOzttSEE1QlEsc0JBQXNCO3VHQUF0QixzQkFBc0Isa0lBSnBCLENBQUMsNkJBQTZCLENBQUMsd0RBSzVCLG9CQUFvQixnRENyQnRDLHM2Q0ErQkEsNENEZGMsT0FBTywrRUFBRSxTQUFTLDhDQUFFLHFCQUFxQiw2SEFBRSxJQUFJLDZGQUFFLFlBQVk7MkZBRzlELHNCQUFzQjtrQkFSbEMsU0FBUztpQ0FDTSxJQUFJLFlBQ04saUJBQWlCLGFBRWhCLENBQUMsNkJBQTZCLENBQUMsV0FDakMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsbUJBQ3ZELHVCQUF1QixDQUFDLE1BQU07aUxBR1gsU0FBUztzQkFBNUMsWUFBWTt1QkFBQyxvQkFBb0I7Z0JBd0JsQyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBc3luY1BpcGUsIE5nQ2xhc3MsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgT25Jbml0LCBRdWVyeUxpc3QsIFR5cGUsIFZpZXdDaGlsZHJlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7TW5nQ29tcG9uZW50RGlyZWN0aXZlLCBNbmdUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQge01uZ1JvdXRlckRhdGF9IGZyb20gJy4uLy4uL3JvdXRlci9tb2RlbHMnO1xuaW1wb3J0IHtNbmdDb21tb25zU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtNbmdGb290ZXJDb21wb25lbnR9IGZyb20gJy4vZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge01uZ01lbnVDb21wb25lbnR9IGZyb20gJy4vbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHtNbmdNYWluTGF5b3V0Q29tcG9uZW50U2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5pbXBvcnQge01uZ1RvcGJhckNvbXBvbmVudH0gZnJvbSAnLi90b3BiYXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ21uZy1tYWluLWxheW91dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21haW4tbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtNbmdNYWluTGF5b3V0Q29tcG9uZW50U2VydmljZV0sXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIEFzeW5jUGlwZSwgTW5nQ29tcG9uZW50RGlyZWN0aXZlLCBOZ0lmLCBSb3V0ZXJPdXRsZXRdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1uZ01haW5MYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGRyZW4oTW5nVGVtcGxhdGVEaXJlY3RpdmUpIHRlbXBsYXRlcyE6IFF1ZXJ5TGlzdDxNbmdUZW1wbGF0ZURpcmVjdGl2ZT47XG5cbiAgICBwdWJsaWMgdG9wYmFyQ29tcG9uZW50OiBUeXBlPGFueT4gPSBNbmdUb3BiYXJDb21wb25lbnQ7XG4gICAgcHVibGljIG1lbnVDb21wb25lbnQ6IFR5cGU8YW55PiA9IE1uZ01lbnVDb21wb25lbnQ7XG4gICAgcHVibGljIGZvb3RlckNvbXBvbmVudDogVHlwZTxhbnk+ID0gTW5nRm9vdGVyQ29tcG9uZW50O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHB1YmxpYyBtbmdDb21tb25zOiBNbmdDb21tb25zU2VydmljZSwgcHVibGljIG1haW5MYXlvdXRTZXJ2aWNlOiBNbmdNYWluTGF5b3V0Q29tcG9uZW50U2VydmljZSkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCByb3V0ZURhdGEgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEgYXMgTW5nUm91dGVyRGF0YTtcbiAgICAgICAgaWYgKHJvdXRlRGF0YT8udG9wYmFyQ29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLnRvcGJhckNvbXBvbmVudCA9IHJvdXRlRGF0YS50b3BiYXJDb21wb25lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJvdXRlRGF0YT8ubWVudUNvbXBvbmVudCkge1xuICAgICAgICAgICAgdGhpcy5tZW51Q29tcG9uZW50ID0gcm91dGVEYXRhLm1lbnVDb21wb25lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJvdXRlRGF0YT8uZm9vdGVyQ29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLmZvb3RlckNvbXBvbmVudCA9IHJvdXRlRGF0YS5mb290ZXJDb21wb25lbnQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1haW5MYXlvdXRTZXJ2aWNlLmlubmVyV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgICBvbldpbmRvd1Jlc2l6ZShldmVudDogVUlFdmVudCkge1xuICAgICAgICBjb25zdCB0YXJnZXQ6IGFueSA9IGV2ZW50LnRhcmdldDtcbiAgICAgICAgdGhpcy5tYWluTGF5b3V0U2VydmljZS5pbm5lcldpZHRoID0gdGFyZ2V0Py5pbm5lcldpZHRoID8/IHdpbmRvdy5pbm5lcldpZHRoO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImxheW91dC13cmFwcGVyXCJcbiAgICAoY2xpY2spPVwibWFpbkxheW91dFNlcnZpY2Uub25MYXlvdXRDbGljaygpXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdsYXlvdXQtc3RhdGljJzogbW5nQ29tbW9ucy5tZW51TW9kZUlzU3RhdGljJCB8IGFzeW5jLFxuICAgICAgICAnbGF5b3V0LW92ZXJsYXknOiBtbmdDb21tb25zLm1lbnVNb2RlSXNPdmVybGF5JCB8IGFzeW5jLFxuICAgICAgICAnbGF5b3V0LXNsaW0nOiBtbmdDb21tb25zLm1lbnVNb2RlSXNTbGltJCB8IGFzeW5jLFxuICAgICAgICAnbGF5b3V0LXNpZGViYXInOiBtbmdDb21tb25zLm1lbnVNb2RlSXNTaWRlYmFyJCB8IGFzeW5jLFxuICAgICAgICAnbGF5b3V0LXNpZGViYXItc3RhdGljJzogKG1uZ0NvbW1vbnMubWVudU1vZGVJc1NpZGViYXIkIHwgYXN5bmMpICYmIChtYWluTGF5b3V0U2VydmljZS5zaWRlYmFyU3RhdGljJCB8IGFzeW5jKSxcbiAgICAgICAgJ2xheW91dC1vdmVybGF5LWFjdGl2ZSc6IG1haW5MYXlvdXRTZXJ2aWNlLm92ZXJsYXlNZW51QWN0aXZlJCB8IGFzeW5jLFxuICAgICAgICAnbGF5b3V0LW1vYmlsZS1hY3RpdmUnOiBtYWluTGF5b3V0U2VydmljZS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlJCB8IGFzeW5jLFxuICAgICAgICAnbGF5b3V0LXN0YXRpYy1pbmFjdGl2ZSc6IChtYWluTGF5b3V0U2VydmljZS5zdGF0aWNNZW51RGVza3RvcEluYWN0aXZlJCB8IGFzeW5jKSAmJiAobW5nQ29tbW9ucy5tZW51TW9kZUlzU3RhdGljJCB8IGFzeW5jKVxuICAgIH1cIj5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LW1haW5cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbW5nQ29tcG9uZW50XT1cInRvcGJhckNvbXBvbmVudFwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgKG1haW5MYXlvdXRTZXJ2aWNlLmlzTW9iaWxlJCB8IGFzeW5jKSA9PT0gZmFsc2UgJiZcbiAgICAgICAgICAgICAgICAoKG1uZ0NvbW1vbnMubWVudU1vZGVJc1N0YXRpYyQgfCBhc3luYykgfHwgKG1uZ0NvbW1vbnMubWVudU1vZGVJc1NsaW0kIHwgYXN5bmMpIHx8IChtbmdDb21tb25zLm1lbnVNb2RlSXNTaWRlYmFyJCB8IGFzeW5jKSlcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbbW5nQ29tcG9uZW50XT1cIm1lbnVDb21wb25lbnRcIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1tYWluLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbW5nQ29tcG9uZW50XT1cImZvb3RlckNvbXBvbmVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=