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,19 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { BaseComponent } from '../abstract-classes/base.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../services/network-status.service";
5
- export class ServerConnectionErrorComponent extends BaseComponent {
6
- constructor(_networkStatusService) {
7
- super();
8
- }
9
- onReload() {
10
- window.location.reload();
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ServerConnectionErrorComponent, deps: [{ token: i1.NetworkStatusService }], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: ServerConnectionErrorComponent, selector: "bnrc-server-connection-error", usesInheritance: true, ngImport: i0, template: "<div class=\"container\">\n <span></span>\n <div class=\"middle\">\n <h1>502</h1>\n <p>\u0627\u0631\u062A\u0628\u0627\u0637 \u0628\u0627 \u0633\u0631\u0648\u0631 \u062F\u06CC\u062A\u0627 \u0642\u0637\u0639 \u0645\u06CC \u0628\u0627\u0634\u062F.</p>\n </div>\n <div>\n <button class=\"fd-button fd-button--transparent\" (click)=\"onReload()\">Reload</button>\n </div>\n</div>\n", styles: [":host{direction:rtl}:host .container{height:100%;text-align:center;display:flex;flex-direction:column}:host span{height:100%;vertical-align:middle;display:inline-block}:host .middle{vertical-align:middle;margin:0;display:inline-block}:host h1{font-size:25em}:host p{margin:-70px 0 0;padding:0;font-size:2em}:host a{color:#ccc}@media only screen and (max-width: 767px){:host h1{font-size:13em}:host p{font-size:1.5em;margin-top:-50px}}@media only screen and (max-width: 400px){:host h1{font-size:9em}:host p{font-size:1em;margin-top:-30px}}:host button{margin-top:5rem;border:1px solid #ccc;padding:5px;max-width:120px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ServerConnectionErrorComponent, decorators: [{
16
- type: Component,
17
- args: [{ selector: 'bnrc-server-connection-error', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"container\">\n <span></span>\n <div class=\"middle\">\n <h1>502</h1>\n <p>\u0627\u0631\u062A\u0628\u0627\u0637 \u0628\u0627 \u0633\u0631\u0648\u0631 \u062F\u06CC\u062A\u0627 \u0642\u0637\u0639 \u0645\u06CC \u0628\u0627\u0634\u062F.</p>\n </div>\n <div>\n <button class=\"fd-button fd-button--transparent\" (click)=\"onReload()\">Reload</button>\n </div>\n</div>\n", styles: [":host{direction:rtl}:host .container{height:100%;text-align:center;display:flex;flex-direction:column}:host span{height:100%;vertical-align:middle;display:inline-block}:host .middle{vertical-align:middle;margin:0;display:inline-block}:host h1{font-size:25em}:host p{margin:-70px 0 0;padding:0;font-size:2em}:host a{color:#ccc}@media only screen and (max-width: 767px){:host h1{font-size:13em}:host p{font-size:1.5em;margin-top:-50px}}@media only screen and (max-width: 400px){:host h1{font-size:9em}:host p{font-size:1em;margin-top:-30px}}:host button{margin-top:5rem;border:1px solid #ccc;padding:5px;max-width:120px}\n"] }]
18
- }], ctorParameters: () => [{ type: i1.NetworkStatusService }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLWNvbm5lY3Rpb24tZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9zZXJ2ZXItY29ubmVjdGlvbi1lcnJvci9zZXJ2ZXItY29ubmVjdGlvbi1lcnJvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3NlcnZlci1jb25uZWN0aW9uLWVycm9yL3NlcnZlci1jb25uZWN0aW9uLWVycm9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFTbkUsTUFBTSxPQUFPLDhCQUErQixTQUFRLGFBQWE7SUFDN0QsWUFBWSxxQkFBMkM7UUFDbkQsS0FBSyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsUUFBUTtRQUNKLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs4R0FOUSw4QkFBOEI7a0dBQTlCLDhCQUE4QiwyRkNWM0MsOFpBVUE7OzJGREFhLDhCQUE4QjtrQkFOMUMsU0FBUzsrQkFDSSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcy9iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZXR3b3JrU3RhdHVzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25ldHdvcmstc3RhdHVzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JucmMtc2VydmVyLWNvbm5lY3Rpb24tZXJyb3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZXJ2ZXItY29ubmVjdGlvbi1lcnJvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VydmVyLWNvbm5lY3Rpb24tZXJyb3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTZXJ2ZXJDb25uZWN0aW9uRXJyb3JDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3RvcihfbmV0d29ya1N0YXR1c1NlcnZpY2U6IE5ldHdvcmtTdGF0dXNTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuICAgIG9uUmVsb2FkKCk6IHZvaWQge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgIDxzcGFuPjwvc3Bhbj5cbiAgICA8ZGl2IGNsYXNzPVwibWlkZGxlXCI+XG4gICAgICAgIDxoMT41MDI8L2gxPlxuICAgICAgICA8cD7Yp9ix2KrYqNin2Lcg2KjYpyDYs9ix2YjYsSDYr9uM2KrYpyDZgti32Lkg2YXbjCDYqNin2LTYry48L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImZkLWJ1dHRvbiBmZC1idXR0b24tLXRyYW5zcGFyZW50XCIgKGNsaWNrKT1cIm9uUmVsb2FkKClcIj5SZWxvYWQ8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,63 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { from } from 'rxjs';
3
- import { BarsaApi } from '../abstract-classes/barsa-api';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- export class ApiService {
7
- constructor(httpClient) {
8
- this.httpClient = httpClient;
9
- this.portalLoginUrl = `/api/auth/portal/login`;
10
- this.executeUrl = `api/base/execute`;
11
- }
12
- loginPortal() {
13
- return this.httpClient.get(this.portalLoginUrl);
14
- }
15
- GetCartableTemplate(keyOfCartableTemplates) {
16
- return from(this.loadFormAjax({ viewSettings: keyOfCartableTemplates }, 'List94.LoadCartableTemplates'));
17
- }
18
- loadPortalPageData(pageId, typeDefId) {
19
- return from(this.loadFormAjax({
20
- formParam: {
21
- IsNew: false,
22
- Mo: { Id: pageId, $TypeDefId: typeDefId }
23
- }
24
- }, 'Form94.GetPortal'));
25
- }
26
- loadPortal(portalId, typeDefId) {
27
- return from(this.loadFormAjax({
28
- formParam: {
29
- IsNew: false,
30
- Mo: { Id: portalId, $TypeDefId: typeDefId }
31
- }
32
- }, 'Form94.GetPortal'));
33
- }
34
- loadPortalSync(portalId, typeDefId) {
35
- return this.getServerDataSync({
36
- formParam: {
37
- IsNew: false,
38
- Mo: { Id: portalId, $TypeDefId: typeDefId }
39
- }
40
- }, 'Form94.GetPortal');
41
- }
42
- getServerDataSync(param, action) {
43
- return BarsaApi.Common.Ajax.GetServerData_SyncReturn(action, param, false);
44
- }
45
- loadFormAjax(param, action) {
46
- return new Promise((resolve, reject) => {
47
- BarsaApi.Common.Ajax.GetServerData(action, param, (m) => {
48
- resolve(m);
49
- }, (err) => {
50
- reject(err);
51
- });
52
- });
53
- }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
55
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ApiService, providedIn: 'root' }); }
56
- }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ApiService, decorators: [{
58
- type: Injectable,
59
- args: [{
60
- providedIn: 'root'
61
- }]
62
- }], ctorParameters: () => [{ type: i1.HttpClient }] });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQU16RCxNQUFNLE9BQU8sVUFBVTtJQUduQixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRjFDLG1CQUFjLEdBQUcsd0JBQXdCLENBQUM7UUFDMUMsZUFBVSxHQUFHLGtCQUFrQixDQUFDO0lBQ2EsQ0FBQztJQUV2QyxXQUFXO1FBQ2QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBYyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUNNLG1CQUFtQixDQUFDLHNCQUE2QztRQUNwRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFFLEVBQUUsOEJBQThCLENBQUMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFDTSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsU0FBUztRQUN2QyxPQUFPLElBQUksQ0FDUCxJQUFJLENBQUMsWUFBWSxDQUNiO1lBQ0ksU0FBUyxFQUFFO2dCQUNQLEtBQUssRUFBRSxLQUFLO2dCQUNaLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRTthQUM1QztTQUNKLEVBQ0Qsa0JBQWtCLENBQ3JCLENBQ0osQ0FBQztJQUNOLENBQUM7SUFDTSxVQUFVLENBQUMsUUFBUSxFQUFFLFNBQVM7UUFDakMsT0FBTyxJQUFJLENBQ1AsSUFBSSxDQUFDLFlBQVksQ0FDYjtZQUNJLFNBQVMsRUFBRTtnQkFDUCxLQUFLLEVBQUUsS0FBSztnQkFDWixFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUU7YUFDOUM7U0FDSixFQUNELGtCQUFrQixDQUNyQixDQUNKLENBQUM7SUFDTixDQUFDO0lBQ00sY0FBYyxDQUFDLFFBQVEsRUFBRSxTQUFTO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUN6QjtZQUNJLFNBQVMsRUFBRTtnQkFDUCxLQUFLLEVBQUUsS0FBSztnQkFDWixFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUU7YUFDOUM7U0FDSixFQUNELGtCQUFrQixDQUNyQixDQUFDO0lBQ04sQ0FBQztJQUNPLGlCQUFpQixDQUFDLEtBQUssRUFBRSxNQUFNO1FBQ25DLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBQ08sWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNO1FBQzlCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbkMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUM5QixNQUFNLEVBQ04sS0FBSyxFQUNMLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ0YsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2YsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ0osTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hCLENBQUMsQ0FDSixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQWhFUSxVQUFVO2tIQUFWLFVBQVUsY0FGUCxNQUFNOzsyRkFFVCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEJhcnNhQXBpIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcy9iYXJzYS1hcGknO1xuaW1wb3J0IHsgQ2FydGFibGVUZW1wbGF0ZUtleSwgTG9naW5SZXN1bHQsIFBvcnRhbERhdGFNb2RlbCB9IGZyb20gJy4uL2Fic3RyYWN0LWNsYXNzZXMvbW9kZWxzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBcGlTZXJ2aWNlIHtcbiAgICBwb3J0YWxMb2dpblVybCA9IGAvYXBpL2F1dGgvcG9ydGFsL2xvZ2luYDtcbiAgICBleGVjdXRlVXJsID0gYGFwaS9iYXNlL2V4ZWN1dGVgO1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCkge31cblxuICAgIHB1YmxpYyBsb2dpblBvcnRhbCgpOiBPYnNlcnZhYmxlPExvZ2luUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PExvZ2luUmVzdWx0Pih0aGlzLnBvcnRhbExvZ2luVXJsKTtcbiAgICB9XG4gICAgcHVibGljIEdldENhcnRhYmxlVGVtcGxhdGUoa2V5T2ZDYXJ0YWJsZVRlbXBsYXRlczogQ2FydGFibGVUZW1wbGF0ZUtleVtdKTogT2JzZXJ2YWJsZTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9PiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMubG9hZEZvcm1BamF4KHsgdmlld1NldHRpbmdzOiBrZXlPZkNhcnRhYmxlVGVtcGxhdGVzIH0sICdMaXN0OTQuTG9hZENhcnRhYmxlVGVtcGxhdGVzJykpO1xuICAgIH1cbiAgICBwdWJsaWMgbG9hZFBvcnRhbFBhZ2VEYXRhKHBhZ2VJZCwgdHlwZURlZklkKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGZyb20oXG4gICAgICAgICAgICB0aGlzLmxvYWRGb3JtQWpheChcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZvcm1QYXJhbToge1xuICAgICAgICAgICAgICAgICAgICAgICAgSXNOZXc6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgTW86IHsgSWQ6IHBhZ2VJZCwgJFR5cGVEZWZJZDogdHlwZURlZklkIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgJ0Zvcm05NC5HZXRQb3J0YWwnXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuICAgIHB1YmxpYyBsb2FkUG9ydGFsKHBvcnRhbElkLCB0eXBlRGVmSWQpOiBPYnNlcnZhYmxlPFBvcnRhbERhdGFNb2RlbD4ge1xuICAgICAgICByZXR1cm4gZnJvbShcbiAgICAgICAgICAgIHRoaXMubG9hZEZvcm1BamF4KFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZm9ybVBhcmFtOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBJc05ldzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBNbzogeyBJZDogcG9ydGFsSWQsICRUeXBlRGVmSWQ6IHR5cGVEZWZJZCB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICdGb3JtOTQuR2V0UG9ydGFsJ1xuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cbiAgICBwdWJsaWMgbG9hZFBvcnRhbFN5bmMocG9ydGFsSWQsIHR5cGVEZWZJZCk6IFBvcnRhbERhdGFNb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFNlcnZlckRhdGFTeW5jKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZvcm1QYXJhbToge1xuICAgICAgICAgICAgICAgICAgICBJc05ldzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIE1vOiB7IElkOiBwb3J0YWxJZCwgJFR5cGVEZWZJZDogdHlwZURlZklkIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgJ0Zvcm05NC5HZXRQb3J0YWwnXG4gICAgICAgICk7XG4gICAgfVxuICAgIHByaXZhdGUgZ2V0U2VydmVyRGF0YVN5bmMocGFyYW0sIGFjdGlvbik6IFBvcnRhbERhdGFNb2RlbCB7XG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5Db21tb24uQWpheC5HZXRTZXJ2ZXJEYXRhX1N5bmNSZXR1cm4oYWN0aW9uLCBwYXJhbSwgZmFsc2UpO1xuICAgIH1cbiAgICBwcml2YXRlIGxvYWRGb3JtQWpheChwYXJhbSwgYWN0aW9uKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5BamF4LkdldFNlcnZlckRhdGEoXG4gICAgICAgICAgICAgICAgYWN0aW9uLFxuICAgICAgICAgICAgICAgIHBhcmFtLFxuICAgICAgICAgICAgICAgIChtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUobSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,95 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import RecordRTC from 'recordrtc';
3
- import moment from 'moment';
4
- import { Subject } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- export class AudioRecordingService {
7
- constructor() {
8
- this._recorded = new Subject();
9
- this._recordingTime = new Subject();
10
- this._recordingFailed = new Subject();
11
- }
12
- getRecordedBlob() {
13
- return this._recorded.asObservable();
14
- }
15
- getRecordedTime() {
16
- return this._recordingTime.asObservable();
17
- }
18
- recordingFailed() {
19
- return this._recordingFailed.asObservable();
20
- }
21
- startRecording() {
22
- if (this.recorder) {
23
- // It means recording is already started or it is already recording something
24
- return;
25
- }
26
- this._recordingTime.next('00:00');
27
- navigator.mediaDevices
28
- .getUserMedia({ audio: true })
29
- .then((s) => {
30
- this.stream = s;
31
- this.record();
32
- })
33
- .catch((_) => {
34
- this._recordingFailed.next('');
35
- });
36
- }
37
- abortRecording() {
38
- this.stopMedia();
39
- }
40
- record() {
41
- this.recorder = new RecordRTC.StereoAudioRecorder(this.stream, {
42
- type: 'audio',
43
- mimeType: 'audio/mp3'
44
- });
45
- this.recorder.record();
46
- this.startTime = moment();
47
- this.interval = setInterval(() => {
48
- const currentTime = moment();
49
- const diffTime = moment.duration(currentTime.diff(this.startTime));
50
- const time = this.toString(diffTime.minutes()) + ':' + this.toString(diffTime.seconds());
51
- this._recordingTime.next(time);
52
- }, 500);
53
- }
54
- toString(value) {
55
- let val = value;
56
- if (!value) {
57
- val = '00';
58
- }
59
- if (value < 10) {
60
- val = '0' + value;
61
- }
62
- return val;
63
- }
64
- stopRecording() {
65
- if (this.recorder) {
66
- this.recorder.stop((blob) => {
67
- if (this.startTime) {
68
- const mp3Name = encodeURIComponent('audio_' + new Date().getTime() + '.mp3');
69
- this.stopMedia();
70
- this._recorded.next({ blob, title: mp3Name });
71
- }
72
- }, () => {
73
- this.stopMedia();
74
- this._recordingFailed.next('');
75
- });
76
- }
77
- }
78
- stopMedia() {
79
- if (this.recorder) {
80
- this.recorder = null;
81
- clearInterval(this.interval);
82
- this.startTime = null;
83
- if (this.stream) {
84
- this.stream.getAudioTracks().forEach((track) => track.stop());
85
- this.stream = null;
86
- }
87
- }
88
- }
89
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: AudioRecordingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
90
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: AudioRecordingService }); }
91
- }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: AudioRecordingService, decorators: [{
93
- type: Injectable
94
- }] });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8tcmVjb3JkaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3NlcnZpY2VzL2F1ZGlvLXJlY29yZGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQVEzQyxNQUFNLE9BQU8scUJBQXFCO0lBRGxDO1FBTVksY0FBUyxHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO1FBQy9DLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUN2QyxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO0tBNEZwRDtJQTFGRyxlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQiw2RUFBNkU7WUFDN0UsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsQyxTQUFTLENBQUMsWUFBWTthQUNqQixZQUFZLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDN0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDUixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNoQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDVCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVPLE1BQU07UUFDVixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksU0FBUyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDM0QsSUFBSSxFQUFFLE9BQU87WUFDYixRQUFRLEVBQUUsV0FBVztTQUN4QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQzdCLE1BQU0sV0FBVyxHQUFHLE1BQU0sRUFBRSxDQUFDO1lBQzdCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUNuRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ3pGLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNaLENBQUM7SUFFTyxRQUFRLENBQUMsS0FBSztRQUNsQixJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDaEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1QsR0FBRyxHQUFHLElBQUksQ0FBQztRQUNmLENBQUM7UUFDRCxJQUFJLEtBQUssR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUNiLEdBQUcsR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2QsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDTCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDakIsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7b0JBQzdFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQ2xELENBQUM7WUFDTCxDQUFDLEVBQ0QsR0FBRyxFQUFFO2dCQUNELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuQyxDQUFDLENBQ0osQ0FBQztRQUNOLENBQUM7SUFDTCxDQUFDO0lBRU8sU0FBUztRQUNiLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUN2QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7OEdBbEdRLHFCQUFxQjtrSEFBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgUmVjb3JkUlRDIGZyb20gJ3JlY29yZHJ0Yyc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW50ZXJmYWNlIFJlY29yZGVkQXVkaW9PdXRwdXQge1xyXG4gICAgYmxvYjogQmxvYjtcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEF1ZGlvUmVjb3JkaW5nU2VydmljZSB7XHJcbiAgICBwcml2YXRlIHN0cmVhbTtcclxuICAgIHByaXZhdGUgcmVjb3JkZXI7XHJcbiAgICBwcml2YXRlIGludGVydmFsO1xyXG4gICAgcHJpdmF0ZSBzdGFydFRpbWU7XHJcbiAgICBwcml2YXRlIF9yZWNvcmRlZCA9IG5ldyBTdWJqZWN0PFJlY29yZGVkQXVkaW9PdXRwdXQ+KCk7XHJcbiAgICBwcml2YXRlIF9yZWNvcmRpbmdUaW1lID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gICAgcHJpdmF0ZSBfcmVjb3JkaW5nRmFpbGVkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG5cclxuICAgIGdldFJlY29yZGVkQmxvYigpOiBPYnNlcnZhYmxlPFJlY29yZGVkQXVkaW9PdXRwdXQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcmVjb3JkZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UmVjb3JkZWRUaW1lKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlY29yZGluZ1RpbWUuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVjb3JkaW5nRmFpbGVkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlY29yZGluZ0ZhaWxlZC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydFJlY29yZGluZygpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5yZWNvcmRlcikge1xyXG4gICAgICAgICAgICAvLyBJdCBtZWFucyByZWNvcmRpbmcgaXMgYWxyZWFkeSBzdGFydGVkIG9yIGl0IGlzIGFscmVhZHkgcmVjb3JkaW5nIHNvbWV0aGluZ1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9yZWNvcmRpbmdUaW1lLm5leHQoJzAwOjAwJyk7XHJcbiAgICAgICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlc1xyXG4gICAgICAgICAgICAuZ2V0VXNlck1lZGlhKHsgYXVkaW86IHRydWUgfSlcclxuICAgICAgICAgICAgLnRoZW4oKHMpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RyZWFtID0gcztcclxuICAgICAgICAgICAgICAgIHRoaXMucmVjb3JkKCk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5jYXRjaCgoXykgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcmVjb3JkaW5nRmFpbGVkLm5leHQoJycpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhYm9ydFJlY29yZGluZygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnN0b3BNZWRpYSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVjb3JkKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVjb3JkZXIgPSBuZXcgUmVjb3JkUlRDLlN0ZXJlb0F1ZGlvUmVjb3JkZXIodGhpcy5zdHJlYW0sIHtcclxuICAgICAgICAgICAgdHlwZTogJ2F1ZGlvJyxcclxuICAgICAgICAgICAgbWltZVR5cGU6ICdhdWRpby9tcDMnXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMucmVjb3JkZXIucmVjb3JkKCk7XHJcbiAgICAgICAgdGhpcy5zdGFydFRpbWUgPSBtb21lbnQoKTtcclxuICAgICAgICB0aGlzLmludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VGltZSA9IG1vbWVudCgpO1xyXG4gICAgICAgICAgICBjb25zdCBkaWZmVGltZSA9IG1vbWVudC5kdXJhdGlvbihjdXJyZW50VGltZS5kaWZmKHRoaXMuc3RhcnRUaW1lKSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHRpbWUgPSB0aGlzLnRvU3RyaW5nKGRpZmZUaW1lLm1pbnV0ZXMoKSkgKyAnOicgKyB0aGlzLnRvU3RyaW5nKGRpZmZUaW1lLnNlY29uZHMoKSk7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlY29yZGluZ1RpbWUubmV4dCh0aW1lKTtcclxuICAgICAgICB9LCA1MDApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdG9TdHJpbmcodmFsdWUpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCB2YWwgPSB2YWx1ZTtcclxuICAgICAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgICAgICAgIHZhbCA9ICcwMCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh2YWx1ZSA8IDEwKSB7XHJcbiAgICAgICAgICAgIHZhbCA9ICcwJyArIHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdmFsO1xyXG4gICAgfVxyXG5cclxuICAgIHN0b3BSZWNvcmRpbmcoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMucmVjb3JkZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5yZWNvcmRlci5zdG9wKFxyXG4gICAgICAgICAgICAgICAgKGJsb2IpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5zdGFydFRpbWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbXAzTmFtZSA9IGVuY29kZVVSSUNvbXBvbmVudCgnYXVkaW9fJyArIG5ldyBEYXRlKCkuZ2V0VGltZSgpICsgJy5tcDMnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9wTWVkaWEoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVjb3JkZWQubmV4dCh7IGJsb2IsIHRpdGxlOiBtcDNOYW1lIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9wTWVkaWEoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZWNvcmRpbmdGYWlsZWQubmV4dCgnJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RvcE1lZGlhKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnJlY29yZGVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVjb3JkZXIgPSBudWxsO1xyXG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpO1xyXG4gICAgICAgICAgICB0aGlzLnN0YXJ0VGltZSA9IG51bGw7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnN0cmVhbSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdHJlYW0uZ2V0QXVkaW9UcmFja3MoKS5mb3JFYWNoKCh0cmFjaykgPT4gdHJhY2suc3RvcCgpKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RyZWFtID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,80 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { ModalRootComponent } from '../modal-root.component';
4
- import { ActivatedRoute } from '@angular/router';
5
- import * as i0 from "@angular/core";
6
- export class CustomInjector {
7
- constructor(parentInjector, additionalTokens, activatedRoute) {
8
- this.parentInjector = parentInjector;
9
- this.additionalTokens = additionalTokens;
10
- this.activatedRoute = activatedRoute;
11
- }
12
- get(token, notFoundValue) {
13
- if (token === ActivatedRoute && this.activatedRoute) {
14
- return this.activatedRoute;
15
- }
16
- const value = this.additionalTokens.get(token);
17
- if (value) {
18
- return value;
19
- }
20
- return this.parentInjector.get(token, notFoundValue);
21
- }
22
- }
23
- export class DialogParams {
24
- constructor() {
25
- this.afterClosed = new Subject();
26
- this.afterClosed$ = this.afterClosed?.asObservable();
27
- }
28
- close(result) {
29
- if (this.afterClosed != null) {
30
- this.afterClosed.next(result);
31
- }
32
- }
33
- ngOnDestroy() {
34
- this.afterClosed.unsubscribe();
35
- }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: DialogParams, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: DialogParams }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: DialogParams, decorators: [{
40
- type: Injectable
41
- }], ctorParameters: () => [] });
42
- export class BarsaDialogService {
43
- constructor(injector) {
44
- this.injector = injector;
45
- }
46
- showForm(component, context, container) {
47
- const weakMap = new WeakMap();
48
- const dialogParams = new DialogParams();
49
- dialogParams.context = context;
50
- weakMap.set(DialogParams, dialogParams);
51
- const viewContainerRef = container ?? this.containerComponent.vcr;
52
- const modalRootComponentRef = container.createComponent(ModalRootComponent, {
53
- injector: new CustomInjector(viewContainerRef.injector, weakMap)
54
- });
55
- modalRootComponentRef.instance.componentType = component;
56
- modalRootComponentRef.instance.insertComponent();
57
- if (!context.inDialog) {
58
- // viewContainerRef.element.nativeElement.classList.add('deactive');
59
- }
60
- viewContainerRef.insert(modalRootComponentRef.hostView, 0);
61
- this.containerComponent.cdr.detectChanges();
62
- const sub = dialogParams.afterClosed$?.subscribe(() => {
63
- modalRootComponentRef.instance.close();
64
- viewContainerRef.remove(0);
65
- sub?.unsubscribe();
66
- // viewContainerRef.element.nativeElement.classList.remove('deactive');
67
- });
68
- // this.modalRootComponentRef.instance.navigate();
69
- return dialogParams.afterClosed$;
70
- }
71
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaDialogService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
72
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaDialogService, providedIn: 'root' }); }
73
- }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaDialogService, decorators: [{
75
- type: Injectable,
76
- args: [{
77
- providedIn: 'root'
78
- }]
79
- }], ctorParameters: () => [{ type: i0.Injector }] });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3NlcnZpY2VzL2JhcnNhLWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBUWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRWpELE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLFlBQ1ksY0FBd0IsRUFDeEIsZ0JBQW1DLEVBQ25DLGNBQStCO1FBRi9CLG1CQUFjLEdBQWQsY0FBYyxDQUFVO1FBQ3hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFDbkMsbUJBQWMsR0FBZCxjQUFjLENBQWlCO0lBQ3hDLENBQUM7SUFHSixHQUFHLENBQUMsS0FBVSxFQUFFLGFBQW1CO1FBQy9CLElBQUksS0FBSyxLQUFLLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbEQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQy9CLENBQUM7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBTSxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDOUQsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLFlBQVk7SUFJckI7UUFEUSxnQkFBVyxHQUFpQixJQUFJLE9BQU8sRUFBTyxDQUFDO1FBRW5ELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsS0FBSyxDQUFDLE1BQVk7UUFDZCxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDOzhHQWZRLFlBQVk7a0hBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFEeEIsVUFBVTs7QUFzQlgsTUFBTSxPQUFPLGtCQUFrQjtJQUUzQixZQUFzQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQUcsQ0FBQztJQUU1QyxRQUFRLENBQUMsU0FBb0IsRUFBRSxPQUFZLEVBQUUsU0FBMkI7UUFDcEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUU5QixNQUFNLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hDLFlBQVksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRXhDLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUM7UUFDbEUsTUFBTSxxQkFBcUIsR0FBRyxTQUFTLENBQUMsZUFBZSxDQUFDLGtCQUFrQixFQUFFO1lBQ3hFLFFBQVEsRUFBRSxJQUFJLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDO1NBQ25FLENBQUMsQ0FBQztRQUVILHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO1FBQ3pELHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLG9FQUFvRTtRQUN4RSxDQUFDO1FBQ0QsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzVDLE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNsRCxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdkMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLEdBQUcsRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUNuQix1RUFBdUU7UUFDM0UsQ0FBQyxDQUFDLENBQUM7UUFDSCxrREFBa0Q7UUFDbEQsT0FBTyxZQUFZLENBQUMsWUFBWSxDQUFDO0lBQ3JDLENBQUM7OEdBL0JRLGtCQUFrQjtrSEFBbEIsa0JBQWtCLGNBRmYsTUFBTTs7MkZBRVQsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBJbmplY3RhYmxlLFxyXG4gICAgSW5qZWN0RmxhZ3MsXHJcbiAgICBJbmplY3RPcHRpb25zLFxyXG4gICAgSW5qZWN0b3IsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBQcm92aWRlclRva2VuLFxyXG4gICAgVHlwZSxcclxuICAgIFZpZXdDb250YWluZXJSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb250YWluZXIuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IE1vZGFsUm9vdENvbXBvbmVudCB9IGZyb20gJy4uL21vZGFsLXJvb3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuZXhwb3J0IGNsYXNzIEN1c3RvbUluamVjdG9yIGltcGxlbWVudHMgSW5qZWN0b3Ige1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBwYXJlbnRJbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgcHJpdmF0ZSBhZGRpdGlvbmFsVG9rZW5zOiBXZWFrTWFwPGFueSwgYW55PixcclxuICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlPzogQWN0aXZhdGVkUm91dGVcclxuICAgICkge31cclxuICAgIGdldDxUPih0b2tlbjogUHJvdmlkZXJUb2tlbjxUPiwgbm90Rm91bmRWYWx1ZT86IFQsIG9wdGlvbnM/OiBJbmplY3RPcHRpb25zIHwgSW5qZWN0RmxhZ3MpOiBUO1xyXG5cclxuICAgIGdldCh0b2tlbjogYW55LCBub3RGb3VuZFZhbHVlPzogYW55KTogYW55IHtcclxuICAgICAgICBpZiAodG9rZW4gPT09IEFjdGl2YXRlZFJvdXRlICYmIHRoaXMuYWN0aXZhdGVkUm91dGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZhdGVkUm91dGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5hZGRpdGlvbmFsVG9rZW5zLmdldCh0b2tlbik7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyZW50SW5qZWN0b3IuZ2V0PGFueT4odG9rZW4sIG5vdEZvdW5kVmFsdWUpO1xyXG4gICAgfVxyXG59XHJcbkBJbmplY3RhYmxlKCkgLy8gY2hlY2sgaXQgbGF0ZXJcclxuZXhwb3J0IGNsYXNzIERpYWxvZ1BhcmFtcyBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgICBjb250ZXh0OiBhbnk7XHJcbiAgICBhZnRlckNsb3NlZCQ6IE9ic2VydmFibGU8YW55PjtcclxuICAgIHByaXZhdGUgYWZ0ZXJDbG9zZWQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuYWZ0ZXJDbG9zZWQkID0gdGhpcy5hZnRlckNsb3NlZD8uYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcbiAgICBjbG9zZShyZXN1bHQ/OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5hZnRlckNsb3NlZCAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWZ0ZXJDbG9zZWQubmV4dChyZXN1bHQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmFmdGVyQ2xvc2VkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyc2FEaWFsb2dTZXJ2aWNlIHtcclxuICAgIGNvbnRhaW5lckNvbXBvbmVudDogQ29udGFpbmVyQ29tcG9uZW50O1xyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3Rvcikge31cclxuXHJcbiAgICBzaG93Rm9ybShjb21wb25lbnQ6IFR5cGU8YW55PiwgY29udGV4dDogYW55LCBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IHdlYWtNYXAgPSBuZXcgV2Vha01hcCgpO1xyXG5cclxuICAgICAgICBjb25zdCBkaWFsb2dQYXJhbXMgPSBuZXcgRGlhbG9nUGFyYW1zKCk7XHJcbiAgICAgICAgZGlhbG9nUGFyYW1zLmNvbnRleHQgPSBjb250ZXh0O1xyXG4gICAgICAgIHdlYWtNYXAuc2V0KERpYWxvZ1BhcmFtcywgZGlhbG9nUGFyYW1zKTtcclxuXHJcbiAgICAgICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZiA9IGNvbnRhaW5lciA/PyB0aGlzLmNvbnRhaW5lckNvbXBvbmVudC52Y3I7XHJcbiAgICAgICAgY29uc3QgbW9kYWxSb290Q29tcG9uZW50UmVmID0gY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChNb2RhbFJvb3RDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgaW5qZWN0b3I6IG5ldyBDdXN0b21JbmplY3Rvcih2aWV3Q29udGFpbmVyUmVmLmluamVjdG9yLCB3ZWFrTWFwKVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBtb2RhbFJvb3RDb21wb25lbnRSZWYuaW5zdGFuY2UuY29tcG9uZW50VHlwZSA9IGNvbXBvbmVudDtcclxuICAgICAgICBtb2RhbFJvb3RDb21wb25lbnRSZWYuaW5zdGFuY2UuaW5zZXJ0Q29tcG9uZW50KCk7XHJcbiAgICAgICAgaWYgKCFjb250ZXh0LmluRGlhbG9nKSB7XHJcbiAgICAgICAgICAgIC8vIHZpZXdDb250YWluZXJSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2RlYWN0aXZlJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHZpZXdDb250YWluZXJSZWYuaW5zZXJ0KG1vZGFsUm9vdENvbXBvbmVudFJlZi5ob3N0VmlldywgMCk7XHJcbiAgICAgICAgdGhpcy5jb250YWluZXJDb21wb25lbnQuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICBjb25zdCBzdWIgPSBkaWFsb2dQYXJhbXMuYWZ0ZXJDbG9zZWQkPy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICBtb2RhbFJvb3RDb21wb25lbnRSZWYuaW5zdGFuY2UuY2xvc2UoKTtcclxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZi5yZW1vdmUoMCk7XHJcbiAgICAgICAgICAgIHN1Yj8udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgLy8gdmlld0NvbnRhaW5lclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnZGVhY3RpdmUnKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICAvLyB0aGlzLm1vZGFsUm9vdENvbXBvbmVudFJlZi5pbnN0YW5jZS5uYXZpZ2F0ZSgpO1xyXG4gICAgICAgIHJldHVybiBkaWFsb2dQYXJhbXMuYWZ0ZXJDbG9zZWQkO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -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: "17.3.5", 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: "17.3.5", ngImport: i0, type: BarsaStorageService }); }
74
- }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2Etc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9iYXJzYS1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7O0FBR3pELE1BQU0sT0FBTyxtQkFBbUI7SUFLNUIsWUFDWSxXQUF1QixFQUN2QixvQkFBeUMsRUFDekMsaUJBQW1DO1FBRm5DLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDekMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQVAvQyxxQkFBZ0IsR0FBRyxjQUFjLENBQUM7UUFDbEMsZUFBVSxHQUFHLFVBQVUsQ0FBQztRQUN4Qix1QkFBa0IsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLFVBQVUsQ0FBQztRQUNsRCx5QkFBb0IsR0FBRyxrQkFBa0IsQ0FBQztJQUt2QyxDQUFDO0lBQ0osSUFBYyxzQkFBc0I7UUFDaEMsT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDO0lBQ25ELENBQUM7SUFDRCxZQUFZO1FBQ1IsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDL0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNwQywwREFBMEQ7UUFDMUQsOERBQThEO1FBQzlELDREQUE0RDtRQUM1RCxtQkFBbUI7UUFDbkIsT0FBTztRQUNQLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLFVBQzVCLE1BQWMsRUFDZCxHQUFpQixFQUNqQixLQUFlLEVBQ2YsUUFBd0IsRUFDeEIsUUFBd0I7WUFFeEIsbUNBQW1DO1lBQ25DLG1CQUFtQjtZQUNuQixzREFBc0Q7WUFDdEQsd0JBQXdCO1lBRXhCLFFBQVE7WUFDUixjQUFjO1lBQ2QsSUFBSTtZQUNKLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7Z0JBQzFCLHdDQUF3QztnQkFDeEMsdUZBQXVGO2dCQUN2RiwrREFBK0Q7Z0JBQy9ELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEtBQUssS0FBSyxFQUFFLENBQUM7b0JBQ2xFLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUMvQyxxQ0FBcUM7b0JBQ3JDLHdCQUF3QjtnQkFDNUIsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDekYsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUNELElBQUk7UUFDQSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBRS9DLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDakUsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3pFLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0MsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksZ0JBQWdCLEtBQUssSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDbkQsS0FBSyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDaEUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsY0FBYztRQUNWLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFDRCxZQUFZLENBQUMsT0FBZTtRQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUQsQ0FBQzs4R0F4RVEsbUJBQW1CO2tIQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5kZXhlZERiU2VydmljZSB9IGZyb20gJy4vaW5kZXhlZGRiLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFyc2FBcGkgfSBmcm9tICcuLi9hYnN0cmFjdC1jbGFzc2VzL2JhcnNhLWFwaSc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi9sb2cuc2VydmljZSc7XG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQmFyc2FTdG9yYWdlU2VydmljZSB7XG4gICAgU1RBUlRVUF9EQVRBX0tFWSA9ICdTVEFSVFVQX0RBVEEnO1xuICAgIERCTkFNRV9LRVkgPSAnQkFSU0FfREInO1xuICAgIERCTkFNRV9WRVJTSU9OX0tFWSA9IGAke3RoaXMuREJOQU1FX0tFWX1fVkVSU0lPTmA7XG4gICAgQkFaQVZBUklfVkVSU0lPTl9LRVkgPSBgQkFaQVZBUklfVkVSU0lPTmA7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2xvZ1NlcnZpY2U6IExvZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2xvY2FsU3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2luZGV4ZWREYlNlcnZpY2U6IEluZGV4ZWREYlNlcnZpY2VcbiAgICApIHt9XG4gICAgcHJvdGVjdGVkIGdldCBjdXJyZW50QmF6YXZhcmlWZXJzaW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLkNoYW5nZUtleVZlcnNpb247XG4gICAgfVxuICAgIGludGVyY2VwdFhocigpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb3JpZ09wZW4gPSBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUub3BlbjtcbiAgICAgICAgY29uc3QgbG9nU2VydmljZSA9IHRoaXMuX2xvZ1NlcnZpY2U7XG4gICAgICAgIC8vIGNvbnN0IGlzQW5vbnltb3VzID0gQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Jc0Fub255bW91cztcbiAgICAgICAgLy8gY29uc3Qgc3RhcnR1cERhdGEgPSBKU09OLnN0cmluZ2lmeShCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhKTtcbiAgICAgICAgLy8gbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5TVEFSVFVQX0RBVEFfS0VZLCBzdGFydHVwRGF0YSk7XG4gICAgICAgIC8vIGNvbnN0IG1lID0gdGhpcztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgICBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUub3BlbiA9IGZ1bmN0aW9uIChcbiAgICAgICAgICAgIG1ldGhvZDogc3RyaW5nLFxuICAgICAgICAgICAgdXJsOiBzdHJpbmcgfCBVUkwsXG4gICAgICAgICAgICBhc3luYz86IGJvb2xlYW4sXG4gICAgICAgICAgICB1c2VybmFtZT86IHN0cmluZyB8IG51bGwsXG4gICAgICAgICAgICBwYXNzd29yZD86IHN0cmluZyB8IG51bGxcbiAgICAgICAgKSB7XG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygncmVxdWVzdCBzdGFydGVkIScpO1xuICAgICAgICAgICAgLy8gaWYoaXNBbm9ueW1vdXMpe1xuICAgICAgICAgICAgLy8gICAgIHZhciByZXNwb25zZVRleHQ9bWUuX2luZGV4ZWREYlNlcnZpY2UuZ2V0KHVybCk7XG4gICAgICAgICAgICAvLyAgICAgaWYocmVzcG9uc2VUZXh0KXtcblxuICAgICAgICAgICAgLy8gICAgIH1cbiAgICAgICAgICAgIC8vICAgICByZXR1cm47XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgLy8gICAgY29uc29sZS5sb2coJ3JlcXVlc3QgY29tcGxldGVkIScpO1xuICAgICAgICAgICAgICAgIC8vICAgY29uc29sZS5sb2codGhpcy5yZWFkeVN0YXRlKTsgLy8gd2lsbCBhbHdheXMgYmUgNCAoYWpheCBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5KVxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMucmVzcG9uc2VUZXh0KTsgLy8gd2hhdGV2ZXIgdGhlIHJlc3BvbnNlIHdhc1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnN0YXR1cyA9PT0gNDAxICYmIEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuc3VjY2VlZCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgbG9nU2VydmljZS5pbmZvKGB1bmF1dGhvcml6ZWQgJHt0aGlzLnN0YXR1c31gKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ2NsZWFyIGxvY2Fsc3RvcmFnZScpO1xuICAgICAgICAgICAgICAgICAgICAvLyBsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIG9yaWdPcGVuLmNhbGwodGhpcywgbWV0aG9kLCB1cmwsIGFzeW5jID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZSwgdXNlcm5hbWUsIHBhc3N3b3JkKTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgaW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnRlcmNlcHRYaHIoKTtcbiAgICAgICAgY29uc3QgbG9jYWxTdG9yYWdlID0gdGhpcy5fbG9jYWxTdG9yYWdlU2VydmljZTtcblxuICAgICAgICBjb25zdCBkYl92ZXJzaW9uID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5EQk5BTUVfVkVSU0lPTl9LRVkpO1xuICAgICAgICBjb25zdCBiYXphdmFyaV92ZXJzaW9uID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5CQVpBVkFSSV9WRVJTSU9OX0tFWSk7XG4gICAgICAgIGxldCBkYlZlciA9IDA7XG4gICAgICAgIGRiVmVyID0gTnVtYmVyLnBhcnNlSW50KGRiX3ZlcnNpb24gPz8gJzAnLCAxMCk7XG4gICAgICAgIGlmIChpc05hTihkYlZlcikgfHwgIWRiX3ZlcnNpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZGVsZXRlRGF0YWJhc2UoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYmF6YXZhcmlfdmVyc2lvbiAhPT0gdGhpcy5jdXJyZW50QmF6YXZhcmlWZXJzaW9uKSB7XG4gICAgICAgICAgICBkYlZlcisrO1xuICAgICAgICB9XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuREJOQU1FX1ZFUlNJT05fS0VZLCBkYlZlci50b1N0cmluZygpKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5CQVpBVkFSSV9WRVJTSU9OX0tFWSwgdGhpcy5jdXJyZW50QmF6YXZhcmlWZXJzaW9uKTtcbiAgICAgICAgdGhpcy5vcGVuRGF0YWJhc2UoZGJWZXIpO1xuICAgIH1cbiAgICBkZWxldGVEYXRhYmFzZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faW5kZXhlZERiU2VydmljZS5kZWxldGUodGhpcy5EQk5BTUVfS0VZKTtcbiAgICB9XG4gICAgb3BlbkRhdGFiYXNlKHZlcnNpb246IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbmRleGVkRGJTZXJ2aWNlLm9wZW4odGhpcy5EQk5BTUVfS0VZLCB2ZXJzaW9uKTtcbiAgICB9XG59XG4iXX0=
@@ -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: "17.3.5", ngImport: i0, type: BreadcrumbService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
56
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BreadcrumbService, providedIn: 'root' }); }
57
- }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9icmVhZGNydW1iLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXdCLGFBQWEsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU14RCxNQUFNLE9BQU8saUJBQWlCO0lBTzFCLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBSGxDLDRDQUE0QztRQUMzQixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFtQixFQUFFLENBQUMsQ0FBQztRQUd2RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2FBQ2IsSUFBSTtRQUNELG1HQUFtRztRQUNuRyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssWUFBWSxhQUFhLENBQUMsRUFDakQsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFDdEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUMxQzthQUNBLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hCLHFDQUFxQztZQUNyQyxzREFBc0Q7WUFDdEQsTUFBTSxXQUFXLEdBQXFCLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztZQUV0Qyx5QkFBeUI7WUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQTRCLEVBQUUsV0FBNkI7UUFDN0UsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLDRDQUE0QztZQUM1QyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUM7Z0JBQy9FLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztnQkFDYixNQUFNLFFBQVEsR0FBVyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUc7cUJBQ3RDLEdBQUcsQ0FDQSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ1IsR0FBRyxPQUFPLENBQUMsSUFBSSxHQUNYLE9BQU8sQ0FBQyxVQUFVO29CQUNkLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7b0JBQ25GLENBQUMsQ0FBQyxFQUNWLEVBQUUsQ0FDVDtxQkFDQSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2YsSUFBSSxRQUFRLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQ2xCLEdBQUcsSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUMxQixDQUFDO2dCQUNELE1BQU0sVUFBVSxHQUFHO29CQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO29CQUN6QyxHQUFHO29CQUNILEtBQUs7aUJBQ1IsQ0FBQztnQkFDRixXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7WUFDRCw4Q0FBOEM7WUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDTCxDQUFDO0lBRU8sUUFBUSxDQUFDLElBQVU7UUFDdkIsOEhBQThIO1FBQzlILE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7UUFFL0QsT0FBTyxPQUFPLFVBQVUsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUNqRixDQUFDOzhHQTlEUSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZkLE1BQU07OzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgRGF0YSwgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJyZWFkQ3J1bWJJbmZvIH0gZnJvbSAnLi9wb3J0YWwuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYlNlcnZpY2Uge1xuICAgIC8vIE9ic2VydmFibGUgZXhwb3NpbmcgdGhlIGJyZWFkY3J1bWIgaGllcmFyY2h5XG4gICAgcmVhZG9ubHkgYnJlYWRjcnVtYnMkOiBPYnNlcnZhYmxlPEJyZWFkQ3J1bWJJbmZvW10+O1xuXG4gICAgLy8gU3ViamVjdCBlbWl0dGluZyB0aGUgYnJlYWRjcnVtYiBoaWVyYXJjaHlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9icmVhZGNydW1icyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJyZWFkQ3J1bWJJbmZvW10+KFtdKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcbiAgICAgICAgdGhpcy5icmVhZGNydW1icyQgPSB0aGlzLl9icmVhZGNydW1icyQuYXNPYnNlcnZhYmxlKCk7XG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgLy8gRmlsdGVyIHRoZSBOYXZpZ2F0aW9uRW5kIGV2ZW50cyBhcyB0aGUgYnJlYWRjcnVtYiBpcyB1cGRhdGVkIG9ubHkgd2hlbiB0aGUgcm91dGUgcmVhY2hlcyBpdHMgZW5kXG4gICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgodGhpcy5yb3V0ZXIpLFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5yb290KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocm9vdCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIENvbnN0cnVjdCB0aGUgYnJlYWRjcnVtYiBoaWVyYXJjaHlcbiAgICAgICAgICAgICAgICAvLyBjb25zdCByb290ID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3Qucm9vdDtcbiAgICAgICAgICAgICAgICBjb25zdCBicmVhZGNydW1iczogQnJlYWRDcnVtYkluZm9bXSA9IFtdO1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkQnJlYWRjcnVtYihyb290LCBicmVhZGNydW1icyk7XG5cbiAgICAgICAgICAgICAgICAvLyBFbWl0IHRoZSBuZXcgaGllcmFyY2h5XG4gICAgICAgICAgICAgICAgdGhpcy5fYnJlYWRjcnVtYnMkLm5leHQoYnJlYWRjcnVtYnMpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRCcmVhZGNydW1iKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSB8IG51bGwsIGJyZWFkY3J1bWJzOiBCcmVhZENydW1iSW5mb1tdKTogdm9pZCB7XG4gICAgICAgIGlmIChyb3V0ZSkge1xuICAgICAgICAgICAgLy8gQWRkIGFuIGVsZW1lbnQgZm9yIHRoZSBjdXJyZW50IHJvdXRlIHBhcnRcbiAgICAgICAgICAgIGlmIChyb3V0ZS5zbmFwc2hvdC5kYXRhPy5icmVhZGNydW1iIHx8IHJvdXRlLnNuYXBzaG90LmRhdGE/LnBhZ2VEYXRhPy5CcmVhZENydW1iKSB7XG4gICAgICAgICAgICAgICAgbGV0IHVybCA9ICcnO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvdXRlVVJMOiBzdHJpbmcgPSByb3V0ZS5zbmFwc2hvdC51cmxcbiAgICAgICAgICAgICAgICAgICAgLm1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgIChzZWdtZW50KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke3NlZ21lbnQucGF0aH0ke1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWdtZW50LnBhcmFtZXRlcnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gYDske09iamVjdC5rZXlzKHNlZ21lbnQucGFyYW1ldGVycykubWFwKChjKSA9PiBgJHtjfT0ke3NlZ21lbnQucGFyYW1ldGVyc1tjXX1gKX1gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfWBcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAuam9pbignLycpO1xuICAgICAgICAgICAgICAgIGlmIChyb3V0ZVVSTCAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgdXJsICs9IGAvJHtyb3V0ZVVSTH1gO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBicmVhZGNydW1iID0ge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy5nZXRMYWJlbChyb3V0ZS5zbmFwc2hvdC5kYXRhKSxcbiAgICAgICAgICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgYnJlYWRjcnVtYnMucHVzaChicmVhZGNydW1iKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEFkZCBhbm90aGVyIGVsZW1lbnQgZm9yIHRoZSBuZXh0IHJvdXRlIHBhcnRcbiAgICAgICAgICAgIHRoaXMuYWRkQnJlYWRjcnVtYihyb3V0ZS5maXJzdENoaWxkLCBicmVhZGNydW1icyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldExhYmVsKGRhdGE6IERhdGEpOiBzdHJpbmcge1xuICAgICAgICAvLyBUaGUgYnJlYWRjcnVtYiBjYW4gYmUgZGVmaW5lZCBhcyBhIHN0YXRpYyBzdHJpbmcgb3IgYXMgYSBmdW5jdGlvbiB0byBjb25zdHJ1Y3QgdGhlIGJyZWFkY3J1bWIgZWxlbWVudCBvdXQgb2YgdGhlIHJvdXRlIGRhdGFcbiAgICAgICAgY29uc3QgYnJlYWRjcnVtYiA9IGRhdGEuYnJlYWRjcnVtYiB8fCBkYXRhLnBhZ2VEYXRhLkJyZWFkQ3J1bWI7XG5cbiAgICAgICAgcmV0dXJuIHR5cGVvZiBicmVhZGNydW1iID09PSAnZnVuY3Rpb24nID8gZGF0YS5icmVhZGNydW1iKGRhdGEpIDogYnJlYWRjcnVtYjtcbiAgICB9XG59XG4iXX0=
@@ -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: "17.3.5", ngImport: i0, type: ColumnService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
15
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ColumnService }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ColumnService, decorators: [{
18
- type: Injectable
19
- }], ctorParameters: () => [] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3NlcnZpY2VzL2NvbHVtbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLGFBQWE7SUFFdEIsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUNEO1FBSlEsdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUlsQyxDQUFDO0lBQ2hCLGVBQWU7UUFDWCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkMsQ0FBQzs4R0FSUSxhQUFhO2tIQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb2x1bW5TZXJ2aWNlIHtcbiAgICBwcml2YXRlIF91aUNvbnRyb2xSZW5kZXJlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+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: "17.3.5", 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: "17.3.5", ngImport: i0, type: ContainerService }); }
61
- }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3NlcnZpY2VzL2NvbnRhaW5lci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxNQUFNLEVBQ04sVUFBVSxFQUVWLFFBQVEsRUFDUixRQUFRLEVBR1IsVUFBVSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFakQsTUFBTSxPQUFPLGdCQUFnQjtJQVN6QixZQUE0QyxjQUFnQztRQUFoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUFOckUsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDM0Isb0JBQWUsR0FBZSxJQUFJLENBQUM7UUFDbkMsb0JBQWUsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekMsZUFBVSxHQUF1QixDQUFDLENBQUM7UUFFbkMsUUFBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVyQixxQkFBcUI7SUFDekIsQ0FBQztJQUNELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxnQkFBa0M7UUFDbEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDO1FBQzFDLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0lBQ0wsQ0FBQztJQUNPLE1BQU07UUFDVixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBQ0Qsa0JBQWtCO1FBQ2QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7UUFDckMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztZQUMxRCxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLDZCQUE2QixDQUFDLENBQUM7WUFDOUQsTUFBTSxhQUFhLEdBQUcsRUFBRSxFQUFFLFNBQVMsQ0FBQztZQUNwQyxNQUFNLGtCQUFrQixHQUFHLEVBQUUsRUFBRSxTQUFTLENBQUM7WUFDekMsSUFBSSxhQUFhLElBQUksYUFBYSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7WUFDOUIsQ0FBQztpQkFBTSxJQUFJLGtCQUFrQixJQUFJLGtCQUFrQixHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN0RCxJQUFJLENBQUMsVUFBVSxHQUFHLGtCQUFrQixDQUFDO2dCQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztZQUM5QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFDRCxxQkFBcUI7UUFDakIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDekMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDckQsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBQ08sTUFBTTtRQUNWLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2pDLENBQUM7SUFDTCxDQUFDOzhHQXZEUSxnQkFBZ0I7a0hBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVTs7MEJBVU0sUUFBUTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgaW5qZWN0LFxuICAgIEluamVjdGFibGUsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIFNraXBTZWxmLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld1JlZixcbiAgICBFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbnRhaW5lclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWY7XG4gICAgcHJpdmF0ZSBfdmlld1JlZjogVmlld1JlZiB8IG51bGw7XG4gICAgcHVibGljIGRldGFjaFBhcmVudCA9IHRydWU7XG4gICAgb2xkQWN0aXZlU3lzdGVtOiBhbnkgfCBudWxsID0gbnVsbDtcbiAgICBfYWN0aXZhdGVkUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIF9zY3JvbGxUb3A6IG51bWJlciB8IHVuZGVmaW5lZCA9IDA7XG4gICAgX2VsRG9tU2Nyb2xsYmFyOiBhbnk7XG4gICAgX2VsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIGNvbnN0cnVjdG9yKEBTa2lwU2VsZigpIEBPcHRpb25hbCgpIHByaXZhdGUgX3BhcmVudFNlcnZpY2U6IENvbnRhaW5lclNlcnZpY2UpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2codGhpcyk7XG4gICAgfVxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fcGFyZW50U2VydmljZSAmJiB0aGlzLmRldGFjaFBhcmVudCkge1xuICAgICAgICAgICAgdGhpcy5fcGFyZW50U2VydmljZS5pbnNlcnQoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzZXRWaWV3Q29udGFpbmVyUmVmKHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZiA9IHZpZXdDb250YWluZXJSZWY7XG4gICAgICAgIGlmICh0aGlzLl9wYXJlbnRTZXJ2aWNlICYmIHRoaXMuZGV0YWNoUGFyZW50KSB7XG4gICAgICAgICAgICB0aGlzLl9wYXJlbnRTZXJ2aWNlLmRldGFjaCgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByaXZhdGUgZGV0YWNoKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXRTY3JvbGxQb3NpdGlvbigpO1xuICAgICAgICB0aGlzLl92aWV3UmVmID0gdGhpcy5fdmlld0NvbnRhaW5lclJlZi5kZXRhY2goKTtcbiAgICB9XG4gICAgX3NldFNjcm9sbFBvc2l0aW9uKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBlbERvbSA9IHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlmIChlbERvbSkge1xuICAgICAgICAgICAgY29uc3QgeDEgPSBlbERvbS5xdWVyeVNlbGVjdG9yKCdmZC1keW5hbWljLXBhZ2UtY29udGVudCcpO1xuICAgICAgICAgICAgY29uc3QgeDIgPSBlbERvbS5xdWVyeVNlbGVjdG9yKCcuZmQtc2Nyb2xsYmFyW2ZkLXNjcm9sbGJhcl0nKTtcbiAgICAgICAgICAgIGNvbnN0IHNjcm9sbFRvcFBhZ2UgPSB4MT8uc2Nyb2xsVG9wO1xuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsVG9wU2Nyb2xsYmFyID0geDI/LnNjcm9sbFRvcDtcbiAgICAgICAgICAgIGlmIChzY3JvbGxUb3BQYWdlICYmIHNjcm9sbFRvcFBhZ2UgPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2Nyb2xsVG9wID0gc2Nyb2xsVG9wUGFnZTtcbiAgICAgICAgICAgICAgICB0aGlzLl9lbERvbVNjcm9sbGJhciA9IHgxO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChzY3JvbGxUb3BTY3JvbGxiYXIgJiYgc2Nyb2xsVG9wU2Nyb2xsYmFyID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Njcm9sbFRvcCA9IHNjcm9sbFRvcFNjcm9sbGJhcjtcbiAgICAgICAgICAgICAgICB0aGlzLl9lbERvbVNjcm9sbGJhciA9IHgyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIF9yZXN0b3JlU2Nyb2xsUG9zdGlvbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3Njcm9sbFRvcCAmJiB0aGlzLl9zY3JvbGxUb3AgPiAwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fZWxEb21TY3JvbGxiYXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9lbERvbVNjcm9sbGJhci5zY3JvbGxUb3AgPSB0aGlzLl9zY3JvbGxUb3A7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJpdmF0ZSBpbnNlcnQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl92aWV3UmVmKSB7XG4gICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmLmluc2VydCh0aGlzLl92aWV3UmVmKTtcbiAgICAgICAgICAgIHRoaXMuX3Jlc3RvcmVTY3JvbGxQb3N0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=