@worktile/planet 12.1.1 → 12.1.2

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 (328) hide show
  1. package/application/planet-application-loader.d.ts +70 -0
  2. package/application/planet-application-loader.d.ts.map +1 -0
  3. package/application/planet-application-loader.ngfactory.d.ts.map +1 -0
  4. package/application/planet-application-ref.d.ts +36 -0
  5. package/application/planet-application-ref.d.ts.map +1 -0
  6. package/application/planet-application.service.d.ts +19 -0
  7. package/application/planet-application.service.d.ts.map +1 -0
  8. package/application/planet-application.service.ngfactory.d.ts.map +1 -0
  9. package/{packages/planet/src/application/portal-application.ts → application/portal-application.d.ts} +5 -18
  10. package/application/portal-application.d.ts.map +1 -0
  11. package/assets-loader.d.ts +33 -0
  12. package/assets-loader.d.ts.map +1 -0
  13. package/assets-loader.ngfactory.d.ts.map +1 -0
  14. package/bundles/worktile-planet.umd.js +2564 -0
  15. package/bundles/worktile-planet.umd.js.map +1 -0
  16. package/component/planet-component-loader.d.ts +28 -0
  17. package/component/planet-component-loader.d.ts.map +1 -0
  18. package/component/planet-component-loader.ngfactory.d.ts.map +1 -0
  19. package/component/planet-component-ref.d.ts +8 -0
  20. package/component/planet-component-ref.d.ts.map +1 -0
  21. package/{packages/planet/src/component/plant-component.config.ts → component/plant-component.config.d.ts} +4 -4
  22. package/component/plant-component.config.d.ts.map +1 -0
  23. package/debug.d.ts +22 -0
  24. package/debug.d.ts.map +1 -0
  25. package/empty/empty.component.d.ts +3 -0
  26. package/empty/empty.component.d.ts.map +1 -0
  27. package/empty/empty.component.ngfactory.d.ts.map +1 -0
  28. package/esm2015/application/planet-application-loader.js +457 -0
  29. package/esm2015/application/planet-application-ref.js +97 -0
  30. package/esm2015/application/planet-application.service.js +87 -0
  31. package/esm2015/application/portal-application.js +16 -0
  32. package/esm2015/assets-loader.js +217 -0
  33. package/esm2015/component/planet-component-loader.js +155 -0
  34. package/esm2015/component/planet-component-ref.js +3 -0
  35. package/esm2015/component/plant-component.config.js +7 -0
  36. package/esm2015/debug.js +33 -0
  37. package/esm2015/empty/empty.component.js +10 -0
  38. package/esm2015/global-event-dispatcher.js +71 -0
  39. package/esm2015/global-planet.js +54 -0
  40. package/esm2015/helpers.js +119 -0
  41. package/esm2015/module.js +27 -0
  42. package/esm2015/planet.class.js +9 -0
  43. package/esm2015/planet.js +91 -0
  44. package/esm2015/public-api.js +18 -0
  45. package/esm2015/sandbox/constants.js +7 -0
  46. package/esm2015/sandbox/exec.js +15 -0
  47. package/esm2015/sandbox/index.js +20 -0
  48. package/esm2015/sandbox/proxy/patches/document.js +12 -0
  49. package/esm2015/sandbox/proxy/patches/eventListener.js +41 -0
  50. package/esm2015/sandbox/proxy/patches/index.js +11 -0
  51. package/esm2015/sandbox/proxy/patches/storage.js +40 -0
  52. package/esm2015/sandbox/proxy/patches/timer.js +43 -0
  53. package/esm2015/sandbox/proxy/proxies/common.js +132 -0
  54. package/esm2015/sandbox/proxy/proxies/document.js +126 -0
  55. package/esm2015/sandbox/proxy/proxies/window.js +155 -0
  56. package/esm2015/sandbox/proxy/proxy-sandbox.js +49 -0
  57. package/esm2015/sandbox/proxy/types.js +2 -0
  58. package/esm2015/sandbox/sandbox.js +7 -0
  59. package/esm2015/sandbox/snapshot/snapshot-sandbox.js +12 -0
  60. package/esm2015/sandbox/types.js +2 -0
  61. package/esm2015/worktile-planet.js +6 -0
  62. package/fesm2015/worktile-planet.js +2048 -0
  63. package/fesm2015/worktile-planet.js.map +1 -0
  64. package/global-event-dispatcher.d.ts +20 -0
  65. package/global-event-dispatcher.d.ts.map +1 -0
  66. package/global-event-dispatcher.ngfactory.d.ts.map +1 -0
  67. package/global-planet.d.ts +23 -0
  68. package/global-planet.d.ts.map +1 -0
  69. package/helpers.d.ts +39 -0
  70. package/helpers.d.ts.map +1 -0
  71. package/module.d.ts +6 -0
  72. package/module.d.ts.map +1 -0
  73. package/module.ngfactory.d.ts.map +1 -0
  74. package/package.json +16 -121
  75. package/{packages/planet/src/planet.class.ts → planet.class.d.ts} +5 -26
  76. package/planet.class.d.ts.map +1 -0
  77. package/planet.d.ts +25 -0
  78. package/planet.d.ts.map +1 -0
  79. package/planet.ngfactory.d.ts.map +1 -0
  80. package/{packages/planet/src/public-api.ts → public-api.d.ts} +1 -4
  81. package/public-api.d.ts.map +1 -0
  82. package/sandbox/constants.d.ts +7 -0
  83. package/sandbox/constants.d.ts.map +1 -0
  84. package/sandbox/exec.d.ts +3 -0
  85. package/sandbox/exec.d.ts.map +1 -0
  86. package/sandbox/index.d.ts +7 -0
  87. package/sandbox/index.d.ts.map +1 -0
  88. package/sandbox/proxy/patches/document.d.ts +3 -0
  89. package/sandbox/proxy/patches/document.d.ts.map +1 -0
  90. package/sandbox/proxy/patches/eventListener.d.ts +3 -0
  91. package/sandbox/proxy/patches/eventListener.d.ts.map +1 -0
  92. package/sandbox/proxy/patches/index.d.ts +3 -0
  93. package/sandbox/proxy/patches/index.d.ts.map +1 -0
  94. package/sandbox/proxy/patches/storage.d.ts +15 -0
  95. package/sandbox/proxy/patches/storage.d.ts.map +1 -0
  96. package/sandbox/proxy/patches/timer.d.ts +3 -0
  97. package/sandbox/proxy/patches/timer.d.ts.map +1 -0
  98. package/sandbox/proxy/proxies/common.d.ts +13 -0
  99. package/sandbox/proxy/proxies/common.d.ts.map +1 -0
  100. package/sandbox/proxy/proxies/document.d.ts +14 -0
  101. package/sandbox/proxy/proxies/document.d.ts.map +1 -0
  102. package/sandbox/proxy/proxies/window.d.ts +13 -0
  103. package/sandbox/proxy/proxies/window.d.ts.map +1 -0
  104. package/sandbox/proxy/proxy-sandbox.d.ts +16 -0
  105. package/sandbox/proxy/proxy-sandbox.d.ts.map +1 -0
  106. package/{packages/planet/src/sandbox/proxy/types.ts → sandbox/proxy/types.d.ts} +2 -8
  107. package/sandbox/proxy/types.d.ts.map +1 -0
  108. package/sandbox/sandbox.d.ts +12 -0
  109. package/sandbox/sandbox.d.ts.map +1 -0
  110. package/sandbox/snapshot/snapshot-sandbox.d.ts +9 -0
  111. package/sandbox/snapshot/snapshot-sandbox.d.ts.map +1 -0
  112. package/sandbox/types.d.ts +2 -0
  113. package/sandbox/types.d.ts.map +1 -0
  114. package/worktile-planet.d.ts +6 -0
  115. package/worktile-planet.d.ts.map +1 -0
  116. package/worktile-planet.metadata.json +1 -0
  117. package/.all-contributorsrc +0 -84
  118. package/.circleci/config.yml +0 -17
  119. package/.coveralls.yml +0 -1
  120. package/.docgeni/public/assets/favicon.ico +0 -0
  121. package/.docgeni/public/index.html +0 -13
  122. package/.docgenirc.js +0 -35
  123. package/.dockerignore +0 -1
  124. package/.editorconfig +0 -22
  125. package/.github/FUNDING.yml +0 -12
  126. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  127. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  128. package/.prettierignore +0 -7
  129. package/.prettierrc +0 -28
  130. package/.travis.yml +0 -26
  131. package/.wpmrc.js +0 -11
  132. package/CHANGELOG.md +0 -391
  133. package/CODE_OF_CONDUCT.md +0 -76
  134. package/Dockerfile +0 -11
  135. package/LICENSE +0 -21
  136. package/README.md +0 -348
  137. package/README.zh-CN.md +0 -307
  138. package/SECURITY.md +0 -21
  139. package/angular.json +0 -373
  140. package/commitlint.config.js +0 -6
  141. package/docs/api/defineApplication.md +0 -46
  142. package/docs/api/globalEventDispatcher.md +0 -51
  143. package/docs/api/index.md +0 -5
  144. package/docs/api/planet.md +0 -117
  145. package/docs/guides/getting-started.md +0 -174
  146. package/docs/guides/index.md +0 -5
  147. package/docs/guides/intro.md +0 -216
  148. package/examples/app1/browserslist +0 -11
  149. package/examples/app1/extra-webpack.config.js +0 -33
  150. package/examples/app1/karma.conf.js +0 -31
  151. package/examples/app1/postcss.config.js +0 -1
  152. package/examples/app1/src/app/app.module.ts +0 -44
  153. package/examples/app1/src/app/app.routing.ts +0 -49
  154. package/examples/app1/src/app/counter.service.ts +0 -16
  155. package/examples/app1/src/app/dashboard/dashboard.component.html +0 -51
  156. package/examples/app1/src/app/dashboard/dashboard.component.ts +0 -70
  157. package/examples/app1/src/app/detail/detail.component.html +0 -8
  158. package/examples/app1/src/app/detail/detail.component.ts +0 -18
  159. package/examples/app1/src/app/overlay.ts +0 -26
  160. package/examples/app1/src/app/projects/dialog/projects-dialog.component.html +0 -10
  161. package/examples/app1/src/app/projects/dialog/projects-dialog.component.ts +0 -41
  162. package/examples/app1/src/app/projects/projects.component.ts +0 -33
  163. package/examples/app1/src/app/root/root.component.css +0 -3
  164. package/examples/app1/src/app/root/root.component.html +0 -16
  165. package/examples/app1/src/app/root/root.component.ts +0 -35
  166. package/examples/app1/src/app/services/initialized-data.resolver.ts +0 -15
  167. package/examples/app1/src/app/shared.module.ts +0 -57
  168. package/examples/app1/src/app/user/detail/user-detail.component.html +0 -5
  169. package/examples/app1/src/app/user/detail/user-detail.component.ts +0 -20
  170. package/examples/app1/src/app/user/user-list.component.html +0 -7
  171. package/examples/app1/src/app/user/user-list.component.ts +0 -20
  172. package/examples/app1/src/app/user/user.module.ts +0 -31
  173. package/examples/app1/src/assets/.gitkeep +0 -0
  174. package/examples/app1/src/assets/github.png +0 -0
  175. package/examples/app1/src/assets/main.css +0 -3
  176. package/examples/app1/src/environments/environment.prod.ts +0 -3
  177. package/examples/app1/src/environments/environment.ts +0 -16
  178. package/examples/app1/src/favicon.ico +0 -0
  179. package/examples/app1/src/index.html +0 -14
  180. package/examples/app1/src/main.ts +0 -35
  181. package/examples/app1/src/polyfills.ts +0 -84
  182. package/examples/app1/src/styles.scss +0 -35
  183. package/examples/app1/src/test.ts +0 -14
  184. package/examples/app1/temp.js +0 -221
  185. package/examples/app1/tsconfig.app.json +0 -10
  186. package/examples/app1/tsconfig.spec.json +0 -18
  187. package/examples/app1/tslint.json +0 -17
  188. package/examples/app1/webpack.config.js +0 -127
  189. package/examples/app2/browserslist +0 -11
  190. package/examples/app2/extra-webpack.config.js +0 -32
  191. package/examples/app2/karma.conf.js +0 -31
  192. package/examples/app2/src/app/app.module.ts +0 -90
  193. package/examples/app2/src/app/dashboard/dashboard.component.html +0 -21
  194. package/examples/app2/src/app/dashboard/dashboard.component.ts +0 -27
  195. package/examples/app2/src/app/overlay.ts +0 -26
  196. package/examples/app2/src/app/projects/detail/detail.component.html +0 -16
  197. package/examples/app2/src/app/projects/detail/detail.component.ts +0 -21
  198. package/examples/app2/src/app/projects/project-list.component.html +0 -29
  199. package/examples/app2/src/app/projects/project-list.component.ts +0 -58
  200. package/examples/app2/src/app/projects/project.resolver.ts +0 -15
  201. package/examples/app2/src/app/projects/projects.service.ts +0 -28
  202. package/examples/app2/src/app/projects/tasks/tasks.component.html +0 -10
  203. package/examples/app2/src/app/projects/tasks/tasks.component.ts +0 -16
  204. package/examples/app2/src/app/projects/view/view.component.html +0 -1
  205. package/examples/app2/src/app/projects/view/view.component.ts +0 -20
  206. package/examples/app2/src/app/root/root.component.html +0 -14
  207. package/examples/app2/src/app/root/root.component.scss +0 -12
  208. package/examples/app2/src/app/root/root.component.ts +0 -28
  209. package/examples/app2/src/app/shared.module.ts +0 -59
  210. package/examples/app2/src/assets/.gitkeep +0 -0
  211. package/examples/app2/src/environments/environment.prod.ts +0 -3
  212. package/examples/app2/src/environments/environment.ts +0 -16
  213. package/examples/app2/src/favicon.ico +0 -0
  214. package/examples/app2/src/index.html +0 -14
  215. package/examples/app2/src/main.ts +0 -36
  216. package/examples/app2/src/polyfills.ts +0 -84
  217. package/examples/app2/src/styles.scss +0 -28
  218. package/examples/app2/src/test.ts +0 -14
  219. package/examples/app2/tsconfig.app.json +0 -10
  220. package/examples/app2/tsconfig.spec.json +0 -18
  221. package/examples/app2/tslint.json +0 -7
  222. package/examples/app2/webpack.config.js +0 -92
  223. package/examples/common/app-root-context.ts +0 -10
  224. package/examples/common/cache.ts +0 -82
  225. package/examples/common/index.ts +0 -13
  226. package/examples/common/module.ts +0 -10
  227. package/examples/common/overlay-container.service.ts +0 -28
  228. package/examples/common/section-card/section-card.component.html +0 -5
  229. package/examples/common/section-card/section-card.component.scss +0 -15
  230. package/examples/common/section-card/section-card.component.ts +0 -11
  231. package/examples/common/utils.ts +0 -0
  232. package/examples/portal/src/app/a-detail/a-detail.component.html +0 -8
  233. package/examples/portal/src/app/a-detail/a-detail.component.ts +0 -18
  234. package/examples/portal/src/app/about/about.component.html +0 -27
  235. package/examples/portal/src/app/about/about.component.scss +0 -0
  236. package/examples/portal/src/app/about/about.component.spec.ts +0 -26
  237. package/examples/portal/src/app/about/about.component.ts +0 -26
  238. package/examples/portal/src/app/app-routing.module.ts +0 -57
  239. package/examples/portal/src/app/app.component.html +0 -73
  240. package/examples/portal/src/app/app.component.scss +0 -58
  241. package/examples/portal/src/app/app.component.spec.ts +0 -33
  242. package/examples/portal/src/app/app.component.ts +0 -111
  243. package/examples/portal/src/app/app.module.ts +0 -64
  244. package/examples/portal/src/app/custom-settings.service.ts +0 -44
  245. package/examples/portal/src/app/overlay.ts +0 -26
  246. package/examples/portal/src/app/settings/settings.component.html +0 -31
  247. package/examples/portal/src/app/settings/settings.component.scss +0 -3
  248. package/examples/portal/src/app/settings/settings.component.ts +0 -43
  249. package/examples/portal/src/assets/.gitkeep +0 -0
  250. package/examples/portal/src/assets/apps.json +0 -29
  251. package/examples/portal/src/assets/icons/sprite.defs.svg +0 -1
  252. package/examples/portal/src/assets/images/logo.svg +0 -16
  253. package/examples/portal/src/assets/ngx-planet-micro-front-end.gif +0 -0
  254. package/examples/portal/src/browserslist +0 -11
  255. package/examples/portal/src/environments/environment.prod.ts +0 -3
  256. package/examples/portal/src/environments/environment.ts +0 -16
  257. package/examples/portal/src/extra-webpack.config.js +0 -32
  258. package/examples/portal/src/favicon.ico +0 -0
  259. package/examples/portal/src/index.html +0 -14
  260. package/examples/portal/src/karma.conf.js +0 -31
  261. package/examples/portal/src/main.ts +0 -18
  262. package/examples/portal/src/polyfills.ts +0 -84
  263. package/examples/portal/src/reboot.scss +0 -14
  264. package/examples/portal/src/styles.scss +0 -14
  265. package/examples/portal/src/test.ts +0 -14
  266. package/examples/portal/src/tsconfig.app.json +0 -10
  267. package/examples/portal/src/tsconfig.spec.json +0 -9
  268. package/examples/portal/src/tslint.json +0 -7
  269. package/extra-webpack.config.js +0 -5
  270. package/nginx.conf +0 -17
  271. package/packages/planet/karma.conf.js +0 -37
  272. package/packages/planet/ng-package.json +0 -7
  273. package/packages/planet/package.json +0 -10
  274. package/packages/planet/src/application/planet-application-loader.spec.ts +0 -1102
  275. package/packages/planet/src/application/planet-application-loader.ts +0 -549
  276. package/packages/planet/src/application/planet-application-ref.spec.ts +0 -233
  277. package/packages/planet/src/application/planet-application-ref.ts +0 -131
  278. package/packages/planet/src/application/planet-application.service.spec.ts +0 -145
  279. package/packages/planet/src/application/planet-application.service.ts +0 -88
  280. package/packages/planet/src/application/portal-application.spec.ts +0 -53
  281. package/packages/planet/src/assets-loader.spec.ts +0 -689
  282. package/packages/planet/src/assets-loader.ts +0 -247
  283. package/packages/planet/src/component/planet-component-loader.spec.ts +0 -187
  284. package/packages/planet/src/component/planet-component-loader.ts +0 -173
  285. package/packages/planet/src/component/planet-component-ref.ts +0 -8
  286. package/packages/planet/src/debug.spec.ts +0 -58
  287. package/packages/planet/src/debug.ts +0 -66
  288. package/packages/planet/src/empty/empty.component.spec.ts +0 -34
  289. package/packages/planet/src/empty/empty.component.ts +0 -7
  290. package/packages/planet/src/global-event-dispatcher.spec.ts +0 -81
  291. package/packages/planet/src/global-event-dispatcher.ts +0 -82
  292. package/packages/planet/src/global-planet.spec.ts +0 -39
  293. package/packages/planet/src/global-planet.ts +0 -73
  294. package/packages/planet/src/helpers.spec.ts +0 -242
  295. package/packages/planet/src/helpers.ts +0 -125
  296. package/packages/planet/src/module.spec.ts +0 -79
  297. package/packages/planet/src/module.ts +0 -25
  298. package/packages/planet/src/planet.spec.ts +0 -226
  299. package/packages/planet/src/planet.ts +0 -113
  300. package/packages/planet/src/sandbox/constants.ts +0 -6
  301. package/packages/planet/src/sandbox/exec.ts +0 -22
  302. package/packages/planet/src/sandbox/index.ts +0 -24
  303. package/packages/planet/src/sandbox/proxy/patches/document.ts +0 -13
  304. package/packages/planet/src/sandbox/proxy/patches/eventListener.ts +0 -49
  305. package/packages/planet/src/sandbox/proxy/patches/index.ts +0 -13
  306. package/packages/planet/src/sandbox/proxy/patches/storage.ts +0 -53
  307. package/packages/planet/src/sandbox/proxy/patches/timer.ts +0 -50
  308. package/packages/planet/src/sandbox/proxy/proxies/common.ts +0 -137
  309. package/packages/planet/src/sandbox/proxy/proxies/document.ts +0 -140
  310. package/packages/planet/src/sandbox/proxy/proxies/window.ts +0 -176
  311. package/packages/planet/src/sandbox/proxy/proxy-sandbox.ts +0 -59
  312. package/packages/planet/src/sandbox/sandbox.ts +0 -20
  313. package/packages/planet/src/sandbox/snapshot/snapshot-sandbox.ts +0 -12
  314. package/packages/planet/src/sandbox/types.ts +0 -1
  315. package/packages/planet/src/test.ts +0 -16
  316. package/packages/planet/src/testing/app1.module.ts +0 -34
  317. package/packages/planet/src/testing/app2.module.ts +0 -24
  318. package/packages/planet/src/testing/applications.ts +0 -58
  319. package/packages/planet/src/testing/index.ts +0 -2
  320. package/packages/planet/src/testing/utils.ts +0 -31
  321. package/packages/planet/tsconfig.lib.json +0 -27
  322. package/packages/planet/tsconfig.lib.prod.json +0 -9
  323. package/packages/planet/tsconfig.spec.json +0 -17
  324. package/packages/planet/tslint.json +0 -7
  325. package/postcss.config.js +0 -3
  326. package/proxy.conf.js +0 -15
  327. package/tsconfig.json +0 -23
  328. package/tslint.json +0 -80
@@ -0,0 +1,155 @@
1
+ import { Injectable, ApplicationRef, NgModuleRef, NgZone, Inject } from '@angular/core';
2
+ import { DomPortalOutlet, ComponentPortal, PortalInjector } from '@angular/cdk/portal';
3
+ import { PlanetComponentRef } from './planet-component-ref';
4
+ import { coerceArray } from '../helpers';
5
+ import { map, shareReplay, delayWhen } from 'rxjs/operators';
6
+ import { of, timer } from 'rxjs';
7
+ import { DOCUMENT } from '@angular/common';
8
+ import { globalPlanet, getApplicationLoader, getApplicationService } from '../global-planet';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common";
11
+ const componentWrapperClass = 'planet-component-wrapper';
12
+ export class PlanetComponentLoader {
13
+ constructor(applicationRef, ngModuleRef, ngZone, document) {
14
+ this.applicationRef = applicationRef;
15
+ this.ngModuleRef = ngModuleRef;
16
+ this.ngZone = ngZone;
17
+ this.document = document;
18
+ this.domPortalOutletCache = new WeakMap();
19
+ }
20
+ get applicationLoader() {
21
+ return getApplicationLoader();
22
+ }
23
+ get applicationService() {
24
+ return getApplicationService();
25
+ }
26
+ getPlantAppRef(name) {
27
+ if (globalPlanet.apps[name] && globalPlanet.apps[name].appModuleRef) {
28
+ return of(globalPlanet.apps[name]);
29
+ }
30
+ else {
31
+ const app = this.applicationService.getAppByName(name);
32
+ return this.applicationLoader.preload(app, true).pipe(map(() => {
33
+ return globalPlanet.apps[name];
34
+ }));
35
+ }
36
+ }
37
+ createInjector(appModuleRef, componentRef) {
38
+ const injectionTokens = new WeakMap([[PlanetComponentRef, componentRef]]);
39
+ const defaultInjector = appModuleRef.injector;
40
+ return new PortalInjector(defaultInjector, injectionTokens);
41
+ }
42
+ getContainerElement(config) {
43
+ if (!config.container) {
44
+ throw new Error(`config 'container' cannot be null`);
45
+ }
46
+ else {
47
+ if (config.container.nativeElement) {
48
+ return config.container.nativeElement;
49
+ }
50
+ else {
51
+ return config.container;
52
+ }
53
+ }
54
+ }
55
+ createWrapperElement(config) {
56
+ const container = this.getContainerElement(config);
57
+ const element = this.document.createElement('div');
58
+ const subApp = this.applicationService.getAppByName(this.ngModuleRef.instance.appName);
59
+ element.classList.add(componentWrapperClass);
60
+ element.setAttribute('planet-inline', '');
61
+ if (config.wrapperClass) {
62
+ element.classList.add(config.wrapperClass);
63
+ }
64
+ if (subApp && subApp.stylePrefix) {
65
+ element.classList.add(subApp.stylePrefix);
66
+ }
67
+ container.appendChild(element);
68
+ return element;
69
+ }
70
+ attachComponent(plantComponent, appModuleRef, config) {
71
+ const plantComponentRef = new PlanetComponentRef();
72
+ const componentFactoryResolver = appModuleRef.componentFactoryResolver;
73
+ const appRef = this.applicationRef;
74
+ const injector = this.createInjector(appModuleRef, plantComponentRef);
75
+ const wrapper = this.createWrapperElement(config);
76
+ let portalOutlet = this.domPortalOutletCache.get(wrapper);
77
+ if (portalOutlet) {
78
+ portalOutlet.detach();
79
+ }
80
+ else {
81
+ portalOutlet = new DomPortalOutlet(wrapper, componentFactoryResolver, appRef, injector);
82
+ this.domPortalOutletCache.set(wrapper, portalOutlet);
83
+ }
84
+ const componentPortal = new ComponentPortal(plantComponent.component, null);
85
+ const componentRef = portalOutlet.attachComponentPortal(componentPortal);
86
+ if (config.initialState) {
87
+ Object.assign(componentRef.instance, config.initialState);
88
+ }
89
+ plantComponentRef.componentInstance = componentRef.instance;
90
+ plantComponentRef.componentRef = componentRef;
91
+ plantComponentRef.wrapperElement = wrapper;
92
+ plantComponentRef.dispose = () => {
93
+ this.domPortalOutletCache.delete(wrapper);
94
+ portalOutlet.dispose();
95
+ };
96
+ return plantComponentRef;
97
+ }
98
+ registerComponentFactory(componentOrComponents) {
99
+ const app = this.ngModuleRef.instance.appName;
100
+ this.getPlantAppRef(app).subscribe(appRef => {
101
+ appRef.registerComponentFactory((componentName, config) => {
102
+ const components = coerceArray(componentOrComponents);
103
+ const component = components.find(item => item.name === componentName);
104
+ if (component) {
105
+ return this.ngZone.run(() => {
106
+ const componentRef = this.attachComponent(component, appRef.appModuleRef, config);
107
+ return componentRef;
108
+ });
109
+ }
110
+ else {
111
+ throw Error(`unregistered component ${componentName} in app ${app}`);
112
+ }
113
+ });
114
+ });
115
+ }
116
+ register(components) {
117
+ setTimeout(() => {
118
+ this.registerComponentFactory(components);
119
+ });
120
+ }
121
+ load(app, componentName, config) {
122
+ const result = this.getPlantAppRef(app).pipe(delayWhen(appRef => {
123
+ if (appRef.getComponentFactory()) {
124
+ return of('');
125
+ }
126
+ else {
127
+ // Because register use 'setTimeout',so timer 20
128
+ return timer(20);
129
+ }
130
+ }), map(appRef => {
131
+ const componentFactory = appRef.getComponentFactory();
132
+ if (componentFactory) {
133
+ return componentFactory(componentName, config);
134
+ }
135
+ else {
136
+ throw new Error(`${app}'s component(${componentName}) is not registered`);
137
+ }
138
+ }), shareReplay());
139
+ result.subscribe();
140
+ return result;
141
+ }
142
+ }
143
+ PlanetComponentLoader.ɵprov = i0.ɵɵdefineInjectable({ factory: function PlanetComponentLoader_Factory() { return new PlanetComponentLoader(i0.ɵɵinject(i0.ApplicationRef), i0.ɵɵinject(i0.NgModuleRef), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1.DOCUMENT)); }, token: PlanetComponentLoader, providedIn: "root" });
144
+ PlanetComponentLoader.decorators = [
145
+ { type: Injectable, args: [{
146
+ providedIn: 'root'
147
+ },] }
148
+ ];
149
+ PlanetComponentLoader.ctorParameters = () => [
150
+ { type: ApplicationRef },
151
+ { type: NgModuleRef },
152
+ { type: NgZone },
153
+ { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
154
+ ];
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LWNvbXBvbmVudC1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2NvbXBvbmVudC9wbGFuZXQtY29tcG9uZW50LWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFjLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQWlCLGVBQWUsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBMkMsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLEVBQUUsRUFBd0IsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQUU3RixNQUFNLHFCQUFxQixHQUFHLDBCQUEwQixDQUFDO0FBVXpELE1BQU0sT0FBTyxxQkFBcUI7SUFXOUIsWUFDWSxjQUE4QixFQUM5QixXQUE2QixFQUM3QixNQUFjLEVBQ0ksUUFBYTtRQUgvQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDSSxhQUFRLEdBQVIsUUFBUSxDQUFLO1FBZG5DLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUF3QixDQUFDO0lBZWhFLENBQUM7SUFiSixJ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RUFDckIsTUFBbUM7UUFFbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ3hDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNmLElBQUksTUFBTSxDQUFDLG1CQUFtQixFQUFFLEVBQUU7Z0JBQzlCLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2pCO2lCQUFNO2dCQUNILGdEQUFnRDtnQkFDaEQsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDcEI7UUFDTCxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDVCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3RELElBQUksZ0JBQWdCLEVBQUU7Z0JBQ2xCLE9BQU8sZ0JBQWdCLENBQWUsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ2hFO2lCQUFNO2dCQUNILE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxHQUFHLGdCQUFnQixhQUFhLHFCQUFxQixDQUFDLENBQUM7YUFDN0U7UUFDTCxDQUFDLENBQUMsRUFDRixXQUFXLEVBQUUsQ0FDaEIsQ0FBQztRQUNGLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDOzs7O1lBekpKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBcEJvQixjQUFjO1lBQUUsV0FBVztZQUFFLE1BQU07NENBb0MvQyxNQUFNLFNBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEFwcGxpY2F0aW9uUmVmLCBOZ01vZHVsZVJlZiwgTmdab25lLCBFbGVtZW50UmVmLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudFR5cGUsIERvbVBvcnRhbE91dGxldCwgQ29tcG9uZW50UG9ydGFsLCBQb3J0YWxJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgUGxhbmV0QXBwbGljYXRpb25SZWYgfSBmcm9tICcuLi9hcHBsaWNhdGlvbi9wbGFuZXQtYXBwbGljYXRpb24tcmVmJztcbmltcG9ydCB7IFBsYW5ldENvbXBvbmVudFJlZiB9IGZyb20gJy4vcGxhbmV0LWNvbXBvbmVudC1yZWYnO1xuaW1wb3J0IHsgUGxhbnRDb21wb25lbnRDb25maWcgfSBmcm9tICcuL3BsYW50LWNvbXBvbmVudC5jb25maWcnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXkgfSBmcm9tICcuLi9oZWxwZXJzJztcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXksIGZpbmFsaXplLCBkZWJvdW5jZSwgZmlsdGVyLCB0YWtlLCBkZWxheSwgZGVsYXlXaGVuIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgb2YsIE9ic2VydmFibGUsIGludGVydmFsLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgZ2xvYmFsUGxhbmV0LCBnZXRBcHBsaWNhdGlvbkxvYWRlciwgZ2V0QXBwbGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZ2xvYmFsLXBsYW5ldCc7XG5cbmNvbnN0IGNvbXBvbmVudFdyYXBwZXJDbGFzcyA9ICdwbGFuZXQtY29tcG9uZW50LXdyYXBwZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBsYW5ldENvbXBvbmVudDxUID0gYW55PiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPjtcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQbGFuZXRDb21wb25lbnRMb2FkZXIge1xuICAgIHByaXZhdGUgZG9tUG9ydGFsT3V0bGV0Q2FjaGUgPSBuZXcgV2Vha01hcDxhbnksIERvbVBvcnRhbE91dGxldD4oKTtcblxuICAgIHByaXZhdGUgZ2V0IGFwcGxpY2F0aW9uTG9hZGVyKCkge1xuICAgICAgICByZXR1cm4gZ2V0QXBwbGljYXRpb25Mb2FkZXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBhcHBsaWNhdGlvblNlcnZpY2UoKSB7XG4gICAgICAgIHJldHVybiBnZXRBcHBsaWNhdGlvblNlcnZpY2UoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvblJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgICAgIHByaXZhdGUgbmdNb2R1bGVSZWY6IE5nTW9kdWxlUmVmPGFueT4sXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueVxuICAgICkge31cblxuICAgIHByaXZhdGUgZ2V0UGxhbnRBcHBSZWYobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxQbGFuZXRBcHBsaWNhdGlvblJlZj4ge1xuICAgICAgICBpZiAoZ2xvYmFsUGxhbmV0LmFwcHNbbmFtZV0gJiYgZ2xvYmFsUGxhbmV0LmFwcHNbbmFtZV0uYXBwTW9kdWxlUmVmKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoZ2xvYmFsUGxhbmV0LmFwcHNbbmFtZV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgYXBwID0gdGhpcy5hcHBsaWNhdGlvblNlcnZpY2UuZ2V0QXBwQnlOYW1lKG5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXBwbGljYXRpb25Mb2FkZXIucHJlbG9hZChhcHAsIHRydWUpLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdsb2JhbFBsYW5ldC5hcHBzW25hbWVdO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVJbmplY3RvcjxURGF0YT4oXG4gICAgICAgIGFwcE1vZHVsZVJlZjogTmdNb2R1bGVSZWY8YW55PixcbiAgICAgICAgY29tcG9uZW50UmVmOiBQbGFuZXRDb21wb25lbnRSZWY8VERhdGE+XG4gICAgKTogUG9ydGFsSW5qZWN0b3Ige1xuICAgICAgICBjb25zdCBpbmplY3Rpb25Ub2tlbnMgPSBuZXcgV2Vha01hcDxhbnksIGFueT4oW1tQbGFuZXRDb21wb25lbnRSZWYsIGNvbXBvbmVudFJlZl1dKTtcbiAgICAgICAgY29uc3QgZGVmYXVsdEluamVjdG9yID0gYXBwTW9kdWxlUmVmLmluamVjdG9yO1xuICAgICAgICByZXR1cm4gbmV3IFBvcnRhbEluamVjdG9yKGRlZmF1bHRJbmplY3RvciwgaW5qZWN0aW9uVG9rZW5zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbnRhaW5lckVsZW1lbnQoY29uZmlnOiBQbGFudENvbXBvbmVudENvbmZpZyk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgaWYgKCFjb25maWcuY29udGFpbmVyKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGNvbmZpZyAnY29udGFpbmVyJyBjYW5ub3QgYmUgbnVsbGApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKChjb25maWcuY29udGFpbmVyIGFzIEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKGNvbmZpZy5jb250YWluZXIgYXMgRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbmZpZy5jb250YWluZXIgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVdyYXBwZXJFbGVtZW50KGNvbmZpZzogUGxhbnRDb21wb25lbnRDb25maWcpIHtcbiAgICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5nZXRDb250YWluZXJFbGVtZW50KGNvbmZpZyk7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBjb25zdCBzdWJBcHAgPSB0aGlzLmFwcGxpY2F0aW9uU2VydmljZS5nZXRBcHBCeU5hbWUodGhpcy5uZ01vZHVsZVJlZi5pbnN0YW5jZS5hcHBOYW1lKTtcbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNvbXBvbmVudFdyYXBwZXJDbGFzcyk7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdwbGFuZXQtaW5saW5lJywgJycpO1xuICAgICAgICBpZiAoY29uZmlnLndyYXBwZXJDbGFzcykge1xuICAgICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNvbmZpZy53cmFwcGVyQ2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdWJBcHAgJiYgc3ViQXBwLnN0eWxlUHJlZml4KSB7XG4gICAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoc3ViQXBwLnN0eWxlUHJlZml4KTtcbiAgICAgICAgfVxuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XG4gICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgYXR0YWNoQ29tcG9uZW50PFREYXRhPihcbiAgICAgICAgcGxhbnRDb21wb25lbnQ6IFBsYW5ldENvbXBvbmVudCxcbiAgICAgICAgYXBwTW9kdWxlUmVmOiBOZ01vZHVsZVJlZjxhbnk+LFxuICAgICAgICBjb25maWc6IFBsYW50Q29tcG9uZW50Q29uZmlnXG4gICAgKTogUGxhbmV0Q29tcG9uZW50UmVmPFREYXRhPiB7XG4gICAgICAgIGNvbnN0IHBsYW50Q29tcG9uZW50UmVmID0gbmV3IFBsYW5ldENvbXBvbmVudFJlZigpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgPSBhcHBNb2R1bGVSZWYuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xuICAgICAgICBjb25zdCBhcHBSZWYgPSB0aGlzLmFwcGxpY2F0aW9uUmVmO1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IHRoaXMuY3JlYXRlSW5qZWN0b3I8VERhdGE+KGFwcE1vZHVsZVJlZiwgcGxhbnRDb21wb25lbnRSZWYpO1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gdGhpcy5jcmVhdGVXcmFwcGVyRWxlbWVudChjb25maWcpO1xuICAgICAgICBsZXQgcG9ydGFsT3V0bGV0ID0gdGhpcy5kb21Qb3J0YWxPdXRsZXRDYWNoZS5nZXQod3JhcHBlcik7XG4gICAgICAgIGlmIChwb3J0YWxPdXRsZXQpIHtcbiAgICAgICAgICAgIHBvcnRhbE91dGxldC5kZXRhY2goKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBvcnRhbE91dGxldCA9IG5ldyBEb21Qb3J0YWxPdXRsZXQod3JhcHBlciwgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBhcHBSZWYsIGluamVjdG9yKTtcbiAgICAgICAgICAgIHRoaXMuZG9tUG9ydGFsT3V0bGV0Q2FjaGUuc2V0KHdyYXBwZXIsIHBvcnRhbE91dGxldCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29tcG9uZW50UG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChwbGFudENvbXBvbmVudC5jb21wb25lbnQsIG51bGwpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBwb3J0YWxPdXRsZXQuYXR0YWNoQ29tcG9uZW50UG9ydGFsPFREYXRhPihjb21wb25lbnRQb3J0YWwpO1xuICAgICAgICBpZiAoY29uZmlnLmluaXRpYWxTdGF0ZSkge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIGNvbmZpZy5pbml0aWFsU3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIHBsYW50Q29tcG9uZW50UmVmLmNvbXBvbmVudEluc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgICAgICBwbGFudENvbXBvbmVudFJlZi5jb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWY7XG4gICAgICAgIHBsYW50Q29tcG9uZW50UmVmLndyYXBwZXJFbGVtZW50ID0gd3JhcHBlcjtcbiAgICAgICAgcGxhbnRDb21wb25lbnRSZWYuZGlzcG9zZSA9ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZG9tUG9ydGFsT3V0bGV0Q2FjaGUuZGVsZXRlKHdyYXBwZXIpO1xuICAgICAgICAgICAgcG9ydGFsT3V0bGV0LmRpc3Bvc2UoKTtcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHBsYW50Q29tcG9uZW50UmVmO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudE9yQ29tcG9uZW50czogUGxhbmV0Q29tcG9uZW50IHwgUGxhbmV0Q29tcG9uZW50W10pIHtcbiAgICAgICAgY29uc3QgYXBwID0gdGhpcy5uZ01vZHVsZVJlZi5pbnN0YW5jZS5hcHBOYW1lO1xuICAgICAgICB0aGlzLmdldFBsYW50QXBwUmVmKGFwcCkuc3Vic2NyaWJlKGFwcFJlZiA9PiB7XG4gICAgICAgICAgICBhcHBSZWYucmVnaXN0ZXJDb21wb25lbnRGYWN0b3J5KChjb21wb25lbnROYW1lOiBzdHJpbmcsIGNvbmZpZzogUGxhbnRDb21wb25lbnRDb25maWc8YW55PikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudHMgPSBjb2VyY2VBcnJheShjb21wb25lbnRPckNvbXBvbmVudHMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IGNvbXBvbmVudHMuZmluZChpdGVtID0+IGl0ZW0ubmFtZSA9PT0gY29tcG9uZW50TmFtZSk7XG4gICAgICAgICAgICAgICAgaWYgKGNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuYXR0YWNoQ29tcG9uZW50PGFueT4oY29tcG9uZW50LCBhcHBSZWYuYXBwTW9kdWxlUmVmLCBjb25maWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoYHVucmVnaXN0ZXJlZCBjb21wb25lbnQgJHtjb21wb25lbnROYW1lfSBpbiBhcHAgJHthcHB9YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyKGNvbXBvbmVudHM6IFBsYW5ldENvbXBvbmVudCB8IFBsYW5ldENvbXBvbmVudFtdKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlckNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50cyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGxvYWQ8VENvbXAgPSB1bmtub3duLCBURGF0YSA9IHVua25vd24+KFxuICAgICAgICBhcHA6IHN0cmluZyxcbiAgICAgICAgY29tcG9uZW50TmFtZTogc3RyaW5nLFxuICAgICAgICBjb25maWc6IFBsYW50Q29tcG9uZW50Q29uZmlnPFREYXRhPlxuICAgICk6IE9ic2VydmFibGU8UGxhbmV0Q29tcG9uZW50UmVmPFRDb21wPj4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmdldFBsYW50QXBwUmVmKGFwcCkucGlwZShcbiAgICAgICAgICAgIGRlbGF5V2hlbihhcHBSZWYgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChhcHBSZWYuZ2V0Q29tcG9uZW50RmFjdG9yeSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZignJyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQmVjYXVzZSByZWdpc3RlciB1c2UgJ3NldFRpbWVvdXQnLHNvIHRpbWVyIDIwXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aW1lcigyMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoYXBwUmVmID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gYXBwUmVmLmdldENvbXBvbmVudEZhY3RvcnkoKTtcbiAgICAgICAgICAgICAgICBpZiAoY29tcG9uZW50RmFjdG9yeSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29tcG9uZW50RmFjdG9yeTxURGF0YSwgVENvbXA+KGNvbXBvbmVudE5hbWUsIGNvbmZpZyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2FwcH0ncyBjb21wb25lbnQoJHtjb21wb25lbnROYW1lfSkgaXMgbm90IHJlZ2lzdGVyZWRgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KClcbiAgICAgICAgKTtcbiAgICAgICAgcmVzdWx0LnN1YnNjcmliZSgpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export class PlanetComponentRef {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LWNvbXBvbmVudC1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2NvbXBvbmVudC9wbGFuZXQtY29tcG9uZW50LXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sa0JBQWtCO0NBSzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBQbGFuZXRDb21wb25lbnRSZWY8VENvbXAgPSBhbnk+IHtcbiAgICB3cmFwcGVyRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gICAgY29tcG9uZW50SW5zdGFuY2U6IFRDb21wO1xuICAgIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFRDb21wPjtcbiAgICBkaXNwb3NlOiAoKSA9PiB2b2lkO1xufVxuIl19
@@ -0,0 +1,7 @@
1
+ export class PlantComponentConfig {
2
+ constructor() {
3
+ /** Data being injected into the child component. */
4
+ this.initialState = null;
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbnQtY29tcG9uZW50LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvY29tcG9uZW50L3BsYW50LWNvbXBvbmVudC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLG9CQUFvQjtJQUFqQztRQUtJLG9EQUFvRDtRQUNwRCxpQkFBWSxHQUFrQixJQUFJLENBQUM7SUFDdkMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlld0NvbnRhaW5lclJlZiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgUGxhbnRDb21wb25lbnRDb25maWc8VERhdGEgPSBhbnk+IHtcbiAgICAvKiogTG9hZCB0YXJnZXQgY29udGFpbmVyICovXG4gICAgY29udGFpbmVyOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQgfCBhbnk+O1xuICAgIC8qKiBDb21wb25lbnQgd3JhcHBlciBjbGFzcy4gKi9cbiAgICB3cmFwcGVyQ2xhc3M/OiBzdHJpbmc7XG4gICAgLyoqIERhdGEgYmVpbmcgaW5qZWN0ZWQgaW50byB0aGUgY2hpbGQgY29tcG9uZW50LiAqL1xuICAgIGluaXRpYWxTdGF0ZT86IFREYXRhIHwgbnVsbCA9IG51bGw7XG59XG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { isFunction } from './helpers';
2
+ /**
3
+ * Debug factory for debug module
4
+ */
5
+ let _debugFactory;
6
+ let _debuggerMap = {};
7
+ export function createDebug(namespace) {
8
+ const key = `planet:${namespace}`;
9
+ return function (formatter, ...args) {
10
+ if (_debugFactory) {
11
+ let debugDebugger = _debuggerMap[key];
12
+ if (!debugDebugger) {
13
+ debugDebugger = _debugFactory(key);
14
+ _debuggerMap[key] = debugDebugger;
15
+ }
16
+ debugDebugger(formatter, args);
17
+ }
18
+ };
19
+ }
20
+ export function setDebugFactory(debug) {
21
+ if (debug && !isFunction(debug)) {
22
+ throw new Error('debug factory type is invalid, must be function');
23
+ }
24
+ _debugFactory = debug;
25
+ }
26
+ export function clearDebugFactory() {
27
+ _debugFactory = undefined;
28
+ _debuggerMap = {};
29
+ }
30
+ export function getDebugFactory() {
31
+ return _debugFactory;
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2RlYnVnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUErQnZDOztHQUVHO0FBQ0gsSUFBSSxhQUFnQyxDQUFDO0FBQ3JDLElBQUksWUFBWSxHQUE2QixFQUFFLENBQUM7QUFFaEQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxTQUFpQjtJQUN6QyxNQUFNLEdBQUcsR0FBRyxVQUFVLFNBQVMsRUFBRSxDQUFDO0lBQ2xDLE9BQU8sVUFBUyxTQUFjLEVBQUUsR0FBRyxJQUFXO1FBQzFDLElBQUksYUFBYSxFQUFFO1lBQ2YsSUFBSSxhQUFhLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ2hCLGFBQWEsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25DLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxhQUFhLENBQUM7YUFDckM7WUFDRCxhQUFhLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBWTtJQUN4QyxJQUFJLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7S0FDdEU7SUFDRCxhQUFhLEdBQUcsS0FBSyxDQUFDO0FBQzFCLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCO0lBQzdCLGFBQWEsR0FBRyxTQUFTLENBQUM7SUFDMUIsWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUN0QixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWU7SUFDM0IsT0FBTyxhQUFhLENBQUM7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERlYnVnZ2VyIHtcbiAgICAoZm9ybWF0dGVyOiBhbnksIC4uLmFyZ3M6IGFueVtdKTogdm9pZDtcblxuICAgIC8vIGNvbG9yOiBzdHJpbmc7XG4gICAgLy8gZW5hYmxlZDogYm9vbGVhbjtcbiAgICAvLyBsb2c6ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55O1xuICAgIC8vIG5hbWVzcGFjZTogc3RyaW5nO1xuICAgIC8vIGRlc3Ryb3k6ICgpID0+IGJvb2xlYW47XG4gICAgLy8gZXh0ZW5kOiAobmFtZXNwYWNlOiBzdHJpbmcsIGRlbGltaXRlcj86IHN0cmluZykgPT4gRGVidWdnZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWF0dGVycyB7XG4gICAgW2Zvcm1hdHRlcjogc3RyaW5nXTogKHY6IGFueSkgPT4gc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlYnVnIHtcbiAgICAobmFtZXNwYWNlOiBzdHJpbmcpOiBEZWJ1Z2dlcjtcbiAgICBjb2VyY2U6ICh2YWw6IGFueSkgPT4gYW55O1xuICAgIGRpc2FibGU6ICgpID0+IHN0cmluZztcbiAgICBlbmFibGU6IChuYW1lc3BhY2VzOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgZW5hYmxlZDogKG5hbWVzcGFjZXM6IHN0cmluZykgPT4gYm9vbGVhbjtcbiAgICBsb2c6ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55O1xuXG4gICAgbmFtZXM6IFJlZ0V4cFtdO1xuICAgIHNraXBzOiBSZWdFeHBbXTtcblxuICAgIGZvcm1hdHRlcnM6IEZvcm1hdHRlcnM7XG59XG5cbi8qKlxuICogRGVidWcgZmFjdG9yeSBmb3IgZGVidWcgbW9kdWxlXG4gKi9cbmxldCBfZGVidWdGYWN0b3J5OiBEZWJ1ZyB8IHVuZGVmaW5lZDtcbmxldCBfZGVidWdnZXJNYXA6IFJlY29yZDxzdHJpbmcsIERlYnVnZ2VyPiA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGVidWcobmFtZXNwYWNlOiBzdHJpbmcpOiBEZWJ1Z2dlciB7XG4gICAgY29uc3Qga2V5ID0gYHBsYW5ldDoke25hbWVzcGFjZX1gO1xuICAgIHJldHVybiBmdW5jdGlvbihmb3JtYXR0ZXI6IGFueSwgLi4uYXJnczogYW55W10pIHtcbiAgICAgICAgaWYgKF9kZWJ1Z0ZhY3RvcnkpIHtcbiAgICAgICAgICAgIGxldCBkZWJ1Z0RlYnVnZ2VyID0gX2RlYnVnZ2VyTWFwW2tleV07XG4gICAgICAgICAgICBpZiAoIWRlYnVnRGVidWdnZXIpIHtcbiAgICAgICAgICAgICAgICBkZWJ1Z0RlYnVnZ2VyID0gX2RlYnVnRmFjdG9yeShrZXkpO1xuICAgICAgICAgICAgICAgIF9kZWJ1Z2dlck1hcFtrZXldID0gZGVidWdEZWJ1Z2dlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlYnVnRGVidWdnZXIoZm9ybWF0dGVyLCBhcmdzKTtcbiAgICAgICAgfVxuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXREZWJ1Z0ZhY3RvcnkoZGVidWc6IERlYnVnKSB7XG4gICAgaWYgKGRlYnVnICYmICFpc0Z1bmN0aW9uKGRlYnVnKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2RlYnVnIGZhY3RvcnkgdHlwZSBpcyBpbnZhbGlkLCBtdXN0IGJlIGZ1bmN0aW9uJyk7XG4gICAgfVxuICAgIF9kZWJ1Z0ZhY3RvcnkgPSBkZWJ1Zztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyRGVidWdGYWN0b3J5KCkge1xuICAgIF9kZWJ1Z0ZhY3RvcnkgPSB1bmRlZmluZWQ7XG4gICAgX2RlYnVnZ2VyTWFwID0ge307XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWJ1Z0ZhY3RvcnkoKSB7XG4gICAgcmV0dXJuIF9kZWJ1Z0ZhY3Rvcnk7XG59XG4iXX0=
@@ -0,0 +1,10 @@
1
+ import { Component } from '@angular/core';
2
+ export class EmptyComponent {
3
+ }
4
+ EmptyComponent.decorators = [
5
+ { type: Component, args: [{
6
+ selector: 'empty-component',
7
+ template: ``
8
+ },] }
9
+ ];
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9lbXB0eS9lbXB0eS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0xQyxNQUFNLE9BQU8sY0FBYzs7O1lBSjFCLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixRQUFRLEVBQUUsRUFBRTthQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZW1wdHktY29tcG9uZW50JyxcbiAgICB0ZW1wbGF0ZTogYGBcbn0pXG5leHBvcnQgY2xhc3MgRW1wdHlDb21wb25lbnQge31cbiJdfQ==
@@ -0,0 +1,71 @@
1
+ import { Subject, Observable } from 'rxjs';
2
+ import { filter, map } from 'rxjs/operators';
3
+ import { Injectable, NgZone } from '@angular/core';
4
+ import * as i0 from "@angular/core";
5
+ const CUSTOM_EVENT_NAME = 'PLANET_GLOBAL_EVENT_DISPATCHER';
6
+ export class GlobalEventDispatcher {
7
+ constructor(ngZone) {
8
+ this.ngZone = ngZone;
9
+ this.subject$ = new Subject();
10
+ this.hasAddGlobalEventListener = false;
11
+ this.subscriptionCount = 0;
12
+ this.globalEventListener = (event) => {
13
+ this.subject$.next(event.detail);
14
+ };
15
+ }
16
+ addGlobalEventListener() {
17
+ this.hasAddGlobalEventListener = true;
18
+ window.addEventListener(CUSTOM_EVENT_NAME, this.globalEventListener);
19
+ }
20
+ removeGlobalEventListener() {
21
+ this.hasAddGlobalEventListener = false;
22
+ window.removeEventListener(CUSTOM_EVENT_NAME, this.globalEventListener);
23
+ }
24
+ dispatch(name, payload) {
25
+ window.dispatchEvent(new CustomEvent(CUSTOM_EVENT_NAME, {
26
+ detail: {
27
+ name: name,
28
+ payload: payload
29
+ }
30
+ }));
31
+ }
32
+ register(eventName) {
33
+ return new Observable(observer => {
34
+ if (!this.hasAddGlobalEventListener) {
35
+ this.addGlobalEventListener();
36
+ }
37
+ this.subscriptionCount++;
38
+ const subscription = this.subject$
39
+ .pipe(filter(event => {
40
+ return event.name === eventName;
41
+ }), map(event => {
42
+ return event.payload;
43
+ }))
44
+ .subscribe(payload => {
45
+ this.ngZone.run(() => {
46
+ observer.next(payload);
47
+ });
48
+ });
49
+ return () => {
50
+ this.subscriptionCount--;
51
+ subscription.unsubscribe();
52
+ if (!this.subscriptionCount) {
53
+ this.removeGlobalEventListener();
54
+ }
55
+ };
56
+ });
57
+ }
58
+ getSubscriptionCount() {
59
+ return this.subscriptionCount;
60
+ }
61
+ }
62
+ GlobalEventDispatcher.ɵprov = i0.ɵɵdefineInjectable({ factory: function GlobalEventDispatcher_Factory() { return new GlobalEventDispatcher(i0.ɵɵinject(i0.NgZone)); }, token: GlobalEventDispatcher, providedIn: "root" });
63
+ GlobalEventDispatcher.decorators = [
64
+ { type: Injectable, args: [{
65
+ providedIn: 'root'
66
+ },] }
67
+ ];
68
+ GlobalEventDispatcher.ctorParameters = () => [
69
+ { type: NgZone }
70
+ ];
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWV2ZW50LWRpc3BhdGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXQvc3JjL2dsb2JhbC1ldmVudC1kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT25ELE1BQU0saUJBQWlCLEdBQUcsZ0NBQWdDLENBQUM7QUFLM0QsTUFBTSxPQUFPLHFCQUFxQjtJQXFCOUIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFwQjFCLGFBQVEsR0FBbUMsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV6RCw4QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFFbEMsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBRXRCLHdCQUFtQixHQUFHLENBQUMsS0FBa0IsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUM7SUFZbUMsQ0FBQztJQVY5QixzQkFBc0I7UUFDMUIsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQztRQUN0QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVPLHlCQUF5QjtRQUM3QixJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBSUQsUUFBUSxDQUFXLElBQVksRUFBRSxPQUFrQjtRQUMvQyxNQUFNLENBQUMsYUFBYSxDQUNoQixJQUFJLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRTtZQUMvQixNQUFNLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLElBQUk7Z0JBQ1YsT0FBTyxFQUFFLE9BQU87YUFDbkI7U0FDSixDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRCxRQUFRLENBQUksU0FBaUI7UUFDekIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO2dCQUNqQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQzthQUNqQztZQUNELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRO2lCQUM3QixJQUFJLENBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNYLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7WUFDcEMsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNSLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUN6QixDQUFDLENBQUMsQ0FDTDtpQkFDQSxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDakIsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDM0IsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztZQUNQLE9BQU8sR0FBRyxFQUFFO2dCQUNSLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUN6QixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO2lCQUNwQztZQUNMLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNsQyxDQUFDOzs7O1lBckVKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBWG9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdsb2JhbERpc3BhdGNoZXJFdmVudCB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHBheWxvYWQ6IGFueTtcbn1cblxuY29uc3QgQ1VTVE9NX0VWRU5UX05BTUUgPSAnUExBTkVUX0dMT0JBTF9FVkVOVF9ESVNQQVRDSEVSJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBHbG9iYWxFdmVudERpc3BhdGNoZXIge1xuICAgIHByaXZhdGUgc3ViamVjdCQ6IFN1YmplY3Q8R2xvYmFsRGlzcGF0Y2hlckV2ZW50PiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwcml2YXRlIGhhc0FkZEdsb2JhbEV2ZW50TGlzdGVuZXIgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uQ291bnQgPSAwO1xuXG4gICAgcHJpdmF0ZSBnbG9iYWxFdmVudExpc3RlbmVyID0gKGV2ZW50OiBDdXN0b21FdmVudCkgPT4ge1xuICAgICAgICB0aGlzLnN1YmplY3QkLm5leHQoZXZlbnQuZGV0YWlsKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBhZGRHbG9iYWxFdmVudExpc3RlbmVyKCkge1xuICAgICAgICB0aGlzLmhhc0FkZEdsb2JhbEV2ZW50TGlzdGVuZXIgPSB0cnVlO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihDVVNUT01fRVZFTlRfTkFNRSwgdGhpcy5nbG9iYWxFdmVudExpc3RlbmVyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZUdsb2JhbEV2ZW50TGlzdGVuZXIoKSB7XG4gICAgICAgIHRoaXMuaGFzQWRkR2xvYmFsRXZlbnRMaXN0ZW5lciA9IGZhbHNlO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihDVVNUT01fRVZFTlRfTkFNRSwgdGhpcy5nbG9iYWxFdmVudExpc3RlbmVyKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nWm9uZTogTmdab25lKSB7fVxuXG4gICAgZGlzcGF0Y2g8VFBheWxvYWQ+KG5hbWU6IHN0cmluZywgcGF5bG9hZD86IFRQYXlsb2FkKSB7XG4gICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KENVU1RPTV9FVkVOVF9OQU1FLCB7XG4gICAgICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHBheWxvYWQ6IHBheWxvYWRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyPFQ+KGV2ZW50TmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaGFzQWRkR2xvYmFsRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkR2xvYmFsRXZlbnRMaXN0ZW5lcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25Db3VudCsrO1xuICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5zdWJqZWN0JFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGV2ZW50Lm5hbWUgPT09IGV2ZW50TmFtZTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIG1hcChldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXZlbnQucGF5bG9hZDtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShwYXlsb2FkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQocGF5bG9hZCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbkNvdW50LS07XG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnN1YnNjcmlwdGlvbkNvdW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlR2xvYmFsRXZlbnRMaXN0ZW5lcigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldFN1YnNjcmlwdGlvbkNvdW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25Db3VudDtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,54 @@
1
+ import { PlanetApplicationRef } from './application/planet-application-ref';
2
+ import { isFunction } from './helpers';
3
+ export const globalPlanet = (window.planet = window.planet || {
4
+ apps: {}
5
+ });
6
+ export function defineApplication(name, options) {
7
+ if (globalPlanet.apps[name]) {
8
+ throw new Error(`${name} application has exist.`);
9
+ }
10
+ if (isFunction(options)) {
11
+ options = {
12
+ template: '',
13
+ bootstrap: options
14
+ };
15
+ }
16
+ const appRef = new PlanetApplicationRef(name, options);
17
+ globalPlanet.apps[name] = appRef;
18
+ }
19
+ export function getPlanetApplicationRef(appName) {
20
+ if (globalPlanet && globalPlanet.apps && globalPlanet.apps[appName]) {
21
+ return globalPlanet.apps[appName];
22
+ }
23
+ else {
24
+ return null;
25
+ }
26
+ }
27
+ export function setPortalApplicationData(data) {
28
+ if (globalPlanet.portalApplication) {
29
+ globalPlanet.portalApplication.data = data;
30
+ }
31
+ }
32
+ export function getPortalApplicationData() {
33
+ var _a;
34
+ return (_a = globalPlanet.portalApplication) === null || _a === void 0 ? void 0 : _a.data;
35
+ }
36
+ export function setApplicationLoader(loader) {
37
+ globalPlanet.applicationLoader = loader;
38
+ }
39
+ export function getApplicationLoader() {
40
+ return globalPlanet.applicationLoader;
41
+ }
42
+ export function setApplicationService(service) {
43
+ globalPlanet.applicationService = service;
44
+ }
45
+ export function getApplicationService() {
46
+ return globalPlanet.applicationService;
47
+ }
48
+ export function clearGlobalPlanet() {
49
+ window.planet.apps = {};
50
+ window.planet.portalApplication = null;
51
+ window.planet.applicationLoader = null;
52
+ window.planet.applicationService = null;
53
+ }
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXBsYW5ldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvZ2xvYmFsLXBsYW5ldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQXdDLE1BQU0sc0NBQXNDLENBQUM7QUFJbEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQVd2QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWlCLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJO0lBQ3hFLElBQUksRUFBRSxFQUFFO0NBQ1gsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLGlCQUFpQixDQUFDLElBQVksRUFBRSxPQUE4QztJQUMxRixJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUkseUJBQXlCLENBQUMsQ0FBQztLQUNyRDtJQUNELElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ3JCLE9BQU8sR0FBRztZQUNOLFFBQVEsRUFBRSxFQUFFO1lBQ1osU0FBUyxFQUFFLE9BQTZCO1NBQzNDLENBQUM7S0FDTDtJQUNELE1BQU0sTUFBTSxHQUFHLElBQUksb0JBQW9CLENBQUMsSUFBSSxFQUFFLE9BQTJCLENBQUMsQ0FBQztJQUMzRSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLE9BQWU7SUFDbkQsSUFBSSxZQUFZLElBQUksWUFBWSxDQUFDLElBQUksSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ2pFLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUNyQztTQUFNO1FBQ0gsT0FBTyxJQUFJLENBQUM7S0FDZjtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUksSUFBTztJQUMvQyxJQUFJLFlBQVksQ0FBQyxpQkFBaUIsRUFBRTtRQUNoQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztLQUM5QztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCOztJQUNwQyxPQUFPLE1BQUEsWUFBWSxDQUFDLGlCQUFpQiwwQ0FBRSxJQUFhLENBQUM7QUFDekQsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxNQUErQjtJQUNoRSxZQUFZLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CO0lBQ2hDLE9BQU8sWUFBWSxDQUFDLGlCQUFpQixDQUFDO0FBQzFDLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsT0FBaUM7SUFDbkUsWUFBWSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQztBQUM5QyxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQjtJQUNqQyxPQUFPLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQjtJQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7QUFDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYW5ldEFwcGxpY2F0aW9uUmVmLCBCb290c3RyYXBBcHBNb2R1bGUsIEJvb3RzdHJhcE9wdGlvbnMgfSBmcm9tICcuL2FwcGxpY2F0aW9uL3BsYW5ldC1hcHBsaWNhdGlvbi1yZWYnO1xuaW1wb3J0IHsgUGxhbmV0UG9ydGFsQXBwbGljYXRpb24gfSBmcm9tICcuL2FwcGxpY2F0aW9uL3BvcnRhbC1hcHBsaWNhdGlvbic7XG5pbXBvcnQgeyBQbGFuZXRBcHBsaWNhdGlvbkxvYWRlciB9IGZyb20gJy4vYXBwbGljYXRpb24vcGxhbmV0LWFwcGxpY2F0aW9uLWxvYWRlcic7XG5pbXBvcnQgeyBQbGFuZXRBcHBsaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL2FwcGxpY2F0aW9uL3BsYW5ldC1hcHBsaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogYW55O1xuXG5leHBvcnQgaW50ZXJmYWNlIEdsb2JhbFBsYW5ldCB7XG4gICAgYXBwczogeyBba2V5OiBzdHJpbmddOiBQbGFuZXRBcHBsaWNhdGlvblJlZiB9O1xuICAgIHBvcnRhbEFwcGxpY2F0aW9uPzogUGxhbmV0UG9ydGFsQXBwbGljYXRpb247XG4gICAgYXBwbGljYXRpb25Mb2FkZXI6IFBsYW5ldEFwcGxpY2F0aW9uTG9hZGVyO1xuICAgIGFwcGxpY2F0aW9uU2VydmljZTogUGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlO1xufVxuXG5leHBvcnQgY29uc3QgZ2xvYmFsUGxhbmV0OiBHbG9iYWxQbGFuZXQgPSAod2luZG93LnBsYW5ldCA9IHdpbmRvdy5wbGFuZXQgfHwge1xuICAgIGFwcHM6IHt9XG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmluZUFwcGxpY2F0aW9uKG5hbWU6IHN0cmluZywgb3B0aW9uczogQm9vdHN0cmFwQXBwTW9kdWxlIHwgQm9vdHN0cmFwT3B0aW9ucykge1xuICAgIGlmIChnbG9iYWxQbGFuZXQuYXBwc1tuYW1lXSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7bmFtZX0gYXBwbGljYXRpb24gaGFzIGV4aXN0LmApO1xuICAgIH1cbiAgICBpZiAoaXNGdW5jdGlvbihvcHRpb25zKSkge1xuICAgICAgICBvcHRpb25zID0ge1xuICAgICAgICAgICAgdGVtcGxhdGU6ICcnLFxuICAgICAgICAgICAgYm9vdHN0cmFwOiBvcHRpb25zIGFzIEJvb3RzdHJhcEFwcE1vZHVsZVxuICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBhcHBSZWYgPSBuZXcgUGxhbmV0QXBwbGljYXRpb25SZWYobmFtZSwgb3B0aW9ucyBhcyBCb290c3RyYXBPcHRpb25zKTtcbiAgICBnbG9iYWxQbGFuZXQuYXBwc1tuYW1lXSA9IGFwcFJlZjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBsYW5ldEFwcGxpY2F0aW9uUmVmKGFwcE5hbWU6IHN0cmluZyk6IFBsYW5ldEFwcGxpY2F0aW9uUmVmIHwgbnVsbCB7XG4gICAgaWYgKGdsb2JhbFBsYW5ldCAmJiBnbG9iYWxQbGFuZXQuYXBwcyAmJiBnbG9iYWxQbGFuZXQuYXBwc1thcHBOYW1lXSkge1xuICAgICAgICByZXR1cm4gZ2xvYmFsUGxhbmV0LmFwcHNbYXBwTmFtZV07XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0UG9ydGFsQXBwbGljYXRpb25EYXRhPFQ+KGRhdGE6IFQpIHtcbiAgICBpZiAoZ2xvYmFsUGxhbmV0LnBvcnRhbEFwcGxpY2F0aW9uKSB7XG4gICAgICAgIGdsb2JhbFBsYW5ldC5wb3J0YWxBcHBsaWNhdGlvbi5kYXRhID0gZGF0YTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQb3J0YWxBcHBsaWNhdGlvbkRhdGE8VERhdGE+KCk6IFREYXRhIHtcbiAgICByZXR1cm4gZ2xvYmFsUGxhbmV0LnBvcnRhbEFwcGxpY2F0aW9uPy5kYXRhIGFzIFREYXRhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0QXBwbGljYXRpb25Mb2FkZXIobG9hZGVyOiBQbGFuZXRBcHBsaWNhdGlvbkxvYWRlcikge1xuICAgIGdsb2JhbFBsYW5ldC5hcHBsaWNhdGlvbkxvYWRlciA9IGxvYWRlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFwcGxpY2F0aW9uTG9hZGVyKCkge1xuICAgIHJldHVybiBnbG9iYWxQbGFuZXQuYXBwbGljYXRpb25Mb2FkZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRBcHBsaWNhdGlvblNlcnZpY2Uoc2VydmljZTogUGxhbmV0QXBwbGljYXRpb25TZXJ2aWNlKSB7XG4gICAgZ2xvYmFsUGxhbmV0LmFwcGxpY2F0aW9uU2VydmljZSA9IHNlcnZpY2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBcHBsaWNhdGlvblNlcnZpY2UoKSB7XG4gICAgcmV0dXJuIGdsb2JhbFBsYW5ldC5hcHBsaWNhdGlvblNlcnZpY2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhckdsb2JhbFBsYW5ldCgpIHtcbiAgICB3aW5kb3cucGxhbmV0LmFwcHMgPSB7fTtcbiAgICB3aW5kb3cucGxhbmV0LnBvcnRhbEFwcGxpY2F0aW9uID0gbnVsbDtcbiAgICB3aW5kb3cucGxhbmV0LmFwcGxpY2F0aW9uTG9hZGVyID0gbnVsbDtcbiAgICB3aW5kb3cucGxhbmV0LmFwcGxpY2F0aW9uU2VydmljZSA9IG51bGw7XG59XG4iXX0=
@@ -0,0 +1,119 @@
1
+ const ELEMENT_NODE_TYPE = 1;
2
+ export function hashCode(str) {
3
+ let hash = 0;
4
+ let chr;
5
+ if (str.length === 0) {
6
+ return hash;
7
+ }
8
+ for (let i = 0; i < str.length; i++) {
9
+ chr = str.charCodeAt(i);
10
+ hash = (hash << 5) - hash + chr;
11
+ hash |= 0; // Convert to 32bit integer
12
+ }
13
+ return hash;
14
+ }
15
+ export function getHTMLElement(selector) {
16
+ if (selector instanceof HTMLElement) {
17
+ return selector;
18
+ }
19
+ else {
20
+ return document.querySelector(selector);
21
+ }
22
+ }
23
+ export function getTagNameByTemplate(template) {
24
+ const element = createElementByTemplate(template);
25
+ return element ? element.nodeName : '';
26
+ }
27
+ export function createElementByTemplate(template) {
28
+ if (!template) {
29
+ return null;
30
+ }
31
+ const element = document.createRange().createContextualFragment(template).firstChild;
32
+ if (element && element.nodeType === ELEMENT_NODE_TYPE) {
33
+ return element;
34
+ }
35
+ else {
36
+ throw new Error(`invalid template '${template}'`);
37
+ }
38
+ }
39
+ export function coerceArray(value) {
40
+ return Array.isArray(value) ? value : [value];
41
+ }
42
+ export function isEmpty(value) {
43
+ if (!value || value.length === 0) {
44
+ return true;
45
+ }
46
+ else {
47
+ return false;
48
+ }
49
+ }
50
+ export function isFunction(value) {
51
+ const type = typeof value;
52
+ return !!value && type === 'function';
53
+ }
54
+ export function isObject(val) {
55
+ return val && typeof val === 'object';
56
+ }
57
+ /**
58
+ * Get file name from path
59
+ * 1. "main.js" => "main.js"
60
+ * 2. "assets/scripts/main.js" => "main.js"
61
+ * @param path path
62
+ */
63
+ export function getResourceFileName(path) {
64
+ const lastSlashIndex = path.lastIndexOf('/');
65
+ if (lastSlashIndex >= 0) {
66
+ return path.slice(lastSlashIndex + 1);
67
+ }
68
+ else {
69
+ return path;
70
+ }
71
+ }
72
+ /**
73
+ * Build resource path by manifest
74
+ * if manifest is { "main.js": "main.h2sh23abee.js"}
75
+ * 1. "main.js" => "main.h2sh23abee.js"
76
+ * 2. "assets/scripts/main.js" =>"assets/scripts/main.h2sh23abee.js"
77
+ * @param resourceFilePath Resource File Path
78
+ * @param manifestResult manifest
79
+ */
80
+ export function buildResourceFilePath(resourceFilePath, manifestResult) {
81
+ const fileName = getResourceFileName(resourceFilePath);
82
+ if (manifestResult[fileName]) {
83
+ return resourceFilePath.replace(fileName, manifestResult[fileName]);
84
+ }
85
+ else {
86
+ return resourceFilePath;
87
+ }
88
+ }
89
+ /**
90
+ * Get static resource full path
91
+ * @param app PlanetApplication
92
+ * @param manifestResult manifest
93
+ */
94
+ export function getScriptsAndStylesFullPaths(app, manifestResult) {
95
+ let scripts = app.scripts || [];
96
+ let styles = app.styles || [];
97
+ // combine resource path by manifest
98
+ if (manifestResult) {
99
+ scripts = scripts.map(script => {
100
+ return buildResourceFilePath(script, manifestResult);
101
+ });
102
+ styles = styles.map(style => {
103
+ return buildResourceFilePath(style, manifestResult);
104
+ });
105
+ }
106
+ if (app.resourcePathPrefix) {
107
+ scripts = scripts.map(script => {
108
+ return `${app.resourcePathPrefix}${script}`;
109
+ });
110
+ styles = styles.map(style => {
111
+ return `${app.resourcePathPrefix}${style}`;
112
+ });
113
+ }
114
+ return {
115
+ scripts: scripts,
116
+ styles: styles
117
+ };
118
+ }
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldC9zcmMvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQztBQUU1QixNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVc7SUFDaEMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsSUFBSSxHQUFXLENBQUM7SUFDaEIsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNsQixPQUFPLElBQUksQ0FBQztLQUNmO0lBQ0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDakMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEIsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7UUFDaEMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLDJCQUEyQjtLQUN6QztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLFFBQThCO0lBQ3pELElBQUksUUFBUSxZQUFZLFdBQVcsRUFBRTtRQUNqQyxPQUFPLFFBQVEsQ0FBQztLQUNuQjtTQUFNO1FBQ0gsT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQzNDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxRQUFnQjtJQUNqRCxNQUFNLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsRCxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQzNDLENBQUM7QUFF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LE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzNCLE9BQU8sR0FBRyxHQUFHLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixPQUFPLEdBQUcsR0FBRyxDQUFDLGtCQUFrQixHQUFHLEtBQUssRUFBRSxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO0tBQ047SUFDRCxPQUFPO1FBQ0gsT0FBTyxFQUFFLE9BQU87UUFDaEIsTUFBTSxFQUFFLE1BQU07S0FDakIsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFuZXRBcHBsaWNhdGlvbiB9IGZyb20gJy4vcGxhbmV0LmNsYXNzJztcblxuY29uc3QgRUxFTUVOVF9OT0RFX1RZUEUgPSAxO1xuXG5leHBvcnQgZnVuY3Rpb24gaGFzaENvZGUoc3RyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGxldCBoYXNoID0gMDtcbiAgICBsZXQgY2hyOiBudW1iZXI7XG4gICAgaWYgKHN0ci5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGhhc2g7XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNociA9IHN0ci5jaGFyQ29kZUF0KGkpO1xuICAgICAgICBoYXNoID0gKGhhc2ggPDwgNSkgLSBoYXNoICsgY2hyO1xuICAgICAgICBoYXNoIHw9IDA7IC8vIENvbnZlcnQgdG8gMzJiaXQgaW50ZWdlclxuICAgIH1cbiAgICByZXR1cm4gaGFzaDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEhUTUxFbGVtZW50KHNlbGVjdG9yOiBzdHJpbmcgfCBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgaWYgKHNlbGVjdG9yIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYWdOYW1lQnlUZW1wbGF0ZSh0ZW1wbGF0ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBlbGVtZW50ID0gY3JlYXRlRWxlbWVudEJ5VGVtcGxhdGUodGVtcGxhdGUpO1xuICAgIHJldHVybiBlbGVtZW50ID8gZWxlbWVudC5ub2RlTmFtZSA6ICcnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRWxlbWVudEJ5VGVtcGxhdGUodGVtcGxhdGU6IHN0cmluZykge1xuICAgIGlmICghdGVtcGxhdGUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpLmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudCh0ZW1wbGF0ZSkuZmlyc3RDaGlsZDtcbiAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50Lm5vZGVUeXBlID09PSBFTEVNRU5UX05PREVfVFlQRSkge1xuICAgICAgICByZXR1cm4gZWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgdGVtcGxhdGUgJyR7dGVtcGxhdGV9J2ApO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvZXJjZUFycmF5PFQ+KHZhbHVlOiBUIHwgVFtdKTogVFtdIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0VtcHR5KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoIXZhbHVlIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNGdW5jdGlvbih2YWx1ZTogYW55KTogdmFsdWUgaXMgRnVuY3Rpb24ge1xuICAgIGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gICAgcmV0dXJuICEhdmFsdWUgJiYgdHlwZSA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KHZhbDogYW55KSB7XG4gICAgcmV0dXJuIHZhbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0Jztcbn1cbi8qKlxuICogR2V0IGZpbGUgbmFtZSBmcm9tIHBhdGhcbiAqIDEuIFwibWFpbi5qc1wiID0+IFwibWFpbi5qc1wiXG4gKiAyLiBcImFzc2V0cy9zY3JpcHRzL21haW4uanNcIiA9PiBcIm1haW4uanNcIlxuICogQHBhcmFtIHBhdGggcGF0aFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzb3VyY2VGaWxlTmFtZShwYXRoOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsYXN0U2xhc2hJbmRleCA9IHBhdGgubGFzdEluZGV4T2YoJy8nKTtcbiAgICBpZiAobGFzdFNsYXNoSW5kZXggPj0gMCkge1xuICAgICAgICByZXR1cm4gcGF0aC5zbGljZShsYXN0U2xhc2hJbmRleCArIDEpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgIH1cbn1cblxuLyoqXG4gKiBCdWlsZCByZXNvdXJjZSBwYXRoIGJ5IG1hbmlmZXN0XG4gKiBpZiBtYW5pZmVzdCBpcyB7IFwibWFpbi5qc1wiOiBcIm1haW4uaDJzaDIzYWJlZS5qc1wifVxuICogMS4gXCJtYWluLmpzXCIgPT4gXCJtYWluLmgyc2gyM2FiZWUuanNcIlxuICogMi4gXCJhc3NldHMvc2NyaXB0cy9tYWluLmpzXCIgPT5cImFzc2V0cy9zY3JpcHRzL21haW4uaDJzaDIzYWJlZS5qc1wiXG4gKiBAcGFyYW0gcmVzb3VyY2VGaWxlUGF0aCBSZXNvdXJjZSBGaWxlIFBhdGhcbiAqIEBwYXJhbSBtYW5pZmVzdFJlc3VsdCBtYW5pZmVzdFxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRSZXNvdXJjZUZpbGVQYXRoKHJlc291cmNlRmlsZVBhdGg6IHN0cmluZywgbWFuaWZlc3RSZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pIHtcbiAgICBjb25zdCBmaWxlTmFtZSA9IGdldFJlc291cmNlRmlsZU5hbWUocmVzb3VyY2VGaWxlUGF0aCk7XG4gICAgaWYgKG1hbmlmZXN0UmVzdWx0W2ZpbGVOYW1lXSkge1xuICAgICAgICByZXR1cm4gcmVzb3VyY2VGaWxlUGF0aC5yZXBsYWNlKGZpbGVOYW1lLCBtYW5pZmVzdFJlc3VsdFtmaWxlTmFtZV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiByZXNvdXJjZUZpbGVQYXRoO1xuICAgIH1cbn1cblxuLyoqXG4gKiBHZXQgc3RhdGljIHJlc291cmNlIGZ1bGwgcGF0aFxuICogQHBhcmFtIGFwcCBQbGFuZXRBcHBsaWNhdGlvblxuICogQHBhcmFtIG1hbmlmZXN0UmVzdWx0IG1hbmlmZXN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHRzQW5kU3R5bGVzRnVsbFBhdGhzKGFwcDogUGxhbmV0QXBwbGljYXRpb24sIG1hbmlmZXN0UmVzdWx0PzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICAgIGxldCBzY3JpcHRzID0gYXBwLnNjcmlwdHMgfHwgW107XG4gICAgbGV0IHN0eWxlcyA9IGFwcC5zdHlsZXMgfHwgW107XG4gICAgLy8gY29tYmluZSByZXNvdXJjZSBwYXRoIGJ5IG1hbmlmZXN0XG4gICAgaWYgKG1hbmlmZXN0UmVzdWx0KSB7XG4gICAgICAgIHNjcmlwdHMgPSBzY3JpcHRzLm1hcChzY3JpcHQgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGJ1aWxkUmVzb3VyY2VGaWxlUGF0aChzY3JpcHQsIG1hbmlmZXN0UmVzdWx0KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHN0eWxlcyA9IHN0eWxlcy5tYXAoc3R5bGUgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGJ1aWxkUmVzb3VyY2VGaWxlUGF0aChzdHlsZSwgbWFuaWZlc3RSZXN1bHQpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGFwcC5yZXNvdXJjZVBhdGhQcmVmaXgpIHtcbiAgICAgICAgc2NyaXB0cyA9IHNjcmlwdHMubWFwKHNjcmlwdCA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCR7YXBwLnJlc291cmNlUGF0aFByZWZpeH0ke3NjcmlwdH1gO1xuICAgICAgICB9KTtcbiAgICAgICAgc3R5bGVzID0gc3R5bGVzLm1hcChzdHlsZSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCR7YXBwLnJlc291cmNlUGF0aFByZWZpeH0ke3N0eWxlfWA7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBzY3JpcHRzOiBzY3JpcHRzLFxuICAgICAgICBzdHlsZXM6IHN0eWxlc1xuICAgIH07XG59XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { PLANET_APPLICATIONS } from './planet.class';
3
+ import { HttpClientModule } from '@angular/common/http';
4
+ import { EmptyComponent } from './empty/empty.component';
5
+ export class NgxPlanetModule {
6
+ static forRoot(apps) {
7
+ return {
8
+ ngModule: NgxPlanetModule,
9
+ providers: [
10
+ {
11
+ provide: PLANET_APPLICATIONS,
12
+ useValue: apps
13
+ }
14
+ ]
15
+ };
16
+ }
17
+ }
18
+ NgxPlanetModule.decorators = [
19
+ { type: NgModule, args: [{
20
+ declarations: [EmptyComponent],
21
+ entryComponents: [EmptyComponent],
22
+ imports: [HttpClientModule],
23
+ providers: [],
24
+ exports: [HttpClientModule, EmptyComponent]
25
+ },] }
26
+ ];
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFxQixtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQVN6RCxNQUFNLE9BQU8sZUFBZTtJQUN4QixNQUFNLENBQUMsT0FBTyxDQUFDLElBQXlCO1FBQ3BDLE9BQU87WUFDSCxRQUFRLEVBQUUsZUFBZTtZQUN6QixTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLG1CQUFtQjtvQkFDNUIsUUFBUSxFQUFFLElBQUk7aUJBQ2pCO2FBQ0o7U0FDSixDQUFDO0lBQ04sQ0FBQzs7O1lBbEJKLFFBQVEsU0FBQztnQkFDTixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7Z0JBQzlCLGVBQWUsRUFBRSxDQUFDLGNBQWMsQ0FBQztnQkFDakMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7Z0JBQzNCLFNBQVMsRUFBRSxFQUFFO2dCQUNiLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQzthQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQbGFuZXRBcHBsaWNhdGlvbiwgUExBTkVUX0FQUExJQ0FUSU9OUyB9IGZyb20gJy4vcGxhbmV0LmNsYXNzJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFbXB0eUNvbXBvbmVudCB9IGZyb20gJy4vZW1wdHkvZW1wdHkuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtFbXB0eUNvbXBvbmVudF0sXG4gICAgZW50cnlDb21wb25lbnRzOiBbRW1wdHlDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtIdHRwQ2xpZW50TW9kdWxlXSxcbiAgICBwcm92aWRlcnM6IFtdLFxuICAgIGV4cG9ydHM6IFtIdHRwQ2xpZW50TW9kdWxlLCBFbXB0eUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTmd4UGxhbmV0TW9kdWxlIHtcbiAgICBzdGF0aWMgZm9yUm9vdChhcHBzOiBQbGFuZXRBcHBsaWNhdGlvbltdKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hQbGFuZXRNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOZ3hQbGFuZXRNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFBMQU5FVF9BUFBMSUNBVElPTlMsXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBhcHBzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export var SwitchModes;
3
+ (function (SwitchModes) {
4
+ SwitchModes["default"] = "default";
5
+ SwitchModes["coexist"] = "coexist";
6
+ })(SwitchModes || (SwitchModes = {}));
7
+ const PLANET_APPLICATIONS = new InjectionToken('PLANET_APPLICATIONS');
8
+ export { PLANET_APPLICATIONS };
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0L3NyYy9wbGFuZXQuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQStDL0MsTUFBTSxDQUFOLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNuQixrQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsV0FBVyxLQUFYLFdBQVcsUUFHdEI7QUFNRCxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFvQixxQkFBcUIsQ0FBQyxDQUFDO0FBRXpGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlYnVnIH0gZnJvbSAnLi9kZWJ1Zyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhbmV0T3B0aW9ucyB7XG4gICAgc3dpdGNoTW9kZT86IFN3aXRjaE1vZGVzO1xuICAgIGVycm9ySGFuZGxlcjogKGVycm9yOiBFcnJvcikgPT4gdm9pZDtcbiAgICBkZWJ1Z0ZhY3Rvcnk/OiBEZWJ1Zztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFuZXRBcHBsaWNhdGlvbjxURXh0cmEgPSBhbnk+IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLy8g5bqU55So5Yqg6L2955qE5a6/5Li75YWD57Sg5oiW6ICF6YCJ5oup5ZmoXG4gICAgaG9zdFBhcmVudDogc3RyaW5nIHwgSFRNTEVsZW1lbnQ7XG5cbiAgICAvLyDlrZDlupTnlKjnmoTpgInmi6nlmahcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBwbGVhc2UgdXNlIG5ldyBkZWZpbmVBcHBsaWNhdGlvbiB0byBzZXQgc2VsZWN0b3JcbiAgICAgKi9cbiAgICBzZWxlY3Rvcj86IHN0cmluZztcbiAgICAvLyDlrZDlupTnlKjot6/nlLHliY3nvIDot6/lvoRcbiAgICByb3V0ZXJQYXRoUHJlZml4OiBzdHJpbmcgfCBSZWdFeHA7XG4gICAgLy8g5a6/5Li75YWD57Sg6ZmE5Yqg5qC35byPXG4gICAgaG9zdENsYXNzPzogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgLy8g5piv5ZCm6ZyA6KaB6aKE5Yqg6L29XG4gICAgcHJlbG9hZD86IGJvb2xlYW47XG4gICAgLy8g5piv5ZCm5byA5ZCv5rKZ566xXG4gICAgc2FuZGJveD86IGJvb2xlYW47XG4gICAgLy8g5YiH5o2i5bqU55So55qE5qih5byPXG4gICAgc3dpdGNoTW9kZT86IFN3aXRjaE1vZGVzO1xuICAgIC8vIOi1hOa6kOaWh+S7tui3r+W+hOeahOWJjee8gFxuICAgIHJlc291cmNlUGF0aFByZWZpeD86IHN0cmluZztcbiAgICAvLyDmoLflvI/liY3nvIBcbiAgICBzdHlsZVByZWZpeD86IHN0cmluZztcbiAgICAvLyDmoLflvI/otYTmupDmlofku7ZcbiAgICBzdHlsZXM/OiBzdHJpbmdbXTtcbiAgICAvLyDohJrmnKzotYTmupDmlofku7ZcbiAgICBzY3JpcHRzPzogc3RyaW5nW107XG4gICAgLy8g5Liy6KGM5Yqg6L2977yM6buY6K6k5bm26KGM5Yqg6L296ISa5pys6LWE5rqQXG4gICAgbG9hZFNlcmlhbD86IGJvb2xlYW47XG4gICAgLy8g55qu6IKk5qC35byP55qE6Lev5b6EXG4gICAgdGhlbWVTdHlsZXNQYXRoPzogc3RyaW5nO1xuICAgIC8vIOW6lOeUqOeoi+W6j+aJk+WMheWQjueahOiEmuacrOWSjOagt+W8j+aWh+S7tuabv+aNolxuICAgIG1hbmlmZXN0Pzogc3RyaW5nO1xuICAgIC8vIOmZhOWKoOaVsOaNru+8jOS4u+imgeW6lOeUqOS6juS4muWKoe+8jOavlOWmguWbvuagh++8jOWtkOW6lOeUqOeahOminOiJsu+8jOaYvuekuuWQjeetieS4quaAp+WMlumFjee9rlxuICAgIGV4dHJhPzogVEV4dHJhO1xufVxuXG5leHBvcnQgZW51bSBTd2l0Y2hNb2RlcyB7XG4gICAgZGVmYXVsdCA9ICdkZWZhdWx0JyxcbiAgICBjb2V4aXN0ID0gJ2NvZXhpc3QnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhbmV0Um91dGVyRXZlbnQge1xuICAgIHVybDogc3RyaW5nO1xufVxuXG5jb25zdCBQTEFORVRfQVBQTElDQVRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFBsYW5ldEFwcGxpY2F0aW9uPignUExBTkVUX0FQUExJQ0FUSU9OUycpO1xuXG5leHBvcnQgeyBQTEFORVRfQVBQTElDQVRJT05TIH07XG4iXX0=