@codetectonics/mantle 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/README.md +10 -49
  2. package/bundles/codetectonics-mantle.umd.js +6907 -0
  3. package/bundles/codetectonics-mantle.umd.js.map +1 -0
  4. package/esm2015/codetectonics-mantle.js +5 -0
  5. package/esm2015/lib/components/dashboard/containers/dynamic-dashboard-container/dynamic-dashboard-container.component.js +24 -0
  6. package/esm2015/lib/components/dashboard/containers/plain-dashboard-container/plain-dashboard-container.component.js +35 -0
  7. package/esm2015/lib/components/dashboard/dashboard-card/dashboard-card.component.js +133 -0
  8. package/esm2015/lib/components/dashboard/dashboard-card-search-menu/dashboard-card-search-menu.component.js +55 -0
  9. package/esm2015/lib/components/dashboard/dynamic-dashboard/dynamic-dashboard.component.js +23 -0
  10. package/esm2015/lib/components/dashboard/sections/dashboard-section/dashboard-section.component.js +71 -0
  11. package/esm2015/lib/components/dashboard/widgets/dashboard-info-card/dashboard-info-card.component.js +26 -0
  12. package/esm2015/lib/components/dashboard/widgets/dashboard-table/dashboard-table-datasource.js +30 -0
  13. package/esm2015/lib/components/dashboard/widgets/dashboard-table/dashboard-table.component.js +58 -0
  14. package/esm2015/lib/components/dashboard/widgets/dynamic-chart/dynamic-chart.component.js +85 -0
  15. package/esm2015/lib/components/dashboard/widgets/dynamic-widget-display/dynamic-widget-display.component.js +29 -0
  16. package/esm2015/lib/components/details/containers/accordion-details-container/accordion-details-container.component.js +26 -0
  17. package/esm2015/lib/components/details/containers/dynamic-details-container/dynamic-details-container.component.js +25 -0
  18. package/esm2015/lib/components/details/containers/plain-details-container/plain-details-container.component.js +25 -0
  19. package/esm2015/lib/components/details/dialog-details/dialog-details.component.js +77 -0
  20. package/esm2015/lib/components/details/dialog-nested-details/dialog-nested-details.component.js +40 -0
  21. package/esm2015/lib/components/details/dynamic-details/dynamic-details.component.js +23 -0
  22. package/esm2015/lib/components/details/fields/actions-attribute-display/actions-attribute-display.component.js +27 -0
  23. package/esm2015/lib/components/details/fields/chip-attribute-display/chip-attribute-display.component.js +40 -0
  24. package/esm2015/lib/components/details/fields/dynamic-attribute-display/dynamic-attribute-display.component.js +46 -0
  25. package/esm2015/lib/components/details/fields/file-attribute-display/file-attribute-display.component.js +37 -0
  26. package/esm2015/lib/components/details/fields/image-attribute-display/image-attribute-display.component.js +36 -0
  27. package/esm2015/lib/components/details/fields/link-attribute-display/link-attribute-display.component.js +30 -0
  28. package/esm2015/lib/components/details/fields/markdown-attribute-display/markdown-attribute-display.component.js +21 -0
  29. package/esm2015/lib/components/details/fields/thumbnail-display/thumbnail-display.component.js +33 -0
  30. package/esm2015/lib/components/details/sections/dynamic-details-section/dynamic-details-section.component.js +42 -0
  31. package/esm2015/lib/components/details/sections/grid-details-section/grid-details-section.component.js +53 -0
  32. package/esm2015/lib/components/details/sections/markdown-details-section/markdown-details-section.component.js +19 -0
  33. package/esm2015/lib/components/details/sections/table-details-section/table-details-section.component.js +37 -0
  34. package/esm2015/lib/components/form/containers/accordion-form-container/accordion-form-container.component.js +29 -0
  35. package/esm2015/lib/components/form/containers/dynamic-form-container/dynamic-form-container.component.js +28 -0
  36. package/esm2015/lib/components/form/containers/plain-form-container/plain-form-container.component.js +28 -0
  37. package/esm2015/lib/components/form/dialog-form/dialog-form.component.js +91 -0
  38. package/esm2015/lib/components/form/dialog-nested-form/dialog-nested-form.component.js +57 -0
  39. package/esm2015/lib/components/form/dynamic-form/dynamic-form.component.js +52 -0
  40. package/esm2015/lib/components/form/fields/autocomplete-input/autocomplete-input.component.js +69 -0
  41. package/esm2015/lib/components/form/fields/chip-input/chip-input.component.js +84 -0
  42. package/esm2015/lib/components/form/fields/datepicker/datepicker.component.js +91 -0
  43. package/esm2015/lib/components/form/fields/datetimepicker/datetimepicker.component.js +92 -0
  44. package/esm2015/lib/components/form/fields/dropdown/dropdown.component.js +73 -0
  45. package/esm2015/lib/components/form/fields/dynamic-form-field/dynamic-form-field.component.js +37 -0
  46. package/esm2015/lib/components/form/fields/filepicker/filepicker.component.js +97 -0
  47. package/esm2015/lib/components/form/fields/image-cropper/image-cropper.component.js +52 -0
  48. package/esm2015/lib/components/form/fields/imagepicker/imagepicker.component.js +139 -0
  49. package/esm2015/lib/components/form/fields/markdown-input/markdown-input.component.js +53 -0
  50. package/esm2015/lib/components/form/fields/number-input/number-input.component.js +91 -0
  51. package/esm2015/lib/components/form/fields/password-input/password-input.component.js +58 -0
  52. package/esm2015/lib/components/form/fields/text-input/text-input.component.js +55 -0
  53. package/esm2015/lib/components/form/fields/textarea/textarea.component.js +58 -0
  54. package/esm2015/lib/components/form/sections/dynamic-form-section/dynamic-form-section.component.js +47 -0
  55. package/esm2015/lib/components/form/sections/grid-form-section/grid-form-section.component.js +69 -0
  56. package/esm2015/lib/components/form/sections/table-form-section/table-form-section.component.js +107 -0
  57. package/esm2015/lib/components/layout-editor/containers/accordion-layout-editor-container/accordion-layout-editor-container.component.js +24 -0
  58. package/esm2015/lib/components/layout-editor/containers/dynamic-layout-editor-container/dynamic-layout-editor-container.component.js +23 -0
  59. package/esm2015/lib/components/layout-editor/containers/plain-layout-editor-container/plain-layout-editor-container.component.js +24 -0
  60. package/esm2015/lib/components/layout-editor/dynamic-layout-editor/dynamic-layout-editor.component.js +23 -0
  61. package/esm2015/lib/components/layout-editor/elements/dynamic-layout-editor-element/dynamic-layout-editor-element.component.js +38 -0
  62. package/esm2015/lib/components/layout-editor/elements/layout-editor-field-element/layout-editor-field-element.component.js +76 -0
  63. package/esm2015/lib/components/layout-editor/elements/layout-editor-table-column-element/layout-editor-table-column-element.component.js +76 -0
  64. package/esm2015/lib/components/layout-editor/elements/layout-editor-widget-element/layout-editor-widget-element.component.js +19 -0
  65. package/esm2015/lib/components/layout-editor/sections/dashboard-layout-editor-section/dashboard-layout-editor-section.component.js +21 -0
  66. package/esm2015/lib/components/layout-editor/sections/dynamic-layout-editor-section/dynamic-layout-editor-section.component.js +25 -0
  67. package/esm2015/lib/components/layout-editor/sections/grid-layout-editor-section/grid-layout-editor-section.component.js +102 -0
  68. package/esm2015/lib/components/layout-editor/sections/markdown-layout-editor-section/markdown-layout-editor-section.component.js +19 -0
  69. package/esm2015/lib/components/layout-editor/sections/table-layout-editor-section/table-layout-editor-section.component.js +74 -0
  70. package/esm2015/lib/components/navigation/nav-tree/nav-tree.component.js +65 -0
  71. package/esm2015/lib/components/navigation/reroute/reroute.component.js +28 -0
  72. package/esm2015/lib/components/pages/dashboard-page/dashboard-page.component.js +34 -0
  73. package/esm2015/lib/components/pages/detail-page/detail-page.component.js +101 -0
  74. package/esm2015/lib/components/pages/documents-page/documents-page.component.js +109 -0
  75. package/esm2015/lib/components/pages/export-page/export-page.component.js +65 -0
  76. package/esm2015/lib/components/pages/form-page/form-page.component.js +133 -0
  77. package/esm2015/lib/components/pages/layout-editor-page/layout-editor-page.component.js +72 -0
  78. package/esm2015/lib/components/pages/list-page/list-page-datasource.js +62 -0
  79. package/esm2015/lib/components/pages/list-page/list-page.component.js +159 -0
  80. package/esm2015/lib/components/pages/tabbed-page/tabbed-page.component.js +35 -0
  81. package/esm2015/lib/components/titles/content-title/content-title.component.js +23 -0
  82. package/esm2015/lib/components/titles/page-title/page-title.component.js +28 -0
  83. package/esm2015/lib/components/titles/section-title/section-title.component.js +18 -0
  84. package/esm2015/lib/components/widgets/delete-confirmation-dialog/delete-confirmation-dialog.component.js +36 -0
  85. package/esm2015/lib/components/widgets/dynamic-table/dynamic-table-datasource.js +89 -0
  86. package/esm2015/lib/components/widgets/dynamic-table/dynamic-table.component.js +67 -0
  87. package/esm2015/lib/components/widgets/file-preview-dialog/file-preview-dialog.component.js +42 -0
  88. package/esm2015/lib/components/widgets/loader/loader.component.js +21 -0
  89. package/esm2015/lib/components/widgets/save-confirmation-dialog/save-confirmation-dialog.component.js +35 -0
  90. package/esm2015/lib/components/widgets/search-panel/search-panel.component.js +67 -0
  91. package/esm2015/lib/components/widgets/snackbar/snackbar.component.js +42 -0
  92. package/esm2015/lib/config/charts/column-chart.data.js +38 -0
  93. package/esm2015/lib/config/charts/gantt-chart.data.js +18 -0
  94. package/esm2015/lib/config/charts/pie-chart.data.js +21 -0
  95. package/esm2015/lib/config/charts/progress-bar-chart.data.js +50 -0
  96. package/esm2015/lib/config/charts/spline-chart.data.js +24 -0
  97. package/esm2015/lib/data-structures/dynamic-layout.structure.js +2 -0
  98. package/esm2015/lib/data-structures/file-attachment.structure.js +2 -0
  99. package/esm2015/lib/directives/click-stop-propagation.directive.js +19 -0
  100. package/esm2015/lib/directives/file-dropzone.directive.js +53 -0
  101. package/esm2015/lib/guards/feature.guard.js +42 -0
  102. package/esm2015/lib/guards/password-check.guard.js +21 -0
  103. package/esm2015/lib/guards/session.guard.js +21 -0
  104. package/esm2015/lib/mantle.module.js +518 -0
  105. package/esm2015/lib/material.module.js +290 -0
  106. package/esm2015/lib/models/screen-size-map.model.js +9 -0
  107. package/esm2015/lib/pipes/dynamic.pipe.js +45 -0
  108. package/esm2015/lib/pipes/secure-image.pipe.js +35 -0
  109. package/esm2015/lib/services/adapters/web-api-crud.adapter.js +22 -0
  110. package/esm2015/lib/services/adapters/websocket.adapter.js +2 -0
  111. package/esm2015/lib/services/announcement.service.js +43 -0
  112. package/esm2015/lib/services/array.service.js +82 -0
  113. package/esm2015/lib/services/chart.service.js +45 -0
  114. package/esm2015/lib/services/confirmation.service.js +45 -0
  115. package/esm2015/lib/services/current-user.service.js +120 -0
  116. package/esm2015/lib/services/dynamic-form.service.js +59 -0
  117. package/esm2015/lib/services/feature-config.service.js +240 -0
  118. package/esm2015/lib/services/interfaces/authorisable-feature.service.js +2 -0
  119. package/esm2015/lib/services/interfaces/dashboard-page.service.js +2 -0
  120. package/esm2015/lib/services/interfaces/dashboard-widget.service.js +2 -0
  121. package/esm2015/lib/services/interfaces/detail-page.service.js +2 -0
  122. package/esm2015/lib/services/interfaces/export-page.service.js +2 -0
  123. package/esm2015/lib/services/interfaces/form-page.service.js +2 -0
  124. package/esm2015/lib/services/interfaces/layout-editor-page.service.js +2 -0
  125. package/esm2015/lib/services/interfaces/list-page.service.js +2 -0
  126. package/esm2015/lib/services/interfaces/nav-tabs.service.js +2 -0
  127. package/esm2015/lib/services/interfaces/reroute.service.js +2 -0
  128. package/esm2015/lib/services/object.service.js +69 -0
  129. package/esm2015/lib/services/password-check.service.js +93 -0
  130. package/esm2015/lib/services/screen-size.service.js +41 -0
  131. package/esm2015/lib/services/web-api.service.js +99 -0
  132. package/esm2015/lib/services/websocket.service.js +58 -0
  133. package/esm2015/lib/tokens/environment.token.js +3 -0
  134. package/esm2015/public-api.js +133 -0
  135. package/fesm2015/codetectonics-mantle.js +5940 -0
  136. package/fesm2015/codetectonics-mantle.js.map +1 -0
  137. package/lib/components/dashboard/containers/dynamic-dashboard-container/dynamic-dashboard-container.component.d.ts +11 -0
  138. package/lib/components/dashboard/containers/plain-dashboard-container/plain-dashboard-container.component.d.ts +14 -0
  139. package/lib/components/dashboard/dashboard-card/dashboard-card.component.d.ts +41 -0
  140. package/lib/components/dashboard/dashboard-card-search-menu/dashboard-card-search-menu.component.d.ts +20 -0
  141. package/lib/components/dashboard/dynamic-dashboard/dynamic-dashboard.component.d.ts +10 -0
  142. package/lib/components/dashboard/sections/dashboard-section/dashboard-section.component.d.ts +27 -0
  143. package/lib/components/dashboard/widgets/dashboard-info-card/dashboard-info-card.component.d.ts +8 -0
  144. package/lib/components/dashboard/widgets/dashboard-table/dashboard-table-datasource.d.ts +22 -0
  145. package/lib/components/dashboard/widgets/dashboard-table/dashboard-table.component.d.ts +28 -0
  146. package/lib/components/dashboard/widgets/dynamic-chart/dynamic-chart.component.d.ts +20 -0
  147. package/lib/components/dashboard/widgets/dynamic-widget-display/dynamic-widget-display.component.d.ts +9 -0
  148. package/lib/components/details/containers/accordion-details-container/accordion-details-container.component.d.ts +11 -0
  149. package/lib/components/details/containers/dynamic-details-container/dynamic-details-container.component.d.ts +11 -0
  150. package/lib/components/details/containers/plain-details-container/plain-details-container.component.d.ts +11 -0
  151. package/lib/components/details/dialog-details/dialog-details.component.d.ts +36 -0
  152. package/lib/components/details/dialog-nested-details/dialog-nested-details.component.d.ts +22 -0
  153. package/lib/components/details/dynamic-details/dynamic-details.component.d.ts +10 -0
  154. package/lib/components/details/fields/actions-attribute-display/actions-attribute-display.component.d.ts +7 -0
  155. package/lib/components/details/fields/chip-attribute-display/chip-attribute-display.component.d.ts +9 -0
  156. package/lib/components/details/fields/dynamic-attribute-display/dynamic-attribute-display.component.d.ts +15 -0
  157. package/lib/components/details/fields/file-attribute-display/file-attribute-display.component.d.ts +12 -0
  158. package/lib/components/details/fields/image-attribute-display/image-attribute-display.component.d.ts +12 -0
  159. package/lib/components/details/fields/link-attribute-display/link-attribute-display.component.d.ts +10 -0
  160. package/lib/components/details/fields/markdown-attribute-display/markdown-attribute-display.component.d.ts +6 -0
  161. package/lib/components/details/fields/thumbnail-display/thumbnail-display.component.d.ts +10 -0
  162. package/lib/components/details/sections/dynamic-details-section/dynamic-details-section.component.d.ts +17 -0
  163. package/lib/components/details/sections/grid-details-section/grid-details-section.component.d.ts +17 -0
  164. package/lib/components/details/sections/markdown-details-section/markdown-details-section.component.d.ts +7 -0
  165. package/lib/components/details/sections/table-details-section/table-details-section.component.d.ts +12 -0
  166. package/lib/components/form/containers/accordion-form-container/accordion-form-container.component.d.ts +13 -0
  167. package/lib/components/form/containers/dynamic-form-container/dynamic-form-container.component.d.ts +13 -0
  168. package/lib/components/form/containers/plain-form-container/plain-form-container.component.d.ts +13 -0
  169. package/lib/components/form/dialog-form/dialog-form.component.d.ts +39 -0
  170. package/lib/components/form/dialog-nested-form/dialog-nested-form.component.d.ts +31 -0
  171. package/lib/components/form/dynamic-form/dynamic-form.component.d.ts +21 -0
  172. package/lib/components/form/fields/autocomplete-input/autocomplete-input.component.d.ts +32 -0
  173. package/lib/components/form/fields/chip-input/chip-input.component.d.ts +27 -0
  174. package/lib/components/form/fields/datepicker/datepicker.component.d.ts +24 -0
  175. package/lib/components/form/fields/datetimepicker/datetimepicker.component.d.ts +24 -0
  176. package/lib/components/form/fields/dropdown/dropdown.component.d.ts +31 -0
  177. package/lib/components/form/fields/dynamic-form-field/dynamic-form-field.component.d.ts +10 -0
  178. package/lib/components/form/fields/filepicker/filepicker.component.d.ts +27 -0
  179. package/lib/components/form/fields/image-cropper/image-cropper.component.d.ts +27 -0
  180. package/lib/components/form/fields/imagepicker/imagepicker.component.d.ts +41 -0
  181. package/lib/components/form/fields/markdown-input/markdown-input.component.d.ts +17 -0
  182. package/lib/components/form/fields/number-input/number-input.component.d.ts +27 -0
  183. package/lib/components/form/fields/password-input/password-input.component.d.ts +19 -0
  184. package/lib/components/form/fields/text-input/text-input.component.d.ts +18 -0
  185. package/lib/components/form/fields/textarea/textarea.component.d.ts +19 -0
  186. package/lib/components/form/sections/dynamic-form-section/dynamic-form-section.component.d.ts +19 -0
  187. package/lib/components/form/sections/grid-form-section/grid-form-section.component.d.ts +23 -0
  188. package/lib/components/form/sections/table-form-section/table-form-section.component.d.ts +22 -0
  189. package/lib/components/layout-editor/containers/accordion-layout-editor-container/accordion-layout-editor-container.component.d.ts +10 -0
  190. package/lib/components/layout-editor/containers/dynamic-layout-editor-container/dynamic-layout-editor-container.component.d.ts +10 -0
  191. package/lib/components/layout-editor/containers/plain-layout-editor-container/plain-layout-editor-container.component.d.ts +10 -0
  192. package/lib/components/layout-editor/dynamic-layout-editor/dynamic-layout-editor.component.d.ts +10 -0
  193. package/lib/components/layout-editor/elements/dynamic-layout-editor-element/dynamic-layout-editor-element.component.d.ts +13 -0
  194. package/lib/components/layout-editor/elements/layout-editor-field-element/layout-editor-field-element.component.d.ts +14 -0
  195. package/lib/components/layout-editor/elements/layout-editor-table-column-element/layout-editor-table-column-element.component.d.ts +14 -0
  196. package/lib/components/layout-editor/elements/layout-editor-widget-element/layout-editor-widget-element.component.d.ts +8 -0
  197. package/lib/components/layout-editor/sections/dashboard-layout-editor-section/dashboard-layout-editor-section.component.d.ts +8 -0
  198. package/lib/components/layout-editor/sections/dynamic-layout-editor-section/dynamic-layout-editor-section.component.d.ts +10 -0
  199. package/lib/components/layout-editor/sections/grid-layout-editor-section/grid-layout-editor-section.component.d.ts +21 -0
  200. package/lib/components/layout-editor/sections/markdown-layout-editor-section/markdown-layout-editor-section.component.d.ts +7 -0
  201. package/lib/components/layout-editor/sections/table-layout-editor-section/table-layout-editor-section.component.d.ts +14 -0
  202. package/lib/components/navigation/nav-tree/nav-tree.component.d.ts +46 -0
  203. package/lib/components/navigation/reroute/reroute.component.d.ts +14 -0
  204. package/lib/components/pages/dashboard-page/dashboard-page.component.d.ts +16 -0
  205. package/lib/components/pages/detail-page/detail-page.component.d.ts +35 -0
  206. package/lib/components/pages/documents-page/documents-page.component.d.ts +41 -0
  207. package/lib/components/pages/export-page/export-page.component.d.ts +29 -0
  208. package/lib/components/pages/form-page/form-page.component.d.ts +37 -0
  209. package/lib/components/pages/layout-editor-page/layout-editor-page.component.d.ts +26 -0
  210. package/lib/components/pages/list-page/list-page-datasource.d.ts +32 -0
  211. package/lib/components/pages/list-page/list-page.component.d.ts +46 -0
  212. package/lib/components/pages/tabbed-page/tabbed-page.component.d.ts +16 -0
  213. package/lib/components/titles/content-title/content-title.component.d.ts +8 -0
  214. package/lib/components/titles/page-title/page-title.component.d.ts +10 -0
  215. package/lib/components/titles/section-title/section-title.component.d.ts +7 -0
  216. package/lib/components/widgets/delete-confirmation-dialog/delete-confirmation-dialog.component.d.ts +20 -0
  217. package/lib/components/widgets/dynamic-table/dynamic-table-datasource.d.ts +40 -0
  218. package/lib/components/widgets/dynamic-table/dynamic-table.component.d.ts +30 -0
  219. package/lib/components/widgets/file-preview-dialog/file-preview-dialog.component.d.ts +17 -0
  220. package/lib/components/widgets/loader/loader.component.d.ts +6 -0
  221. package/lib/components/widgets/save-confirmation-dialog/save-confirmation-dialog.component.d.ts +16 -0
  222. package/lib/components/widgets/search-panel/search-panel.component.d.ts +21 -0
  223. package/lib/components/widgets/snackbar/snackbar.component.d.ts +11 -0
  224. package/lib/config/charts/column-chart.data.d.ts +37 -0
  225. package/lib/config/charts/gantt-chart.data.d.ts +17 -0
  226. package/lib/config/charts/pie-chart.data.d.ts +20 -0
  227. package/lib/config/charts/progress-bar-chart.data.d.ts +49 -0
  228. package/lib/config/charts/spline-chart.data.d.ts +23 -0
  229. package/lib/data-structures/dynamic-layout.structure.d.ts +161 -0
  230. package/lib/data-structures/file-attachment.structure.d.ts +6 -0
  231. package/lib/directives/click-stop-propagation.directive.d.ts +6 -0
  232. package/lib/directives/file-dropzone.directive.d.ts +12 -0
  233. package/lib/guards/feature.guard.d.ts +15 -0
  234. package/lib/guards/password-check.guard.d.ts +11 -0
  235. package/lib/guards/session.guard.d.ts +10 -0
  236. package/lib/mantle.module.d.ts +106 -0
  237. package/lib/material.module.d.ts +34 -0
  238. package/lib/models/screen-size-map.model.d.ts +13 -0
  239. package/lib/pipes/dynamic.pipe.d.ts +12 -0
  240. package/lib/pipes/secure-image.pipe.d.ts +11 -0
  241. package/lib/services/adapters/web-api-crud.adapter.d.ts +63 -0
  242. package/lib/services/adapters/websocket.adapter.d.ts +6 -0
  243. package/lib/services/announcement.service.d.ts +11 -0
  244. package/lib/services/array.service.d.ts +21 -0
  245. package/lib/services/chart.service.d.ts +14 -0
  246. package/lib/services/confirmation.service.d.ts +11 -0
  247. package/lib/services/current-user.service.d.ts +28 -0
  248. package/lib/services/dynamic-form.service.d.ts +30 -0
  249. package/lib/services/feature-config.service.d.ts +82 -0
  250. package/lib/services/interfaces/authorisable-feature.service.d.ts +5 -0
  251. package/lib/services/interfaces/dashboard-page.service.d.ts +13 -0
  252. package/lib/services/interfaces/dashboard-widget.service.d.ts +34 -0
  253. package/lib/services/interfaces/detail-page.service.d.ts +36 -0
  254. package/lib/services/interfaces/export-page.service.d.ts +6 -0
  255. package/lib/services/interfaces/form-page.service.d.ts +30 -0
  256. package/lib/services/interfaces/layout-editor-page.service.d.ts +14 -0
  257. package/lib/services/interfaces/list-page.service.d.ts +44 -0
  258. package/lib/services/interfaces/nav-tabs.service.d.ts +7 -0
  259. package/lib/services/interfaces/reroute.service.d.ts +3 -0
  260. package/lib/services/object.service.d.ts +11 -0
  261. package/lib/services/password-check.service.d.ts +21 -0
  262. package/lib/services/screen-size.service.d.ts +14 -0
  263. package/lib/services/web-api.service.d.ts +21 -0
  264. package/lib/services/websocket.service.d.ts +20 -0
  265. package/lib/tokens/environment.token.d.ts +2 -0
  266. package/package.json +33 -15
  267. package/public-api.d.ts +129 -2
  268. package/fesm2022/codetectonics-mantle.mjs +0 -42
  269. package/fesm2022/codetectonics-mantle.mjs.map +0 -1
  270. package/lib/mantle.component.d.ts +0 -5
  271. package/lib/mantle.service.d.ts +0 -6
  272. /package/{index.d.ts → codetectonics-mantle.d.ts} +0 -0
@@ -0,0 +1,45 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { ObjectService } from './object.service';
3
+ import { COLUMN_CHART } from '../config/charts/column-chart.data';
4
+ import { GANTT_CHART } from '../config/charts/gantt-chart.data';
5
+ import { PIE_CHART } from '../config/charts/pie-chart.data';
6
+ import { PROGRESS_BAR_CHART } from '../config/charts/progress-bar-chart.data';
7
+ import { SPLINE_CHART } from '../config/charts/spline-chart.data';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "./object.service";
10
+ export class ChartService {
11
+ constructor(objectService) {
12
+ this.objectService = objectService;
13
+ }
14
+ mergeChartConfig(chartConfig, domainConfig, widgetConfig) {
15
+ let config = this.objectService.deepMerge(chartConfig, domainConfig);
16
+ if (widgetConfig) {
17
+ config = this.objectService.deepMerge(config, widgetConfig);
18
+ }
19
+ return config;
20
+ }
21
+ columnChart(domainConfig, widgetConfig) {
22
+ return this.mergeChartConfig(COLUMN_CHART, domainConfig, widgetConfig);
23
+ }
24
+ ganttChart(domainConfig, widgetConfig) {
25
+ return this.mergeChartConfig(GANTT_CHART, domainConfig, widgetConfig);
26
+ }
27
+ pieChart(domainConfig, widgetConfig) {
28
+ return this.mergeChartConfig(PIE_CHART, domainConfig, widgetConfig);
29
+ }
30
+ progressBarChart(domainConfig, widgetConfig) {
31
+ return this.mergeChartConfig(PROGRESS_BAR_CHART, domainConfig, widgetConfig);
32
+ }
33
+ splineChart(domainConfig, widgetConfig) {
34
+ return this.mergeChartConfig(SPLINE_CHART, domainConfig, widgetConfig);
35
+ }
36
+ }
37
+ ChartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChartService, deps: [{ token: i1.ObjectService }], target: i0.ɵɵFactoryTarget.Injectable });
38
+ ChartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChartService, providedIn: 'root' });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChartService, decorators: [{
40
+ type: Injectable,
41
+ args: [{
42
+ providedIn: 'root'
43
+ }]
44
+ }], ctorParameters: function () { return [{ type: i1.ObjectService }]; } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL3NlcnZpY2VzL2NoYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFLbEUsTUFBTSxPQUFPLFlBQVk7SUFFdkIsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFBSSxDQUFDO0lBRTdDLGdCQUFnQixDQUFDLFdBQWdCLEVBQUUsWUFBaUIsRUFBRSxZQUFrQjtRQUM5RSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFckUsSUFBSSxZQUFZLEVBQUU7WUFDaEIsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztTQUM3RDtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxXQUFXLENBQUMsWUFBaUIsRUFBRSxZQUFrQjtRQUN0RCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxVQUFVLENBQUMsWUFBaUIsRUFBRSxZQUFrQjtRQUNyRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFTSxRQUFRLENBQUMsWUFBaUIsRUFBRSxZQUFrQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxZQUFpQixFQUFFLFlBQWtCO1FBQzNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRU0sV0FBVyxDQUFDLFlBQWlCLEVBQUUsWUFBa0I7UUFDdEQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN6RSxDQUFDOzswR0FoQ1UsWUFBWTs4R0FBWixZQUFZLGNBRlgsTUFBTTs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9iamVjdFNlcnZpY2UgfSBmcm9tICcuL29iamVjdC5zZXJ2aWNlJztcbmltcG9ydCB7IENPTFVNTl9DSEFSVCB9IGZyb20gJy4uL2NvbmZpZy9jaGFydHMvY29sdW1uLWNoYXJ0LmRhdGEnO1xuaW1wb3J0IHsgR0FOVFRfQ0hBUlQgfSBmcm9tICcuLi9jb25maWcvY2hhcnRzL2dhbnR0LWNoYXJ0LmRhdGEnO1xuaW1wb3J0IHsgUElFX0NIQVJUIH0gZnJvbSAnLi4vY29uZmlnL2NoYXJ0cy9waWUtY2hhcnQuZGF0YSc7XG5pbXBvcnQgeyBQUk9HUkVTU19CQVJfQ0hBUlQgfSBmcm9tICcuLi9jb25maWcvY2hhcnRzL3Byb2dyZXNzLWJhci1jaGFydC5kYXRhJztcbmltcG9ydCB7IFNQTElORV9DSEFSVCB9IGZyb20gJy4uL2NvbmZpZy9jaGFydHMvc3BsaW5lLWNoYXJ0LmRhdGEnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDaGFydFNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb2JqZWN0U2VydmljZTogT2JqZWN0U2VydmljZSkgeyB9XG5cbiAgcHJpdmF0ZSBtZXJnZUNoYXJ0Q29uZmlnKGNoYXJ0Q29uZmlnOiBhbnksIGRvbWFpbkNvbmZpZzogYW55LCB3aWRnZXRDb25maWc/OiBhbnkpIHtcbiAgICBsZXQgY29uZmlnID0gdGhpcy5vYmplY3RTZXJ2aWNlLmRlZXBNZXJnZShjaGFydENvbmZpZywgZG9tYWluQ29uZmlnKTtcblxuICAgIGlmICh3aWRnZXRDb25maWcpIHtcbiAgICAgIGNvbmZpZyA9IHRoaXMub2JqZWN0U2VydmljZS5kZWVwTWVyZ2UoY29uZmlnLCB3aWRnZXRDb25maWcpO1xuICAgIH1cblxuICAgIHJldHVybiBjb25maWc7XG4gIH1cblxuICBwdWJsaWMgY29sdW1uQ2hhcnQoZG9tYWluQ29uZmlnOiBhbnksIHdpZGdldENvbmZpZz86IGFueSkge1xuICAgIHJldHVybiB0aGlzLm1lcmdlQ2hhcnRDb25maWcoQ09MVU1OX0NIQVJULCBkb21haW5Db25maWcsIHdpZGdldENvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgZ2FudHRDaGFydChkb21haW5Db25maWc6IGFueSwgd2lkZ2V0Q29uZmlnPzogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMubWVyZ2VDaGFydENvbmZpZyhHQU5UVF9DSEFSVCwgZG9tYWluQ29uZmlnLCB3aWRnZXRDb25maWcpO1xuICB9XG5cbiAgcHVibGljIHBpZUNoYXJ0KGRvbWFpbkNvbmZpZzogYW55LCB3aWRnZXRDb25maWc/OiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5tZXJnZUNoYXJ0Q29uZmlnKFBJRV9DSEFSVCwgZG9tYWluQ29uZmlnLCB3aWRnZXRDb25maWcpO1xuICB9XG5cbiAgcHVibGljIHByb2dyZXNzQmFyQ2hhcnQoZG9tYWluQ29uZmlnOiBhbnksIHdpZGdldENvbmZpZz86IGFueSkge1xuICAgIHJldHVybiB0aGlzLm1lcmdlQ2hhcnRDb25maWcoUFJPR1JFU1NfQkFSX0NIQVJULCBkb21haW5Db25maWcsIHdpZGdldENvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgc3BsaW5lQ2hhcnQoZG9tYWluQ29uZmlnOiBhbnksIHdpZGdldENvbmZpZz86IGFueSkge1xuICAgIHJldHVybiB0aGlzLm1lcmdlQ2hhcnRDb25maWcoU1BMSU5FX0NIQVJULCBkb21haW5Db25maWcsIHdpZGdldENvbmZpZyk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,45 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { MatDialog, MatDialogConfig } from "@angular/material/dialog";
3
+ import { DeleteConfirmationDialogComponent } from '../components/widgets/delete-confirmation-dialog/delete-confirmation-dialog.component';
4
+ import { SaveConfirmationDialogComponent } from '../components/widgets/save-confirmation-dialog/save-confirmation-dialog.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/dialog";
7
+ export class ConfirmationService {
8
+ constructor(dialog) {
9
+ this.dialog = dialog;
10
+ }
11
+ confirmSave(onConfirmation, configData = {}) {
12
+ const dialogConfig = new MatDialogConfig();
13
+ dialogConfig.data = configData;
14
+ dialogConfig.minWidth = '400px';
15
+ dialogConfig.maxWidth = '80%';
16
+ dialogConfig.position = { right: '8px', bottom: '8px' };
17
+ dialogConfig.autoFocus = false;
18
+ dialogConfig.panelClass = 'confirmation-dialog';
19
+ let dialogRef = this.dialog.open(SaveConfirmationDialogComponent, dialogConfig);
20
+ dialogRef.afterClosed().subscribe(onConfirmation);
21
+ }
22
+ confirmDeletion(onConfirmation, configData = {}) {
23
+ const dialogConfig = new MatDialogConfig();
24
+ dialogConfig.data = configData;
25
+ dialogConfig.minWidth = '400px';
26
+ dialogConfig.maxWidth = '80%';
27
+ dialogConfig.position = { right: '8px', bottom: '8px' };
28
+ dialogConfig.autoFocus = false;
29
+ let dialogRef = this.dialog.open(DeleteConfirmationDialogComponent, dialogConfig);
30
+ dialogRef.afterClosed().subscribe((res) => {
31
+ if (!res || !res.confirmed)
32
+ return;
33
+ onConfirmation(res.deletionAction);
34
+ });
35
+ }
36
+ }
37
+ ConfirmationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfirmationService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
38
+ ConfirmationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfirmationService, providedIn: 'root' });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfirmationService, decorators: [{
40
+ type: Injectable,
41
+ args: [{
42
+ providedIn: 'root'
43
+ }]
44
+ }], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sdUZBQXVGLENBQUM7QUFDMUksT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUZBQW1GLENBQUM7OztBQUtwSSxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQW9CLE1BQWlCO1FBQWpCLFdBQU0sR0FBTixNQUFNLENBQVc7SUFBSSxDQUFDO0lBRTFDLFdBQVcsQ0FBQyxjQUE0QyxFQUFFLGFBQWtCLEVBQUU7UUFDNUUsTUFBTSxZQUFZLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUMzQyxZQUFZLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUMvQixZQUFZLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUNoQyxZQUFZLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUM5QixZQUFZLENBQUMsUUFBUSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDeEQsWUFBWSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDL0IsWUFBWSxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQztRQUVoRCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUVoRixTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxlQUFlLENBQUMsY0FBeUUsRUFBRSxhQUFrQixFQUFFO1FBQzdHLE1BQU0sWUFBWSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFDM0MsWUFBWSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7UUFDL0IsWUFBWSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDaEMsWUFBWSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDOUIsWUFBWSxDQUFDLFFBQVEsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3hELFlBQVksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRS9CLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlDQUFpQyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRWxGLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUE0RSxFQUFFLEVBQUU7WUFDakgsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTO2dCQUFFLE9BQU87WUFFbkMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2lIQWpDVSxtQkFBbUI7cUhBQW5CLG1CQUFtQixjQUZsQixNQUFNOzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcbmltcG9ydCB7IERlbGV0ZUNvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvd2lkZ2V0cy9kZWxldGUtY29uZmlybWF0aW9uLWRpYWxvZy9kZWxldGUtY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2F2ZUNvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvd2lkZ2V0cy9zYXZlLWNvbmZpcm1hdGlvbi1kaWFsb2cvc2F2ZS1jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpcm1hdGlvblNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2cpIHsgfVxuXG4gIGNvbmZpcm1TYXZlKG9uQ29uZmlybWF0aW9uOiAoY29uZmlybWVkOiBib29sZWFuKSA9PiB2b2lkLCBjb25maWdEYXRhOiBhbnkgPSB7fSkge1xuICAgIGNvbnN0IGRpYWxvZ0NvbmZpZyA9IG5ldyBNYXREaWFsb2dDb25maWcoKTtcbiAgICBkaWFsb2dDb25maWcuZGF0YSA9IGNvbmZpZ0RhdGE7XG4gICAgZGlhbG9nQ29uZmlnLm1pbldpZHRoID0gJzQwMHB4JztcbiAgICBkaWFsb2dDb25maWcubWF4V2lkdGggPSAnODAlJztcbiAgICBkaWFsb2dDb25maWcucG9zaXRpb24gPSB7IHJpZ2h0OiAnOHB4JywgYm90dG9tOiAnOHB4JyB9O1xuICAgIGRpYWxvZ0NvbmZpZy5hdXRvRm9jdXMgPSBmYWxzZTtcbiAgICBkaWFsb2dDb25maWcucGFuZWxDbGFzcyA9ICdjb25maXJtYXRpb24tZGlhbG9nJztcblxuICAgIGxldCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFNhdmVDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQsIGRpYWxvZ0NvbmZpZyk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUob25Db25maXJtYXRpb24pO1xuICB9XG5cbiAgY29uZmlybURlbGV0aW9uKG9uQ29uZmlybWF0aW9uOiAoZGVsZXRpb25BY3Rpb246IChpZDogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPGFueT4pID0+IHZvaWQsIGNvbmZpZ0RhdGE6IGFueSA9IHt9KSB7XG4gICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xuICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0gY29uZmlnRGF0YTtcbiAgICBkaWFsb2dDb25maWcubWluV2lkdGggPSAnNDAwcHgnO1xuICAgIGRpYWxvZ0NvbmZpZy5tYXhXaWR0aCA9ICc4MCUnO1xuICAgIGRpYWxvZ0NvbmZpZy5wb3NpdGlvbiA9IHsgcmlnaHQ6ICc4cHgnLCBib3R0b206ICc4cHgnIH07XG4gICAgZGlhbG9nQ29uZmlnLmF1dG9Gb2N1cyA9IGZhbHNlO1xuXG4gICAgbGV0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRGVsZXRlQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LCBkaWFsb2dDb25maWcpO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXM6IHsgY29uZmlybWVkOiBib29sZWFuLCBkZWxldGlvbkFjdGlvbjogKGlkOiBzdHJpbmcpID0+IE9ic2VydmFibGU8YW55PiB9KSA9PiB7XG4gICAgICBpZiAoIXJlcyB8fCAhcmVzLmNvbmZpcm1lZCkgcmV0dXJuO1xuXG4gICAgICBvbkNvbmZpcm1hdGlvbihyZXMuZGVsZXRpb25BY3Rpb24pO1xuICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,120 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { tap, retryWhen, delay } from 'rxjs/operators';
5
+ import { AngularTokenService } from 'angular-token';
6
+ import * as moment from 'moment';
7
+ import { ArrayService } from './array.service';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "angular-token";
10
+ import * as i2 from "@angular/router";
11
+ import * as i3 from "./array.service";
12
+ export class CurrentUserService {
13
+ constructor(tokenService, router, arrayService) {
14
+ this.tokenService = tokenService;
15
+ this.router = router;
16
+ this.arrayService = arrayService;
17
+ this.sessionData = new BehaviorSubject({});
18
+ this.sessionData.next(this.getSessionData());
19
+ this.sessionData.subscribe((sessionData) => {
20
+ if (sessionData)
21
+ localStorage.setItem('sessionData', JSON.stringify(sessionData));
22
+ else
23
+ localStorage.removeItem("sessionData");
24
+ });
25
+ }
26
+ signIn(signInData, onSuccess, onFailure) {
27
+ this.tokenService.signIn(signInData).subscribe((response) => {
28
+ this.sessionData.next(response.data);
29
+ this.setLatestPasswordCheckTime();
30
+ if (onSuccess)
31
+ onSuccess(response);
32
+ }, (response) => {
33
+ if (onFailure)
34
+ onFailure(response);
35
+ });
36
+ }
37
+ validateToken(onValid, onInvalid) {
38
+ this.tokenService.validateToken().pipe(retryWhen(errors => errors.pipe(delay(1000), tap(response => {
39
+ if (!response.status.toString().startsWith('5')) {
40
+ throw response;
41
+ }
42
+ })))).subscribe((response) => {
43
+ this.sessionData.next(response.data);
44
+ if (onValid)
45
+ onValid(response);
46
+ }, (response) => {
47
+ if (onInvalid)
48
+ onInvalid(response);
49
+ this.signOut();
50
+ });
51
+ }
52
+ updatePassword(updatePasswordData, onSuccess, onFailure) {
53
+ this.tokenService.updatePassword(updatePasswordData).subscribe((response) => {
54
+ if (onSuccess)
55
+ onSuccess(response);
56
+ }, (response) => {
57
+ if (onFailure)
58
+ onFailure(response);
59
+ });
60
+ }
61
+ resetPassword(resetPasswordData, onSuccess, onFailure) {
62
+ this.tokenService.resetPassword(resetPasswordData).subscribe((response) => {
63
+ if (onSuccess)
64
+ onSuccess(response);
65
+ }, (response) => {
66
+ if (onFailure)
67
+ onFailure(response);
68
+ });
69
+ }
70
+ signOut(callback) {
71
+ this.tokenService.signOut().subscribe((response) => {
72
+ if (callback)
73
+ callback();
74
+ this.clearSessionData();
75
+ this.router.navigateByUrl('sign-in');
76
+ }, (response) => {
77
+ if (callback)
78
+ callback();
79
+ this.clearSessionData();
80
+ this.router.navigateByUrl('sign-in');
81
+ });
82
+ }
83
+ isSignedIn() {
84
+ return this.tokenService.userSignedIn();
85
+ }
86
+ getSessionData() {
87
+ return JSON.parse(localStorage.getItem('sessionData')) || {};
88
+ }
89
+ clearSessionData() {
90
+ this.sessionData.next(undefined);
91
+ }
92
+ getId() {
93
+ return this.getSessionData().id;
94
+ }
95
+ changePassword() {
96
+ this.router.navigateByUrl('change-password');
97
+ }
98
+ getPermissions() {
99
+ return this.getSessionData().permissions || [];
100
+ }
101
+ hasFeatureAccess(feature, action = 'Read') {
102
+ return this.arrayService.hasItemWithAttributes(this.getPermissions(), { feature: feature, action: action });
103
+ }
104
+ setLatestPasswordCheckTime() {
105
+ let now = moment().format('YYYY-MM-DD HH:mm:ss');
106
+ localStorage.setItem('latestPasswordCheckTime', now);
107
+ }
108
+ getLatestPasswordCheckTime() {
109
+ return localStorage.getItem('latestPasswordCheckTime');
110
+ }
111
+ }
112
+ CurrentUserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CurrentUserService, deps: [{ token: i1.AngularTokenService }, { token: i2.Router }, { token: i3.ArrayService }], target: i0.ɵɵFactoryTarget.Injectable });
113
+ CurrentUserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CurrentUserService, providedIn: 'root' });
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CurrentUserService, decorators: [{
115
+ type: Injectable,
116
+ args: [{
117
+ providedIn: 'root'
118
+ }]
119
+ }], ctorParameters: function () { return [{ type: i1.AngularTokenService }, { type: i2.Router }, { type: i3.ArrayService }]; } });
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVudC11c2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9zZXJ2aWNlcy9jdXJyZW50LXVzZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBcUQsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUsvQyxNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQXNCLFlBQWlDLEVBQVksTUFBYyxFQUMzRCxZQUEwQjtRQUQxQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFBWSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQzNELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBSHpDLGdCQUFXLEdBQXlCLElBQUksZUFBZSxDQUFNLEVBQUUsQ0FBQyxDQUFDO1FBSXRFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBZ0IsRUFBRSxFQUFFO1lBQzlDLElBQUksV0FBVztnQkFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7O2dCQUM3RSxZ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RSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ2pELFlBQVksQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELDBCQUEwQjtRQUN4QixPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUN6RCxDQUFDOztnSEE1SFUsa0JBQWtCO29IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwLCByZXRyeVdoZW4sIGRlbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQW5ndWxhclRva2VuU2VydmljZSwgUmVzZXRQYXNzd29yZERhdGEsIFNpZ25JbkRhdGEsIFVwZGF0ZVBhc3N3b3JkRGF0YSB9IGZyb20gJ2FuZ3VsYXItdG9rZW4nO1xuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBBcnJheVNlcnZpY2UgfSBmcm9tICcuL2FycmF5LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDdXJyZW50VXNlclNlcnZpY2Uge1xuXG4gIHB1YmxpYyBzZXNzaW9uRGF0YTogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oe30pO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCB0b2tlblNlcnZpY2U6IEFuZ3VsYXJUb2tlblNlcnZpY2UsIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIGFycmF5U2VydmljZTogQXJyYXlTZXJ2aWNlKSB7XG4gICAgdGhpcy5zZXNzaW9uRGF0YS5uZXh0KHRoaXMuZ2V0U2Vzc2lvbkRhdGEoKSk7XG4gICAgdGhpcy5zZXNzaW9uRGF0YS5zdWJzY3JpYmUoKHNlc3Npb25EYXRhOiBhbnkpID0+IHtcbiAgICAgIGlmIChzZXNzaW9uRGF0YSkgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3Nlc3Npb25EYXRhJywgSlNPTi5zdHJpbmdpZnkoc2Vzc2lvbkRhdGEpKTtcbiAgICAgIGVsc2UgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oXCJzZXNzaW9uRGF0YVwiKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNpZ25JbihzaWduSW5EYXRhOiBTaWduSW5EYXRhLCBvblN1Y2Nlc3M/OiAocmVzOiBhbnkpID0+IHZvaWQsIG9uRmFpbHVyZT86IChyZXM6IGFueSkgPT4gdm9pZCkge1xuICAgIHRoaXMudG9rZW5TZXJ2aWNlLnNpZ25JbihzaWduSW5EYXRhKS5zdWJzY3JpYmUoXG4gICAgICAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnNlc3Npb25EYXRhLm5leHQocmVzcG9uc2UuZGF0YSk7XG4gICAgICAgIHRoaXMuc2V0TGF0ZXN0UGFzc3dvcmRDaGVja1RpbWUoKTtcbiAgICAgICAgaWYgKG9uU3VjY2Vzcykgb25TdWNjZXNzKHJlc3BvbnNlKTtcbiAgICAgIH0sXG4gICAgICAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICBpZiAob25GYWlsdXJlKSBvbkZhaWx1cmUocmVzcG9uc2UpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICB2YWxpZGF0ZVRva2VuKG9uVmFsaWQ/OiAocmVzOiBhbnkpID0+IHZvaWQsIG9uSW52YWxpZD86IChyZXM6IGFueSkgPT4gdm9pZCkge1xuICAgIHRoaXMudG9rZW5TZXJ2aWNlLnZhbGlkYXRlVG9rZW4oKS5waXBlKFxuICAgICAgcmV0cnlXaGVuKGVycm9ycyA9PlxuICAgICAgICBlcnJvcnMucGlwZShcbiAgICAgICAgICBkZWxheSgxMDAwKSxcbiAgICAgICAgICB0YXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgaWYgKCFyZXNwb25zZS5zdGF0dXMudG9TdHJpbmcoKS5zdGFydHNXaXRoKCc1JykpIHtcbiAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICkuc3Vic2NyaWJlKFxuICAgICAgKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5zZXNzaW9uRGF0YS5uZXh0KHJlc3BvbnNlLmRhdGEpO1xuICAgICAgICBpZiAob25WYWxpZCkgb25WYWxpZChyZXNwb25zZSk7XG4gICAgICB9LFxuICAgICAgKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKG9uSW52YWxpZCkgb25JbnZhbGlkKHJlc3BvbnNlKTtcbiAgICAgICAgdGhpcy5zaWduT3V0KCk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHVwZGF0ZVBhc3N3b3JkKHVwZGF0ZVBhc3N3b3JkRGF0YTogVXBkYXRlUGFzc3dvcmREYXRhLCBvblN1Y2Nlc3M/OiAocmVzOiBhbnkpID0+IHZvaWQsIG9uRmFpbHVyZT86IChyZXM6IGFueSkgPT4gdm9pZCkge1xuICAgIHRoaXMudG9rZW5TZXJ2aWNlLnVwZGF0ZVBhc3N3b3JkKHVwZGF0ZVBhc3N3b3JkRGF0YSkuc3Vic2NyaWJlKFxuICAgICAgKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKG9uU3VjY2Vzcykgb25TdWNjZXNzKHJlc3BvbnNlKTtcbiAgICAgIH0sXG4gICAgICAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICBpZiAob25GYWlsdXJlKSBvbkZhaWx1cmUocmVzcG9uc2UpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICByZXNldFBhc3N3b3JkKHJlc2V0UGFzc3dvcmREYXRhOiBSZXNldFBhc3N3b3JkRGF0YSwgb25TdWNjZXNzPzogKHJlczogYW55KSA9PiB2b2lkLCBvbkZhaWx1cmU/OiAocmVzOiBhbnkpID0+IHZvaWQpIHtcbiAgICB0aGlzLnRva2VuU2VydmljZS5yZXNldFBhc3N3b3JkKHJlc2V0UGFzc3dvcmREYXRhKS5zdWJzY3JpYmUoXG4gICAgICAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICBpZiAob25TdWNjZXNzKSBvblN1Y2Nlc3MocmVzcG9uc2UpO1xuICAgICAgfSxcbiAgICAgIChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIGlmIChvbkZhaWx1cmUpIG9uRmFpbHVyZShyZXNwb25zZSk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHNpZ25PdXQoY2FsbGJhY2s/OiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy50b2tlblNlcnZpY2Uuc2lnbk91dCgpLnN1YnNjcmliZShcbiAgICAgIChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIGlmIChjYWxsYmFjaykgY2FsbGJhY2soKTtcbiAgICAgICAgdGhpcy5jbGVhclNlc3Npb25EYXRhKCk7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJ3NpZ24taW4nKTtcbiAgICAgIH0sXG4gICAgICAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICBpZiAoY2FsbGJhY2spIGNhbGxiYWNrKCk7XG4gICAgICAgIHRoaXMuY2xlYXJTZXNzaW9uRGF0YSgpO1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCdzaWduLWluJyk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGlzU2lnbmVkSW4oKSB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5TZXJ2aWNlLnVzZXJTaWduZWRJbigpO1xuICB9XG5cbiAgZ2V0U2Vzc2lvbkRhdGEoKSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3Nlc3Npb25EYXRhJykhKSB8fCB7fTtcbiAgfVxuXG4gIGNsZWFyU2Vzc2lvbkRhdGEoKSB7XG4gICAgdGhpcy5zZXNzaW9uRGF0YS5uZXh0KHVuZGVmaW5lZCk7XG4gIH1cblxuICBnZXRJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTZXNzaW9uRGF0YSgpLmlkO1xuICB9XG5cbiAgY2hhbmdlUGFzc3dvcmQoKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnY2hhbmdlLXBhc3N3b3JkJyk7XG4gIH1cblxuICBnZXRQZXJtaXNzaW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTZXNzaW9uRGF0YSgpLnBlcm1pc3Npb25zIHx8IFtdO1xuICB9XG5cbiAgcHVibGljIGhhc0ZlYXR1cmVBY2Nlc3MoZmVhdHVyZTogc3RyaW5nLCBhY3Rpb246IHN0cmluZyA9ICdSZWFkJykge1xuICAgIHJldHVybiB0aGlzLmFycmF5U2VydmljZS5oYXNJdGVtV2l0aEF0dHJpYnV0ZXMoXG4gICAgICB0aGlzLmdldFBlcm1pc3Npb25zKCksIHsgZmVhdHVyZTogZmVhdHVyZSwgYWN0aW9uOiBhY3Rpb24gfVxuICAgICk7XG4gIH1cblxuICBzZXRMYXRlc3RQYXNzd29yZENoZWNrVGltZSgpIHtcbiAgICBsZXQgbm93ID0gbW9tZW50KCkuZm9ybWF0KCdZWVlZLU1NLUREIEhIOm1tOnNzJyk7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2xhdGVzdFBhc3N3b3JkQ2hlY2tUaW1lJywgbm93KTtcbiAgfVxuXG4gIGdldExhdGVzdFBhc3N3b3JkQ2hlY2tUaW1lKCkge1xuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGF0ZXN0UGFzc3dvcmRDaGVja1RpbWUnKTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,59 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { FormControl, FormGroup } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ export class DynamicFormField {
5
+ constructor(options) {
6
+ this.label = options.label;
7
+ this.attr = options.attr;
8
+ this.type = options.type;
9
+ this.options = options.options || {};
10
+ this.default = options.default;
11
+ this.required = !!options.required;
12
+ this.disabled = !!options.disabled;
13
+ this.hidden = !!options.hidden;
14
+ }
15
+ }
16
+ export class DynamicFormService {
17
+ constructor() { }
18
+ toFormGroup(data = {}, formGroup = new FormGroup({})) {
19
+ Object.keys(data).forEach(attr => {
20
+ let formControl = new FormControl(data[attr] || undefined);
21
+ formGroup.addControl(attr, formControl);
22
+ });
23
+ return formGroup;
24
+ }
25
+ generateFormInitData(fields) {
26
+ return fields.reduce((result, field) => {
27
+ result[field.attr] = field.default;
28
+ return result;
29
+ }, {});
30
+ }
31
+ transformFormValue(formValue) {
32
+ formValue = Object.assign({}, formValue);
33
+ Object.keys(formValue).forEach((key) => {
34
+ if (Array.isArray(formValue[key])) {
35
+ formValue[key] = formValue[key].map((nestedFormValue) => {
36
+ return this.transformFormValue(nestedFormValue);
37
+ });
38
+ }
39
+ else if (formValue[key] && formValue[key].hasOwnProperty('signed_id')) {
40
+ formValue[key] = formValue[key].signed_id;
41
+ }
42
+ if (key.startsWith('dynamic_attributes.')) {
43
+ formValue['dynamic_attributes'] || (formValue['dynamic_attributes'] = {});
44
+ formValue['dynamic_attributes'][key] = formValue[key];
45
+ delete formValue[key];
46
+ }
47
+ });
48
+ return formValue;
49
+ }
50
+ }
51
+ DynamicFormService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
52
+ DynamicFormService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormService, providedIn: 'root' });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormService, decorators: [{
54
+ type: Injectable,
55
+ args: [{
56
+ providedIn: 'root'
57
+ }]
58
+ }], ctorParameters: function () { return []; } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYW50bGUvc3JjL2xpYi9zZXJ2aWNlcy9keW5hbWljLWZvcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRXhELE1BQU0sT0FBTyxnQkFBZ0I7SUFVM0IsWUFBWSxPQVNUO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDakMsQ0FBQztDQUNGO0FBS0QsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QixnQkFBZ0IsQ0FBQztJQUVqQixXQUFXLENBQUMsT0FBWSxFQUFFLEVBQUUsWUFBdUIsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ2xFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQy9CLElBQUksV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQztZQUMzRCxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUEwQjtRQUM3QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFXLEVBQUUsS0FBdUIsRUFBRSxFQUFFO1lBQzVELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNuQyxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsU0FBYztRQUMvQixTQUFTLHFCQUFPLFNBQVMsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUNqQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQW9CLEVBQUUsRUFBRTtvQkFDM0QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ2xELENBQUMsQ0FBQyxDQUFDO2FBQ0o7aUJBQ0ksSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDckUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUM7YUFDM0M7WUFFRCxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsRUFBRTtnQkFDekMsU0FBUyxDQUFDLG9CQUFvQixNQUE5QixTQUFTLENBQUMsb0JBQW9CLElBQU0sRUFBRSxFQUFDO2dCQUN2QyxTQUFTLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3RELE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOztnSEF2Q1Usa0JBQWtCO29IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtRmllbGQge1xuICBsYWJlbDogc3RyaW5nO1xuICBhdHRyOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgb3B0aW9uczogYW55O1xuICBkZWZhdWx0Pzogc3RyaW5nO1xuICByZXF1aXJlZCE6IGJvb2xlYW47XG4gIGRpc2FibGVkITogYm9vbGVhbjtcbiAgaGlkZGVuITogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiB7XG4gICAgICBsYWJlbDogc3RyaW5nO1xuICAgICAgYXR0cjogc3RyaW5nO1xuICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgb3B0aW9ucz86IGFueTtcbiAgICAgIGRlZmF1bHQ/OiBzdHJpbmc7XG4gICAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgICBoaWRkZW4/OiBib29sZWFuO1xuICAgIH0pIHtcbiAgICB0aGlzLmxhYmVsID0gb3B0aW9ucy5sYWJlbDtcbiAgICB0aGlzLmF0dHIgPSBvcHRpb25zLmF0dHI7XG4gICAgdGhpcy50eXBlID0gb3B0aW9ucy50eXBlO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMub3B0aW9ucyB8fCB7fTtcbiAgICB0aGlzLmRlZmF1bHQgPSBvcHRpb25zLmRlZmF1bHQ7XG4gICAgdGhpcy5yZXF1aXJlZCA9ICEhb3B0aW9ucy5yZXF1aXJlZDtcbiAgICB0aGlzLmRpc2FibGVkID0gISFvcHRpb25zLmRpc2FibGVkO1xuICAgIHRoaXMuaGlkZGVuID0gISFvcHRpb25zLmhpZGRlbjtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybVNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgdG9Gb3JtR3JvdXAoZGF0YTogYW55ID0ge30sIGZvcm1Hcm91cDogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSkpIDogRm9ybUdyb3VwIHtcbiAgICBPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKGF0dHIgPT4ge1xuICAgICAgbGV0IGZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKGRhdGFbYXR0cl0gfHwgdW5kZWZpbmVkKTtcbiAgICAgIGZvcm1Hcm91cC5hZGRDb250cm9sKGF0dHIsIGZvcm1Db250cm9sKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBmb3JtR3JvdXA7XG4gIH1cblxuICBnZW5lcmF0ZUZvcm1Jbml0RGF0YShmaWVsZHM6IER5bmFtaWNGb3JtRmllbGRbXSk6IGFueVtdIHtcbiAgICByZXR1cm4gZmllbGRzLnJlZHVjZSgocmVzdWx0OiBhbnksIGZpZWxkOiBEeW5hbWljRm9ybUZpZWxkKSA9PiB7XG4gICAgICByZXN1bHRbZmllbGQuYXR0cl0gPSBmaWVsZC5kZWZhdWx0O1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9LCB7fSk7XG4gIH1cblxuICB0cmFuc2Zvcm1Gb3JtVmFsdWUoZm9ybVZhbHVlOiBhbnkpIHtcbiAgICBmb3JtVmFsdWUgPSB7Li4uZm9ybVZhbHVlfTtcbiAgICBPYmplY3Qua2V5cyhmb3JtVmFsdWUpLmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShmb3JtVmFsdWVba2V5XSkpIHtcbiAgICAgICAgZm9ybVZhbHVlW2tleV0gPSBmb3JtVmFsdWVba2V5XS5tYXAoKG5lc3RlZEZvcm1WYWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtRm9ybVZhbHVlKG5lc3RlZEZvcm1WYWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAoZm9ybVZhbHVlW2tleV0gJiYgZm9ybVZhbHVlW2tleV0uaGFzT3duUHJvcGVydHkoJ3NpZ25lZF9pZCcpKSB7XG4gICAgICAgIGZvcm1WYWx1ZVtrZXldID0gZm9ybVZhbHVlW2tleV0uc2lnbmVkX2lkO1xuICAgICAgfVxuXG4gICAgICBpZiAoa2V5LnN0YXJ0c1dpdGgoJ2R5bmFtaWNfYXR0cmlidXRlcy4nKSkge1xuICAgICAgICBmb3JtVmFsdWVbJ2R5bmFtaWNfYXR0cmlidXRlcyddIHx8PSB7fTtcbiAgICAgICAgZm9ybVZhbHVlWydkeW5hbWljX2F0dHJpYnV0ZXMnXVtrZXldID0gZm9ybVZhbHVlW2tleV07XG4gICAgICAgIGRlbGV0ZSBmb3JtVmFsdWVba2V5XTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZm9ybVZhbHVlO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,240 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { MatDialogConfig } from "@angular/material/dialog";
3
+ import { finalize } from 'rxjs/operators';
4
+ import { DialogDetailsComponent } from '../components/details/dialog-details/dialog-details.component';
5
+ import { DialogFormComponent } from '../components/form/dialog-form/dialog-form.component';
6
+ export class FeatureConfigService {
7
+ constructor(config) {
8
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
9
+ this.sessionData = {};
10
+ this.webRtcEvents = new EventEmitter();
11
+ this.listContentChangeEvents = new EventEmitter();
12
+ this.isCommitInProgress = false;
13
+ this.webApiBaseUrl = (_a = config.webApi) === null || _a === void 0 ? void 0 : _a.baseUrl;
14
+ this.webApiService = (_b = config.webApi) === null || _b === void 0 ? void 0 : _b.service;
15
+ this.webRtcChannel = (_c = config.webRtc) === null || _c === void 0 ? void 0 : _c.channel;
16
+ this.webRtcService = (_d = config.webRtc) === null || _d === void 0 ? void 0 : _d.service;
17
+ this.feature = (_e = config.authorisation) === null || _e === void 0 ? void 0 : _e.feature;
18
+ this.currentUserService = (_f = config.authorisation) === null || _f === void 0 ? void 0 : _f.service;
19
+ (_g = this.currentUserService) === null || _g === void 0 ? void 0 : _g.sessionData.subscribe(sessionData => { this.sessionData = sessionData; });
20
+ this.router = (_h = config.routing) === null || _h === void 0 ? void 0 : _h.service;
21
+ this.dialog = (_j = config.dialog) === null || _j === void 0 ? void 0 : _j.service;
22
+ this.confirmationService = (_k = config.confirmation) === null || _k === void 0 ? void 0 : _k.service;
23
+ this.onInit();
24
+ }
25
+ onInit() { }
26
+ // Override this method in your domain-service if you would like to use it.
27
+ noun() {
28
+ return '';
29
+ }
30
+ /*
31
+ * PARENT COMPONENT
32
+ */
33
+ setParentComponent(parentComponent) {
34
+ this.parentComponent = parentComponent;
35
+ }
36
+ refreshParentComponent() {
37
+ this.parentComponent.loadData();
38
+ }
39
+ /*
40
+ * WEB API INTERFACE
41
+ */
42
+ getList(params, headers = {}) {
43
+ return this.webApiService.get(this.webApiBaseUrl, params.toHttpParams(), headers);
44
+ }
45
+ get(id, params = {}, headers = {}) {
46
+ return this.webApiService.get(`${this.webApiBaseUrl}/${id}`, params, headers);
47
+ }
48
+ getNew(params = {}, headers = {}) {
49
+ return this.webApiService.get(`${this.webApiBaseUrl}/new`, params, headers);
50
+ }
51
+ create(params, headers = {}) {
52
+ this.isCommitInProgress = true;
53
+ let observable = this.webApiService.create(this.webApiBaseUrl, params, headers);
54
+ return observable.pipe(finalize(() => {
55
+ this.isCommitInProgress = false;
56
+ }));
57
+ }
58
+ getEdit(id, params = {}, headers = {}) {
59
+ return this.webApiService.get(`${this.webApiBaseUrl}/${id}/edit`, params, headers);
60
+ }
61
+ update(id, params, headers = {}) {
62
+ this.isCommitInProgress = true;
63
+ let observable = this.webApiService.update(`${this.webApiBaseUrl}/${id}`, params, headers);
64
+ return observable.pipe(finalize(() => {
65
+ this.isCommitInProgress = false;
66
+ }));
67
+ }
68
+ destroy(id, params = {}, headers = {}) {
69
+ this.isCommitInProgress = true;
70
+ return this.webApiService.destroy(`${this.webApiBaseUrl}/${id}`, params, headers).pipe(finalize(() => {
71
+ this.isCommitInProgress = false;
72
+ }));
73
+ }
74
+ downloadList(format, filename, params = {}, headers = {}) {
75
+ return this.webApiService.download(`${this.webApiBaseUrl}.${format}`, filename, params, headers);
76
+ }
77
+ download(id, format, filename, params = {}, headers = {}) {
78
+ return this.webApiService.download(`${this.webApiBaseUrl}/${id}.${format}`, filename, params, headers);
79
+ }
80
+ /*
81
+ * WEB RTC INTERFACE
82
+ */
83
+ connectWebRtc() {
84
+ var _a;
85
+ this.webRtcConnection = (_a = this.webRtcService) === null || _a === void 0 ? void 0 : _a.connect();
86
+ this.webRtcConnection.subscribe({ channel: this.webRtcChannel }, {
87
+ received: (data) => {
88
+ this.webRtcEvents.emit(data);
89
+ }
90
+ });
91
+ }
92
+ disconnectWebRtc() {
93
+ if (this.webRtcConnection)
94
+ this.webRtcConnection.disconnect();
95
+ }
96
+ /*
97
+ * AUTHORISATION
98
+ */
99
+ canRead() {
100
+ if (!this.feature)
101
+ return true;
102
+ return this.currentUserService.hasFeatureAccess(this.feature, 'Read');
103
+ }
104
+ canWrite() {
105
+ if (!this.feature)
106
+ return true;
107
+ return this.currentUserService.hasFeatureAccess(this.feature, 'Write');
108
+ }
109
+ authorise(action) {
110
+ if (action == 'Write')
111
+ return this.canWrite();
112
+ else
113
+ return this.canRead();
114
+ }
115
+ /*
116
+ * ROUTING
117
+ */
118
+ openRoute(route) {
119
+ this.router.navigateByUrl(route);
120
+ }
121
+ /*
122
+ * DIALOG
123
+ */
124
+ openDetailDialog(detailPageService, title, record) {
125
+ const dialogConfig = new MatDialogConfig();
126
+ dialogConfig.data = {
127
+ detailPageService: detailPageService,
128
+ title: title,
129
+ id: record.id
130
+ };
131
+ dialogConfig.width = '80%';
132
+ dialogConfig.autoFocus = false;
133
+ let dialogRef = this.dialog.open(DialogDetailsComponent, dialogConfig);
134
+ dialogRef.afterClosed().subscribe((response) => {
135
+ if (response)
136
+ this.listContentChangeEvents.emit();
137
+ });
138
+ }
139
+ openFormDialog(formPageService, title, record = {}, initData = {}) {
140
+ const dialogConfig = new MatDialogConfig();
141
+ dialogConfig.data = {
142
+ formPageService: formPageService,
143
+ title: title,
144
+ id: record.id,
145
+ initData: initData
146
+ };
147
+ dialogConfig.width = '80%';
148
+ dialogConfig.autoFocus = false;
149
+ let dialogRef = this.dialog.open(DialogFormComponent, dialogConfig);
150
+ dialogRef.afterClosed().subscribe((response) => {
151
+ if (response)
152
+ this.listContentChangeEvents.emit();
153
+ });
154
+ }
155
+ /*
156
+ * DETAILS PAGE CONFIG
157
+ */
158
+ // Override this method in you domain-service if you would like to use it.
159
+ onDetailContentLoaded(content) { }
160
+ // Override this method in your domain-service if you would like to use it.
161
+ detailPageExportOptions() {
162
+ return [];
163
+ }
164
+ // Override this method in your domain-service if you would like to use it.
165
+ detailPageSectionActions(sectionSlug) {
166
+ return [];
167
+ }
168
+ // Override this method in your domain-service if you would like to use it.
169
+ additionalDetailPageButtons(record) {
170
+ return [];
171
+ }
172
+ deletionOptions() {
173
+ return {
174
+ message: `Do you want to delete this ${this.noun()}?`,
175
+ buttons: [
176
+ {
177
+ label: 'Delete',
178
+ onClick: (id) => {
179
+ return this.destroy(id);
180
+ }
181
+ }
182
+ ]
183
+ };
184
+ }
185
+ delete(id, onDeleteConfirmed, onSuccess, onFailure) {
186
+ this.confirmationService.confirmDeletion((deletionAction) => {
187
+ onDeleteConfirmed();
188
+ deletionAction(id).subscribe(res => {
189
+ this.onDeleteSuccess(res);
190
+ onSuccess(res);
191
+ }, res => {
192
+ this.onDeleteFailure(res.error);
193
+ onFailure(res.error);
194
+ });
195
+ }, this.deletionOptions());
196
+ }
197
+ // Override this method in you domain-service if you would like to use it.
198
+ onDeleteSuccess(response) { }
199
+ // Override this method in you domain-service if you would like to use it.
200
+ onDeleteFailure(response) { }
201
+ /*
202
+ * FORM PAGE CONFIG
203
+ */
204
+ // Override this method in you domain-service if you would like to use it.
205
+ onFormContentLoaded(content) { }
206
+ // Override this method in you domain-service if you would like to use it.
207
+ onFormValueChanged(pageContent, formValue) { }
208
+ ;
209
+ // Override this method in you domain-service if you would like to use it.
210
+ additionalFormPageButtons(record) {
211
+ return [];
212
+ }
213
+ save(id, value, onSuccess, onFailure) {
214
+ this.beforeSave(value);
215
+ let responseObservable = id ? this.update(id, value) : this.create(value);
216
+ responseObservable.subscribe(res => {
217
+ this.onSaveSuccess(res);
218
+ onSuccess(res);
219
+ }, res => {
220
+ this.onSaveFailure(res.error);
221
+ onFailure(res.error);
222
+ });
223
+ }
224
+ // Override this method in you domain-service if you would like to use it.
225
+ beforeSave(value) { }
226
+ // Override this method in you domain-service if you would like to use it.
227
+ onSaveSuccess(response) { }
228
+ // Override this method in you domain-service if you would like to use it.
229
+ onSaveFailure(response) { }
230
+ /*
231
+ * LIST PAGE CONFIG
232
+ */
233
+ listPageExportOptions() {
234
+ return [];
235
+ }
236
+ listPageBulkExportOptions() {
237
+ return [];
238
+ }
239
+ }
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL3NlcnZpY2VzL2ZlYXR1cmUtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBWTFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBYTNGLE1BQU0sT0FBTyxvQkFBb0I7SUFxQi9CLFlBQVksTUFBVzs7UUFaYixnQkFBVyxHQUFRLEVBQUUsQ0FBQztRQU16QixpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRTFELDRCQUF1QixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXJFLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUd6QyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQUEsTUFBTSxDQUFDLE1BQU0sMENBQUUsT0FBTyxDQUFDO1FBQzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBQSxNQUFNLENBQUMsTUFBTSwwQ0FBRSxPQUFPLENBQUM7UUFDNUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFBLE1BQU0sQ0FBQyxNQUFNLDBDQUFFLE9BQU8sQ0FBQztRQUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQUEsTUFBTSxDQUFDLE1BQU0sMENBQUUsT0FBTyxDQUFDO1FBQzVDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBQSxNQUFNLENBQUMsYUFBYSwwQ0FBRSxPQUFPLENBQUM7UUFDN0MsSUFBSSxDQUFDLGtCQUFrQixHQUFH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QiwwRUFBMEU7SUFDMUUsYUFBYSxDQUFDLFFBQTRCLElBQUksQ0FBQztJQUUvQywwRUFBMEU7SUFDMUUsYUFBYSxDQUFDLFFBQTRCLElBQUksQ0FBQztJQUUvQzs7T0FFRztJQUVILHFCQUFxQjtRQUNuQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCx5QkFBeUI7UUFDdkIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXV0aG9yaXNhYmxlRmVhdHVyZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9pbnRlcmZhY2VzL2F1dGhvcmlzYWJsZS1mZWF0dXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpcm1hdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEN1cnJlbnRVc2VyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2N1cnJlbnQtdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IERldGFpbFBhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaW50ZXJmYWNlcy9kZXRhaWwtcGFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1QYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2ludGVyZmFjZXMvZm9ybS1wYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2ViQXBpQ3J1ZEFkYXB0ZXIgfSBmcm9tICcuLi9zZXJ2aWNlcy9hZGFwdGVycy93ZWItYXBpLWNydWQuYWRhcHRlcic7XG5pbXBvcnQgeyBXZWJzb2NrZXRBZGFwdGVyIH0gZnJvbSAnLi4vc2VydmljZXMvYWRhcHRlcnMvd2Vic29ja2V0LmFkYXB0ZXInO1xuaW1wb3J0IHsgV2ViQXBpU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3dlYi1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBXZWJzb2NrZXRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvd2Vic29ja2V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGV0YWlsUGFnZUJ1dHRvbiB9IGZyb20gJy4uL3NlcnZpY2VzL2ludGVyZmFjZXMvZGV0YWlsLXBhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBEZXRhaWxQYWdlRXhwb3J0T3B0aW9uIH0gZnJvbSAnLi4vc2VydmljZXMvaW50ZXJmYWNlcy9kZXRhaWwtcGFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IERpYWxvZ0RldGFpbHNDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2RldGFpbHMvZGlhbG9nLWRldGFpbHMvZGlhbG9nLWRldGFpbHMuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ0Zvcm1Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2Zvcm0vZGlhbG9nLWZvcm0vZGlhbG9nLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNEZXRhaWxzQ29udGVudCB9IGZyb20gJy4uL2RhdGEtc3RydWN0dXJlcy9keW5hbWljLWxheW91dC5zdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1Db250ZW50IH0gZnJvbSAnLi4vZGF0YS1zdHJ1Y3R1cmVzL2R5bmFtaWMtbGF5b3V0LnN0cnVjdHVyZSc7XG5pbXBvcnQgeyBGb3JtUGFnZUJ1dHRvbiB9IGZyb20gJy4uL3NlcnZpY2VzL2ludGVyZmFjZXMvZm9ybS1wYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGlzdFBhZ2VCdWxrRXhwb3J0T3B0aW9uIH0gZnJvbSAnLi4vc2VydmljZXMvaW50ZXJmYWNlcy9saXN0LXBhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBMaXN0UGFnZUV4cG9ydE9wdGlvbiB9IGZyb20gJy4uL3NlcnZpY2VzL2ludGVyZmFjZXMvbGlzdC1wYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2ViQXBpRGVsZXRlUmVzcG9uc2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hZGFwdGVycy93ZWItYXBpLWNydWQuYWRhcHRlcic7XG5pbXBvcnQgeyBXZWJBcGlEZXRhaWxzUmVzcG9uc2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hZGFwdGVycy93ZWItYXBpLWNydWQuYWRhcHRlcic7XG5pbXBvcnQgeyBXZWJBcGlGb3JtUmVzcG9uc2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hZGFwdGVycy93ZWItYXBpLWNydWQuYWRhcHRlcic7XG5pbXBvcnQgeyBXZWJBcGlMaXN0UmVxdWVzdCB9IGZyb20gJy4uL3NlcnZpY2VzL2FkYXB0ZXJzL3dlYi1hcGktY3J1ZC5hZGFwdGVyJztcbmltcG9ydCB7IFdlYkFwaUxpc3RSZXNwb25zZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FkYXB0ZXJzL3dlYi1hcGktY3J1ZC5hZGFwdGVyJztcbmltcG9ydCB7IFdlYkFwaVNhdmVSZXNwb25zZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FkYXB0ZXJzL3dlYi1hcGktY3J1ZC5hZGFwdGVyJztcblxuZXhwb3J0IGNsYXNzIEZlYXR1cmVDb25maWdTZXJ2aWNlIGltcGxlbWVudHMgV2ViQXBpQ3J1ZEFkYXB0ZXIsIFdlYnNvY2tldEFkYXB0ZXIsIEF1dGhvcmlzYWJsZUZlYXR1cmVTZXJ2aWNlIHtcblxuICBwcml2YXRlIHBhcmVudENvbXBvbmVudDogYW55O1xuICBwcm90ZWN0ZWQgd2ViQXBpQmFzZVVybDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgd2ViQXBpU2VydmljZTogV2ViQXBpU2VydmljZTtcbiAgcHJpdmF0ZSB3ZWJSdGNDaGFubmVsOiBzdHJpbmc7XG4gIHByb3RlY3RlZCB3ZWJSdGNTZXJ2aWNlOiBXZWJzb2NrZXRTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgZmVhdHVyZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgY3VycmVudFVzZXJTZXJ2aWNlOiBDdXJyZW50VXNlclNlcnZpY2U7XG4gIHByb3RlY3RlZCBzZXNzaW9uRGF0YTogYW55ID0ge307XG4gIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcjtcbiAgcHJvdGVjdGVkIGRpYWxvZzogTWF0RGlhbG9nO1xuICBwcm90ZWN0ZWQgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZTtcblxuICBwcml2YXRlIHdlYlJ0Y0Nvbm5lY3Rpb246IGFueTtcbiAgcHVibGljIHdlYlJ0Y0V2ZW50czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwdWJsaWMgbGlzdENvbnRlbnRDaGFuZ2VFdmVudHM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHVibGljIGlzQ29tbWl0SW5Qcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogYW55KSB7XG4gICAgdGhpcy53ZWJBcGlCYXNlVXJsID0gY29uZmlnLndlYkFwaT8uYmFzZVVybDtcbiAgICB0aGlzLndlYkFwaVNlcnZpY2UgPSBjb25maWcud2ViQXBpPy5zZXJ2aWNlO1xuICAgIHRoaXMud2ViUnRjQ2hhbm5lbCA9IGNvbmZpZy53ZWJSdGM/LmNoYW5uZWw7XG4gICAgdGhpcy53ZWJSdGNTZXJ2aWNlID0gY29uZmlnLndlYlJ0Yz8uc2VydmljZTtcbiAgICB0aGlzLmZlYXR1cmUgPSBjb25maWcuYXV0aG9yaXNhdGlvbj8uZmVhdHVyZTtcbiAgICB0aGlzLmN1cnJlbnRVc2VyU2VydmljZSA9IGNvbmZpZy5hdXRob3Jpc2F0aW9uPy5zZXJ2aWNlO1xuICAgIHRoaXMuY3VycmVudFVzZXJTZXJ2aWNlPy5zZXNzaW9uRGF0YS5zdWJzY3JpYmUoc2Vzc2lvbkRhdGEgPT4geyB0aGlzLnNlc3Npb25EYXRhID0gc2Vzc2lvbkRhdGE7IH0pO1xuICAgIHRoaXMucm91dGVyID0gY29uZmlnLnJvdXRpbmc/LnNlcnZpY2U7XG4gICAgdGhpcy5kaWFsb2cgPSBjb25maWcuZGlhbG9nPy5zZXJ2aWNlO1xuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZSA9IGNvbmZpZy5jb25maXJtYXRpb24/LnNlcnZpY2U7XG4gICAgdGhpcy5vbkluaXQoKTtcbiAgfVxuXG4gIG9uSW5pdCgpIHsgfVxuXG4gIC8vIE92ZXJyaWRlIHRoaXMgbWV0aG9kIGluIHlvdXIgZG9tYWluLXNlcnZpY2UgaWYgeW91IHdvdWxkIGxpa2UgdG8gdXNlIGl0LlxuICBub3VuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgLypcbiAgICogUEFSRU5UIENPTVBPTkVOVFxuICAgKi9cblxuICBzZXRQYXJlbnRDb21wb25lbnQocGFyZW50Q29tcG9uZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnBhcmVudENvbXBvbmVudCA9IHBhcmVudENvbXBvbmVudDtcbiAgfVxuXG4gIHJlZnJlc2hQYXJlbnRDb21wb25lbnQoKSB7XG4gICAgdGhpcy5wYXJlbnRDb21wb25lbnQubG9hZERhdGEoKTtcbiAgfVxuXG4gIC8qXG4gICAqIFdFQiBBUEkgSU5URVJGQUNFXG4gICAqL1xuXG4gIGdldExpc3QocGFyYW1zOiBXZWJBcGlMaXN0UmVxdWVzdCwgaGVhZGVyczogYW55ID0ge30pOiBPYnNlcnZhYmxlPFdlYkFwaUxpc3RSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLndlYkFwaVNlcnZpY2UuZ2V0KHRoaXMud2ViQXBpQmFzZVVybCwgcGFyYW1zLnRvSHR0cFBhcmFtcygpLCBoZWFkZXJzKSBhcyBPYnNlcnZhYmxlPFdlYkFwaUxpc3RSZXNwb25zZT47XG4gIH1cblxuICBnZXQoaWQ6IHN0cmluZywgcGFyYW1zOiBhbnkgPSB7fSwgaGVhZGVyczogYW55ID0ge30pOiBPYnNlcnZhYmxlPFdlYkFwaURldGFpbHNSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLndlYkFwaVNlcnZpY2UuZ2V0KGAke3RoaXMud2ViQXBpQmFzZVVybH0vJHtpZH1gLCBwYXJhbXMsIGhlYWRlcnMpIGFzIE9ic2VydmFibGU8V2ViQXBpRGV0YWlsc1Jlc3BvbnNlPjtcbiAgfVxuXG4gIGdldE5ldyhwYXJhbXM6IGFueSA9IHt9LCBoZWFkZXJzOiBhbnkgPSB7fSk6IE9ic2VydmFibGU8V2ViQXBpRm9ybVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMud2ViQXBpU2VydmljZS5nZXQoYCR7dGhpcy53ZWJBcGlCYXNlVXJsfS9uZXdgLCBwYXJhbXMsIGhlYWRlcnMpIGFzIE9ic2VydmFibGU8V2ViQXBpRm9ybVJlc3BvbnNlPjtcbiAgfVxuXG4gIGNyZWF0ZShwYXJhbXM6IGFueSwgaGVhZGVyczogYW55ID0ge30pOiBPYnNlcnZhYmxlPFdlYkFwaVNhdmVSZXNwb25zZT4ge1xuICAgIHRoaXMuaXNDb21taXRJblByb2dyZXNzID0gdHJ1ZTtcbiAgICBsZXQgb2JzZXJ2YWJsZSA9IHRoaXMud2ViQXBpU2VydmljZS5jcmVhdGUodGhpcy53ZWJBcGlCYXNlVXJsLCBwYXJhbXMsIGhlYWRlcnMpIGFzIE9ic2VydmFibGU8V2ViQXBpU2F2ZVJlc3BvbnNlPjtcbiAgICByZXR1cm4gb2JzZXJ2YWJsZS5waXBlKFxuICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzQ29tbWl0SW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0RWRpdChpZDogc3RyaW5nLCBwYXJhbXM6IGFueSA9IHt9LCBoZWFkZXJzOiBhbnkgPSB7fSk6IE9ic2VydmFibGU8V2ViQXBpRm9ybVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMud2ViQXBpU2VydmljZS5nZXQoYCR7dGhpcy53ZWJBcGlCYXNlVXJsfS8ke2lkfS9lZGl0YCwgcGFyYW1zLCBoZWFkZXJzKSBhcyBPYnNlcnZhYmxlPFdlYkFwaUZvcm1SZXNwb25zZT47XG4gIH1cblxuICB1cGRhdGUoaWQ6IHN0cmluZywgcGFyYW1zOiBhbnksIGhlYWRlcnM6IGFueSA9IHt9KTogT2JzZXJ2YWJsZTxXZWJBcGlTYXZlUmVzcG9uc2U+IHtcbiAgICB0aGlzLmlzQ29tbWl0SW5Qcm9ncmVzcyA9IHRydWU7XG4gICAgbGV0IG9ic2VydmFibGUgPSB0aGlzLndlYkFwaVNlcnZpY2UudXBkYXRlKGAke3RoaXMud2ViQXBpQmFzZVVybH0vJHtpZH1gLCBwYXJhbXMsIGhlYWRlcnMpIGFzIE9ic2VydmFibGU8V2ViQXBpU2F2ZVJlc3BvbnNlPjtcbiAgICByZXR1cm4gb2JzZXJ2YWJsZS5waXBlKFxuICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzQ29tbWl0SW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZGVzdHJveShpZDogc3RyaW5nLCBwYXJhbXM6IGFueSA9IHt9LCBoZWFkZXJzOiBhbnkgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgdGhpcy5pc0NvbW1pdEluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgIHJldHVybiB0aGlzLndlYkFwaVNlcnZpY2UuZGVzdHJveShgJHt0aGlzLndlYkFwaUJhc2VVcmx9LyR7aWR9YCwgcGFyYW1zLCBoZWFkZXJzKS5waXBlKFxuICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzQ29tbWl0SW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZG93bmxvYWRMaXN0KGZvcm1hdDogc3RyaW5nLCBmaWxlbmFtZTogc3RyaW5nLCBwYXJhbXM6IGFueSA9IHt9LCBoZWFkZXJzOiBhbnkgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMud2ViQXBpU2VydmljZS5kb3dubG9hZChgJHt0aGlzLndlYkFwaUJhc2VVcmx9LiR7Zm9ybWF0fWAsIGZpbGVuYW1lLCBwYXJhbXMsIGhlYWRlcnMpO1xuICB9XG5cbiAgZG93bmxvYWQoaWQ6IHN0cmluZywgZm9ybWF0OiBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcsIHBhcmFtczogYW55ID0ge30sIGhlYWRlcnM6IGFueSA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy53ZWJBcGlTZXJ2aWNlLmRvd25sb2FkKGAke3RoaXMud2ViQXBpQmFzZVVybH0vJHtpZH0uJHtmb3JtYXR9YCwgZmlsZW5hbWUsIHBhcmFtcywgaGVhZGVycyk7XG4gIH1cblxuICAvKlxuICAgKiBXRUIgUlRDIElOVEVSRkFDRVxuICAgKi9cblxuICBjb25uZWN0V2ViUnRjKCk6IHZvaWQge1xuICAgIHRoaXMud2ViUnRjQ29ubmVjdGlvbiA9IHRoaXMud2ViUnRjU2VydmljZT8uY29ubmVjdCgpO1xuICAgIHRoaXMud2ViUnRjQ29ubmVjdGlvbi5zdWJzY3JpYmUoeyBjaGFubmVsOiB0aGlzLndlYlJ0Y0NoYW5uZWwgfSwge1xuICAgICAgcmVjZWl2ZWQ6IChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy53ZWJSdGNFdmVudHMuZW1pdChkYXRhKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGRpc2Nvbm5lY3RXZWJSdGMoKSB7XG4gICAgaWYgKHRoaXMud2ViUnRjQ29ubmVjdGlvbikgdGhpcy53ZWJSdGNDb25uZWN0aW9uLmRpc2Nvbm5lY3QoKTtcbiAgfVxuXG4gIC8qXG4gICAqIEFVVEhPUklTQVRJT05cbiAgICovXG5cbiAgY2FuUmVhZCgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuZmVhdHVyZSkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFVzZXJTZXJ2aWNlLmhhc0ZlYXR1cmVBY2Nlc3ModGhpcy5mZWF0dXJlLCAnUmVhZCcpO1xuICB9XG5cbiAgY2FuV3JpdGUoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmZlYXR1cmUpIHJldHVybiB0cnVlO1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRVc2VyU2VydmljZS5oYXNGZWF0dXJlQWNjZXNzKHRoaXMuZmVhdHVyZSwgJ1dyaXRlJyk7XG4gIH1cblxuICBhdXRob3Jpc2UoYWN0aW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoYWN0aW9uID09ICdXcml0ZScpIHJldHVybiB0aGlzLmNhbldyaXRlKCk7XG4gICAgZWxzZSByZXR1cm4gdGhpcy5jYW5SZWFkKCk7XG4gIH1cblxuICAvKlxuICAgKiBST1VUSU5HXG4gICAqL1xuXG4gIG9wZW5Sb3V0ZShyb3V0ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChyb3V0ZSk7XG4gIH1cblxuICAvKlxuICAgKiBESUFMT0dcbiAgICovXG5cbiAgb3BlbkRldGFpbERpYWxvZyhkZXRhaWxQYWdlU2VydmljZTogRGV0YWlsUGFnZVNlcnZpY2UsIHRpdGxlOiBzdHJpbmcsIHJlY29yZDogYW55KSB7XG4gICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xuICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0ge1xuICAgICAgZGV0YWlsUGFnZVNlcnZpY2U6IGRldGFpbFBhZ2VTZXJ2aWNlLFxuICAgICAgdGl0bGU6IHRpdGxlLFxuICAgICAgaWQ6IHJlY29yZC5pZFxuICAgIH07XG4gICAgZGlhbG9nQ29uZmlnLndpZHRoID0gJzgwJSc7XG4gICAgZGlhbG9nQ29uZmlnLmF1dG9Gb2N1cyA9IGZhbHNlO1xuXG4gICAgbGV0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRGlhbG9nRGV0YWlsc0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgaWYgKHJlc3BvbnNlKSB0aGlzLmxpc3RDb250ZW50Q2hhbmdlRXZlbnRzLmVtaXQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW5Gb3JtRGlhbG9nKGZvcm1QYWdlU2VydmljZTogRm9ybVBhZ2VTZXJ2aWNlLCB0aXRsZTogc3RyaW5nLCByZWNvcmQ6IGFueSA9IHt9LCBpbml0RGF0YTogYW55ID0ge30pIHtcbiAgICBjb25zdCBkaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XG4gICAgZGlhbG9nQ29uZmlnLmRhdGEgPSB7XG4gICAgICBmb3JtUGFnZVNlcnZpY2U6IGZvcm1QYWdlU2VydmljZSxcbiAgICAgIHRpdGxlOiB0aXRsZSxcbiAgICAgIGlkOiByZWNvcmQuaWQsXG4gICAgICBpbml0RGF0YTogaW5pdERhdGFcbiAgICB9O1xuICAgIGRpYWxvZ0NvbmZpZy53aWR0aCA9ICc4MCUnO1xuICAgIGRpYWxvZ0NvbmZpZy5hdXRvRm9jdXMgPSBmYWxzZTtcblxuICAgIGxldCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKERpYWxvZ0Zvcm1Db21wb25lbnQsIGRpYWxvZ0NvbmZpZyk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgIGlmIChyZXNwb25zZSkgdGhpcy5saXN0Q29udGVudENoYW5nZUV2ZW50cy5lbWl0KCk7XG4gICAgfSk7XG4gIH1cblxuICAvKlxuICAgKiBERVRBSUxTIFBBR0UgQ09ORklHXG4gICAqL1xuXG4gIC8vIE92ZXJyaWRlIHRoaXMgbWV0aG9kIGluIHlvdSBkb21haW4tc2VydmljZSBpZiB5b3Ugd291bGQgbGlrZSB0byB1c2UgaXQuXG4gIG9uRGV0YWlsQ29udGVudExvYWRlZChjb250ZW50OiBEeW5hbWljRGV0YWlsc0NvbnRlbnQpIHsgfVxuXG4gIC8vIE92ZXJyaWRlIHRoaXMgbWV0aG9kIGluIHlvdXIgZG9tYWluLXNlcnZpY2UgaWYgeW91IHdvdWxkIGxpa2UgdG8gdXNlIGl0LlxuICBkZXRhaWxQYWdlRXhwb3J0T3B0aW9ucygpOiBEZXRhaWxQYWdlRXhwb3J0T3B0aW9uW10ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8vIE92ZXJyaWRlIHRoaXMgbWV0aG9kIGluIHlvdXIgZG9tYWluLXNlcnZpY2UgaWYgeW91IHdvdWxkIGxpa2UgdG8gdXNlIGl0LlxuICBkZXRhaWxQYWdlU2VjdGlvbkFjdGlvbnMoc2VjdGlvblNsdWc6IHN0cmluZyk6IGFueVtdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvLyBPdmVycmlkZSB0aGlzIG1ldGhvZCBpbiB5b3VyIGRvbWFpbi1zZXJ2aWNlIGlmIHlvdSB3b3VsZCBsaWtlIHRvIHVzZSBpdC5cbiAgYWRkaXRpb25hbERldGFpbFBhZ2VCdXR0b25zKHJlY29yZDogYW55KTogRGV0YWlsUGFnZUJ1dHRvbltdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBkZWxldGlvbk9wdGlvbnMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgbWVzc2FnZTogYERvIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzICR7dGhpcy5ub3VuKCl9P2AsXG4gICAgICBidXR0b25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ0RlbGV0ZScsXG4gICAgICAgICAgb25DbGljazogKGlkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRlc3Ryb3koaWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH1cbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCBvbkRlbGV0ZUNvbmZpcm1lZDogKCkgPT4gdm9pZCwgb25TdWNjZXNzOiAocmVzcG9uc2U6IFdlYkFwaURlbGV0ZVJlc3BvbnNlKSA9PiB2b2lkLCBvbkZhaWx1cmU6IChyZXNwb25zZTogV2ViQXBpRGVsZXRlUmVzcG9uc2UpID0+IHZvaWQpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybURlbGV0aW9uKFxuICAgICAgKGRlbGV0aW9uQWN0aW9uOiAoaWQ6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxhbnk+KSA9PiB7XG4gICAgICAgIG9uRGVsZXRlQ29uZmlybWVkKCk7XG5cbiAgICAgICAgZGVsZXRpb25BY3Rpb24oaWQpLnN1YnNjcmliZShcbiAgICAgICAgICByZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkRlbGV0ZVN1Y2Nlc3MocmVzKTtcbiAgICAgICAgICAgIG9uU3VjY2VzcyhyZXMpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMub25EZWxldGVGYWlsdXJlKHJlcy5lcnJvcik7XG4gICAgICAgICAgICBvbkZhaWx1cmUocmVzLmVycm9yKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgdGhpcy5kZWxldGlvbk9wdGlvbnMoKVxuICAgICk7XG4gIH1cblxuICAvLyBPdmVycmlkZSB0aGlzIG1ldGhvZCBpbiB5b3UgZG9tYWluLXNlcnZpY2UgaWYgeW91IHdvdWxkIGxpa2UgdG8gdXNlIGl0LlxuICBvbkRlbGV0ZVN1Y2Nlc3MocmVzcG9uc2U6IFdlYkFwaVNhdmVSZXNwb25zZSkgeyB9XG5cbiAgLy8gT3ZlcnJpZGUgdGhpcyBtZXRob2QgaW4geW91IGRvbWFpbi1zZXJ2aWNlIGlmIHlvdSB3b3VsZCBsaWtlIHRvIHVzZSBpdC5cbiAgb25EZWxldGVGYWlsdXJlKHJlc3BvbnNlOiBXZWJBcGlTYXZlUmVzcG9uc2UpIHsgfVxuXG4gIC8qXG4gICAqIEZPUk0gUEFHRSBDT05GSUdcbiAgICovXG5cbiAgLy8gT3ZlcnJpZGUgdGhpcyBtZXRob2QgaW4geW91IGRvbWFpbi1zZXJ2aWNlIGlmIHlvdSB3b3VsZCBsaWtlIHRvIHVzZSBpdC5cbiAgb25Gb3JtQ29udGVudExvYWRlZChjb250ZW50OiBEeW5hbWljRm9ybUNvbnRlbnQpIHsgfVxuXG4gIC8vIE92ZXJyaWRlIHRoaXMgbWV0aG9kIGluIHlvdSBkb21haW4tc2VydmljZSBpZiB5b3Ugd291bGQgbGlrZSB0byB1c2UgaXQuXG4gIG9uRm9ybVZhbHVlQ2hhbmdlZChwYWdlQ29udGVudDogRHluYW1pY0Zvcm1Db250ZW50LCBmb3JtVmFsdWU6IGFueSkgeyB9O1xuXG4gIC8vIE92ZXJyaWRlIHRoaXMgbWV0aG9kIGluIHlvdSBkb21haW4tc2VydmljZSBpZiB5b3Ugd291bGQgbGlrZSB0byB1c2UgaXQuXG4gIGFkZGl0aW9uYWxGb3JtUGFnZUJ1dHRvbnMocmVjb3JkOiBhbnkpOiBGb3JtUGFnZUJ1dHRvbltdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBzYXZlKGlkOiBzdHJpbmcgfCB1bmRlZmluZWQsIHZhbHVlOiBhbnksIG9uU3VjY2VzczogKHJlc3BvbnNlOiBXZWJBcGlTYXZlUmVzcG9uc2UpID0+IHZvaWQsIG9uRmFpbHVyZTogKHJlc3BvbnNlOiBXZWJBcGlTYXZlUmVzcG9uc2UpID0+IHZvaWQpIHtcbiAgICB0aGlzLmJlZm9yZVNhdmUodmFsdWUpO1xuXG4gICAgbGV0IHJlc3BvbnNlT2JzZXJ2YWJsZSA9IGlkID8gdGhpcy51cGRhdGUoaWQsIHZhbHVlKSA6IHRoaXMuY3JlYXRlKHZhbHVlKTtcblxuICAgIHJlc3BvbnNlT2JzZXJ2YWJsZS5zdWJzY3JpYmUoXG4gICAgICByZXMgPT4ge1xuICAgICAgICB0aGlzLm9uU2F2ZVN1Y2Nlc3MocmVzKTtcbiAgICAgICAgb25TdWNjZXNzKHJlcyk7XG4gICAgICB9LFxuICAgICAgcmVzID0+IHtcbiAgICAgICAgdGhpcy5vblNhdmVGYWlsdXJlKHJlcy5lcnJvcik7XG4gICAgICAgIG9uRmFpbHVyZShyZXMuZXJyb3IpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICAvLyBPdmVycmlkZSB0aGlzIG1ldGhvZCBpbiB5b3UgZG9tYWluLXNlcnZpY2UgaWYgeW91IHdvdWxkIGxpa2UgdG8gdXNlIGl0LlxuICBiZWZvcmVTYXZlKHZhbHVlOiBhbnkpIHsgfVxuXG4gIC8vIE92ZXJyaWRlIHRoaXMgbWV0aG9kIGluIHlvdSBkb21haW4tc2VydmljZSBpZiB5b3Ugd291bGQgbGlrZSB0byB1c2UgaXQuXG4gIG9uU2F2ZVN1Y2Nlc3MocmVzcG9uc2U6IFdlYkFwaVNhdmVSZXNwb25zZSkgeyB9XG5cbiAgLy8gT3ZlcnJpZGUgdGhpcyBtZXRob2QgaW4geW91IGRvbWFpbi1zZXJ2aWNlIGlmIHlvdSB3b3VsZCBsaWtlIHRvIHVzZSBpdC5cbiAgb25TYXZlRmFpbHVyZShyZXNwb25zZTogV2ViQXBpU2F2ZVJlc3BvbnNlKSB7IH1cblxuICAvKlxuICAgKiAgTElTVCBQQUdFIENPTkZJR1xuICAgKi9cblxuICBsaXN0UGFnZUV4cG9ydE9wdGlvbnMoKTogTGlzdFBhZ2VFeHBvcnRPcHRpb25bXSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgbGlzdFBhZ2VCdWxrRXhwb3J0T3B0aW9ucygpOiBMaXN0UGFnZUJ1bGtFeHBvcnRPcHRpb25bXSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXNhYmxlLWZlYXR1cmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL3NlcnZpY2VzL2ludGVyZmFjZXMvYXV0aG9yaXNhYmxlLWZlYXR1cmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBdXRob3Jpc2FibGVGZWF0dXJlU2VydmljZSB7XG5cbiAgY2FuUmVhZCgpOiBib29sZWFuO1xuICBjYW5Xcml0ZSgpOiBib29sZWFuO1xuICBhdXRob3Jpc2UoYWN0aW9uOiBzdHJpbmcpOiBib29sZWFuO1xuXG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXBhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL3NlcnZpY2VzL2ludGVyZmFjZXMvZGFzaGJvYXJkLXBhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHluYW1pY0xheW91dEdyaWREaW1lbnNpb25zIH0gZnJvbSAnLi4vLi4vZGF0YS1zdHJ1Y3R1cmVzL2R5bmFtaWMtbGF5b3V0LnN0cnVjdHVyZSc7XG5pbXBvcnQgeyBTY3JlZW5TaXplTWFwIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NjcmVlbi1zaXplLW1hcC5tb2RlbCc7XG5pbXBvcnQgeyBEYXNoYm9hcmRXaWRnZXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW50ZXJmYWNlcy9kYXNoYm9hcmQtd2lkZ2V0LnNlcnZpY2UnXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGFzaGJvYXJkUGFnZVNlY3Rpb24ge1xuXG4gIHNlY3Rpb25TbHVnOiBzdHJpbmc7XG4gIHNlY3Rpb25EaW1lbnNpb25zOiBTY3JlZW5TaXplTWFwPER5bmFtaWNMYXlvdXRHcmlkRGltZW5zaW9ucz47XG4gIGRhc2hib2FyZFdpZGdldFNlcnZpY2VzOiBEYXNoYm9hcmRXaWRnZXRTZXJ2aWNlW107XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXNoYm9hcmRQYWdlU2VydmljZSB7XG5cbiAgZ2V0V2lkZ2V0SXRlbXMocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT47XG4gIGRhc2hib2FyZFNlY3Rpb25zKCk6IERhc2hib2FyZFBhZ2VTZWN0aW9uW107XG5cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXdpZGdldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFudGxlL3NyYy9saWIvc2VydmljZXMvaW50ZXJmYWNlcy9kYXNoYm9hcmQtd2lkZ2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2R5bmFtaWMtZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IER5bmFtaWNMYXlvdXRHcmlkQ2VsbERpbWVuc2lvbnMsIER5bmFtaWNMYXlvdXRHcmlkRGltZW5zaW9ucyB9IGZyb20gJy4uLy4uL2RhdGEtc3RydWN0dXJlcy9keW5hbWljLWxheW91dC5zdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgU2NyZWVuU2l6ZU1hcCB9IGZyb20gJy4uLy4uL21vZGVscy9zY3JlZW4tc2l6ZS1tYXAubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhc2hib2FyZFdpZGdldEl0ZW1Db25maWcge1xuXG4gIGxhYmVsOiBzdHJpbmc7XG4gIHNsdWc6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBzaXplOiBTY3JlZW5TaXplTWFwPER5bmFtaWNMYXlvdXRHcmlkQ2VsbERpbWVuc2lvbnM+O1xuICBjb25maWd1cmF0aW9uOiBhbnk7XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaWRnZXRFeHBvcnRPcHRpb24ge1xuXG4gIGxhYmVsOiBzdHJpbmc7XG4gIGV4cG9ydChwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PjtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhc2hib2FyZFdpZGdldEJ1dHRvbiB7XG5cbiAgbGFiZWw6IHN0cmluZztcbiAgY29sb3I/OiAncHJpbWFyeScgfCAnYWNjZW50JyB8ICd3YXJuJztcbiAgc3R5bGluZz86IGFueTtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIG9uQ2xpY2s6IChkYXRhPzogYW55KSA9PiB2b2lkO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGFzaGJvYXJkV2lkZ2V0U2VydmljZSB7XG5cbiAgc2x1Zzogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIHNob3dNZW51QnV0dG9uOiBib29sZWFuO1xuICB3aWRnZXREaW1lbnNpb25zOiBTY3JlZW5TaXplTWFwPER5bmFtaWNMYXlvdXRHcmlkRGltZW5zaW9ucz47XG5cbiAgd2lkZ2V0U2l6ZSgpOiBTY3JlZW5TaXplTWFwPER5bmFtaWNMYXlvdXRHcmlkQ2VsbERpbWVuc2lvbnM+O1xuICB3aWRnZXRJdGVtc0NvbmZpZygpOiBEYXNoYm9hcmRXaWRnZXRJdGVtQ29uZmlnW107XG4gIHdpZGdldEV4cG9ydE9wdGlvbnMoKTogV2lkZ2V0RXhwb3J0T3B0aW9uW107XG4gIGFkZGl0aW9uYWxXaWRnZXRCdXR0b25zKHdpZGdldENvbmZpZz86IGFueSk6IERhc2hib2FyZFdpZGdldEJ1dHRvbltdO1xuICB3aWRnZXRTZWFyY2hGaWVsZHMoKTogRHluYW1pY0Zvcm1GaWVsZFtdO1xuICBkZWZhdWx0T3B0aW9ucygpOiBhbnk7XG5cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLXBhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL3NlcnZpY2VzL2ludGVyZmFjZXMvZGV0YWlsLXBhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgV2ViQXBpRGV0YWlsc1Jlc3BvbnNlLCBXZWJBcGlEZWxldGVSZXNwb25zZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FkYXB0ZXJzL3dlYi1hcGktY3J1ZC5hZGFwdGVyJztcbmltcG9ydCB7IER5bmFtaWNEZXRhaWxzQ29udGVudCB9IGZyb20gJy4uLy4uL2RhdGEtc3RydWN0dXJlcy9keW5hbWljLWxheW91dC5zdHJ1Y3R1cmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERldGFpbFBhZ2VCdXR0b24ge1xuICBsYWJlbDogc3RyaW5nO1xuICBjb2xvcj86ICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ3dhcm4nO1xuICBwb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JztcbiAgc2hvdzogYm9vbGVhbjtcbiAgaXNJblByb2dyZXNzOiAoKSA9PiBib29sZWFuO1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgb25DbGljazogKGlkOiBzdHJpbmcpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGV0YWlsUGFnZUV4cG9ydE9wdGlvbiB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGV4cG9ydChyZWNvcmQ6IGFueSk6IE9ic2VydmFibGU8YW55PjtcbiAgc2hvdz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGV0YWlsUGFnZVNlcnZpY2Uge1xuXG4gIHNob3dFZGl0QnV0dG9uOiBib29sZWFuO1xuICBzaG93RGVsZXRlQnV0dG9uOiBib29sZWFuO1xuICBoaWRlQmFja0J1dHRvbj86IGJvb2xlYW47XG4gIGRlbGV0ZUNvbmZpcm1hdGlvbk1lc3NhZ2U/OiBzdHJpbmc7XG4gIGlzQ29tbWl0SW5Qcm9ncmVzczogYm9vbGVhbjtcblxuICBub3VuKCk6IHN0cmluZztcbiAgc2V0UGFyZW50Q29tcG9uZW50KHBhcmVudENvbXBvbmVudDogYW55KTogdm9pZDtcbiAgZ2V0KGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFdlYkFwaURldGFpbHNSZXNwb25zZT47XG4gIGRlbGV0ZShpZDogc3RyaW5nLCBvbkRlbGV0ZUNvbmZpcm1lZDogKCkgPT4gdm9pZCwgb25TdWNjZXNzOiAocmVzcG9uc2U6IFdlYkFwaURlbGV0ZVJlc3BvbnNlKSA9PiB2b2lkLCBvbkZhaWx1cmU6IChyZXNwb25zZTogV2ViQXBpRGVsZXRlUmVzcG9uc2UpID0+IHZvaWQpOiB2b2lkO1xuICBkZXN0cm95KGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFdlYkFwaURlbGV0ZVJlc3BvbnNlPjtcbiAgZGV0YWlsUGFnZUV4cG9ydE9wdGlvbnMocmVjb3JkPzogYW55KTogRGV0YWlsUGFnZUV4cG9ydE9wdGlvbltdO1xuICBvbkRldGFpbENvbnRlbnRMb2FkZWQoY29udGVudDogRHluYW1pY0RldGFpbHNDb250ZW50KTogdm9pZDtcbiAgZGV0YWlsUGFnZVNlY3Rpb25BY3Rpb25zKHNlY3Rpb25TbHVnOiBzdHJpbmcpOiBhbnlbXVxuICBhZGRpdGlvbmFsRGV0YWlsUGFnZUJ1dHRvbnMocmVjb3JkOiBhbnkpOiBEZXRhaWxQYWdlQnV0dG9uW107XG4gIG9wZW5MaXN0KCk6IHZvaWQ7XG4gIG9wZW5Gb3JtKHJlY29yZD86IGFueSk6IHZvaWQ7XG4gIGNhbldyaXRlKCk6IGJvb2xlYW47XG5cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LXBhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbnRsZS9zcmMvbGliL3NlcnZpY2VzL2ludGVyZmFjZXMvZXhwb3J0LXBhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgV2ViQXBpRm9ybVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWRhcHRlcnMvd2ViLWFwaS1jcnVkLmFkYXB0ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4cG9ydFBhZ2VTZXJ2aWNlIHtcblxuICBnZXROZXcoKTogT2JzZXJ2YWJsZTxXZWJBcGlGb3JtUmVzcG9uc2U+O1xuICBleHBvcnQocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT47XG5cbn1cbiJdfQ==