barsa-novin-ray-core 2.0.135 → 2.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 (214) hide show
  1. package/fesm2022/barsa-novin-ray-core.mjs +818 -694
  2. package/fesm2022/barsa-novin-ray-core.mjs.map +1 -1
  3. package/lib/abstract-classes/form-base.d.ts +1 -0
  4. package/lib/abstract-classes/report-view-base.component.d.ts +2 -2
  5. package/lib/barsa-novin-ray-core.module.d.ts +5 -6
  6. package/lib/dynamic-component/base-view-props.d.ts +2 -2
  7. package/package.json +3 -5
  8. package/esm2022/barsa-novin-ray-core.mjs +0 -5
  9. package/esm2022/lib/abstract-classes/application-base.mjs +0 -24
  10. package/esm2022/lib/abstract-classes/barsa-api.mjs +0 -43
  11. package/esm2022/lib/abstract-classes/base-column-props.mjs +0 -84
  12. package/esm2022/lib/abstract-classes/base.component.mjs +0 -59
  13. package/esm2022/lib/abstract-classes/field-base.mjs +0 -232
  14. package/esm2022/lib/abstract-classes/files-validation-helper.mjs +0 -75
  15. package/esm2022/lib/abstract-classes/form-base.mjs +0 -156
  16. package/esm2022/lib/abstract-classes/form-field-report-page.component.mjs +0 -54
  17. package/esm2022/lib/abstract-classes/form-page-base.mjs +0 -129
  18. package/esm2022/lib/abstract-classes/form-page.component.mjs +0 -53
  19. package/esm2022/lib/abstract-classes/form-props.base.mjs +0 -97
  20. package/esm2022/lib/abstract-classes/form-toolbar-base.mjs +0 -56
  21. package/esm2022/lib/abstract-classes/index.mjs +0 -25
  22. package/esm2022/lib/abstract-classes/layout-item-base.mjs +0 -48
  23. package/esm2022/lib/abstract-classes/layout-panel-base.mjs +0 -63
  24. package/esm2022/lib/abstract-classes/linear-list-helper.mjs +0 -135
  25. package/esm2022/lib/abstract-classes/models.mjs +0 -184
  26. package/esm2022/lib/abstract-classes/module-with-dynamic-components.mjs +0 -2
  27. package/esm2022/lib/abstract-classes/number-base.mjs +0 -200
  28. package/esm2022/lib/abstract-classes/page-base.mjs +0 -97
  29. package/esm2022/lib/abstract-classes/page-with-form-handler-base.mjs +0 -40
  30. package/esm2022/lib/abstract-classes/report-base.mjs +0 -254
  31. package/esm2022/lib/abstract-classes/report-item-base.mjs +0 -53
  32. package/esm2022/lib/abstract-classes/report-view-base.component.mjs +0 -428
  33. package/esm2022/lib/abstract-classes/system-base.mjs +0 -24
  34. package/esm2022/lib/abstract-classes/tile-props.mjs +0 -46
  35. package/esm2022/lib/auth-guard.mjs +0 -48
  36. package/esm2022/lib/barsa-novin-ray-core-routing.module.mjs +0 -292
  37. package/esm2022/lib/barsa-novin-ray-core.module.mjs +0 -489
  38. package/esm2022/lib/base-ulv-setting.component.mjs +0 -45
  39. package/esm2022/lib/base.module.mjs +0 -28
  40. package/esm2022/lib/button-loading/button-loading.component.mjs +0 -18
  41. package/esm2022/lib/constants.mjs +0 -898
  42. package/esm2022/lib/container.component.mjs +0 -99
  43. package/esm2022/lib/controllers/base-controller.mjs +0 -30
  44. package/esm2022/lib/controllers/index.mjs +0 -5
  45. package/esm2022/lib/controllers/login-controller.mjs +0 -54
  46. package/esm2022/lib/controllers/login-verification-controller.mjs +0 -56
  47. package/esm2022/lib/controllers/models.mjs +0 -2
  48. package/esm2022/lib/custom-route-reuse-strategy.mjs +0 -32
  49. package/esm2022/lib/date-services/date-hijri.service.mjs +0 -146
  50. package/esm2022/lib/date-services/date-info.mjs +0 -2
  51. package/esm2022/lib/date-services/date-miladi.service.mjs +0 -124
  52. package/esm2022/lib/date-services/date-shamsi.service.mjs +0 -148
  53. package/esm2022/lib/date-services/date.service.mjs +0 -149
  54. package/esm2022/lib/date-services/index.mjs +0 -6
  55. package/esm2022/lib/device.mjs +0 -663
  56. package/esm2022/lib/directives/absolute-div-body.directive.mjs +0 -45
  57. package/esm2022/lib/directives/anchor-scroll.directive.mjs +0 -24
  58. package/esm2022/lib/directives/attr-rtl.directive.mjs +0 -35
  59. package/esm2022/lib/directives/base.directive.mjs +0 -55
  60. package/esm2022/lib/directives/body-click.directive.mjs +0 -35
  61. package/esm2022/lib/directives/column-resizer.directive.mjs +0 -39
  62. package/esm2022/lib/directives/copy.directive.mjs +0 -59
  63. package/esm2022/lib/directives/count-down.directive.mjs +0 -108
  64. package/esm2022/lib/directives/dynamic-command.directive.mjs +0 -42
  65. package/esm2022/lib/directives/dynamic-style.directive.mjs +0 -57
  66. package/esm2022/lib/directives/ellapsis-text.directive.mjs +0 -69
  67. package/esm2022/lib/directives/ellipsify.directive.mjs +0 -72
  68. package/esm2022/lib/directives/field-binding.directive.mjs +0 -17
  69. package/esm2022/lib/directives/fill-empty-space.mjs +0 -83
  70. package/esm2022/lib/directives/form-close.directive.mjs +0 -32
  71. package/esm2022/lib/directives/img-lazy.directive.mjs +0 -81
  72. package/esm2022/lib/directives/index.mjs +0 -35
  73. package/esm2022/lib/directives/intersection-observer.directive.mjs +0 -51
  74. package/esm2022/lib/directives/items-renderer.directive.mjs +0 -59
  75. package/esm2022/lib/directives/label-mandatory.directive.mjs +0 -48
  76. package/esm2022/lib/directives/load-external-files.directive.mjs +0 -37
  77. package/esm2022/lib/directives/mobile.directive.mjs +0 -29
  78. package/esm2022/lib/directives/nowraptext.directive.mjs +0 -26
  79. package/esm2022/lib/directives/numbers-only-input.directive.mjs +0 -26
  80. package/esm2022/lib/directives/placeHolder.directive.mjs +0 -15
  81. package/esm2022/lib/directives/prevent-default.directive.mjs +0 -20
  82. package/esm2022/lib/directives/render-ulv-paging.directive.mjs +0 -80
  83. package/esm2022/lib/directives/render-ulv-viewer.directive.mjs +0 -75
  84. package/esm2022/lib/directives/route-form-change.directive.mjs +0 -37
  85. package/esm2022/lib/directives/stop-propagation.directive.mjs +0 -20
  86. package/esm2022/lib/directives/table-resizer.directive.mjs +0 -235
  87. package/esm2022/lib/directives/ulv-command.directive.mjs +0 -42
  88. package/esm2022/lib/directives/until-inview.directive.mjs +0 -52
  89. package/esm2022/lib/directives/workflow-choice-command.directive.mjs +0 -60
  90. package/esm2022/lib/dynamic-component/base-dynamic.component.mjs +0 -96
  91. package/esm2022/lib/dynamic-component/base-form-toolbaritem-props.mjs +0 -52
  92. package/esm2022/lib/dynamic-component/base-item-content-props.mjs +0 -80
  93. package/esm2022/lib/dynamic-component/base-view-content-props.mjs +0 -20
  94. package/esm2022/lib/dynamic-component/base-view-item-props.mjs +0 -525
  95. package/esm2022/lib/dynamic-component/base-view-props.mjs +0 -162
  96. package/esm2022/lib/dynamic-component/dynamic-form-toolbar-item.component.mjs +0 -38
  97. package/esm2022/lib/dynamic-component/dynamic-form.component.mjs +0 -66
  98. package/esm2022/lib/dynamic-component/dynamic-item.component.mjs +0 -76
  99. package/esm2022/lib/dynamic-component/dynamic-layout.component.mjs +0 -63
  100. package/esm2022/lib/dynamic-component/index.mjs +0 -11
  101. package/esm2022/lib/empty-page/empty-page.component.mjs +0 -44
  102. package/esm2022/lib/empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component.mjs +0 -16
  103. package/esm2022/lib/field-ui/field-ui.component.mjs +0 -146
  104. package/esm2022/lib/form/form.component.mjs +0 -211
  105. package/esm2022/lib/form-new/form-new.component.mjs +0 -30
  106. package/esm2022/lib/form-page-routing/barsa-sap-ui-form-page-routing.module.mjs +0 -54
  107. package/esm2022/lib/form-page-routing/barsa-sap-ui-form-page.module.mjs +0 -29
  108. package/esm2022/lib/form-page-routing/constants.mjs +0 -9
  109. package/esm2022/lib/form-page-routing/index.mjs +0 -3
  110. package/esm2022/lib/from-intersection-observer.mjs +0 -53
  111. package/esm2022/lib/global-error-handler.mjs +0 -26
  112. package/esm2022/lib/injdection-tokens.mjs +0 -8
  113. package/esm2022/lib/login-enter-mobile/login-enter-mobile.component.mjs +0 -64
  114. package/esm2022/lib/login-verification/login-verification.component.mjs +0 -79
  115. package/esm2022/lib/login2/login2.component.mjs +0 -60
  116. package/esm2022/lib/modal-root.component.mjs +0 -33
  117. package/esm2022/lib/not-found/not-found.component.mjs +0 -16
  118. package/esm2022/lib/not-internet/not-internet.component.mjs +0 -21
  119. package/esm2022/lib/pipes/barsa-icon-dict.pipe.mjs +0 -19
  120. package/esm2022/lib/pipes/bbb-translate.pipe.mjs +0 -35
  121. package/esm2022/lib/pipes/can-upload.pipe.mjs +0 -30
  122. package/esm2022/lib/pipes/column-custom-component.pipe.mjs +0 -40
  123. package/esm2022/lib/pipes/column-customui.pipe.mjs +0 -32
  124. package/esm2022/lib/pipes/column-icon.pipe.mjs +0 -22
  125. package/esm2022/lib/pipes/column-value.pipe.mjs +0 -34
  126. package/esm2022/lib/pipes/combo-row-img.pipe.mjs +0 -16
  127. package/esm2022/lib/pipes/context-menu.pipe.mjs +0 -40
  128. package/esm2022/lib/pipes/control-ui.pipe.mjs +0 -31
  129. package/esm2022/lib/pipes/convert-to-style.pipe.mjs +0 -32
  130. package/esm2022/lib/pipes/date-time-to-caption.pipe.mjs +0 -34
  131. package/esm2022/lib/pipes/fileinfo-count.pipe.mjs +0 -20
  132. package/esm2022/lib/pipes/filter-columns-by-details.pipe.mjs +0 -22
  133. package/esm2022/lib/pipes/filter-string.pipe.mjs +0 -44
  134. package/esm2022/lib/pipes/filter-tab.pipe.mjs +0 -19
  135. package/esm2022/lib/pipes/filter-toolbar-control.pipe.mjs +0 -16
  136. package/esm2022/lib/pipes/filter-workflow-mobile.pipe.mjs +0 -24
  137. package/esm2022/lib/pipes/filter.pipe.mjs +0 -33
  138. package/esm2022/lib/pipes/find-column-by-db-name.pipe.mjs +0 -27
  139. package/esm2022/lib/pipes/find-preview-column.pipe.mjs +0 -19
  140. package/esm2022/lib/pipes/fiori-icon.pipe.mjs +0 -42
  141. package/esm2022/lib/pipes/groupby.pipe.mjs +0 -63
  142. package/esm2022/lib/pipes/header-facet-value.pipe.mjs +0 -22
  143. package/esm2022/lib/pipes/hide-columns-inmobile.pipe.mjs +0 -22
  144. package/esm2022/lib/pipes/index.mjs +0 -48
  145. package/esm2022/lib/pipes/list-count.pipe.mjs +0 -17
  146. package/esm2022/lib/pipes/merge-fields-to-columns.pipe.mjs +0 -42
  147. package/esm2022/lib/pipes/mo-info-ulv-data.pipe.mjs +0 -58
  148. package/esm2022/lib/pipes/mo-info-ulv-paging.pipe.mjs +0 -16
  149. package/esm2022/lib/pipes/mo-report-value-concat.pipe.mjs +0 -35
  150. package/esm2022/lib/pipes/mo-report-value.pipe.mjs +0 -17
  151. package/esm2022/lib/pipes/mo-value.pipe.mjs +0 -18
  152. package/esm2022/lib/pipes/multiple-groupby.pipe.mjs +0 -90
  153. package/esm2022/lib/pipes/numeral.pipe.mjs +0 -43
  154. package/esm2022/lib/pipes/picture-field-source.pipe.mjs +0 -22
  155. package/esm2022/lib/pipes/remove-newline.pipe.mjs +0 -20
  156. package/esm2022/lib/pipes/replace.pipe.mjs +0 -17
  157. package/esm2022/lib/pipes/reverse.pipe.mjs +0 -22
  158. package/esm2022/lib/pipes/rownumber.pipe.mjs +0 -25
  159. package/esm2022/lib/pipes/sanitize-text.pipe.mjs +0 -20
  160. package/esm2022/lib/pipes/seperator-fix.pipe.mjs +0 -23
  161. package/esm2022/lib/pipes/sort.pipe.mjs +0 -48
  162. package/esm2022/lib/pipes/th-image-icon.pipe.mjs +0 -22
  163. package/esm2022/lib/pipes/tlbButtons.pipe.mjs +0 -59
  164. package/esm2022/lib/pipes/total-summary.pipe.mjs +0 -16
  165. package/esm2022/lib/pipes/tree-item-isexpanded.pipe.mjs +0 -25
  166. package/esm2022/lib/pipes/visible-value.pipe.mjs +0 -18
  167. package/esm2022/lib/portal-page/portal-page.component.mjs +0 -23
  168. package/esm2022/lib/portal-page/portal-sidebar.component.mjs +0 -36
  169. package/esm2022/lib/redirect-home-guard.mjs +0 -51
  170. package/esm2022/lib/redirect-report-navigator-command/redirect-report-navigator-command.component.mjs +0 -12
  171. package/esm2022/lib/report-container/report-container.component.mjs +0 -63
  172. package/esm2022/lib/resizable-module/resizable.component.mjs +0 -31
  173. package/esm2022/lib/resizable-module/resizable.directive.mjs +0 -41
  174. package/esm2022/lib/resizable-module/resizable.module.mjs +0 -17
  175. package/esm2022/lib/resolvers/index.mjs +0 -6
  176. package/esm2022/lib/resolvers/portal-dynamic-page.resolver.mjs +0 -49
  177. package/esm2022/lib/resolvers/portal-form-page.resolver.mjs +0 -18
  178. package/esm2022/lib/resolvers/portal-page.resolver.mjs +0 -30
  179. package/esm2022/lib/resolvers/portal-report-page.resolver.mjs +0 -37
  180. package/esm2022/lib/resolvers/tile-group-breadcrumb.resolver.mjs +0 -30
  181. package/esm2022/lib/root-page/root-page.component.mjs +0 -21
  182. package/esm2022/lib/root-portal/root-portal.component.mjs +0 -164
  183. package/esm2022/lib/server-connection-error/server-connection-error.component.mjs +0 -19
  184. package/esm2022/lib/services/api.service.mjs +0 -63
  185. package/esm2022/lib/services/audio-recording.service.mjs +0 -95
  186. package/esm2022/lib/services/barsa-dialog.service.mjs +0 -80
  187. package/esm2022/lib/services/barsa-storage.service.mjs +0 -78
  188. package/esm2022/lib/services/breadcrumb.service.mjs +0 -64
  189. package/esm2022/lib/services/column.service.mjs +0 -20
  190. package/esm2022/lib/services/container.service.mjs +0 -69
  191. package/esm2022/lib/services/dynamic-component.service.mjs +0 -55
  192. package/esm2022/lib/services/form-panel.service.mjs +0 -380
  193. package/esm2022/lib/services/form.service.mjs +0 -14
  194. package/esm2022/lib/services/horizontal-layout.service.mjs +0 -16
  195. package/esm2022/lib/services/index.mjs +0 -29
  196. package/esm2022/lib/services/indexeddb.service.mjs +0 -34
  197. package/esm2022/lib/services/layout.service.mjs +0 -42
  198. package/esm2022/lib/services/local-storage.service.mjs +0 -32
  199. package/esm2022/lib/services/log.service.mjs +0 -50
  200. package/esm2022/lib/services/network-status.service.mjs +0 -15
  201. package/esm2022/lib/services/notification-popup.service.mjs +0 -2
  202. package/esm2022/lib/services/notification-sw.service.mjs +0 -180
  203. package/esm2022/lib/services/notification.service.mjs +0 -308
  204. package/esm2022/lib/services/portal.service.mjs +0 -929
  205. package/esm2022/lib/services/prompt-update.service.mjs +0 -56
  206. package/esm2022/lib/services/routing.service.mjs +0 -60
  207. package/esm2022/lib/services/save-scoll-position.service.mjs +0 -29
  208. package/esm2022/lib/services/service-worker-communication.service.mjs +0 -120
  209. package/esm2022/lib/services/toast.service.mjs +0 -2
  210. package/esm2022/lib/services/ui.service.mjs +0 -23
  211. package/esm2022/lib/services/ulvmain.service.mjs +0 -810
  212. package/esm2022/lib/services/upload.service.mjs +0 -161
  213. package/esm2022/lib/services/video-recording.service.mjs +0 -115
  214. package/esm2022/public-api.mjs +0 -44
@@ -1,63 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, inject, Input } from '@angular/core';
2
- import { Subject, throwError } from 'rxjs';
3
- import { catchError, debounceTime, finalize, takeUntil } from 'rxjs/operators';
4
- import { BaseComponent } from '../abstract-classes/base.component';
5
- import { ActivatedRoute } from '@angular/router';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../services/portal.service";
8
- import * as i2 from "@angular/common";
9
- export class ReportContainerComponent extends BaseComponent {
10
- constructor(portalService, injector, vcr) {
11
- super();
12
- this.portalService = portalService;
13
- this.injector = injector;
14
- this.vcr = vcr;
15
- this._loadingSource = new Subject();
16
- this._activatedRoute = inject(ActivatedRoute);
17
- this.loading$ = this._loadingSource.asObservable().pipe(takeUntil(this._onDestroy$), debounceTime(200));
18
- }
19
- ngOnInit() {
20
- super.ngOnInit();
21
- let ulvParam;
22
- if (!this.settings.RelatedReport) {
23
- const id = this._activatedRoute.snapshot.params['id'];
24
- this.settings.RelatedReport = {
25
- Id: id,
26
- $Caption: ''
27
- };
28
- }
29
- else {
30
- if (this.settings.DataOnly) {
31
- ulvParam = {
32
- Flags: {
33
- Data: 'True',
34
- Extra: 'False',
35
- Search: 'False',
36
- View: 'False'
37
- // General:"False", // ulvmainctrl does not craete ui control raise error
38
- }
39
- };
40
- ulvParam.ReportId = this.settings.RelatedReport.Id;
41
- ulvParam.UsageEnum = 'SystemContainer';
42
- }
43
- }
44
- this._loadingSource.next(true);
45
- this.portalService
46
- .renderUlvMainUi({
47
- Id: null,
48
- ReportId: this.settings.RelatedReport.Id,
49
- UlvParams: ulvParam
50
- }, this.vcr, this.injector)
51
- .pipe(takeUntil(this._onDestroy$), catchError((err) => throwError(err)), finalize(() => this._loadingSource.next(false)))
52
- .subscribe();
53
- }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ReportContainerComponent, deps: [{ token: i1.PortalService }, { token: i0.Injector }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
55
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: ReportContainerComponent, selector: "bnrc-report-container", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: "@if ((loading$ | async)!!) {\n<bsu-mask></bsu-mask>\n}\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
56
- }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ReportContainerComponent, decorators: [{
58
- type: Component,
59
- args: [{ selector: 'bnrc-report-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if ((loading$ | async)!!) {\n<bsu-mask></bsu-mask>\n}\n", styles: [":host{display:block}\n"] }]
60
- }], ctorParameters: () => [{ type: i1.PortalService }, { type: i0.Injector }, { type: i0.ViewContainerRef }], propDecorators: { settings: [{
61
- type: Input
62
- }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3JlcG9ydC1jb250YWluZXIvcmVwb3J0LWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3JlcG9ydC1jb250YWluZXIvcmVwb3J0LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBWSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3RILE9BQU8sRUFBYyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBWWpELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxhQUFhO0lBS3ZELFlBQW9CLGFBQTRCLEVBQVUsUUFBa0IsRUFBVSxHQUFxQjtRQUN2RyxLQUFLLEVBQUUsQ0FBQztRQURRLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBRm5HLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUNoRCxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUdyQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxRQUFRLENBQUM7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMvQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUc7Z0JBQzFCLEVBQUUsRUFBRSxFQUFFO2dCQUNOLFFBQVEsRUFBRSxFQUFFO2FBQ2YsQ0FBQztRQUNOLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN6QixRQUFRLEdBQUc7b0JBQ1AsS0FBSyxFQUFFO3dCQUNILElBQUksRUFBRSxNQUFNO3dCQUNaLEtBQUssRUFBRSxPQUFPO3dCQUNkLE1BQU0sRUFBRSxPQUFPO3dCQUNmLElBQUksRUFBRSxPQUFPO3dCQUNiLHlFQUF5RTtxQkFDNUU7aUJBQ0osQ0FBQztnQkFDRixRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztnQkFDbkQsUUFBUSxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQztZQUMzQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhO2FBQ2IsZUFBZSxDQUNaO1lBQ0ksRUFBRSxFQUFFLElBQUk7WUFDUixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUN4QyxTQUFTLEVBQUUsUUFBUTtTQUN0QixFQUNELElBQUksQ0FBQyxHQUFHLEVBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FDaEI7YUFDQSxJQUFJLENBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDM0IsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDcEMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2xEO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQzs4R0FuRFEsd0JBQXdCO2tHQUF4Qix3QkFBd0Isc0hDbkJyQywwREFHQTs7MkZEZ0JhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDSSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU07d0lBR3RDLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkZWJvdW5jZVRpbWUsIGZpbmFsaXplLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE1ldGFvYmplY3REYXRhTW9kZWwgfSBmcm9tICcuLi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscyc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcy9iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3J0YWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcG9ydGFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW50ZXJmYWNlIFJlcG9ydFNldHRpbmcgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBSZWxhdGVkUmVwb3J0OiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIFJvd0NsaWNrOiBzdHJpbmc7XG4gICAgRGF0YU9ubHk6IGJvb2xlYW47XG59XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JucmMtcmVwb3J0LWNvbnRhaW5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3JlcG9ydC1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBSZXBvcnRDb250YWluZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBzZXR0aW5nczogUmVwb3J0U2V0dGluZztcbiAgICBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBwcml2YXRlIF9sb2FkaW5nU291cmNlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBfYWN0aXZhdGVkUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgdmNyOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMubG9hZGluZyQgPSB0aGlzLl9sb2FkaW5nU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLCBkZWJvdW5jZVRpbWUoMjAwKSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGxldCB1bHZQYXJhbTtcbiAgICAgICAgaWYgKCF0aGlzLnNldHRpbmdzLlJlbGF0ZWRSZXBvcnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGlkID0gdGhpcy5fYWN0aXZhdGVkUm91dGUuc25hcHNob3QucGFyYW1zWydpZCddO1xuICAgICAgICAgICAgdGhpcy5zZXR0aW5ncy5SZWxhdGVkUmVwb3J0ID0ge1xuICAgICAgICAgICAgICAgIElkOiBpZCxcbiAgICAgICAgICAgICAgICAkQ2FwdGlvbjogJydcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZXR0aW5ncy5EYXRhT25seSkge1xuICAgICAgICAgICAgICAgIHVsdlBhcmFtID0ge1xuICAgICAgICAgICAgICAgICAgICBGbGFnczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgRGF0YTogJ1RydWUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgRXh0cmE6ICdGYWxzZScsXG4gICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2g6ICdGYWxzZScsXG4gICAgICAgICAgICAgICAgICAgICAgICBWaWV3OiAnRmFsc2UnXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBHZW5lcmFsOlwiRmFsc2VcIiwgLy8gdWx2bWFpbmN0cmwgZG9lcyBub3QgY3JhZXRlIHVpIGNvbnRyb2wgcmFpc2UgZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdWx2UGFyYW0uUmVwb3J0SWQgPSB0aGlzLnNldHRpbmdzLlJlbGF0ZWRSZXBvcnQuSWQ7XG4gICAgICAgICAgICAgICAgdWx2UGFyYW0uVXNhZ2VFbnVtID0gJ1N5c3RlbUNvbnRhaW5lcic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbG9hZGluZ1NvdXJjZS5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLnBvcnRhbFNlcnZpY2VcbiAgICAgICAgICAgIC5yZW5kZXJVbHZNYWluVWkoXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBJZDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgUmVwb3J0SWQ6IHRoaXMuc2V0dGluZ3MuUmVsYXRlZFJlcG9ydC5JZCxcbiAgICAgICAgICAgICAgICAgICAgVWx2UGFyYW1zOiB1bHZQYXJhbVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdGhpcy52Y3IsXG4gICAgICAgICAgICAgICAgdGhpcy5pbmplY3RvclxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4gdGhyb3dFcnJvcihlcnIpKSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLl9sb2FkaW5nU291cmNlLm5leHQoZmFsc2UpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cbn1cbiIsIkBpZiAoKGxvYWRpbmckIHwgYXN5bmMpISEpIHtcbjxic3UtbWFzaz48L2JzdS1tYXNrPlxufVxuIl19
@@ -1,31 +0,0 @@
1
- /* eslint-disable */
2
- import { Component, EventEmitter, Input, Output } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./resizable.directive";
5
- export class ResizableComponent {
6
- constructor(_el, _renderer2) {
7
- this._el = _el;
8
- this._renderer2 = _renderer2;
9
- this.widthChange = new EventEmitter();
10
- this.widthChanging = new EventEmitter();
11
- }
12
- onResize(width) {
13
- this._renderer2.setStyle(this._el.nativeElement, 'width', width + 'px');
14
- this.widthChanging.emit(width);
15
- }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ResizableComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: ResizableComponent, selector: "th[resizable]", inputs: { disableResize: "disableResize", rtl: "rtl" }, outputs: { widthChange: "widthChange", widthChanging: "widthChanging" }, ngImport: i0, template: "<div class=\"wrapper\" [style.justify-content]=\"disableResize ? 'center' : 'flex-end'\">\n <div class=\"content tw-flex\">\n <ng-content></ng-content>\n </div>\n <div\n [style.pointer-events]=\"disableResize ? 'none' : 'auto'\"\n class=\"bar\"\n [class.rtl]=\"rtl\"\n (resizable)=\"onResize($event)\"\n [rtl]=\"rtl\"\n (resizableComplete)=\"widthChange.emit()\"\n ></div>\n</div>\n", styles: [".wrapper{display:flex}.content{flex:1}.bar{position:absolute;z-index:2;top:0;bottom:0;width:2px;margin:0 -.5rem 0 .5rem;justify-self:flex-start;border-left:2px solid transparent;border-right:2px solid transparent;background:#8a2be2;cursor:col-resize;opacity:0;transition:opacity .3s}.bar.rtl{margin:0 0 0 -.5rem}.bar:hover,.bar:active{opacity:1}\n"], dependencies: [{ kind: "directive", type: i1.ResizableDirective, selector: "[resizable]", inputs: ["rtl"], outputs: ["resizableComplete", "resizable"] }] }); }
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ResizableComponent, decorators: [{
20
- type: Component,
21
- args: [{ selector: 'th[resizable]', template: "<div class=\"wrapper\" [style.justify-content]=\"disableResize ? 'center' : 'flex-end'\">\n <div class=\"content tw-flex\">\n <ng-content></ng-content>\n </div>\n <div\n [style.pointer-events]=\"disableResize ? 'none' : 'auto'\"\n class=\"bar\"\n [class.rtl]=\"rtl\"\n (resizable)=\"onResize($event)\"\n [rtl]=\"rtl\"\n (resizableComplete)=\"widthChange.emit()\"\n ></div>\n</div>\n", styles: [".wrapper{display:flex}.content{flex:1}.bar{position:absolute;z-index:2;top:0;bottom:0;width:2px;margin:0 -.5rem 0 .5rem;justify-self:flex-start;border-left:2px solid transparent;border-right:2px solid transparent;background:#8a2be2;cursor:col-resize;opacity:0;transition:opacity .3s}.bar.rtl{margin:0 0 0 -.5rem}.bar:hover,.bar:active{opacity:1}\n"] }]
22
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { disableResize: [{
23
- type: Input
24
- }], rtl: [{
25
- type: Input
26
- }], widthChange: [{
27
- type: Output
28
- }], widthChanging: [{
29
- type: Output
30
- }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvcmVzaXphYmxlLW1vZHVsZS9yZXNpemFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9yZXNpemFibGUtbW9kdWxlL3Jlc2l6YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQzs7O0FBTzlGLE1BQU0sT0FBTyxrQkFBa0I7SUFNM0IsWUFBb0IsR0FBZSxFQUFVLFVBQXFCO1FBQTlDLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFXO1FBRnhELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN2QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDZ0IsQ0FBQztJQUN0RSxRQUFRLENBQUMsS0FBYTtRQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7OEdBVlEsa0JBQWtCO2tHQUFsQixrQkFBa0Isc0xDUi9CLDZiQWFBOzsyRkRMYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0ksZUFBZTt1R0FLaEIsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgKi9cbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aFtyZXNpemFibGVdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVzaXphYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yZXNpemFibGUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZXNpemFibGVDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGRpc2FibGVSZXNpemU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcnRsOiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIHdpZHRoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSB3aWR0aENoYW5naW5nID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgX3JlbmRlcmVyMjogUmVuZGVyZXIyKSB7fVxuICAgIG9uUmVzaXplKHdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIHdpZHRoICsgJ3B4Jyk7XG4gICAgICAgIHRoaXMud2lkdGhDaGFuZ2luZy5lbWl0KHdpZHRoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwid3JhcHBlclwiIFtzdHlsZS5qdXN0aWZ5LWNvbnRlbnRdPVwiZGlzYWJsZVJlc2l6ZSA/ICdjZW50ZXInIDogJ2ZsZXgtZW5kJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250ZW50IHR3LWZsZXhcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgW3N0eWxlLnBvaW50ZXItZXZlbnRzXT1cImRpc2FibGVSZXNpemUgPyAnbm9uZScgOiAnYXV0bydcIlxuICAgICAgICBjbGFzcz1cImJhclwiXG4gICAgICAgIFtjbGFzcy5ydGxdPVwicnRsXCJcbiAgICAgICAgKHJlc2l6YWJsZSk9XCJvblJlc2l6ZSgkZXZlbnQpXCJcbiAgICAgICAgW3J0bF09XCJydGxcIlxuICAgICAgICAocmVzaXphYmxlQ29tcGxldGUpPVwid2lkdGhDaGFuZ2UuZW1pdCgpXCJcbiAgICA+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,41 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Directive, ElementRef, EventEmitter, Inject, Input, Output } from '@angular/core';
3
- import { distinctUntilChanged, map, switchMap, takeUntil, tap } from 'rxjs/operators';
4
- import { fromEvent } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- export class ResizableDirective {
7
- constructor(documentRef, elementRef) {
8
- this.documentRef = documentRef;
9
- this.elementRef = elementRef;
10
- this.resizableComplete = new EventEmitter();
11
- this.resizable = fromEvent(this.elementRef.nativeElement, 'mousedown').pipe(tap((e) => e.preventDefault()), switchMap(() => {
12
- const elDom = this.elementRef.nativeElement;
13
- const { width, right, left } = elDom.closest('th').getBoundingClientRect();
14
- return fromEvent(this.documentRef, 'mousemove').pipe(
15
- // tap(({ clientX }) => console.log(width, clientX, left, width + left - clientX)),
16
- // tap(({ clientX }) => console.log('rtl', this.rtl)),
17
- map(({ clientX }) => (this.rtl ? width + left - clientX : width + clientX - right)), distinctUntilChanged(), takeUntil(fromEvent(this.documentRef, 'mouseup').pipe(tap((c) => this.resizableComplete.emit()))));
18
- }));
19
- }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ResizableDirective, deps: [{ token: DOCUMENT }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
21
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: ResizableDirective, selector: "[resizable]", inputs: { rtl: "rtl" }, outputs: { resizableComplete: "resizableComplete", resizable: "resizable" }, ngImport: i0 }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ResizableDirective, decorators: [{
24
- type: Directive,
25
- args: [{
26
- selector: '[resizable]'
27
- }]
28
- }], ctorParameters: () => [{ type: Document, decorators: [{
29
- type: Inject,
30
- args: [DOCUMENT]
31
- }] }, { type: i0.ElementRef, decorators: [{
32
- type: Inject,
33
- args: [ElementRef]
34
- }] }], propDecorators: { rtl: [{
35
- type: Input
36
- }], resizableComplete: [{
37
- type: Output
38
- }], resizable: [{
39
- type: Output
40
- }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvcmVzaXphYmxlLW1vZHVsZS9yZXNpemFibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBS2pDLE1BQU0sT0FBTyxrQkFBa0I7SUFvQjNCLFlBQ3VDLFdBQXFCLEVBRXZDLFVBQW1DO1FBRmpCLGdCQUFXLEdBQVgsV0FBVyxDQUFVO1FBRXZDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBckI5QyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTlDLGNBQVMsR0FBRyxTQUFTLENBQWEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUN2RixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxFQUM5QixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFvQixDQUFDO1lBQ25ELE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUUzRSxPQUFPLFNBQVMsQ0FBYSxJQUFJLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUk7WUFDNUQsbUZBQW1GO1lBQ25GLHNEQUFzRDtZQUN0RCxHQUFHLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQ25GLG9CQUFvQixFQUFFLEVBQ3RCLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ3BHLENBQUM7UUFDTixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBTUMsQ0FBQzs4R0F4Qkssa0JBQWtCLGtCQXFCZixRQUFRLGFBQ1IsVUFBVTtrR0F0QmIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUg5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxhQUFhO2lCQUMxQjs7MEJBc0JRLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxVQUFVO3lDQXJCYixHQUFHO3NCQUFYLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNO2dCQUVFLFNBQVM7c0JBRGpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3Jlc2l6YWJsZV0nXG59KVxuZXhwb3J0IGNsYXNzIFJlc2l6YWJsZURpcmVjdGl2ZSB7XG4gICAgQElucHV0KCkgcnRsOiBib29sZWFuO1xuICAgIEBPdXRwdXQoKSByZXNpemFibGVDb21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSByZXNpemFibGUgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWRvd24nKS5waXBlKFxuICAgICAgICB0YXAoKGUpID0+IGUucHJldmVudERlZmF1bHQoKSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbERvbSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIGFueTtcbiAgICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIHJpZ2h0LCBsZWZ0IH0gPSBlbERvbS5jbG9zZXN0KCd0aCcpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgICAgICByZXR1cm4gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuZG9jdW1lbnRSZWYsICdtb3VzZW1vdmUnKS5waXBlKFxuICAgICAgICAgICAgICAgIC8vIHRhcCgoeyBjbGllbnRYIH0pID0+IGNvbnNvbGUubG9nKHdpZHRoLCBjbGllbnRYLCBsZWZ0LCB3aWR0aCArIGxlZnQgLSBjbGllbnRYKSksXG4gICAgICAgICAgICAgICAgLy8gdGFwKCh7IGNsaWVudFggfSkgPT4gY29uc29sZS5sb2coJ3J0bCcsIHRoaXMucnRsKSksXG4gICAgICAgICAgICAgICAgbWFwKCh7IGNsaWVudFggfSkgPT4gKHRoaXMucnRsID8gd2lkdGggKyBsZWZ0IC0gY2xpZW50WCA6IHdpZHRoICsgY2xpZW50WCAtIHJpZ2h0KSksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwoZnJvbUV2ZW50KHRoaXMuZG9jdW1lbnRSZWYsICdtb3VzZXVwJykucGlwZSh0YXAoKGMpID0+IHRoaXMucmVzaXphYmxlQ29tcGxldGUuZW1pdCgpKSkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9KVxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFJlZjogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PlxuICAgICkge31cbn1cbiJdfQ==
@@ -1,17 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { ResizableComponent } from './resizable.component';
3
- import { ResizableDirective } from './resizable.directive';
4
- import * as i0 from "@angular/core";
5
- export class ResizableModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ResizableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: ResizableModule, declarations: [ResizableComponent, ResizableDirective], exports: [ResizableComponent] }); }
8
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ResizableModule }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ResizableModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- declarations: [ResizableComponent, ResizableDirective],
14
- exports: [ResizableComponent]
15
- }]
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvcmVzaXphYmxlLW1vZHVsZS9yZXNpemFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTTNELE1BQU0sT0FBTyxlQUFlOzhHQUFmLGVBQWU7K0dBQWYsZUFBZSxpQkFIVCxrQkFBa0IsRUFBRSxrQkFBa0IsYUFDM0Msa0JBQWtCOytHQUVuQixlQUFlOzsyRkFBZixlQUFlO2tCQUozQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDO29CQUN0RCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzaXphYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9yZXNpemFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFJlc2l6YWJsZURpcmVjdGl2ZSB9IGZyb20gJy4vcmVzaXphYmxlLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbUmVzaXphYmxlQ29tcG9uZW50LCBSZXNpemFibGVEaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtSZXNpemFibGVDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFJlc2l6YWJsZU1vZHVsZSB7fVxuIl19
@@ -1,6 +0,0 @@
1
- export * from './portal-dynamic-page.resolver';
2
- export * from './portal-form-page.resolver';
3
- export * from './portal-page.resolver';
4
- export * from './portal-report-page.resolver';
5
- export * from './tile-group-breadcrumb.resolver';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3Jlc29sdmVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BvcnRhbC1keW5hbWljLXBhZ2UucmVzb2x2ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3BvcnRhbC1mb3JtLXBhZ2UucmVzb2x2ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3BvcnRhbC1wYWdlLnJlc29sdmVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9wb3J0YWwtcmVwb3J0LXBhZ2UucmVzb2x2ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3RpbGUtZ3JvdXAtYnJlYWRjcnVtYi5yZXNvbHZlcic7XHJcbiJdfQ==
@@ -1,49 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../services/portal.service";
4
- export class PortalDynamicPageResolver {
5
- constructor(portalService) {
6
- this.portalService = portalService;
7
- }
8
- resolve(route
9
- // state: RouterStateSnapshot
10
- ) {
11
- // const url = decodeURI(route['_routerState'].url);
12
- // let url2=route.routeConfig?.path;
13
- // if(route.params.path)
14
- // url2=route.params.path;
15
- // if(route.url.length==0)
16
- // return of(null);
17
- // if(route.routeConfig?.path=='')
18
- // {
19
- // url2 = url.split('/').find((c) => c && !c.startsWith('(')) ?? '';
20
- // }
21
- // else if(url2=='**'){
22
- // url2=route.url[0].path;
23
- // }
24
- // url2 = '/' + url2;
25
- // const url=route.params.path;
26
- const _route = route;
27
- let pageData = route.data?.pageData;
28
- // if (!pageData && url) {
29
- // pageData = this.portalService.pages.find((c) => c.Route == '/' + url);
30
- // }
31
- const urlSegments = _route._urlSegment.segments;
32
- const lastUrlSegment = urlSegments[urlSegments.length - 1];
33
- if (urlSegments.length === 1) {
34
- pageData = this.portalService.pages.find((c) => c.ParentRoute === '/' + lastUrlSegment.path && (c.IsDefaultRoute || c.IsDefaultRoute === 'True'));
35
- }
36
- else {
37
- pageData = this.portalService.pages.find((c) => c.Route === '/' + lastUrlSegment.path);
38
- }
39
- // }
40
- return this.portalService.resolveData(pageData);
41
- }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: PortalDynamicPageResolver, deps: [{ token: i1.PortalService }], target: i0.ɵɵFactoryTarget.Injectable }); }
43
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: PortalDynamicPageResolver, providedIn: 'root' }); }
44
- }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: PortalDynamicPageResolver, decorators: [{
46
- type: Injectable,
47
- args: [{ providedIn: 'root' }]
48
- }], ctorParameters: () => [{ type: i1.PortalService }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLWR5bmFtaWMtcGFnZS5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvcmVzb2x2ZXJzL3BvcnRhbC1keW5hbWljLXBhZ2UucmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUTNDLE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFBRyxDQUFDO0lBRXBELE9BQU8sQ0FDSCxLQUE2QjtJQUM3Qiw2QkFBNkI7O1FBRTdCLG9EQUFvRDtRQUNwRCxvQ0FBb0M7UUFDcEMsd0JBQXdCO1FBQ3hCLDRCQUE0QjtRQUU1QiwwQkFBMEI7UUFDMUIscUJBQXFCO1FBQ3JCLGtDQUFrQztRQUNsQyxJQUFJO1FBQ0osdUVBQXVFO1FBQ3ZFLElBQUk7UUFDSix1QkFBdUI7UUFDdkIsNEJBQTRCO1FBQzVCLElBQUk7UUFDSixxQkFBcUI7UUFDckIsK0JBQStCO1FBQy9CLE1BQU0sTUFBTSxHQUFRLEtBQUssQ0FBQztRQUMxQixJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQztRQUNwQywwQkFBMEI7UUFDMUIsMkVBQTJFO1FBQzNFLElBQUk7UUFDSixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUNoRCxNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0IsUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDcEMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEtBQUssR0FBRyxHQUFHLGNBQWMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQyxjQUFjLEtBQUssTUFBTSxDQUFDLENBQzFHLENBQUM7UUFDTixDQUFDO2FBQU0sQ0FBQztZQUNKLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssR0FBRyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRixDQUFDO1FBRUQsSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs4R0F4Q1EseUJBQXlCO2tIQUF6Qix5QkFBeUIsY0FEWixNQUFNOzsyRkFDbkIseUJBQXlCO2tCQURyQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IFBhZ2VEYXRhTW9kZWwgfSBmcm9tICcuLi9hYnN0cmFjdC1jbGFzc2VzJztcclxuaW1wb3J0IHsgUG9ydGFsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3BvcnRhbC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBQb3J0YWxEeW5hbWljUGFnZVJlc29sdmVyIHtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSkge31cclxuXHJcbiAgICByZXNvbHZlKFxyXG4gICAgICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90XHJcbiAgICAgICAgLy8gc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3RcclxuICAgICk6IE9ic2VydmFibGU8UGFnZURhdGFNb2RlbCB8IG51bGw+IHtcclxuICAgICAgICAvLyBjb25zdCB1cmwgPSBkZWNvZGVVUkkocm91dGVbJ19yb3V0ZXJTdGF0ZSddLnVybCk7XHJcbiAgICAgICAgLy8gbGV0IHVybDI9cm91dGUucm91dGVDb25maWc/LnBhdGg7XHJcbiAgICAgICAgLy8gaWYocm91dGUucGFyYW1zLnBhdGgpXHJcbiAgICAgICAgLy8gICB1cmwyPXJvdXRlLnBhcmFtcy5wYXRoO1xyXG5cclxuICAgICAgICAvLyBpZihyb3V0ZS51cmwubGVuZ3RoPT0wKVxyXG4gICAgICAgIC8vICAgcmV0dXJuIG9mKG51bGwpO1xyXG4gICAgICAgIC8vIGlmKHJvdXRlLnJvdXRlQ29uZmlnPy5wYXRoPT0nJylcclxuICAgICAgICAvLyB7XHJcbiAgICAgICAgLy8gICAgdXJsMiA9IHVybC5zcGxpdCgnLycpLmZpbmQoKGMpID0+IGMgJiYgIWMuc3RhcnRzV2l0aCgnKCcpKSA/PyAnJztcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gZWxzZSBpZih1cmwyPT0nKionKXtcclxuICAgICAgICAvLyAgIHVybDI9cm91dGUudXJsWzBdLnBhdGg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vIHVybDIgPSAnLycgKyB1cmwyO1xyXG4gICAgICAgIC8vIGNvbnN0IHVybD1yb3V0ZS5wYXJhbXMucGF0aDtcclxuICAgICAgICBjb25zdCBfcm91dGU6IGFueSA9IHJvdXRlO1xyXG4gICAgICAgIGxldCBwYWdlRGF0YSA9IHJvdXRlLmRhdGE/LnBhZ2VEYXRhO1xyXG4gICAgICAgIC8vIGlmICghcGFnZURhdGEgJiYgdXJsKSB7XHJcbiAgICAgICAgLy8gICBwYWdlRGF0YSA9IHRoaXMucG9ydGFsU2VydmljZS5wYWdlcy5maW5kKChjKSA9PiBjLlJvdXRlID09ICcvJyArIHVybCk7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGNvbnN0IHVybFNlZ21lbnRzID0gX3JvdXRlLl91cmxTZWdtZW50LnNlZ21lbnRzO1xyXG4gICAgICAgIGNvbnN0IGxhc3RVcmxTZWdtZW50ID0gdXJsU2VnbWVudHNbdXJsU2VnbWVudHMubGVuZ3RoIC0gMV07XHJcbiAgICAgICAgaWYgKHVybFNlZ21lbnRzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgICAgICBwYWdlRGF0YSA9IHRoaXMucG9ydGFsU2VydmljZS5wYWdlcy5maW5kKFxyXG4gICAgICAgICAgICAgICAgKGMpID0+IGMuUGFyZW50Um91dGUgPT09ICcvJyArIGxhc3RVcmxTZWdtZW50LnBhdGggJiYgKGMuSXNEZWZhdWx0Um91dGUgfHwgYy5Jc0RlZmF1bHRSb3V0ZSA9PT0gJ1RydWUnKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHBhZ2VEYXRhID0gdGhpcy5wb3J0YWxTZXJ2aWNlLnBhZ2VzLmZpbmQoKGMpID0+IGMuUm91dGUgPT09ICcvJyArIGxhc3RVcmxTZWdtZW50LnBhdGgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIHJldHVybiB0aGlzLnBvcnRhbFNlcnZpY2UucmVzb2x2ZURhdGEocGFnZURhdGEpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,18 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class PortalFormPageResolver {
4
- constructor() { }
5
- resolve(route
6
- // state: RouterStateSnapshot
7
- ) {
8
- const breadcrumb = route.params.bc; // means breadCrumb
9
- return breadcrumb;
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: PortalFormPageResolver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: PortalFormPageResolver, providedIn: 'root' }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: PortalFormPageResolver, decorators: [{
15
- type: Injectable,
16
- args: [{ providedIn: 'root' }]
17
- }], ctorParameters: () => [] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLWZvcm0tcGFnZS5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvcmVzb2x2ZXJzL3BvcnRhbC1mb3JtLXBhZ2UucmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLHNCQUFzQjtJQUMvQixnQkFBZSxDQUFDO0lBQ2hCLE9BQU8sQ0FDSCxLQUE2QjtJQUM3Qiw2QkFBNkI7O1FBRTdCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsbUJBQW1CO1FBQ3ZELE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7OEdBUlEsc0JBQXNCO2tIQUF0QixzQkFBc0IsY0FEVCxNQUFNOzsyRkFDbkIsc0JBQXNCO2tCQURsQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBQb3J0YWxGb3JtUGFnZVJlc29sdmVyIHtcclxuICAgIGNvbnN0cnVjdG9yKCkge31cclxuICAgIHJlc29sdmUoXHJcbiAgICAgICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3RcclxuICAgICAgICAvLyBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdFxyXG4gICAgKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBicmVhZGNydW1iID0gcm91dGUucGFyYW1zLmJjOyAvLyBtZWFucyBicmVhZENydW1iXHJcbiAgICAgICAgcmV0dXJuIGJyZWFkY3J1bWI7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,30 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../services/portal.service";
4
- export class PortalPageResolver {
5
- constructor(portalService) {
6
- this.portalService = portalService;
7
- }
8
- resolve(route
9
- // state: RouterStateSnapshot
10
- ) {
11
- // const url = decodeURI(route['_routerState'].url);
12
- // let url2=route.routeConfig?.path;
13
- // if(route.routeConfig?.path=='')
14
- // {
15
- // url2 = url.split('/').find((c) => c && !c.startsWith('(')) ?? '';
16
- // }
17
- // if(url2=='**'){
18
- // url2=route.url[0].path;
19
- // }
20
- // url2 = '/' + url2;
21
- return this.portalService.resolveData(route.data.pageData);
22
- }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: PortalPageResolver, deps: [{ token: i1.PortalService }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: PortalPageResolver, providedIn: 'root' }); }
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: PortalPageResolver, decorators: [{
27
- type: Injectable,
28
- args: [{ providedIn: 'root' }]
29
- }], ctorParameters: () => [{ type: i1.PortalService }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLXBhZ2UucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3Jlc29sdmVycy9wb3J0YWwtcGFnZS5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUMzQixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUFHLENBQUM7SUFFcEQsT0FBTyxDQUNILEtBQTZCO0lBQzdCLDZCQUE2Qjs7UUFFN0Isb0RBQW9EO1FBQ3BELG9DQUFvQztRQUNwQyxrQ0FBa0M7UUFDbEMsSUFBSTtRQUNKLHVFQUF1RTtRQUN2RSxJQUFJO1FBQ0osa0JBQWtCO1FBQ2xCLDRCQUE0QjtRQUM1QixJQUFJO1FBQ0oscUJBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvRCxDQUFDOzhHQW5CUSxrQkFBa0I7a0hBQWxCLGtCQUFrQixjQURMLE1BQU07OzJGQUNuQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgUGFnZURhdGFNb2RlbCB9IGZyb20gJy4uL2Fic3RyYWN0LWNsYXNzZXMvbW9kZWxzJztcclxuaW1wb3J0IHsgUG9ydGFsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3BvcnRhbC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBQb3J0YWxQYWdlUmVzb2x2ZXIge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlKSB7fVxyXG5cclxuICAgIHJlc29sdmUoXHJcbiAgICAgICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3RcclxuICAgICAgICAvLyBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdFxyXG4gICAgKTogT2JzZXJ2YWJsZTxQYWdlRGF0YU1vZGVsIHwgbnVsbD4ge1xyXG4gICAgICAgIC8vIGNvbnN0IHVybCA9IGRlY29kZVVSSShyb3V0ZVsnX3JvdXRlclN0YXRlJ10udXJsKTtcclxuICAgICAgICAvLyBsZXQgdXJsMj1yb3V0ZS5yb3V0ZUNvbmZpZz8ucGF0aDtcclxuICAgICAgICAvLyBpZihyb3V0ZS5yb3V0ZUNvbmZpZz8ucGF0aD09JycpXHJcbiAgICAgICAgLy8ge1xyXG4gICAgICAgIC8vICAgIHVybDIgPSB1cmwuc3BsaXQoJy8nKS5maW5kKChjKSA9PiBjICYmICFjLnN0YXJ0c1dpdGgoJygnKSkgPz8gJyc7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vIGlmKHVybDI9PScqKicpe1xyXG4gICAgICAgIC8vICAgdXJsMj1yb3V0ZS51cmxbMF0ucGF0aDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gdXJsMiA9ICcvJyArIHVybDI7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnBvcnRhbFNlcnZpY2UucmVzb2x2ZURhdGEocm91dGUuZGF0YS5wYWdlRGF0YSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,37 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { map } from 'rxjs/operators';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../services/portal.service";
5
- export class PortalReportPageResolver {
6
- constructor(portalService) {
7
- this.portalService = portalService;
8
- }
9
- resolve(route
10
- // state: RouterStateSnapshot
11
- ) {
12
- // const url = decodeURI(route['_routerState'].url);
13
- // let url2=route.routeConfig?.path;
14
- // if(route.routeConfig?.path=='')
15
- // {
16
- // url2 = url.split('/').find((c) => c && !c.startsWith('(')) ?? '';
17
- // }
18
- // if(url2=='**'){
19
- // url2=route.url[0].path;
20
- // }
21
- // url2 = '/' + url2;
22
- const caption = route.params.id.split('__')[1];
23
- return this.portalService.resolveData(route.data.pageData).pipe(map((pageData) => {
24
- if (pageData) {
25
- pageData.BreadCrumb = caption;
26
- }
27
- return pageData;
28
- }));
29
- }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: PortalReportPageResolver, deps: [{ token: i1.PortalService }], target: i0.ɵɵFactoryTarget.Injectable }); }
31
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: PortalReportPageResolver, providedIn: 'root' }); }
32
- }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: PortalReportPageResolver, decorators: [{
34
- type: Injectable,
35
- args: [{ providedIn: 'root' }]
36
- }], ctorParameters: () => [{ type: i1.PortalService }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLXJlcG9ydC1wYWdlLnJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9yZXNvbHZlcnMvcG9ydGFsLXJlcG9ydC1wYWdlLnJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFNckMsTUFBTSxPQUFPLHdCQUF3QjtJQUNqQyxZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUFHLENBQUM7SUFFcEQsT0FBTyxDQUNILEtBQTZCO0lBQzdCLDZCQUE2Qjs7UUFFN0Isb0RBQW9EO1FBQ3BELG9DQUFvQztRQUNwQyxrQ0FBa0M7UUFDbEMsSUFBSTtRQUNKLHVFQUF1RTtRQUN2RSxJQUFJO1FBQ0osa0JBQWtCO1FBQ2xCLDRCQUE0QjtRQUM1QixJQUFJO1FBQ0oscUJBQXFCO1FBQ3JCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUMzRCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNiLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ1gsUUFBUSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7WUFDbEMsQ0FBQztZQUNELE9BQU8sUUFBUSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOzhHQTFCUSx3QkFBd0I7a0hBQXhCLHdCQUF3QixjQURYLE1BQU07OzJGQUNuQix3QkFBd0I7a0JBRHBDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBQYWdlRGF0YU1vZGVsIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcyc7XHJcbmltcG9ydCB7IFBvcnRhbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wb3J0YWwuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgUG9ydGFsUmVwb3J0UGFnZVJlc29sdmVyIHtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSkge31cclxuXHJcbiAgICByZXNvbHZlKFxyXG4gICAgICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90XHJcbiAgICAgICAgLy8gc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3RcclxuICAgICk6IE9ic2VydmFibGU8UGFnZURhdGFNb2RlbCB8IG51bGw+IHtcclxuICAgICAgICAvLyBjb25zdCB1cmwgPSBkZWNvZGVVUkkocm91dGVbJ19yb3V0ZXJTdGF0ZSddLnVybCk7XHJcbiAgICAgICAgLy8gbGV0IHVybDI9cm91dGUucm91dGVDb25maWc/LnBhdGg7XHJcbiAgICAgICAgLy8gaWYocm91dGUucm91dGVDb25maWc/LnBhdGg9PScnKVxyXG4gICAgICAgIC8vIHtcclxuICAgICAgICAvLyAgICB1cmwyID0gdXJsLnNwbGl0KCcvJykuZmluZCgoYykgPT4gYyAmJiAhYy5zdGFydHNXaXRoKCcoJykpID8/ICcnO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAvLyBpZih1cmwyPT0nKionKXtcclxuICAgICAgICAvLyAgIHVybDI9cm91dGUudXJsWzBdLnBhdGg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vIHVybDIgPSAnLycgKyB1cmwyO1xyXG4gICAgICAgIGNvbnN0IGNhcHRpb24gPSByb3V0ZS5wYXJhbXMuaWQuc3BsaXQoJ19fJylbMV07XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucG9ydGFsU2VydmljZS5yZXNvbHZlRGF0YShyb3V0ZS5kYXRhLnBhZ2VEYXRhKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKHBhZ2VEYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocGFnZURhdGEpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWdlRGF0YS5CcmVhZENydW1iID0gY2FwdGlvbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBwYWdlRGF0YTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../services/local-storage.service";
4
- export class TileGroupBreadcrumResolver {
5
- constructor(_localStorage) {
6
- this._localStorage = _localStorage;
7
- }
8
- resolve(route
9
- // state: RouterStateSnapshot
10
- ) {
11
- // const url = decodeURI(route['_routerState'].url);
12
- // let url2=route.routeConfig?.path;
13
- // if(route.routeConfig?.path=='')
14
- // {
15
- // url2 = url.split('/').find((c) => c && !c.startsWith('(')) ?? '';
16
- // }
17
- // if(url2=='**'){
18
- // url2=route.url[0].path;
19
- // }
20
- // url2 = '/' + url2;
21
- return this._localStorage.getItem('ActiveTile');
22
- }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TileGroupBreadcrumResolver, deps: [{ token: i1.LocalStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TileGroupBreadcrumResolver, providedIn: 'root' }); }
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TileGroupBreadcrumResolver, decorators: [{
27
- type: Injectable,
28
- args: [{ providedIn: 'root' }]
29
- }], ctorParameters: () => [{ type: i1.LocalStorageService }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1ncm91cC1icmVhZGNydW1iLnJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9yZXNvbHZlcnMvdGlsZS1ncm91cC1icmVhZGNydW1iLnJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU0zQyxNQUFNLE9BQU8sMEJBQTBCO0lBQ25DLFlBQW9CLGFBQWtDO1FBQWxDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtJQUFHLENBQUM7SUFFMUQsT0FBTyxDQUNILEtBQTZCO0lBQzdCLDZCQUE2Qjs7UUFFN0Isb0RBQW9EO1FBQ3BELG9DQUFvQztRQUNwQyxrQ0FBa0M7UUFDbEMsSUFBSTtRQUNKLHVFQUF1RTtRQUN2RSxJQUFJO1FBQ0osa0JBQWtCO1FBQ2xCLDRCQUE0QjtRQUM1QixJQUFJO1FBQ0oscUJBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs4R0FuQlEsMEJBQTBCO2tIQUExQiwwQkFBMEIsY0FEYixNQUFNOzsyRkFDbkIsMEJBQTBCO2tCQUR0QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBUaWxlR3JvdXBCcmVhZGNydW1SZXNvbHZlciB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9sb2NhbFN0b3JhZ2U6IExvY2FsU3RvcmFnZVNlcnZpY2UpIHt9XHJcblxyXG4gICAgcmVzb2x2ZShcclxuICAgICAgICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFxyXG4gICAgICAgIC8vIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90XHJcbiAgICApOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICAvLyBjb25zdCB1cmwgPSBkZWNvZGVVUkkocm91dGVbJ19yb3V0ZXJTdGF0ZSddLnVybCk7XHJcbiAgICAgICAgLy8gbGV0IHVybDI9cm91dGUucm91dGVDb25maWc/LnBhdGg7XHJcbiAgICAgICAgLy8gaWYocm91dGUucm91dGVDb25maWc/LnBhdGg9PScnKVxyXG4gICAgICAgIC8vIHtcclxuICAgICAgICAvLyAgICB1cmwyID0gdXJsLnNwbGl0KCcvJykuZmluZCgoYykgPT4gYyAmJiAhYy5zdGFydHNXaXRoKCcoJykpID8/ICcnO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAvLyBpZih1cmwyPT0nKionKXtcclxuICAgICAgICAvLyAgIHVybDI9cm91dGUudXJsWzBdLnBhdGg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vIHVybDIgPSAnLycgKyB1cmwyO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ0FjdGl2ZVRpbGUnKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,21 +0,0 @@
1
- import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';
2
- import { BaseComponent } from '../abstract-classes/base.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/router";
5
- export class RootPageComponent extends BaseComponent {
6
- constructor(viewContainerRef) {
7
- super();
8
- this.viewContainerRef = viewContainerRef;
9
- this._pageContent = true;
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RootPageComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: RootPageComponent, selector: "bnrc-root-page", host: { properties: { "class.page-content": "this._pageContent" } }, usesInheritance: true, ngImport: i0, template: "<router-outlet></router-outlet>\r\n<router-outlet name=\"main\"></router-outlet>\r\n", styles: [":host{position:relative;display:block}\n"], dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RootPageComponent, decorators: [{
15
- type: Component,
16
- args: [{ selector: 'bnrc-root-page', changeDetection: ChangeDetectionStrategy.OnPush, template: "<router-outlet></router-outlet>\r\n<router-outlet name=\"main\"></router-outlet>\r\n", styles: [":host{position:relative;display:block}\n"] }]
17
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { _pageContent: [{
18
- type: HostBinding,
19
- args: ['class.page-content']
20
- }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvcm9vdC1wYWdlL3Jvb3QtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3Jvb3QtcGFnZS9yb290LXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsV0FBVyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBUW5FLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBRWhELFlBQXNCLGdCQUFrQztRQUNwRCxLQUFLLEVBQUUsQ0FBQztRQURVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFEckIsaUJBQVksR0FBRyxJQUFJLENBQUM7SUFHdkQsQ0FBQzs4R0FKUSxpQkFBaUI7a0dBQWpCLGlCQUFpQixrSkNUOUIsc0ZBRUE7OzJGRE9hLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDSSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTTtxRkFHWixZQUFZO3NCQUE5QyxXQUFXO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NvbnRhaW5lclJlZiwgSG9zdEJpbmRpbmcsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcy9iYXNlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYm5yYy1yb290LXBhZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yb290LXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Jvb3QtcGFnZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFJvb3RQYWdlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wYWdlLWNvbnRlbnQnKSBfcGFnZUNvbnRlbnQgPSB0cnVlO1xuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxufVxuIiwiPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxyXG48cm91dGVyLW91dGxldCBuYW1lPVwibWFpblwiPjwvcm91dGVyLW91dGxldD5cclxuIl19
@@ -1,164 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ViewChild, ViewContainerRef } from '@angular/core';
2
- import { NavigationEnd, NavigationStart, RouterEvent } from '@angular/router';
3
- import { takeUntil, tap } from 'rxjs';
4
- import { BarsaApi, PageBaseComponent } from '../abstract-classes';
5
- import { isInLocalMode } from '../constants';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/router";
8
- import * as i2 from "../directives/load-external-files.directive";
9
- export class RootPortalComponent extends PageBaseComponent {
10
- constructor() {
11
- super(...arguments);
12
- this.isRoot = true;
13
- this.inLocalMode = true;
14
- }
15
- ngOnInit() {
16
- super.ngOnInit();
17
- this.inLocalMode = isInLocalMode();
18
- // this.inLocalMode = true;
19
- this._router.events.subscribe((event) => {
20
- if (event instanceof NavigationStart && event instanceof RouterEvent) {
21
- this._portalService.naviationStart(event);
22
- }
23
- if (event instanceof NavigationEnd && event instanceof RouterEvent) {
24
- this._portalService.naviationEnd(event);
25
- }
26
- });
27
- }
28
- onSendOfflineDataToServer() {
29
- BarsaApi.Bw.Msg.YesNo(BarsaApi.BBB.OfflineGoOnline, BarsaApi.BBB.Delete, function (buttonId) {
30
- if (buttonId === 'yes') {
31
- BarsaApi.Bw.Msg.Wait(0, BarsaApi.BBB.LoadingMaskMsg, 'wait');
32
- BarsaApi.Offline.GoOnline(function () {
33
- window.location.reload();
34
- });
35
- }
36
- });
37
- }
38
- onRemoveOfflineDataAndReturnToOnline() {
39
- BarsaApi.Bw.Msg.YesNo(BarsaApi.BBB.OfflineClearAll, BarsaApi.BBB.Delete, function (buttonId) {
40
- if (buttonId === 'yes') {
41
- BarsaApi.Offline.ClearAll();
42
- window.location.reload();
43
- }
44
- });
45
- }
46
- onRemoveOfflineData() {
47
- BarsaApi.Bw.Msg.YesNo(BarsaApi.BBB.OfflineClearUnsavedData, BarsaApi.BBB.Delete, function (buttonId) {
48
- if (buttonId === 'yes') {
49
- BarsaApi.Offline.CachedData.UnsavedData = {};
50
- BarsaApi.Offline.CachedData.save();
51
- BarsaApi.Bw.Toast.Success(BarsaApi.BBB.Action + BarsaApi.BBB.JobCompleted);
52
- }
53
- });
54
- }
55
- addFooter(pageData) {
56
- if (!pageData?.Footer) {
57
- return;
58
- }
59
- const footerComponent = pageData.Footer.Component;
60
- this.getComponentFactory(footerComponent)
61
- .pipe(takeUntil(this._onDestroy$), tap((controlUi) => {
62
- controlUi.instance.settings = footerComponent.Settings;
63
- controlUi.instance.activatedRoute = this._activatedRoute;
64
- if (this.footerRefVcr) {
65
- this.footerRefVcr.insert(controlUi.hostView);
66
- }
67
- }))
68
- .subscribe();
69
- }
70
- renderPlaceHolders(pageData) {
71
- super.renderPlaceHolders(pageData);
72
- this.addFooter(pageData);
73
- BigNumber.prototype.subtract = BigNumber.prototype.minus;
74
- BigNumber.prototype.add = BigNumber.prototype.plus;
75
- const { BackgroundId } = this.pageData;
76
- if (BackgroundId) {
77
- this._renderer2.addClass(this._el.nativeElement, 'root-custom-background');
78
- this.imageUrl = `/IH.ashx?ty=ID&moId=&id=${BackgroundId}&si=1920&sih=1080`;
79
- }
80
- }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RootPortalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
82
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: RootPortalComponent, selector: "bnrc-root-portal", viewQueries: [{ propertyName: "sectionRef", first: true, predicate: ["sectionRef"], descendants: true }, { propertyName: "footerRefVcr", first: true, predicate: ["footerRef"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: `
83
- @if(inLocalMode){
84
- <div class="fd-toolbar" style="flex-wrap:wrap;padding:0.5rem;height:auto">
85
- <button class="fd-button fd-button--attention is-compact" (click)="onRemoveOfflineData()">
86
- حذف اطلاعات آفلاین
87
- </button>
88
- <button class="fd-button fd-button--negative is-compact" (click)="onRemoveOfflineDataAndReturnToOnline()">
89
- حذف اطلاعات آفلاین و برگشت به حالت آنلاین
90
- </button>
91
- <button class="fd-button fd-button--positive is-compact" (click)="onSendOfflineDataToServer()">
92
- ارسال اطلاعات آفلاین به سرور
93
- </button>
94
- </div>
95
- } @if (imageUrl) {
96
- <div id="headerSpaceHolder" #headerSpaceHolder>
97
- <div id="bgOuterHolder" #bgOuterHolder>
98
- <div id="bgInnerHolder" style="height: 100vh">
99
- <div class="backgroundImage" id="backgroundImage">
100
- <img class="picture" [src]="imageUrl" loading="lazy" />
101
- <span id="backgroundImageOverlay" class="overlay"></span>
102
- </div>
103
- </div>
104
- </div>
105
- </div>
106
- }
107
- <section loadExternalFiles class="section" id="mainpage" #sectionRef>
108
- <div #containerRef></div>
109
- </section>
110
- <div class="page-wrapper">
111
- <router-outlet></router-outlet>
112
- </div>
113
- <!-- <footer #footerRef></footer> -->
114
- <ng-container #footerRef></ng-container>
115
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i2.LoadExternalFilesDirective, selector: "[loadExternalFiles]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
116
- }
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RootPortalComponent, decorators: [{
118
- type: Component,
119
- args: [{
120
- selector: 'bnrc-root-portal',
121
- template: `
122
- @if(inLocalMode){
123
- <div class="fd-toolbar" style="flex-wrap:wrap;padding:0.5rem;height:auto">
124
- <button class="fd-button fd-button--attention is-compact" (click)="onRemoveOfflineData()">
125
- حذف اطلاعات آفلاین
126
- </button>
127
- <button class="fd-button fd-button--negative is-compact" (click)="onRemoveOfflineDataAndReturnToOnline()">
128
- حذف اطلاعات آفلاین و برگشت به حالت آنلاین
129
- </button>
130
- <button class="fd-button fd-button--positive is-compact" (click)="onSendOfflineDataToServer()">
131
- ارسال اطلاعات آفلاین به سرور
132
- </button>
133
- </div>
134
- } @if (imageUrl) {
135
- <div id="headerSpaceHolder" #headerSpaceHolder>
136
- <div id="bgOuterHolder" #bgOuterHolder>
137
- <div id="bgInnerHolder" style="height: 100vh">
138
- <div class="backgroundImage" id="backgroundImage">
139
- <img class="picture" [src]="imageUrl" loading="lazy" />
140
- <span id="backgroundImageOverlay" class="overlay"></span>
141
- </div>
142
- </div>
143
- </div>
144
- </div>
145
- }
146
- <section loadExternalFiles class="section" id="mainpage" #sectionRef>
147
- <div #containerRef></div>
148
- </section>
149
- <div class="page-wrapper">
150
- <router-outlet></router-outlet>
151
- </div>
152
- <!-- <footer #footerRef></footer> -->
153
- <ng-container #footerRef></ng-container>
154
- `,
155
- changeDetection: ChangeDetectionStrategy.OnPush
156
- }]
157
- }], propDecorators: { sectionRef: [{
158
- type: ViewChild,
159
- args: ['sectionRef']
160
- }], footerRefVcr: [{
161
- type: ViewChild,
162
- args: ['footerRef', { read: ViewContainerRef }]
163
- }] } });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1wb3J0YWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9yb290LXBvcnRhbC9yb290LXBvcnRhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBc0IsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBILE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBYyxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxELE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7OztBQXlDN0MsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGlCQUFpQjtJQXRDMUQ7O1FBMkNJLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDZCxnQkFBVyxHQUFHLElBQUksQ0FBQztLQXlFdEI7SUF2RUcsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBQ25DLDJCQUEyQjtRQUUzQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNwQyxJQUFJLEtBQUssWUFBWSxlQUFlLElBQUksS0FBSyxZQUFZLFdBQVcsRUFBRSxDQUFDO2dCQUNuRSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxDQUFDO1lBQ0QsSUFBSSxLQUFLLFlBQVksYUFBYSxJQUFJLEtBQUssWUFBWSxXQUFXLEVBQUUsQ0FBQztnQkFDakUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNTLHlCQUF5QjtRQUMvQixRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsVUFBVSxRQUFRO1lBQ3ZGLElBQUksUUFBUSxLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUNyQixRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUM3RCxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztvQkFDdEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDN0IsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ1Msb0NBQW9DO1FBQzFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFVLFFBQVE7WUFDdkYsSUFBSSxRQUFRLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ3JCLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzVCLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNTLG1CQUFtQjtRQUN6QixRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFVLFFBQVE7WUFDL0YsSUFBSSxRQUFRLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ3JCLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7Z0JBQzdDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNuQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMvRSxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ1MsU0FBUyxDQUFDLFFBQThCO1FBQzlDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsT0FBTztRQUNYLENBQUM7UUFDRCxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNsRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDO2FBQ3BDLElBQUksQ0FDRCxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUMzQixHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNkLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7WUFDdkQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUN6RCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pELENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDTDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDUyxrQkFBa0IsQ0FBQyxRQUE4QjtRQUN2RCxLQUFLLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV6QixTQUFTLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUN6RCxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztRQUNuRCxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQWUsQ0FBQztRQUM5QyxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztZQUMzRSxJQUFJLENBQUMsUUFBUSxHQUFHLDJCQUEyQixZQUFZLG1CQUFtQixDQUFDO1FBQy9FLENBQUM7SUFDTCxDQUFDOzhHQTlFUSxtQkFBbUI7a0dBQW5CLG1CQUFtQix5T0FFSSxnQkFBZ0Isb0RBdEN0Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaUNUOzsyRkFHUSxtQkFBbUI7a0JBdEMvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaUNUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs4QkFFNEIsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUM2QixZQUFZO3NCQUEvRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyRXZlbnQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQmFyc2FBcGksIFBhZ2VCYXNlQ29tcG9uZW50LCBQYWdlRGF0YU1vZGVsIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcyc7XG5pbXBvcnQgeyBpc0luTG9jYWxNb2RlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmRlY2xhcmUgY29uc3QgQmlnTnVtYmVyOiBhbnk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYm5yYy1yb290LXBvcnRhbCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgQGlmKGluTG9jYWxNb2RlKXtcbiAgICAgICAgPGRpdiBjbGFzcz1cImZkLXRvb2xiYXJcIiBzdHlsZT1cImZsZXgtd3JhcDp3cmFwO3BhZGRpbmc6MC41cmVtO2hlaWdodDphdXRvXCI+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmQtYnV0dG9uIGZkLWJ1dHRvbi0tYXR0ZW50aW9uIGlzLWNvbXBhY3RcIiAoY2xpY2spPVwib25SZW1vdmVPZmZsaW5lRGF0YSgpXCI+XG4gICAgICAgICAgICAgICAg2K3YsNmBINin2LfZhNin2LnYp9iqINii2YHZhNin24zZhlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmQtYnV0dG9uIGZkLWJ1dHRvbi0tbmVnYXRpdmUgaXMtY29tcGFjdFwiIChjbGljayk9XCJvblJlbW92ZU9mZmxpbmVEYXRhQW5kUmV0dXJuVG9PbmxpbmUoKVwiPlxuICAgICAgICAgICAgICAgINit2LDZgSDYp9i32YTYp9i52KfYqiDYotmB2YTYp9uM2YYg2Ygg2KjYsdqv2LTYqiDYqNmHINit2KfZhNiqINii2YbZhNin24zZhlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmQtYnV0dG9uIGZkLWJ1dHRvbi0tcG9zaXRpdmUgaXMtY29tcGFjdFwiIChjbGljayk9XCJvblNlbmRPZmZsaW5lRGF0YVRvU2VydmVyKClcIj5cbiAgICAgICAgICAgICAgICDYp9ix2LPYp9mEINin2LfZhNin2LnYp9iqINii2YHZhNin24zZhiDYqNmHINiz2LHZiNixXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH0gQGlmIChpbWFnZVVybCkge1xuICAgICAgICA8ZGl2IGlkPVwiaGVhZGVyU3BhY2VIb2xkZXJcIiAjaGVhZGVyU3BhY2VIb2xkZXI+XG4gICAgICAgICAgICA8ZGl2IGlkPVwiYmdPdXRlckhvbGRlclwiICNiZ091dGVySG9sZGVyPlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJiZ0lubmVySG9sZGVyXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMHZoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYWNrZ3JvdW5kSW1hZ2VcIiBpZD1cImJhY2tncm91bmRJbWFnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInBpY3R1cmVcIiBbc3JjXT1cImltYWdlVXJsXCIgbG9hZGluZz1cImxhenlcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJiYWNrZ3JvdW5kSW1hZ2VPdmVybGF5XCIgY2xhc3M9XCJvdmVybGF5XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICA8c2VjdGlvbiBsb2FkRXh0ZXJuYWxGaWxlcyBjbGFzcz1cInNlY3Rpb25cIiBpZD1cIm1haW5wYWdlXCIgI3NlY3Rpb25SZWY+XG4gICAgICAgICAgICA8ZGl2ICNjb250YWluZXJSZWY+PC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBhZ2Utd3JhcHBlclwiPlxuICAgICAgICAgICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSA8Zm9vdGVyICNmb290ZXJSZWY+PC9mb290ZXI+IC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICNmb290ZXJSZWY+PC9uZy1jb250YWluZXI+XG4gICAgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBSb290UG9ydGFsQ29tcG9uZW50IGV4dGVuZHMgUGFnZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ3NlY3Rpb25SZWYnKSBzZWN0aW9uUmVmOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ2Zvb3RlclJlZicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSBmb290ZXJSZWZWY3I6IFZpZXdDb250YWluZXJSZWY7XG4gICAgcG9ydGFsTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgbW9kdWxlczogYW55O1xuICAgIGlzUm9vdCA9IHRydWU7XG4gICAgaW5Mb2NhbE1vZGUgPSB0cnVlO1xuICAgIGltYWdlVXJsOiBzdHJpbmc7XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuaW5Mb2NhbE1vZGUgPSBpc0luTG9jYWxNb2RlKCk7XG4gICAgICAgIC8vIHRoaXMuaW5Mb2NhbE1vZGUgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuX3JvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0ICYmIGV2ZW50IGluc3RhbmNlb2YgUm91dGVyRXZlbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLm5hdmlhdGlvblN0YXJ0KGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgJiYgZXZlbnQgaW5zdGFuY2VvZiBSb3V0ZXJFdmVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UubmF2aWF0aW9uRW5kKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBvblNlbmRPZmZsaW5lRGF0YVRvU2VydmVyKCk6IHZvaWQge1xuICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuWWVzTm8oQmFyc2FBcGkuQkJCLk9mZmxpbmVHb09ubGluZSwgQmFyc2FBcGkuQkJCLkRlbGV0ZSwgZnVuY3Rpb24gKGJ1dHRvbklkKSB7XG4gICAgICAgICAgICBpZiAoYnV0dG9uSWQgPT09ICd5ZXMnKSB7XG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuQncuTXNnLldhaXQoMCwgQmFyc2FBcGkuQkJCLkxvYWRpbmdNYXNrTXNnLCAnd2FpdCcpO1xuICAgICAgICAgICAgICAgIEJhcnNhQXBpLk9mZmxpbmUuR29PbmxpbmUoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgb25SZW1vdmVPZmZsaW5lRGF0YUFuZFJldHVyblRvT25saW5lKCk6IHZvaWQge1xuICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuWWVzTm8oQmFyc2FBcGkuQkJCLk9mZmxpbmVDbGVhckFsbCwgQmFyc2FBcGkuQkJCLkRlbGV0ZSwgZnVuY3Rpb24gKGJ1dHRvbklkKSB7XG4gICAgICAgICAgICBpZiAoYnV0dG9uSWQgPT09ICd5ZXMnKSB7XG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuT2ZmbGluZS5DbGVhckFsbCgpO1xuICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBvblJlbW92ZU9mZmxpbmVEYXRhKCk6IHZvaWQge1xuICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuWWVzTm8oQmFyc2FBcGkuQkJCLk9mZmxpbmVDbGVhclVuc2F2ZWREYXRhLCBCYXJzYUFwaS5CQkIuRGVsZXRlLCBmdW5jdGlvbiAoYnV0dG9uSWQpIHtcbiAgICAgICAgICAgIGlmIChidXR0b25JZCA9PT0gJ3llcycpIHtcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5PZmZsaW5lLkNhY2hlZERhdGEuVW5zYXZlZERhdGEgPSB7fTtcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5PZmZsaW5lLkNhY2hlZERhdGEuc2F2ZSgpO1xuICAgICAgICAgICAgICAgIEJhcnNhQXBpLkJ3LlRvYXN0LlN1Y2Nlc3MoQmFyc2FBcGkuQkJCLkFjdGlvbiArIEJhcnNhQXBpLkJCQi5Kb2JDb21wbGV0ZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIGFkZEZvb3RlcihwYWdlRGF0YTogUGFnZURhdGFNb2RlbCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFwYWdlRGF0YT8uRm9vdGVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZm9vdGVyQ29tcG9uZW50ID0gcGFnZURhdGEuRm9vdGVyLkNvbXBvbmVudDtcbiAgICAgICAgdGhpcy5nZXRDb21wb25lbnRGYWN0b3J5KGZvb3RlckNvbXBvbmVudClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgICB0YXAoKGNvbnRyb2xVaSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb250cm9sVWkuaW5zdGFuY2Uuc2V0dGluZ3MgPSBmb290ZXJDb21wb25lbnQuU2V0dGluZ3M7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2xVaS5pbnN0YW5jZS5hY3RpdmF0ZWRSb3V0ZSA9IHRoaXMuX2FjdGl2YXRlZFJvdXRlO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5mb290ZXJSZWZWY3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9vdGVyUmVmVmNyLmluc2VydChjb250cm9sVWkuaG9zdFZpZXcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIHJlbmRlclBsYWNlSG9sZGVycyhwYWdlRGF0YTogUGFnZURhdGFNb2RlbCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIucmVuZGVyUGxhY2VIb2xkZXJzKHBhZ2VEYXRhKTtcbiAgICAgICAgdGhpcy5hZGRGb290ZXIocGFnZURhdGEpO1xuXG4gICAgICAgIEJpZ051bWJlci5wcm90b3R5cGUuc3VidHJhY3QgPSBCaWdOdW1iZXIucHJvdG90eXBlLm1pbnVzO1xuICAgICAgICBCaWdOdW1iZXIucHJvdG90eXBlLmFkZCA9IEJpZ051bWJlci5wcm90b3R5cGUucGx1cztcbiAgICAgICAgY29uc3QgeyBCYWNrZ3JvdW5kSWQgfSA9IHRoaXMucGFnZURhdGEgYXMgYW55O1xuICAgICAgICBpZiAoQmFja2dyb3VuZElkKSB7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlcjIuYWRkQ2xhc3ModGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ3Jvb3QtY3VzdG9tLWJhY2tncm91bmQnKTtcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VVcmwgPSBgL0lILmFzaHg/dHk9SUQmbW9JZD0maWQ9JHtCYWNrZ3JvdW5kSWR9JnNpPTE5MjAmc2loPTEwODBgO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19