@coolon/angular-ui-powerups 12.4.9 → 13.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/assets/activities/activities.scss +1 -1
  2. package/assets/cards.scss +1 -1
  3. package/assets/form.scss +1 -1
  4. package/assets/interaction/editor/inline-string-editor.scss +1 -1
  5. package/assets/interaction.scss +1 -1
  6. package/assets/mixins.scss +2 -2
  7. package/assets/pills.scss +1 -1
  8. package/assets/styles.scss +1 -1
  9. package/{esm2015/lib/angular-ui-powerups.module.js → esm2020/lib/angular-ui-powerups.module.mjs} +5 -5
  10. package/esm2020/lib/components/busy-overlay/busy-overlay.component.mjs +32 -0
  11. package/{esm2015/lib/components/cards/abstract-card-container.component.js → esm2020/lib/components/cards/abstract-card-container.component.mjs} +4 -4
  12. package/esm2020/lib/components/cards/card-container/card-container.component.mjs +129 -0
  13. package/esm2020/lib/components/cards/card-stack/card-stack.component.mjs +81 -0
  14. package/esm2020/lib/components/commands/command/command.component.mjs +96 -0
  15. package/{esm2015/lib/components/commands/command-face/command-face.component.js → esm2020/lib/components/commands/command-face/command-face.component.mjs} +5 -10
  16. package/esm2020/lib/components/commands/command-face.mjs +112 -0
  17. package/{esm2015/lib/components/commands/flex.component.js → esm2020/lib/components/commands/flex.component.mjs} +4 -4
  18. package/esm2020/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +84 -0
  19. package/esm2020/lib/components/commands/group/popup-menu/more-menu.component.mjs +57 -0
  20. package/esm2020/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +101 -0
  21. package/esm2020/lib/components/commands/group/popup-menu/popup-menu.component.mjs +53 -0
  22. package/esm2020/lib/components/commands/group/tool-bar/tool-bar.component.mjs +31 -0
  23. package/{esm2015/lib/components/commands/separator.component.js → esm2020/lib/components/commands/separator.component.mjs} +5 -5
  24. package/{esm2015/lib/components/components.module.js → esm2020/lib/components/components.module.mjs} +6 -6
  25. package/{esm2015/lib/components/disposable-component.js → esm2020/lib/components/disposable-component.mjs} +4 -4
  26. package/{esm2015/lib/components/empty-state/empty-state.component.js → esm2020/lib/components/empty-state/empty-state.component.mjs} +6 -10
  27. package/{esm2015/lib/components/focus-container/focus-container.component.js → esm2020/lib/components/focus-container/focus-container.component.mjs} +6 -11
  28. package/{esm2015/lib/components/focusable.component.js → esm2020/lib/components/focusable.component.mjs} +6 -8
  29. package/{esm2015/lib/components/forms/abstract-input.component.js → esm2020/lib/components/forms/abstract-input.component.mjs} +4 -4
  30. package/{esm2015/lib/components/forms/abstract-list-input.component.js → esm2020/lib/components/forms/abstract-list-input.component.mjs} +4 -4
  31. package/{esm2015/lib/components/forms/abstract-value-input.component.js → esm2020/lib/components/forms/abstract-value-input.component.mjs} +4 -4
  32. package/esm2020/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +72 -0
  33. package/esm2020/lib/components/forms/checkbox-input/checkbox-input.component.mjs +29 -0
  34. package/esm2020/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +52 -0
  35. package/esm2020/lib/components/forms/number-input/number-input.component.mjs +33 -0
  36. package/esm2020/lib/components/forms/password-input/password-input.component.mjs +24 -0
  37. package/esm2020/lib/components/forms/select-input/select-input.component.mjs +57 -0
  38. package/esm2020/lib/components/forms/string-input/string-input.component.mjs +48 -0
  39. package/esm2020/lib/components/forms/text-input/text-input.component.mjs +30 -0
  40. package/esm2020/lib/components/icon/icon.component.mjs +52 -0
  41. package/esm2020/lib/components/labelled-value/labelled-value.component.mjs +20 -0
  42. package/esm2020/lib/components/loading-container/loading-container.component.mjs +50 -0
  43. package/esm2020/lib/components/noop/noop.component.mjs +13 -0
  44. package/{esm2015/lib/components/resize-aware.component.js → esm2020/lib/components/resize-aware.component.mjs} +4 -4
  45. package/esm2020/lib/components/scroll-container/scroll-container.component.mjs +15 -0
  46. package/esm2020/lib/components/section-header/section-header.component.mjs +36 -0
  47. package/{esm2015/lib/components/switch-case/switch-case.component.js → esm2020/lib/components/switch-case/switch-case.component.mjs} +11 -15
  48. package/esm2020/lib/components/tables/abstract-table-model.mjs +185 -0
  49. package/esm2020/lib/components/tables/abstract-table.component.mjs +168 -0
  50. package/{esm2015/lib/components/tables/table/cell-portal-ref.js → esm2020/lib/components/tables/table/cell-portal-ref.mjs} +2 -2
  51. package/esm2020/lib/components/tables/table/column-model.mjs +392 -0
  52. package/esm2020/lib/components/tables/table/column-template/column-template.directive.mjs +35 -0
  53. package/esm2020/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.mjs +22 -0
  54. package/esm2020/lib/components/tables/table/default-header-cell-renderer/default-header-cell-renderer.component.mjs +15 -0
  55. package/esm2020/lib/components/tables/table/edit-row-controls/edit-row-controls.component.mjs +55 -0
  56. package/esm2020/lib/components/tables/table/paginator/paginator.component.mjs +40 -0
  57. package/esm2020/lib/components/tables/table/select-cell-renderer/select-cell-renderer.component.mjs +26 -0
  58. package/esm2020/lib/components/tables/table/select-header-cell-renderer/select-header-cell-renderer.component.mjs +31 -0
  59. package/esm2020/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.mjs +93 -0
  60. package/esm2020/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.mjs +32 -0
  61. package/{esm2015/lib/components/tables/table/table-row-menu/table-row-menu.component.js → esm2020/lib/components/tables/table/table-row-menu/table-row-menu.component.mjs} +5 -5
  62. package/esm2020/lib/components/tables/table/table.component.mjs +95 -0
  63. package/esm2020/lib/components/tables/tree-table/decorated-tree-node.mjs +171 -0
  64. package/esm2020/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.mjs +72 -0
  65. package/esm2020/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +91 -0
  66. package/esm2020/lib/components/tables/tree-table/tree-table-component.mjs +95 -0
  67. package/{esm2015/lib/components/text/markdown/markdown.component.js → esm2020/lib/components/text/markdown/markdown.component.mjs} +5 -9
  68. package/{esm2015/lib/components/vertical-focus-container/vertical-focus-container.component.js → esm2020/lib/components/vertical-focus-container/vertical-focus-container.component.mjs} +6 -11
  69. package/{esm2015/lib/directives/command.directive.js → esm2020/lib/directives/command.directive.mjs} +4 -4
  70. package/{esm2015/lib/directives/directives.module.js → esm2020/lib/directives/directives.module.mjs} +5 -5
  71. package/{esm2015/lib/directives/focus-binding-factory.js → esm2020/lib/directives/focus-binding-factory.mjs} +4 -4
  72. package/{esm2015/lib/directives/focus-binding.directive.js → esm2020/lib/directives/focus-binding.directive.mjs} +4 -4
  73. package/{esm2015/lib/directives/highlight-text-model.directive.js → esm2020/lib/directives/highlight-text-model.directive.mjs} +4 -4
  74. package/{esm2015/lib/directives/highlight.pipe.js → esm2020/lib/directives/highlight.pipe.mjs} +6 -7
  75. package/esm2020/lib/interaction/activity.mjs +87 -0
  76. package/{esm2015/lib/interaction/components/abstract-confirm-dialog.component.js → esm2020/lib/interaction/components/abstract-confirm-dialog.component.mjs} +4 -4
  77. package/{esm2015/lib/interaction/components/abstract-dialog.component.js → esm2020/lib/interaction/components/abstract-dialog.component.mjs} +4 -4
  78. package/esm2020/lib/interaction/components/activity-actions/activity-actions.component.mjs +109 -0
  79. package/esm2020/lib/interaction/components/activity-body/activity-body.component.mjs +23 -0
  80. package/esm2020/lib/interaction/components/activity-container/activity-container.component.mjs +205 -0
  81. package/{esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js → esm2020/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs} +5 -9
  82. package/esm2020/lib/interaction/components/activity-title/activity-title.component.mjs +41 -0
  83. package/{esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.js → esm2020/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.mjs} +5 -6
  84. package/esm2020/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +24 -0
  85. package/esm2020/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.mjs +22 -0
  86. package/esm2020/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.mjs +30 -0
  87. package/esm2020/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +91 -0
  88. package/esm2020/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +73 -0
  89. package/esm2020/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +30 -0
  90. package/esm2020/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +30 -0
  91. package/esm2020/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +34 -0
  92. package/esm2020/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +29 -0
  93. package/esm2020/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +173 -0
  94. package/esm2020/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +91 -0
  95. package/esm2020/lib/interaction/components/input-activities/input-activity.mjs +103 -0
  96. package/{esm2015/lib/interaction/components/input-activities/select-input-activity.js → esm2020/lib/interaction/components/input-activities/select-input-activity.mjs} +6 -8
  97. package/{esm2015/lib/interaction/components/input-activities/string-input-activity.js → esm2020/lib/interaction/components/input-activities/string-input-activity.mjs} +4 -4
  98. package/{esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js → esm2020/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.mjs} +5 -9
  99. package/{esm2015/lib/interaction/directives/interaction-context-trigger-for.directive.js → esm2020/lib/interaction/directives/interaction-context-trigger-for.directive.mjs} +4 -4
  100. package/{esm2015/lib/interaction/interaction.module.js → esm2020/lib/interaction/interaction.module.mjs} +5 -11
  101. package/{esm2015/lib/interaction/services/interaction.service.js → esm2020/lib/interaction/services/interaction.service.mjs} +4 -4
  102. package/esm2020/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.mjs +47 -0
  103. package/esm2020/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +61 -0
  104. package/{esm2015/lib/place/components/abstract-place-navigation.component.js → esm2020/lib/place/components/abstract-place-navigation.component.mjs} +4 -4
  105. package/esm2020/lib/place/components/list-place-nav/list-place-nav.component.mjs +23 -0
  106. package/esm2020/lib/place/components/not-authorised-notice/not-authorised-notice.component.mjs +13 -0
  107. package/esm2020/lib/place/components/place-outlet/place-outlet.component.mjs +256 -0
  108. package/esm2020/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +93 -0
  109. package/esm2020/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +22 -0
  110. package/esm2020/lib/place/guards/noop-auth-guard.service.mjs +18 -0
  111. package/esm2020/lib/place/guards/place.guard.mjs +109 -0
  112. package/esm2020/lib/place/navigation/place-component-deactivation-handler.mjs +83 -0
  113. package/esm2020/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.mjs +43 -0
  114. package/esm2020/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.mjs +152 -0
  115. package/esm2020/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.mjs +62 -0
  116. package/esm2020/lib/place/navigation/session/navigation-session.mjs +157 -0
  117. package/esm2020/lib/place/place-component.mjs +198 -0
  118. package/esm2020/lib/place/place-history.mjs +138 -0
  119. package/esm2020/lib/place/place-router.mjs +331 -0
  120. package/esm2020/lib/place/place.decorator.mjs +18 -0
  121. package/{esm2015/lib/place/place.module.js → esm2020/lib/place/place.module.mjs} +5 -6
  122. package/esm2020/lib/place/route/parameter-definition.mjs +123 -0
  123. package/esm2020/lib/place/route/visit-sanitiser.mjs +41 -0
  124. package/{esm2015/lib/place/url-service.js → esm2020/lib/place/url-service.mjs} +4 -4
  125. package/esm2020/lib/place/visit.mjs +69 -0
  126. package/{esm2015/lib/services/markdown/markdown.service.js → esm2020/lib/services/markdown/markdown.service.mjs} +5 -5
  127. package/esm2020/lib/services/markdown/pill-plugin.mjs +37 -0
  128. package/esm2020/lib/services/visibility-service.mjs +79 -0
  129. package/fesm2015/{coolon-angular-ui-powerups.js → coolon-angular-ui-powerups.mjs} +1220 -1430
  130. package/fesm2015/coolon-angular-ui-powerups.mjs.map +1 -0
  131. package/fesm2020/coolon-angular-ui-powerups.mjs +9895 -0
  132. package/fesm2020/coolon-angular-ui-powerups.mjs.map +1 -0
  133. package/lib/services/visibility-service.d.ts +5 -1
  134. package/package.json +37 -25
  135. package/schematics/activity/index.js +3 -3
  136. package/schematics/activity/index.js.map +1 -1
  137. package/schematics/aup-i18n/index.js +7 -7
  138. package/schematics/aup-i18n/index.js.map +1 -1
  139. package/schematics/bootstrap-app/index.js +9 -9
  140. package/schematics/bootstrap-app/index.js.map +1 -1
  141. package/schematics/bootstrap-app/templates/src/styles.scss.template +2 -2
  142. package/schematics/component/index.js +3 -3
  143. package/schematics/component/index.js.map +1 -1
  144. package/schematics/ng-add/index.js +2 -2
  145. package/schematics/ng-add/index.js.map +1 -1
  146. package/schematics/place-add/index.js +3 -3
  147. package/schematics/place-add/index.js.map +1 -1
  148. package/schematics/place-bootstrap/index.js +1 -1
  149. package/schematics/place-bootstrap/index.js.map +1 -1
  150. package/schematics/place-routes/place-builder.js +6 -6
  151. package/schematics/place-routes/place-builder.js.map +1 -1
  152. package/schematics/place-routes/place-class-scanner.js +3 -3
  153. package/schematics/place-routes/place-class-scanner.js.map +1 -1
  154. package/schematics/place-routes/place-def.js +4 -4
  155. package/schematics/place-routes/place-def.js.map +1 -1
  156. package/schematics/utils/decorators/decorated-class.js +1 -1
  157. package/schematics/utils/decorators/decorated-class.js.map +1 -1
  158. package/schematics/utils/import-def.js +3 -3
  159. package/schematics/utils/import-def.js.map +1 -1
  160. package/schematics/utils/method-scanner.js +4 -4
  161. package/schematics/utils/method-scanner.js.map +1 -1
  162. package/schematics/utils/path-helper.js +3 -3
  163. package/schematics/utils/path-helper.js.map +1 -1
  164. package/schematics/utils/source-file-scanner.js +5 -5
  165. package/schematics/utils/source-file-scanner.js.map +1 -1
  166. package/schematics/utils/source-file-utilities.js +1 -1
  167. package/schematics/utils/source-file-utilities.js.map +1 -1
  168. package/schematics/utils/template-utilities.js +4 -4
  169. package/schematics/utils/template-utilities.js.map +1 -1
  170. package/bundles/coolon-angular-ui-powerups.umd.js +0 -11847
  171. package/bundles/coolon-angular-ui-powerups.umd.js.map +0 -1
  172. package/esm2015/lib/components/busy-overlay/busy-overlay.component.js +0 -36
  173. package/esm2015/lib/components/cards/card-container/card-container.component.js +0 -133
  174. package/esm2015/lib/components/cards/card-stack/card-stack.component.js +0 -85
  175. package/esm2015/lib/components/commands/command/command.component.js +0 -100
  176. package/esm2015/lib/components/commands/command-face.js +0 -112
  177. package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.js +0 -89
  178. package/esm2015/lib/components/commands/group/popup-menu/more-menu.component.js +0 -61
  179. package/esm2015/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.js +0 -104
  180. package/esm2015/lib/components/commands/group/popup-menu/popup-menu.component.js +0 -58
  181. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.js +0 -36
  182. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +0 -76
  183. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js +0 -33
  184. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js +0 -56
  185. package/esm2015/lib/components/forms/number-input/number-input.component.js +0 -37
  186. package/esm2015/lib/components/forms/password-input/password-input.component.js +0 -28
  187. package/esm2015/lib/components/forms/select-input/select-input.component.js +0 -61
  188. package/esm2015/lib/components/forms/string-input/string-input.component.js +0 -52
  189. package/esm2015/lib/components/forms/text-input/text-input.component.js +0 -34
  190. package/esm2015/lib/components/icon/icon.component.js +0 -56
  191. package/esm2015/lib/components/labelled-value/labelled-value.component.js +0 -24
  192. package/esm2015/lib/components/loading-container/loading-container.component.js +0 -54
  193. package/esm2015/lib/components/noop/noop.component.js +0 -17
  194. package/esm2015/lib/components/scroll-container/scroll-container.component.js +0 -19
  195. package/esm2015/lib/components/section-header/section-header.component.js +0 -40
  196. package/esm2015/lib/components/tables/abstract-table-model.js +0 -188
  197. package/esm2015/lib/components/tables/abstract-table.component.js +0 -170
  198. package/esm2015/lib/components/tables/table/column-model.js +0 -389
  199. package/esm2015/lib/components/tables/table/column-template/column-template.directive.js +0 -36
  200. package/esm2015/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.js +0 -26
  201. package/esm2015/lib/components/tables/table/default-header-cell-renderer/default-header-cell-renderer.component.js +0 -19
  202. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.js +0 -60
  203. package/esm2015/lib/components/tables/table/paginator/paginator.component.js +0 -44
  204. package/esm2015/lib/components/tables/table/select-cell-renderer/select-cell-renderer.component.js +0 -32
  205. package/esm2015/lib/components/tables/table/select-header-cell-renderer/select-header-cell-renderer.component.js +0 -37
  206. package/esm2015/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.js +0 -98
  207. package/esm2015/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.js +0 -36
  208. package/esm2015/lib/components/tables/table/table.component.js +0 -100
  209. package/esm2015/lib/components/tables/tree-table/decorated-tree-node.js +0 -171
  210. package/esm2015/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.js +0 -76
  211. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.js +0 -96
  212. package/esm2015/lib/components/tables/tree-table/tree-table-component.js +0 -100
  213. package/esm2015/lib/interaction/activity.js +0 -88
  214. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js +0 -113
  215. package/esm2015/lib/interaction/components/activity-body/activity-body.component.js +0 -27
  216. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +0 -214
  217. package/esm2015/lib/interaction/components/activity-title/activity-title.component.js +0 -45
  218. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.js +0 -28
  219. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.js +0 -26
  220. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.js +0 -34
  221. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.js +0 -95
  222. package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.js +0 -77
  223. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +0 -34
  224. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +0 -34
  225. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.js +0 -39
  226. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +0 -33
  227. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js +0 -176
  228. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +0 -96
  229. package/esm2015/lib/interaction/components/input-activities/input-activity.js +0 -107
  230. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +0 -41
  231. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +0 -58
  232. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +0 -27
  233. package/esm2015/lib/place/components/not-authorised-notice/not-authorised-notice.component.js +0 -17
  234. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +0 -263
  235. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js +0 -97
  236. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +0 -26
  237. package/esm2015/lib/place/guards/noop-auth-guard.service.js +0 -21
  238. package/esm2015/lib/place/guards/place.guard.js +0 -116
  239. package/esm2015/lib/place/navigation/place-component-deactivation-handler.js +0 -88
  240. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js +0 -46
  241. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.js +0 -159
  242. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js +0 -65
  243. package/esm2015/lib/place/navigation/session/navigation-session.js +0 -160
  244. package/esm2015/lib/place/place-component.js +0 -204
  245. package/esm2015/lib/place/place-history.js +0 -139
  246. package/esm2015/lib/place/place-router.js +0 -336
  247. package/esm2015/lib/place/place.decorator.js +0 -19
  248. package/esm2015/lib/place/route/parameter-definition.js +0 -128
  249. package/esm2015/lib/place/route/visit-sanitiser.js +0 -44
  250. package/esm2015/lib/place/visit.js +0 -69
  251. package/esm2015/lib/services/markdown/pill-plugin.js +0 -38
  252. package/esm2015/lib/services/visibility-service.js +0 -75
  253. package/fesm2015/coolon-angular-ui-powerups.js.map +0 -1
  254. /package/{esm2015/coolon-angular-ui-powerups.js → esm2020/coolon-angular-ui-powerups.mjs} +0 -0
  255. /package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  256. /package/{esm2015/lib/animations/exports.js → esm2020/lib/animations/exports.mjs} +0 -0
  257. /package/{esm2015/lib/animations/slide-animations.js → esm2020/lib/animations/slide-animations.mjs} +0 -0
  258. /package/{esm2015/lib/components/alignment.js → esm2020/lib/components/alignment.mjs} +0 -0
  259. /package/{esm2015/lib/components/commands/group/command-container.js → esm2020/lib/components/commands/group/command-container.mjs} +0 -0
  260. /package/{esm2015/lib/components/commands/group/popup-aware.component.js → esm2020/lib/components/commands/group/popup-aware.component.mjs} +0 -0
  261. /package/{esm2015/lib/components/commands/group/popup-container.js → esm2020/lib/components/commands/group/popup-container.mjs} +0 -0
  262. /package/{esm2015/lib/components/exports.js → esm2020/lib/components/exports.mjs} +0 -0
  263. /package/{esm2015/lib/components/tables/column-list-model.js → esm2020/lib/components/tables/column-list-model.mjs} +0 -0
  264. /package/{esm2015/lib/components/tables/edit-session.js → esm2020/lib/components/tables/edit-session.mjs} +0 -0
  265. /package/{esm2015/lib/components/tables/table/cell-editors.js → esm2020/lib/components/tables/table/cell-editors.mjs} +0 -0
  266. /package/{esm2015/lib/components/tables/table/cell-renderer.js → esm2020/lib/components/tables/table/cell-renderer.mjs} +0 -0
  267. /package/{esm2015/lib/components/tables/table/column-text-properties.js → esm2020/lib/components/tables/table/column-text-properties.mjs} +0 -0
  268. /package/{esm2015/lib/components/tables/table/mutable-cell-renderer.js → esm2020/lib/components/tables/table/mutable-cell-renderer.mjs} +0 -0
  269. /package/{esm2015/lib/components/tables/table/table-def.js → esm2020/lib/components/tables/table/table-def.mjs} +0 -0
  270. /package/{esm2015/lib/components/tables/table/table-model.js → esm2020/lib/components/tables/table/table-model.mjs} +0 -0
  271. /package/{esm2015/lib/components/tables/table/text-search-predicate.js → esm2020/lib/components/tables/table/text-search-predicate.mjs} +0 -0
  272. /package/{esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js → esm2020/lib/components/tables/tree-table/flattened-tree-list-model.mjs} +0 -0
  273. /package/{esm2015/lib/components/tables/tree-table/tree-expansion-model.js → esm2020/lib/components/tables/tree-table/tree-expansion-model.mjs} +0 -0
  274. /package/{esm2015/lib/components/tables/tree-table/tree-label-column-model.js → esm2020/lib/components/tables/tree-table/tree-label-column-model.mjs} +0 -0
  275. /package/{esm2015/lib/components/tables/tree-table/tree-table-model.js → esm2020/lib/components/tables/tree-table/tree-table-model.mjs} +0 -0
  276. /package/{esm2015/lib/components/track-by.js → esm2020/lib/components/track-by.mjs} +0 -0
  277. /package/{esm2015/lib/components/types/bounds.class.js → esm2020/lib/components/types/bounds.class.mjs} +0 -0
  278. /package/{esm2015/lib/components/types/dimension.class.js → esm2020/lib/components/types/dimension.class.mjs} +0 -0
  279. /package/{esm2015/lib/components/types/point.class.js → esm2020/lib/components/types/point.class.mjs} +0 -0
  280. /package/{esm2015/lib/directives/exports.js → esm2020/lib/directives/exports.mjs} +0 -0
  281. /package/{esm2015/lib/directives/focus-binding.js → esm2020/lib/directives/focus-binding.mjs} +0 -0
  282. /package/{esm2015/lib/interaction/abstract-interaction-context.js → esm2020/lib/interaction/abstract-interaction-context.mjs} +0 -0
  283. /package/{esm2015/lib/interaction/activity-ref.js → esm2020/lib/interaction/activity-ref.mjs} +0 -0
  284. /package/{esm2015/lib/interaction/alert.js → esm2020/lib/interaction/alert.mjs} +0 -0
  285. /package/{esm2015/lib/interaction/components/editors/edit-context.js → esm2020/lib/interaction/components/editors/edit-context.mjs} +0 -0
  286. /package/{esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.js → esm2020/lib/interaction/components/editors/inline-string-editor/inline-editor-model.mjs} +0 -0
  287. /package/{esm2015/lib/interaction/confirm.js → esm2020/lib/interaction/confirm.mjs} +0 -0
  288. /package/{esm2015/lib/interaction/exports.js → esm2020/lib/interaction/exports.mjs} +0 -0
  289. /package/{esm2015/lib/interaction/in-place-interaction-context.js → esm2020/lib/interaction/in-place-interaction-context.mjs} +0 -0
  290. /package/{esm2015/lib/interaction/interaction-context.js → esm2020/lib/interaction/interaction-context.mjs} +0 -0
  291. /package/{esm2015/lib/interaction/route-synchronisation-adapter.js → esm2020/lib/interaction/route-synchronisation-adapter.mjs} +0 -0
  292. /package/{esm2015/lib/interaction/services/interaction-service-routing-adapter.js → esm2020/lib/interaction/services/interaction-service-routing-adapter.mjs} +0 -0
  293. /package/{esm2015/lib/interaction/services/modal-interaction-context.factory.js → esm2020/lib/interaction/services/modal-interaction-context.factory.mjs} +0 -0
  294. /package/{esm2015/lib/place/components/place-outlet/route-animations.js → esm2020/lib/place/components/place-outlet/route-animations.mjs} +0 -0
  295. /package/{esm2015/lib/place/exports.js → esm2020/lib/place/exports.mjs} +0 -0
  296. /package/{esm2015/lib/place/guards/consolidated-param-map.js → esm2020/lib/place/guards/consolidated-param-map.mjs} +0 -0
  297. /package/{esm2015/lib/place/nav-item.js → esm2020/lib/place/nav-item.mjs} +0 -0
  298. /package/{esm2015/lib/place/navigation/session/abstract-pop-state-navigation.js → esm2020/lib/place/navigation/session/abstract-pop-state-navigation.mjs} +0 -0
  299. /package/{esm2015/lib/place/navigation/session/event-cleanup/event-clean-up-session.js → esm2020/lib/place/navigation/session/event-cleanup/event-clean-up-session.mjs} +0 -0
  300. /package/{esm2015/lib/place/navigation/session/interactions/navigating-during-interaction.js → esm2020/lib/place/navigation/session/interactions/navigating-during-interaction.mjs} +0 -0
  301. /package/{esm2015/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js → esm2020/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.mjs} +0 -0
  302. /package/{esm2015/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js → esm2020/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.mjs} +0 -0
  303. /package/{esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js → esm2020/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs} +0 -0
  304. /package/{esm2015/lib/place/navigation/session/navigating.js → esm2020/lib/place/navigation/session/navigating.mjs} +0 -0
  305. /package/{esm2015/lib/place/navigation/session/navigation-context.js → esm2020/lib/place/navigation/session/navigation-context.mjs} +0 -0
  306. /package/{esm2015/lib/place/navigation/session/pop-state-navigation.js → esm2020/lib/place/navigation/session/pop-state-navigation.mjs} +0 -0
  307. /package/{esm2015/lib/place/place-access-guard.js → esm2020/lib/place/place-access-guard.mjs} +0 -0
  308. /package/{esm2015/lib/place/place-config.js → esm2020/lib/place/place-config.mjs} +0 -0
  309. /package/{esm2015/lib/place/place-definition.js → esm2020/lib/place/place-definition.mjs} +0 -0
  310. /package/{esm2015/lib/place/route/formatter.js → esm2020/lib/place/route/formatter.mjs} +0 -0
  311. /package/{esm2015/lib/place/route/json-types.js → esm2020/lib/place/route/json-types.mjs} +0 -0
  312. /package/{esm2015/lib/place/route/parameter-decorators.js → esm2020/lib/place/route/parameter-decorators.mjs} +0 -0
  313. /package/{esm2015/lib/place/route/parameter-sanitiser.js → esm2020/lib/place/route/parameter-sanitiser.mjs} +0 -0
  314. /package/{esm2015/lib/place/route/parameter-snapshot.js → esm2020/lib/place/route/parameter-snapshot.mjs} +0 -0
  315. /package/{esm2015/lib/place/url-snapshot.js → esm2020/lib/place/url-snapshot.mjs} +0 -0
  316. /package/{esm2015/lib/services/exports.js → esm2020/lib/services/exports.mjs} +0 -0
  317. /package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
@@ -1,107 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Component, HostBinding, HostListener, Inject, Input } from '@angular/core';
3
- import { Command, DirtyTrackingForm } from '@coolon/pectin';
4
- import { isNil } from 'lodash';
5
- import { Enum } from 'typescript-string-enums';
6
- import { Activity, ACTIVITY_DATA } from '../../activity';
7
- import * as i0 from "@angular/core";
8
- // @see https://github.com/ng-packagr/ng-packagr/issues/641 and https://github.com/angular/angular/issues/21123
9
- // we're getting a metadata error for D for no reason that I can find and only during the build (ng serve works fine)
10
- // @dynamic
11
- export class InputActivity extends Activity {
12
- constructor(data) {
13
- var _a, _b;
14
- super();
15
- this.data = data;
16
- this.class = 'aup-input-activity';
17
- const form = new DirtyTrackingForm();
18
- this.valueModel = form.valueModel(this.data.initialValue);
19
- this.valueModel.validateUsing(data.validators || []);
20
- // TODO: move to global configuration
21
- this.confirmFace = (_a = data.confirmFace) !== null && _a !== void 0 ? _a : {
22
- icon: () => 'mat:check'
23
- };
24
- this.cancelFace = (_b = data.cancelFace) !== null && _b !== void 0 ? _b : {
25
- icon: () => 'mat:clear'
26
- };
27
- this.confirmCommand = Command.create(() => __awaiter(this, void 0, void 0, function* () {
28
- if (this.valueModel.validate()) {
29
- if (data.save) {
30
- const self = this;
31
- try {
32
- let allGood = true;
33
- const result = yield data.save(this.valueModel.value, {
34
- injectError(error) {
35
- allGood = false;
36
- self.valueModel.injectErrors([error]);
37
- }
38
- });
39
- if (allGood) {
40
- this.done(this.valueModel.value);
41
- }
42
- }
43
- catch (e) {
44
- console.error(e);
45
- }
46
- }
47
- else {
48
- this.done(this.valueModel.value);
49
- }
50
- }
51
- }));
52
- this.cancelCommand = Command.create(() => {
53
- this.cancel();
54
- });
55
- this.busyWhile(this.confirmCommand.busy);
56
- }
57
- get layout() {
58
- var _a, _b;
59
- return (_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.layout) !== null && _b !== void 0 ? _b : InputActivity.Layout.BLOCK;
60
- }
61
- onActivityReady() {
62
- this.valueModel.focusContext.requestFocus();
63
- }
64
- get additionalCssClassName() {
65
- var _a;
66
- return (_a = this.data.cssClassName) !== null && _a !== void 0 ? _a : '';
67
- }
68
- onEscape() {
69
- if (this.shouldCancelOnEscape() && this.cancelCommand.enabled.value) {
70
- this.cancelCommand.execute();
71
- }
72
- }
73
- shouldCancelOnEscape() {
74
- return isNil(this.data.cancelOnEscape) // we default to true..
75
- || this.data.cancelOnEscape;
76
- }
77
- }
78
- InputActivity.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: InputActivity, deps: [{ token: ACTIVITY_DATA }], target: i0.ɵɵFactoryTarget.Component });
79
- InputActivity.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: InputActivity, selector: "ng-component", inputs: { layout: "layout" }, host: { listeners: { "keydown.escape": "onEscape()" }, properties: { "class": "this.additionalCssClassName", "attr.layout": "this.layout" } }, usesInheritance: true, ngImport: i0, template: ``, isInline: true });
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: InputActivity, decorators: [{
81
- type: Component,
82
- args: [{ template: `` }]
83
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
84
- type: Inject,
85
- args: [ACTIVITY_DATA]
86
- }] }]; }, propDecorators: { class: [{
87
- type: HostBinding,
88
- args: ['class']
89
- }], layout: [{
90
- type: Input
91
- }, {
92
- type: HostBinding,
93
- args: ['attr.layout']
94
- }], additionalCssClassName: [{
95
- type: HostBinding,
96
- args: ["class"]
97
- }], onEscape: [{
98
- type: HostListener,
99
- args: ['keydown.escape']
100
- }] } });
101
- (function (InputActivity) {
102
- InputActivity.Layout = Enum({
103
- INLINE: 'inline',
104
- BLOCK: 'block'
105
- });
106
- })(InputActivity || (InputActivity = {}));
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2lucHV0LWFjdGl2aXRpZXMvaW5wdXQtYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQW1CLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0UsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFekQsZ0hBQWdIO0FBQ2hILHFIQUFxSDtBQUNySCxXQUFXO0FBRVgsTUFBTSxPQUFPLGFBQTBFLFNBQVEsUUFBYztJQWlCM0csWUFBNEMsSUFBTzs7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEa0MsU0FBSSxHQUFKLElBQUksQ0FBRztRQVg3QixVQUFLLEdBQUcsb0JBQW9CLENBQUM7UUFjakQsTUFBTSxJQUFJLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUM7UUFFckQscUNBQXFDO1FBQ3JDLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBQSxJQUFJLENBQUMsV0FBVyxt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QUFPO2dCQU1wQixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZ0JBQWdCOztBQWNoQyxXQUFpQixhQUFhO0lBRWYsb0JBQU0sR0FBRyxJQUFJLENBQUM7UUFDekIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsS0FBSyxFQUFFLE9BQU87S0FDZixDQUFDLENBQUM7QUFtQkwsQ0FBQyxFQXhCZ0IsYUFBYSxLQUFiLGFBQWEsUUF3QjdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tYW5kLCBEaXJ0eVRyYWNraW5nRm9ybSwgRm9ybSwgVmFsaWRhdG9yIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuXG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBFbnVtIH0gZnJvbSAndHlwZXNjcmlwdC1zdHJpbmctZW51bXMnO1xuaW1wb3J0IHsgQ29tbWFuZEZhY2UgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2NvbW1hbmRzL2NvbW1hbmQtZmFjZSc7XG5pbXBvcnQgeyBBY3Rpdml0eSwgQUNUSVZJVFlfREFUQSB9IGZyb20gJy4uLy4uL2FjdGl2aXR5JztcblxuLy8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmctcGFja2Fnci9uZy1wYWNrYWdyL2lzc3Vlcy82NDEgYW5kICBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8yMTEyM1xuLy8gd2UncmUgZ2V0dGluZyBhIG1ldGFkYXRhIGVycm9yIGZvciBEIGZvciBubyByZWFzb24gdGhhdCBJIGNhbiBmaW5kIGFuZCBvbmx5IGR1cmluZyB0aGUgYnVpbGQgKG5nIHNlcnZlIHdvcmtzIGZpbmUpXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7IHRlbXBsYXRlOiBgYCB9KVxuZXhwb3J0IGNsYXNzIElucHV0QWN0aXZpdHk8VCwgRCBleHRlbmRzIElucHV0QWN0aXZpdHkuRGF0YTxUPiA9IElucHV0QWN0aXZpdHkuRGF0YTxUPj4gZXh0ZW5kcyBBY3Rpdml0eTxELCBUPiB7XG5cbiAgcmVhZG9ubHkgY29uZmlybUNvbW1hbmQ6IENvbW1hbmQ8dm9pZD47XG4gIHJlYWRvbmx5IGNhbmNlbENvbW1hbmQ6IENvbW1hbmQ8dm9pZD47XG4gIHJlYWRvbmx5IHZhbHVlTW9kZWw6IEZvcm0uVmFsdWVNb2RlbEJhc2U8VD47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzID0gJ2F1cC1pbnB1dC1hY3Rpdml0eSc7XG5cbiAgcmVhZG9ubHkgY29uZmlybUZhY2U6IENvbW1hbmRGYWNlO1xuICByZWFkb25seSBjYW5jZWxGYWNlOiBDb21tYW5kRmFjZTtcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2F0dHIubGF5b3V0JylcbiAgZ2V0IGxheW91dCgpOiBJbnB1dEFjdGl2aXR5LkxheW91dCB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YT8ubGF5b3V0ID8/IElucHV0QWN0aXZpdHkuTGF5b3V0LkJMT0NLO1xuICB9XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChBQ1RJVklUWV9EQVRBKSByZWFkb25seSBkYXRhOiBEKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGNvbnN0IGZvcm0gPSBuZXcgRGlydHlUcmFja2luZ0Zvcm0oKTtcbiAgICB0aGlzLnZhbHVlTW9kZWwgPSBmb3JtLnZhbHVlTW9kZWw8VD4odGhpcy5kYXRhLmluaXRpYWxWYWx1ZSk7XG4gICAgdGhpcy52YWx1ZU1vZGVsLnZhbGlkYXRlVXNpbmcoZGF0YS52YWxpZGF0b3JzIHx8IFtdKTtcblxuICAgIC8vIFRPRE86IG1vdmUgdG8gZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgICB0aGlzLmNvbmZpcm1GYWNlID0gZGF0YS5jb25maXJtRmFjZSA/PyB7XG4gICAgICBpY29uOiAoKSA9PiAnbWF0OmNoZWNrJ1xuICAgIH07XG4gICAgdGhpcy5jYW5jZWxGYWNlID0gZGF0YS5jYW5jZWxGYWNlID8/IHtcbiAgICAgIGljb246ICgpID0+ICdtYXQ6Y2xlYXInXG4gICAgfTtcblxuICAgIHRoaXMuY29uZmlybUNvbW1hbmQgPSBDb21tYW5kLmNyZWF0ZShhc3luYyAoKSA9PiB7XG4gICAgICBpZiAodGhpcy52YWx1ZU1vZGVsLnZhbGlkYXRlKCkpIHtcbiAgICAgICAgaWYgKGRhdGEuc2F2ZSkge1xuICAgICAgICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsZXQgYWxsR29vZCA9IHRydWU7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBkYXRhLnNhdmUodGhpcy52YWx1ZU1vZGVsLnZhbHVlLCB7XG4gICAgICAgICAgICAgIGluamVjdEVycm9yKGVycm9yOiBzdHJpbmcpIHtcbiAgICAgICAgICAgICAgICBhbGxHb29kID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgc2VsZi52YWx1ZU1vZGVsLmluamVjdEVycm9ycyhbZXJyb3JdKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoYWxsR29vZCkge1xuICAgICAgICAgICAgICB0aGlzLmRvbmUodGhpcy52YWx1ZU1vZGVsLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmRvbmUodGhpcy52YWx1ZU1vZGVsLnZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5jYW5jZWxDb21tYW5kID0gQ29tbWFuZC5jcmVhdGUoKCkgPT4ge1xuICAgICAgdGhpcy5jYW5jZWwoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuYnVzeVdoaWxlKHRoaXMuY29uZmlybUNvbW1hbmQuYnVzeSk7XG4gIH1cblxuICBvbkFjdGl2aXR5UmVhZHkoKSB7XG4gICAgdGhpcy52YWx1ZU1vZGVsLmZvY3VzQ29udGV4dC5yZXF1ZXN0Rm9jdXMoKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZyhcImNsYXNzXCIpXG4gIGdldCBhZGRpdGlvbmFsQ3NzQ2xhc3NOYW1lKCk6c3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLmNzc0NsYXNzTmFtZSA/PyAnJ1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lc2NhcGUnKVxuICBvbkVzY2FwZSgpIHtcbiAgICBpZiAodGhpcy5zaG91bGRDYW5jZWxPbkVzY2FwZSgpICYmIHRoaXMuY2FuY2VsQ29tbWFuZC5lbmFibGVkLnZhbHVlKSB7XG4gICAgICB0aGlzLmNhbmNlbENvbW1hbmQuZXhlY3V0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHNob3VsZENhbmNlbE9uRXNjYXBlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc05pbCh0aGlzLmRhdGEuY2FuY2VsT25Fc2NhcGUpIC8vIHdlIGRlZmF1bHQgdG8gdHJ1ZS4uXG4gICAgICB8fCB0aGlzLmRhdGEuY2FuY2VsT25Fc2NhcGU7XG4gIH1cblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIElucHV0QWN0aXZpdHkge1xuXG4gIGV4cG9ydCBjb25zdCBMYXlvdXQgPSBFbnVtKHtcbiAgICBJTkxJTkU6ICdpbmxpbmUnLFxuICAgIEJMT0NLOiAnYmxvY2snXG4gIH0pO1xuICBleHBvcnQgdHlwZSBMYXlvdXQgPSBFbnVtPHR5cGVvZiBMYXlvdXQ+O1xuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dCB7XG4gICAgaW5qZWN0RXJyb3IoZXJyb3I6IHN0cmluZyk7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIERhdGE8VD4ge1xuICAgIGluaXRpYWxWYWx1ZTogVDtcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICBsYXlvdXQ/OiBJbnB1dEFjdGl2aXR5LkxheW91dFxuICAgIGNvbmZpcm1GYWNlPzogQ29tbWFuZEZhY2UsXG4gICAgY2FuY2VsRmFjZT86IENvbW1hbmRGYWNlLFxuICAgIHZhbGlkYXRvcnM/OiBWYWxpZGF0b3I8VD5bXSxcbiAgICBjYW5jZWxPbkVzY2FwZT86IGJvb2xlYW4sXG4gICAgY3NzQ2xhc3NOYW1lPzogc3RyaW5nLFxuICAgIHNhdmU/KHZhbHVlTW9kZWw6IFQsIGludGVyYWN0aW9uQ29udGV4dD86IENvbnRleHQpOiB2b2lkIHwgUHJvbWlzZTx2b2lkPlxuICB9XG59XG4iXX0=
@@ -1,41 +0,0 @@
1
- import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
2
- import { MatDialog } from '@angular/material/dialog';
3
- import { MAT_DIALOG_DEFAULT_OPTIONS, MatDialogConfig } from '@angular/material/dialog';
4
- import { assert } from '@coolon/typescript-utilities';
5
- import { ModalInteractionContextFactory } from '../modal-interaction-context.factory';
6
- import { DialogInteractionContext } from './dialog-interaction-context';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/material/dialog";
9
- export const DIALOG_INTERACTION_SERVICE_DEFAULTS = new InjectionToken('DIALOG_INTERACTION_SERVICE_DEFAULTS');
10
- export class DialogInteractionContextFactory extends ModalInteractionContextFactory {
11
- constructor(dialogService, dialogServiceDefaults, matDialogDefaultConfig) {
12
- super();
13
- this.dialogService = dialogService;
14
- this.dialogServiceDefaults = dialogServiceDefaults;
15
- this.matDialogDefaultConfig = matDialogDefaultConfig;
16
- assert.notNil(dialogService);
17
- }
18
- createInteractionContext(identifier, api, disableClose) {
19
- const config = Object.assign(Object.assign({ autoFocus: false, hasBackdrop: true, closeOnNavigation: false }, this.matDialogDefaultConfig), this.dialogServiceDefaults);
20
- return new DialogInteractionContext(identifier, api, this.dialogService, config);
21
- }
22
- }
23
- DialogInteractionContextFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DialogInteractionContextFactory, deps: [{ token: i1.MatDialog }, { token: DIALOG_INTERACTION_SERVICE_DEFAULTS, optional: true }, { token: MAT_DIALOG_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
24
- DialogInteractionContextFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DialogInteractionContextFactory, providedIn: 'root' });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DialogInteractionContextFactory, decorators: [{
26
- type: Injectable,
27
- args: [{
28
- providedIn: 'root'
29
- }]
30
- }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i1.MatDialogConfig, decorators: [{
31
- type: Optional
32
- }, {
33
- type: Inject,
34
- args: [DIALOG_INTERACTION_SERVICE_DEFAULTS]
35
- }] }, { type: i1.MatDialogConfig, decorators: [{
36
- type: Optional
37
- }, {
38
- type: Inject,
39
- args: [MAT_DIALOG_DEFAULT_OPTIONS]
40
- }] }]; } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQtZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL3NlcnZpY2VzL21hdC1kaWFsb2ctaW50ZXJhY3Rpb24vZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQtZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBSXRELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFFeEUsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsSUFBSSxjQUFjLENBQXVCLHFDQUFxQyxDQUFDLENBQUM7QUFLbkksTUFBTSxPQUFPLCtCQUFnQyxTQUFRLDhCQUE4QjtJQUlqRixZQUE2QixhQUF3QixFQUN5QixxQkFBMkMsRUFDcEQsc0JBQTRDO1FBRS9HLEtBQUssRUFBRSxDQUFDO1FBSm1CLGtCQUFhLEdBQWIsYUFBYSxDQUFXO1FBQ3lCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBc0I7UUFDcEQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUFzQjtRQUcvRyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxVQUFrQixFQUFFLEdBQTJCLEVBQUUsWUFBc0I7UUFDOUYsTUFBTSxNQUFNLGlDQUNWLFNBQVMsRUFBRSxLQUFLLEVBQ2hCLFdBQVcsRUFBRSxJQUFJLEVBQ2pCLGlCQUFpQixFQUFFLEtBQUssSUFDckIsSUFBSSxDQUFDLHNCQUFzQixHQUMzQixJQUFJLENBQUMscUJBQXFCLENBQzlCLENBQUM7UUFFRixPQUFPLElBQUksd0JBQXdCLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25GLENBQUM7OzZIQXRCVSwrQkFBK0IsMkNBS1YsbUNBQW1DLDZCQUNuQywwQkFBMEI7aUlBTi9DLCtCQUErQixjQUY5QixNQUFNOzRGQUVQLCtCQUErQjtrQkFIM0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1jLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsbUNBQW1DOzswQkFDdEQsUUFBUTs7MEJBQUksTUFBTTsyQkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQm9vbGVhblZhbHVlTW9kZWxDaGFpbiB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IGFzc2VydCB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuXG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuLi8uLi9pbnRlcmFjdGlvbi1jb250ZXh0JztcbmltcG9ydCB7IEludGVyYWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2ludGVyYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kYWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5IH0gZnJvbSAnLi4vbW9kYWwtaW50ZXJhY3Rpb24tY29udGV4dC5mYWN0b3J5JztcbmltcG9ydCB7IERpYWxvZ0ludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4vZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5leHBvcnQgY29uc3QgRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW48TWF0RGlhbG9nQ29uZmlnPGFueT4+KCdESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUycpO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5IGV4dGVuZHMgTW9kYWxJbnRlcmFjdGlvbkNvbnRleHRGYWN0b3J5IHtcblxuICByZWFkb25seSBhY3RpdmU6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBNYXREaWFsb2csXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMpIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2VEZWZhdWx0czogTWF0RGlhbG9nQ29uZmlnPGFueT4sXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMpIHJlYWRvbmx5IG1hdERpYWxvZ0RlZmF1bHRDb25maWc6IE1hdERpYWxvZ0NvbmZpZzxhbnk+XG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgYXNzZXJ0Lm5vdE5pbChkaWFsb2dTZXJ2aWNlKTtcbiAgfVxuXG4gIGNyZWF0ZUludGVyYWN0aW9uQ29udGV4dChpZGVudGlmaWVyOiBzdHJpbmcsIGFwaTogSW50ZXJhY3Rpb25TZXJ2aWNlLkFwaSwgZGlzYWJsZUNsb3NlPzogYm9vbGVhbik6IEludGVyYWN0aW9uQ29udGV4dCB7XG4gICAgY29uc3QgY29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB7XG4gICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICBjbG9zZU9uTmF2aWdhdGlvbjogZmFsc2UsXG4gICAgICAuLi50aGlzLm1hdERpYWxvZ0RlZmF1bHRDb25maWcsXG4gICAgICAuLi50aGlzLmRpYWxvZ1NlcnZpY2VEZWZhdWx0c1xuICAgIH07XG5cbiAgICByZXR1cm4gbmV3IERpYWxvZ0ludGVyYWN0aW9uQ29udGV4dChpZGVudGlmaWVyLCBhcGksIHRoaXMuZGlhbG9nU2VydmljZSwgY29uZmlnKTtcbiAgfVxuXG5cbn1cbiJdfQ==
@@ -1,58 +0,0 @@
1
- import { GarbageCollector, lang } from '@coolon/pectin';
2
- import { assert } from '@coolon/typescript-utilities';
3
- import { AbstractInteractionContext } from '../../abstract-interaction-context';
4
- import { ActivityContainerComponent } from '../../components/activity-container/activity-container.component';
5
- export class DialogInteractionContext extends AbstractInteractionContext {
6
- constructor(identifier, api, dialogService, config) {
7
- super();
8
- this.identifier = identifier;
9
- this.api = api;
10
- this.dialogService = dialogService;
11
- this.config = config;
12
- this.garbage = new GarbageCollector();
13
- assert.notNil(dialogService);
14
- }
15
- cancelActiveActivity() {
16
- return this.activityContainer.cancelActiveActivity();
17
- }
18
- dispose() {
19
- if (this.isActive()) {
20
- lang.illegalState('Dispose called while active.');
21
- }
22
- this.garbage.dispose();
23
- }
24
- registerDisposable(disposable) {
25
- return this.garbage.registerDisposable(disposable);
26
- }
27
- isActive() {
28
- return !!this.activityContainer && this.activityContainer.isActive();
29
- }
30
- createAndLaunchActivity(activityType, data, disableClose) {
31
- assert.isNil(this._currentActivityRef);
32
- const config = Object.assign(Object.assign({}, this.config), {
33
- disableClose,
34
- panelClass: 'dialog-interaction-context'
35
- });
36
- const self = this;
37
- const matDialogRef = this.dialogService.open(ActivityContainerComponent, config);
38
- const activityContainer = this.activityContainer = matDialogRef.componentInstance;
39
- this.activityContainer.initialise(this.identifier, this.api);
40
- const activityResult = this.activityContainer.startActivity(activityType, data);
41
- activityResult.finally(() => matDialogRef.close());
42
- // we need to check if our onDone/onCancel methods above we called or if we were
43
- // closed by the user clicking the backdrop. If the later then we need to cancel our
44
- // activity.
45
- matDialogRef.afterClosed().subscribe(promiseAlreadyFinished => {
46
- if (activityContainer.isActive()) {
47
- activityContainer.cancelActiveActivity();
48
- }
49
- this.activityContainer = null;
50
- });
51
- matDialogRef.updateSize();
52
- matDialogRef.afterOpened().subscribe(promiseAlreadyFinished => {
53
- matDialogRef.updateSize();
54
- });
55
- return activityResult;
56
- }
57
- }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9tYXQtZGlhbG9nLWludGVyYWN0aW9uL2RpYWxvZy1pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBbUQsZ0JBQWdCLEVBQUUsSUFBSSxFQUFTLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBR2hGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBRzlHLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSwwQkFBMEI7SUFNdEUsWUFBcUIsVUFBa0IsRUFDVixHQUEyQixFQUMzQixhQUF3QixFQUNoQyxNQUE0QjtRQUMvQyxLQUFLLEVBQUUsQ0FBQztRQUpXLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDVixRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBVztRQUNoQyxXQUFNLEdBQU4sTUFBTSxDQUFzQjtRQVB6QyxZQUFPLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBU3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1NBQ25EO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsa0JBQWtCLENBQXVCLFVBQWE7UUFDcEQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN2RSxDQUFDO0lBRVMsdUJBQXVCLENBQVUsWUFBOEMsRUFBRSxJQUFPLEVBQUUsWUFBcUI7UUFDdkgsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUV2QyxNQUFNLE1BQU0sbUNBQ1AsSUFBSSxDQUFDLE1BQU0sR0FDWDtZQUNELFlBQVk7WUFDWixVQUFVLEVBQUUsNEJBQTRCO1NBQ3pDLENBQ0YsQ0FBQztRQUNGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxNQUFNLENBQXNELENBQUM7UUFDdEksTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixDQUFDO1FBQ2xGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0QsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFaEYsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNuRCxnRkFBZ0Y7UUFDaEYscUZBQXFGO1FBQ3JGLFlBQVk7UUFDWixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLEVBQUU7WUFDNUQsSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDaEMsaUJBQWlCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzthQUMxQztZQUNELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDMUIsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO1lBQzVELFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXREaWFsb2dDb25maWcsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlLCBEZWxlZ2F0aW5nVmFsdWVNb2RlbCwgRGlzcG9zYWJsZSwgR2FyYmFnZUNvbGxlY3RvciwgbGFuZywgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IEFic3RyYWN0SW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vYWJzdHJhY3QtaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uLy4uL2FjdGl2aXR5JztcbmltcG9ydCB7IEFjdGl2aXR5UmVmIH0gZnJvbSAnLi4vLi4vYWN0aXZpdHktcmVmJztcbmltcG9ydCB7IEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9pbnRlcmFjdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIERpYWxvZ0ludGVyYWN0aW9uQ29udGV4dCBleHRlbmRzIEFic3RyYWN0SW50ZXJhY3Rpb25Db250ZXh0IHtcblxuICBwcml2YXRlIGdhcmJhZ2UgPSBuZXcgR2FyYmFnZUNvbGxlY3RvcigpO1xuICBwcml2YXRlIF9jdXJyZW50QWN0aXZpdHlSZWY6IEFjdGl2aXR5UmVmPGFueSwgYW55LCBhbnk+O1xuICBwcml2YXRlIGFjdGl2aXR5Q29udGFpbmVyOiBBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudDxhbnksIGFueSwgYW55PjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmcsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXBpOiBJbnRlcmFjdGlvblNlcnZpY2UuQXBpLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2U6IE1hdERpYWxvZyxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgY29uZmlnOiBNYXREaWFsb2dDb25maWc8YW55Pikge1xuICAgIHN1cGVyKCk7XG4gICAgYXNzZXJ0Lm5vdE5pbChkaWFsb2dTZXJ2aWNlKTtcbiAgfVxuXG4gIGNhbmNlbEFjdGl2ZUFjdGl2aXR5KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5Q29udGFpbmVyLmNhbmNlbEFjdGl2ZUFjdGl2aXR5KCk7XG4gIH1cblxuICBkaXNwb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKCdEaXNwb3NlIGNhbGxlZCB3aGlsZSBhY3RpdmUuJyk7XG4gICAgfVxuICAgIHRoaXMuZ2FyYmFnZS5kaXNwb3NlKCk7XG4gIH1cblxuICByZWdpc3RlckRpc3Bvc2FibGU8VCBleHRlbmRzIERpc3Bvc2FibGU+KGRpc3Bvc2FibGU6IFQpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5nYXJiYWdlLnJlZ2lzdGVyRGlzcG9zYWJsZShkaXNwb3NhYmxlKTtcbiAgfVxuXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuYWN0aXZpdHlDb250YWluZXIgJiYgdGhpcy5hY3Rpdml0eUNvbnRhaW5lci5pc0FjdGl2ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUFuZExhdW5jaEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE6IEQsIGRpc2FibGVDbG9zZTogYm9vbGVhbik6IFByb21pc2U8Uj4ge1xuICAgIGFzc2VydC5pc05pbCh0aGlzLl9jdXJyZW50QWN0aXZpdHlSZWYpO1xuXG4gICAgY29uc3QgY29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB7XG4gICAgICAuLi50aGlzLmNvbmZpZyxcbiAgICAgIC4uLntcbiAgICAgICAgZGlzYWJsZUNsb3NlLFxuICAgICAgICBwYW5lbENsYXNzOiAnZGlhbG9nLWludGVyYWN0aW9uLWNvbnRleHQnXG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBjb25zdCBtYXREaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCwgY29uZmlnKSBhcyBNYXREaWFsb2dSZWY8QWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ8RCwgUiwgRT4+O1xuICAgIGNvbnN0IGFjdGl2aXR5Q29udGFpbmVyID0gdGhpcy5hY3Rpdml0eUNvbnRhaW5lciA9IG1hdERpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICB0aGlzLmFjdGl2aXR5Q29udGFpbmVyLmluaXRpYWxpc2UodGhpcy5pZGVudGlmaWVyLCB0aGlzLmFwaSk7XG4gICAgY29uc3QgYWN0aXZpdHlSZXN1bHQgPSB0aGlzLmFjdGl2aXR5Q29udGFpbmVyLnN0YXJ0QWN0aXZpdHkoYWN0aXZpdHlUeXBlLCBkYXRhKTtcblxuICAgIGFjdGl2aXR5UmVzdWx0LmZpbmFsbHkoKCkgPT4gbWF0RGlhbG9nUmVmLmNsb3NlKCkpO1xuICAgIC8vIHdlIG5lZWQgdG8gY2hlY2sgaWYgb3VyIG9uRG9uZS9vbkNhbmNlbCBtZXRob2RzIGFib3ZlIHdlIGNhbGxlZCBvciBpZiB3ZSB3ZXJlXG4gICAgLy8gY2xvc2VkIGJ5IHRoZSB1c2VyIGNsaWNraW5nIHRoZSBiYWNrZHJvcC4gIElmIHRoZSBsYXRlciB0aGVuIHdlIG5lZWQgdG8gY2FuY2VsIG91clxuICAgIC8vIGFjdGl2aXR5LlxuICAgIG1hdERpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShwcm9taXNlQWxyZWFkeUZpbmlzaGVkID0+IHtcbiAgICAgIGlmIChhY3Rpdml0eUNvbnRhaW5lci5pc0FjdGl2ZSgpKSB7XG4gICAgICAgIGFjdGl2aXR5Q29udGFpbmVyLmNhbmNlbEFjdGl2ZUFjdGl2aXR5KCk7XG4gICAgICB9XG4gICAgICB0aGlzLmFjdGl2aXR5Q29udGFpbmVyID0gbnVsbDtcbiAgICB9KTtcbiAgICBtYXREaWFsb2dSZWYudXBkYXRlU2l6ZSgpO1xuICAgIG1hdERpYWxvZ1JlZi5hZnRlck9wZW5lZCgpLnN1YnNjcmliZShwcm9taXNlQWxyZWFkeUZpbmlzaGVkID0+IHtcbiAgICAgIG1hdERpYWxvZ1JlZi51cGRhdGVTaXplKCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gYWN0aXZpdHlSZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,27 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { PlaceRouter } from '../../place-router';
3
- import { AbstractPlaceNavigationComponent } from '../abstract-place-navigation.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../place-router";
6
- import * as i2 from "@angular/material/list";
7
- import * as i3 from "../../../components/commands/command-face/command-face.component";
8
- import * as i4 from "@angular/flex-layout";
9
- import * as i5 from "@angular/common";
10
- import * as i6 from "../../../directives/command.directive";
11
- import * as i7 from "@angular/material/tooltip";
12
- export class ListPlaceNavComponent extends AbstractPlaceNavigationComponent {
13
- constructor(router) {
14
- super(router);
15
- }
16
- }
17
- ListPlaceNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ListPlaceNavComponent, deps: [{ token: i1.PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
18
- ListPlaceNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ListPlaceNavComponent, selector: "aup-list-place-nav", usesInheritance: true, ngImport: i0, template: "<mat-nav-list fxFlex>\n <a mat-list-item *ngFor=\"let item of menuItems.value; trackBy: trackByPlaceDef\"\n [pectinCommand]=\"commandFactory.create(item.place)\"\n [class.active]=\"item.active\"\n [matTooltip]=\"getNavigationFace(item.place).tooltip()\">\n <aup-command-face [faces]=\"[getNavigationFace(item.place)]\"></aup-command-face>\n </a>\n</mat-nav-list>\n", styles: [":host{display:flex;flex-direction:column;--selected-border-color: #838383;--selected-color: inherit;--selected-background: #f1f1f1}mat-nav-list{padding-top:0}a{border-right:2px solid transparent}a.active{border-right:2px solid var(--selected-border-color);background:var(--selected-background);color:var(--selected-color)}\n"], components: [{ type: i2.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: i2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i3.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }], directives: [{ type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }, { type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ListPlaceNavComponent, decorators: [{
20
- type: Component,
21
- args: [{
22
- selector: 'aup-list-place-nav',
23
- templateUrl: './list-place-nav.component.html',
24
- styleUrls: ['./list-place-nav.component.scss']
25
- }]
26
- }], ctorParameters: function () { return [{ type: i1.PlaceRouter }]; } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wbGFjZS1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvY29tcG9uZW50cy9saXN0LXBsYWNlLW5hdi9saXN0LXBsYWNlLW5hdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL2xpc3QtcGxhY2UtbmF2L2xpc3QtcGxhY2UtbmF2LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7QUFPMUYsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGdDQUFnQztJQUV6RSxZQUFZLE1BQW1CO1FBQzdCLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDOzttSEFKVSxxQkFBcUI7dUdBQXJCLHFCQUFxQixpRkNUbEMsK1hBUUE7NEZEQ2EscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFdBQVcsRUFBRSxpQ0FBaUM7b0JBQzlDLFNBQVMsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO2lCQUMvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGxhY2VSb3V0ZXIgfSBmcm9tICcuLi8uLi9wbGFjZS1yb3V0ZXInO1xuaW1wb3J0IHsgQWJzdHJhY3RQbGFjZU5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1saXN0LXBsYWNlLW5hdicsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LXBsYWNlLW5hdi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpc3QtcGxhY2UtbmF2LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTGlzdFBsYWNlTmF2Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RQbGFjZU5hdmlnYXRpb25Db21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHJvdXRlcjogUGxhY2VSb3V0ZXIpIHtcbiAgICBzdXBlcihyb3V0ZXIpO1xuICB9XG59XG4iLCI8bWF0LW5hdi1saXN0IGZ4RmxleD5cbiAgPGEgbWF0LWxpc3QtaXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51SXRlbXMudmFsdWU7IHRyYWNrQnk6IHRyYWNrQnlQbGFjZURlZlwiXG4gICAgIFtwZWN0aW5Db21tYW5kXT1cImNvbW1hbmRGYWN0b3J5LmNyZWF0ZShpdGVtLnBsYWNlKVwiXG4gICAgIFtjbGFzcy5hY3RpdmVdPVwiaXRlbS5hY3RpdmVcIlxuICAgICBbbWF0VG9vbHRpcF09XCJnZXROYXZpZ2F0aW9uRmFjZShpdGVtLnBsYWNlKS50b29sdGlwKClcIj5cbiAgICA8YXVwLWNvbW1hbmQtZmFjZSBbZmFjZXNdPVwiW2dldE5hdmlnYXRpb25GYWNlKGl0ZW0ucGxhY2UpXVwiPjwvYXVwLWNvbW1hbmQtZmFjZT5cbiAgPC9hPlxuPC9tYXQtbmF2LWxpc3Q+XG4iXX0=
@@ -1,17 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class NotAuthorisedNoticeComponent {
4
- constructor() {
5
- }
6
- }
7
- NotAuthorisedNoticeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NotAuthorisedNoticeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
- NotAuthorisedNoticeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: NotAuthorisedNoticeComponent, selector: "aup-not-authorised-notice", ngImport: i0, template: "<p>You are not authorised to access this page</p>\n", styles: [":host{display:flex;flex-direction:column;align-items:center;justify-content:center}\n"] });
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NotAuthorisedNoticeComponent, decorators: [{
10
- type: Component,
11
- args: [{
12
- selector: 'aup-not-authorised-notice',
13
- templateUrl: './not-authorised-notice.component.html',
14
- styleUrls: ['./not-authorised-notice.component.scss']
15
- }]
16
- }], ctorParameters: function () { return []; } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90LWF1dGhvcmlzZWQtbm90aWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL2NvbXBvbmVudHMvbm90LWF1dGhvcmlzZWQtbm90aWNlL25vdC1hdXRob3Jpc2VkLW5vdGljZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL25vdC1hdXRob3Jpc2VkLW5vdGljZS9ub3QtYXV0aG9yaXNlZC1ub3RpY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLDRCQUE0QjtJQUV2QztJQUNBLENBQUM7OzBIQUhVLDRCQUE0Qjs4R0FBNUIsNEJBQTRCLGlFQ1B6QyxxREFDQTs0RkRNYSw0QkFBNEI7a0JBTHhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsV0FBVyxFQUFFLHdDQUF3QztvQkFDckQsU0FBUyxFQUFFLENBQUMsd0NBQXdDLENBQUM7aUJBQ3REIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1ub3QtYXV0aG9yaXNlZC1ub3RpY2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vbm90LWF1dGhvcmlzZWQtbm90aWNlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbm90LWF1dGhvcmlzZWQtbm90aWNlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTm90QXV0aG9yaXNlZE5vdGljZUNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cbn1cbiIsIjxwPllvdSBhcmUgbm90IGF1dGhvcmlzZWQgdG8gYWNjZXNzIHRoaXMgcGFnZTwvcD5cbiJdfQ==
@@ -1,263 +0,0 @@
1
- import { __awaiter, __decorate, __metadata } from "tslib";
2
- import { ComponentPortal } from '@angular/cdk/portal';
3
- import { ChangeDetectorRef, Component, EventEmitter, HostBinding, Inject, InjectionToken, Input, Optional, Output, SkipSelf, ViewChild } from '@angular/core';
4
- import { Router, RouterOutlet } from '@angular/router';
5
- import { DebugContext, Dsl, lang, ListModel, MutableValueModel, StoreInListModel, StoreInValueModel, TrackExternal, ValueModel } from '@coolon/pectin';
6
- import { isNil } from 'lodash';
7
- import { DisposableComponent } from '../../../components/disposable-component';
8
- import { AUP_PLACE_CONFIG } from '../../place-config';
9
- import { PlaceRouter } from '../../place-router';
10
- import { NotAuthorisedNoticeComponent } from '../not-authorised-notice/not-authorised-notice.component';
11
- import { LEFT_RIGHT_PLACE_ANIMATION } from './route-animations';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/router";
14
- import * as i2 from "../../place-router";
15
- import * as i3 from "@angular/common";
16
- import * as i4 from "@angular/cdk/scrolling";
17
- import * as i5 from "@angular/cdk/portal";
18
- export const AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT = new InjectionToken('AUP_UNAUTHORISED_PLACE_COMPONENT');
19
- export class PlaceOutletComponent extends DisposableComponent {
20
- constructor(router, placeRouter, placeConfig, unauthorisedPlaceNotice, parentOutlet, cdr) {
21
- super();
22
- this.router = router;
23
- this.placeRouter = placeRouter;
24
- this.placeConfig = placeConfig;
25
- this.cdr = cdr;
26
- this.placeChanged = new EventEmitter();
27
- this.outletActivated = new MutableValueModel(false);
28
- this._activatedRouteModel = new MutableValueModel();
29
- this._activePlaceModel = new MutableValueModel();
30
- this.initialPlaceIndex = null;
31
- this._isPushingVisitToRoute = new MutableValueModel(false);
32
- this.isVeryFirstLoad = true;
33
- const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
34
- this.parentOutletModel = new MutableValueModel(parentOutlet);
35
- const defaultPlaceAnimationOrder = chain(this.parentOutletModel)
36
- .pullValueModel(o => o.activePlaceModel)
37
- .pluck('placeDefinition')
38
- .pluckList('children')
39
- .pluck('component');
40
- const activatePlaceType = chain(this.activePlaceModel).map(p => p.constructor);
41
- this.placesInAnimationOrder = chain(this.customPlaceAnimationOrderModel)
42
- .otherwise(defaultPlaceAnimationOrder);
43
- this.activePlaceAnimationPosition = this.placesInAnimationOrder
44
- .reduce((placesInOrder) => {
45
- let placeIndex = 0;
46
- if (activatePlaceType.value) {
47
- placeIndex = placesInOrder.indexOf(activatePlaceType.value);
48
- if (isNil(this.initialPlaceIndex)) {
49
- this.initialPlaceIndex = placeIndex;
50
- }
51
- }
52
- return isNil(this.initialPlaceIndex) ? 0 : placeIndex - this.initialPlaceIndex;
53
- }, { dependsOn: activatePlaceType });
54
- this.animationSupported = this.placesInAnimationOrder.count().isGreaterThan(0);
55
- this.animationEnabled = valueOf.all(this.animateModel, this.animationSupported).areTruthy();
56
- // Extract our visit model from the place router.
57
- this._activePlaceDefinition = chain(this._activePlaceModel).pluck('placeDefinition');
58
- this.routerVisitModel = chain(placeRouter.state).map(state => state.getVisitFor(this._activePlaceDefinition.value), { dependsOn: this._activePlaceDefinition });
59
- this.navigationInProgress = chain(this.placeRouter.navigationInProgress);
60
- when(this.navigationInProgress).becomesFalsey(() => {
61
- this.checkStateAndInitialise();
62
- });
63
- when(this.outletActivated).becomesTruthy(() => {
64
- this.checkStateAndInitialise();
65
- });
66
- chain(this._activePlaceModel)
67
- .postponeWhile(this.navigationInProgress)
68
- .subscribe(place => this.placeChanged.emit(place));
69
- this.authorised = chain(placeRouter.accessGuard).map(guard => guard.isAuthorised(this._activePlaceDefinition.value), {
70
- dependsOn: this._activePlaceDefinition,
71
- postponeWhile: chain(this._activePlaceDefinition).isNil()
72
- }).otherwise(true); // if we don't have a place def yet we need to show the outlet so we get one injected.
73
- this.notAuthorisedNoticePortal = new ComponentPortal(unauthorisedPlaceNotice !== null && unauthorisedPlaceNotice !== void 0 ? unauthorisedPlaceNotice : NotAuthorisedNoticeComponent);
74
- }
75
- // @Trace()
76
- ngOnInit() {
77
- }
78
- // @Trace()
79
- getAnimationOrder() {
80
- return this.activePlaceAnimationPosition.value;
81
- }
82
- get animationDuration() {
83
- return this.placeConfig && this.placeConfig.animationDuration ? this.placeConfig.animationDuration : '500ms';
84
- }
85
- get isAuthorised() {
86
- return this.authorised.value;
87
- }
88
- // @Trace()
89
- navigate(visit) {
90
- // const place = this.placesInAnimationOrder.query().findMatching(p => visit.placeDefinition.component === p);
91
- // if (!place) {
92
- // lang.illegalState()
93
- // }
94
- this.placeRouter.navigate(visit, {
95
- relativeTo: this.parentOutlet ? this.parentOutlet.activatedRouteModel.value : null
96
- });
97
- }
98
- get parentOutlet() {
99
- return this.parentOutletModel.value;
100
- }
101
- get activePlaceModel() {
102
- return this._activePlaceModel.readonly;
103
- }
104
- get activatedRouteModel() {
105
- return this._activatedRouteModel.readonly;
106
- }
107
- // @Trace()
108
- onOutletActivated(routerOutlet, place) {
109
- this._activatedRouteModel.value = routerOutlet.activatedRoute;
110
- this._activePlaceModel.value = place;
111
- this.validateAnimationState(place);
112
- this.outletActivated.value = true;
113
- this.checkStateAndInitialise();
114
- }
115
- validateAnimationState(place) {
116
- if (this.animateModel.value) {
117
- if (this.placesInAnimationOrder.length < 1) {
118
- console.error('PlaceOutlet.animate === true but placeAnimationOrder has not been set. Animation is disabled.');
119
- }
120
- else {
121
- if (!this.placesInAnimationOrder.query().includes(place.placeDefinition.component)) {
122
- console.error(`PlaceOutlet.animate === true but placeAnimationOrder doesn't contain ${place.placeDefinition.component.name}.`);
123
- }
124
- }
125
- }
126
- }
127
- // @Trace()
128
- onOutletDeactivated() {
129
- this.outletActivated.value = false;
130
- this._activePlaceModel.value = null;
131
- this._activatedRouteModel.value = null;
132
- }
133
- // @Trace()
134
- checkStateAndInitialise() {
135
- const routerVisit = this.routerVisitModel.value;
136
- const activePlace = this.activePlaceModel.value;
137
- if (routerVisit && activePlace && !activePlace.isInitialised()) {
138
- if (routerVisit.placeDefinition !== activePlace.placeDefinition) {
139
- lang.illegalState('wrong visit!!!');
140
- }
141
- this.initialisePlace(routerVisit, activePlace);
142
- this.cdr.detectChanges();
143
- }
144
- }
145
- initialisePlace(routerVisit, activePlace) {
146
- const visitModel = new MutableValueModel(routerVisit);
147
- DebugContext.tag(visitModel, `PlaceOutletComponent[${activePlace.constructor.name})].visitModel`);
148
- activePlace.initialiseVisit(routerVisit, (current, previous) => {
149
- this.pushVisitChangeToRoute(previous, current);
150
- });
151
- const finishPlaceLoad = () => {
152
- this._activePlaceModel.value._notifyActive(true);
153
- };
154
- if (!this.animationEnabled.value || this.isVeryFirstLoad) {
155
- // if animation is disabled or this is the very first load then
156
- // we won't get our animation done callback so we finish the
157
- // process here and now.
158
- this.isVeryFirstLoad = false;
159
- finishPlaceLoad();
160
- }
161
- else {
162
- this.onAnimationFinishedJob = finishPlaceLoad;
163
- }
164
- const { when, chain, valueOf } = Dsl.disposeWith(activePlace);
165
- when(this.routerVisitModel)
166
- .changes(visit => {
167
- console.log("routerVisitModel.change", { routerVisitModel: this.routerVisitModel.value });
168
- this.pushVisitChangeToComponent(activePlace, visit);
169
- }, {
170
- unless: valueOf.any(this._isPushingVisitToRoute, this.routerVisitModel.isNil()).areTruthy()
171
- });
172
- }
173
- pushVisitChangeToComponent(activePlace, visit) {
174
- activePlace.updateVisit(visit);
175
- }
176
- pushVisitChangeToRoute(previous, current) {
177
- return __awaiter(this, void 0, void 0, function* () {
178
- try {
179
- this._isPushingVisitToRoute.value = true;
180
- yield this.placeRouter.pushVisitChangesToRoute(previous, current);
181
- }
182
- finally {
183
- this._isPushingVisitToRoute.value = false;
184
- }
185
- // sanitisers may have adjusted other values in the visit to we check and write it back.
186
- const routerVisit = this.routerVisitModel.value; // this is occasionally null... need to investigate if that's a normal state or not.
187
- if (routerVisit && current.hasRoutingChangedFrom(routerVisit)) {
188
- this.pushVisitChangeToComponent(this.activePlaceModel.value, routerVisit);
189
- }
190
- });
191
- }
192
- // @Trace()
193
- animationStarted() {
194
- // console.log({ activePlace: this._activePlaceModel.value });
195
- }
196
- // @Trace()
197
- animationDone() {
198
- if (this.onAnimationFinishedJob) {
199
- this.onAnimationFinishedJob();
200
- this.onAnimationFinishedJob = undefined;
201
- }
202
- }
203
- }
204
- PlaceOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PlaceOutletComponent, deps: [{ token: i1.Router }, { token: i2.PlaceRouter }, { token: AUP_PLACE_CONFIG, optional: true }, { token: AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT, optional: true }, { token: PlaceOutletComponent, optional: true, skipSelf: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
205
- PlaceOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: PlaceOutletComponent, selector: "aup-place-outlet", inputs: { animate: "animate", animateModel: "animateModel", customPlaceAnimationOrderModel: ["placeAnimationOrderModel", "customPlaceAnimationOrderModel"], customPlaceAnimationOrder: ["placeAnimationOrder", "customPlaceAnimationOrder"] }, outputs: { placeChanged: "placeChanged" }, host: { properties: { "class.authorised": "this.isAuthorised" } }, viewQueries: [{ propertyName: "routerOut", first: true, predicate: ["routeOutlet"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"animationEnabled.value\">\n <div class=\"router-outlet-container\"\n cdkScrollable\n [@routeAnimations]=\"{value: getAnimationOrder(), params:{duration: animationDuration}}\"\n (@routeAnimations.start)=\"animationStarted()\"\n (@routeAnimations.done)=\"animationDone()\"\n >\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"!animationEnabled.value\">\n <div class=\"router-outlet-container\"\n cdkScrollable>\n <router-outlet #routerOutlet=\"outlet\"\n (activate)=\"onOutletActivated(routerOutlet, $event)\"\n (deactivate)=\"onOutletDeactivated()\">\n </router-outlet>\n </div>\n</ng-container>\n\n<div class=\"not-authorised-component-container\" *ngIf=\"!authorised.value\">\n <ng-template [cdkPortalOutlet]=\"notAuthorisedNoticePortal\"></ng-template>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-height:0}:host:not(.authorised) .router-outlet-container{display:none}.router-outlet-container{flex:1;display:block;position:relative;min-height:0;overflow-x:hidden;overflow-y:auto}router-outlet{display:none}.not-authorised-component-container{flex:1;display:grid;grid-template-columns:1fr;grid-template-rows:1fr}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate"], exportAs: ["outlet"] }, { type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [LEFT_RIGHT_PLACE_ANIMATION] });
206
- __decorate([
207
- StoreInValueModel('animateModel'),
208
- __metadata("design:type", Boolean)
209
- ], PlaceOutletComponent.prototype, "animate", void 0);
210
- __decorate([
211
- TrackExternal({ defaultValue: true }),
212
- __metadata("design:type", ValueModel)
213
- ], PlaceOutletComponent.prototype, "animateModel", void 0);
214
- __decorate([
215
- TrackExternal(),
216
- __metadata("design:type", ListModel)
217
- ], PlaceOutletComponent.prototype, "customPlaceAnimationOrderModel", void 0);
218
- __decorate([
219
- StoreInListModel('customPlaceAnimationOrderModel'),
220
- __metadata("design:type", Array)
221
- ], PlaceOutletComponent.prototype, "customPlaceAnimationOrder", void 0);
222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PlaceOutletComponent, decorators: [{
223
- type: Component,
224
- args: [{
225
- selector: 'aup-place-outlet',
226
- templateUrl: './place-outlet.component.html',
227
- styleUrls: ['./place-outlet.component.scss'],
228
- animations: [LEFT_RIGHT_PLACE_ANIMATION]
229
- }]
230
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.PlaceRouter }, { type: undefined, decorators: [{
231
- type: Optional
232
- }, {
233
- type: Inject,
234
- args: [AUP_PLACE_CONFIG]
235
- }] }, { type: undefined, decorators: [{
236
- type: Optional
237
- }, {
238
- type: Inject,
239
- args: [AUP_UNAUTHORISED_PLACE_NOTICE_COMPONENT]
240
- }] }, { type: PlaceOutletComponent, decorators: [{
241
- type: SkipSelf
242
- }, {
243
- type: Optional
244
- }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { animate: [{
245
- type: Input
246
- }], animateModel: [{
247
- type: Input
248
- }], customPlaceAnimationOrderModel: [{
249
- type: Input,
250
- args: ['placeAnimationOrderModel']
251
- }], customPlaceAnimationOrder: [{
252
- type: Input,
253
- args: ['placeAnimationOrder']
254
- }], placeChanged: [{
255
- type: Output
256
- }], routerOut: [{
257
- type: ViewChild,
258
- args: ['routeOutlet', { static: true }]
259
- }], isAuthorised: [{
260
- type: HostBinding,
261
- args: ["class.authorised"]
262
- }] } });
263
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL2NvbXBvbmVudHMvcGxhY2Utb3V0bGV0L3BsYWNlLW91dGxldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQUUsV0FBVyxFQUN6QixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFrQixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkUsT0FBTyxFQUdMLFlBQVksRUFDWixHQUFHLEVBQ0gsSUFBSSxFQUNKLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsVUFBVSxFQUVYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMvQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUcvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWUsTUFBTSxvQkFBb0IsQ0FBQztBQUVuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHakQsT0FBTyxFQUFFLDRCQUE0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QztBQUl6RTtJQUQrQixnQkFBZ0IsQ0FBQyxnQ0FBZ0MsQ0FBQzs7dUVBQ3RCOzRGQWRoRCxvQkFBb0I7a0JBTmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsV0FBVyxFQUFFLCtCQUErQjtvQkFDNUMsU0FBUyxFQUFFLENBQUMsK0JBQStCLENBQUM7b0JBQzVDLFVBQVUsRUFBRSxDQUFDLDBCQUEwQixDQUFDO2lCQUN6Qzs7MEJBaURjLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDbkMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx1Q0FBdUM7OEJBQ3JCLG9CQUFvQjswQkFBekQsUUFBUTs7MEJBQUksUUFBUTs0RUEvQ2pDLE9BQU87c0JBRE4sS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBS04sOEJBQThCO3NCQUQ3QixLQUFLO3VCQUFDLDBCQUEwQjtnQkFLakMseUJBQXlCO3NCQUR4QixLQUFLO3VCQUFDLHFCQUFxQjtnQkFJbkIsWUFBWTtzQkFEcEIsTUFBTTtnQkFJUCxTQUFTO3NCQURSLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkEwR3RDLFlBQVk7c0JBRGYsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNraXBTZWxmLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyLCBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQm9vbGVhblZhbHVlTW9kZWxDaGFpbixcbiAgQ29uc3RydWN0YWJsZSxcbiAgRGVidWdDb250ZXh0LFxuICBEc2wsXG4gIGxhbmcsXG4gIExpc3RNb2RlbCxcbiAgTGlzdE1vZGVsQ2hhaW4sXG4gIE11dGFibGVWYWx1ZU1vZGVsLFxuICBTdG9yZUluTGlzdE1vZGVsLFxuICBTdG9yZUluVmFsdWVNb2RlbCxcbiAgVHJhY2tFeHRlcm5hbCxcbiAgVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbENoYWluXG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuaW1wb3J0IHsgaXNOaWwgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wbGFjZS1jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBBVVBfUExBQ0VfQ09ORklHLCBQbGFjZUNvbmZpZyB9IGZyb20gJy4uLy4uL3BsYWNlLWNvbmZpZyc7XG5pbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuLi8uLi9wbGFjZS1kZWZpbml0aW9uJztcbmltcG9ydCB7IFBsYWNlUm91dGVyIH0gZnJvbSAnLi4vLi4vcGxhY2Utcm91dGVyJztcbmltcG9ydCB7IFZpc2l0IH0gZnJvbSAnLi4vLi4vdmlzaXQnO1xuXG5pbXBvcnQgeyBOb3RBdXRob3Jpc2VkTm90aWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vbm90LWF1dGhvcmlzZWQtbm90aWNlL25vdC1hdXRob3Jpc2VkLW5vdGljZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTEVGVF9SSUdIVF9QTEFDRV9BTklNQVRJT04gfSBmcm9tICcuL3JvdXRlLWFuaW1hdGlvbnMnO1xuXG5cbmV4cG9ydCBjb25zdCBBVVBfVU5BVVRIT1JJU0VEX1BMQUNFX05PVElDRV9DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29uc3RydWN0YWJsZTxhbnk+PignQVVQX1VOQVVUSE9SSVNFRF9QTEFDRV9DT01QT05FTlQnKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLXBsYWNlLW91dGxldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wbGFjZS1vdXRsZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wbGFjZS1vdXRsZXQuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW0xFRlRfUklHSFRfUExBQ0VfQU5JTUFUSU9OXVxufSlcbmV4cG9ydCBjbGFzcyBQbGFjZU91dGxldENvbXBvbmVudCBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluVmFsdWVNb2RlbCgnYW5pbWF0ZU1vZGVsJylcbiAgYW5pbWF0ZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSBAVHJhY2tFeHRlcm5hbCh7IGRlZmF1bHRWYWx1ZTogdHJ1ZSB9KVxuICBhbmltYXRlTW9kZWw6IFZhbHVlTW9kZWw8Ym9vbGVhbj47XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3BsYWNlQW5pbWF0aW9uT3JkZXJNb2RlbCcpIEBUcmFja0V4dGVybmFsKClcbiAgY3VzdG9tUGxhY2VBbmltYXRpb25PcmRlck1vZGVsOiBMaXN0TW9kZWw8Q29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4+O1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdwbGFjZUFuaW1hdGlvbk9yZGVyJykgQFN0b3JlSW5MaXN0TW9kZWwoJ2N1c3RvbVBsYWNlQW5pbWF0aW9uT3JkZXJNb2RlbCcpXG4gIGN1c3RvbVBsYWNlQW5pbWF0aW9uT3JkZXI6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+W107XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHBsYWNlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UGxhY2VDb21wb25lbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgncm91dGVPdXRsZXQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICByb3V0ZXJPdXQ6IFJvdXRlck91dGxldDtcblxuICBwcml2YXRlIG9uQW5pbWF0aW9uRmluaXNoZWRKb2I6ICgpID0+IHZvaWQ7XG5cblxuICBwcml2YXRlIG91dGxldEFjdGl2YXRlZCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbChmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2YXRlZFJvdXRlTW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8QWN0aXZhdGVkUm91dGU+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlTW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8UGxhY2VDb21wb25lbnQ+KCk7XG5cbiAgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlRGVmaW5pdGlvbjogVmFsdWVNb2RlbENoYWluPFBsYWNlRGVmaW5pdGlvbj47XG5cbiAgcHJpdmF0ZSBwYXJlbnRPdXRsZXRNb2RlbDogTXV0YWJsZVZhbHVlTW9kZWw8UGxhY2VPdXRsZXRDb21wb25lbnQ+O1xuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlUGxhY2VBbmltYXRpb25Qb3NpdGlvbjogVmFsdWVNb2RlbENoYWluPG51bWJlcj47XG5cbiAgcHJpdmF0ZSBpbml0aWFsUGxhY2VJbmRleDogbnVtYmVyID0gbnVsbDtcbiAgcHJpdmF0ZSByb3V0ZXJWaXNpdE1vZGVsOiBWYWx1ZU1vZGVsQ2hhaW48VmlzaXQ+O1xuICBwcml2YXRlIF9pc1B1c2hpbmdWaXNpdFRvUm91dGUgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIG5hdmlnYXRpb25JblByb2dyZXNzOiBWYWx1ZU1vZGVsQ2hhaW48Ym9vbGVhbj47XG5cbiAgcHJpdmF0ZSBpc1ZlcnlGaXJzdExvYWQgPSB0cnVlO1xuICBwcml2YXRlIHBsYWNlc0luQW5pbWF0aW9uT3JkZXI6IExpc3RNb2RlbENoYWluPENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+PjtcbiAgcHJpdmF0ZSBhbmltYXRpb25TdXBwb3J0ZWQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHJlYWRvbmx5IGFuaW1hdGlvbkVuYWJsZWQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHJlYWRvbmx5IGF1dGhvcmlzZWQ6IFZhbHVlTW9kZWxDaGFpbjxib29sZWFuPjtcbiAgcmVhZG9ubHkgbm90QXV0aG9yaXNlZE5vdGljZVBvcnRhbDogQ29tcG9uZW50UG9ydGFsPGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIsXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVVQX1BMQUNFX0NPTkZJRykgcmVhZG9ubHkgcGxhY2VDb25maWc6IFBsYWNlQ29uZmlnLFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFVUF9VTkFVVEhPUklTRURfUExBQ0VfTk9USUNFX0NPTVBPTkVOVCkgdW5hdXRob3Jpc2VkUGxhY2VOb3RpY2U6IENvbnN0cnVjdGFibGU8YW55PixcbiAgICAgICAgICAgICAgQFNraXBTZWxmKCkgQE9wdGlvbmFsKCkgcGFyZW50T3V0bGV0OiBQbGFjZU91dGxldENvbXBvbmVudCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuXG4gICAgdGhpcy5wYXJlbnRPdXRsZXRNb2RlbCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbChwYXJlbnRPdXRsZXQpO1xuXG4gICAgY29uc3QgZGVmYXVsdFBsYWNlQW5pbWF0aW9uT3JkZXIgPSBjaGFpbih0aGlzLnBhcmVudE91dGxldE1vZGVsKVxuICAgICAgLnB1bGxWYWx1ZU1vZGVsKG8gPT4gby5hY3RpdmVQbGFjZU1vZGVsKVxuICAgICAgLnBsdWNrKCdwbGFjZURlZmluaXRpb24nKVxuICAgICAgLnBsdWNrTGlzdCgnY2hpbGRyZW4nKVxuICAgICAgLnBsdWNrKCdjb21wb25lbnQnKTtcblxuICAgIGNvbnN0IGFjdGl2YXRlUGxhY2VUeXBlID0gY2hhaW4odGhpcy5hY3RpdmVQbGFjZU1vZGVsKS5tYXAocCA9PiBwLmNvbnN0cnVjdG9yIGFzIENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTtcblxuICAgIHRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlciA9IGNoYWluKHRoaXMuY3VzdG9tUGxhY2VBbmltYXRpb25PcmRlck1vZGVsKVxuICAgICAgLm90aGVyd2lzZShkZWZhdWx0UGxhY2VBbmltYXRpb25PcmRlcik7XG5cbiAgICB0aGlzLmFjdGl2ZVBsYWNlQW5pbWF0aW9uUG9zaXRpb24gPSB0aGlzLnBsYWNlc0luQW5pbWF0aW9uT3JkZXJcbiAgICAgIC5yZWR1Y2UoKHBsYWNlc0luT3JkZXIpID0+IHtcbiAgICAgICAgbGV0IHBsYWNlSW5kZXggPSAwO1xuICAgICAgICBpZiAoYWN0aXZhdGVQbGFjZVR5cGUudmFsdWUpIHtcbiAgICAgICAgICBwbGFjZUluZGV4ID0gcGxhY2VzSW5PcmRlci5pbmRleE9mKGFjdGl2YXRlUGxhY2VUeXBlLnZhbHVlKTtcbiAgICAgICAgICBpZiAoaXNOaWwodGhpcy5pbml0aWFsUGxhY2VJbmRleCkpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbFBsYWNlSW5kZXggPSBwbGFjZUluZGV4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNOaWwodGhpcy5pbml0aWFsUGxhY2VJbmRleCkgPyAwIDogcGxhY2VJbmRleCAtIHRoaXMuaW5pdGlhbFBsYWNlSW5kZXg7XG4gICAgICB9LCB7IGRlcGVuZHNPbjogYWN0aXZhdGVQbGFjZVR5cGUgfSk7XG5cbiAgICB0aGlzLmFuaW1hdGlvblN1cHBvcnRlZCA9IHRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlci5jb3VudCgpLmlzR3JlYXRlclRoYW4oMCk7XG4gICAgdGhpcy5hbmltYXRpb25FbmFibGVkID0gdmFsdWVPZi5hbGwoXG4gICAgICB0aGlzLmFuaW1hdGVNb2RlbCxcbiAgICAgIHRoaXMuYW5pbWF0aW9uU3VwcG9ydGVkXG4gICAgKS5hcmVUcnV0aHkoKTtcblxuICAgIC8vIEV4dHJhY3Qgb3VyIHZpc2l0IG1vZGVsIGZyb20gdGhlIHBsYWNlIHJvdXRlci5cbiAgICB0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24gPSBjaGFpbih0aGlzLl9hY3RpdmVQbGFjZU1vZGVsKS5wbHVjaygncGxhY2VEZWZpbml0aW9uJyk7XG4gICAgdGhpcy5yb3V0ZXJWaXNpdE1vZGVsID0gY2hhaW4ocGxhY2VSb3V0ZXIuc3RhdGUpLm1hcChzdGF0ZSA9PiBzdGF0ZS5nZXRWaXNpdEZvcih0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24udmFsdWUpLCB7IGRlcGVuZHNPbjogdGhpcy5fYWN0aXZlUGxhY2VEZWZpbml0aW9uIH0pO1xuXG4gICAgdGhpcy5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyA9IGNoYWluKHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGlvbkluUHJvZ3Jlc3MpO1xuXG4gICAgd2hlbih0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzKS5iZWNvbWVzRmFsc2V5KCgpID0+IHtcbiAgICAgIHRoaXMuY2hlY2tTdGF0ZUFuZEluaXRpYWxpc2UoKTtcbiAgICB9KTtcbiAgICB3aGVuKHRoaXMub3V0bGV0QWN0aXZhdGVkKS5iZWNvbWVzVHJ1dGh5KCgpID0+IHtcbiAgICAgIHRoaXMuY2hlY2tTdGF0ZUFuZEluaXRpYWxpc2UoKTtcbiAgICB9KTtcblxuICAgIGNoYWluKHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwpXG4gICAgICAucG9zdHBvbmVXaGlsZSh0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzKVxuICAgICAgLnN1YnNjcmliZShwbGFjZSA9PiB0aGlzLnBsYWNlQ2hhbmdlZC5lbWl0KHBsYWNlKSk7XG5cbiAgICB0aGlzLmF1dGhvcmlzZWQgPSBjaGFpbihwbGFjZVJvdXRlci5hY2Nlc3NHdWFyZCkubWFwKGd1YXJkID0+IGd1YXJkLmlzQXV0aG9yaXNlZCh0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24udmFsdWUpLCB7XG4gICAgICBkZXBlbmRzT246IHRoaXMuX2FjdGl2ZVBsYWNlRGVmaW5pdGlvbixcbiAgICAgIHBvc3Rwb25lV2hpbGU6IGNoYWluKHRoaXMuX2FjdGl2ZVBsYWNlRGVmaW5pdGlvbikuaXNOaWwoKVxuICAgIH0pLm90aGVyd2lzZSh0cnVlKTsgLy8gaWYgd2UgZG9uJ3QgaGF2ZSBhIHBsYWNlIGRlZiB5ZXQgd2UgbmVlZCB0byBzaG93IHRoZSBvdXRsZXQgc28gd2UgZ2V0IG9uZSBpbmplY3RlZC5cblxuICAgIHRoaXMubm90QXV0aG9yaXNlZE5vdGljZVBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwodW5hdXRob3Jpc2VkUGxhY2VOb3RpY2UgPz8gTm90QXV0aG9yaXNlZE5vdGljZUNvbXBvbmVudCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGdldEFuaW1hdGlvbk9yZGVyKCkge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZVBsYWNlQW5pbWF0aW9uUG9zaXRpb24udmFsdWU7XG4gIH1cblxuICBnZXQgYW5pbWF0aW9uRHVyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMucGxhY2VDb25maWcgJiYgdGhpcy5wbGFjZUNvbmZpZy5hbmltYXRpb25EdXJhdGlvbiA/IHRoaXMucGxhY2VDb25maWcuYW5pbWF0aW9uRHVyYXRpb24gOiAnNTAwbXMnO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuYXV0aG9yaXNlZFwiKVxuICBnZXQgaXNBdXRob3Jpc2VkKCkge1xuICAgIHJldHVybiB0aGlzLmF1dGhvcmlzZWQudmFsdWU7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBuYXZpZ2F0ZSh2aXNpdDogVmlzaXQpIHtcbiAgICAvLyBjb25zdCBwbGFjZSA9IHRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlci5xdWVyeSgpLmZpbmRNYXRjaGluZyhwID0+IHZpc2l0LnBsYWNlRGVmaW5pdGlvbi5jb21wb25lbnQgPT09IHApO1xuICAgIC8vIGlmICghcGxhY2UpIHtcbiAgICAvLyAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoKVxuICAgIC8vIH1cbiAgICB0aGlzLnBsYWNlUm91dGVyLm5hdmlnYXRlKHZpc2l0LCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnBhcmVudE91dGxldCA/IHRoaXMucGFyZW50T3V0bGV0LmFjdGl2YXRlZFJvdXRlTW9kZWwudmFsdWUgOiBudWxsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgcGFyZW50T3V0bGV0KCk6IFBsYWNlT3V0bGV0Q29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnRPdXRsZXRNb2RlbC52YWx1ZTtcbiAgfVxuXG5cbiAgZ2V0IGFjdGl2ZVBsYWNlTW9kZWwoKTogVmFsdWVNb2RlbDxQbGFjZUNvbXBvbmVudD4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnJlYWRvbmx5O1xuICB9XG5cbiAgZ2V0IGFjdGl2YXRlZFJvdXRlTW9kZWwoKTogVmFsdWVNb2RlbDxBY3RpdmF0ZWRSb3V0ZT4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmF0ZWRSb3V0ZU1vZGVsLnJlYWRvbmx5O1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25PdXRsZXRBY3RpdmF0ZWQocm91dGVyT3V0bGV0OiBSb3V0ZXJPdXRsZXQsIHBsYWNlOiBQbGFjZUNvbXBvbmVudCkge1xuICAgIHRoaXMuX2FjdGl2YXRlZFJvdXRlTW9kZWwudmFsdWUgPSByb3V0ZXJPdXRsZXQuYWN0aXZhdGVkUm91dGU7XG4gICAgdGhpcy5fYWN0aXZlUGxhY2VNb2RlbC52YWx1ZSA9IHBsYWNlO1xuICAgIHRoaXMudmFsaWRhdGVBbmltYXRpb25TdGF0ZShwbGFjZSk7XG4gICAgdGhpcy5vdXRsZXRBY3RpdmF0ZWQudmFsdWUgPSB0cnVlO1xuICAgIHRoaXMuY2hlY2tTdGF0ZUFuZEluaXRpYWxpc2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVBbmltYXRpb25TdGF0ZShwbGFjZTogUGxhY2VDb21wb25lbnQpIHtcbiAgICBpZiAodGhpcy5hbmltYXRlTW9kZWwudmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLnBsYWNlc0luQW5pbWF0aW9uT3JkZXIubGVuZ3RoIDwgMSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdQbGFjZU91dGxldC5hbmltYXRlID09PSB0cnVlIGJ1dCBwbGFjZUFuaW1hdGlvbk9yZGVyIGhhcyBub3QgYmVlbiBzZXQuIEFuaW1hdGlvbiBpcyBkaXNhYmxlZC4nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghdGhpcy5wbGFjZXNJbkFuaW1hdGlvbk9yZGVyLnF1ZXJ5KCkuaW5jbHVkZXMocGxhY2UucGxhY2VEZWZpbml0aW9uLmNvbXBvbmVudCkpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBQbGFjZU91dGxldC5hbmltYXRlID09PSB0cnVlIGJ1dCBwbGFjZUFuaW1hdGlvbk9yZGVyIGRvZXNuJ3QgY29udGFpbiAke3BsYWNlLnBsYWNlRGVmaW5pdGlvbi5jb21wb25lbnQubmFtZX0uYCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbk91dGxldERlYWN0aXZhdGVkKCkge1xuICAgIHRoaXMub3V0bGV0QWN0aXZhdGVkLnZhbHVlID0gZmFsc2U7XG4gICAgdGhpcy5fYWN0aXZlUGxhY2VNb2RlbC52YWx1ZSA9IG51bGw7XG4gICAgdGhpcy5fYWN0aXZhdGVkUm91dGVNb2RlbC52YWx1ZSA9IG51bGw7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIGNoZWNrU3RhdGVBbmRJbml0aWFsaXNlKCkge1xuICAgIGNvbnN0IHJvdXRlclZpc2l0ID0gdGhpcy5yb3V0ZXJWaXNpdE1vZGVsLnZhbHVlO1xuICAgIGNvbnN0IGFjdGl2ZVBsYWNlID0gdGhpcy5hY3RpdmVQbGFjZU1vZGVsLnZhbHVlO1xuICAgIGlmIChyb3V0ZXJWaXNpdCAmJiBhY3RpdmVQbGFjZSAmJiAhYWN0aXZlUGxhY2UuaXNJbml0aWFsaXNlZCgpKSB7XG4gICAgICBpZiAocm91dGVyVmlzaXQucGxhY2VEZWZpbml0aW9uICE9PSBhY3RpdmVQbGFjZS5wbGFjZURlZmluaXRpb24pIHtcbiAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoJ3dyb25nIHZpc2l0ISEhJyk7XG4gICAgICB9XG4gICAgICB0aGlzLmluaXRpYWxpc2VQbGFjZShyb3V0ZXJWaXNpdCwgYWN0aXZlUGxhY2UpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXNlUGxhY2Uocm91dGVyVmlzaXQ6IFZpc2l0LCBhY3RpdmVQbGFjZTogUGxhY2VDb21wb25lbnQpIHtcbiAgICBjb25zdCB2aXNpdE1vZGVsID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFZpc2l0Pihyb3V0ZXJWaXNpdCk7XG4gICAgRGVidWdDb250ZXh0LnRhZyh2aXNpdE1vZGVsLCBgUGxhY2VPdXRsZXRDb21wb25lbnRbJHthY3RpdmVQbGFjZS5jb25zdHJ1Y3Rvci5uYW1lfSldLnZpc2l0TW9kZWxgKTtcbiAgICBhY3RpdmVQbGFjZS5pbml0aWFsaXNlVmlzaXQocm91dGVyVmlzaXQsIChjdXJyZW50LCBwcmV2aW91cykgPT4ge1xuICAgICAgdGhpcy5wdXNoVmlzaXRDaGFuZ2VUb1JvdXRlKHByZXZpb3VzLCBjdXJyZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBmaW5pc2hQbGFjZUxvYWQgPSAoKSA9PiB7XG4gICAgICB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnZhbHVlLl9ub3RpZnlBY3RpdmUodHJ1ZSk7XG4gICAgfTtcbiAgICBpZiAoIXRoaXMuYW5pbWF0aW9uRW5hYmxlZC52YWx1ZSB8fCB0aGlzLmlzVmVyeUZpcnN0TG9hZCkge1xuICAgICAgLy8gaWYgYW5pbWF0aW9uIGlzIGRpc2FibGVkIG9yIHRoaXMgaXMgdGhlIHZlcnkgZmlyc3QgbG9hZCB0aGVuXG4gICAgICAvLyB3ZSB3b24ndCBnZXQgb3VyIGFuaW1hdGlvbiBkb25lIGNhbGxiYWNrIHNvIHdlIGZpbmlzaCB0aGVcbiAgICAgIC8vIHByb2Nlc3MgaGVyZSBhbmQgbm93LlxuICAgICAgdGhpcy5pc1ZlcnlGaXJzdExvYWQgPSBmYWxzZTtcbiAgICAgIGZpbmlzaFBsYWNlTG9hZCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9uQW5pbWF0aW9uRmluaXNoZWRKb2IgPSBmaW5pc2hQbGFjZUxvYWQ7XG4gICAgfVxuICAgIGNvbnN0IHsgd2hlbiwgY2hhaW4sIHZhbHVlT2YgfSA9IERzbC5kaXNwb3NlV2l0aChhY3RpdmVQbGFjZSk7XG4gICAgd2hlbih0aGlzLnJvdXRlclZpc2l0TW9kZWwpXG4gICAgICAuY2hhbmdlcyh2aXNpdCA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwicm91dGVyVmlzaXRNb2RlbC5jaGFuZ2VcIiwgeyByb3V0ZXJWaXNpdE1vZGVsOiB0aGlzLnJvdXRlclZpc2l0TW9kZWwudmFsdWUgfSlcbiAgICAgICAgdGhpcy5wdXNoVmlzaXRDaGFuZ2VUb0NvbXBvbmVudChhY3RpdmVQbGFjZSwgdmlzaXQpO1xuICAgICAgfSwge1xuICAgICAgICB1bmxlc3M6IHZhbHVlT2YuYW55KFxuICAgICAgICAgIHRoaXMuX2lzUHVzaGluZ1Zpc2l0VG9Sb3V0ZSxcbiAgICAgICAgICB0aGlzLnJvdXRlclZpc2l0TW9kZWwuaXNOaWwoKVxuICAgICAgICApLmFyZVRydXRoeSgpXG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcHVzaFZpc2l0Q2hhbmdlVG9Db21wb25lbnQoYWN0aXZlUGxhY2U6IFBsYWNlQ29tcG9uZW50LCB2aXNpdDogVmlzaXQpIHtcbiAgICBhY3RpdmVQbGFjZS51cGRhdGVWaXNpdCh2aXNpdCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHB1c2hWaXNpdENoYW5nZVRvUm91dGUocHJldmlvdXM6IFZpc2l0LCBjdXJyZW50OiBWaXNpdCkge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLl9pc1B1c2hpbmdWaXNpdFRvUm91dGUudmFsdWUgPSB0cnVlO1xuICAgICAgYXdhaXQgdGhpcy5wbGFjZVJvdXRlci5wdXNoVmlzaXRDaGFuZ2VzVG9Sb3V0ZShwcmV2aW91cywgY3VycmVudCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX2lzUHVzaGluZ1Zpc2l0VG9Sb3V0ZS52YWx1ZSA9IGZhbHNlO1xuICAgIH1cbiAgICAvLyBzYW5pdGlzZXJzIG1heSBoYXZlIGFkanVzdGVkIG90aGVyIHZhbHVlcyBpbiB0aGUgdmlzaXQgdG8gd2UgY2hlY2sgYW5kIHdyaXRlIGl0IGJhY2suXG4gICAgY29uc3Qgcm91dGVyVmlzaXQgPSB0aGlzLnJvdXRlclZpc2l0TW9kZWwudmFsdWU7IC8vIHRoaXMgaXMgb2NjYXNpb25hbGx5IG51bGwuLi4gbmVlZCB0byBpbnZlc3RpZ2F0ZSBpZiB0aGF0J3MgYSBub3JtYWwgc3RhdGUgb3Igbm90LlxuICAgIGlmIChyb3V0ZXJWaXNpdCAmJiBjdXJyZW50Lmhhc1JvdXRpbmdDaGFuZ2VkRnJvbShyb3V0ZXJWaXNpdCkpIHtcbiAgICAgIHRoaXMucHVzaFZpc2l0Q2hhbmdlVG9Db21wb25lbnQodGhpcy5hY3RpdmVQbGFjZU1vZGVsLnZhbHVlLCByb3V0ZXJWaXNpdClcbiAgICB9XG4gIH1cblxuLy8gQFRyYWNlKClcbiAgYW5pbWF0aW9uU3RhcnRlZCgpIHtcbiAgICAvLyBjb25zb2xlLmxvZyh7IGFjdGl2ZVBsYWNlOiB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnZhbHVlIH0pO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYW5pbWF0aW9uRG9uZSgpIHtcbiAgICBpZiAodGhpcy5vbkFuaW1hdGlvbkZpbmlzaGVkSm9iKSB7XG4gICAgICB0aGlzLm9uQW5pbWF0aW9uRmluaXNoZWRKb2IoKTtcbiAgICAgIHRoaXMub25BbmltYXRpb25GaW5pc2hlZEpvYiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImFuaW1hdGlvbkVuYWJsZWQudmFsdWVcIj5cbiAgPGRpdiBjbGFzcz1cInJvdXRlci1vdXRsZXQtY29udGFpbmVyXCJcbiAgICAgICBjZGtTY3JvbGxhYmxlXG4gICAgICAgW0Byb3V0ZUFuaW1hdGlvbnNdPVwie3ZhbHVlOiBnZXRBbmltYXRpb25PcmRlcigpLCBwYXJhbXM6e2R1cmF0aW9uOiBhbmltYXRpb25EdXJhdGlvbn19XCJcbiAgICAgICAoQHJvdXRlQW5pbWF0aW9ucy5zdGFydCk9XCJhbmltYXRpb25TdGFydGVkKClcIlxuICAgICAgIChAcm91dGVBbmltYXRpb25zLmRvbmUpPVwiYW5pbWF0aW9uRG9uZSgpXCJcbiAgPlxuICAgIDxyb3V0ZXItb3V0bGV0ICNyb3V0ZXJPdXRsZXQ9XCJvdXRsZXRcIlxuICAgICAgICAgICAgICAgICAgIChhY3RpdmF0ZSk9XCJvbk91dGxldEFjdGl2YXRlZChyb3V0ZXJPdXRsZXQsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgIChkZWFjdGl2YXRlKT1cIm9uT3V0bGV0RGVhY3RpdmF0ZWQoKVwiPlxuICAgIDwvcm91dGVyLW91dGxldD5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhbmltYXRpb25FbmFibGVkLnZhbHVlXCI+XG4gIDxkaXYgY2xhc3M9XCJyb3V0ZXItb3V0bGV0LWNvbnRhaW5lclwiXG4gICAgICAgY2RrU2Nyb2xsYWJsZT5cbiAgICA8cm91dGVyLW91dGxldCAjcm91dGVyT3V0bGV0PVwib3V0bGV0XCJcbiAgICAgICAgICAgICAgICAgICAoYWN0aXZhdGUpPVwib25PdXRsZXRBY3RpdmF0ZWQocm91dGVyT3V0bGV0LCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAoZGVhY3RpdmF0ZSk9XCJvbk91dGxldERlYWN0aXZhdGVkKClcIj5cbiAgICA8L3JvdXRlci1vdXRsZXQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXYgIGNsYXNzPVwibm90LWF1dGhvcmlzZWQtY29tcG9uZW50LWNvbnRhaW5lclwiICpuZ0lmPVwiIWF1dGhvcmlzZWQudmFsdWVcIj5cbiAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwibm90QXV0aG9yaXNlZE5vdGljZVBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==