barsa-novin-ray-core 2.2.73 → 2.2.75

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 (233) hide show
  1. package/fesm2022/barsa-novin-ray-core.mjs +630 -651
  2. package/fesm2022/barsa-novin-ray-core.mjs.map +1 -1
  3. package/lib/abstract-classes/field-base.d.ts +1 -1
  4. package/lib/abstract-classes/number-base.d.ts +1 -1
  5. package/lib/date-services/date-hijri.service.d.ts +1 -1
  6. package/lib/date-services/date.service.d.ts +1 -1
  7. package/lib/directives/base.directive.d.ts +1 -1
  8. package/lib/dynamic-component/base-view-item-props.d.ts +4 -4
  9. package/lib/resolvers/login-settings.resolver.d.ts +1 -1
  10. package/lib/resolvers/tile-group-breadcrumb.resolver.d.ts +1 -1
  11. package/lib/services/notification.service.d.ts +2 -2
  12. package/lib/services/portal.service.d.ts +1 -1
  13. package/package.json +3 -5
  14. package/esm2022/barsa-novin-ray-core.mjs +0 -5
  15. package/esm2022/lib/abstract-classes/application-base.mjs +0 -25
  16. package/esm2022/lib/abstract-classes/barsa-api.mjs +0 -43
  17. package/esm2022/lib/abstract-classes/base-column-props.mjs +0 -89
  18. package/esm2022/lib/abstract-classes/base.component.mjs +0 -60
  19. package/esm2022/lib/abstract-classes/field-base.mjs +0 -244
  20. package/esm2022/lib/abstract-classes/files-validation-helper.mjs +0 -75
  21. package/esm2022/lib/abstract-classes/form-base.mjs +0 -164
  22. package/esm2022/lib/abstract-classes/form-field-report-page.component.mjs +0 -54
  23. package/esm2022/lib/abstract-classes/form-page-base.mjs +0 -132
  24. package/esm2022/lib/abstract-classes/form-page.component.mjs +0 -53
  25. package/esm2022/lib/abstract-classes/form-props.base.mjs +0 -100
  26. package/esm2022/lib/abstract-classes/form-toolbar-base.mjs +0 -57
  27. package/esm2022/lib/abstract-classes/index.mjs +0 -25
  28. package/esm2022/lib/abstract-classes/layout-item-base.mjs +0 -49
  29. package/esm2022/lib/abstract-classes/layout-panel-base.mjs +0 -68
  30. package/esm2022/lib/abstract-classes/linear-list-helper.mjs +0 -135
  31. package/esm2022/lib/abstract-classes/models.mjs +0 -184
  32. package/esm2022/lib/abstract-classes/module-with-dynamic-components.mjs +0 -2
  33. package/esm2022/lib/abstract-classes/number-base.mjs +0 -201
  34. package/esm2022/lib/abstract-classes/page-base.mjs +0 -98
  35. package/esm2022/lib/abstract-classes/page-with-form-handler-base.mjs +0 -41
  36. package/esm2022/lib/abstract-classes/report-base.mjs +0 -266
  37. package/esm2022/lib/abstract-classes/report-item-base.mjs +0 -54
  38. package/esm2022/lib/abstract-classes/report-view-base.component.mjs +0 -450
  39. package/esm2022/lib/abstract-classes/system-base.mjs +0 -25
  40. package/esm2022/lib/abstract-classes/tile-props.mjs +0 -49
  41. package/esm2022/lib/auth-guard.mjs +0 -48
  42. package/esm2022/lib/barsa-novin-ray-core-routing.module.mjs +0 -311
  43. package/esm2022/lib/barsa-novin-ray-core.module.mjs +0 -522
  44. package/esm2022/lib/base-ulv-setting.component.mjs +0 -46
  45. package/esm2022/lib/base.module.mjs +0 -28
  46. package/esm2022/lib/button-loading/button-loading.component.mjs +0 -20
  47. package/esm2022/lib/constants.mjs +0 -963
  48. package/esm2022/lib/container.component.mjs +0 -100
  49. package/esm2022/lib/controllers/base-controller.mjs +0 -9
  50. package/esm2022/lib/controllers/base-view.mjs +0 -24
  51. package/esm2022/lib/controllers/index.mjs +0 -4
  52. package/esm2022/lib/controllers/models.mjs +0 -2
  53. package/esm2022/lib/custom-route-reuse-strategy.mjs +0 -32
  54. package/esm2022/lib/date-services/date-hijri.service.mjs +0 -146
  55. package/esm2022/lib/date-services/date-info.mjs +0 -2
  56. package/esm2022/lib/date-services/date-miladi.service.mjs +0 -124
  57. package/esm2022/lib/date-services/date-shamsi.service.mjs +0 -148
  58. package/esm2022/lib/date-services/date.service.mjs +0 -149
  59. package/esm2022/lib/date-services/index.mjs +0 -6
  60. package/esm2022/lib/device.mjs +0 -663
  61. package/esm2022/lib/directives/absolute-div-body.directive.mjs +0 -46
  62. package/esm2022/lib/directives/anchor-scroll.directive.mjs +0 -25
  63. package/esm2022/lib/directives/attr-rtl.directive.mjs +0 -36
  64. package/esm2022/lib/directives/base.directive.mjs +0 -55
  65. package/esm2022/lib/directives/body-click.directive.mjs +0 -36
  66. package/esm2022/lib/directives/column-resizer.directive.mjs +0 -40
  67. package/esm2022/lib/directives/copy.directive.mjs +0 -60
  68. package/esm2022/lib/directives/count-down.directive.mjs +0 -109
  69. package/esm2022/lib/directives/dynamic-command.directive.mjs +0 -43
  70. package/esm2022/lib/directives/dynamic-style.directive.mjs +0 -66
  71. package/esm2022/lib/directives/ellapsis-text.directive.mjs +0 -70
  72. package/esm2022/lib/directives/ellipsify.directive.mjs +0 -73
  73. package/esm2022/lib/directives/field-binding.directive.mjs +0 -18
  74. package/esm2022/lib/directives/fill-empty-space.mjs +0 -89
  75. package/esm2022/lib/directives/form-close.directive.mjs +0 -33
  76. package/esm2022/lib/directives/img-lazy.directive.mjs +0 -82
  77. package/esm2022/lib/directives/index.mjs +0 -42
  78. package/esm2022/lib/directives/intersection-observer.directive.mjs +0 -52
  79. package/esm2022/lib/directives/items-renderer.directive.mjs +0 -60
  80. package/esm2022/lib/directives/label-mandatory.directive.mjs +0 -49
  81. package/esm2022/lib/directives/load-external-files.directive.mjs +0 -38
  82. package/esm2022/lib/directives/mobile.directive.mjs +0 -30
  83. package/esm2022/lib/directives/nowraptext.directive.mjs +0 -27
  84. package/esm2022/lib/directives/numbers-only-input.directive.mjs +0 -27
  85. package/esm2022/lib/directives/placeHolder.directive.mjs +0 -16
  86. package/esm2022/lib/directives/prevent-default.directive.mjs +0 -21
  87. package/esm2022/lib/directives/print-files.directive.mjs +0 -39
  88. package/esm2022/lib/directives/render-ulv-paging.directive.mjs +0 -81
  89. package/esm2022/lib/directives/render-ulv-viewer.directive.mjs +0 -76
  90. package/esm2022/lib/directives/render-ulv.directive.mjs +0 -52
  91. package/esm2022/lib/directives/route-form-change.directive.mjs +0 -38
  92. package/esm2022/lib/directives/save-image.directive.mjs +0 -28
  93. package/esm2022/lib/directives/splide-slider.directive.mjs +0 -113
  94. package/esm2022/lib/directives/stop-propagation.directive.mjs +0 -21
  95. package/esm2022/lib/directives/table-resizer.directive.mjs +0 -236
  96. package/esm2022/lib/directives/ulv-command.directive.mjs +0 -43
  97. package/esm2022/lib/directives/until-inview.directive.mjs +0 -53
  98. package/esm2022/lib/directives/webotp.directive.mjs +0 -49
  99. package/esm2022/lib/directives/workflow-choice-command.directive.mjs +0 -61
  100. package/esm2022/lib/dynamic-component/base-dynamic.component.mjs +0 -97
  101. package/esm2022/lib/dynamic-component/base-form-toolbaritem-props.mjs +0 -53
  102. package/esm2022/lib/dynamic-component/base-item-content-props.mjs +0 -83
  103. package/esm2022/lib/dynamic-component/base-view-content-props.mjs +0 -27
  104. package/esm2022/lib/dynamic-component/base-view-item-props.mjs +0 -552
  105. package/esm2022/lib/dynamic-component/base-view-props.mjs +0 -163
  106. package/esm2022/lib/dynamic-component/dynamic-form-toolbar-item.component.mjs +0 -38
  107. package/esm2022/lib/dynamic-component/dynamic-form.component.mjs +0 -69
  108. package/esm2022/lib/dynamic-component/dynamic-item.component.mjs +0 -78
  109. package/esm2022/lib/dynamic-component/dynamic-layout.component.mjs +0 -64
  110. package/esm2022/lib/dynamic-component/index.mjs +0 -11
  111. package/esm2022/lib/empty-page/empty-page.component.mjs +0 -49
  112. package/esm2022/lib/empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component.mjs +0 -16
  113. package/esm2022/lib/field-ui/field-ui.component.mjs +0 -149
  114. package/esm2022/lib/form/form.component.mjs +0 -212
  115. package/esm2022/lib/form-new/form-new.component.mjs +0 -31
  116. package/esm2022/lib/form-page-routing/barsa-sap-ui-form-page-routing.module.mjs +0 -54
  117. package/esm2022/lib/form-page-routing/barsa-sap-ui-form-page.module.mjs +0 -29
  118. package/esm2022/lib/form-page-routing/constants.mjs +0 -9
  119. package/esm2022/lib/form-page-routing/index.mjs +0 -3
  120. package/esm2022/lib/from-intersection-observer.mjs +0 -53
  121. package/esm2022/lib/global-error-handler.mjs +0 -26
  122. package/esm2022/lib/injdection-tokens.mjs +0 -8
  123. package/esm2022/lib/modal-root.component.mjs +0 -34
  124. package/esm2022/lib/not-found/not-found.component.mjs +0 -16
  125. package/esm2022/lib/not-internet/not-internet.component.mjs +0 -21
  126. package/esm2022/lib/pipes/barsa-icon-dict.pipe.mjs +0 -20
  127. package/esm2022/lib/pipes/bbb-translate.pipe.mjs +0 -36
  128. package/esm2022/lib/pipes/can-upload.pipe.mjs +0 -27
  129. package/esm2022/lib/pipes/card-media-size.pipe.mjs +0 -21
  130. package/esm2022/lib/pipes/column-custom-component.pipe.mjs +0 -41
  131. package/esm2022/lib/pipes/column-customui.pipe.mjs +0 -33
  132. package/esm2022/lib/pipes/column-icon.pipe.mjs +0 -23
  133. package/esm2022/lib/pipes/column-value.pipe.mjs +0 -35
  134. package/esm2022/lib/pipes/column-valueof-parameters.pipe.mjs +0 -34
  135. package/esm2022/lib/pipes/combo-row-img.pipe.mjs +0 -17
  136. package/esm2022/lib/pipes/context-menu.pipe.mjs +0 -41
  137. package/esm2022/lib/pipes/control-ui.pipe.mjs +0 -32
  138. package/esm2022/lib/pipes/convert-to-style.pipe.mjs +0 -33
  139. package/esm2022/lib/pipes/date-time-to-caption.pipe.mjs +0 -35
  140. package/esm2022/lib/pipes/fileinfo-count.pipe.mjs +0 -21
  141. package/esm2022/lib/pipes/filter-columns-by-details.pipe.mjs +0 -23
  142. package/esm2022/lib/pipes/filter-inline-action-list.pipe.mjs +0 -19
  143. package/esm2022/lib/pipes/filter-string.pipe.mjs +0 -45
  144. package/esm2022/lib/pipes/filter-tab.pipe.mjs +0 -20
  145. package/esm2022/lib/pipes/filter-toolbar-control.pipe.mjs +0 -17
  146. package/esm2022/lib/pipes/filter-workflow-mobile.pipe.mjs +0 -25
  147. package/esm2022/lib/pipes/filter.pipe.mjs +0 -34
  148. package/esm2022/lib/pipes/find-column-by-db-name.pipe.mjs +0 -28
  149. package/esm2022/lib/pipes/find-preview-column.pipe.mjs +0 -20
  150. package/esm2022/lib/pipes/fiori-icon.pipe.mjs +0 -43
  151. package/esm2022/lib/pipes/groupby.pipe.mjs +0 -64
  152. package/esm2022/lib/pipes/header-facet-value.pipe.mjs +0 -23
  153. package/esm2022/lib/pipes/hide-accept-cancel-buttons.pipe.mjs +0 -24
  154. package/esm2022/lib/pipes/hide-columns-inmobile.pipe.mjs +0 -23
  155. package/esm2022/lib/pipes/index.mjs +0 -55
  156. package/esm2022/lib/pipes/isimage.pipe.mjs +0 -20
  157. package/esm2022/lib/pipes/list-count.pipe.mjs +0 -18
  158. package/esm2022/lib/pipes/merge-fields-to-columns.pipe.mjs +0 -43
  159. package/esm2022/lib/pipes/mo-info-ulv-data.pipe.mjs +0 -59
  160. package/esm2022/lib/pipes/mo-info-ulv-paging.pipe.mjs +0 -17
  161. package/esm2022/lib/pipes/mo-report-value-concat.pipe.mjs +0 -36
  162. package/esm2022/lib/pipes/mo-report-value.pipe.mjs +0 -18
  163. package/esm2022/lib/pipes/mo-value.pipe.mjs +0 -19
  164. package/esm2022/lib/pipes/multiple-groupby.pipe.mjs +0 -91
  165. package/esm2022/lib/pipes/numeral.pipe.mjs +0 -44
  166. package/esm2022/lib/pipes/picture-field-source.pipe.mjs +0 -23
  167. package/esm2022/lib/pipes/remove-newline.pipe.mjs +0 -21
  168. package/esm2022/lib/pipes/replace.pipe.mjs +0 -18
  169. package/esm2022/lib/pipes/reverse.pipe.mjs +0 -23
  170. package/esm2022/lib/pipes/rownumber.pipe.mjs +0 -26
  171. package/esm2022/lib/pipes/sanitize-text.pipe.mjs +0 -21
  172. package/esm2022/lib/pipes/seperator-fix.pipe.mjs +0 -24
  173. package/esm2022/lib/pipes/sort.pipe.mjs +0 -49
  174. package/esm2022/lib/pipes/string-to-number.pipe.mjs +0 -26
  175. package/esm2022/lib/pipes/th-image-icon.pipe.mjs +0 -22
  176. package/esm2022/lib/pipes/tlbButtons.pipe.mjs +0 -60
  177. package/esm2022/lib/pipes/toolbar-settings.pipe.mjs +0 -27
  178. package/esm2022/lib/pipes/total-summary.pipe.mjs +0 -17
  179. package/esm2022/lib/pipes/tree-item-isexpanded.pipe.mjs +0 -26
  180. package/esm2022/lib/pipes/visible-value.pipe.mjs +0 -19
  181. package/esm2022/lib/portal-page/portal-page.component.mjs +0 -24
  182. package/esm2022/lib/portal-page/portal-sidebar.component.mjs +0 -37
  183. package/esm2022/lib/redirect-home-guard.mjs +0 -51
  184. package/esm2022/lib/redirect-report-navigator-command/redirect-report-navigator-command.component.mjs +0 -12
  185. package/esm2022/lib/report-container/report-container.component.mjs +0 -63
  186. package/esm2022/lib/resizable-module/resizable.component.mjs +0 -31
  187. package/esm2022/lib/resizable-module/resizable.directive.mjs +0 -42
  188. package/esm2022/lib/resizable-module/resizable.module.mjs +0 -17
  189. package/esm2022/lib/resolvers/index.mjs +0 -7
  190. package/esm2022/lib/resolvers/login-settings.resolver.mjs +0 -18
  191. package/esm2022/lib/resolvers/portal-dynamic-page.resolver.mjs +0 -49
  192. package/esm2022/lib/resolvers/portal-form-page.resolver.mjs +0 -18
  193. package/esm2022/lib/resolvers/portal-page.resolver.mjs +0 -30
  194. package/esm2022/lib/resolvers/portal-report-page.resolver.mjs +0 -37
  195. package/esm2022/lib/resolvers/tile-group-breadcrumb.resolver.mjs +0 -30
  196. package/esm2022/lib/root-page/root-page.component.mjs +0 -21
  197. package/esm2022/lib/root-portal/root-portal.component.mjs +0 -236
  198. package/esm2022/lib/server-connection-error/server-connection-error.component.mjs +0 -19
  199. package/esm2022/lib/services/api.service.mjs +0 -63
  200. package/esm2022/lib/services/audio-recording.service.mjs +0 -95
  201. package/esm2022/lib/services/barsa-dialog.service.mjs +0 -80
  202. package/esm2022/lib/services/barsa-storage.service.mjs +0 -78
  203. package/esm2022/lib/services/breadcrumb.service.mjs +0 -64
  204. package/esm2022/lib/services/column.service.mjs +0 -20
  205. package/esm2022/lib/services/container.service.mjs +0 -69
  206. package/esm2022/lib/services/dynamic-component.service.mjs +0 -55
  207. package/esm2022/lib/services/form-panel.service.mjs +0 -394
  208. package/esm2022/lib/services/form.service.mjs +0 -14
  209. package/esm2022/lib/services/groupby.service.mjs +0 -21
  210. package/esm2022/lib/services/horizontal-layout.service.mjs +0 -16
  211. package/esm2022/lib/services/index.mjs +0 -32
  212. package/esm2022/lib/services/indexeddb.service.mjs +0 -34
  213. package/esm2022/lib/services/layout-main-content.service.mjs +0 -19
  214. package/esm2022/lib/services/layout.service.mjs +0 -42
  215. package/esm2022/lib/services/local-storage.service.mjs +0 -32
  216. package/esm2022/lib/services/log.service.mjs +0 -50
  217. package/esm2022/lib/services/network-status.service.mjs +0 -15
  218. package/esm2022/lib/services/notification-popup.service.mjs +0 -2
  219. package/esm2022/lib/services/notification-sw.service.mjs +0 -180
  220. package/esm2022/lib/services/notification.service.mjs +0 -189
  221. package/esm2022/lib/services/portal.service.mjs +0 -950
  222. package/esm2022/lib/services/prompt-update.service.mjs +0 -56
  223. package/esm2022/lib/services/routing.service.mjs +0 -60
  224. package/esm2022/lib/services/save-scoll-position.service.mjs +0 -29
  225. package/esm2022/lib/services/service-worker-communication.service.mjs +0 -120
  226. package/esm2022/lib/services/tabpage.service.mjs +0 -13
  227. package/esm2022/lib/services/toast.service.mjs +0 -2
  228. package/esm2022/lib/services/ui.service.mjs +0 -23
  229. package/esm2022/lib/services/ulvmain.service.mjs +0 -824
  230. package/esm2022/lib/services/upload.service.mjs +0 -166
  231. package/esm2022/lib/services/video-recording.service.mjs +0 -115
  232. package/esm2022/lib/unlimit-session/unlimit-session.component.mjs +0 -40
  233. package/esm2022/public-api.mjs +0 -42
@@ -1,78 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BarsaApi } from '../abstract-classes/barsa-api';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./log.service";
5
- import * as i2 from "./local-storage.service";
6
- import * as i3 from "./indexeddb.service";
7
- export class BarsaStorageService {
8
- constructor(_logService, _localStorageService, _indexedDbService) {
9
- this._logService = _logService;
10
- this._localStorageService = _localStorageService;
11
- this._indexedDbService = _indexedDbService;
12
- this.STARTUP_DATA_KEY = 'STARTUP_DATA';
13
- this.DBNAME_KEY = 'BARSA_DB';
14
- this.DBNAME_VERSION_KEY = `${this.DBNAME_KEY}_VERSION`;
15
- this.BAZAVARI_VERSION_KEY = `BAZAVARI_VERSION`;
16
- }
17
- get currentBazavariVersion() {
18
- return BarsaApi.LoginFormData.ChangeKeyVersion;
19
- }
20
- interceptXhr() {
21
- const origOpen = XMLHttpRequest.prototype.open;
22
- const logService = this._logService;
23
- // const isAnonymous = BarsaApi.LoginFormData.IsAnonymous;
24
- // const startupData = JSON.stringify(BarsaApi.LoginFormData);
25
- // localStorage.setItem(this.STARTUP_DATA_KEY, startupData);
26
- // const me = this;
27
- return;
28
- XMLHttpRequest.prototype.open = function (method, url, async, username, password) {
29
- // console.log('request started!');
30
- // if(isAnonymous){
31
- // var responseText=me._indexedDbService.get(url);
32
- // if(responseText){
33
- // }
34
- // return;
35
- // }
36
- this.addEventListener('load', function () {
37
- // console.log('request completed!');
38
- // console.log(this.readyState); // will always be 4 (ajax is completed successfully)
39
- // console.log(this.responseText); // whatever the response was
40
- if (this.status === 401 && BarsaApi.LoginFormData.succeed !== false) {
41
- logService.info(`unauthorized ${this.status}`);
42
- // console.log('clear localstorage');
43
- // localStorage.clear();
44
- }
45
- });
46
- origOpen.call(this, method, url, async === false ? false : true, username, password);
47
- };
48
- }
49
- init() {
50
- this.interceptXhr();
51
- const localStorage = this._localStorageService;
52
- const db_version = localStorage.getItem(this.DBNAME_VERSION_KEY);
53
- const bazavari_version = localStorage.getItem(this.BAZAVARI_VERSION_KEY);
54
- let dbVer = 0;
55
- dbVer = Number.parseInt(db_version ?? '0', 10);
56
- if (isNaN(dbVer) || !db_version) {
57
- this.deleteDatabase();
58
- }
59
- if (bazavari_version !== this.currentBazavariVersion) {
60
- dbVer++;
61
- }
62
- localStorage.setItem(this.DBNAME_VERSION_KEY, dbVer.toString());
63
- localStorage.setItem(this.BAZAVARI_VERSION_KEY, this.currentBazavariVersion);
64
- this.openDatabase(dbVer);
65
- }
66
- deleteDatabase() {
67
- this._indexedDbService.delete(this.DBNAME_KEY);
68
- }
69
- openDatabase(version) {
70
- this._indexedDbService.open(this.DBNAME_KEY, version);
71
- }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaStorageService, deps: [{ token: i1.LogService }, { token: i2.LocalStorageService }, { token: i3.IndexedDbService }], target: i0.ɵɵFactoryTarget.Injectable }); }
73
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaStorageService }); }
74
- }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaStorageService, decorators: [{
76
- type: Injectable
77
- }], ctorParameters: () => [{ type: i1.LogService }, { type: i2.LocalStorageService }, { type: i3.IndexedDbService }] });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2Etc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9iYXJzYS1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7O0FBR3pELE1BQU0sT0FBTyxtQkFBbUI7SUFLNUIsWUFDWSxXQUF1QixFQUN2QixvQkFBeUMsRUFDekMsaUJBQW1DO1FBRm5DLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDekMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQVAvQyxxQkFBZ0IsR0FBRyxjQUFjLENBQUM7UUFDbEMsZUFBVSxHQUFHLFVBQVUsQ0FBQztRQUN4Qix1QkFBa0IsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLFVBQVUsQ0FBQztRQUNsRCx5QkFBb0IsR0FBRyxrQkFBa0IsQ0FBQztJQUt2QyxDQUFDO0lBQ0osSUFBYyxzQkFBc0I7UUFDaEMsT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDO0lBQ25ELENBQUM7SUFDRCxZQUFZO1FBQ1IsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDL0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNwQywwREFBMEQ7UUFDMUQsOERBQThEO1FBQzlELDREQUE0RDtRQUM1RCxtQkFBbUI7UUFDbkIsT0FBTztRQUNQLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLFVBQzVCLE1BQWMsRUFDZCxHQUFpQixFQUNqQixLQUFlLEVBQ2YsUUFBd0IsRUFDeEIsUUFBd0I7WUFFeEIsbUNBQW1DO1lBQ25DLG1CQUFtQjtZQUNuQixzREFBc0Q7WUFDdEQsd0JBQXdCO1lBRXhCLFFBQVE7WUFDUixjQUFjO1lBQ2QsSUFBSTtZQUNKLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7Z0JBQzFCLHdDQUF3QztnQkFDeEMsdUZBQXVGO2dCQUN2RiwrREFBK0Q7Z0JBQy9ELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEtBQUssS0FBSyxFQUFFLENBQUM7b0JBQ2xFLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUMvQyxxQ0FBcUM7b0JBQ3JDLHdCQUF3QjtnQkFDNUIsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDekYsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUNELElBQUk7UUFDQSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBRS9DLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDakUsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3pFLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0MsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksZ0JBQWdCLEtBQUssSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDbkQsS0FBSyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDaEUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsY0FBYztRQUNWLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFDRCxZQUFZLENBQUMsT0FBZTtRQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUQsQ0FBQzsrR0F4RVEsbUJBQW1CO21IQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEluZGV4ZWREYlNlcnZpY2UgfSBmcm9tICcuL2luZGV4ZWRkYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFyc2FBcGkgfSBmcm9tICcuLi9hYnN0cmFjdC1jbGFzc2VzL2JhcnNhLWFwaSc7XHJcbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuL2xvZy5zZXJ2aWNlJztcclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQmFyc2FTdG9yYWdlU2VydmljZSB7XHJcbiAgICBTVEFSVFVQX0RBVEFfS0VZID0gJ1NUQVJUVVBfREFUQSc7XHJcbiAgICBEQk5BTUVfS0VZID0gJ0JBUlNBX0RCJztcclxuICAgIERCTkFNRV9WRVJTSU9OX0tFWSA9IGAke3RoaXMuREJOQU1FX0tFWX1fVkVSU0lPTmA7XHJcbiAgICBCQVpBVkFSSV9WRVJTSU9OX0tFWSA9IGBCQVpBVkFSSV9WRVJTSU9OYDtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgX2xvZ1NlcnZpY2U6IExvZ1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfbG9jYWxTdG9yYWdlU2VydmljZTogTG9jYWxTdG9yYWdlU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9pbmRleGVkRGJTZXJ2aWNlOiBJbmRleGVkRGJTZXJ2aWNlXHJcbiAgICApIHt9XHJcbiAgICBwcm90ZWN0ZWQgZ2V0IGN1cnJlbnRCYXphdmFyaVZlcnNpb24oKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5DaGFuZ2VLZXlWZXJzaW9uO1xyXG4gICAgfVxyXG4gICAgaW50ZXJjZXB0WGhyKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IG9yaWdPcGVuID0gWE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLm9wZW47XHJcbiAgICAgICAgY29uc3QgbG9nU2VydmljZSA9IHRoaXMuX2xvZ1NlcnZpY2U7XHJcbiAgICAgICAgLy8gY29uc3QgaXNBbm9ueW1vdXMgPSBCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzQW5vbnltb3VzO1xyXG4gICAgICAgIC8vIGNvbnN0IHN0YXJ0dXBEYXRhID0gSlNPTi5zdHJpbmdpZnkoQmFyc2FBcGkuTG9naW5Gb3JtRGF0YSk7XHJcbiAgICAgICAgLy8gbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5TVEFSVFVQX0RBVEFfS0VZLCBzdGFydHVwRGF0YSk7XHJcbiAgICAgICAgLy8gY29uc3QgbWUgPSB0aGlzO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgICBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUub3BlbiA9IGZ1bmN0aW9uIChcclxuICAgICAgICAgICAgbWV0aG9kOiBzdHJpbmcsXHJcbiAgICAgICAgICAgIHVybDogc3RyaW5nIHwgVVJMLFxyXG4gICAgICAgICAgICBhc3luYz86IGJvb2xlYW4sXHJcbiAgICAgICAgICAgIHVzZXJuYW1lPzogc3RyaW5nIHwgbnVsbCxcclxuICAgICAgICAgICAgcGFzc3dvcmQ/OiBzdHJpbmcgfCBudWxsXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdyZXF1ZXN0IHN0YXJ0ZWQhJyk7XHJcbiAgICAgICAgICAgIC8vIGlmKGlzQW5vbnltb3VzKXtcclxuICAgICAgICAgICAgLy8gICAgIHZhciByZXNwb25zZVRleHQ9bWUuX2luZGV4ZWREYlNlcnZpY2UuZ2V0KHVybCk7XHJcbiAgICAgICAgICAgIC8vICAgICBpZihyZXNwb25zZVRleHQpe1xyXG5cclxuICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgLy8gICAgIHJldHVybjtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICBjb25zb2xlLmxvZygncmVxdWVzdCBjb21wbGV0ZWQhJyk7XHJcbiAgICAgICAgICAgICAgICAvLyAgIGNvbnNvbGUubG9nKHRoaXMucmVhZHlTdGF0ZSk7IC8vIHdpbGwgYWx3YXlzIGJlIDQgKGFqYXggaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSlcclxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMucmVzcG9uc2VUZXh0KTsgLy8gd2hhdGV2ZXIgdGhlIHJlc3BvbnNlIHdhc1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc3RhdHVzID09PSA0MDEgJiYgQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5zdWNjZWVkICE9PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxvZ1NlcnZpY2UuaW5mbyhgdW5hdXRob3JpemVkICR7dGhpcy5zdGF0dXN9YCk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ2NsZWFyIGxvY2Fsc3RvcmFnZScpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgb3JpZ09wZW4uY2FsbCh0aGlzLCBtZXRob2QsIHVybCwgYXN5bmMgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlLCB1c2VybmFtZSwgcGFzc3dvcmQpO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaW50ZXJjZXB0WGhyKCk7XHJcbiAgICAgICAgY29uc3QgbG9jYWxTdG9yYWdlID0gdGhpcy5fbG9jYWxTdG9yYWdlU2VydmljZTtcclxuXHJcbiAgICAgICAgY29uc3QgZGJfdmVyc2lvbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuREJOQU1FX1ZFUlNJT05fS0VZKTtcclxuICAgICAgICBjb25zdCBiYXphdmFyaV92ZXJzaW9uID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5CQVpBVkFSSV9WRVJTSU9OX0tFWSk7XHJcbiAgICAgICAgbGV0IGRiVmVyID0gMDtcclxuICAgICAgICBkYlZlciA9IE51bWJlci5wYXJzZUludChkYl92ZXJzaW9uID8/ICcwJywgMTApO1xyXG4gICAgICAgIGlmIChpc05hTihkYlZlcikgfHwgIWRiX3ZlcnNpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5kZWxldGVEYXRhYmFzZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoYmF6YXZhcmlfdmVyc2lvbiAhPT0gdGhpcy5jdXJyZW50QmF6YXZhcmlWZXJzaW9uKSB7XHJcbiAgICAgICAgICAgIGRiVmVyKys7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuREJOQU1FX1ZFUlNJT05fS0VZLCBkYlZlci50b1N0cmluZygpKTtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLkJBWkFWQVJJX1ZFUlNJT05fS0VZLCB0aGlzLmN1cnJlbnRCYXphdmFyaVZlcnNpb24pO1xyXG4gICAgICAgIHRoaXMub3BlbkRhdGFiYXNlKGRiVmVyKTtcclxuICAgIH1cclxuICAgIGRlbGV0ZURhdGFiYXNlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2luZGV4ZWREYlNlcnZpY2UuZGVsZXRlKHRoaXMuREJOQU1FX0tFWSk7XHJcbiAgICB9XHJcbiAgICBvcGVuRGF0YWJhc2UodmVyc2lvbjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5faW5kZXhlZERiU2VydmljZS5vcGVuKHRoaXMuREJOQU1FX0tFWSwgdmVyc2lvbik7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,64 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { NavigationEnd } from '@angular/router';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { filter, map, startWith } from 'rxjs/operators';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/router";
7
- export class BreadcrumbService {
8
- constructor(router) {
9
- this.router = router;
10
- // Subject emitting the breadcrumb hierarchy
11
- this._breadcrumbs$ = new BehaviorSubject([]);
12
- this.breadcrumbs$ = this._breadcrumbs$.asObservable();
13
- this.router.events
14
- .pipe(
15
- // Filter the NavigationEnd events as the breadcrumb is updated only when the route reaches its end
16
- filter((event) => event instanceof NavigationEnd), startWith(this.router), map(() => this.router.routerState.root))
17
- .subscribe((root) => {
18
- // Construct the breadcrumb hierarchy
19
- // const root = this.router.routerState.snapshot.root;
20
- const breadcrumbs = [];
21
- this.addBreadcrumb(root, breadcrumbs);
22
- // Emit the new hierarchy
23
- this._breadcrumbs$.next(breadcrumbs);
24
- });
25
- }
26
- addBreadcrumb(route, breadcrumbs) {
27
- if (route) {
28
- // Add an element for the current route part
29
- if (route.snapshot.data?.breadcrumb || route.snapshot.data?.pageData?.BreadCrumb) {
30
- let url = '';
31
- const routeURL = route.snapshot.url
32
- .map((segment) => `${segment.path}${segment.parameters
33
- ? `;${Object.keys(segment.parameters).map((c) => `${c}=${segment.parameters[c]}`)}`
34
- : ''}`)
35
- .join('/');
36
- if (routeURL !== '') {
37
- url += `/${routeURL}`;
38
- }
39
- const breadcrumb = {
40
- label: this.getLabel(route.snapshot.data),
41
- url,
42
- route
43
- };
44
- breadcrumbs.push(breadcrumb);
45
- }
46
- // Add another element for the next route part
47
- this.addBreadcrumb(route.firstChild, breadcrumbs);
48
- }
49
- }
50
- getLabel(data) {
51
- // The breadcrumb can be defined as a static string or as a function to construct the breadcrumb element out of the route data
52
- const breadcrumb = data.breadcrumb || data.pageData.BreadCrumb;
53
- return typeof breadcrumb === 'function' ? data.breadcrumb(data) : breadcrumb;
54
- }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreadcrumbService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
56
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreadcrumbService, providedIn: 'root' }); }
57
- }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BreadcrumbService, decorators: [{
59
- type: Injectable,
60
- args: [{
61
- providedIn: 'root'
62
- }]
63
- }], ctorParameters: () => [{ type: i1.Router }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9icmVhZGNydW1iLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXdCLGFBQWEsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU14RCxNQUFNLE9BQU8saUJBQWlCO0lBTzFCLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBSGxDLDRDQUE0QztRQUMzQixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFtQixFQUFFLENBQUMsQ0FBQztRQUd2RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2FBQ2IsSUFBSTtRQUNELG1HQUFtRztRQUNuRyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssWUFBWSxhQUFhLENBQUMsRUFDakQsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFDdEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUMxQzthQUNBLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hCLHFDQUFxQztZQUNyQyxzREFBc0Q7WUFDdEQsTUFBTSxXQUFXLEdBQXFCLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztZQUV0Qyx5QkFBeUI7WUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQTRCLEVBQUUsV0FBNkI7UUFDN0UsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLDRDQUE0QztZQUM1QyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUM7Z0JBQy9FLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztnQkFDYixNQUFNLFFBQVEsR0FBVyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUc7cUJBQ3RDLEdBQUcsQ0FDQSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ1IsR0FBRyxPQUFPLENBQUMsSUFBSSxHQUNYLE9BQU8sQ0FBQyxVQUFVO29CQUNkLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7b0JBQ25GLENBQUMsQ0FBQyxFQUNWLEVBQUUsQ0FDVDtxQkFDQSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2YsSUFBSSxRQUFRLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQ2xCLEdBQUcsSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUMxQixDQUFDO2dCQUNELE1BQU0sVUFBVSxHQUFHO29CQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO29CQUN6QyxHQUFHO29CQUNILEtBQUs7aUJBQ1IsQ0FBQztnQkFDRixXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7WUFDRCw4Q0FBOEM7WUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDTCxDQUFDO0lBRU8sUUFBUSxDQUFDLElBQVU7UUFDdkIsOEhBQThIO1FBQzlILE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7UUFFL0QsT0FBTyxPQUFPLFVBQVUsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUNqRixDQUFDOytHQTlEUSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQUZkLE1BQU07OzRGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBEYXRhLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQnJlYWRDcnVtYkluZm8gfSBmcm9tICcuL3BvcnRhbC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYlNlcnZpY2Uge1xyXG4gICAgLy8gT2JzZXJ2YWJsZSBleHBvc2luZyB0aGUgYnJlYWRjcnVtYiBoaWVyYXJjaHlcclxuICAgIHJlYWRvbmx5IGJyZWFkY3J1bWJzJDogT2JzZXJ2YWJsZTxCcmVhZENydW1iSW5mb1tdPjtcclxuXHJcbiAgICAvLyBTdWJqZWN0IGVtaXR0aW5nIHRoZSBicmVhZGNydW1iIGhpZXJhcmNoeVxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYnJlYWRjcnVtYnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCcmVhZENydW1iSW5mb1tdPihbXSk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xyXG4gICAgICAgIHRoaXMuYnJlYWRjcnVtYnMkID0gdGhpcy5fYnJlYWRjcnVtYnMkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50c1xyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIC8vIEZpbHRlciB0aGUgTmF2aWdhdGlvbkVuZCBldmVudHMgYXMgdGhlIGJyZWFkY3J1bWIgaXMgdXBkYXRlZCBvbmx5IHdoZW4gdGhlIHJvdXRlIHJlYWNoZXMgaXRzIGVuZFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcclxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLnJvdXRlciksXHJcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUucm9vdClcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyb290KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyBDb25zdHJ1Y3QgdGhlIGJyZWFkY3J1bWIgaGllcmFyY2h5XHJcbiAgICAgICAgICAgICAgICAvLyBjb25zdCByb290ID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3Qucm9vdDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGJyZWFkY3J1bWJzOiBCcmVhZENydW1iSW5mb1tdID0gW107XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFkZEJyZWFkY3J1bWIocm9vdCwgYnJlYWRjcnVtYnMpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIEVtaXQgdGhlIG5ldyBoaWVyYXJjaHlcclxuICAgICAgICAgICAgICAgIHRoaXMuX2JyZWFkY3J1bWJzJC5uZXh0KGJyZWFkY3J1bWJzKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhZGRCcmVhZGNydW1iKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSB8IG51bGwsIGJyZWFkY3J1bWJzOiBCcmVhZENydW1iSW5mb1tdKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHJvdXRlKSB7XHJcbiAgICAgICAgICAgIC8vIEFkZCBhbiBlbGVtZW50IGZvciB0aGUgY3VycmVudCByb3V0ZSBwYXJ0XHJcbiAgICAgICAgICAgIGlmIChyb3V0ZS5zbmFwc2hvdC5kYXRhPy5icmVhZGNydW1iIHx8IHJvdXRlLnNuYXBzaG90LmRhdGE/LnBhZ2VEYXRhPy5CcmVhZENydW1iKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgdXJsID0gJyc7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByb3V0ZVVSTDogc3RyaW5nID0gcm91dGUuc25hcHNob3QudXJsXHJcbiAgICAgICAgICAgICAgICAgICAgLm1hcChcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHNlZ21lbnQpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtzZWdtZW50LnBhdGh9JHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWdtZW50LnBhcmFtZXRlcnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBgOyR7T2JqZWN0LmtleXMoc2VnbWVudC5wYXJhbWV0ZXJzKS5tYXAoKGMpID0+IGAke2N9PSR7c2VnbWVudC5wYXJhbWV0ZXJzW2NdfWApfWBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfWBcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJy8nKTtcclxuICAgICAgICAgICAgICAgIGlmIChyb3V0ZVVSTCAhPT0gJycpIHtcclxuICAgICAgICAgICAgICAgICAgICB1cmwgKz0gYC8ke3JvdXRlVVJMfWA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zdCBicmVhZGNydW1iID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmdldExhYmVsKHJvdXRlLnNuYXBzaG90LmRhdGEpLFxyXG4gICAgICAgICAgICAgICAgICAgIHVybCxcclxuICAgICAgICAgICAgICAgICAgICByb3V0ZVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIGJyZWFkY3J1bWJzLnB1c2goYnJlYWRjcnVtYik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gQWRkIGFub3RoZXIgZWxlbWVudCBmb3IgdGhlIG5leHQgcm91dGUgcGFydFxyXG4gICAgICAgICAgICB0aGlzLmFkZEJyZWFkY3J1bWIocm91dGUuZmlyc3RDaGlsZCwgYnJlYWRjcnVtYnMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldExhYmVsKGRhdGE6IERhdGEpOiBzdHJpbmcge1xyXG4gICAgICAgIC8vIFRoZSBicmVhZGNydW1iIGNhbiBiZSBkZWZpbmVkIGFzIGEgc3RhdGljIHN0cmluZyBvciBhcyBhIGZ1bmN0aW9uIHRvIGNvbnN0cnVjdCB0aGUgYnJlYWRjcnVtYiBlbGVtZW50IG91dCBvZiB0aGUgcm91dGUgZGF0YVxyXG4gICAgICAgIGNvbnN0IGJyZWFkY3J1bWIgPSBkYXRhLmJyZWFkY3J1bWIgfHwgZGF0YS5wYWdlRGF0YS5CcmVhZENydW1iO1xyXG5cclxuICAgICAgICByZXR1cm4gdHlwZW9mIGJyZWFkY3J1bWIgPT09ICdmdW5jdGlvbicgPyBkYXRhLmJyZWFkY3J1bWIoZGF0YSkgOiBicmVhZGNydW1iO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,20 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class ColumnService {
5
- get uiControlRendered() {
6
- return this._uiControlRendered.asObservable();
7
- }
8
- constructor() {
9
- this._uiControlRendered = new Subject();
10
- }
11
- controlRendered() {
12
- this._uiControlRendered.next();
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
15
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnService }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnService, decorators: [{
18
- type: Injectable
19
- }], ctorParameters: () => [] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3NlcnZpY2VzL2NvbHVtbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLGFBQWE7SUFFdEIsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUNEO1FBSlEsdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUlsQyxDQUFDO0lBQ2hCLGVBQWU7UUFDWCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkMsQ0FBQzsrR0FSUSxhQUFhO21IQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb2x1bW5TZXJ2aWNlIHtcbiAgICBwcml2YXRlIF91aUNvbnRyb2xSZW5kZXJlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgZ2V0IHVpQ29udHJvbFJlbmRlcmVkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdWlDb250cm9sUmVuZGVyZWQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKCkge31cbiAgICBjb250cm9sUmVuZGVyZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3VpQ29udHJvbFJlbmRlcmVkLm5leHQoKTtcbiAgICB9XG59XG4iXX0=
@@ -1,69 +0,0 @@
1
- import { inject, Injectable, Optional, SkipSelf, ElementRef } from '@angular/core';
2
- import { ActivatedRoute } from '@angular/router';
3
- import * as i0 from "@angular/core";
4
- export class ContainerService {
5
- constructor(_parentService) {
6
- this._parentService = _parentService;
7
- this.detachParent = true;
8
- this.oldActiveSystem = null;
9
- this._activatedRoute = inject(ActivatedRoute);
10
- this._scrollTop = 0;
11
- this._el = inject(ElementRef);
12
- // console.log(this);
13
- }
14
- ngOnDestroy() {
15
- if (this._parentService && this.detachParent) {
16
- this._parentService.insert();
17
- }
18
- }
19
- setViewContainerRef(viewContainerRef) {
20
- this._viewContainerRef = viewContainerRef;
21
- if (this._parentService && this.detachParent) {
22
- this._parentService.detach();
23
- }
24
- }
25
- detach() {
26
- this._setScrollPosition();
27
- this._viewRef = this._viewContainerRef.detach();
28
- }
29
- _setScrollPosition() {
30
- const elDom = this._el.nativeElement;
31
- if (elDom) {
32
- const x1 = elDom.querySelector('fd-dynamic-page-content');
33
- const x2 = elDom.querySelector('.fd-scrollbar[fd-scrollbar]');
34
- const scrollTopPage = x1?.scrollTop;
35
- const scrollTopScrollbar = x2?.scrollTop;
36
- if (scrollTopPage && scrollTopPage > 0) {
37
- this._scrollTop = scrollTopPage;
38
- this._elDomScrollbar = x1;
39
- }
40
- else if (scrollTopScrollbar && scrollTopScrollbar > 0) {
41
- this._scrollTop = scrollTopScrollbar;
42
- this._elDomScrollbar = x2;
43
- }
44
- }
45
- }
46
- _restoreScrollPostion() {
47
- if (this._scrollTop && this._scrollTop > 0) {
48
- if (this._elDomScrollbar) {
49
- this._elDomScrollbar.scrollTop = this._scrollTop;
50
- }
51
- }
52
- }
53
- insert() {
54
- if (this._viewRef) {
55
- this._viewContainerRef.insert(this._viewRef);
56
- this._restoreScrollPostion();
57
- }
58
- }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContainerService, deps: [{ token: ContainerService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
60
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContainerService }); }
61
- }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContainerService, decorators: [{
63
- type: Injectable
64
- }], ctorParameters: () => [{ type: ContainerService, decorators: [{
65
- type: SkipSelf
66
- }, {
67
- type: Optional
68
- }] }] });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3NlcnZpY2VzL2NvbnRhaW5lci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxNQUFNLEVBQ04sVUFBVSxFQUVWLFFBQVEsRUFDUixRQUFRLEVBR1IsVUFBVSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFakQsTUFBTSxPQUFPLGdCQUFnQjtJQVN6QixZQUE0QyxjQUFnQztRQUFoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUFOckUsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDM0Isb0JBQWUsR0FBZSxJQUFJLENBQUM7UUFDbkMsb0JBQWUsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekMsZUFBVSxHQUF1QixDQUFDLENBQUM7UUFFbkMsUUFBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVyQixxQkFBcUI7SUFDekIsQ0FBQztJQUNELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxnQkFBa0M7UUFDbEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDO1FBQzFDLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0lBQ0wsQ0FBQztJQUNPLE1BQU07UUFDVixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBQ0Qsa0JBQWtCO1FBQ2QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7UUFDckMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztZQUMxRCxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLDZCQUE2QixDQUFDLENBQUM7WUFDOUQsTUFBTSxhQUFhLEdBQUcsRUFBRSxFQUFFLFNBQVMsQ0FBQztZQUNwQyxNQUFNLGtCQUFrQixHQUFHLEVBQUUsRUFBRSxTQUFTLENBQUM7WUFDekMsSUFBSSxhQUFhLElBQUksYUFBYSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7WUFDOUIsQ0FBQztpQkFBTSxJQUFJLGtCQUFrQixJQUFJLGtCQUFrQixHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN0RCxJQUFJLENBQUMsVUFBVSxHQUFHLGtCQUFrQixDQUFDO2dCQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztZQUM5QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFDRCxxQkFBcUI7UUFDakIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDekMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDckQsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBQ08sTUFBTTtRQUNWLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2pDLENBQUM7SUFDTCxDQUFDOytHQXZEUSxnQkFBZ0I7bUhBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVTs7MEJBVU0sUUFBUTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBpbmplY3QsXHJcbiAgICBJbmplY3RhYmxlLFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT3B0aW9uYWwsXHJcbiAgICBTa2lwU2VsZixcclxuICAgIFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBWaWV3UmVmLFxyXG4gICAgRWxlbWVudFJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENvbnRhaW5lclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZjtcclxuICAgIHByaXZhdGUgX3ZpZXdSZWY6IFZpZXdSZWYgfCBudWxsO1xyXG4gICAgcHVibGljIGRldGFjaFBhcmVudCA9IHRydWU7XHJcbiAgICBvbGRBY3RpdmVTeXN0ZW06IGFueSB8IG51bGwgPSBudWxsO1xyXG4gICAgX2FjdGl2YXRlZFJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcclxuICAgIF9zY3JvbGxUb3A6IG51bWJlciB8IHVuZGVmaW5lZCA9IDA7XHJcbiAgICBfZWxEb21TY3JvbGxiYXI6IGFueTtcclxuICAgIF9lbCA9IGluamVjdChFbGVtZW50UmVmKTtcclxuICAgIGNvbnN0cnVjdG9yKEBTa2lwU2VsZigpIEBPcHRpb25hbCgpIHByaXZhdGUgX3BhcmVudFNlcnZpY2U6IENvbnRhaW5lclNlcnZpY2UpIHtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzKTtcclxuICAgIH1cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9wYXJlbnRTZXJ2aWNlICYmIHRoaXMuZGV0YWNoUGFyZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3BhcmVudFNlcnZpY2UuaW5zZXJ0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgc2V0Vmlld0NvbnRhaW5lclJlZih2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZiA9IHZpZXdDb250YWluZXJSZWY7XHJcbiAgICAgICAgaWYgKHRoaXMuX3BhcmVudFNlcnZpY2UgJiYgdGhpcy5kZXRhY2hQYXJlbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5fcGFyZW50U2VydmljZS5kZXRhY2goKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGRldGFjaCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zZXRTY3JvbGxQb3NpdGlvbigpO1xyXG4gICAgICAgIHRoaXMuX3ZpZXdSZWYgPSB0aGlzLl92aWV3Q29udGFpbmVyUmVmLmRldGFjaCgpO1xyXG4gICAgfVxyXG4gICAgX3NldFNjcm9sbFBvc2l0aW9uKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGVsRG9tID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudDtcclxuICAgICAgICBpZiAoZWxEb20pIHtcclxuICAgICAgICAgICAgY29uc3QgeDEgPSBlbERvbS5xdWVyeVNlbGVjdG9yKCdmZC1keW5hbWljLXBhZ2UtY29udGVudCcpO1xyXG4gICAgICAgICAgICBjb25zdCB4MiA9IGVsRG9tLnF1ZXJ5U2VsZWN0b3IoJy5mZC1zY3JvbGxiYXJbZmQtc2Nyb2xsYmFyXScpO1xyXG4gICAgICAgICAgICBjb25zdCBzY3JvbGxUb3BQYWdlID0geDE/LnNjcm9sbFRvcDtcclxuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsVG9wU2Nyb2xsYmFyID0geDI/LnNjcm9sbFRvcDtcclxuICAgICAgICAgICAgaWYgKHNjcm9sbFRvcFBhZ2UgJiYgc2Nyb2xsVG9wUGFnZSA+IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Njcm9sbFRvcCA9IHNjcm9sbFRvcFBhZ2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9lbERvbVNjcm9sbGJhciA9IHgxO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNjcm9sbFRvcFNjcm9sbGJhciAmJiBzY3JvbGxUb3BTY3JvbGxiYXIgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zY3JvbGxUb3AgPSBzY3JvbGxUb3BTY3JvbGxiYXI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9lbERvbVNjcm9sbGJhciA9IHgyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgX3Jlc3RvcmVTY3JvbGxQb3N0aW9uKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9zY3JvbGxUb3AgJiYgdGhpcy5fc2Nyb2xsVG9wID4gMCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fZWxEb21TY3JvbGxiYXIpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2VsRG9tU2Nyb2xsYmFyLnNjcm9sbFRvcCA9IHRoaXMuX3Njcm9sbFRvcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByaXZhdGUgaW5zZXJ0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl92aWV3UmVmKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYuaW5zZXJ0KHRoaXMuX3ZpZXdSZWYpO1xyXG4gICAgICAgICAgICB0aGlzLl9yZXN0b3JlU2Nyb2xsUG9zdGlvbigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,55 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { of } from 'rxjs';
3
- import { NotFoundComponent } from '../not-found/not-found.component';
4
- import * as i0 from "@angular/core";
5
- export class DynamicComponentService {
6
- constructor(cfr) {
7
- this.cfr = cfr;
8
- this._dynamicModuleWithComponents = {};
9
- }
10
- addModuleWithComponents(moduleName, ngModuleRef) {
11
- if (!this._dynamicModuleWithComponents[moduleName]) {
12
- this._dynamicModuleWithComponents[moduleName] = {
13
- ngModuleRef
14
- };
15
- }
16
- }
17
- getComponentBySelector(selector, moduleName, injector) {
18
- const moName = moduleName + 'Module';
19
- const module = this._dynamicModuleWithComponents[moName];
20
- if (module && module.ngModuleRef.getComponentFactory) {
21
- const componentFactory = module.ngModuleRef.getComponentFactory(selector);
22
- if (componentFactory) {
23
- return of(componentFactory.create(injector));
24
- }
25
- }
26
- const componentRef = this.cfr.resolveComponentFactory(NotFoundComponent).create(injector);
27
- componentRef.instance.componentName = selector;
28
- componentRef.instance.moduleName = moduleName;
29
- return of(componentRef);
30
- }
31
- getComponentByName(componentName, moduleName, injector) {
32
- const cmpName = componentName + 'Component';
33
- const moName = moduleName + 'Module';
34
- const module = this._dynamicModuleWithComponents[moName];
35
- if (module && module.ngModuleRef.getComponentFactory) {
36
- const componentFactory = module.ngModuleRef.getComponentFactory(cmpName);
37
- if (componentFactory) {
38
- return of(componentFactory.create(injector));
39
- }
40
- }
41
- const componentRef = this.cfr.resolveComponentFactory(NotFoundComponent).create(injector);
42
- componentRef.instance.componentName = componentName;
43
- componentRef.instance.moduleName = moduleName;
44
- return of(componentRef);
45
- }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicComponentService, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable }); }
47
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicComponentService, providedIn: 'root' }); }
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicComponentService, decorators: [{
50
- type: Injectable,
51
- args: [{
52
- providedIn: 'root'
53
- }]
54
- }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvc2VydmljZXMvZHluYW1pYy1jb21wb25lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFvRCxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUtyRSxNQUFNLE9BQU8sdUJBQXVCO0lBTWhDLFlBQW9CLEdBQTZCO1FBQTdCLFFBQUcsR0FBSCxHQUFHLENBQTBCO1FBTHpDLGlDQUE0QixHQUloQyxFQUFFLENBQUM7SUFDNkMsQ0FBQztJQUNyRCx1QkFBdUIsQ0FBQyxVQUFrQixFQUFFLFdBQWdCO1FBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsNEJBQTRCLENBQUMsVUFBVSxDQUFDLEdBQUc7Z0JBQzVDLFdBQVc7YUFDZCxDQUFDO1FBQ04sQ0FBQztJQUNMLENBQUM7SUFDRCxzQkFBc0IsQ0FDbEIsUUFBZ0IsRUFDaEIsVUFBa0IsRUFDbEIsUUFBa0I7UUFFbEIsTUFBTSxNQUFNLEdBQUcsVUFBVSxHQUFHLFFBQVEsQ0FBQztRQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekQsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ25ELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxRSxJQUFJLGdCQUFnQixFQUFFLENBQUM7Z0JBQ25CLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ2pELENBQUM7UUFDTCxDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxRixZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7UUFDL0MsWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzlDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxrQkFBa0IsQ0FDZCxhQUFxQixFQUNyQixVQUFrQixFQUNsQixRQUFrQjtRQUVsQixNQUFNLE9BQU8sR0FBRyxhQUFhLEdBQUcsV0FBVyxDQUFDO1FBQzVDLE1BQU0sTUFBTSxHQUFHLFVBQVUsR0FBRyxRQUFRLENBQUM7UUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUNuRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekUsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNuQixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNqRCxDQUFDO1FBQ0wsQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUYsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ3BELFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM5QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM1QixDQUFDOytHQWxEUSx1QkFBdUI7bUhBQXZCLHVCQUF1QixjQUZwQixNQUFNOzs0RkFFVCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIENvbXBvbmVudFJlZiwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE5vdEZvdW5kQ29tcG9uZW50IH0gZnJvbSAnLi4vbm90LWZvdW5kL25vdC1mb3VuZC5jb21wb25lbnQnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljQ29tcG9uZW50U2VydmljZSB7XHJcbiAgICBwcml2YXRlIF9keW5hbWljTW9kdWxlV2l0aENvbXBvbmVudHM6IHtcclxuICAgICAgICBba2V5OiBzdHJpbmddOiB7XHJcbiAgICAgICAgICAgIG5nTW9kdWxlUmVmOiBhbnk7XHJcbiAgICAgICAgfTtcclxuICAgIH0gPSB7fTtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2ZyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHt9XHJcbiAgICBhZGRNb2R1bGVXaXRoQ29tcG9uZW50cyhtb2R1bGVOYW1lOiBzdHJpbmcsIG5nTW9kdWxlUmVmOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2R5bmFtaWNNb2R1bGVXaXRoQ29tcG9uZW50c1ttb2R1bGVOYW1lXSkge1xyXG4gICAgICAgICAgICB0aGlzLl9keW5hbWljTW9kdWxlV2l0aENvbXBvbmVudHNbbW9kdWxlTmFtZV0gPSB7XHJcbiAgICAgICAgICAgICAgICBuZ01vZHVsZVJlZlxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldENvbXBvbmVudEJ5U2VsZWN0b3IoXHJcbiAgICAgICAgc2VsZWN0b3I6IHN0cmluZyxcclxuICAgICAgICBtb2R1bGVOYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgICApOiBPYnNlcnZhYmxlPENvbXBvbmVudFJlZjx1bmtub3duPj4ge1xyXG4gICAgICAgIGNvbnN0IG1vTmFtZSA9IG1vZHVsZU5hbWUgKyAnTW9kdWxlJztcclxuICAgICAgICBjb25zdCBtb2R1bGUgPSB0aGlzLl9keW5hbWljTW9kdWxlV2l0aENvbXBvbmVudHNbbW9OYW1lXTtcclxuICAgICAgICBpZiAobW9kdWxlICYmIG1vZHVsZS5uZ01vZHVsZVJlZi5nZXRDb21wb25lbnRGYWN0b3J5KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSBtb2R1bGUubmdNb2R1bGVSZWYuZ2V0Q29tcG9uZW50RmFjdG9yeShzZWxlY3Rvcik7XHJcbiAgICAgICAgICAgIGlmIChjb21wb25lbnRGYWN0b3J5KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoY29tcG9uZW50RmFjdG9yeS5jcmVhdGUoaW5qZWN0b3IpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNmci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShOb3RGb3VuZENvbXBvbmVudCkuY3JlYXRlKGluamVjdG9yKTtcclxuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY29tcG9uZW50TmFtZSA9IHNlbGVjdG9yO1xyXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5tb2R1bGVOYW1lID0gbW9kdWxlTmFtZTtcclxuICAgICAgICByZXR1cm4gb2YoY29tcG9uZW50UmVmKTtcclxuICAgIH1cclxuICAgIGdldENvbXBvbmVudEJ5TmFtZShcclxuICAgICAgICBjb21wb25lbnROYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgbW9kdWxlTmFtZTogc3RyaW5nLFxyXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvclxyXG4gICAgKTogT2JzZXJ2YWJsZTxDb21wb25lbnRSZWY8dW5rbm93bj4+IHtcclxuICAgICAgICBjb25zdCBjbXBOYW1lID0gY29tcG9uZW50TmFtZSArICdDb21wb25lbnQnO1xyXG4gICAgICAgIGNvbnN0IG1vTmFtZSA9IG1vZHVsZU5hbWUgKyAnTW9kdWxlJztcclxuICAgICAgICBjb25zdCBtb2R1bGUgPSB0aGlzLl9keW5hbWljTW9kdWxlV2l0aENvbXBvbmVudHNbbW9OYW1lXTtcclxuICAgICAgICBpZiAobW9kdWxlICYmIG1vZHVsZS5uZ01vZHVsZVJlZi5nZXRDb21wb25lbnRGYWN0b3J5KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSBtb2R1bGUubmdNb2R1bGVSZWYuZ2V0Q29tcG9uZW50RmFjdG9yeShjbXBOYW1lKTtcclxuICAgICAgICAgICAgaWYgKGNvbXBvbmVudEZhY3RvcnkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBvZihjb21wb25lbnRGYWN0b3J5LmNyZWF0ZShpbmplY3RvcikpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY2ZyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KE5vdEZvdW5kQ29tcG9uZW50KS5jcmVhdGUoaW5qZWN0b3IpO1xyXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5jb21wb25lbnROYW1lID0gY29tcG9uZW50TmFtZTtcclxuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UubW9kdWxlTmFtZSA9IG1vZHVsZU5hbWU7XHJcbiAgICAgICAgcmV0dXJuIG9mKGNvbXBvbmVudFJlZik7XHJcbiAgICB9XHJcbn1cclxuIl19