@scion/workbench 17.0.0-beta.7 → 17.0.0-beta.9

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 (304) hide show
  1. package/README.md +1 -1
  2. package/esm2022/lib/activation-instant.provider.mjs +3 -3
  3. package/esm2022/lib/common/asserts.util.mjs +2 -2
  4. package/esm2022/lib/common/coerce-observable.pipe.mjs +3 -3
  5. package/esm2022/lib/common/filter-by-predicate.pipe.mjs +3 -3
  6. package/esm2022/lib/common/filter-by-text.pipe.mjs +3 -3
  7. package/esm2022/lib/common/grid-element-if-visible.pipe.mjs +6 -6
  8. package/esm2022/lib/common/instanceof.pipe.mjs +3 -3
  9. package/esm2022/lib/common/map-coerce.pipe.mjs +3 -3
  10. package/esm2022/lib/common/null-if-empty.pipe.mjs +3 -3
  11. package/esm2022/lib/common/objects.util.mjs +34 -0
  12. package/esm2022/lib/common/typeof.pipe.mjs +3 -3
  13. package/esm2022/lib/common/uuid.util.mjs +17 -0
  14. package/esm2022/lib/content-projection/content-as-overlay.component.mjs +3 -3
  15. package/esm2022/lib/content-projection/content-projection.directive.mjs +3 -3
  16. package/esm2022/lib/dialog/dialog-footer/dialog-action-filter.pipe.mjs +3 -3
  17. package/esm2022/lib/dialog/dialog-footer/dialog-footer.component.mjs +3 -3
  18. package/esm2022/lib/dialog/dialog-footer/workbench-dialog-action.directive.mjs +9 -6
  19. package/esm2022/lib/dialog/dialog-footer/workbench-dialog-footer.directive.mjs +9 -6
  20. package/esm2022/lib/dialog/dialog-header/dialog-header.component.mjs +3 -3
  21. package/esm2022/lib/dialog/dialog-header/workbench-dialog-header.directive.mjs +9 -6
  22. package/esm2022/lib/dialog/movable.directive.mjs +3 -3
  23. package/esm2022/lib/dialog/resizable.directive.mjs +3 -3
  24. package/esm2022/lib/dialog/workbench-dialog.component.mjs +53 -24
  25. package/esm2022/lib/dialog/workbench-dialog.mjs +1 -1
  26. package/esm2022/lib/dialog/workbench-dialog.options.mjs +1 -1
  27. package/esm2022/lib/dialog/workbench-dialog.registry.mjs +4 -4
  28. package/esm2022/lib/dialog/workbench-dialog.service.mjs +5 -5
  29. package/esm2022/lib/dialog//311/265workbench-dialog.mjs +7 -7
  30. package/esm2022/lib/dialog//311/265workbench-dialog.service.mjs +3 -3
  31. package/esm2022/lib/executor/single-task-executor.mjs +26 -7
  32. package/esm2022/lib/filter-field/filter-field.component.mjs +6 -6
  33. package/esm2022/lib/glass-pane/glass-pane.directive.mjs +15 -7
  34. package/esm2022/lib/layout/grid-element/grid-element.component.mjs +10 -10
  35. package/esm2022/lib/layout/main-area-layout/main-area-layout.component.mjs +6 -4
  36. package/esm2022/lib/layout/migration/model/workbench-layout-migration-v1.model.mjs +11 -0
  37. package/esm2022/lib/layout/migration/model/workbench-layout-migration-v2.model.mjs +11 -0
  38. package/esm2022/lib/layout/migration/model/workbench-layout-migration-v3.model.mjs +11 -0
  39. package/esm2022/lib/layout/migration/model/workbench-layout-migration-v4.model.mjs +11 -0
  40. package/esm2022/lib/layout/migration/workbench-layout-migration-v2.service.mjs +59 -0
  41. package/esm2022/lib/layout/migration/workbench-layout-migration-v3.service.mjs +117 -0
  42. package/esm2022/lib/layout/migration/workbench-layout-migration-v4.service.mjs +57 -0
  43. package/esm2022/lib/layout/workbench-layout.component.mjs +6 -4
  44. package/esm2022/lib/layout/workbench-layout.factory.mjs +4 -4
  45. package/esm2022/lib/layout/workbench-layout.mjs +1 -1
  46. package/esm2022/lib/layout/workbench-layout.model.mjs +5 -6
  47. package/esm2022/lib/layout/workbench-layout.service.mjs +3 -3
  48. package/esm2022/lib/layout/workbench-layouts.util.mjs +37 -1
  49. package/esm2022/lib/layout/workench-layout-serializer.service.mjs +53 -21
  50. package/esm2022/lib/layout//311/265workbench-layout.factory.mjs +8 -5
  51. package/esm2022/lib/layout//311/265workbench-layout.mjs +382 -195
  52. package/esm2022/lib/logging/console-appender.service.mjs +3 -3
  53. package/esm2022/lib/logging/logger.mjs +3 -3
  54. package/esm2022/lib/logging/logging-support.mjs +4 -4
  55. package/esm2022/lib/logging/logging.model.mjs +3 -3
  56. package/esm2022/lib/logging//311/265logger.mjs +3 -3
  57. package/esm2022/lib/message-box/message-box-footer/message-box-footer.component.mjs +18 -20
  58. package/esm2022/lib/message-box/message-box-header/message-box-header.component.mjs +3 -3
  59. package/esm2022/lib/message-box/workbench-message-box.component.mjs +15 -6
  60. package/esm2022/lib/message-box/workbench-message-box.options.mjs +1 -1
  61. package/esm2022/lib/message-box/workbench-message-box.service.mjs +5 -5
  62. package/esm2022/lib/message-box//311/265workbench-message-box.service.mjs +5 -5
  63. package/esm2022/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.mjs +26 -13
  64. package/esm2022/lib/microfrontend-platform/initialization/ng-zone-observable-decorator.mjs +3 -3
  65. package/esm2022/lib/microfrontend-platform/initialization/workbench-host-manifest-interceptor.service.mjs +25 -13
  66. package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-capability-validator.interceptor.mjs +3 -3
  67. package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-intent-handler.interceptor.mjs +11 -11
  68. package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog.component.mjs +5 -5
  69. package/esm2022/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.mjs +11 -9
  70. package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.mjs +112 -0
  71. package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.mjs +43 -0
  72. package/esm2022/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.mjs +16 -13
  73. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-capability-validator.interceptor.mjs +34 -0
  74. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.interceptor.mjs +88 -0
  75. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-legacy-intent-translator.interceptor.mjs +32 -0
  76. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box.component.mjs +121 -0
  77. package/esm2022/lib/microfrontend-platform/microfrontend-notification/microfrontend-notification-intent-handler.service.mjs +3 -3
  78. package/esm2022/lib/microfrontend-platform/microfrontend-platform-config-loader.mjs +3 -3
  79. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-capability-validator.interceptor.mjs +3 -3
  80. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-intent-handler.interceptor.mjs +9 -6
  81. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.mjs +9 -15
  82. package/esm2022/lib/microfrontend-platform/microfrontend-splash/microfrontend-splash.component.mjs +3 -3
  83. package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.mjs +4 -4
  84. package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.mjs +37 -32
  85. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-id-assigner.interceptor.mjs +3 -3
  86. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-validator.interceptor.mjs +3 -3
  87. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-intent-handler.interceptor.mjs +13 -11
  88. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-routes.mjs +14 -9
  89. package/esm2022/lib/microfrontend-platform/workbench-microfrontend-support.mjs +54 -23
  90. package/esm2022/lib/migration/workbench-migration.mjs +11 -0
  91. package/esm2022/lib/migration/workbench-migrator.mjs +38 -0
  92. package/esm2022/lib/notification/notification-css-classes.pipe.mjs +3 -3
  93. package/esm2022/lib/notification/notification-list.component.mjs +3 -3
  94. package/esm2022/lib/notification/notification.component.mjs +3 -3
  95. package/esm2022/lib/notification/notification.config.mjs +1 -1
  96. package/esm2022/lib/notification/notification.mjs +1 -1
  97. package/esm2022/lib/notification/notification.service.mjs +9 -9
  98. package/esm2022/lib/notification/text-notification.component.mjs +3 -3
  99. package/esm2022/lib/page-not-found/format-url.pipe.mjs +26 -0
  100. package/esm2022/lib/page-not-found/page-not-found.component.mjs +28 -0
  101. package/esm2022/lib/part/part-action-bar/part-action-bar.component.mjs +3 -3
  102. package/esm2022/lib/part/part-action-bar/part-action-filter.pipe.mjs +3 -3
  103. package/esm2022/lib/part/part-action-bar/part-action.directive.mjs +4 -4
  104. package/esm2022/lib/part/part-bar/part-bar.component.mjs +10 -8
  105. package/esm2022/lib/part/part-portal.pipe.mjs +3 -3
  106. package/esm2022/lib/part/part.component.mjs +6 -4
  107. package/esm2022/lib/part/view-context-menu/accelerator-format.pipe.mjs +3 -3
  108. package/esm2022/lib/part/view-context-menu/text.component.mjs +3 -3
  109. package/esm2022/lib/part/view-context-menu/view-menu.component.mjs +3 -3
  110. package/esm2022/lib/part/view-context-menu/view-menu.directive.mjs +4 -4
  111. package/esm2022/lib/part/view-context-menu/view-menu.service.mjs +18 -18
  112. package/esm2022/lib/part/view-list/view-list.component.mjs +3 -3
  113. package/esm2022/lib/part/view-list-button/view-list-button.component.mjs +3 -3
  114. package/esm2022/lib/part/view-list-item/view-list-item.component.mjs +9 -9
  115. package/esm2022/lib/part/view-tab/view-tab.component.mjs +13 -11
  116. package/esm2022/lib/part/view-tab-content/view-tab-content.component.mjs +5 -5
  117. package/esm2022/lib/part/view-tab-drag-image/view-tab-drag-image.component.mjs +9 -9
  118. package/esm2022/lib/part/workbench-part-action.registry.mjs +3 -3
  119. package/esm2022/lib/part/workbench-part.model.mjs +1 -1
  120. package/esm2022/lib/part/workbench-part.registry.mjs +3 -3
  121. package/esm2022/lib/part//311/265workbench-part.model.mjs +3 -3
  122. package/esm2022/lib/perspective/migration/model/workbench-perspective-migration-v1.model.mjs +11 -0
  123. package/esm2022/lib/perspective/migration/model/workbench-perspective-migration-v2.model.mjs +11 -0
  124. package/esm2022/lib/perspective/migration/workbench-perspective-migration-v2.service.mjs +57 -0
  125. package/esm2022/lib/perspective/workbench-grid-merger.service.mjs +19 -51
  126. package/esm2022/lib/perspective/workbench-perspective-storage.service.mjs +23 -18
  127. package/esm2022/lib/perspective/workbench-perspective-view-conflict-resolver.service.mjs +27 -42
  128. package/esm2022/lib/perspective/workbench-perspective.model.mjs +1 -1
  129. package/esm2022/lib/perspective/workbench-perspective.registry.mjs +3 -3
  130. package/esm2022/lib/perspective/workbench-perspective.service.mjs +15 -10
  131. package/esm2022/lib/perspective/workench-perspective-serializer.service.mjs +62 -0
  132. package/esm2022/lib/perspective//311/265workbench-perspective.model.mjs +98 -78
  133. package/esm2022/lib/popup/popup.component.mjs +22 -10
  134. package/esm2022/lib/popup/popup.config.mjs +3 -1
  135. package/esm2022/lib/popup/popup.service.mjs +4 -4
  136. package/esm2022/lib/portal/workbench-portal-outlet.directive.mjs +6 -6
  137. package/esm2022/lib/public_api.mjs +3 -2
  138. package/esm2022/lib/registry/workbench-object-registry.mjs +3 -3
  139. package/esm2022/lib/routing/empty-outlet/empty-outlet.component.mjs +31 -0
  140. package/esm2022/lib/routing/public_api.mjs +1 -1
  141. package/esm2022/lib/routing/router.util.mjs +89 -35
  142. package/esm2022/lib/routing/routing.model.mjs +1 -1
  143. package/esm2022/lib/routing/url-segment-matcher.mjs +46 -0
  144. package/esm2022/lib/routing/workbench-auxiliary-routes-registrator.service.mjs +58 -49
  145. package/esm2022/lib/routing/workbench-dialog-differ.mjs +6 -6
  146. package/esm2022/lib/routing/workbench-layout-differ.mjs +14 -17
  147. package/esm2022/lib/routing/workbench-message-box-differ.mjs +51 -0
  148. package/esm2022/lib/routing/workbench-navigational-states.mjs +4 -28
  149. package/esm2022/lib/routing/workbench-popup-differ.mjs +6 -6
  150. package/esm2022/lib/routing/workbench-route-data.mjs +14 -4
  151. package/esm2022/lib/routing/workbench-router-link.directive.mjs +24 -32
  152. package/esm2022/lib/routing/workbench-router.service.mjs +13 -378
  153. package/esm2022/lib/routing/workbench-url-observer.service.mjs +69 -82
  154. package/esm2022/lib/routing//311/265location.mjs +3 -3
  155. package/esm2022/lib/routing//311/265workbench-router.service.mjs +314 -0
  156. package/esm2022/lib/startup/splash/splash.component.mjs +3 -3
  157. package/esm2022/lib/startup/workbench-launcher.service.mjs +11 -11
  158. package/esm2022/lib/storage/workbench-storage.mjs +3 -3
  159. package/esm2022/lib/testing/public_api.mjs +2 -1
  160. package/esm2022/lib/testing/workbench-testing.module.mjs +13 -39
  161. package/esm2022/lib/testing/workbench.provider.mjs +60 -0
  162. package/esm2022/lib/theme/workbench-theme-switcher.service.mjs +3 -3
  163. package/esm2022/lib/view/public_api.mjs +2 -1
  164. package/esm2022/lib/view/view-move-handler.service.mjs +42 -62
  165. package/esm2022/lib/view/view-portal.pipe.mjs +4 -4
  166. package/esm2022/lib/view/view.component.mjs +20 -40
  167. package/esm2022/lib/view/workbench-view-route-guards.mjs +47 -0
  168. package/esm2022/lib/view/workbench-view.model.mjs +6 -4
  169. package/esm2022/lib/view/workbench-view.registry.mjs +4 -4
  170. package/esm2022/lib/view//311/265workbench-view.model.mjs +106 -27
  171. package/esm2022/lib/view-dnd/requires-drop-zone.pipe.mjs +7 -7
  172. package/esm2022/lib/view-dnd/view-drag.service.mjs +6 -6
  173. package/esm2022/lib/view-dnd/view-drop-placeholder-renderer.service.mjs +3 -3
  174. package/esm2022/lib/view-dnd/view-drop-zone.directive.mjs +4 -4
  175. package/esm2022/lib/view-dnd/view-tab-drag-image-renderer.service.mjs +6 -4
  176. package/esm2022/lib/workbench-config.mjs +15 -0
  177. package/esm2022/lib/workbench-id.mjs +3 -3
  178. package/esm2022/lib/workbench.component.mjs +20 -12
  179. package/esm2022/lib/workbench.constants.mjs +7 -9
  180. package/esm2022/lib/workbench.model.mjs +1 -1
  181. package/esm2022/lib/workbench.module.mjs +15 -86
  182. package/esm2022/lib/workbench.provider.mjs +117 -0
  183. package/esm2022/lib/workbench.service.mjs +5 -5
  184. package/esm2022/lib//311/265workbench.service.mjs +15 -21
  185. package/fesm2022/scion-workbench.mjs +5490 -4166
  186. package/fesm2022/scion-workbench.mjs.map +1 -1
  187. package/lib/common/objects.util.d.ts +17 -0
  188. package/lib/common/uuid.util.d.ts +8 -0
  189. package/lib/dialog/workbench-dialog.component.d.ts +16 -7
  190. package/lib/dialog/workbench-dialog.d.ts +1 -1
  191. package/lib/dialog/workbench-dialog.options.d.ts +4 -3
  192. package/lib/dialog/workbench-dialog.registry.d.ts +4 -3
  193. package/lib/dialog/workbench-dialog.service.d.ts +1 -1
  194. package/lib/dialog//311/265workbench-dialog.d.ts +2 -2
  195. package/lib/executor/single-task-executor.d.ts +6 -1
  196. package/lib/filter-field/filter-field.component.d.ts +1 -1
  197. package/lib/glass-pane/glass-pane.directive.d.ts +21 -0
  198. package/lib/layout/grid-element/grid-element.component.d.ts +2 -2
  199. package/lib/layout/migration/model/workbench-layout-migration-v1.model.d.ts +16 -0
  200. package/lib/layout/migration/model/workbench-layout-migration-v2.model.d.ts +22 -0
  201. package/lib/layout/migration/model/workbench-layout-migration-v3.model.d.ts +30 -0
  202. package/lib/layout/migration/model/workbench-layout-migration-v4.model.d.ts +31 -0
  203. package/lib/layout/migration/workbench-layout-migration-v2.service.d.ts +13 -0
  204. package/lib/layout/migration/workbench-layout-migration-v3.service.d.ts +16 -0
  205. package/lib/layout/migration/workbench-layout-migration-v4.service.d.ts +12 -0
  206. package/lib/layout/workbench-layout.d.ts +61 -7
  207. package/lib/layout/workbench-layout.factory.d.ts +1 -1
  208. package/lib/layout/workbench-layout.model.d.ts +19 -9
  209. package/lib/layout/workbench-layouts.util.d.ts +18 -0
  210. package/lib/layout/workench-layout-serializer.service.d.ts +28 -7
  211. package/lib/layout//311/265workbench-layout.d.ts +172 -98
  212. package/lib/layout//311/265workbench-layout.factory.d.ts +4 -0
  213. package/lib/logging/logging-support.d.ts +2 -2
  214. package/lib/message-box/workbench-message-box.component.d.ts +3 -0
  215. package/lib/message-box/workbench-message-box.options.d.ts +4 -3
  216. package/lib/message-box/workbench-message-box.service.d.ts +1 -1
  217. package/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.d.ts +7 -1
  218. package/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.d.ts +1 -0
  219. package/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.d.ts +39 -0
  220. package/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.d.ts +25 -0
  221. package/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.d.ts +4 -2
  222. package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-capability-validator.interceptor.d.ts +10 -0
  223. package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.interceptor.d.ts +28 -0
  224. package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-legacy-intent-translator.interceptor.d.ts +11 -0
  225. package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box.component.d.ts +48 -0
  226. package/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.d.ts +3 -7
  227. package/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.d.ts +4 -9
  228. package/lib/microfrontend-platform/workbench-microfrontend-support.d.ts +3 -3
  229. package/lib/migration/workbench-migration.d.ts +9 -0
  230. package/lib/migration/workbench-migrator.d.ts +18 -0
  231. package/lib/notification/notification.config.d.ts +1 -1
  232. package/lib/notification/notification.d.ts +1 -3
  233. package/lib/page-not-found/format-url.pipe.d.ts +11 -0
  234. package/lib/page-not-found/page-not-found.component.d.ts +8 -0
  235. package/lib/part/part-action-bar/part-action.directive.d.ts +1 -1
  236. package/lib/part/part-bar/part-bar.component.d.ts +4 -3
  237. package/lib/part/view-context-menu/view-menu.directive.d.ts +1 -1
  238. package/lib/part/view-context-menu/view-menu.service.d.ts +5 -4
  239. package/lib/part/view-list-item/view-list-item.component.d.ts +5 -4
  240. package/lib/part/view-tab/view-tab.component.d.ts +6 -5
  241. package/lib/part/view-tab-drag-image/view-tab-drag-image.component.d.ts +3 -3
  242. package/lib/part/workbench-part.model.d.ts +5 -4
  243. package/lib/part//311/265workbench-part.model.d.ts +5 -4
  244. package/lib/perspective/migration/model/workbench-perspective-migration-v1.model.d.ts +8 -0
  245. package/lib/perspective/migration/model/workbench-perspective-migration-v2.model.d.ts +10 -0
  246. package/lib/perspective/migration/workbench-perspective-migration-v2.service.d.ts +13 -0
  247. package/lib/perspective/workbench-grid-merger.service.d.ts +9 -16
  248. package/lib/perspective/workbench-perspective-storage.service.d.ts +10 -28
  249. package/lib/perspective/workbench-perspective-view-conflict-resolver.service.d.ts +8 -25
  250. package/lib/perspective/workbench-perspective.model.d.ts +123 -14
  251. package/lib/perspective/workbench-perspective.service.d.ts +10 -3
  252. package/lib/perspective/workench-perspective-serializer.service.d.ts +26 -0
  253. package/lib/perspective//311/265workbench-perspective.model.d.ts +16 -14
  254. package/lib/popup/popup.component.d.ts +1 -0
  255. package/lib/popup/popup.config.d.ts +4 -3
  256. package/lib/portal/workbench-portal-outlet.directive.d.ts +2 -2
  257. package/lib/public_api.d.ts +4 -3
  258. package/lib/registry/workbench-object-registry.d.ts +2 -2
  259. package/lib/routing/empty-outlet/empty-outlet.component.d.ts +15 -0
  260. package/lib/routing/public_api.d.ts +2 -2
  261. package/lib/routing/router.util.d.ts +45 -19
  262. package/lib/routing/routing.model.d.ts +107 -8
  263. package/lib/routing/url-segment-matcher.d.ts +20 -0
  264. package/lib/routing/workbench-auxiliary-routes-registrator.service.d.ts +25 -15
  265. package/lib/routing/workbench-layout-differ.d.ts +4 -7
  266. package/lib/routing/workbench-message-box-differ.d.ts +25 -0
  267. package/lib/routing/workbench-navigational-states.d.ts +6 -19
  268. package/lib/routing/workbench-route-data.d.ts +13 -3
  269. package/lib/routing/workbench-router-link.directive.d.ts +22 -7
  270. package/lib/routing/workbench-router.service.d.ts +42 -142
  271. package/lib/routing/workbench-url-observer.service.d.ts +10 -28
  272. package/lib/routing//311/265workbench-router.service.d.ts +74 -0
  273. package/lib/startup/workbench-launcher.service.d.ts +4 -4
  274. package/lib/testing/public_api.d.ts +1 -0
  275. package/lib/testing/workbench-testing.module.d.ts +7 -6
  276. package/lib/testing/workbench.provider.d.ts +29 -0
  277. package/lib/view/public_api.d.ts +2 -1
  278. package/lib/view/view-move-handler.service.d.ts +2 -4
  279. package/lib/view/view-portal.pipe.d.ts +2 -1
  280. package/lib/view/view.component.d.ts +1 -11
  281. package/lib/view/workbench-view-route-guards.d.ts +36 -0
  282. package/lib/view/workbench-view.model.d.ts +37 -5
  283. package/lib/view/workbench-view.registry.d.ts +4 -3
  284. package/lib/view//311/265workbench-view.model.d.ts +61 -15
  285. package/lib/view-dnd/view-drag.service.d.ts +9 -4
  286. package/lib/view-dnd/view-drop-zone.directive.d.ts +1 -1
  287. package/lib/{workbench-module-config.d.ts → workbench-config.d.ts} +29 -71
  288. package/lib/workbench.component.d.ts +2 -2
  289. package/lib/workbench.constants.d.ts +6 -8
  290. package/lib/workbench.model.d.ts +20 -8
  291. package/lib/workbench.module.d.ts +12 -7
  292. package/lib/workbench.provider.d.ts +38 -0
  293. package/lib/workbench.service.d.ts +32 -8
  294. package/lib//311/265workbench.service.d.ts +9 -3
  295. package/package.json +8 -8
  296. package/esm2022/lib/layout/migration/workbench-layout-migrator.service.mjs +0 -38
  297. package/esm2022/lib/layout/migration/workbench-layout-v1-migrator.service.mjs +0 -59
  298. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.service.mjs +0 -46
  299. package/esm2022/lib/view/workbench-view-pre-destroy.guard.mjs +0 -36
  300. package/esm2022/lib/workbench-module-config.mjs +0 -15
  301. package/lib/layout/migration/workbench-layout-migrator.service.d.ts +0 -15
  302. package/lib/layout/migration/workbench-layout-v1-migrator.service.d.ts +0 -12
  303. package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.service.d.ts +0 -17
  304. package/lib/view/workbench-view-pre-destroy.guard.d.ts +0 -5
@@ -15,15 +15,15 @@ import * as i0 from "@angular/core";
15
15
  * the user's workflow. Defining a main area is optional and recommended for applications requiring a dedicated and maximizable
16
16
  * area for user interaction.
17
17
  *
18
- * Multiple layouts, called perspectives, are supported. Perspectives can be switched with one perspective active at a time.
18
+ * Multiple layouts, called perspectives, are supported. Perspectives can be switched. Only one perspective is active at a time.
19
19
  * Perspectives share the same main area, if any.
20
20
  */
21
21
  export class WorkbenchService {
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WorkbenchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
23
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WorkbenchService, providedIn: 'root', useExisting: ɵWorkbenchService }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: WorkbenchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
23
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: WorkbenchService, providedIn: 'root', useExisting: ɵWorkbenchService }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WorkbenchService, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: WorkbenchService, decorators: [{
26
26
  type: Injectable,
27
27
  args: [{ providedIn: 'root', useExisting: ɵWorkbenchService }]
28
28
  }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi93b3JrYmVuY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFdkQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFFSCxNQUFNLE9BQWdCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FEYixNQUFNLGVBQWUsaUJBQWlCOzsyRkFDekMsZ0JBQWdCO2tCQURyQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Rpc3Bvc2FibGV9IGZyb20gJy4vY29tbW9uL2Rpc3Bvc2FibGUnO1xuaW1wb3J0IHtXb3JrYmVuY2hNZW51SXRlbUZhY3RvcnlGbiwgV29ya2JlbmNoUGFydEFjdGlvbiwgV29ya2JlbmNoVGhlbWV9IGZyb20gJy4vd29ya2JlbmNoLm1vZGVsJztcbmltcG9ydCB7V29ya2JlbmNoVmlld30gZnJvbSAnLi92aWV3L3dvcmtiZW5jaC12aWV3Lm1vZGVsJztcbmltcG9ydCB7V29ya2JlbmNoUGVyc3BlY3RpdmUsIFdvcmtiZW5jaFBlcnNwZWN0aXZlRGVmaW5pdGlvbn0gZnJvbSAnLi9wZXJzcGVjdGl2ZS93b3JrYmVuY2gtcGVyc3BlY3RpdmUubW9kZWwnO1xuaW1wb3J0IHtXb3JrYmVuY2hQYXJ0fSBmcm9tICcuL3BhcnQvd29ya2JlbmNoLXBhcnQubW9kZWwnO1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ybVXb3JrYmVuY2hTZXJ2aWNlfSBmcm9tICcuL8m1d29ya2JlbmNoLnNlcnZpY2UnO1xuXG4vKipcbiAqIFRoZSBjZW50cmFsIGNsYXNzIG9mIHRoZSBTQ0lPTiBXb3JrYmVuY2guXG4gKlxuICogU0NJT04gV29ya2JlbmNoIGVuYWJsZXMgdGhlIGNyZWF0aW9uIG9mIEFuZ3VsYXIgd2ViIGFwcGxpY2F0aW9ucyB0aGF0IHJlcXVpcmUgYSBmbGV4aWJsZSBsYXlvdXQgdG8gYXJyYW5nZSBjb250ZW50IHNpZGUtYnktc2lkZVxuICogb3Igc3RhY2tlZCwgYWxsIHBlcnNvbmFsaXphYmxlIGJ5IHRoZSB1c2VyIHZpYSBkcmFnICYgZHJvcC4gVGhpcyB0eXBlIG9mIGxheW91dCBpcyBpZGVhbCBmb3IgYXBwbGljYXRpb25zIHdpdGggbm9uLWxpbmVhciB3b3JrZmxvd3MsXG4gKiBlbmFibGluZyB1c2VycyB0byB3b3JrIG9uIGNvbnRlbnQgaW4gcGFyYWxsZWwuXG4gKlxuICogVGhlIHdvcmtiZW5jaCBsYXlvdXQgaXMgYSBncmlkIG9mIHBhcnRzLiBQYXJ0cyBhcmUgYWxpZ25lZCByZWxhdGl2ZSB0byBlYWNoIG90aGVyLiBBIHBhcnQgaXMgYSBzdGFjayBvZiB2aWV3cy4gQ29udGVudCBpcyBkaXNwbGF5ZWQgaW4gdmlld3MuXG4gKlxuICogVGhlIGxheW91dCBjYW4gYmUgZGl2aWRlZCBpbnRvIGEgbWFpbiBhbmQgYSBwZXJpcGhlcmFsIGFyZWEsIHdpdGggdGhlIG1haW4gYXJlYSBhcyB0aGUgcHJpbWFyeSBwbGFjZSBmb3Igb3BlbmluZyB2aWV3cy5cbiAqIFRoZSBwZXJpcGhlcmFsIGFyZWEgYXJyYW5nZXMgcGFydHMgYXJvdW5kIHRoZSBtYWluIGFyZWEgdG8gcHJvdmlkZSBuYXZpZ2F0aW9uIG9yIGNvbnRleHQtc2Vuc2l0aXZlIGFzc2lzdGFuY2UgdG8gc3VwcG9ydFxuICogdGhlIHVzZXIncyB3b3JrZmxvdy4gRGVmaW5pbmcgYSBtYWluIGFyZWEgaXMgb3B0aW9uYWwgYW5kIHJlY29tbWVuZGVkIGZvciBhcHBsaWNhdGlvbnMgcmVxdWlyaW5nIGEgZGVkaWNhdGVkIGFuZCBtYXhpbWl6YWJsZVxuICogYXJlYSBmb3IgdXNlciBpbnRlcmFjdGlvbi5cbiAqXG4gKiBNdWx0aXBsZSBsYXlvdXRzLCBjYWxsZWQgcGVyc3BlY3RpdmVzLCBhcmUgc3VwcG9ydGVkLiBQZXJzcGVjdGl2ZXMgY2FuIGJlIHN3aXRjaGVkIHdpdGggb25lIHBlcnNwZWN0aXZlIGFjdGl2ZSBhdCBhIHRpbWUuXG4gKiBQZXJzcGVjdGl2ZXMgc2hhcmUgdGhlIHNhbWUgbWFpbiBhcmVhLCBpZiBhbnkuXG4gKi9cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCcsIHVzZUV4aXN0aW5nOiDJtVdvcmtiZW5jaFNlcnZpY2V9KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFdvcmtiZW5jaFNlcnZpY2Uge1xuXG4gIC8qKlxuICAgKiBQZXJzcGVjdGl2ZXMgcmVnaXN0ZXJlZCB3aXRoIHRoZSB3b3JrYmVuY2guXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcGVyc3BlY3RpdmVzOiByZWFkb25seSBXb3JrYmVuY2hQZXJzcGVjdGl2ZVtdO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgcGVyc3BlY3RpdmVzIHJlZ2lzdGVyZWQgd2l0aCB0aGUgd29ya2JlbmNoLlxuICAgKlxuICAgKiBVcG9uIHN1YnNjcmlwdGlvbiwgdGhlIGN1cnJlbnRseSByZWdpc3RlcmVkIHBlcnNwZWN0aXZlcyBhcmUgZW1pdHRlZCwgYW5kIHRoZW4gZW1pdHMgY29udGludW91c2x5XG4gICAqIHdoZW4gbmV3IHBlcnNwZWN0aXZlcyBhcmUgcmVnaXN0ZXJlZCBvciBleGlzdGluZyBwZXJzcGVjdGl2ZXMgdW5yZWdpc3RlcmVkLiBJdCBuZXZlciBjb21wbGV0ZXMuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcGVyc3BlY3RpdmVzJDogT2JzZXJ2YWJsZTxyZWFkb25seSBXb3JrYmVuY2hQZXJzcGVjdGl2ZVtdPjtcblxuICAvKipcbiAgICogUmV0dXJucyBhIHJlZmVyZW5jZSB0byB0aGUgc3BlY2lmaWVkIHtAbGluayBXb3JrYmVuY2hQZXJzcGVjdGl2ZX0sIG9yIGBudWxsYCBpZiBub3QgZm91bmQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0UGVyc3BlY3RpdmUocGVyc3BlY3RpdmVJZDogc3RyaW5nKTogV29ya2JlbmNoUGVyc3BlY3RpdmUgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgdGhlIGdpdmVuIHBlcnNwZWN0aXZlIHRvIGFycmFuZ2Ugdmlld3MgYXJvdW5kIHRoZSBtYWluIGFyZWEuXG4gICAqIFRoZSBwZXJzcGVjdGl2ZSBjYW4gYmUgYWN0aXZhdGVkIHZpYSB0aGUge0BsaW5rIFdvcmtiZW5jaFNlcnZpY2Ujc3dpdGNoUGVyc3BlY3RpdmV9IG1ldGhvZC5cbiAgICpcbiAgICogQHNlZSBXb3JrYmVuY2hQZXJzcGVjdGl2ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlZ2lzdGVyUGVyc3BlY3RpdmUocGVyc3BlY3RpdmU6IFdvcmtiZW5jaFBlcnNwZWN0aXZlRGVmaW5pdGlvbik6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIFN3aXRjaGVzIHRvIHRoZSBzcGVjaWZpZWQgcGVyc3BlY3RpdmUuIExheW91dCBhbmQgdmlld3Mgb2YgdGhlIG1haW4gYXJlYSBkbyBub3QgY2hhbmdlLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHN3aXRjaFBlcnNwZWN0aXZlKGlkOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIGN1cnJlbnRseSBhY3RpdmUgcGVyc3BlY3RpdmUgdG8gaXRzIGluaXRpYWwgbGF5b3V0LiBMYXlvdXQgYW5kIHZpZXdzIG9mIHRoZSBtYWluIGFyZWEgZG8gbm90IGNoYW5nZS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZXNldFBlcnNwZWN0aXZlKCk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIFBhcnRzIGluIHRoZSB3b3JrYmVuY2ggbGF5b3V0LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHBhcnRzOiByZWFkb25seSBXb3JrYmVuY2hQYXJ0W107XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBwYXJ0cyBpbiB0aGUgd29ya2JlbmNoIGxheW91dC5cbiAgICpcbiAgICogVXBvbiBzdWJzY3JpcHRpb24sIHRoZSBjdXJyZW50IHBhcnRzIGFyZSBlbWl0dGVkLCBhbmQgdGhlbiBlbWl0cyBjb250aW51b3VzbHlcbiAgICogd2hlbiBuZXcgcGFydHMgYXJlIGFkZGVkIG9yIGV4aXN0aW5nIHBhcnRzIHJlbW92ZWQuIEl0IG5ldmVyIGNvbXBsZXRlcy5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBwYXJ0cyQ6IE9ic2VydmFibGU8cmVhZG9ubHkgV29ya2JlbmNoUGFydFtdPjtcblxuICAvKipcbiAgICogUmV0dXJucyBhIHJlZmVyZW5jZSB0byB0aGUgc3BlY2lmaWVkIHtAbGluayBXb3JrYmVuY2hQYXJ0fSwgb3IgYG51bGxgIGlmIG5vdCBmb3VuZC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRQYXJ0KHBhcnRJZDogc3RyaW5nKTogV29ya2JlbmNoUGFydCB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFZpZXdzIG9wZW5lZCBpbiB0aGUgd29ya2JlbmNoLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHZpZXdzOiByZWFkb25seSBXb3JrYmVuY2hWaWV3W107XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSB2aWV3cyBvcGVuZWQgaW4gdGhlIHdvcmtiZW5jaC5cbiAgICpcbiAgICogVXBvbiBzdWJzY3JpcHRpb24sIHRoZSBjdXJyZW50bHkgb3BlbmVkIHZpZXdzIGFyZSBlbWl0dGVkLCBhbmQgdGhlbiBlbWl0cyBjb250aW51b3VzbHlcbiAgICogd2hlbiBuZXcgdmlld3MgYXJlIG9wZW5lZCBvciBleGlzdGluZyB2aWV3cyBjbG9zZWQuIEl0IG5ldmVyIGNvbXBsZXRlcy5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB2aWV3cyQ6IE9ic2VydmFibGU8cmVhZG9ubHkgV29ya2JlbmNoVmlld1tdPjtcblxuICAvKipcbiAgICogUmV0dXJucyBhIHJlZmVyZW5jZSB0byB0aGUgc3BlY2lmaWVkIHtAbGluayBXb3JrYmVuY2hWaWV3fSwgb3IgYG51bGxgIGlmIG5vdCBmb3VuZC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRWaWV3KHZpZXdJZDogc3RyaW5nKTogV29ya2JlbmNoVmlldyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgc3BlY2lmaWVkIHdvcmtiZW5jaCB2aWV3cy5cbiAgICpcbiAgICogTm90ZTogVGhpcyBpbnN0cnVjdGlvbiBydW5zIGFzeW5jaHJvbm91c2x5IHZpYSBVUkwgcm91dGluZy5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBjbG9zZVZpZXdzKC4uLnZpZXdJZHM6IHN0cmluZ1tdKTogUHJvbWlzZTxib29sZWFuPjtcblxuICAvKipcbiAgICogQ29udHJpYnV0ZXMgYW4gYWN0aW9uIHRvIGEgcGFydCdzIGFjdGlvbiBiYXIuXG4gICAqXG4gICAqIFBhcnQgYWN0aW9ucyBhcmUgZGlzcGxheWVkIHRvIHRoZSByaWdodCBvZiB0aGUgdmlldyB0YWIgYmFyIGFuZCBlbmFibGUgaW50ZXJhY3Rpb24gd2l0aCB0aGUgcGFydCBhbmQgaXRzIGNvbnRlbnQuXG4gICAqXG4gICAqIEByZXR1cm4gaGFuZGxlIHRvIHVucmVnaXN0ZXIgdGhlIHBhcnQgYWN0aW9uLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlZ2lzdGVyUGFydEFjdGlvbihhY3Rpb246IFdvcmtiZW5jaFBhcnRBY3Rpb24pOiBEaXNwb3NhYmxlO1xuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSB2aWV3IG1lbnUgaXRlbSB3aGljaCBpcyBhZGRlZCB0byB0aGUgY29udGV4dCBtZW51IG9mIGV2ZXJ5IHZpZXcgdGFiLlxuICAgKlxuICAgKiBUaGUgZmFjdG9yeSBmdW5jdGlvbiBpcyBpbnZva2VkIHdpdGggdGhlIHZpZXcgYXMgaXRzIGFyZ3VtZW50IHdoZW4gdGhlIG1lbnUgaXMgYWJvdXQgdG8gc2hvdy5cbiAgICpcbiAgICogQHJldHVybiBoYW5kbGUgdG8gdW5yZWdpc3RlciB0aGUgbWVudSBpdGVtLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlZ2lzdGVyVmlld01lbnVJdGVtKGZhY3RvcnlGbjogV29ya2JlbmNoTWVudUl0ZW1GYWN0b3J5Rm4pOiBEaXNwb3NhYmxlO1xuXG4gIC8qKlxuICAgKiBTd2l0Y2hlcyB0aGUgdGhlbWUgb2YgdGhlIHdvcmtiZW5jaC5cbiAgICpcbiAgICogVGhlbWVzIGNhbiBiZSByZWdpc3RlcmVkIHdoZW4gbG9hZGluZyB0aGUgYEBzY2lvbi93b3JrYmVuY2hgIFNDU1MgbW9kdWxlIGluIHRoZSBhcHBsaWNhdGlvbidzIGBzdHlsZXMuc2Nzc2AgZmlsZS5cbiAgICogQnkgZGVmYXVsdCwgU0NJT04gcHJvdmlkZXMgYSBsaWdodCBhbmQgYSBkYXJrIHRoZW1lLCBgc2Npb24tbGlnaHRgIGFuZCBgc2Npb24tZGFya2AuXG4gICAqXG4gICAqIFNlZSB0aGUgZG9jdW1lbnRhdGlvbiBvZiBgQHNjaW9uL3dvcmtiZW5jaGAgU0NTUyBtb2R1bGUgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSB0aGVtZSAtIFRoZSBuYW1lIG9mIHRoZSB0aGVtZSB0byBzd2l0Y2ggdG8uXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3Qgc3dpdGNoVGhlbWUodGhlbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBjdXJyZW50IHdvcmtiZW5jaCB0aGVtZS5cbiAgICpcbiAgICogVXBvbiBzdWJzY3JpcHRpb24sIGVtaXRzIHRoZSBjdXJyZW50IHRoZW1lLCBhbmQgdGhlbiBjb250aW51b3VzbHkgZW1pdHMgd2hlbiBzd2l0Y2hpbmcgdGhlIHRoZW1lLiBJdCBuZXZlciBjb21wbGV0ZXMuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgdGhlbWUkOiBPYnNlcnZhYmxlPFdvcmtiZW5jaFRoZW1lIHwgbnVsbD47XG59XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi93b3JrYmVuY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7QUFHdkQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFFSCxNQUFNLE9BQWdCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FEYixNQUFNLGVBQWUsaUJBQWlCOzsyRkFDekMsZ0JBQWdCO2tCQURyQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Rpc3Bvc2FibGV9IGZyb20gJy4vY29tbW9uL2Rpc3Bvc2FibGUnO1xuaW1wb3J0IHtXb3JrYmVuY2hNZW51SXRlbUZhY3RvcnlGbiwgV29ya2JlbmNoUGFydEFjdGlvbiwgV29ya2JlbmNoVGhlbWV9IGZyb20gJy4vd29ya2JlbmNoLm1vZGVsJztcbmltcG9ydCB7Vmlld0lkLCBXb3JrYmVuY2hWaWV3fSBmcm9tICcuL3ZpZXcvd29ya2JlbmNoLXZpZXcubW9kZWwnO1xuaW1wb3J0IHtXb3JrYmVuY2hQZXJzcGVjdGl2ZSwgV29ya2JlbmNoUGVyc3BlY3RpdmVEZWZpbml0aW9ufSBmcm9tICcuL3BlcnNwZWN0aXZlL3dvcmtiZW5jaC1wZXJzcGVjdGl2ZS5tb2RlbCc7XG5pbXBvcnQge1dvcmtiZW5jaFBhcnR9IGZyb20gJy4vcGFydC93b3JrYmVuY2gtcGFydC5tb2RlbCc7XG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHvJtVdvcmtiZW5jaFNlcnZpY2V9IGZyb20gJy4vybV3b3JrYmVuY2guc2VydmljZSc7XG5pbXBvcnQge1dvcmtiZW5jaExheW91dH0gZnJvbSAnLi9sYXlvdXQvd29ya2JlbmNoLWxheW91dCc7XG5cbi8qKlxuICogVGhlIGNlbnRyYWwgY2xhc3Mgb2YgdGhlIFNDSU9OIFdvcmtiZW5jaC5cbiAqXG4gKiBTQ0lPTiBXb3JrYmVuY2ggZW5hYmxlcyB0aGUgY3JlYXRpb24gb2YgQW5ndWxhciB3ZWIgYXBwbGljYXRpb25zIHRoYXQgcmVxdWlyZSBhIGZsZXhpYmxlIGxheW91dCB0byBhcnJhbmdlIGNvbnRlbnQgc2lkZS1ieS1zaWRlXG4gKiBvciBzdGFja2VkLCBhbGwgcGVyc29uYWxpemFibGUgYnkgdGhlIHVzZXIgdmlhIGRyYWcgJiBkcm9wLiBUaGlzIHR5cGUgb2YgbGF5b3V0IGlzIGlkZWFsIGZvciBhcHBsaWNhdGlvbnMgd2l0aCBub24tbGluZWFyIHdvcmtmbG93cyxcbiAqIGVuYWJsaW5nIHVzZXJzIHRvIHdvcmsgb24gY29udGVudCBpbiBwYXJhbGxlbC5cbiAqXG4gKiBUaGUgd29ya2JlbmNoIGxheW91dCBpcyBhIGdyaWQgb2YgcGFydHMuIFBhcnRzIGFyZSBhbGlnbmVkIHJlbGF0aXZlIHRvIGVhY2ggb3RoZXIuIEEgcGFydCBpcyBhIHN0YWNrIG9mIHZpZXdzLiBDb250ZW50IGlzIGRpc3BsYXllZCBpbiB2aWV3cy5cbiAqXG4gKiBUaGUgbGF5b3V0IGNhbiBiZSBkaXZpZGVkIGludG8gYSBtYWluIGFuZCBhIHBlcmlwaGVyYWwgYXJlYSwgd2l0aCB0aGUgbWFpbiBhcmVhIGFzIHRoZSBwcmltYXJ5IHBsYWNlIGZvciBvcGVuaW5nIHZpZXdzLlxuICogVGhlIHBlcmlwaGVyYWwgYXJlYSBhcnJhbmdlcyBwYXJ0cyBhcm91bmQgdGhlIG1haW4gYXJlYSB0byBwcm92aWRlIG5hdmlnYXRpb24gb3IgY29udGV4dC1zZW5zaXRpdmUgYXNzaXN0YW5jZSB0byBzdXBwb3J0XG4gKiB0aGUgdXNlcidzIHdvcmtmbG93LiBEZWZpbmluZyBhIG1haW4gYXJlYSBpcyBvcHRpb25hbCBhbmQgcmVjb21tZW5kZWQgZm9yIGFwcGxpY2F0aW9ucyByZXF1aXJpbmcgYSBkZWRpY2F0ZWQgYW5kIG1heGltaXphYmxlXG4gKiBhcmVhIGZvciB1c2VyIGludGVyYWN0aW9uLlxuICpcbiAqIE11bHRpcGxlIGxheW91dHMsIGNhbGxlZCBwZXJzcGVjdGl2ZXMsIGFyZSBzdXBwb3J0ZWQuIFBlcnNwZWN0aXZlcyBjYW4gYmUgc3dpdGNoZWQuIE9ubHkgb25lIHBlcnNwZWN0aXZlIGlzIGFjdGl2ZSBhdCBhIHRpbWUuXG4gKiBQZXJzcGVjdGl2ZXMgc2hhcmUgdGhlIHNhbWUgbWFpbiBhcmVhLCBpZiBhbnkuXG4gKi9cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCcsIHVzZUV4aXN0aW5nOiDJtVdvcmtiZW5jaFNlcnZpY2V9KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFdvcmtiZW5jaFNlcnZpY2Uge1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHtAbGluayBXb3JrYmVuY2hMYXlvdXR9LlxuICAgKlxuICAgKiBUaGUgbGF5b3V0IGlzIGFuIGltbXV0YWJsZSBvYmplY3QuIE1vZGlmaWNhdGlvbnMgaGF2ZSBubyBzaWRlIGVmZmVjdHMuIFRoZSBsYXlvdXQgY2FuIGJlIG1vZGlmaWVkIHVzaW5nIHtAbGluayBXb3JrYmVuY2hSb3V0ZXIubmF2aWdhdGV9LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGxheW91dDogV29ya2JlbmNoTGF5b3V0O1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgY3VycmVudCB7QGxpbmsgV29ya2JlbmNoTGF5b3V0fS5cbiAgICpcbiAgICogVXBvbiBzdWJzY3JpcHRpb24sIGVtaXRzIHRoZSBjdXJyZW50IHdvcmtiZW5jaCBsYXlvdXQsIGFuZCB0aGVuIGVtaXRzIGNvbnRpbnVvdXNseVxuICAgKiB3aGVuIHRoZSBsYXlvdXQgY2hhbmdlcy4gSXQgbmV2ZXIgY29tcGxldGVzLlxuICAgKlxuICAgKiBUaGUgbGF5b3V0IGlzIGFuIGltbXV0YWJsZSBvYmplY3QuIE1vZGlmaWNhdGlvbnMgaGF2ZSBubyBzaWRlIGVmZmVjdHMuIFRoZSBsYXlvdXQgY2FuIGJlIG1vZGlmaWVkIHVzaW5nIHtAbGluayBXb3JrYmVuY2hSb3V0ZXIubmF2aWdhdGV9LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGxheW91dCQ6IE9ic2VydmFibGU8V29ya2JlbmNoTGF5b3V0PjtcblxuICAvKipcbiAgICogUGVyc3BlY3RpdmVzIHJlZ2lzdGVyZWQgd2l0aCB0aGUgd29ya2JlbmNoLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHBlcnNwZWN0aXZlczogcmVhZG9ubHkgV29ya2JlbmNoUGVyc3BlY3RpdmVbXTtcblxuICAvKipcbiAgICogRW1pdHMgdGhlIHBlcnNwZWN0aXZlcyByZWdpc3RlcmVkIHdpdGggdGhlIHdvcmtiZW5jaC5cbiAgICpcbiAgICogVXBvbiBzdWJzY3JpcHRpb24sIGVtaXRzIHJlZ2lzdGVyZWQgcGVyc3BlY3RpdmVzLCBhbmQgdGhlbiBlbWl0cyBjb250aW51b3VzbHlcbiAgICogd2hlbiBuZXcgcGVyc3BlY3RpdmVzIGFyZSByZWdpc3RlcmVkIG9yIGV4aXN0aW5nIHBlcnNwZWN0aXZlcyB1bnJlZ2lzdGVyZWQuIEl0IG5ldmVyIGNvbXBsZXRlcy5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBwZXJzcGVjdGl2ZXMkOiBPYnNlcnZhYmxlPHJlYWRvbmx5IFdvcmtiZW5jaFBlcnNwZWN0aXZlW10+O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgcmVmZXJlbmNlIHRvIHRoZSBzcGVjaWZpZWQge0BsaW5rIFdvcmtiZW5jaFBlcnNwZWN0aXZlfSwgb3IgYG51bGxgIGlmIG5vdCBmb3VuZC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRQZXJzcGVjdGl2ZShwZXJzcGVjdGl2ZUlkOiBzdHJpbmcpOiBXb3JrYmVuY2hQZXJzcGVjdGl2ZSB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyB0aGUgZ2l2ZW4gcGVyc3BlY3RpdmUgdG8gYXJyYW5nZSB2aWV3cyBhcm91bmQgdGhlIG1haW4gYXJlYS5cbiAgICogVGhlIHBlcnNwZWN0aXZlIGNhbiBiZSBhY3RpdmF0ZWQgdmlhIHRoZSB7QGxpbmsgV29ya2JlbmNoU2VydmljZSNzd2l0Y2hQZXJzcGVjdGl2ZX0gbWV0aG9kLlxuICAgKlxuICAgKiBAc2VlIFdvcmtiZW5jaFBlcnNwZWN0aXZlXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVnaXN0ZXJQZXJzcGVjdGl2ZShwZXJzcGVjdGl2ZTogV29ya2JlbmNoUGVyc3BlY3RpdmVEZWZpbml0aW9uKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogU3dpdGNoZXMgdG8gdGhlIHNwZWNpZmllZCBwZXJzcGVjdGl2ZS4gTGF5b3V0IGFuZCB2aWV3cyBvZiB0aGUgbWFpbiBhcmVhIGRvIG5vdCBjaGFuZ2UuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3Qgc3dpdGNoUGVyc3BlY3RpdmUoaWQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj47XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgY3VycmVudGx5IGFjdGl2ZSBwZXJzcGVjdGl2ZSB0byBpdHMgaW5pdGlhbCBsYXlvdXQuIExheW91dCBhbmQgdmlld3Mgb2YgdGhlIG1haW4gYXJlYSBkbyBub3QgY2hhbmdlLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlc2V0UGVyc3BlY3RpdmUoKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogUGFydHMgaW4gdGhlIHdvcmtiZW5jaCBsYXlvdXQuXG4gICAqXG4gICAqIEVhY2gge0BsaW5rIFdvcmtiZW5jaFBhcnR9IG9iamVjdCByZXByZXNlbnRzIGEgcGFydCBpbiB0aGUgd29ya2JlbmNoIGxheW91dCB0aGF0IGNhbiBiZSBpbnRlcmFjdGVkIHdpdGguXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcGFydHM6IHJlYWRvbmx5IFdvcmtiZW5jaFBhcnRbXTtcblxuICAvKipcbiAgICogRW1pdHMgdGhlIHBhcnRzIGluIHRoZSB3b3JrYmVuY2ggbGF5b3V0LlxuICAgKlxuICAgKiBVcG9uIHN1YnNjcmlwdGlvbiwgZW1pdHMgcGFydHMgY29udGFpbmVkIGluIHRoZSBsYXlvdXQsIGFuZCB0aGVuIGVtaXRzIGNvbnRpbnVvdXNseVxuICAgKiB3aGVuIG5ldyBwYXJ0cyBhcmUgYWRkZWQgb3IgZXhpc3RpbmcgcGFydHMgcmVtb3ZlZC4gSXQgbmV2ZXIgY29tcGxldGVzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHBhcnRzJDogT2JzZXJ2YWJsZTxyZWFkb25seSBXb3JrYmVuY2hQYXJ0W10+O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgcmVmZXJlbmNlIHRvIHRoZSBzcGVjaWZpZWQge0BsaW5rIFdvcmtiZW5jaFBhcnR9LCBvciBgbnVsbGAgaWYgbm90IGZvdW5kLlxuICAgKlxuICAgKiBBIHtAbGluayBXb3JrYmVuY2hQYXJ0fSBvYmplY3QgcmVwcmVzZW50cyBhIHBhcnQgaW4gdGhlIHdvcmtiZW5jaCBsYXlvdXQgdGhhdCBjYW4gYmUgaW50ZXJhY3RlZCB3aXRoLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldFBhcnQocGFydElkOiBzdHJpbmcpOiBXb3JrYmVuY2hQYXJ0IHwgbnVsbDtcblxuICAvKipcbiAgICogVmlld3MgaW4gdGhlIHdvcmtiZW5jaCBsYXlvdXQuXG4gICAqXG4gICAqIEVhY2gge0BsaW5rIFdvcmtiZW5jaFZpZXd9IG9iamVjdCByZXByZXNlbnRzIGEgdmlldyBpbiB0aGUgd29ya2JlbmNoIGxheW91dCB0aGF0IGNhbiBiZSBpbnRlcmFjdGVkIHdpdGguXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgdmlld3M6IHJlYWRvbmx5IFdvcmtiZW5jaFZpZXdbXTtcblxuICAvKipcbiAgICogRW1pdHMgdGhlIHZpZXdzIG9wZW5lZCBpbiB0aGUgd29ya2JlbmNoLlxuICAgKlxuICAgKiBVcG9uIHN1YnNjcmlwdGlvbiwgZW1pdHMgdmlld3MgY29udGFpbmVkIGluIHRoZSBsYXlvdXQsIGFuZCB0aGVuIGVtaXRzIGNvbnRpbnVvdXNseVxuICAgKiB3aGVuIG5ldyB2aWV3cyBhcmUgb3BlbmVkIG9yIGV4aXN0aW5nIHZpZXdzIGNsb3NlZC4gSXQgbmV2ZXIgY29tcGxldGVzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHZpZXdzJDogT2JzZXJ2YWJsZTxyZWFkb25seSBXb3JrYmVuY2hWaWV3W10+O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgcmVmZXJlbmNlIHRvIHRoZSBzcGVjaWZpZWQge0BsaW5rIFdvcmtiZW5jaFZpZXd9LCBvciBgbnVsbGAgaWYgbm90IGZvdW5kLlxuICAgKlxuICAgKiBBIHtAbGluayBXb3JrYmVuY2hWaWV3fSBvYmplY3QgcmVwcmVzZW50cyBhIHZpZXcgaW4gdGhlIHdvcmtiZW5jaCBsYXlvdXQgdGhhdCBjYW4gYmUgaW50ZXJhY3RlZCB3aXRoLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldFZpZXcodmlld0lkOiBWaWV3SWQpOiBXb3JrYmVuY2hWaWV3IHwgbnVsbDtcblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBzcGVjaWZpZWQgd29ya2JlbmNoIHZpZXdzLlxuICAgKlxuICAgKiBOb3RlOiBUaGlzIGluc3RydWN0aW9uIHJ1bnMgYXN5bmNocm9ub3VzbHkgdmlhIFVSTCByb3V0aW5nLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGNsb3NlVmlld3MoLi4udmlld0lkczogVmlld0lkW10pOiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBDb250cmlidXRlcyBhbiBhY3Rpb24gdG8gYSBwYXJ0J3MgYWN0aW9uIGJhci5cbiAgICpcbiAgICogUGFydCBhY3Rpb25zIGFyZSBkaXNwbGF5ZWQgdG8gdGhlIHJpZ2h0IG9mIHRoZSB2aWV3IHRhYiBiYXIgYW5kIGVuYWJsZSBpbnRlcmFjdGlvbiB3aXRoIHRoZSBwYXJ0IGFuZCBpdHMgY29udGVudC5cbiAgICpcbiAgICogQHJldHVybiBoYW5kbGUgdG8gdW5yZWdpc3RlciB0aGUgcGFydCBhY3Rpb24uXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVnaXN0ZXJQYXJ0QWN0aW9uKGFjdGlvbjogV29ya2JlbmNoUGFydEFjdGlvbik6IERpc3Bvc2FibGU7XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIHZpZXcgbWVudSBpdGVtIHdoaWNoIGlzIGFkZGVkIHRvIHRoZSBjb250ZXh0IG1lbnUgb2YgZXZlcnkgdmlldyB0YWIuXG4gICAqXG4gICAqIFRoZSBmYWN0b3J5IGZ1bmN0aW9uIGlzIGludm9rZWQgd2l0aCB0aGUgdmlldyBhcyBpdHMgYXJndW1lbnQgd2hlbiB0aGUgbWVudSBpcyBhYm91dCB0byBzaG93LlxuICAgKlxuICAgKiBAcmV0dXJuIGhhbmRsZSB0byB1bnJlZ2lzdGVyIHRoZSBtZW51IGl0ZW0uXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVnaXN0ZXJWaWV3TWVudUl0ZW0oZmFjdG9yeUZuOiBXb3JrYmVuY2hNZW51SXRlbUZhY3RvcnlGbik6IERpc3Bvc2FibGU7XG5cbiAgLyoqXG4gICAqIFN3aXRjaGVzIHRoZSB0aGVtZSBvZiB0aGUgd29ya2JlbmNoLlxuICAgKlxuICAgKiBUaGVtZXMgY2FuIGJlIHJlZ2lzdGVyZWQgd2hlbiBsb2FkaW5nIHRoZSBgQHNjaW9uL3dvcmtiZW5jaGAgU0NTUyBtb2R1bGUgaW4gdGhlIGFwcGxpY2F0aW9uJ3MgYHN0eWxlcy5zY3NzYCBmaWxlLlxuICAgKiBCeSBkZWZhdWx0LCBTQ0lPTiBwcm92aWRlcyBhIGxpZ2h0IGFuZCBhIGRhcmsgdGhlbWUsIGBzY2lvbi1saWdodGAgYW5kIGBzY2lvbi1kYXJrYC5cbiAgICpcbiAgICogU2VlIHRoZSBkb2N1bWVudGF0aW9uIG9mIGBAc2Npb24vd29ya2JlbmNoYCBTQ1NTIG1vZHVsZSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHRoZW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRoZW1lIHRvIHN3aXRjaCB0by5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBzd2l0Y2hUaGVtZSh0aGVtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogRW1pdHMgdGhlIGN1cnJlbnQgd29ya2JlbmNoIHRoZW1lLlxuICAgKlxuICAgKiBVcG9uIHN1YnNjcmlwdGlvbiwgZW1pdHMgdGhlIGN1cnJlbnQgdGhlbWUsIGFuZCB0aGVuIGNvbnRpbnVvdXNseSBlbWl0cyB3aGVuIHN3aXRjaGluZyB0aGUgdGhlbWUuIEl0IG5ldmVyIGNvbXBsZXRlcy5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB0aGVtZSQ6IE9ic2VydmFibGU8V29ya2JlbmNoVGhlbWUgfCBudWxsPjtcbn1cbiJdfQ==
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import { Injectable } from '@angular/core';
11
11
  import { BehaviorSubject } from 'rxjs';
12
+ import { throwError } from './common/throw-error.util';
12
13
  import * as i0 from "@angular/core";
13
14
  import * as i1 from "./routing/workbench-router.service";
14
15
  import * as i2 from "./perspective/workbench-perspective.registry";
@@ -16,22 +17,28 @@ import * as i3 from "./part/workbench-part.registry";
16
17
  import * as i4 from "./part/workbench-part-action.registry";
17
18
  import * as i5 from "./view/workbench-view.registry";
18
19
  import * as i6 from "./perspective/workbench-perspective.service";
19
- import * as i7 from "./theme/workbench-theme-switcher.service";
20
+ import * as i7 from "./layout/workbench-layout.service";
21
+ import * as i8 from "./theme/workbench-theme-switcher.service";
20
22
  export class ɵWorkbenchService {
21
- constructor(_workbenchRouter, _perspectiveRegistry, _partRegistry, _partActionRegistry, _viewRegistry, _perspectiveService, _workbenchThemeSwitcher) {
23
+ constructor(_workbenchRouter, _perspectiveRegistry, _partRegistry, _partActionRegistry, _viewRegistry, _perspectiveService, _layoutService, _workbenchThemeSwitcher) {
22
24
  this._workbenchRouter = _workbenchRouter;
23
25
  this._perspectiveRegistry = _perspectiveRegistry;
24
26
  this._partRegistry = _partRegistry;
25
27
  this._partActionRegistry = _partActionRegistry;
26
28
  this._viewRegistry = _viewRegistry;
27
29
  this._perspectiveService = _perspectiveService;
30
+ this._layoutService = _layoutService;
28
31
  this._workbenchThemeSwitcher = _workbenchThemeSwitcher;
29
32
  this.viewMenuItemProviders$ = new BehaviorSubject([]);
33
+ this.layout$ = this._layoutService.layout$;
30
34
  this.perspectives$ = this._perspectiveRegistry.perspectives$;
31
35
  this.parts$ = this._partRegistry.parts$;
32
36
  this.views$ = this._viewRegistry.views$;
33
37
  this.theme$ = this._workbenchThemeSwitcher.theme$;
34
38
  }
39
+ get layout() {
40
+ return this._layoutService.layout ?? throwError('[NullLayoutError] Workbench layout not created yet.');
41
+ }
35
42
  /** @inheritDoc */
36
43
  get perspectives() {
37
44
  return this._perspectiveRegistry.perspectives;
@@ -70,20 +77,7 @@ export class ɵWorkbenchService {
70
77
  }
71
78
  /** @inheritDoc */
72
79
  async closeViews(...viewIds) {
73
- // TODO [#27]: Use single navigation to close multiple views.
74
- // For example:
75
- // return this._workbenchRouter.ɵnavigate(layout => {
76
- // return {
77
- // layout: viewIds.reduce((layout, viewId) => layout.removeView(viewId), layout),
78
- // viewOutlets: viewIds.reduce((outlets, viewId) => ({...outlets, [viewId]: null}), {}),
79
- // };
80
- // });
81
- // To avoid canceling the entire navigation if some view(s) prevent(s) closing, close each view through a separate navigation.
82
- const navigations = await Promise.all(viewIds
83
- .map(viewId => this._viewRegistry.get(viewId))
84
- .filter(view => view.closable)
85
- .map(view => this._workbenchRouter.navigate([], { target: view.id, close: true })));
86
- return navigations.every(Boolean);
80
+ return this._workbenchRouter.navigate(layout => viewIds.reduce((layout, viewId) => layout.removeView(viewId), layout));
87
81
  }
88
82
  /** @inheritDoc */
89
83
  registerPartAction(action) {
@@ -102,11 +96,11 @@ export class ɵWorkbenchService {
102
96
  switchTheme(theme) {
103
97
  return this._workbenchThemeSwitcher.switchTheme(theme);
104
98
  }
105
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ɵWorkbenchService, deps: [{ token: i1.WorkbenchRouter }, { token: i2.WorkbenchPerspectiveRegistry }, { token: i3.WorkbenchPartRegistry }, { token: i4.WorkbenchPartActionRegistry }, { token: i5.WorkbenchViewRegistry }, { token: i6.WorkbenchPerspectiveService }, { token: i7.WorkbenchThemeSwitcher }], target: i0.ɵɵFactoryTarget.Injectable }); }
106
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ɵWorkbenchService, providedIn: 'root' }); }
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ɵWorkbenchService, deps: [{ token: i1.WorkbenchRouter }, { token: i2.WorkbenchPerspectiveRegistry }, { token: i3.WorkbenchPartRegistry }, { token: i4.WorkbenchPartActionRegistry }, { token: i5.WorkbenchViewRegistry }, { token: i6.WorkbenchPerspectiveService }, { token: i7.WorkbenchLayoutService }, { token: i8.WorkbenchThemeSwitcher }], target: i0.ɵɵFactoryTarget.Injectable }); }
100
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ɵWorkbenchService, providedIn: 'root' }); }
107
101
  }
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ɵWorkbenchService, decorators: [{
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ɵWorkbenchService, decorators: [{
109
103
  type: Injectable,
110
104
  args: [{ providedIn: 'root' }]
111
- }], ctorParameters: () => [{ type: i1.WorkbenchRouter }, { type: i2.WorkbenchPerspectiveRegistry }, { type: i3.WorkbenchPartRegistry }, { type: i4.WorkbenchPartActionRegistry }, { type: i5.WorkbenchViewRegistry }, { type: i6.WorkbenchPerspectiveService }, { type: i7.WorkbenchThemeSwitcher }] });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiybV3b3JrYmVuY2guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL8m1d29ya2JlbmNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxlQUFlLEVBQWEsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQWlCakQsTUFBTSxPQUFPLGlCQUFpQjtJQVM1QixZQUFvQixnQkFBaUMsRUFDakMsb0JBQWtELEVBQ2xELGFBQW9DLEVBQ3BDLG1CQUFnRCxFQUNoRCxhQUFvQyxFQUNwQyxtQkFBZ0QsRUFDaEQsdUJBQStDO1FBTi9DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUE4QjtRQUNsRCxrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7UUFDcEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUE2QjtRQUNoRCxrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7UUFDcEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUE2QjtRQUNoRCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXdCO1FBUm5ELDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUErQixFQUFFLENBQUMsQ0FBQztRQVM3RixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUM7UUFDN0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQztJQUNwRCxDQUFDO0lB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QUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ3JHLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVcsQ0FBQyxLQUFhO1FBQzlCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RCxDQUFDOzhHQXpHVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQURMLE1BQU07OzJGQUNsQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtXb3JrYmVuY2hNZW51SXRlbUZhY3RvcnlGbiwgV29ya2JlbmNoUGFydEFjdGlvbiwgV29ya2JlbmNoVGhlbWV9IGZyb20gJy4vd29ya2JlbmNoLm1vZGVsJztcbmltcG9ydCB7RGlzcG9zYWJsZX0gZnJvbSAnLi9jb21tb24vZGlzcG9zYWJsZSc7XG5pbXBvcnQge1dvcmtiZW5jaFNlcnZpY2V9IGZyb20gJy4vd29ya2JlbmNoLnNlcnZpY2UnO1xuaW1wb3J0IHtXb3JrYmVuY2hSb3V0ZXJ9IGZyb20gJy4vcm91dGluZy93b3JrYmVuY2gtcm91dGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtXb3JrYmVuY2hWaWV3UmVnaXN0cnl9IGZyb20gJy4vdmlldy93b3JrYmVuY2gtdmlldy5yZWdpc3RyeSc7XG5pbXBvcnQge1dvcmtiZW5jaFBlcnNwZWN0aXZlU2VydmljZX0gZnJvbSAnLi9wZXJzcGVjdGl2ZS93b3JrYmVuY2gtcGVyc3BlY3RpdmUuc2VydmljZSc7XG5pbXBvcnQge1dvcmtiZW5jaFBlcnNwZWN0aXZlRGVmaW5pdGlvbn0gZnJvbSAnLi9wZXJzcGVjdGl2ZS93b3JrYmVuY2gtcGVyc3BlY3RpdmUubW9kZWwnO1xuaW1wb3J0IHtXb3JrYmVuY2hQYXJ0UmVnaXN0cnl9IGZyb20gJy4vcGFydC93b3JrYmVuY2gtcGFydC5yZWdpc3RyeSc7XG5pbXBvcnQge8m1V29ya2JlbmNoVmlld30gZnJvbSAnLi92aWV3L8m1d29ya2JlbmNoLXZpZXcubW9kZWwnO1xuaW1wb3J0IHvJtVdvcmtiZW5jaFBhcnR9IGZyb20gJy4vcGFydC/JtXdvcmtiZW5jaC1wYXJ0Lm1vZGVsJztcbmltcG9ydCB7ybVXb3JrYmVuY2hQZXJzcGVjdGl2ZX0gZnJvbSAnLi9wZXJzcGVjdGl2ZS/JtXdvcmtiZW5jaC1wZXJzcGVjdGl2ZS5tb2RlbCc7XG5pbXBvcnQge1dvcmtiZW5jaFBlcnNwZWN0aXZlUmVnaXN0cnl9IGZyb20gJy4vcGVyc3BlY3RpdmUvd29ya2JlbmNoLXBlcnNwZWN0aXZlLnJlZ2lzdHJ5JztcbmltcG9ydCB7V29ya2JlbmNoUGFydEFjdGlvblJlZ2lzdHJ5fSBmcm9tICcuL3BhcnQvd29ya2JlbmNoLXBhcnQtYWN0aW9uLnJlZ2lzdHJ5JztcbmltcG9ydCB7V29ya2JlbmNoVGhlbWVTd2l0Y2hlcn0gZnJvbSAnLi90aGVtZS93b3JrYmVuY2gtdGhlbWUtc3dpdGNoZXIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIMm1V29ya2JlbmNoU2VydmljZSBpbXBsZW1lbnRzIFdvcmtiZW5jaFNlcnZpY2Uge1xuXG4gIHB1YmxpYyByZWFkb25seSBwZXJzcGVjdGl2ZXMkOiBPYnNlcnZhYmxlPHJlYWRvbmx5IMm1V29ya2JlbmNoUGVyc3BlY3RpdmVbXT47XG4gIHB1YmxpYyByZWFkb25seSBwYXJ0cyQ6IE9ic2VydmFibGU8cmVhZG9ubHkgybVXb3JrYmVuY2hQYXJ0W10+O1xuICBwdWJsaWMgcmVhZG9ubHkgdmlld3MkOiBPYnNlcnZhYmxlPHJlYWRvbmx5IMm1V29ya2JlbmNoVmlld1tdPjtcbiAgcHVibGljIHJlYWRvbmx5IHRoZW1lJDogT2JzZXJ2YWJsZTxXb3JrYmVuY2hUaGVtZSB8IG51bGw+O1xuXG4gIHB1YmxpYyByZWFkb25seSB2aWV3TWVudUl0ZW1Qcm92aWRlcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxXb3JrYmVuY2hNZW51SXRlbUZhY3RvcnlGbltdPihbXSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfd29ya2JlbmNoUm91dGVyOiBXb3JrYmVuY2hSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgX3BlcnNwZWN0aXZlUmVnaXN0cnk6IFdvcmtiZW5jaFBlcnNwZWN0aXZlUmVnaXN0cnksXG4gICAgICAgICAgICAgIHByaXZhdGUgX3BhcnRSZWdpc3RyeTogV29ya2JlbmNoUGFydFJlZ2lzdHJ5LFxuICAgICAgICAgICAgICBwcml2YXRlIF9wYXJ0QWN0aW9uUmVnaXN0cnk6IFdvcmtiZW5jaFBhcnRBY3Rpb25SZWdpc3RyeSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdmlld1JlZ2lzdHJ5OiBXb3JrYmVuY2hWaWV3UmVnaXN0cnksXG4gICAgICAgICAgICAgIHByaXZhdGUgX3BlcnNwZWN0aXZlU2VydmljZTogV29ya2JlbmNoUGVyc3BlY3RpdmVTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF93b3JrYmVuY2hUaGVtZVN3aXRjaGVyOiBXb3JrYmVuY2hUaGVtZVN3aXRjaGVyKSB7XG4gICAgdGhpcy5wZXJzcGVjdGl2ZXMkID0gdGhpcy5fcGVyc3BlY3RpdmVSZWdpc3RyeS5wZXJzcGVjdGl2ZXMkO1xuICAgIHRoaXMucGFydHMkID0gdGhpcy5fcGFydFJlZ2lzdHJ5LnBhcnRzJDtcbiAgICB0aGlzLnZpZXdzJCA9IHRoaXMuX3ZpZXdSZWdpc3RyeS52aWV3cyQ7XG4gICAgdGhpcy50aGVtZSQgPSB0aGlzLl93b3JrYmVuY2hUaGVtZVN3aXRjaGVyLnRoZW1lJDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZ2V0IHBlcnNwZWN0aXZlcygpOiByZWFkb25seSDJtVdvcmtiZW5jaFBlcnNwZWN0aXZlW10ge1xuICAgIHJldHVybiB0aGlzLl9wZXJzcGVjdGl2ZVJlZ2lzdHJ5LnBlcnNwZWN0aXZlcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZ2V0UGVyc3BlY3RpdmUocGVyc3BlY3RpdmVJZDogc3RyaW5nKTogybVXb3JrYmVuY2hQZXJzcGVjdGl2ZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9wZXJzcGVjdGl2ZVJlZ2lzdHJ5LmdldChwZXJzcGVjdGl2ZUlkLCB7b3JFbHNlOiBudWxsfSk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGdldCBwYXJ0cygpOiByZWFkb25seSDJtVdvcmtiZW5jaFBhcnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcnRSZWdpc3RyeS5wYXJ0cztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZ2V0UGFydChwYXJ0SWQ6IHN0cmluZyk6IMm1V29ya2JlbmNoUGFydCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9wYXJ0UmVnaXN0cnkuZ2V0KHBhcnRJZCwge29yRWxzZTogbnVsbH0pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBnZXQgdmlld3MoKTogcmVhZG9ubHkgybVXb3JrYmVuY2hWaWV3W10ge1xuICAgIHJldHVybiB0aGlzLl92aWV3UmVnaXN0cnkudmlld3M7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGdldFZpZXcodmlld0lkOiBzdHJpbmcpOiDJtVdvcmtiZW5jaFZpZXcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdmlld1JlZ2lzdHJ5LmdldCh2aWV3SWQsIHtvckVsc2U6IG51bGx9KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgcmVnaXN0ZXJQZXJzcGVjdGl2ZShwZXJzcGVjdGl2ZTogV29ya2JlbmNoUGVyc3BlY3RpdmVEZWZpbml0aW9uKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3BlcnNwZWN0aXZlU2VydmljZS5yZWdpc3RlclBlcnNwZWN0aXZlKHBlcnNwZWN0aXZlKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgc3dpdGNoUGVyc3BlY3RpdmUoaWQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9wZXJzcGVjdGl2ZVNlcnZpY2Uuc3dpdGNoUGVyc3BlY3RpdmUoaWQpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBhc3luYyByZXNldFBlcnNwZWN0aXZlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuX3BlcnNwZWN0aXZlU2VydmljZS5yZXNldFBlcnNwZWN0aXZlKCk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGFzeW5jIGNsb3NlVmlld3MoLi4udmlld0lkczogc3RyaW5nW10pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAvLyBUT0RPIFsjMjddOiBVc2Ugc2luZ2xlIG5hdmlnYXRpb24gdG8gY2xvc2UgbXVsdGlwbGUgdmlld3MuXG4gICAgLy8gRm9yIGV4YW1wbGU6XG4gICAgLy8gcmV0dXJuIHRoaXMuX3dvcmtiZW5jaFJvdXRlci7JtW5hdmlnYXRlKGxheW91dCA9PiB7XG4gICAgLy8gICByZXR1cm4ge1xuICAgIC8vICAgICBsYXlvdXQ6IHZpZXdJZHMucmVkdWNlKChsYXlvdXQsIHZpZXdJZCkgPT4gbGF5b3V0LnJlbW92ZVZpZXcodmlld0lkKSwgbGF5b3V0KSxcbiAgICAvLyAgICAgdmlld091dGxldHM6IHZpZXdJZHMucmVkdWNlKChvdXRsZXRzLCB2aWV3SWQpID0+ICh7Li4ub3V0bGV0cywgW3ZpZXdJZF06IG51bGx9KSwge30pLFxuICAgIC8vICAgfTtcbiAgICAvLyB9KTtcblxuICAgIC8vIFRvIGF2b2lkIGNhbmNlbGluZyB0aGUgZW50aXJlIG5hdmlnYXRpb24gaWYgc29tZSB2aWV3KHMpIHByZXZlbnQocykgY2xvc2luZywgY2xvc2UgZWFjaCB2aWV3IHRocm91Z2ggYSBzZXBhcmF0ZSBuYXZpZ2F0aW9uLlxuICAgIGNvbnN0IG5hdmlnYXRpb25zID0gYXdhaXQgUHJvbWlzZS5hbGwodmlld0lkc1xuICAgICAgLm1hcCh2aWV3SWQgPT4gdGhpcy5fdmlld1JlZ2lzdHJ5LmdldCh2aWV3SWQpKVxuICAgICAgLmZpbHRlcih2aWV3ID0+IHZpZXcuY2xvc2FibGUpXG4gICAgICAubWFwKHZpZXcgPT4gdGhpcy5fd29ya2JlbmNoUm91dGVyLm5hdmlnYXRlKFtdLCB7dGFyZ2V0OiB2aWV3LmlkLCBjbG9zZTogdHJ1ZX0pKSxcbiAgICApO1xuICAgIHJldHVybiBuYXZpZ2F0aW9ucy5ldmVyeShCb29sZWFuKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgcmVnaXN0ZXJQYXJ0QWN0aW9uKGFjdGlvbjogV29ya2JlbmNoUGFydEFjdGlvbik6IERpc3Bvc2FibGUge1xuICAgIHJldHVybiB0aGlzLl9wYXJ0QWN0aW9uUmVnaXN0cnkucmVnaXN0ZXIoYWN0aW9uKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgcmVnaXN0ZXJWaWV3TWVudUl0ZW0oZmFjdG9yeUZuOiBXb3JrYmVuY2hNZW51SXRlbUZhY3RvcnlGbik6IERpc3Bvc2FibGUge1xuICAgIHRoaXMudmlld01lbnVJdGVtUHJvdmlkZXJzJC5uZXh0KHRoaXMudmlld01lbnVJdGVtUHJvdmlkZXJzJC52YWx1ZS5jb25jYXQoZmFjdG9yeUZuKSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc3Bvc2U6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy52aWV3TWVudUl0ZW1Qcm92aWRlcnMkLm5leHQodGhpcy52aWV3TWVudUl0ZW1Qcm92aWRlcnMkLnZhbHVlLmZpbHRlcihpdCA9PiBpdCAhPT0gZmFjdG9yeUZuKSk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHN3aXRjaFRoZW1lKHRoZW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fd29ya2JlbmNoVGhlbWVTd2l0Y2hlci5zd2l0Y2hUaGVtZSh0aGVtZSk7XG4gIH1cbn1cbiJdfQ==
105
+ }], ctorParameters: () => [{ type: i1.WorkbenchRouter }, { type: i2.WorkbenchPerspectiveRegistry }, { type: i3.WorkbenchPartRegistry }, { type: i4.WorkbenchPartActionRegistry }, { type: i5.WorkbenchViewRegistry }, { type: i6.WorkbenchPerspectiveService }, { type: i7.WorkbenchLayoutService }, { type: i8.WorkbenchThemeSwitcher }] });
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiybV3b3JrYmVuY2guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL8m1d29ya2JlbmNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxlQUFlLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFrQmpELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7OztBQUdyRCxNQUFNLE9BQU8saUJBQWlCO0lBVTVCLFlBQW9CLGdCQUFpQyxFQUNqQyxvQkFBa0QsRUFDbEQsYUFBb0MsRUFDcEMsbUJBQWdELEVBQ2hELGFBQW9DLEVBQ3BDLG1CQUFnRCxFQUNoRCxjQUFzQyxFQUN0Qyx1QkFBK0M7UUFQL0MscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQThCO1FBQ2xELGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtRQUNwQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQTZCO1FBQ2hELGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtRQUNwQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQTZCO1FBQ2hELG1CQUFjLEdBQWQsY0FBYyxDQUF3QjtRQUN0Qyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXdCO1FBVG5ELDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUErQixFQUFFLENBQUMsQ0FBQztRQVU3RixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQztRQUM3RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENB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Q0FBQztZQUNyRyxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0I7SUFDWCxXQUFXLENBQUMsS0FBYTtRQUM5QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQzs4R0FqR1UsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FETCxNQUFNOzsyRkFDbEIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7V29ya2JlbmNoTWVudUl0ZW1GYWN0b3J5Rm4sIFdvcmtiZW5jaFBhcnRBY3Rpb24sIFdvcmtiZW5jaFRoZW1lfSBmcm9tICcuL3dvcmtiZW5jaC5tb2RlbCc7XG5pbXBvcnQge0Rpc3Bvc2FibGV9IGZyb20gJy4vY29tbW9uL2Rpc3Bvc2FibGUnO1xuaW1wb3J0IHtXb3JrYmVuY2hTZXJ2aWNlfSBmcm9tICcuL3dvcmtiZW5jaC5zZXJ2aWNlJztcbmltcG9ydCB7V29ya2JlbmNoUm91dGVyfSBmcm9tICcuL3JvdXRpbmcvd29ya2JlbmNoLXJvdXRlci5zZXJ2aWNlJztcbmltcG9ydCB7V29ya2JlbmNoVmlld1JlZ2lzdHJ5fSBmcm9tICcuL3ZpZXcvd29ya2JlbmNoLXZpZXcucmVnaXN0cnknO1xuaW1wb3J0IHtXb3JrYmVuY2hQZXJzcGVjdGl2ZVNlcnZpY2V9IGZyb20gJy4vcGVyc3BlY3RpdmUvd29ya2JlbmNoLXBlcnNwZWN0aXZlLnNlcnZpY2UnO1xuaW1wb3J0IHtXb3JrYmVuY2hQZXJzcGVjdGl2ZURlZmluaXRpb259IGZyb20gJy4vcGVyc3BlY3RpdmUvd29ya2JlbmNoLXBlcnNwZWN0aXZlLm1vZGVsJztcbmltcG9ydCB7V29ya2JlbmNoUGFydFJlZ2lzdHJ5fSBmcm9tICcuL3BhcnQvd29ya2JlbmNoLXBhcnQucmVnaXN0cnknO1xuaW1wb3J0IHvJtVdvcmtiZW5jaFZpZXd9IGZyb20gJy4vdmlldy/JtXdvcmtiZW5jaC12aWV3Lm1vZGVsJztcbmltcG9ydCB7ybVXb3JrYmVuY2hQYXJ0fSBmcm9tICcuL3BhcnQvybV3b3JrYmVuY2gtcGFydC5tb2RlbCc7XG5pbXBvcnQge8m1V29ya2JlbmNoUGVyc3BlY3RpdmV9IGZyb20gJy4vcGVyc3BlY3RpdmUvybV3b3JrYmVuY2gtcGVyc3BlY3RpdmUubW9kZWwnO1xuaW1wb3J0IHtXb3JrYmVuY2hQZXJzcGVjdGl2ZVJlZ2lzdHJ5fSBmcm9tICcuL3BlcnNwZWN0aXZlL3dvcmtiZW5jaC1wZXJzcGVjdGl2ZS5yZWdpc3RyeSc7XG5pbXBvcnQge1dvcmtiZW5jaFBhcnRBY3Rpb25SZWdpc3RyeX0gZnJvbSAnLi9wYXJ0L3dvcmtiZW5jaC1wYXJ0LWFjdGlvbi5yZWdpc3RyeSc7XG5pbXBvcnQge1dvcmtiZW5jaFRoZW1lU3dpdGNoZXJ9IGZyb20gJy4vdGhlbWUvd29ya2JlbmNoLXRoZW1lLXN3aXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtWaWV3SWR9IGZyb20gJy4vdmlldy93b3JrYmVuY2gtdmlldy5tb2RlbCc7XG5pbXBvcnQge8m1V29ya2JlbmNoTGF5b3V0fSBmcm9tICcuL2xheW91dC/JtXdvcmtiZW5jaC1sYXlvdXQnO1xuaW1wb3J0IHtXb3JrYmVuY2hMYXlvdXRTZXJ2aWNlfSBmcm9tICcuL2xheW91dC93b3JrYmVuY2gtbGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHt0aHJvd0Vycm9yfSBmcm9tICcuL2NvbW1vbi90aHJvdy1lcnJvci51dGlsJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgybVXb3JrYmVuY2hTZXJ2aWNlIGltcGxlbWVudHMgV29ya2JlbmNoU2VydmljZSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGxheW91dCQ6IE9ic2VydmFibGU8ybVXb3JrYmVuY2hMYXlvdXQ+O1xuICBwdWJsaWMgcmVhZG9ubHkgcGVyc3BlY3RpdmVzJDogT2JzZXJ2YWJsZTxyZWFkb25seSDJtVdvcmtiZW5jaFBlcnNwZWN0aXZlW10+O1xuICBwdWJsaWMgcmVhZG9ubHkgcGFydHMkOiBPYnNlcnZhYmxlPHJlYWRvbmx5IMm1V29ya2JlbmNoUGFydFtdPjtcbiAgcHVibGljIHJlYWRvbmx5IHZpZXdzJDogT2JzZXJ2YWJsZTxyZWFkb25seSDJtVdvcmtiZW5jaFZpZXdbXT47XG4gIHB1YmxpYyByZWFkb25seSB0aGVtZSQ6IE9ic2VydmFibGU8V29ya2JlbmNoVGhlbWUgfCBudWxsPjtcblxuICBwdWJsaWMgcmVhZG9ubHkgdmlld01lbnVJdGVtUHJvdmlkZXJzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8V29ya2JlbmNoTWVudUl0ZW1GYWN0b3J5Rm5bXT4oW10pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3dvcmtiZW5jaFJvdXRlcjogV29ya2JlbmNoUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIF9wZXJzcGVjdGl2ZVJlZ2lzdHJ5OiBXb3JrYmVuY2hQZXJzcGVjdGl2ZVJlZ2lzdHJ5LFxuICAgICAgICAgICAgICBwcml2YXRlIF9wYXJ0UmVnaXN0cnk6IFdvcmtiZW5jaFBhcnRSZWdpc3RyeSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfcGFydEFjdGlvblJlZ2lzdHJ5OiBXb3JrYmVuY2hQYXJ0QWN0aW9uUmVnaXN0cnksXG4gICAgICAgICAgICAgIHByaXZhdGUgX3ZpZXdSZWdpc3RyeTogV29ya2JlbmNoVmlld1JlZ2lzdHJ5LFxuICAgICAgICAgICAgICBwcml2YXRlIF9wZXJzcGVjdGl2ZVNlcnZpY2U6IFdvcmtiZW5jaFBlcnNwZWN0aXZlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfbGF5b3V0U2VydmljZTogV29ya2JlbmNoTGF5b3V0U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfd29ya2JlbmNoVGhlbWVTd2l0Y2hlcjogV29ya2JlbmNoVGhlbWVTd2l0Y2hlcikge1xuICAgIHRoaXMubGF5b3V0JCA9IHRoaXMuX2xheW91dFNlcnZpY2UubGF5b3V0JDtcbiAgICB0aGlzLnBlcnNwZWN0aXZlcyQgPSB0aGlzLl9wZXJzcGVjdGl2ZVJlZ2lzdHJ5LnBlcnNwZWN0aXZlcyQ7XG4gICAgdGhpcy5wYXJ0cyQgPSB0aGlzLl9wYXJ0UmVnaXN0cnkucGFydHMkO1xuICAgIHRoaXMudmlld3MkID0gdGhpcy5fdmlld1JlZ2lzdHJ5LnZpZXdzJDtcbiAgICB0aGlzLnRoZW1lJCA9IHRoaXMuX3dvcmtiZW5jaFRoZW1lU3dpdGNoZXIudGhlbWUkO1xuICB9XG5cbiAgcHVibGljIGdldCBsYXlvdXQoKTogybVXb3JrYmVuY2hMYXlvdXQge1xuICAgIHJldHVybiB0aGlzLl9sYXlvdXRTZXJ2aWNlLmxheW91dCA/PyB0aHJvd0Vycm9yKCdbTnVsbExheW91dEVycm9yXSBXb3JrYmVuY2ggbGF5b3V0IG5vdCBjcmVhdGVkIHlldC4nKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZ2V0IHBlcnNwZWN0aXZlcygpOiByZWFkb25seSDJtVdvcmtiZW5jaFBlcnNwZWN0aXZlW10ge1xuICAgIHJldHVybiB0aGlzLl9wZXJzcGVjdGl2ZVJlZ2lzdHJ5LnBlcnNwZWN0aXZlcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZ2V0UGVyc3BlY3RpdmUocGVyc3BlY3RpdmVJZDogc3RyaW5nKTogybVXb3JrYmVuY2hQZXJzcGVjdGl2ZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9wZXJzcGVjdGl2ZVJlZ2lzdHJ5LmdldChwZXJzcGVjdGl2ZUlkLCB7b3JFbHNlOiBudWxsfSk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGdldCBwYXJ0cygpOiByZWFkb25seSDJtVdvcmtiZW5jaFBhcnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcnRSZWdpc3RyeS5wYXJ0cztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZ2V0UGFydChwYXJ0SWQ6IHN0cmluZyk6IMm1V29ya2JlbmNoUGFydCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9wYXJ0UmVnaXN0cnkuZ2V0KHBhcnRJZCwge29yRWxzZTogbnVsbH0pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBnZXQgdmlld3MoKTogcmVhZG9ubHkgybVXb3JrYmVuY2hWaWV3W10ge1xuICAgIHJldHVybiB0aGlzLl92aWV3UmVnaXN0cnkudmlld3M7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGdldFZpZXcodmlld0lkOiBWaWV3SWQpOiDJtVdvcmtiZW5jaFZpZXcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdmlld1JlZ2lzdHJ5LmdldCh2aWV3SWQsIHtvckVsc2U6IG51bGx9KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgcmVnaXN0ZXJQZXJzcGVjdGl2ZShwZXJzcGVjdGl2ZTogV29ya2JlbmNoUGVyc3BlY3RpdmVEZWZpbml0aW9uKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3BlcnNwZWN0aXZlU2VydmljZS5yZWdpc3RlclBlcnNwZWN0aXZlKHBlcnNwZWN0aXZlKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgc3dpdGNoUGVyc3BlY3RpdmUoaWQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9wZXJzcGVjdGl2ZVNlcnZpY2Uuc3dpdGNoUGVyc3BlY3RpdmUoaWQpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBhc3luYyByZXNldFBlcnNwZWN0aXZlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuX3BlcnNwZWN0aXZlU2VydmljZS5yZXNldFBlcnNwZWN0aXZlKCk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGFzeW5jIGNsb3NlVmlld3MoLi4udmlld0lkczogVmlld0lkW10pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fd29ya2JlbmNoUm91dGVyLm5hdmlnYXRlKGxheW91dCA9PiB2aWV3SWRzLnJlZHVjZSgobGF5b3V0LCB2aWV3SWQpID0+IGxheW91dC5yZW1vdmVWaWV3KHZpZXdJZCksIGxheW91dCkpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyByZWdpc3RlclBhcnRBY3Rpb24oYWN0aW9uOiBXb3JrYmVuY2hQYXJ0QWN0aW9uKTogRGlzcG9zYWJsZSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcnRBY3Rpb25SZWdpc3RyeS5yZWdpc3RlcihhY3Rpb24pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyByZWdpc3RlclZpZXdNZW51SXRlbShmYWN0b3J5Rm46IFdvcmtiZW5jaE1lbnVJdGVtRmFjdG9yeUZuKTogRGlzcG9zYWJsZSB7XG4gICAgdGhpcy52aWV3TWVudUl0ZW1Qcm92aWRlcnMkLm5leHQodGhpcy52aWV3TWVudUl0ZW1Qcm92aWRlcnMkLnZhbHVlLmNvbmNhdChmYWN0b3J5Rm4pKTtcbiAgICByZXR1cm4ge1xuICAgICAgZGlzcG9zZTogKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLnZpZXdNZW51SXRlbVByb3ZpZGVycyQubmV4dCh0aGlzLnZpZXdNZW51SXRlbVByb3ZpZGVycyQudmFsdWUuZmlsdGVyKGl0ID0+IGl0ICE9PSBmYWN0b3J5Rm4pKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgc3dpdGNoVGhlbWUodGhlbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl93b3JrYmVuY2hUaGVtZVN3aXRjaGVyLnN3aXRjaFRoZW1lKHRoZW1lKTtcbiAgfVxufVxuIl19