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.
- package/fesm2022/barsa-novin-ray-core.mjs +818 -694
- package/fesm2022/barsa-novin-ray-core.mjs.map +1 -1
- package/lib/abstract-classes/form-base.d.ts +1 -0
- package/lib/abstract-classes/report-view-base.component.d.ts +2 -2
- package/lib/barsa-novin-ray-core.module.d.ts +5 -6
- package/lib/dynamic-component/base-view-props.d.ts +2 -2
- package/package.json +3 -5
- package/esm2022/barsa-novin-ray-core.mjs +0 -5
- package/esm2022/lib/abstract-classes/application-base.mjs +0 -24
- package/esm2022/lib/abstract-classes/barsa-api.mjs +0 -43
- package/esm2022/lib/abstract-classes/base-column-props.mjs +0 -84
- package/esm2022/lib/abstract-classes/base.component.mjs +0 -59
- package/esm2022/lib/abstract-classes/field-base.mjs +0 -232
- package/esm2022/lib/abstract-classes/files-validation-helper.mjs +0 -75
- package/esm2022/lib/abstract-classes/form-base.mjs +0 -156
- package/esm2022/lib/abstract-classes/form-field-report-page.component.mjs +0 -54
- package/esm2022/lib/abstract-classes/form-page-base.mjs +0 -129
- package/esm2022/lib/abstract-classes/form-page.component.mjs +0 -53
- package/esm2022/lib/abstract-classes/form-props.base.mjs +0 -97
- package/esm2022/lib/abstract-classes/form-toolbar-base.mjs +0 -56
- package/esm2022/lib/abstract-classes/index.mjs +0 -25
- package/esm2022/lib/abstract-classes/layout-item-base.mjs +0 -48
- package/esm2022/lib/abstract-classes/layout-panel-base.mjs +0 -63
- package/esm2022/lib/abstract-classes/linear-list-helper.mjs +0 -135
- package/esm2022/lib/abstract-classes/models.mjs +0 -184
- package/esm2022/lib/abstract-classes/module-with-dynamic-components.mjs +0 -2
- package/esm2022/lib/abstract-classes/number-base.mjs +0 -200
- package/esm2022/lib/abstract-classes/page-base.mjs +0 -97
- package/esm2022/lib/abstract-classes/page-with-form-handler-base.mjs +0 -40
- package/esm2022/lib/abstract-classes/report-base.mjs +0 -254
- package/esm2022/lib/abstract-classes/report-item-base.mjs +0 -53
- package/esm2022/lib/abstract-classes/report-view-base.component.mjs +0 -428
- package/esm2022/lib/abstract-classes/system-base.mjs +0 -24
- package/esm2022/lib/abstract-classes/tile-props.mjs +0 -46
- package/esm2022/lib/auth-guard.mjs +0 -48
- package/esm2022/lib/barsa-novin-ray-core-routing.module.mjs +0 -292
- package/esm2022/lib/barsa-novin-ray-core.module.mjs +0 -489
- package/esm2022/lib/base-ulv-setting.component.mjs +0 -45
- package/esm2022/lib/base.module.mjs +0 -28
- package/esm2022/lib/button-loading/button-loading.component.mjs +0 -18
- package/esm2022/lib/constants.mjs +0 -898
- package/esm2022/lib/container.component.mjs +0 -99
- package/esm2022/lib/controllers/base-controller.mjs +0 -30
- package/esm2022/lib/controllers/index.mjs +0 -5
- package/esm2022/lib/controllers/login-controller.mjs +0 -54
- package/esm2022/lib/controllers/login-verification-controller.mjs +0 -56
- package/esm2022/lib/controllers/models.mjs +0 -2
- package/esm2022/lib/custom-route-reuse-strategy.mjs +0 -32
- package/esm2022/lib/date-services/date-hijri.service.mjs +0 -146
- package/esm2022/lib/date-services/date-info.mjs +0 -2
- package/esm2022/lib/date-services/date-miladi.service.mjs +0 -124
- package/esm2022/lib/date-services/date-shamsi.service.mjs +0 -148
- package/esm2022/lib/date-services/date.service.mjs +0 -149
- package/esm2022/lib/date-services/index.mjs +0 -6
- package/esm2022/lib/device.mjs +0 -663
- package/esm2022/lib/directives/absolute-div-body.directive.mjs +0 -45
- package/esm2022/lib/directives/anchor-scroll.directive.mjs +0 -24
- package/esm2022/lib/directives/attr-rtl.directive.mjs +0 -35
- package/esm2022/lib/directives/base.directive.mjs +0 -55
- package/esm2022/lib/directives/body-click.directive.mjs +0 -35
- package/esm2022/lib/directives/column-resizer.directive.mjs +0 -39
- package/esm2022/lib/directives/copy.directive.mjs +0 -59
- package/esm2022/lib/directives/count-down.directive.mjs +0 -108
- package/esm2022/lib/directives/dynamic-command.directive.mjs +0 -42
- package/esm2022/lib/directives/dynamic-style.directive.mjs +0 -57
- package/esm2022/lib/directives/ellapsis-text.directive.mjs +0 -69
- package/esm2022/lib/directives/ellipsify.directive.mjs +0 -72
- package/esm2022/lib/directives/field-binding.directive.mjs +0 -17
- package/esm2022/lib/directives/fill-empty-space.mjs +0 -83
- package/esm2022/lib/directives/form-close.directive.mjs +0 -32
- package/esm2022/lib/directives/img-lazy.directive.mjs +0 -81
- package/esm2022/lib/directives/index.mjs +0 -35
- package/esm2022/lib/directives/intersection-observer.directive.mjs +0 -51
- package/esm2022/lib/directives/items-renderer.directive.mjs +0 -59
- package/esm2022/lib/directives/label-mandatory.directive.mjs +0 -48
- package/esm2022/lib/directives/load-external-files.directive.mjs +0 -37
- package/esm2022/lib/directives/mobile.directive.mjs +0 -29
- package/esm2022/lib/directives/nowraptext.directive.mjs +0 -26
- package/esm2022/lib/directives/numbers-only-input.directive.mjs +0 -26
- package/esm2022/lib/directives/placeHolder.directive.mjs +0 -15
- package/esm2022/lib/directives/prevent-default.directive.mjs +0 -20
- package/esm2022/lib/directives/render-ulv-paging.directive.mjs +0 -80
- package/esm2022/lib/directives/render-ulv-viewer.directive.mjs +0 -75
- package/esm2022/lib/directives/route-form-change.directive.mjs +0 -37
- package/esm2022/lib/directives/stop-propagation.directive.mjs +0 -20
- package/esm2022/lib/directives/table-resizer.directive.mjs +0 -235
- package/esm2022/lib/directives/ulv-command.directive.mjs +0 -42
- package/esm2022/lib/directives/until-inview.directive.mjs +0 -52
- package/esm2022/lib/directives/workflow-choice-command.directive.mjs +0 -60
- package/esm2022/lib/dynamic-component/base-dynamic.component.mjs +0 -96
- package/esm2022/lib/dynamic-component/base-form-toolbaritem-props.mjs +0 -52
- package/esm2022/lib/dynamic-component/base-item-content-props.mjs +0 -80
- package/esm2022/lib/dynamic-component/base-view-content-props.mjs +0 -20
- package/esm2022/lib/dynamic-component/base-view-item-props.mjs +0 -525
- package/esm2022/lib/dynamic-component/base-view-props.mjs +0 -162
- package/esm2022/lib/dynamic-component/dynamic-form-toolbar-item.component.mjs +0 -38
- package/esm2022/lib/dynamic-component/dynamic-form.component.mjs +0 -66
- package/esm2022/lib/dynamic-component/dynamic-item.component.mjs +0 -76
- package/esm2022/lib/dynamic-component/dynamic-layout.component.mjs +0 -63
- package/esm2022/lib/dynamic-component/index.mjs +0 -11
- package/esm2022/lib/empty-page/empty-page.component.mjs +0 -44
- package/esm2022/lib/empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component.mjs +0 -16
- package/esm2022/lib/field-ui/field-ui.component.mjs +0 -146
- package/esm2022/lib/form/form.component.mjs +0 -211
- package/esm2022/lib/form-new/form-new.component.mjs +0 -30
- package/esm2022/lib/form-page-routing/barsa-sap-ui-form-page-routing.module.mjs +0 -54
- package/esm2022/lib/form-page-routing/barsa-sap-ui-form-page.module.mjs +0 -29
- package/esm2022/lib/form-page-routing/constants.mjs +0 -9
- package/esm2022/lib/form-page-routing/index.mjs +0 -3
- package/esm2022/lib/from-intersection-observer.mjs +0 -53
- package/esm2022/lib/global-error-handler.mjs +0 -26
- package/esm2022/lib/injdection-tokens.mjs +0 -8
- package/esm2022/lib/login-enter-mobile/login-enter-mobile.component.mjs +0 -64
- package/esm2022/lib/login-verification/login-verification.component.mjs +0 -79
- package/esm2022/lib/login2/login2.component.mjs +0 -60
- package/esm2022/lib/modal-root.component.mjs +0 -33
- package/esm2022/lib/not-found/not-found.component.mjs +0 -16
- package/esm2022/lib/not-internet/not-internet.component.mjs +0 -21
- package/esm2022/lib/pipes/barsa-icon-dict.pipe.mjs +0 -19
- package/esm2022/lib/pipes/bbb-translate.pipe.mjs +0 -35
- package/esm2022/lib/pipes/can-upload.pipe.mjs +0 -30
- package/esm2022/lib/pipes/column-custom-component.pipe.mjs +0 -40
- package/esm2022/lib/pipes/column-customui.pipe.mjs +0 -32
- package/esm2022/lib/pipes/column-icon.pipe.mjs +0 -22
- package/esm2022/lib/pipes/column-value.pipe.mjs +0 -34
- package/esm2022/lib/pipes/combo-row-img.pipe.mjs +0 -16
- package/esm2022/lib/pipes/context-menu.pipe.mjs +0 -40
- package/esm2022/lib/pipes/control-ui.pipe.mjs +0 -31
- package/esm2022/lib/pipes/convert-to-style.pipe.mjs +0 -32
- package/esm2022/lib/pipes/date-time-to-caption.pipe.mjs +0 -34
- package/esm2022/lib/pipes/fileinfo-count.pipe.mjs +0 -20
- package/esm2022/lib/pipes/filter-columns-by-details.pipe.mjs +0 -22
- package/esm2022/lib/pipes/filter-string.pipe.mjs +0 -44
- package/esm2022/lib/pipes/filter-tab.pipe.mjs +0 -19
- package/esm2022/lib/pipes/filter-toolbar-control.pipe.mjs +0 -16
- package/esm2022/lib/pipes/filter-workflow-mobile.pipe.mjs +0 -24
- package/esm2022/lib/pipes/filter.pipe.mjs +0 -33
- package/esm2022/lib/pipes/find-column-by-db-name.pipe.mjs +0 -27
- package/esm2022/lib/pipes/find-preview-column.pipe.mjs +0 -19
- package/esm2022/lib/pipes/fiori-icon.pipe.mjs +0 -42
- package/esm2022/lib/pipes/groupby.pipe.mjs +0 -63
- package/esm2022/lib/pipes/header-facet-value.pipe.mjs +0 -22
- package/esm2022/lib/pipes/hide-columns-inmobile.pipe.mjs +0 -22
- package/esm2022/lib/pipes/index.mjs +0 -48
- package/esm2022/lib/pipes/list-count.pipe.mjs +0 -17
- package/esm2022/lib/pipes/merge-fields-to-columns.pipe.mjs +0 -42
- package/esm2022/lib/pipes/mo-info-ulv-data.pipe.mjs +0 -58
- package/esm2022/lib/pipes/mo-info-ulv-paging.pipe.mjs +0 -16
- package/esm2022/lib/pipes/mo-report-value-concat.pipe.mjs +0 -35
- package/esm2022/lib/pipes/mo-report-value.pipe.mjs +0 -17
- package/esm2022/lib/pipes/mo-value.pipe.mjs +0 -18
- package/esm2022/lib/pipes/multiple-groupby.pipe.mjs +0 -90
- package/esm2022/lib/pipes/numeral.pipe.mjs +0 -43
- package/esm2022/lib/pipes/picture-field-source.pipe.mjs +0 -22
- package/esm2022/lib/pipes/remove-newline.pipe.mjs +0 -20
- package/esm2022/lib/pipes/replace.pipe.mjs +0 -17
- package/esm2022/lib/pipes/reverse.pipe.mjs +0 -22
- package/esm2022/lib/pipes/rownumber.pipe.mjs +0 -25
- package/esm2022/lib/pipes/sanitize-text.pipe.mjs +0 -20
- package/esm2022/lib/pipes/seperator-fix.pipe.mjs +0 -23
- package/esm2022/lib/pipes/sort.pipe.mjs +0 -48
- package/esm2022/lib/pipes/th-image-icon.pipe.mjs +0 -22
- package/esm2022/lib/pipes/tlbButtons.pipe.mjs +0 -59
- package/esm2022/lib/pipes/total-summary.pipe.mjs +0 -16
- package/esm2022/lib/pipes/tree-item-isexpanded.pipe.mjs +0 -25
- package/esm2022/lib/pipes/visible-value.pipe.mjs +0 -18
- package/esm2022/lib/portal-page/portal-page.component.mjs +0 -23
- package/esm2022/lib/portal-page/portal-sidebar.component.mjs +0 -36
- package/esm2022/lib/redirect-home-guard.mjs +0 -51
- package/esm2022/lib/redirect-report-navigator-command/redirect-report-navigator-command.component.mjs +0 -12
- package/esm2022/lib/report-container/report-container.component.mjs +0 -63
- package/esm2022/lib/resizable-module/resizable.component.mjs +0 -31
- package/esm2022/lib/resizable-module/resizable.directive.mjs +0 -41
- package/esm2022/lib/resizable-module/resizable.module.mjs +0 -17
- package/esm2022/lib/resolvers/index.mjs +0 -6
- package/esm2022/lib/resolvers/portal-dynamic-page.resolver.mjs +0 -49
- package/esm2022/lib/resolvers/portal-form-page.resolver.mjs +0 -18
- package/esm2022/lib/resolvers/portal-page.resolver.mjs +0 -30
- package/esm2022/lib/resolvers/portal-report-page.resolver.mjs +0 -37
- package/esm2022/lib/resolvers/tile-group-breadcrumb.resolver.mjs +0 -30
- package/esm2022/lib/root-page/root-page.component.mjs +0 -21
- package/esm2022/lib/root-portal/root-portal.component.mjs +0 -164
- package/esm2022/lib/server-connection-error/server-connection-error.component.mjs +0 -19
- package/esm2022/lib/services/api.service.mjs +0 -63
- package/esm2022/lib/services/audio-recording.service.mjs +0 -95
- package/esm2022/lib/services/barsa-dialog.service.mjs +0 -80
- package/esm2022/lib/services/barsa-storage.service.mjs +0 -78
- package/esm2022/lib/services/breadcrumb.service.mjs +0 -64
- package/esm2022/lib/services/column.service.mjs +0 -20
- package/esm2022/lib/services/container.service.mjs +0 -69
- package/esm2022/lib/services/dynamic-component.service.mjs +0 -55
- package/esm2022/lib/services/form-panel.service.mjs +0 -380
- package/esm2022/lib/services/form.service.mjs +0 -14
- package/esm2022/lib/services/horizontal-layout.service.mjs +0 -16
- package/esm2022/lib/services/index.mjs +0 -29
- package/esm2022/lib/services/indexeddb.service.mjs +0 -34
- package/esm2022/lib/services/layout.service.mjs +0 -42
- package/esm2022/lib/services/local-storage.service.mjs +0 -32
- package/esm2022/lib/services/log.service.mjs +0 -50
- package/esm2022/lib/services/network-status.service.mjs +0 -15
- package/esm2022/lib/services/notification-popup.service.mjs +0 -2
- package/esm2022/lib/services/notification-sw.service.mjs +0 -180
- package/esm2022/lib/services/notification.service.mjs +0 -308
- package/esm2022/lib/services/portal.service.mjs +0 -929
- package/esm2022/lib/services/prompt-update.service.mjs +0 -56
- package/esm2022/lib/services/routing.service.mjs +0 -60
- package/esm2022/lib/services/save-scoll-position.service.mjs +0 -29
- package/esm2022/lib/services/service-worker-communication.service.mjs +0 -120
- package/esm2022/lib/services/toast.service.mjs +0 -2
- package/esm2022/lib/services/ui.service.mjs +0 -23
- package/esm2022/lib/services/ulvmain.service.mjs +0 -810
- package/esm2022/lib/services/upload.service.mjs +0 -161
- package/esm2022/lib/services/video-recording.service.mjs +0 -115
- 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=
|