@mediusinc/mng-commons 0.10.3-rc → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) 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 +17 -17
  9. package/esm2020/lib/api/models/serialization.model.mjs +1 -1
  10. package/esm2020/lib/api/services/api.abstract.service.mjs +55 -55
  11. package/esm2020/lib/api/services/crud-api.abstract.service.mjs +67 -67
  12. package/esm2020/lib/api/services/get-all-api.abstract.service.mjs +22 -22
  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 +151 -151
  16. package/esm2020/lib/api/utils/object-serializer.util.mjs +243 -243
  17. package/esm2020/lib/components/action/action.component.mjs +199 -199
  18. package/esm2020/lib/components/action/editor/action-editor.component.mjs +247 -247
  19. package/esm2020/lib/components/action/index.mjs +3 -3
  20. package/esm2020/lib/components/action/models/action-confirmation-service.model.mjs +1 -1
  21. package/esm2020/lib/components/action/models/action-execution.model.mjs +235 -235
  22. package/esm2020/lib/components/action/models/index.mjs +2 -2
  23. package/esm2020/lib/components/action/route/action-route.component.mjs +124 -124
  24. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +277 -277
  25. package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +168 -168
  26. package/esm2020/lib/components/form/editor/form-editor.component.mjs +212 -212
  27. package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +48 -48
  28. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +43 -43
  29. package/esm2020/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +25 -25
  30. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +102 -102
  31. package/esm2020/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.mjs +22 -22
  32. package/esm2020/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +179 -179
  33. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +173 -173
  34. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +150 -155
  35. package/esm2020/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +17 -17
  36. package/esm2020/lib/components/form/formly/fields/index.mjs +9 -9
  37. package/esm2020/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +14 -14
  38. package/esm2020/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.mjs +14 -14
  39. package/esm2020/lib/components/form/formly/wrappers/index.mjs +2 -2
  40. package/esm2020/lib/components/form/index.mjs +3 -3
  41. package/esm2020/lib/components/form/models/form-editor.event.mjs +33 -33
  42. package/esm2020/lib/components/form/models/index.mjs +1 -1
  43. package/esm2020/lib/components/layout/breadcrumb.component.mjs +16 -16
  44. package/esm2020/lib/components/layout/footer.component.mjs +16 -16
  45. package/esm2020/lib/components/layout/index.mjs +7 -7
  46. package/esm2020/lib/components/layout/main-layout.component.mjs +51 -51
  47. package/esm2020/lib/components/layout/menu-item.component.mjs +238 -238
  48. package/esm2020/lib/components/layout/menu.component.mjs +20 -20
  49. package/esm2020/lib/components/layout/services/index.mjs +1 -1
  50. package/esm2020/lib/components/layout/services/main-layout.component.service.mjs +192 -192
  51. package/esm2020/lib/components/layout/topbar.component.mjs +57 -57
  52. package/esm2020/lib/components/layout/version.component.mjs +57 -57
  53. package/esm2020/lib/components/tableview/index.mjs +6 -6
  54. package/esm2020/lib/components/tableview/models/index.mjs +1 -1
  55. package/esm2020/lib/components/tableview/models/table.event.mjs +15 -15
  56. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +57 -57
  57. package/esm2020/lib/components/tableview/route/tableview-route.component.mjs +60 -60
  58. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +101 -101
  59. package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +70 -70
  60. package/esm2020/lib/components/tableview/table/table.component.mjs +497 -497
  61. package/esm2020/lib/components/tableview/tableview.component.mjs +91 -91
  62. package/esm2020/lib/config/formly.config.mjs +181 -181
  63. package/esm2020/lib/config/index.mjs +1 -1
  64. package/esm2020/lib/config/models/index.mjs +3 -2
  65. package/esm2020/lib/config/models/mng-config.model.mjs +1 -1
  66. package/esm2020/lib/config/models/mng-formly-config-model.mjs +2 -0
  67. package/esm2020/lib/data-providers/base.data-provider.mjs +16 -16
  68. package/esm2020/lib/data-providers/editor.data-provider.mjs +36 -36
  69. package/esm2020/lib/data-providers/index.mjs +5 -5
  70. package/esm2020/lib/data-providers/lookup.data-provider.mjs +15 -15
  71. package/esm2020/lib/data-providers/table.data-provider.mjs +16 -16
  72. package/esm2020/lib/data-providers/tableview.data-provider.mjs +16 -16
  73. package/esm2020/lib/descriptors/action.descriptor.mjs +587 -587
  74. package/esm2020/lib/descriptors/column.descriptor.mjs +264 -264
  75. package/esm2020/lib/descriptors/editor.descriptor.mjs +146 -146
  76. package/esm2020/lib/descriptors/field-validation.descriptor.mjs +20 -20
  77. package/esm2020/lib/descriptors/field.descriptor.mjs +819 -819
  78. package/esm2020/lib/descriptors/filter.descriptor.mjs +288 -288
  79. package/esm2020/lib/descriptors/index.mjs +9 -9
  80. package/esm2020/lib/descriptors/interfaces/field-config.interface.mjs +1 -1
  81. package/esm2020/lib/descriptors/interfaces/index.mjs +2 -2
  82. package/esm2020/lib/descriptors/interfaces/lookup-descriptor.interface.mjs +1 -1
  83. package/esm2020/lib/descriptors/model.descriptor.mjs +33 -33
  84. package/esm2020/lib/descriptors/table.descriptor.mjs +197 -197
  85. package/esm2020/lib/descriptors/tableview.descriptor.mjs +134 -134
  86. package/esm2020/lib/descriptors/types/action.type.mjs +52 -52
  87. package/esm2020/lib/descriptors/types/column.type.mjs +10 -10
  88. package/esm2020/lib/descriptors/types/editor.type.mjs +7 -7
  89. package/esm2020/lib/descriptors/types/field.type.mjs +52 -52
  90. package/esm2020/lib/descriptors/types/filter.type.mjs +30 -30
  91. package/esm2020/lib/descriptors/types/index.mjs +6 -6
  92. package/esm2020/lib/descriptors/types/table.type.mjs +16 -16
  93. package/esm2020/lib/directives/component.directive.mjs +43 -43
  94. package/esm2020/lib/directives/index.mjs +2 -2
  95. package/esm2020/lib/directives/template.directive.mjs +27 -27
  96. package/esm2020/lib/mng-commons.module.mjs +441 -441
  97. package/esm2020/lib/models/column-value.model.mjs +1 -1
  98. package/esm2020/lib/models/enum.model.mjs +1 -1
  99. package/esm2020/lib/models/error.model.mjs +1 -1
  100. package/esm2020/lib/models/formly-field.model.mjs +2 -0
  101. package/esm2020/lib/models/index.mjs +9 -8
  102. package/esm2020/lib/models/menu.model.mjs +1 -1
  103. package/esm2020/lib/models/user.model.mjs +1 -1
  104. package/esm2020/lib/models/version.model.mjs +1 -1
  105. package/esm2020/lib/models/view-container.model.mjs +1 -1
  106. package/esm2020/lib/pipes/boolean.pipe.mjs +26 -26
  107. package/esm2020/lib/pipes/enum.pipe.mjs +24 -24
  108. package/esm2020/lib/pipes/i18n-property.pipe.mjs +17 -17
  109. package/esm2020/lib/pipes/index.mjs +5 -5
  110. package/esm2020/lib/pipes/json-path.pipe.mjs +79 -79
  111. package/esm2020/lib/pipes/link-formatter.pipe.mjs +38 -38
  112. package/esm2020/lib/router/index.mjs +2 -2
  113. package/esm2020/lib/router/models/index.mjs +1 -1
  114. package/esm2020/lib/router/models/router.model.mjs +1 -1
  115. package/esm2020/lib/router/route-builder.mjs +425 -425
  116. package/esm2020/lib/router/tableview-route-builder.mjs +159 -159
  117. package/esm2020/lib/security/authorization.guard.mjs +25 -25
  118. package/esm2020/lib/security/authorization.service.mjs +46 -46
  119. package/esm2020/lib/security/authorization.util.mjs +15 -15
  120. package/esm2020/lib/security/index.mjs +3 -3
  121. package/esm2020/lib/security/model/authorization.type.mjs +7 -7
  122. package/esm2020/lib/security/model/index.mjs +3 -3
  123. package/esm2020/lib/security/model/permission-service.interface.mjs +1 -1
  124. package/esm2020/lib/security/model/permissions.model.mjs +94 -94
  125. package/esm2020/lib/services/action-executor.service.mjs +535 -535
  126. package/esm2020/lib/services/commons.service.mjs +342 -342
  127. package/esm2020/lib/services/configuration.service.mjs +110 -110
  128. package/esm2020/lib/services/error-mapper.service.mjs +13 -13
  129. package/esm2020/lib/services/index.mjs +6 -6
  130. package/esm2020/lib/services/internal/commons-init.provider.mjs +3 -3
  131. package/esm2020/lib/services/internal/commons-init.service.mjs +43 -43
  132. package/esm2020/lib/services/internal/index.mjs +2 -2
  133. package/esm2020/lib/services/navigation.service.mjs +47 -47
  134. package/esm2020/lib/services/providers/config-service.provider.mjs +29 -29
  135. package/esm2020/lib/services/providers/formly-config.provider.mjs +30 -30
  136. package/esm2020/lib/services/providers/index.mjs +2 -2
  137. package/esm2020/lib/services/tokens/browser-storage.token.mjs +5 -5
  138. package/esm2020/lib/services/tokens/commons-init.token.mjs +2 -2
  139. package/esm2020/lib/services/tokens/default-setting.token.mjs +2 -2
  140. package/esm2020/lib/services/tokens/index.mjs +4 -4
  141. package/esm2020/lib/services/tokens/module-config.token.mjs +2 -2
  142. package/esm2020/lib/services/version.service.mjs +38 -38
  143. package/esm2020/lib/services/view-container.component.service.mjs +34 -34
  144. package/esm2020/lib/types/index.mjs +2 -2
  145. package/esm2020/lib/types/type.decorator.mjs +12 -12
  146. package/esm2020/lib/types/type.model.mjs +1 -1
  147. package/esm2020/lib/utils/action-data-provider.util.mjs +144 -144
  148. package/esm2020/lib/utils/editor-formly.util.mjs +251 -243
  149. package/esm2020/lib/utils/enum.util.mjs +81 -81
  150. package/esm2020/lib/utils/i18n.util.mjs +232 -232
  151. package/esm2020/lib/utils/index.mjs +7 -7
  152. package/esm2020/lib/utils/model.util.mjs +59 -59
  153. package/esm2020/lib/utils/notification.util.mjs +45 -45
  154. package/esm2020/lib/utils/route.util.mjs +23 -23
  155. package/esm2020/lib/utils/styles.util.mjs +40 -40
  156. package/esm2020/lib/utils/type.util.mjs +76 -76
  157. package/esm2020/mediusinc-mng-commons.mjs +4 -4
  158. package/esm2020/public-api.mjs +51 -51
  159. package/fesm2015/mediusinc-mng-commons.mjs +10636 -10637
  160. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  161. package/fesm2020/mediusinc-mng-commons.mjs +10489 -10486
  162. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  163. package/lib/api/models/builders/query-param.builder.d.ts +13 -13
  164. package/lib/api/models/filter-match-type.model.d.ts +23 -23
  165. package/lib/api/models/filter-param.model.d.ts +23 -23
  166. package/lib/api/models/index.d.ts +8 -8
  167. package/lib/api/models/mappers.d.ts +6 -6
  168. package/lib/api/models/query-mode.model.d.ts +16 -16
  169. package/lib/api/models/query-param.model.d.ts +31 -31
  170. package/lib/api/models/query-result.model.d.ts +23 -23
  171. package/lib/api/models/serialization.model.d.ts +8 -8
  172. package/lib/api/services/api.abstract.service.d.ts +24 -24
  173. package/lib/api/services/crud-api.abstract.service.d.ts +22 -22
  174. package/lib/api/services/get-all-api.abstract.service.d.ts +14 -14
  175. package/lib/api/services/index.d.ts +3 -3
  176. package/lib/api/utils/index.d.ts +2 -2
  177. package/lib/api/utils/medius-rest.util.d.ts +15 -15
  178. package/lib/api/utils/object-serializer.util.d.ts +33 -33
  179. package/lib/components/action/action.component.d.ts +75 -75
  180. package/lib/components/action/editor/action-editor.component.d.ts +64 -64
  181. package/lib/components/action/index.d.ts +3 -3
  182. package/lib/components/action/models/action-confirmation-service.model.d.ts +6 -6
  183. package/lib/components/action/models/action-execution.model.d.ts +129 -129
  184. package/lib/components/action/models/index.d.ts +2 -2
  185. package/lib/components/action/route/action-route.component.d.ts +31 -31
  186. package/lib/components/form/autocomplete/autocomplete.component.d.ts +56 -56
  187. package/lib/components/form/dropdown/dropdown.component.d.ts +47 -47
  188. package/lib/components/form/editor/form-editor.component.d.ts +45 -45
  189. package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +15 -15
  190. package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +14 -14
  191. package/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +13 -13
  192. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +23 -23
  193. package/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.d.ts +10 -10
  194. package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +45 -45
  195. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +23 -23
  196. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +38 -38
  197. package/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +6 -6
  198. package/lib/components/form/formly/fields/index.d.ts +9 -9
  199. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +6 -6
  200. package/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.d.ts +6 -6
  201. package/lib/components/form/formly/wrappers/index.d.ts +2 -2
  202. package/lib/components/form/index.d.ts +3 -3
  203. package/lib/components/form/models/form-editor.event.d.ts +37 -37
  204. package/lib/components/form/models/index.d.ts +1 -1
  205. package/lib/components/layout/breadcrumb.component.d.ts +8 -8
  206. package/lib/components/layout/footer.component.d.ts +9 -9
  207. package/lib/components/layout/index.d.ts +7 -7
  208. package/lib/components/layout/main-layout.component.d.ts +20 -20
  209. package/lib/components/layout/menu-item.component.d.ts +44 -44
  210. package/lib/components/layout/menu.component.d.ts +10 -10
  211. package/lib/components/layout/services/index.d.ts +1 -1
  212. package/lib/components/layout/services/main-layout.component.service.d.ts +65 -65
  213. package/lib/components/layout/topbar.component.d.ts +24 -24
  214. package/lib/components/layout/version.component.d.ts +19 -19
  215. package/lib/components/tableview/index.d.ts +6 -6
  216. package/lib/components/tableview/models/index.d.ts +1 -1
  217. package/lib/components/tableview/models/table.event.d.ts +17 -17
  218. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +20 -20
  219. package/lib/components/tableview/route/tableview-route.component.d.ts +23 -23
  220. package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +32 -32
  221. package/lib/components/tableview/table/column-value/column-value.component.d.ts +29 -29
  222. package/lib/components/tableview/table/table.component.d.ts +108 -108
  223. package/lib/components/tableview/tableview.component.d.ts +41 -41
  224. package/lib/config/formly.config.d.ts +16 -15
  225. package/lib/config/index.d.ts +1 -1
  226. package/lib/config/models/index.d.ts +2 -1
  227. package/lib/config/models/mng-config.model.d.ts +36 -36
  228. package/lib/config/models/mng-formly-config-model.d.ts +17 -0
  229. package/lib/data-providers/base.data-provider.d.ts +14 -14
  230. package/lib/data-providers/editor.data-provider.d.ts +25 -25
  231. package/lib/data-providers/index.d.ts +5 -5
  232. package/lib/data-providers/lookup.data-provider.d.ts +14 -14
  233. package/lib/data-providers/table.data-provider.d.ts +14 -14
  234. package/lib/data-providers/tableview.data-provider.d.ts +15 -15
  235. package/lib/descriptors/action.descriptor.d.ts +234 -234
  236. package/lib/descriptors/column.descriptor.d.ts +82 -82
  237. package/lib/descriptors/editor.descriptor.d.ts +37 -37
  238. package/lib/descriptors/field-validation.descriptor.d.ts +18 -18
  239. package/lib/descriptors/field.descriptor.d.ts +300 -294
  240. package/lib/descriptors/filter.descriptor.d.ts +106 -106
  241. package/lib/descriptors/index.d.ts +9 -9
  242. package/lib/descriptors/interfaces/field-config.interface.d.ts +9 -9
  243. package/lib/descriptors/interfaces/index.d.ts +2 -2
  244. package/lib/descriptors/interfaces/lookup-descriptor.interface.d.ts +17 -17
  245. package/lib/descriptors/model.descriptor.d.ts +15 -15
  246. package/lib/descriptors/table.descriptor.d.ts +66 -66
  247. package/lib/descriptors/tableview.descriptor.d.ts +42 -42
  248. package/lib/descriptors/types/action.type.d.ts +45 -45
  249. package/lib/descriptors/types/column.type.d.ts +9 -9
  250. package/lib/descriptors/types/editor.type.d.ts +6 -6
  251. package/lib/descriptors/types/field.type.d.ts +44 -44
  252. package/lib/descriptors/types/filter.type.d.ts +27 -27
  253. package/lib/descriptors/types/index.d.ts +6 -6
  254. package/lib/descriptors/types/table.type.d.ts +13 -13
  255. package/lib/directives/component.directive.d.ts +16 -16
  256. package/lib/directives/index.d.ts +2 -2
  257. package/lib/directives/template.directive.d.ts +13 -13
  258. package/lib/mng-commons.module.d.ts +87 -87
  259. package/lib/models/column-value.model.d.ts +4 -4
  260. package/lib/models/enum.model.d.ts +6 -6
  261. package/lib/models/error.model.d.ts +14 -14
  262. package/lib/models/formly-field.model.d.ts +16 -0
  263. package/lib/models/index.d.ts +8 -7
  264. package/lib/models/menu.model.d.ts +27 -27
  265. package/lib/models/user.model.d.ts +8 -8
  266. package/lib/models/version.model.d.ts +18 -18
  267. package/lib/models/view-container.model.d.ts +6 -6
  268. package/lib/pipes/boolean.pipe.d.ts +7 -7
  269. package/lib/pipes/enum.pipe.d.ts +8 -8
  270. package/lib/pipes/i18n-property.pipe.d.ts +8 -8
  271. package/lib/pipes/index.d.ts +5 -5
  272. package/lib/pipes/json-path.pipe.d.ts +13 -13
  273. package/lib/pipes/link-formatter.pipe.d.ts +11 -11
  274. package/lib/router/index.d.ts +2 -2
  275. package/lib/router/models/index.d.ts +1 -1
  276. package/lib/router/models/router.model.d.ts +27 -27
  277. package/lib/router/route-builder.d.ts +98 -98
  278. package/lib/router/tableview-route-builder.d.ts +34 -34
  279. package/lib/security/authorization.guard.d.ts +11 -11
  280. package/lib/security/authorization.service.d.ts +19 -19
  281. package/lib/security/authorization.util.d.ts +5 -5
  282. package/lib/security/index.d.ts +3 -3
  283. package/lib/security/model/authorization.type.d.ts +6 -6
  284. package/lib/security/model/index.d.ts +3 -3
  285. package/lib/security/model/permission-service.interface.d.ts +6 -6
  286. package/lib/security/model/permissions.model.d.ts +44 -44
  287. package/lib/services/action-executor.service.d.ts +149 -149
  288. package/lib/services/commons.service.d.ts +78 -78
  289. package/lib/services/configuration.service.d.ts +36 -36
  290. package/lib/services/error-mapper.service.d.ts +7 -7
  291. package/lib/services/index.d.ts +6 -6
  292. package/lib/services/internal/commons-init.provider.d.ts +3 -3
  293. package/lib/services/internal/commons-init.service.d.ts +16 -16
  294. package/lib/services/internal/index.d.ts +2 -2
  295. package/lib/services/navigation.service.d.ts +14 -14
  296. package/lib/services/providers/config-service.provider.d.ts +6 -6
  297. package/lib/services/providers/formly-config.provider.d.ts +4 -4
  298. package/lib/services/providers/index.d.ts +2 -2
  299. package/lib/services/tokens/browser-storage.token.d.ts +2 -2
  300. package/lib/services/tokens/commons-init.token.d.ts +3 -3
  301. package/lib/services/tokens/default-setting.token.d.ts +2 -2
  302. package/lib/services/tokens/index.d.ts +4 -4
  303. package/lib/services/tokens/module-config.token.d.ts +3 -3
  304. package/lib/services/version.service.d.ts +13 -13
  305. package/lib/services/view-container.component.service.d.ts +22 -22
  306. package/lib/types/index.d.ts +2 -2
  307. package/lib/types/type.decorator.d.ts +4 -4
  308. package/lib/types/type.model.d.ts +23 -23
  309. package/lib/utils/action-data-provider.util.d.ts +20 -20
  310. package/lib/utils/editor-formly.util.d.ts +11 -11
  311. package/lib/utils/enum.util.d.ts +50 -50
  312. package/lib/utils/i18n.util.d.ts +56 -56
  313. package/lib/utils/index.d.ts +7 -7
  314. package/lib/utils/model.util.d.ts +8 -8
  315. package/lib/utils/notification.util.d.ts +11 -11
  316. package/lib/utils/route.util.d.ts +4 -4
  317. package/lib/utils/styles.util.d.ts +14 -14
  318. package/lib/utils/type.util.d.ts +36 -36
  319. package/mediusinc-mng-commons.d.ts +5 -5
  320. package/package.json +2 -2
  321. package/public-api.d.ts +32 -32
  322. package/version-info.json +6 -6
  323. package/mediusinc-mng-commons-0.10.3-rc.tgz +0 -0
@@ -1,21 +1,21 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../services";
4
- import * as i2 from "./services";
5
- import * as i3 from "./menu-item.component";
6
- import * as i4 from "./version.component";
7
- import * as i5 from "@angular/common";
8
- import * as i6 from "@angular/router";
9
- export class MngMenuComponent {
10
- constructor(mngCommons, mainLayoutService) {
11
- this.mngCommons = mngCommons;
12
- this.mainLayoutService = mainLayoutService;
13
- }
14
- }
15
- MngMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngMenuComponent, deps: [{ token: i1.MngCommonsService }, { token: i2.MngMainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
16
- MngMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: MngMenuComponent, selector: "mng-menu", ngImport: i0, template: "<div\n class=\"layout-menu-wrapper\"\n [ngClass]=\"{'layout-sidebar-active': (mainLayoutService.sidebarActive$ | async)}\"\n (click)=\"mainLayoutService.onSidebarClick($event)\"\n (mouseover)=\"mainLayoutService.onSidebarMouseOver($event)\"\n (mouseleave)=\"mainLayoutService.onSidebarMouseLeave($event)\">\n <div class=\"menu-logo\">\n <a routerLink=\"/\" class=\"logo\">\n <img [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoDark : mngCommons.appLogoLight\" />\n </a>\n\n <a routerLink=\"/\" class=\"app-name\" *ngIf=\"(mngCommons.menuModeIsSlim$ | async) === false || (mainLayoutService.isMobile$ | async)\">\n <img [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoNameDark : mngCommons.appLogoNameLight\" />\n </a>\n <a *ngIf=\"mngCommons.menuPinEnabled\" class=\"menu-pin\" (click)=\"mainLayoutService.onToggleMenu($event)\">\n <span *ngIf=\"mngCommons.menuModeIsOverlay$ | async\" class=\"pi pi-times\"></span>\n <span\n *ngIf=\"(mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async) === false && (mainLayoutService.pinActive$ | async)\"\n class=\"pi pi-unlock\"></span>\n <span *ngIf=\"(mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async) && (mainLayoutService.pinActive$ | async)\" class=\"pi pi-lock\"></span>\n </a>\n </div>\n\n <div class=\"layout-menu-container\">\n <ul class=\"layout-menu\">\n <ng-container *ngFor=\"let item of mngCommons.menuItems; let i = index\">\n <li mng-menuitem *ngIf=\"!item.separator\" [item]=\"item\" [index]=\"i\" [root]=\"true\"></li>\n <li *ngIf=\"item.separator\" class=\"menu-separator\"></li>\n </ng-container>\n </ul>\n </div>\n\n <div class=\"menu-version\">\n <mng-version [version]=\"mngCommons.appVersion\"></mng-version>\n </div>\n</div>\n", components: [{ type: i3.MngMenuItemComponent, selector: "[mng-menuitem]", inputs: ["item", "index", "root", "parentKey"] }, { type: i4.MngVersionComponent, selector: "mng-version", inputs: ["version"] }], directives: [{ type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngMenuComponent, decorators: [{
18
- type: Component,
19
- args: [{ selector: 'mng-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"layout-menu-wrapper\"\n [ngClass]=\"{'layout-sidebar-active': (mainLayoutService.sidebarActive$ | async)}\"\n (click)=\"mainLayoutService.onSidebarClick($event)\"\n (mouseover)=\"mainLayoutService.onSidebarMouseOver($event)\"\n (mouseleave)=\"mainLayoutService.onSidebarMouseLeave($event)\">\n <div class=\"menu-logo\">\n <a routerLink=\"/\" class=\"logo\">\n <img [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoDark : mngCommons.appLogoLight\" />\n </a>\n\n <a routerLink=\"/\" class=\"app-name\" *ngIf=\"(mngCommons.menuModeIsSlim$ | async) === false || (mainLayoutService.isMobile$ | async)\">\n <img [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoNameDark : mngCommons.appLogoNameLight\" />\n </a>\n <a *ngIf=\"mngCommons.menuPinEnabled\" class=\"menu-pin\" (click)=\"mainLayoutService.onToggleMenu($event)\">\n <span *ngIf=\"mngCommons.menuModeIsOverlay$ | async\" class=\"pi pi-times\"></span>\n <span\n *ngIf=\"(mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async) === false && (mainLayoutService.pinActive$ | async)\"\n class=\"pi pi-unlock\"></span>\n <span *ngIf=\"(mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async) && (mainLayoutService.pinActive$ | async)\" class=\"pi pi-lock\"></span>\n </a>\n </div>\n\n <div class=\"layout-menu-container\">\n <ul class=\"layout-menu\">\n <ng-container *ngFor=\"let item of mngCommons.menuItems; let i = index\">\n <li mng-menuitem *ngIf=\"!item.separator\" [item]=\"item\" [index]=\"i\" [root]=\"true\"></li>\n <li *ngIf=\"item.separator\" class=\"menu-separator\"></li>\n </ng-container>\n </ul>\n </div>\n\n <div class=\"menu-version\">\n <mng-version [version]=\"mngCommons.appVersion\"></mng-version>\n </div>\n</div>\n" }]
20
- }], ctorParameters: function () { return [{ type: i1.MngCommonsService }, { type: i2.MngMainLayoutComponentService }]; } });
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../services";
4
+ import * as i2 from "./services";
5
+ import * as i3 from "./menu-item.component";
6
+ import * as i4 from "./version.component";
7
+ import * as i5 from "@angular/common";
8
+ import * as i6 from "@angular/router";
9
+ export class MngMenuComponent {
10
+ constructor(mngCommons, mainLayoutService) {
11
+ this.mngCommons = mngCommons;
12
+ this.mainLayoutService = mainLayoutService;
13
+ }
14
+ }
15
+ MngMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngMenuComponent, deps: [{ token: i1.MngCommonsService }, { token: i2.MngMainLayoutComponentService }], target: i0.ɵɵFactoryTarget.Component });
16
+ MngMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: MngMenuComponent, selector: "mng-menu", ngImport: i0, template: "<div\n class=\"layout-menu-wrapper\"\n [ngClass]=\"{'layout-sidebar-active': (mainLayoutService.sidebarActive$ | async)}\"\n (click)=\"mainLayoutService.onSidebarClick($event)\"\n (mouseover)=\"mainLayoutService.onSidebarMouseOver($event)\"\n (mouseleave)=\"mainLayoutService.onSidebarMouseLeave($event)\">\n <div class=\"menu-logo\">\n <a routerLink=\"/\" class=\"logo\">\n <img [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoDark : mngCommons.appLogoLight\" />\n </a>\n\n <a routerLink=\"/\" class=\"app-name\" *ngIf=\"(mngCommons.menuModeIsSlim$ | async) === false || (mainLayoutService.isMobile$ | async)\">\n <img [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoNameDark : mngCommons.appLogoNameLight\" />\n </a>\n <a *ngIf=\"mngCommons.menuPinEnabled\" class=\"menu-pin\" (click)=\"mainLayoutService.onToggleMenu($event)\">\n <span *ngIf=\"mngCommons.menuModeIsOverlay$ | async\" class=\"pi pi-times\"></span>\n <span\n *ngIf=\"(mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async) === false && (mainLayoutService.pinActive$ | async)\"\n class=\"pi pi-unlock\"></span>\n <span *ngIf=\"(mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async) && (mainLayoutService.pinActive$ | async)\" class=\"pi pi-lock\"></span>\n </a>\n </div>\n\n <div class=\"layout-menu-container\">\n <ul class=\"layout-menu\">\n <ng-container *ngFor=\"let item of mngCommons.menuItems; let i = index\">\n <li mng-menuitem *ngIf=\"!item.separator\" [item]=\"item\" [index]=\"i\" [root]=\"true\"></li>\n <li *ngIf=\"item.separator\" class=\"menu-separator\"></li>\n </ng-container>\n </ul>\n </div>\n\n <div class=\"menu-version\">\n <mng-version [version]=\"mngCommons.appVersion\"></mng-version>\n </div>\n</div>\n", components: [{ type: i3.MngMenuItemComponent, selector: "[mng-menuitem]", inputs: ["item", "index", "root", "parentKey"] }, { type: i4.MngVersionComponent, selector: "mng-version", inputs: ["version"] }], directives: [{ type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngMenuComponent, decorators: [{
18
+ type: Component,
19
+ args: [{ selector: 'mng-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"layout-menu-wrapper\"\n [ngClass]=\"{'layout-sidebar-active': (mainLayoutService.sidebarActive$ | async)}\"\n (click)=\"mainLayoutService.onSidebarClick($event)\"\n (mouseover)=\"mainLayoutService.onSidebarMouseOver($event)\"\n (mouseleave)=\"mainLayoutService.onSidebarMouseLeave($event)\">\n <div class=\"menu-logo\">\n <a routerLink=\"/\" class=\"logo\">\n <img [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoDark : mngCommons.appLogoLight\" />\n </a>\n\n <a routerLink=\"/\" class=\"app-name\" *ngIf=\"(mngCommons.menuModeIsSlim$ | async) === false || (mainLayoutService.isMobile$ | async)\">\n <img [src]=\"mngCommons.colorSchemeIsLight ? mngCommons.appLogoNameDark : mngCommons.appLogoNameLight\" />\n </a>\n <a *ngIf=\"mngCommons.menuPinEnabled\" class=\"menu-pin\" (click)=\"mainLayoutService.onToggleMenu($event)\">\n <span *ngIf=\"mngCommons.menuModeIsOverlay$ | async\" class=\"pi pi-times\"></span>\n <span\n *ngIf=\"(mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async) === false && (mainLayoutService.pinActive$ | async)\"\n class=\"pi pi-unlock\"></span>\n <span *ngIf=\"(mngCommons.menuModeIsSidebar$ | async) && (mainLayoutService.sidebarStatic$ | async) && (mainLayoutService.pinActive$ | async)\" class=\"pi pi-lock\"></span>\n </a>\n </div>\n\n <div class=\"layout-menu-container\">\n <ul class=\"layout-menu\">\n <ng-container *ngFor=\"let item of mngCommons.menuItems; let i = index\">\n <li mng-menuitem *ngIf=\"!item.separator\" [item]=\"item\" [index]=\"i\" [root]=\"true\"></li>\n <li *ngIf=\"item.separator\" class=\"menu-separator\"></li>\n </ng-container>\n </ul>\n </div>\n\n <div class=\"menu-version\">\n <mng-version [version]=\"mngCommons.appVersion\"></mng-version>\n </div>\n</div>\n" }]
20
+ }], ctorParameters: function () { return [{ type: i1.MngCommonsService }, { type: i2.MngMainLayoutComponentService }]; } });
21
21
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBVWpFLE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsWUFBbUIsVUFBNkIsRUFBUyxpQkFBZ0Q7UUFBdEYsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFBUyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQStCO0lBQUcsQ0FBQzs7NkdBRHBHLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLGdEQ1Y3Qiw0OURBb0NBOzJGRDFCYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0ksVUFBVSxtQkFFSCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtNbmdDb21tb25zU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtNbmdNYWluTGF5b3V0Q29tcG9uZW50U2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLW1lbnUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNbmdNZW51Q29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgbW5nQ29tbW9uczogTW5nQ29tbW9uc1NlcnZpY2UsIHB1YmxpYyBtYWluTGF5b3V0U2VydmljZTogTW5nTWFpbkxheW91dENvbXBvbmVudFNlcnZpY2UpIHt9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJsYXlvdXQtbWVudS13cmFwcGVyXCJcbiAgICBbbmdDbGFzc109XCJ7J2xheW91dC1zaWRlYmFyLWFjdGl2ZSc6IChtYWluTGF5b3V0U2VydmljZS5zaWRlYmFyQWN0aXZlJCB8IGFzeW5jKX1cIlxuICAgIChjbGljayk9XCJtYWluTGF5b3V0U2VydmljZS5vblNpZGViYXJDbGljaygkZXZlbnQpXCJcbiAgICAobW91c2VvdmVyKT1cIm1haW5MYXlvdXRTZXJ2aWNlLm9uU2lkZWJhck1vdXNlT3ZlcigkZXZlbnQpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJtYWluTGF5b3V0U2VydmljZS5vblNpZGViYXJNb3VzZUxlYXZlKCRldmVudClcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWVudS1sb2dvXCI+XG4gICAgICAgIDxhIHJvdXRlckxpbms9XCIvXCIgY2xhc3M9XCJsb2dvXCI+XG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwibW5nQ29tbW9ucy5jb2xvclNjaGVtZUlzTGlnaHQgPyBtbmdDb21tb25zLmFwcExvZ29EYXJrIDogbW5nQ29tbW9ucy5hcHBMb2dvTGlnaHRcIiAvPlxuICAgICAgICA8L2E+XG5cbiAgICAgICAgPGEgcm91dGVyTGluaz1cIi9cIiBjbGFzcz1cImFwcC1uYW1lXCIgKm5nSWY9XCIobW5nQ29tbW9ucy5tZW51TW9kZUlzU2xpbSQgfCBhc3luYykgPT09IGZhbHNlIHx8IChtYWluTGF5b3V0U2VydmljZS5pc01vYmlsZSQgfCBhc3luYylcIj5cbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJtbmdDb21tb25zLmNvbG9yU2NoZW1lSXNMaWdodCA/IG1uZ0NvbW1vbnMuYXBwTG9nb05hbWVEYXJrIDogbW5nQ29tbW9ucy5hcHBMb2dvTmFtZUxpZ2h0XCIgLz5cbiAgICAgICAgPC9hPlxuICAgICAgICA8YSAqbmdJZj1cIm1uZ0NvbW1vbnMubWVudVBpbkVuYWJsZWRcIiBjbGFzcz1cIm1lbnUtcGluXCIgKGNsaWNrKT1cIm1haW5MYXlvdXRTZXJ2aWNlLm9uVG9nZ2xlTWVudSgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1uZ0NvbW1vbnMubWVudU1vZGVJc092ZXJsYXkkIHwgYXN5bmNcIiBjbGFzcz1cInBpIHBpLXRpbWVzXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAqbmdJZj1cIihtbmdDb21tb25zLm1lbnVNb2RlSXNTaWRlYmFyJCB8IGFzeW5jKSAmJiAobWFpbkxheW91dFNlcnZpY2Uuc2lkZWJhclN0YXRpYyQgfCBhc3luYykgPT09IGZhbHNlICYmIChtYWluTGF5b3V0U2VydmljZS5waW5BY3RpdmUkIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBpIHBpLXVubG9ja1wiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiKG1uZ0NvbW1vbnMubWVudU1vZGVJc1NpZGViYXIkIHwgYXN5bmMpICYmIChtYWluTGF5b3V0U2VydmljZS5zaWRlYmFyU3RhdGljJCB8IGFzeW5jKSAmJiAobWFpbkxheW91dFNlcnZpY2UucGluQWN0aXZlJCB8IGFzeW5jKVwiIGNsYXNzPVwicGkgcGktbG9ja1wiPjwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImxheW91dC1tZW51LWNvbnRhaW5lclwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJsYXlvdXQtbWVudVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtbmdDb21tb25zLm1lbnVJdGVtczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgIDxsaSBtbmctbWVudWl0ZW0gKm5nSWY9XCIhaXRlbS5zZXBhcmF0b3JcIiBbaXRlbV09XCJpdGVtXCIgW2luZGV4XT1cImlcIiBbcm9vdF09XCJ0cnVlXCI+PC9saT5cbiAgICAgICAgICAgICAgICA8bGkgKm5nSWY9XCJpdGVtLnNlcGFyYXRvclwiIGNsYXNzPVwibWVudS1zZXBhcmF0b3JcIj48L2xpPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWVudS12ZXJzaW9uXCI+XG4gICAgICAgIDxtbmctdmVyc2lvbiBbdmVyc2lvbl09XCJtbmdDb21tb25zLmFwcFZlcnNpb25cIj48L21uZy12ZXJzaW9uPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,2 +1,2 @@
1
- export * from './main-layout.component.service';
1
+ export * from './main-layout.component.service';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21haW4tbGF5b3V0LmNvbXBvbmVudC5zZXJ2aWNlJztcbiJdfQ==
@@ -1,193 +1,193 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import { map } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../../services";
6
- export class MngMainLayoutComponentService {
7
- constructor(mngCommons) {
8
- this.mngCommons = mngCommons;
9
- this._overlayMenuActive = false;
10
- this._overlayMenuActiveSubject = new BehaviorSubject(this._overlayMenuActive);
11
- this._staticMenuDesktopInactive = false;
12
- this._staticMenuDesktopInactiveSubject = new BehaviorSubject(this._staticMenuDesktopInactive);
13
- this._staticMenuMobileActive = false;
14
- this._staticMenuMobileActiveSubject = new BehaviorSubject(this._staticMenuMobileActive);
15
- this._sidebarActive = true;
16
- this._sidebarActiveSubject = new BehaviorSubject(this._sidebarActive);
17
- this._sidebarStatic = true;
18
- this._sidebarStaticSubject = new BehaviorSubject(this._sidebarStatic);
19
- this._menuClick = false;
20
- this._menuHoverActive = false;
21
- this._topbarItemClick = false;
22
- this._activeTopbarItem = null;
23
- this._activeTopbarItemSubject = new BehaviorSubject(this._activeTopbarItem);
24
- this._pinActive = true;
25
- this._pinActiveSubject = new BehaviorSubject(this._pinActive);
26
- this._innerWidth = 1920;
27
- this._innerWidthSubject = new BehaviorSubject(this._innerWidth);
28
- }
29
- get overlayMenuActive$() {
30
- return this._overlayMenuActiveSubject.asObservable();
31
- }
32
- set overlayMenuActive(value) {
33
- this._overlayMenuActive = value;
34
- this._overlayMenuActiveSubject.next(value);
35
- }
36
- get staticMenuDesktopInactive$() {
37
- return this._staticMenuDesktopInactiveSubject.asObservable();
38
- }
39
- set staticMenuDesktopInactive(value) {
40
- this._staticMenuDesktopInactive = value;
41
- this._staticMenuDesktopInactiveSubject.next(value);
42
- }
43
- get staticMenuMobileActive$() {
44
- return this._staticMenuMobileActiveSubject.asObservable();
45
- }
46
- set staticMenuMobileActive(value) {
47
- this._staticMenuMobileActive = value;
48
- this._staticMenuMobileActiveSubject.next(value);
49
- }
50
- get sidebarActive$() {
51
- return this._sidebarActiveSubject.asObservable();
52
- }
53
- set sidebarActive(value) {
54
- this._sidebarActive = value;
55
- this._sidebarActiveSubject.next(value);
56
- }
57
- get sidebarStatic$() {
58
- return this._sidebarStaticSubject.asObservable();
59
- }
60
- set sidebarStatic(value) {
61
- this._sidebarStatic = value;
62
- this._sidebarStaticSubject.next(value);
63
- }
64
- set menuHoverActive(value) {
65
- this._menuHoverActive = value;
66
- }
67
- set topbarItemClick(value) {
68
- this._topbarItemClick = value;
69
- }
70
- get activeTopbarItem$() {
71
- return this._activeTopbarItemSubject.asObservable();
72
- }
73
- set activeTopbarItem(value) {
74
- this._activeTopbarItem = value;
75
- this._activeTopbarItemSubject.next(value);
76
- }
77
- get pinActive$() {
78
- return this._pinActiveSubject.asObservable();
79
- }
80
- set pinActive(value) {
81
- this._pinActive = value;
82
- this._pinActiveSubject.next(value);
83
- }
84
- get isDesktop$() {
85
- return this._innerWidthSubject.asObservable().pipe(map(e => this.isWidthDesktop(e)));
86
- }
87
- get isMobile$() {
88
- return this._innerWidthSubject.asObservable().pipe(map(e => this.isWidthMobile(e)));
89
- }
90
- set innerWidth(value) {
91
- this._innerWidth = value;
92
- this._innerWidthSubject.next(value);
93
- }
94
- onLayoutClick() {
95
- if (!this._topbarItemClick) {
96
- this.activeTopbarItem = null;
97
- }
98
- if (!this._menuClick) {
99
- if (this.mngCommons.menuModeIsSlim && !this.isMobile()) {
100
- this.mngCommons.menuReset();
101
- this.menuHoverActive = false;
102
- }
103
- if (this._overlayMenuActive || this._staticMenuMobileActive) {
104
- this.overlayMenuActive = false;
105
- this.staticMenuMobileActive = false;
106
- }
107
- }
108
- this._menuClick = false;
109
- this.topbarItemClick = false;
110
- }
111
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
112
- onSidebarClick(event) {
113
- this._menuClick = true;
114
- }
115
- onToggleMenu(event) {
116
- this._menuClick = true;
117
- if (this._overlayMenuActive) {
118
- this.overlayMenuActive = false;
119
- }
120
- if (this._sidebarActive) {
121
- this.sidebarStatic = !this._sidebarStatic;
122
- }
123
- event.preventDefault();
124
- }
125
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
126
- onSidebarMouseOver(event) {
127
- if (this.mngCommons.menuModeIsSidebar && !this._sidebarStatic) {
128
- this.sidebarActive = this.isDesktop();
129
- setTimeout(() => {
130
- this.pinActive = this.isDesktop();
131
- }, 200);
132
- }
133
- }
134
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
135
- onSidebarMouseLeave(event) {
136
- if (this.mngCommons.menuModeIsSidebar && !this._sidebarStatic) {
137
- setTimeout(() => {
138
- this.sidebarActive = false;
139
- this.pinActive = false;
140
- }, 250);
141
- }
142
- }
143
- onMenuButtonClick(event) {
144
- this._menuClick = true;
145
- if (this.mngCommons.menuModeIsOverlay) {
146
- this.overlayMenuActive = !this._overlayMenuActive;
147
- }
148
- if (this.isDesktop()) {
149
- this.staticMenuDesktopInactive = !this._staticMenuDesktopInactive;
150
- }
151
- else {
152
- this.staticMenuMobileActive = !this._staticMenuMobileActive;
153
- }
154
- event.preventDefault();
155
- }
156
- onTopbarItemClick(event, item) {
157
- this._topbarItemClick = true;
158
- if (this._activeTopbarItem === item) {
159
- this.activeTopbarItem = null;
160
- }
161
- else {
162
- this.activeTopbarItem = item;
163
- }
164
- event.preventDefault();
165
- }
166
- onTopbarSubItemClick(event) {
167
- event.preventDefault();
168
- }
169
- /**
170
- * Checks if is desktop width, DO NOT use within HTML templates or within functions called by HTML templates
171
- */
172
- isDesktop() {
173
- return this.isWidthDesktop(this._innerWidth);
174
- }
175
- /**
176
- * Checks if is mobile width, DO NOT use within HTML templates or within functions called by HTML templates
177
- */
178
- isMobile() {
179
- return this.isWidthMobile(this._innerWidth);
180
- }
181
- isWidthDesktop(width) {
182
- return width > 991;
183
- }
184
- isWidthMobile(width) {
185
- return width <= 991;
186
- }
187
- }
188
- MngMainLayoutComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngMainLayoutComponentService, deps: [{ token: i1.MngCommonsService }], target: i0.ɵɵFactoryTarget.Injectable });
189
- MngMainLayoutComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngMainLayoutComponentService });
190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngMainLayoutComponentService, decorators: [{
191
- type: Injectable
192
- }], ctorParameters: function () { return [{ type: i1.MngCommonsService }]; } });
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { map } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../services";
6
+ export class MngMainLayoutComponentService {
7
+ constructor(mngCommons) {
8
+ this.mngCommons = mngCommons;
9
+ this._overlayMenuActive = false;
10
+ this._overlayMenuActiveSubject = new BehaviorSubject(this._overlayMenuActive);
11
+ this._staticMenuDesktopInactive = false;
12
+ this._staticMenuDesktopInactiveSubject = new BehaviorSubject(this._staticMenuDesktopInactive);
13
+ this._staticMenuMobileActive = false;
14
+ this._staticMenuMobileActiveSubject = new BehaviorSubject(this._staticMenuMobileActive);
15
+ this._sidebarActive = true;
16
+ this._sidebarActiveSubject = new BehaviorSubject(this._sidebarActive);
17
+ this._sidebarStatic = true;
18
+ this._sidebarStaticSubject = new BehaviorSubject(this._sidebarStatic);
19
+ this._menuClick = false;
20
+ this._menuHoverActive = false;
21
+ this._topbarItemClick = false;
22
+ this._activeTopbarItem = null;
23
+ this._activeTopbarItemSubject = new BehaviorSubject(this._activeTopbarItem);
24
+ this._pinActive = true;
25
+ this._pinActiveSubject = new BehaviorSubject(this._pinActive);
26
+ this._innerWidth = 1920;
27
+ this._innerWidthSubject = new BehaviorSubject(this._innerWidth);
28
+ }
29
+ get overlayMenuActive$() {
30
+ return this._overlayMenuActiveSubject.asObservable();
31
+ }
32
+ set overlayMenuActive(value) {
33
+ this._overlayMenuActive = value;
34
+ this._overlayMenuActiveSubject.next(value);
35
+ }
36
+ get staticMenuDesktopInactive$() {
37
+ return this._staticMenuDesktopInactiveSubject.asObservable();
38
+ }
39
+ set staticMenuDesktopInactive(value) {
40
+ this._staticMenuDesktopInactive = value;
41
+ this._staticMenuDesktopInactiveSubject.next(value);
42
+ }
43
+ get staticMenuMobileActive$() {
44
+ return this._staticMenuMobileActiveSubject.asObservable();
45
+ }
46
+ set staticMenuMobileActive(value) {
47
+ this._staticMenuMobileActive = value;
48
+ this._staticMenuMobileActiveSubject.next(value);
49
+ }
50
+ get sidebarActive$() {
51
+ return this._sidebarActiveSubject.asObservable();
52
+ }
53
+ set sidebarActive(value) {
54
+ this._sidebarActive = value;
55
+ this._sidebarActiveSubject.next(value);
56
+ }
57
+ get sidebarStatic$() {
58
+ return this._sidebarStaticSubject.asObservable();
59
+ }
60
+ set sidebarStatic(value) {
61
+ this._sidebarStatic = value;
62
+ this._sidebarStaticSubject.next(value);
63
+ }
64
+ set menuHoverActive(value) {
65
+ this._menuHoverActive = value;
66
+ }
67
+ set topbarItemClick(value) {
68
+ this._topbarItemClick = value;
69
+ }
70
+ get activeTopbarItem$() {
71
+ return this._activeTopbarItemSubject.asObservable();
72
+ }
73
+ set activeTopbarItem(value) {
74
+ this._activeTopbarItem = value;
75
+ this._activeTopbarItemSubject.next(value);
76
+ }
77
+ get pinActive$() {
78
+ return this._pinActiveSubject.asObservable();
79
+ }
80
+ set pinActive(value) {
81
+ this._pinActive = value;
82
+ this._pinActiveSubject.next(value);
83
+ }
84
+ get isDesktop$() {
85
+ return this._innerWidthSubject.asObservable().pipe(map(e => this.isWidthDesktop(e)));
86
+ }
87
+ get isMobile$() {
88
+ return this._innerWidthSubject.asObservable().pipe(map(e => this.isWidthMobile(e)));
89
+ }
90
+ set innerWidth(value) {
91
+ this._innerWidth = value;
92
+ this._innerWidthSubject.next(value);
93
+ }
94
+ onLayoutClick() {
95
+ if (!this._topbarItemClick) {
96
+ this.activeTopbarItem = null;
97
+ }
98
+ if (!this._menuClick) {
99
+ if (this.mngCommons.menuModeIsSlim && !this.isMobile()) {
100
+ this.mngCommons.menuReset();
101
+ this.menuHoverActive = false;
102
+ }
103
+ if (this._overlayMenuActive || this._staticMenuMobileActive) {
104
+ this.overlayMenuActive = false;
105
+ this.staticMenuMobileActive = false;
106
+ }
107
+ }
108
+ this._menuClick = false;
109
+ this.topbarItemClick = false;
110
+ }
111
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
112
+ onSidebarClick(event) {
113
+ this._menuClick = true;
114
+ }
115
+ onToggleMenu(event) {
116
+ this._menuClick = true;
117
+ if (this._overlayMenuActive) {
118
+ this.overlayMenuActive = false;
119
+ }
120
+ if (this._sidebarActive) {
121
+ this.sidebarStatic = !this._sidebarStatic;
122
+ }
123
+ event.preventDefault();
124
+ }
125
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
126
+ onSidebarMouseOver(event) {
127
+ if (this.mngCommons.menuModeIsSidebar && !this._sidebarStatic) {
128
+ this.sidebarActive = this.isDesktop();
129
+ setTimeout(() => {
130
+ this.pinActive = this.isDesktop();
131
+ }, 200);
132
+ }
133
+ }
134
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
135
+ onSidebarMouseLeave(event) {
136
+ if (this.mngCommons.menuModeIsSidebar && !this._sidebarStatic) {
137
+ setTimeout(() => {
138
+ this.sidebarActive = false;
139
+ this.pinActive = false;
140
+ }, 250);
141
+ }
142
+ }
143
+ onMenuButtonClick(event) {
144
+ this._menuClick = true;
145
+ if (this.mngCommons.menuModeIsOverlay) {
146
+ this.overlayMenuActive = !this._overlayMenuActive;
147
+ }
148
+ if (this.isDesktop()) {
149
+ this.staticMenuDesktopInactive = !this._staticMenuDesktopInactive;
150
+ }
151
+ else {
152
+ this.staticMenuMobileActive = !this._staticMenuMobileActive;
153
+ }
154
+ event.preventDefault();
155
+ }
156
+ onTopbarItemClick(event, item) {
157
+ this._topbarItemClick = true;
158
+ if (this._activeTopbarItem === item) {
159
+ this.activeTopbarItem = null;
160
+ }
161
+ else {
162
+ this.activeTopbarItem = item;
163
+ }
164
+ event.preventDefault();
165
+ }
166
+ onTopbarSubItemClick(event) {
167
+ event.preventDefault();
168
+ }
169
+ /**
170
+ * Checks if is desktop width, DO NOT use within HTML templates or within functions called by HTML templates
171
+ */
172
+ isDesktop() {
173
+ return this.isWidthDesktop(this._innerWidth);
174
+ }
175
+ /**
176
+ * Checks if is mobile width, DO NOT use within HTML templates or within functions called by HTML templates
177
+ */
178
+ isMobile() {
179
+ return this.isWidthMobile(this._innerWidth);
180
+ }
181
+ isWidthDesktop(width) {
182
+ return width > 991;
183
+ }
184
+ isWidthMobile(width) {
185
+ return width <= 991;
186
+ }
187
+ }
188
+ MngMainLayoutComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngMainLayoutComponentService, deps: [{ token: i1.MngCommonsService }], target: i0.ɵɵFactoryTarget.Injectable });
189
+ MngMainLayoutComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngMainLayoutComponentService });
190
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: MngMainLayoutComponentService, decorators: [{
191
+ type: Injectable
192
+ }], ctorParameters: function () { return [{ type: i1.MngCommonsService }]; } });
193
193
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1sYXlvdXQuY29tcG9uZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L3NlcnZpY2VzL21haW4tbGF5b3V0LmNvbXBvbmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLGVBQWUsRUFBc0IsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFLbkMsTUFBTSxPQUFPLDZCQUE2QjtJQTBCdEMsWUFBb0IsVUFBNkI7UUFBN0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUF6QnpDLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQiw4QkFBeUIsR0FBcUIsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDM0YsK0JBQTBCLEdBQUcsS0FBSyxDQUFDO1FBQ25DLHNDQUFpQyxHQUFxQixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUMzRyw0QkFBdUIsR0FBRyxLQUFLLENBQUM7UUFDaEMsbUNBQThCLEdBQXFCLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBRXJHLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLDBCQUFxQixHQUFxQixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbkYsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsMEJBQXFCLEdBQXFCLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVuRixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixxQkFBZ0IsR0FB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aEQsQ0FBQztJQUVPLGNBQWMsQ0FBQyxLQUFhO1FBQ2hDLE9BQU8sS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUN2QixDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQWE7UUFDL0IsT0FBTyxLQUFLLElBQUksR0FBRyxDQUFDO0lBQ3hCLENBQUM7OzBIQWhPUSw2QkFBNkI7OEhBQTdCLDZCQUE2QjsyRkFBN0IsNkJBQTZCO2tCQUR6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtNbmdDb21tb25zU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTW5nTWFpbkxheW91dENvbXBvbmVudFNlcnZpY2Uge1xuICAgIHByaXZhdGUgX292ZXJsYXlNZW51QWN0aXZlID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfb3ZlcmxheU1lbnVBY3RpdmVTdWJqZWN0OiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLl9vdmVybGF5TWVudUFjdGl2ZSk7XG4gICAgcHJpdmF0ZSBfc3RhdGljTWVudURlc2t0b3BJbmFjdGl2ZSA9IGZhbHNlO1xuICAgIHByaXZhdGUgX3N0YXRpY01lbnVEZXNrdG9wSW5hY3RpdmVTdWJqZWN0OiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLl9zdGF0aWNNZW51RGVza3RvcEluYWN0aXZlKTtcbiAgICBwcml2YXRlIF9zdGF0aWNNZW51TW9iaWxlQWN0aXZlID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfc3RhdGljTWVudU1vYmlsZUFjdGl2ZVN1YmplY3Q6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMuX3N0YXRpY01lbnVNb2JpbGVBY3RpdmUpO1xuXG4gICAgcHJpdmF0ZSBfc2lkZWJhckFjdGl2ZSA9IHRydWU7XG4gICAgcHJpdmF0ZSBfc2lkZWJhckFjdGl2ZVN1YmplY3Q6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMuX3NpZGViYXJBY3RpdmUpO1xuICAgIHByaXZhdGUgX3NpZGViYXJTdGF0aWMgPSB0cnVlO1xuICAgIHByaXZhdGUgX3NpZGViYXJTdGF0aWNTdWJqZWN0OiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLl9zaWRlYmFyU3RhdGljKTtcblxuICAgIHByaXZhdGUgX21lbnVDbGljayA9IGZhbHNlO1xuICAgIHByaXZhdGUgX21lbnVIb3ZlckFjdGl2ZSA9IGZhbHNlO1xuICAgIHByaXZhdGUgX3RvcGJhckl0ZW1DbGljayA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBfYWN0aXZlVG9wYmFySXRlbTogYW55ID0gbnVsbDtcbiAgICBwcml2YXRlIF9hY3RpdmVUb3BiYXJJdGVtU3ViamVjdDogU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLl9hY3RpdmVUb3BiYXJJdGVtKTtcblxuICAgIHByaXZhdGUgX3BpbkFjdGl2ZSA9IHRydWU7XG4gICAgcHJpdmF0ZSBfcGluQWN0aXZlU3ViamVjdDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5fcGluQWN0aXZlKTtcblxuICAgIHByaXZhdGUgX2lubmVyV2lkdGggPSAxOTIwO1xuICAgIHByaXZhdGUgX2lubmVyV2lkdGhTdWJqZWN0OiBTdWJqZWN0PG51bWJlcj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMuX2lubmVyV2lkdGgpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBtbmdDb21tb25zOiBNbmdDb21tb25zU2VydmljZSkge31cblxuICAgIGdldCBvdmVybGF5TWVudUFjdGl2ZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vdmVybGF5TWVudUFjdGl2ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgc2V0IG92ZXJsYXlNZW51QWN0aXZlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX292ZXJsYXlNZW51QWN0aXZlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX292ZXJsYXlNZW51QWN0aXZlU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgc3RhdGljTWVudURlc2t0b3BJbmFjdGl2ZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0aWNNZW51RGVza3RvcEluYWN0aXZlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBzZXQgc3RhdGljTWVudURlc2t0b3BJbmFjdGl2ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zdGF0aWNNZW51RGVza3RvcEluYWN0aXZlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX3N0YXRpY01lbnVEZXNrdG9wSW5hY3RpdmVTdWJqZWN0Lm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBzdGF0aWNNZW51TW9iaWxlQWN0aXZlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRpY01lbnVNb2JpbGVBY3RpdmVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHNldCBzdGF0aWNNZW51TW9iaWxlQWN0aXZlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3N0YXRpY01lbnVNb2JpbGVBY3RpdmUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fc3RhdGljTWVudU1vYmlsZUFjdGl2ZVN1YmplY3QubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IHNpZGViYXJBY3RpdmUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2lkZWJhckFjdGl2ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgc2V0IHNpZGViYXJBY3RpdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2lkZWJhckFjdGl2ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9zaWRlYmFyQWN0aXZlU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgc2lkZWJhclN0YXRpYyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaWRlYmFyU3RhdGljU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBzZXQgc2lkZWJhclN0YXRpYyh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zaWRlYmFyU3RhdGljID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX3NpZGViYXJTdGF0aWNTdWJqZWN0Lm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIHNldCBtZW51SG92ZXJBY3RpdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fbWVudUhvdmVyQWN0aXZlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgc2V0IHRvcGJhckl0ZW1DbGljayh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl90b3BiYXJJdGVtQ2xpY2sgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgYWN0aXZlVG9wYmFySXRlbSQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVRvcGJhckl0ZW1TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHNldCBhY3RpdmVUb3BiYXJJdGVtKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fYWN0aXZlVG9wYmFySXRlbSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9hY3RpdmVUb3BiYXJJdGVtU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgcGluQWN0aXZlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BpbkFjdGl2ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgc2V0IHBpbkFjdGl2ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9waW5BY3RpdmUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fcGluQWN0aXZlU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgaXNEZXNrdG9wJCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lubmVyV2lkdGhTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUobWFwKGUgPT4gdGhpcy5pc1dpZHRoRGVza3RvcChlKSkpO1xuICAgIH1cblxuICAgIGdldCBpc01vYmlsZSQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbm5lcldpZHRoU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKG1hcChlID0+IHRoaXMuaXNXaWR0aE1vYmlsZShlKSkpO1xuICAgIH1cblxuICAgIHNldCBpbm5lcldpZHRoKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5faW5uZXJXaWR0aCA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9pbm5lcldpZHRoU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBvbkxheW91dENsaWNrKCkge1xuICAgICAgICBpZiAoIXRoaXMuX3RvcGJhckl0ZW1DbGljaykge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVUb3BiYXJJdGVtID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5fbWVudUNsaWNrKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5tbmdDb21tb25zLm1lbnVNb2RlSXNTbGltICYmICF0aGlzLmlzTW9iaWxlKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1uZ0NvbW1vbnMubWVudVJlc2V0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51SG92ZXJBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuX292ZXJsYXlNZW51QWN0aXZlIHx8IHRoaXMuX3N0YXRpY01lbnVNb2JpbGVBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlNZW51QWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0aWNNZW51TW9iaWxlQWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9tZW51Q2xpY2sgPSBmYWxzZTtcbiAgICAgICAgdGhpcy50b3BiYXJJdGVtQ2xpY2sgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgb25TaWRlYmFyQ2xpY2soZXZlbnQ6IGFueSkge1xuICAgICAgICB0aGlzLl9tZW51Q2xpY2sgPSB0cnVlO1xuICAgIH1cblxuICAgIG9uVG9nZ2xlTWVudShldmVudDogYW55KSB7XG4gICAgICAgIHRoaXMuX21lbnVDbGljayA9IHRydWU7XG5cbiAgICAgICAgaWYgKHRoaXMuX292ZXJsYXlNZW51QWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlNZW51QWN0aXZlID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fc2lkZWJhckFjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5zaWRlYmFyU3RhdGljID0gIXRoaXMuX3NpZGViYXJTdGF0aWM7XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBvblNpZGViYXJNb3VzZU92ZXIoZXZlbnQ6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5tbmdDb21tb25zLm1lbnVNb2RlSXNTaWRlYmFyICYmICF0aGlzLl9zaWRlYmFyU3RhdGljKSB7XG4gICAgICAgICAgICB0aGlzLnNpZGViYXJBY3RpdmUgPSB0aGlzLmlzRGVza3RvcCgpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5waW5BY3RpdmUgPSB0aGlzLmlzRGVza3RvcCgpO1xuICAgICAgICAgICAgfSwgMjAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBvblNpZGViYXJNb3VzZUxlYXZlKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMubW5nQ29tbW9ucy5tZW51TW9kZUlzU2lkZWJhciAmJiAhdGhpcy5fc2lkZWJhclN0YXRpYykge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaWRlYmFyQWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5waW5BY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIH0sIDI1MCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1lbnVCdXR0b25DbGljayhldmVudDogYW55KSB7XG4gICAgICAgIHRoaXMuX21lbnVDbGljayA9IHRydWU7XG5cbiAgICAgICAgaWYgKHRoaXMubW5nQ29tbW9ucy5tZW51TW9kZUlzT3ZlcmxheSkge1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5TWVudUFjdGl2ZSA9ICF0aGlzLl9vdmVybGF5TWVudUFjdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzRGVza3RvcCgpKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRpY01lbnVEZXNrdG9wSW5hY3RpdmUgPSAhdGhpcy5fc3RhdGljTWVudURlc2t0b3BJbmFjdGl2ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSA9ICF0aGlzLl9zdGF0aWNNZW51TW9iaWxlQWN0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBvblRvcGJhckl0ZW1DbGljayhldmVudDogYW55LCBpdGVtOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fdG9wYmFySXRlbUNsaWNrID0gdHJ1ZTtcblxuICAgICAgICBpZiAodGhpcy5fYWN0aXZlVG9wYmFySXRlbSA9PT0gaXRlbSkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVUb3BiYXJJdGVtID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlVG9wYmFySXRlbSA9IGl0ZW07XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIG9uVG9wYmFyU3ViSXRlbUNsaWNrKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgaXMgZGVza3RvcCB3aWR0aCwgRE8gTk9UIHVzZSB3aXRoaW4gSFRNTCB0ZW1wbGF0ZXMgb3Igd2l0aGluIGZ1bmN0aW9ucyBjYWxsZWQgYnkgSFRNTCB0ZW1wbGF0ZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNEZXNrdG9wKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1dpZHRoRGVza3RvcCh0aGlzLl9pbm5lcldpZHRoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgaXMgbW9iaWxlIHdpZHRoLCBETyBOT1QgdXNlIHdpdGhpbiBIVE1MIHRlbXBsYXRlcyBvciB3aXRoaW4gZnVuY3Rpb25zIGNhbGxlZCBieSBIVE1MIHRlbXBsYXRlc1xuICAgICAqL1xuICAgIHB1YmxpYyBpc01vYmlsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNXaWR0aE1vYmlsZSh0aGlzLl9pbm5lcldpZHRoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzV2lkdGhEZXNrdG9wKHdpZHRoOiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHdpZHRoID4gOTkxO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNXaWR0aE1vYmlsZSh3aWR0aDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB3aWR0aCA8PSA5OTE7XG4gICAgfVxufVxuIl19