@osovitny/anatoly 2.16.6 → 3.16.0
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/esm2022/lib/core/consts/settings.mjs +2 -1
- package/esm2022/lib/core/core.module.mjs +17 -15
- package/esm2022/lib/core/index.mjs +6 -4
- package/esm2022/lib/core/models/appcontext.service.mjs +17 -0
- package/esm2022/lib/core/notifications/services/notification-service.mjs +4 -155
- package/esm2022/lib/core/services/appcontext.service.mjs +5 -4
- package/esm2022/lib/core/services/starter.service.mjs +77 -0
- package/esm2022/lib/data/base/api.service.mjs +99 -0
- package/esm2022/lib/data/base/grid/grid-edit.service.mjs +83 -0
- package/esm2022/lib/data/base/grid/grid-read.service.mjs +64 -0
- package/esm2022/lib/data/data.module.mjs +2 -1
- package/esm2022/lib/data/index.mjs +7 -6
- package/esm2022/lib/data/services/core-api.service.mjs +6 -6
- package/esm2022/lib/data/services/emails-api.service.mjs +5 -5
- package/esm2022/lib/data/urls.mjs +22 -0
- package/esm2022/public-api.mjs +10 -10
- package/fesm2022/osovitny-anatoly.mjs +349 -466
- package/fesm2022/osovitny-anatoly.mjs.map +1 -1
- package/lib/core/consts/settings.d.ts +1 -0
- package/lib/core/index.d.ts +4 -3
- package/lib/core/models/appcontext.service.d.ts +6 -0
- package/lib/core/notifications/services/notification-service.d.ts +0 -12
- package/lib/core/services/appcontext.service.d.ts +2 -2
- package/lib/core/services/starter.service.d.ts +11 -0
- package/lib/data/base/{base-api.service.d.ts → api.service.d.ts} +3 -3
- package/lib/data/base/grid/{base-grid-edit.service.d.ts → grid-edit.service.d.ts} +4 -4
- package/lib/data/base/grid/{base-grid-read.service.d.ts → grid-read.service.d.ts} +3 -3
- package/lib/data/index.d.ts +4 -5
- package/lib/data/services/core-api.service.d.ts +2 -2
- package/lib/data/services/emails-api.service.d.ts +2 -2
- package/lib/data/urls.d.ts +4 -0
- package/package.json +1 -1
- package/esm2022/lib/core/consts/urls.mjs +0 -19
- package/esm2022/lib/data/base/base-api.service.mjs +0 -99
- package/esm2022/lib/data/base/grid/base-grid-edit.service.mjs +0 -83
- package/esm2022/lib/data/base/grid/base-grid-read.service.mjs +0 -65
- package/esm2022/lib/data/consts.mjs +0 -24
- package/esm2022/lib/data/services/notifications/notifications-api-service.mjs +0 -41
- package/lib/core/consts/urls.d.ts +0 -3
- package/lib/data/consts.d.ts +0 -5
- package/lib/data/services/notifications/notifications-api-service.d.ts +0 -12
|
@@ -19,4 +19,5 @@
|
|
|
19
19
|
*/
|
|
20
20
|
export const AppName = document.getElementById('appName').getAttribute('data-appname');
|
|
21
21
|
export const AppCoreSettings = JSON.parse((document.getElementById('appCoreSettings')).getAttribute('data-appcoresettings'));
|
|
22
|
-
|
|
22
|
+
export const ApiUrl = `${AppCoreSettings.apiUrl}`;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9jb25zdHMvc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQWtCRTtBQUVGLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBSSxRQUFRLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBc0IsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7QUFFN0csTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQ3RDLENBQ0MsUUFBUSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUN0QixDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxDQUM1RCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI2IEp1biAyMDIwXHJcblxyXG4gIEV4YW1wbGVzOlxyXG4gICAgaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9UeXBlU2NyaXB0L2Jsb2IvbWFpbi9zcmMvc2VydmVyL2VkaXRvclNlcnZpY2VzLnRzXHJcbiAgICBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvYmxvYi9tYWluL3NyYy9jb21waWxlci9jb3JlLnRzXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuZXhwb3J0IGNvbnN0IEFwcE5hbWUgPSAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FwcE5hbWUnKSBhcyBIVE1MSW5wdXRFbGVtZW50KS5nZXRBdHRyaWJ1dGUoJ2RhdGEtYXBwbmFtZScpO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFwcENvcmVTZXR0aW5ncyA9IEpTT04ucGFyc2UoXHJcbiAgKChcclxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhcHBDb3JlU2V0dGluZ3MnKVxyXG4gICkgYXMgSFRNTElucHV0RWxlbWVudCkuZ2V0QXR0cmlidXRlKCdkYXRhLWFwcGNvcmVzZXR0aW5ncycpXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgQXBpVXJsID0gYCR7QXBwQ29yZVNldHRpbmdzLmFwaVVybH1gO1xyXG4iXX0=
|
|
@@ -13,22 +13,24 @@
|
|
|
13
13
|
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
14
|
</file>
|
|
15
15
|
*/
|
|
16
|
+
//Node
|
|
16
17
|
import { NgModule, Optional, SkipSelf } from '@angular/core';
|
|
17
18
|
import { CommonModule } from '@angular/common';
|
|
18
19
|
import { ToastrModule } from 'ngx-toastr';
|
|
19
|
-
//
|
|
20
|
-
import { LoggingService } from './logging/logging.service';
|
|
21
|
-
//notifications
|
|
22
|
-
import { NotificationService } from './notifications/services/notification-service';
|
|
20
|
+
//App
|
|
23
21
|
//localization
|
|
24
22
|
import { LocalizationModule } from './localization/localization.module';
|
|
25
23
|
import { LocalizationSettingsModule } from './localization/localizationSettings.module';
|
|
26
24
|
//Services
|
|
27
25
|
import { AppContextService } from './services/appcontext.service';
|
|
28
|
-
import { LoadingService } from './services/loading.service';
|
|
29
26
|
import { DigitalMarketingService } from './services/dm.service';
|
|
30
27
|
import { GoogleAnalyticsService } from './services/google-analytics.service';
|
|
28
|
+
import { LoadingService } from './services/loading.service';
|
|
31
29
|
import { LocalStorageService, SessionStorageService } from './services/web-storage.service';
|
|
30
|
+
//Services: logging
|
|
31
|
+
import { LoggingService } from './logging/logging.service';
|
|
32
|
+
//Services: notifications
|
|
33
|
+
import { NotificationService } from './notifications/services/notification-service';
|
|
32
34
|
import * as i0 from "@angular/core";
|
|
33
35
|
import * as i1 from "ngx-toastr";
|
|
34
36
|
export let InjectorInstance;
|
|
@@ -41,14 +43,14 @@ export class AnatolyCoreModule {
|
|
|
41
43
|
static ɵfac = function AnatolyCoreModule_Factory(t) { return new (t || AnatolyCoreModule)(i0.ɵɵinject(i0.Injector), i0.ɵɵinject(AnatolyCoreModule, 12)); };
|
|
42
44
|
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: AnatolyCoreModule });
|
|
43
45
|
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
|
|
44
|
-
LoggingService,
|
|
45
|
-
NotificationService,
|
|
46
46
|
AppContextService,
|
|
47
|
-
LoadingService,
|
|
48
47
|
DigitalMarketingService,
|
|
49
48
|
GoogleAnalyticsService,
|
|
49
|
+
LoadingService,
|
|
50
50
|
LocalStorageService,
|
|
51
|
-
SessionStorageService
|
|
51
|
+
SessionStorageService,
|
|
52
|
+
LoggingService,
|
|
53
|
+
NotificationService
|
|
52
54
|
], imports: [CommonModule,
|
|
53
55
|
ToastrModule.forRoot(),
|
|
54
56
|
LocalizationSettingsModule,
|
|
@@ -69,15 +71,15 @@ export class AnatolyCoreModule {
|
|
|
69
71
|
LocalizationModule,
|
|
70
72
|
],
|
|
71
73
|
providers: [
|
|
72
|
-
LoggingService,
|
|
73
|
-
NotificationService,
|
|
74
74
|
AppContextService,
|
|
75
|
-
LoadingService,
|
|
76
75
|
DigitalMarketingService,
|
|
77
76
|
GoogleAnalyticsService,
|
|
77
|
+
LoadingService,
|
|
78
78
|
LocalStorageService,
|
|
79
|
-
SessionStorageService
|
|
80
|
-
|
|
79
|
+
SessionStorageService,
|
|
80
|
+
LoggingService,
|
|
81
|
+
NotificationService
|
|
82
|
+
]
|
|
81
83
|
}]
|
|
82
84
|
}], function () { return [{ type: i0.Injector }, { type: AnatolyCoreModule, decorators: [{
|
|
83
85
|
type: Optional
|
|
@@ -87,4 +89,4 @@ export class AnatolyCoreModule {
|
|
|
87
89
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AnatolyCoreModule, { imports: [CommonModule, i1.ToastrModule, LocalizationSettingsModule,
|
|
88
90
|
LocalizationModule], exports: [LocalizationSettingsModule,
|
|
89
91
|
LocalizationModule] }); })();
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9jb3JlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQVksUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFMUMsS0FBSztBQUNMLGNBQWM7QUFDZCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUV4RixVQUFVO0FBQ1YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTVGLG1CQUFtQjtBQUNuQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFM0QseUJBQXlCO0FBQ3pCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7QUFFcEYsTUFBTSxDQUFDLElBQUksZ0JBQTBCLENBQUM7QUF5QnRDLE1BQU0sT0FBTyxpQkFBaUI7SUFDUjtJQUFwQixZQUFvQixRQUFrQixFQUEwQixZQUErQjtRQUEzRSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3BDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDbkMsQ0FBQzsyRUFIVSxpQkFBaUI7NERBQWpCLGlCQUFpQjtpRUFaakI7WUFDVCxpQkFBaUI7WUFDakIsdUJBQXVCO1lBQ3ZCLHNCQUFzQjtZQUN0QixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLHFCQUFxQjtZQUVyQixjQUFjO1lBQ2QsbUJBQW1CO1NBQ3BCLFlBbkJDLFlBQVk7WUFDWixZQUFZLENBQUMsT0FBTyxFQUFFO1lBQ3RCLDBCQUEwQjtZQUMxQixrQkFBa0IsRUFHbEIsMEJBQTBCO1lBQzFCLGtCQUFrQjs7dUZBY1QsaUJBQWlCO2NBdkI3QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osWUFBWSxDQUFDLE9BQU8sRUFBRTtvQkFDdEIsMEJBQTBCO29CQUMxQixrQkFBa0I7aUJBQ25CO2dCQUNELE9BQU8sRUFBRTtvQkFDUCwwQkFBMEI7b0JBQzFCLGtCQUFrQjtpQkFDbkI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULGlCQUFpQjtvQkFDakIsdUJBQXVCO29CQUN2QixzQkFBc0I7b0JBQ3RCLGNBQWM7b0JBQ2QsbUJBQW1CO29CQUNuQixxQkFBcUI7b0JBRXJCLGNBQWM7b0JBQ2QsbUJBQW1CO2lCQUNwQjthQUNGOztzQkFFMEMsUUFBUTs7c0JBQUksUUFBUTs7d0ZBRGxELGlCQUFpQixjQXJCMUIsWUFBWSxtQkFFWiwwQkFBMEI7UUFDMUIsa0JBQWtCLGFBR2xCLDBCQUEwQjtRQUMxQixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjkgSnVuZSAyMDIwXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IEluamVjdG9yLCBOZ01vZHVsZSwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFRvYXN0ck1vZHVsZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5cclxuLy9BcHBcclxuLy9sb2NhbGl6YXRpb25cclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uTW9kdWxlIH0gZnJvbSAnLi9sb2NhbGl6YXRpb24vbG9jYWxpemF0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNldHRpbmdzTW9kdWxlIH0gZnJvbSAnLi9sb2NhbGl6YXRpb24vbG9jYWxpemF0aW9uU2V0dGluZ3MubW9kdWxlJztcclxuXHJcbi8vU2VydmljZXNcclxuaW1wb3J0IHsgQXBwQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2FwcGNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IERpZ2l0YWxNYXJrZXRpbmdTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9kbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR29vZ2xlQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9hZGluZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2xvYWRpbmcuc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UsIFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvd2ViLXN0b3JhZ2Uuc2VydmljZSc7XHJcblxyXG4vL1NlcnZpY2VzOiBsb2dnaW5nXHJcbmltcG9ydCB7IExvZ2dpbmdTZXJ2aWNlIH0gZnJvbSAnLi9sb2dnaW5nL2xvZ2dpbmcuc2VydmljZSc7XHJcblxyXG4vL1NlcnZpY2VzOiBub3RpZmljYXRpb25zXHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL25vdGlmaWNhdGlvbnMvc2VydmljZXMvbm90aWZpY2F0aW9uLXNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGxldCBJbmplY3Rvckluc3RhbmNlOiBJbmplY3RvcjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgVG9hc3RyTW9kdWxlLmZvclJvb3QoKSxcclxuICAgIExvY2FsaXphdGlvblNldHRpbmdzTW9kdWxlLFxyXG4gICAgTG9jYWxpemF0aW9uTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBMb2NhbGl6YXRpb25TZXR0aW5nc01vZHVsZSxcclxuICAgIExvY2FsaXphdGlvbk1vZHVsZSxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgQXBwQ29udGV4dFNlcnZpY2UsXHJcbiAgICBEaWdpdGFsTWFya2V0aW5nU2VydmljZSxcclxuICAgIEdvb2dsZUFuYWx5dGljc1NlcnZpY2UsXHJcbiAgICBMb2FkaW5nU2VydmljZSxcclxuICAgIExvY2FsU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXHJcblxyXG4gICAgTG9nZ2luZ1NlcnZpY2UsXHJcbiAgICBOb3RpZmljYXRpb25TZXJ2aWNlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5hdG9seUNvcmVNb2R1bGUge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLCBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwYXJlbnRNb2R1bGU6IEFuYXRvbHlDb3JlTW9kdWxlKSB7XHJcbiAgICBJbmplY3Rvckluc3RhbmNlID0gdGhpcy5pbmplY3RvcjtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
*/
|
|
16
16
|
//consts
|
|
17
17
|
export * from './consts/settings';
|
|
18
|
-
export * from './consts/urls';
|
|
19
18
|
//converts
|
|
20
19
|
export * from './converts/convert';
|
|
21
20
|
export * from './converts/xmlFormatter';
|
|
@@ -30,6 +29,8 @@ export * from './localization/localization.module';
|
|
|
30
29
|
//logging
|
|
31
30
|
export * from './logging/globalErrorHandler';
|
|
32
31
|
export * from './logging/logging.service';
|
|
32
|
+
//models
|
|
33
|
+
export * from './models/appcontext.service';
|
|
33
34
|
//notifications
|
|
34
35
|
export * from './notifications/alerts';
|
|
35
36
|
export * from './notifications/interfaces/notification';
|
|
@@ -38,14 +39,15 @@ export * from './notifications/services/notification-service';
|
|
|
38
39
|
export * from './performance/stopwatch';
|
|
39
40
|
//services
|
|
40
41
|
export * from './services/appcontext.service';
|
|
42
|
+
export * from './services/dm.service';
|
|
43
|
+
export * from './services/google-analytics.service';
|
|
41
44
|
export * from './services/idle.service';
|
|
42
45
|
export * from './services/loading.service';
|
|
46
|
+
export * from './services/starter.service';
|
|
43
47
|
export * from './services/web-storage.service';
|
|
44
|
-
export * from './services/dm.service';
|
|
45
|
-
export * from './services/google-analytics.service';
|
|
46
48
|
export * from './browser';
|
|
47
49
|
export * from './dom';
|
|
48
50
|
export * from './guid';
|
|
49
51
|
export * from './subs';
|
|
50
52
|
export * from './utils';
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLFFBQVE7QUFDUixjQUFjLG1CQUFtQixDQUFDO0FBRWxDLFVBQVU7QUFDVixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYztBQUNkLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsU0FBUztBQUNULGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxRQUFRO0FBQ1IsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxlQUFlO0FBQ2YsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsK0NBQStDLENBQUM7QUFFOUQsYUFBYTtBQUNiLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsVUFBVTtBQUNWLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZ0NBQWdDLENBQUE7QUFFOUMsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMiBBdWcgMjAyMlxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vY29uc3RzXHJcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RzL3NldHRpbmdzJztcclxuXHJcbi8vY29udmVydHNcclxuZXhwb3J0ICogZnJvbSAnLi9jb252ZXJ0cy9jb252ZXJ0JztcclxuZXhwb3J0ICogZnJvbSAnLi9jb252ZXJ0cy94bWxGb3JtYXR0ZXInO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9nby9iYXNlLWdvLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2d1YXJkcy9vbmNlLWltcG9ydC5ndWFyZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJjZXB0b3JzL2h0dHBJbnRlcmNlcHRvcic7XHJcblxyXG4vL2xvY2FsaXphdGlvblxyXG5leHBvcnQgKiBmcm9tICcuL2xvY2FsaXphdGlvbi9sb2NhbGl6ZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9sb2NhbGl6YXRpb24vbG9jYWxpemF0aW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xvY2FsaXphdGlvbi9sb2NhbGl6YXRpb25TZXR0aW5ncy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xvY2FsaXphdGlvbi9sb2NhbGl6YXRpb24ubW9kdWxlJztcclxuXHJcbi8vbG9nZ2luZ1xyXG5leHBvcnQgKiBmcm9tICcuL2xvZ2dpbmcvZ2xvYmFsRXJyb3JIYW5kbGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9sb2dnaW5nL2xvZ2dpbmcuc2VydmljZSc7XHJcblxyXG4vL21vZGVsc1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9hcHBjb250ZXh0LnNlcnZpY2UnO1xyXG5cclxuLy9ub3RpZmljYXRpb25zXHJcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9ucy9hbGVydHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbnMvaW50ZXJmYWNlcy9ub3RpZmljYXRpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbnMvc2VydmljZXMvbm90aWZpY2F0aW9uLXNlcnZpY2UnO1xyXG5cclxuLy9wZXJmb3JtYW5jZVxyXG5leHBvcnQgKiBmcm9tICcuL3BlcmZvcm1hbmNlL3N0b3B3YXRjaCc7XHJcblxyXG4vL3NlcnZpY2VzXHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9kbS5zZXJ2aWNlJ1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2dvb2dsZS1hbmFseXRpY3Muc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9pZGxlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2xvYWRpbmcuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvc3RhcnRlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy93ZWItc3RvcmFnZS5zZXJ2aWNlJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9icm93c2VyJztcclxuZXhwb3J0ICogZnJvbSAnLi9kb20nO1xyXG5leHBvcnQgKiBmcm9tICcuL2d1aWQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N1YnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcclxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny vadim@osovitny.com
|
|
8
|
+
Anatoly Osovitny anatoly@osovitny.com
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
11 Nov 2023
|
|
12
|
+
|
|
13
|
+
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
|
+
</file>
|
|
15
|
+
*/
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvbW9kZWxzL2FwcGNvbnRleHQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW1Ab3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxMSBOb3YgMjAyM1xyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFwcENvbnRleHRTZXJ2aWNlIHtcclxuICBjdXJyZW50O1xyXG5cclxuICBpbml0KGNvbnRleHQpO1xyXG4gIGxvYWRSZXF1aXJlZEpzb25GaWxlcygpO1xyXG4gIGxvYWRSZXF1aXJlZEl0ZW1zKCk7XHJcbn1cclxuIl19
|
|
@@ -13,149 +13,18 @@
|
|
|
13
13
|
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
14
|
</file>
|
|
15
15
|
*/
|
|
16
|
-
//
|
|
16
|
+
//Node
|
|
17
17
|
import { Injectable } from '@angular/core';
|
|
18
|
-
//
|
|
19
|
-
import { BehaviorSubject } from 'rxjs';
|
|
20
|
-
// App
|
|
18
|
+
//App
|
|
21
19
|
import { L10nUtils } from '../../localization/utils';
|
|
22
|
-
import { Guid } from '../../guid';
|
|
23
20
|
import * as i0 from "@angular/core";
|
|
24
21
|
import * as i1 from "ngx-toastr";
|
|
25
|
-
// SignalR
|
|
26
|
-
// import * as signalR from '@microsoft/signalr';
|
|
27
|
-
// import { NotificationsApiService } from '../../../data/services/notifications/notifications-api-service';
|
|
28
22
|
export class NotificationService {
|
|
29
23
|
toastrService;
|
|
30
|
-
// SignalR
|
|
31
|
-
// private hubConnection: signalR.HubConnection;
|
|
32
|
-
// private socketUrl: string;
|
|
33
|
-
// Notifications
|
|
34
|
-
_sessionNotifications = new BehaviorSubject([]);
|
|
35
|
-
_serverNotifications = new BehaviorSubject([]);
|
|
36
|
-
// Public
|
|
37
|
-
sessionNotifications$ = this._sessionNotifications.asObservable();
|
|
38
|
-
serverNotifications$ = this._serverNotifications.asObservable();
|
|
39
24
|
constructor(toastrService) {
|
|
40
25
|
this.toastrService = toastrService;
|
|
41
|
-
// this.onInit();
|
|
42
|
-
}
|
|
43
|
-
/*
|
|
44
|
-
onInit() {
|
|
45
|
-
if (AppCoreSettings.AzureAD) {
|
|
46
|
-
this.authService.getAuthToken().subscribe((token: string) => {
|
|
47
|
-
this.startSignalRConnection(token);
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
this.startSignalRConnection();
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
ngOnDestroy() {
|
|
57
|
-
this.stopSignalRConnection();
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// SignalR
|
|
61
|
-
private startSignalRConnection(accessToken?) {
|
|
62
|
-
const cskii = AppCoreSettings.selectedClientID;
|
|
63
|
-
// tslint:disable-next-line:variable-name
|
|
64
|
-
const cskii_upn = AppCoreSettings.CSKII_UPN;
|
|
65
|
-
// tslint:disable-next-line:variable-name
|
|
66
|
-
const cli_sessionguid = AppCoreSettings.CLI_SessionGUID;
|
|
67
|
-
|
|
68
|
-
const url = this.socketUrl + '?cskii=' + cskii + '&cskii_upn=' + cskii_upn + '&cli_sessionguid=' + cli_sessionguid;
|
|
69
|
-
|
|
70
|
-
if (accessToken) {
|
|
71
|
-
this.hubConnection = new signalR.HubConnectionBuilder()
|
|
72
|
-
.withUrl(url, {
|
|
73
|
-
skipNegotiation: false,
|
|
74
|
-
transport: signalR.HttpTransportType.WebSockets,
|
|
75
|
-
accessTokenFactory: () => accessToken
|
|
76
|
-
})
|
|
77
|
-
.withAutomaticReconnect()
|
|
78
|
-
.configureLogging(signalR.LogLevel.Debug)
|
|
79
|
-
.build();
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
this.hubConnection = new signalR.HubConnectionBuilder()
|
|
83
|
-
.withUrl(this.socketUrl, {
|
|
84
|
-
skipNegotiation: true,
|
|
85
|
-
transport: signalR.HttpTransportType.WebSockets
|
|
86
|
-
})
|
|
87
|
-
.withAutomaticReconnect()
|
|
88
|
-
.configureLogging(signalR.LogLevel.Debug)
|
|
89
|
-
.build();
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
this.hubConnection
|
|
93
|
-
.start()
|
|
94
|
-
.then(() => this.signalRConnection_onSuccess())
|
|
95
|
-
.catch(err => {
|
|
96
|
-
console.error('Connection failed to SignalR Notification Hub')
|
|
97
|
-
})
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
private signalRConnection_onSuccess() {
|
|
101
|
-
this.addReceiveMessageDataListener();
|
|
102
|
-
|
|
103
|
-
this.notificationsApiService.retrieveNotifications().subscribe(data => {
|
|
104
|
-
this.serverNotifications = data;
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
stopSignalRConnection() {
|
|
109
|
-
if (this.hubConnection) {
|
|
110
|
-
this.hubConnection.stop();
|
|
111
|
-
this.hubConnection = null;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
private addReceiveMessageDataListener = () => {
|
|
116
|
-
this.hubConnection.on('ReceiveMessage', (message) => {
|
|
117
|
-
if (message) {
|
|
118
|
-
if (message.type === 'error') {
|
|
119
|
-
this.error(message.text, null, null, false);
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
this.success(message.text, null, null, false);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
const notification = {
|
|
126
|
-
id: message.id,
|
|
127
|
-
isNew: message.isNew,
|
|
128
|
-
isSession: true,
|
|
129
|
-
text: message.text,
|
|
130
|
-
type: message.type,
|
|
131
|
-
createdDate: message.createdDate
|
|
132
|
-
};
|
|
133
|
-
|
|
134
|
-
this.addSessionNotificationToList(notification);
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
*/
|
|
139
|
-
addSessionNotification(text, type) {
|
|
140
|
-
const id = Guid.newGuid();
|
|
141
|
-
const notification = { id, isNew: true, isSession: true, text, type, createdDate: new Date(Date.now()).toISOString() };
|
|
142
|
-
this.addSessionNotificationToList(notification);
|
|
143
|
-
}
|
|
144
|
-
addSessionNotificationToList(notification) {
|
|
145
|
-
this.sessionNotifications = [
|
|
146
|
-
notification,
|
|
147
|
-
...this.sessionNotifications,
|
|
148
|
-
];
|
|
149
|
-
}
|
|
150
|
-
// Public API
|
|
151
|
-
removeNotification(id, isSession) {
|
|
152
|
-
if (isSession) {
|
|
153
|
-
this.sessionNotifications = this.sessionNotifications.filter(notifications => notifications.id !== id);
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
this.serverNotifications = this.serverNotifications.filter(notifications => notifications.id !== id);
|
|
157
|
-
}
|
|
158
26
|
}
|
|
27
|
+
//Public
|
|
159
28
|
success(text, params, title, createSessionNotification = true) {
|
|
160
29
|
text = L10nUtils.getLocalizedValue(text, params, 'OperationSuccessFull');
|
|
161
30
|
title = L10nUtils.getLocalizedValue(title);
|
|
@@ -163,9 +32,6 @@ export class NotificationService {
|
|
|
163
32
|
timeOut: 3000,
|
|
164
33
|
progressBar: true
|
|
165
34
|
});
|
|
166
|
-
if (createSessionNotification) {
|
|
167
|
-
this.addSessionNotification(text, 'success');
|
|
168
|
-
}
|
|
169
35
|
}
|
|
170
36
|
info(text, params, title) {
|
|
171
37
|
text = L10nUtils.getLocalizedValue(text, params);
|
|
@@ -190,9 +56,6 @@ export class NotificationService {
|
|
|
190
56
|
timeOut: 3000,
|
|
191
57
|
progressBar: true
|
|
192
58
|
});
|
|
193
|
-
if (createSessionNotification) {
|
|
194
|
-
this.addSessionNotification(text, 'error');
|
|
195
|
-
}
|
|
196
59
|
}
|
|
197
60
|
cancel(text, params, title) {
|
|
198
61
|
text = L10nUtils.getLocalizedValue(text, params, 'OperationCancelled');
|
|
@@ -202,20 +65,6 @@ export class NotificationService {
|
|
|
202
65
|
progressBar: true
|
|
203
66
|
});
|
|
204
67
|
}
|
|
205
|
-
// SessionNotifications
|
|
206
|
-
get sessionNotifications() {
|
|
207
|
-
return this._sessionNotifications.getValue();
|
|
208
|
-
}
|
|
209
|
-
set sessionNotifications(val) {
|
|
210
|
-
this._sessionNotifications.next(val);
|
|
211
|
-
}
|
|
212
|
-
// ServerNotifications
|
|
213
|
-
get serverNotifications() {
|
|
214
|
-
return this._serverNotifications.getValue();
|
|
215
|
-
}
|
|
216
|
-
set serverNotifications(val) {
|
|
217
|
-
this._serverNotifications.next(val);
|
|
218
|
-
}
|
|
219
68
|
static ɵfac = function NotificationService_Factory(t) { return new (t || NotificationService)(i0.ɵɵinject(i1.ToastrService)); };
|
|
220
69
|
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: NotificationService, factory: NotificationService.ɵfac, providedIn: 'root' });
|
|
221
70
|
}
|
|
@@ -223,4 +72,4 @@ export class NotificationService {
|
|
|
223
72
|
type: Injectable,
|
|
224
73
|
args: [{ providedIn: 'root' }]
|
|
225
74
|
}], function () { return [{ type: i1.ToastrService }]; }, null); })();
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9ub3RpZmljYXRpb25zL3NlcnZpY2VzL25vdGlmaWNhdGlvbi1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsT0FBTztBQUNQLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTztBQUNQLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFckMsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7QUFHbEMsVUFBVTtBQUNWLGlEQUFpRDtBQUNqRCw0R0FBNEc7QUFHNUcsTUFBTSxPQUFPLG1CQUFtQjtJQWFWO0lBWnBCLFVBQVU7SUFDVixnREFBZ0Q7SUFDaEQsNkJBQTZCO0lBRTdCLGdCQUFnQjtJQUNSLHFCQUFxQixHQUFHLElBQUksZUFBZSxDQUFrQixFQUFFLENBQUMsQ0FBQztJQUNqRSxvQkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBa0IsRUFBRSxDQUFDLENBQUM7SUFFeEUsU0FBUztJQUNBLHFCQUFxQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNsRSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFekUsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDOUMsaUJBQWlCO0lBQ25CLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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QUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDOzZFQWxOVSxtQkFBbUI7Z0VBQW5CLG1CQUFtQixXQUFuQixtQkFBbUIsbUJBRFAsTUFBTTs7dUZBQ2xCLG1CQUFtQjtjQUQvQixVQUFVO2VBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDIgSnVuIDIwMjAgXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy8gTm9kZVxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcclxuXHJcbi8vIFJ4SnNcclxuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xyXG5cclxuLy8gQXBwXHJcbmltcG9ydCB7IEwxMG5VdGlscyB9IGZyb20gJy4uLy4uL2xvY2FsaXphdGlvbi91dGlscyc7XHJcbmltcG9ydCB7IEd1aWQgfSBmcm9tICcuLi8uLi9ndWlkJztcclxuaW1wb3J0IHsgSU5vdGlmaWNhdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvbm90aWZpY2F0aW9uJztcclxuXHJcbi8vIFNpZ25hbFJcclxuLy8gaW1wb3J0ICogYXMgc2lnbmFsUiBmcm9tICdAbWljcm9zb2Z0L3NpZ25hbHInO1xyXG4vLyBpbXBvcnQgeyBOb3RpZmljYXRpb25zQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RhdGEvc2VydmljZXMvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWFwaS1zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxyXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uU2VydmljZSB7XHJcbiAgLy8gU2lnbmFsUlxyXG4gIC8vIHByaXZhdGUgaHViQ29ubmVjdGlvbjogc2lnbmFsUi5IdWJDb25uZWN0aW9uO1xyXG4gIC8vIHByaXZhdGUgc29ja2V0VXJsOiBzdHJpbmc7XHJcblxyXG4gIC8vIE5vdGlmaWNhdGlvbnNcclxuICBwcml2YXRlIF9zZXNzaW9uTm90aWZpY2F0aW9ucyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SU5vdGlmaWNhdGlvbltdPihbXSk7XHJcbiAgcHJpdmF0ZSBfc2VydmVyTm90aWZpY2F0aW9ucyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SU5vdGlmaWNhdGlvbltdPihbXSk7XHJcblxyXG4gIC8vIFB1YmxpY1xyXG4gIHJlYWRvbmx5IHNlc3Npb25Ob3RpZmljYXRpb25zJCA9IHRoaXMuX3Nlc3Npb25Ob3RpZmljYXRpb25zLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHJlYWRvbmx5IHNlcnZlck5vdGlmaWNhdGlvbnMkID0gdGhpcy5fc2VydmVyTm90aWZpY2F0aW9ucy5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0b2FzdHJTZXJ2aWNlOiBUb2FzdHJTZXJ2aWNlKSB7XHJcbiAgICAvLyB0aGlzLm9uSW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICBvbkluaXQoKSB7XHJcbiAgICBpZiAoQXBwQ29yZVNldHRpbmdzLkF6dXJlQUQpIHtcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRoVG9rZW4oKS5zdWJzY3JpYmUoKHRva2VuOiBzdHJpbmcpID0+IHtcclxuICAgICAgICB0aGlzLnN0YXJ0U2lnbmFsUkNvbm5lY3Rpb24odG9rZW4pO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN0YXJ0U2lnbmFsUkNvbm5lY3Rpb24oKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdG9wU2lnbmFsUkNvbm5lY3Rpb24oKTtcclxuICB9XHJcblxyXG4gIC8vIFNpZ25hbFJcclxuICBwcml2YXRlIHN0YXJ0U2lnbmFsUkNvbm5lY3Rpb24oYWNjZXNzVG9rZW4/KSB7XHJcbiAgICBjb25zdCBjc2tpaSA9IEFwcENvcmVTZXR0aW5ncy5zZWxlY3RlZENsaWVudElEO1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcclxuICAgIGNvbnN0IGNza2lpX3VwbiA9IEFwcENvcmVTZXR0aW5ncy5DU0tJSV9VUE47XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxyXG4gICAgY29uc3QgY2xpX3Nlc3Npb25ndWlkID0gQXBwQ29yZVNldHRpbmdzLkNMSV9TZXNzaW9uR1VJRDtcclxuXHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLnNvY2tldFVybCArICc/Y3NraWk9JyArIGNza2lpICsgJyZjc2tpaV91cG49JyArIGNza2lpX3VwbiArICcmY2xpX3Nlc3Npb25ndWlkPScgKyBjbGlfc2Vzc2lvbmd1aWQ7XHJcblxyXG4gICAgaWYgKGFjY2Vzc1Rva2VuKSB7XHJcbiAgICAgIHRoaXMuaHViQ29ubmVjdGlvbiA9IG5ldyBzaWduYWxSLkh1YkNvbm5lY3Rpb25CdWlsZGVyKClcclxuICAgICAgICAud2l0aFVybCh1cmwsIHtcclxuICAgICAgICAgIHNraXBOZWdvdGlhdGlvbjogZmFsc2UsXHJcbiAgICAgICAgICB0cmFuc3BvcnQ6IHNpZ25hbFIuSHR0cFRyYW5zcG9ydFR5cGUuV2ViU29ja2V0cyxcclxuICAgICAgICAgIGFjY2Vzc1Rva2VuRmFjdG9yeTogKCkgPT4gYWNjZXNzVG9rZW5cclxuICAgICAgICB9KVxyXG4gICAgICAgIC53aXRoQXV0b21hdGljUmVjb25uZWN0KClcclxuICAgICAgICAuY29uZmlndXJlTG9nZ2luZyhzaWduYWxSLkxvZ0xldmVsLkRlYnVnKVxyXG4gICAgICAgIC5idWlsZCgpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuaHViQ29ubmVjdGlvbiA9IG5ldyBzaWduYWxSLkh1YkNvbm5lY3Rpb25CdWlsZGVyKClcclxuICAgICAgICAud2l0aFVybCh0aGlzLnNvY2tldFVybCwge1xyXG4gICAgICAgICAgc2tpcE5lZ290aWF0aW9uOiB0cnVlLFxyXG4gICAgICAgICAgdHJhbnNwb3J0OiBzaWduYWxSLkh0dHBUcmFuc3BvcnRUeXBlLldlYlNvY2tldHNcclxuICAgICAgICB9KVxyXG4gICAgICAgIC53aXRoQXV0b21hdGljUmVjb25uZWN0KClcclxuICAgICAgICAuY29uZmlndXJlTG9nZ2luZyhzaWduYWxSLkxvZ0xldmVsLkRlYnVnKVxyXG4gICAgICAgIC5idWlsZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaHViQ29ubmVjdGlvblxyXG4gICAgICAuc3RhcnQoKVxyXG4gICAgICAudGhlbigoKSA9PiB0aGlzLnNpZ25hbFJDb25uZWN0aW9uX29uU3VjY2VzcygpKVxyXG4gICAgICAuY2F0Y2goZXJyID0+IHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdDb25uZWN0aW9uIGZhaWxlZCB0byBTaWduYWxSIE5vdGlmaWNhdGlvbiBIdWInKVxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaWduYWxSQ29ubmVjdGlvbl9vblN1Y2Nlc3MoKSB7XHJcbiAgICB0aGlzLmFkZFJlY2VpdmVNZXNzYWdlRGF0YUxpc3RlbmVyKCk7XHJcblxyXG4gICAgdGhpcy5ub3RpZmljYXRpb25zQXBpU2VydmljZS5yZXRyaWV2ZU5vdGlmaWNhdGlvbnMoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuc2VydmVyTm90aWZpY2F0aW9ucyA9IGRhdGE7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0b3BTaWduYWxSQ29ubmVjdGlvbigpIHtcclxuICAgIGlmICh0aGlzLmh1YkNvbm5lY3Rpb24pIHtcclxuICAgICAgdGhpcy5odWJDb25uZWN0aW9uLnN0b3AoKTtcclxuICAgICAgdGhpcy5odWJDb25uZWN0aW9uID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkUmVjZWl2ZU1lc3NhZ2VEYXRhTGlzdGVuZXIgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmh1YkNvbm5lY3Rpb24ub24oJ1JlY2VpdmVNZXNzYWdlJywgKG1lc3NhZ2UpID0+IHtcclxuICAgICAgaWYgKG1lc3NhZ2UpIHtcclxuICAgICAgICBpZiAobWVzc2FnZS50eXBlID09PSAnZXJyb3InKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yKG1lc3NhZ2UudGV4dCwgbnVsbCwgbnVsbCwgZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3VjY2VzcyhtZXNzYWdlLnRleHQsIG51bGwsIG51bGwsIGZhbHNlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IG5vdGlmaWNhdGlvbiA9IHtcclxuICAgICAgICAgIGlkOiBtZXNzYWdlLmlkLFxyXG4gICAgICAgICAgaXNOZXc6IG1lc3NhZ2UuaXNOZXcsXHJcbiAgICAgICAgICBpc1Nlc3Npb246IHRydWUsXHJcbiAgICAgICAgICB0ZXh0OiBtZXNzYWdlLnRleHQsXHJcbiAgICAgICAgICB0eXBlOiBtZXNzYWdlLnR5cGUsXHJcbiAgICAgICAgICBjcmVhdGVkRGF0ZTogbWVzc2FnZS5jcmVhdGVkRGF0ZVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuYWRkU2Vzc2lvbk5vdGlmaWNhdGlvblRvTGlzdChub3RpZmljYXRpb24pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgKi9cclxuXHJcbiAgcHJpdmF0ZSBhZGRTZXNzaW9uTm90aWZpY2F0aW9uKHRleHQ6IHN0cmluZywgdHlwZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBpZCA9IEd1aWQubmV3R3VpZCgpO1xyXG4gICAgY29uc3Qgbm90aWZpY2F0aW9uID0geyBpZCwgaXNOZXc6IHRydWUsIGlzU2Vzc2lvbjogdHJ1ZSwgdGV4dCwgdHlwZSwgY3JlYXRlZERhdGU6IG5ldyBEYXRlKERhdGUubm93KCkpLnRvSVNPU3RyaW5nKCkgfTtcclxuXHJcbiAgICB0aGlzLmFkZFNlc3Npb25Ob3RpZmljYXRpb25Ub0xpc3Qobm90aWZpY2F0aW9uKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkU2Vzc2lvbk5vdGlmaWNhdGlvblRvTGlzdChub3RpZmljYXRpb246IElOb3RpZmljYXRpb24pIHtcclxuICAgIHRoaXMuc2Vzc2lvbk5vdGlmaWNhdGlvbnMgPSBbXHJcbiAgICAgIG5vdGlmaWNhdGlvbixcclxuICAgICAgLi4udGhpcy5zZXNzaW9uTm90aWZpY2F0aW9ucyxcclxuICAgIF07XHJcbiAgfVxyXG5cclxuICAvLyBQdWJsaWMgQVBJXHJcbiAgcmVtb3ZlTm90aWZpY2F0aW9uKGlkOiBzdHJpbmcsIGlzU2Vzc2lvbjogYm9vbGVhbikge1xyXG4gICAgaWYgKGlzU2Vzc2lvbikge1xyXG4gICAgICB0aGlzLnNlc3Npb25Ob3RpZmljYXRpb25zID0gdGhpcy5zZXNzaW9uTm90aWZpY2F0aW9ucy5maWx0ZXIobm90aWZpY2F0aW9ucyA9PiBub3RpZmljYXRpb25zLmlkICE9PSBpZCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zZXJ2ZXJOb3RpZmljYXRpb25zID0gdGhpcy5zZXJ2ZXJOb3RpZmljYXRpb25zLmZpbHRlcihub3RpZmljYXRpb25zID0+IG5vdGlmaWNhdGlvbnMuaWQgIT09IGlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN1Y2Nlc3ModGV4dD8sIHBhcmFtcz86IGFueVtdLCB0aXRsZT8sIGNyZWF0ZVNlc3Npb25Ob3RpZmljYXRpb246IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICB0ZXh0ID0gTDEwblV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRleHQsIHBhcmFtcywgJ09wZXJhdGlvblN1Y2Nlc3NGdWxsJyk7XHJcbiAgICB0aXRsZSA9IEwxMG5VdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0aXRsZSk7XHJcblxyXG4gICAgdGhpcy50b2FzdHJTZXJ2aWNlLnN1Y2Nlc3ModGV4dCwgdGl0bGUsIHtcclxuICAgICAgdGltZU91dDogMzAwMCxcclxuICAgICAgcHJvZ3Jlc3NCYXI6IHRydWVcclxuICAgIH0pO1xyXG5cclxuICAgIGlmIChjcmVhdGVTZXNzaW9uTm90aWZpY2F0aW9uKSB7XHJcbiAgICAgIHRoaXMuYWRkU2Vzc2lvbk5vdGlmaWNhdGlvbih0ZXh0LCAnc3VjY2VzcycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5mbyh0ZXh0LCBwYXJhbXM/OiBhbnlbXSwgdGl0bGU/KSB7XHJcbiAgICB0ZXh0ID0gTDEwblV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRleHQsIHBhcmFtcyk7XHJcbiAgICB0aXRsZSA9IEwxMG5VdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0aXRsZSk7XHJcblxyXG4gICAgdGhpcy50b2FzdHJTZXJ2aWNlLmluZm8odGV4dCwgdGl0bGUsIHtcclxuICAgICAgdGltZU91dDogMzAwMCxcclxuICAgICAgcHJvZ3Jlc3NCYXI6IHRydWVcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgd2FybmluZyh0ZXh0LCBwYXJhbXM/OiBhbnlbXSwgdGl0bGU/KSB7XHJcbiAgICB0ZXh0ID0gTDEwblV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRleHQsIHBhcmFtcyk7XHJcbiAgICB0aXRsZSA9IEwxMG5VdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0aXRsZSk7XHJcblxyXG4gICAgdGhpcy50b2FzdHJTZXJ2aWNlLndhcm5pbmcodGV4dCwgdGl0bGUsIHtcclxuICAgICAgdGltZU91dDogMzAwMCxcclxuICAgICAgcHJvZ3Jlc3NCYXI6IHRydWVcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZXJyb3IodGV4dD8sIHBhcmFtcz86IGFueVtdLCB0aXRsZT8sIGNyZWF0ZVNlc3Npb25Ob3RpZmljYXRpb246IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICB0ZXh0ID0gTDEwblV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRleHQsIHBhcmFtcywgJ0Vycm9yT2NjdXJlZCcpO1xyXG4gICAgdGl0bGUgPSBMMTBuVXRpbHMuZ2V0TG9jYWxpemVkVmFsdWUodGl0bGUpO1xyXG5cclxuICAgIHRoaXMudG9hc3RyU2VydmljZS5lcnJvcih0ZXh0LCB0aXRsZSwge1xyXG4gICAgICB0aW1lT3V0OiAzMDAwLFxyXG4gICAgICBwcm9ncmVzc0JhcjogdHJ1ZVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKGNyZWF0ZVNlc3Npb25Ob3RpZmljYXRpb24pIHtcclxuICAgICAgdGhpcy5hZGRTZXNzaW9uTm90aWZpY2F0aW9uKHRleHQsICdlcnJvcicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FuY2VsKHRleHQ/LCBwYXJhbXM/OiBhbnlbXSwgdGl0bGU/KSB7XHJcbiAgICB0ZXh0ID0gTDEwblV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRleHQsIHBhcmFtcywgJ09wZXJhdGlvbkNhbmNlbGxlZCcpO1xyXG4gICAgdGl0bGUgPSBMMTBuVXRpbHMuZ2V0TG9jYWxpemVkVmFsdWUodGl0bGUpO1xyXG5cclxuICAgIHRoaXMudG9hc3RyU2VydmljZS5pbmZvKHRleHQsIHRpdGxlLCB7XHJcbiAgICAgIHRpbWVPdXQ6IDMwMDAsXHJcbiAgICAgIHByb2dyZXNzQmFyOiB0cnVlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIFNlc3Npb25Ob3RpZmljYXRpb25zXHJcbiAgZ2V0IHNlc3Npb25Ob3RpZmljYXRpb25zKCk6IElOb3RpZmljYXRpb25bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2Vzc2lvbk5vdGlmaWNhdGlvbnMuZ2V0VmFsdWUoKTtcclxuICB9XHJcbiAgc2V0IHNlc3Npb25Ob3RpZmljYXRpb25zKHZhbDogSU5vdGlmaWNhdGlvbltdKSB7XHJcbiAgICB0aGlzLl9zZXNzaW9uTm90aWZpY2F0aW9ucy5uZXh0KHZhbCk7XHJcbiAgfVxyXG5cclxuICAvLyBTZXJ2ZXJOb3RpZmljYXRpb25zXHJcbiAgZ2V0IHNlcnZlck5vdGlmaWNhdGlvbnMoKTogSU5vdGlmaWNhdGlvbltdIHtcclxuICAgIHJldHVybiB0aGlzLl9zZXJ2ZXJOb3RpZmljYXRpb25zLmdldFZhbHVlKCk7XHJcbiAgfVxyXG4gIHNldCBzZXJ2ZXJOb3RpZmljYXRpb25zKHZhbDogSU5vdGlmaWNhdGlvbltdKSB7XHJcbiAgICB0aGlzLl9zZXJ2ZXJOb3RpZmljYXRpb25zLm5leHQodmFsKTtcclxuICB9XHJcbn1cclxuIl19
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9ub3RpZmljYXRpb25zL3NlcnZpY2VzL25vdGlmaWNhdGlvbi1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsS0FBSztBQUNMLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBR3JELE1BQU0sT0FBTyxtQkFBbUI7SUFDVjtJQUFwQixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUNoRCxDQUFDO0lBRUQsUUFBUTtJQUNSLE9BQU8sQ0FBQyxJQUFLLEVBQUUsTUFBYyxFQUFFLEtBQU0sRUFBRSw0QkFBcUMsSUFBSTtRQUM5RSxJQUFJLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUN6RSxLQUFLLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDdEMsT0FBTyxFQUFFLElBQUk7WUFDYixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFjLEVBQUUsS0FBTTtRQUMvQixJQUFJLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqRCxLQUFLLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDbkMsT0FBTyxFQUFFLElBQUk7WUFDYixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFjLEVBQUUsS0FBTTtRQUNsQyxJQUFJLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqRCxLQUFLLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDdEMsT0FBTyxFQUFFLElBQUk7WUFDYixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUssRUFBRSxNQUFjLEVBQUUsS0FBTSxFQUFFLDRCQUFxQyxJQUFJO1FBQzVFLElBQUksR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNqRSxLQUFLLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDcEMsT0FBTyxFQUFFLElBQUk7WUFDYixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUssRUFBRSxNQUFjLEVBQUUsS0FBTTtRQUNsQyxJQUFJLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUN2RSxLQUFLLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDbkMsT0FBTyxFQUFFLElBQUk7WUFDYixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDOzZFQXJEVSxtQkFBbUI7Z0VBQW5CLG1CQUFtQixXQUFuQixtQkFBbUIsbUJBRFAsTUFBTTs7dUZBQ2xCLG1CQUFtQjtjQUQvQixVQUFVO2VBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDIgSnVuIDIwMjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBMMTBuVXRpbHMgfSBmcm9tICcuLi8uLi9sb2NhbGl6YXRpb24vdXRpbHMnO1xyXG5cclxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25TZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRvYXN0clNlcnZpY2U6IFRvYXN0clNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIC8vUHVibGljXHJcbiAgc3VjY2Vzcyh0ZXh0PywgcGFyYW1zPzogYW55W10sIHRpdGxlPywgY3JlYXRlU2Vzc2lvbk5vdGlmaWNhdGlvbjogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIHRleHQgPSBMMTBuVXRpbHMuZ2V0TG9jYWxpemVkVmFsdWUodGV4dCwgcGFyYW1zLCAnT3BlcmF0aW9uU3VjY2Vzc0Z1bGwnKTtcclxuICAgIHRpdGxlID0gTDEwblV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRpdGxlKTtcclxuXHJcbiAgICB0aGlzLnRvYXN0clNlcnZpY2Uuc3VjY2Vzcyh0ZXh0LCB0aXRsZSwge1xyXG4gICAgICB0aW1lT3V0OiAzMDAwLFxyXG4gICAgICBwcm9ncmVzc0JhcjogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBpbmZvKHRleHQsIHBhcmFtcz86IGFueVtdLCB0aXRsZT8pIHtcclxuICAgIHRleHQgPSBMMTBuVXRpbHMuZ2V0TG9jYWxpemVkVmFsdWUodGV4dCwgcGFyYW1zKTtcclxuICAgIHRpdGxlID0gTDEwblV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRpdGxlKTtcclxuXHJcbiAgICB0aGlzLnRvYXN0clNlcnZpY2UuaW5mbyh0ZXh0LCB0aXRsZSwge1xyXG4gICAgICB0aW1lT3V0OiAzMDAwLFxyXG4gICAgICBwcm9ncmVzc0JhcjogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB3YXJuaW5nKHRleHQsIHBhcmFtcz86IGFueVtdLCB0aXRsZT8pIHtcclxuICAgIHRleHQgPSBMMTBuVXRpbHMuZ2V0TG9jYWxpemVkVmFsdWUodGV4dCwgcGFyYW1zKTtcclxuICAgIHRpdGxlID0gTDEwblV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRpdGxlKTtcclxuXHJcbiAgICB0aGlzLnRvYXN0clNlcnZpY2Uud2FybmluZyh0ZXh0LCB0aXRsZSwge1xyXG4gICAgICB0aW1lT3V0OiAzMDAwLFxyXG4gICAgICBwcm9ncmVzc0JhcjogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBlcnJvcih0ZXh0PywgcGFyYW1zPzogYW55W10sIHRpdGxlPywgY3JlYXRlU2Vzc2lvbk5vdGlmaWNhdGlvbjogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIHRleHQgPSBMMTBuVXRpbHMuZ2V0TG9jYWxpemVkVmFsdWUodGV4dCwgcGFyYW1zLCAnRXJyb3JPY2N1cmVkJyk7XHJcbiAgICB0aXRsZSA9IEwxMG5VdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0aXRsZSk7XHJcblxyXG4gICAgdGhpcy50b2FzdHJTZXJ2aWNlLmVycm9yKHRleHQsIHRpdGxlLCB7XHJcbiAgICAgIHRpbWVPdXQ6IDMwMDAsXHJcbiAgICAgIHByb2dyZXNzQmFyOiB0cnVlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNhbmNlbCh0ZXh0PywgcGFyYW1zPzogYW55W10sIHRpdGxlPykge1xyXG4gICAgdGV4dCA9IEwxMG5VdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0ZXh0LCBwYXJhbXMsICdPcGVyYXRpb25DYW5jZWxsZWQnKTtcclxuICAgIHRpdGxlID0gTDEwblV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRpdGxlKTtcclxuXHJcbiAgICB0aGlzLnRvYXN0clNlcnZpY2UuaW5mbyh0ZXh0LCB0aXRsZSwge1xyXG4gICAgICB0aW1lT3V0OiAzMDAwLFxyXG4gICAgICBwcm9ncmVzc0JhcjogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -17,11 +17,12 @@
|
|
|
17
17
|
import { Injectable } from '@angular/core';
|
|
18
18
|
import { Subject } from 'rxjs';
|
|
19
19
|
//App
|
|
20
|
-
import {
|
|
20
|
+
import { ApiUrl } from '../consts/settings';
|
|
21
|
+
import { ApiServiceBase } from '../../data/base/api.service';
|
|
21
22
|
import * as i0 from "@angular/core";
|
|
22
23
|
import * as i1 from "@angular/common/http";
|
|
23
24
|
import * as i2 from "./web-storage.service";
|
|
24
|
-
export class AppContextService extends
|
|
25
|
+
export class AppContextService extends ApiServiceBase {
|
|
25
26
|
http;
|
|
26
27
|
localStorage;
|
|
27
28
|
sessionStorage;
|
|
@@ -38,7 +39,7 @@ export class AppContextService extends BaseApiService {
|
|
|
38
39
|
this.http = http;
|
|
39
40
|
this.localStorage = localStorage;
|
|
40
41
|
this.sessionStorage = sessionStorage;
|
|
41
|
-
this.baseUrl =
|
|
42
|
+
this.baseUrl = `${ApiUrl}/appContext`;
|
|
42
43
|
}
|
|
43
44
|
//Session
|
|
44
45
|
getCurrentFromSession() {
|
|
@@ -152,4 +153,4 @@ export class AppContextService extends BaseApiService {
|
|
|
152
153
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AppContextService, [{
|
|
153
154
|
type: Injectable
|
|
154
155
|
}], function () { return [{ type: i1.HttpClient }, { type: i2.LocalStorageService }, { type: i2.SessionStorageService }]; }, null); })();
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFN0MsS0FBSztBQUNMLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQUlsRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsY0FBYztJQWN2QztJQUNBO0lBQ0E7SUFmWixRQUFRO0lBQ0EsY0FBYyxHQUFHLFlBQVksQ0FBQztJQUU5QixZQUFZLEdBQWlCLElBQUksQ0FBQztJQUNsQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBRXZCLGlCQUFpQjtJQUNULFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO0lBRXRDLGdCQUFnQjtJQUNQLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRWpELFlBQ1ksSUFBZ0IsRUFDaEIsWUFBaUMsRUFDakMsY0FBcUM7UUFDL0MsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBSEYsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBRS9DLElBQUksQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLENBQUM7SUFDbkMsQ0FBQztJQUVELFNBQVM7SUFDRCxxQkFBcUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVP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QkFBc0IsRUFBRSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUNELElBQVcsT0FBTyxDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7MkVBekpVLGlCQUFpQjtnRUFBakIsaUJBQWlCLFdBQWpCLGlCQUFpQjs7dUZBQWpCLGlCQUFpQjtjQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDEzIE5vdiAyMDE3XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBCYXNlQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGEvYmFzZS9iYXNlLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSwgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi93ZWItc3RvcmFnZS5zZXJ2aWNlJ1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXBwQ29udGV4dFNlcnZpY2UgZXh0ZW5kcyBCYXNlQXBpU2VydmljZSB7XHJcbiAgLy9Db25zdHNcclxuICBwcml2YXRlIHN0b3JhZ2VLZXlOYW1lID0gJ2FwcENvbnRleHQnO1xyXG5cclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICBwcml2YXRlIHN1Y2Nlc3NlcyA9IFtdO1xyXG5cclxuICAvL1ByaXZhdGUgU3RyZWFtc1xyXG4gIHByaXZhdGUgX3VwZGF0ZWQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcblxyXG4gIC8vUHVibGljIFN0cmVhbXNcclxuICByZWFkb25seSB1cGRhdGVkJCA9IHRoaXMuX3VwZGF0ZWQuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcm90ZWN0ZWQgbG9jYWxTdG9yYWdlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIHNlc3Npb25TdG9yYWdlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGh0dHApO1xyXG4gICAgdGhpcy5iYXNlVXJsID0gJy9hcGkvYXBwQ29udGV4dCc7XHJcbiAgfVxyXG5cclxuICAvL1Nlc3Npb25cclxuICBwcml2YXRlIGdldEN1cnJlbnRGcm9tU2Vzc2lvbigpIHtcclxuICAgIHJldHVybiB0aGlzLnNlc3Npb25TdG9yYWdlLmdldE9iamVjdCh0aGlzLnN0b3JhZ2VLZXlOYW1lKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q3VycmVudEZyb21TZXNzaW9uKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0T2JqZWN0KHRoaXMuc3RvcmFnZUtleU5hbWUsIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlQ3VycmVudElmRXhwaXJlZCgpIHtcclxuICAgIGxldCBjb250ZXh0ID0gdGhpcy5nZXRDdXJyZW50RnJvbVNlc3Npb24oKTtcclxuXHJcbiAgICBpZiAoIWNvbnRleHQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBzaG91bGRCZVVwZGF0ZWQgPSBmYWxzZTtcclxuICAgIGxldCBsciA9IGNvbnRleHQubGFzdFJlcXVlc3RlZDtcclxuXHJcbiAgICBpZiAobHIpIHtcclxuICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGxldCBsYXN0UmVxdWVzdGVkID0gbmV3IERhdGUoY29udGV4dC5sYXN0UmVxdWVzdGVkKTtcclxuICAgICAgbGV0IGluM01pbnMgPSBuZXcgRGF0ZShsYXN0UmVxdWVzdGVkLmdldEZ1bGxZZWFyKCksIGxhc3RSZXF1ZXN0ZWQuZ2V0TW9udGgoKSwgbGFzdFJlcXVlc3RlZC5nZXREYXRlKCksXHJcbiAgICAgICAgbGFzdFJlcXVlc3RlZC5nZXRIb3VycygpLCBsYXN0UmVxdWVzdGVkLmdldE1pbnV0ZXMoKSArIDMsIDAsIDApO1xyXG5cclxuICAgICAgaWYgKGluM01pbnMuZ2V0VGltZSgpIDwgbm93LmdldFRpbWUoKSkge1xyXG4gICAgICAgIHNob3VsZEJlVXBkYXRlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBzaG91bGRCZVVwZGF0ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzaG91bGRCZVVwZGF0ZWQpIHtcclxuICAgICAgdGhpcy51cGRhdGVDdXJyZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRhdGFSZWNlaXZlZChkYXRhKSB7XHJcbiAgICB0aGlzLmN1cnJlbnQgPSBkYXRhO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zdWNjZXNzZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IHN1Y2Nlc3MgPSB0aGlzLnN1Y2Nlc3Nlc1tpXTtcclxuICAgICAgaWYgKHN1Y2Nlc3MpIHtcclxuICAgICAgICBzdWNjZXNzKGRhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWNjZXNzZXMgPSBbXTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG51bGw7XHJcblxyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdBcHBDb250ZXh0IGhhcyBiZWVuIHVwZGF0ZWQgYXQgJyArIG5vdyk7XHJcblxyXG4gICAgICB0aGlzLl91cGRhdGVkLm5leHQoZGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEN1cnJlbnRQcml2YXRlKHN1Y2Nlc3M6IEZ1bmN0aW9uID0gbnVsbCwgZ2V0Q2FjaGVkSWZFeGlzdDogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIGlmIChnZXRDYWNoZWRJZkV4aXN0KSB7XHJcbiAgICAgIGxldCBjb250ZXh0ID0gdGhpcy5nZXRDdXJyZW50RnJvbVNlc3Npb24oKTtcclxuXHJcbiAgICAgIGlmIChjb250ZXh0ICE9IG51bGwpIHtcclxuICAgICAgICBpZiAoc3VjY2Vzcykgc3VjY2Vzcyhjb250ZXh0KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICB0aGlzLnN1Y2Nlc3Nlcy5wdXNoKHN1Y2Nlc3MpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbiAhPSBudWxsKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgbm93ID0gbmV3IERhdGUoKTtcclxuICAgIGNvbnNvbGUubG9nKCdSZXF1ZXN0aW5nIGEgbmV3IEFwcENvbnRleHQgYXQgJyArIG5vdyk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmdldCgnZ2V0Q3VycmVudENvbnRleHQnLCBudWxsKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YVJlY2VpdmVkKGRhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vUHVibGljXHJcbiAgaW5pdChjb250ZXh0KSB7XHJcblx0XHR0aGlzLmN1cnJlbnQgPSBjb250ZXh0O1xyXG5cdH1cclxuXHJcbiAgZ2V0TGF0ZXN0Q3VycmVudChzdWNjZXNzOiBGdW5jdGlvbiA9IG51bGwpIHtcclxuICAgIHRoaXMuZ2V0Q3VycmVudFByaXZhdGUoc3VjY2VzcywgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q3VycmVudChzdWNjZXNzOiBGdW5jdGlvbiA9IG51bGwpIHtcclxuICAgIHRoaXMuZ2V0Q3VycmVudFByaXZhdGUoc3VjY2VzcywgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVDdXJyZW50KHN1Y2Nlc3M6IEZ1bmN0aW9uID0gbnVsbCkge1xyXG4gICAgLy9WYWRpbU9TOiBtYWtlIGRyb3BwaW5nIGN1cnJlbnQgJiBpc0FkbWluIHRocm93IDQwM1xyXG4gICAgLy90aGlzLmNsZWFyQ3VycmVudCgpO1xyXG4gICAgdGhpcy5nZXRMYXRlc3RDdXJyZW50KHN1Y2Nlc3MpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJDdXJyZW50KCkge1xyXG4gICAgdGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmUodGhpcy5zdG9yYWdlS2V5TmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL1N0b3JhZ2VcclxuICBjbGVhckxvY2FsU3RvcmFnZSgpIHtcclxuXHRcdHRoaXMubG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcblx0fVxyXG5cclxuXHRjbGVhclNlc3Npb25TdG9yYWdlKCkge1xyXG5cdFx0dGhpcy5zZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xyXG5cdH1cclxuXHJcbiAgY2xlYXJXZWJTdG9yYWdlKCkge1xyXG5cdFx0dGhpcy5jbGVhckxvY2FsU3RvcmFnZSgpO1xyXG5cdFx0dGhpcy5jbGVhclNlc3Npb25TdG9yYWdlKCk7XHJcblx0fVxyXG5cclxuICAvL1Byb3BlcnRpZXNcclxuICBwdWJsaWMgZ2V0IGN1cnJlbnQoKSB7XHJcbiAgICB0aGlzLnVwZGF0ZUN1cnJlbnRJZkV4cGlyZWQoKTtcclxuICAgIHJldHVybiB0aGlzLmdldEN1cnJlbnRGcm9tU2Vzc2lvbigpO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGN1cnJlbnQodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zZXRDdXJyZW50RnJvbVNlc3Npb24odmFsdWUpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFN0MsS0FBSztBQUNMLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFJN0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGNBQWM7SUFjdkM7SUFDQTtJQUNBO0lBZlosUUFBUTtJQUNBLGNBQWMsR0FBRyxZQUFZLENBQUM7SUFFOUIsWUFBWSxHQUFpQixJQUFJLENBQUM7SUFDbEMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUV2QixpQkFBaUI7SUFDVCxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztJQUV0QyxnQkFBZ0I7SUFDUCxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVqRCxZQUNZLElBQWdCLEVBQ2hCLFlBQWlDLEVBQ2pDLGNBQXFDO1FBQy9DLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUhGLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUUvQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsTUFBTSxhQUFhLENBQUM7SUFDeEMsQ0FBQztJQUVELFNBQVM7SUFDRCxxQkFBcUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFD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QzVCLENBQUM7SUFFQSxZQUFZO0lBQ1osSUFBVyxPQUFPO1FBQ2hCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUNELElBQVcsT0FBTyxDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7MkVBekpVLGlCQUFpQjtnRUFBakIsaUJBQWlCLFdBQWpCLGlCQUFpQjs7dUZBQWpCLGlCQUFpQjtjQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDEzIE5vdiAyMDE3XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBBcGlVcmwgfSBmcm9tICcuLi9jb25zdHMvc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlQmFzZSB9IGZyb20gJy4uLy4uL2RhdGEvYmFzZS9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UsIFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4vd2ViLXN0b3JhZ2Uuc2VydmljZSdcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFwcENvbnRleHRTZXJ2aWNlIGV4dGVuZHMgQXBpU2VydmljZUJhc2Uge1xyXG4gIC8vQ29uc3RzXHJcbiAgcHJpdmF0ZSBzdG9yYWdlS2V5TmFtZSA9ICdhcHBDb250ZXh0JztcclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XHJcbiAgcHJpdmF0ZSBzdWNjZXNzZXMgPSBbXTtcclxuXHJcbiAgLy9Qcml2YXRlIFN0cmVhbXNcclxuICBwcml2YXRlIF91cGRhdGVkID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG5cclxuICAvL1B1YmxpYyBTdHJlYW1zXHJcbiAgcmVhZG9ubHkgdXBkYXRlZCQgPSB0aGlzLl91cGRhdGVkLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJvdGVjdGVkIGxvY2FsU3RvcmFnZTogTG9jYWxTdG9yYWdlU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBzZXNzaW9uU3RvcmFnZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihodHRwKTtcclxuICAgIHRoaXMuYmFzZVVybCA9IGAke0FwaVVybH0vYXBwQ29udGV4dGA7XHJcbiAgfVxyXG5cclxuICAvL1Nlc3Npb25cclxuICBwcml2YXRlIGdldEN1cnJlbnRGcm9tU2Vzc2lvbigpIHtcclxuICAgIHJldHVybiB0aGlzLnNlc3Npb25TdG9yYWdlLmdldE9iamVjdCh0aGlzLnN0b3JhZ2VLZXlOYW1lKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q3VycmVudEZyb21TZXNzaW9uKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0T2JqZWN0KHRoaXMuc3RvcmFnZUtleU5hbWUsIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlQ3VycmVudElmRXhwaXJlZCgpIHtcclxuICAgIGxldCBjb250ZXh0ID0gdGhpcy5nZXRDdXJyZW50RnJvbVNlc3Npb24oKTtcclxuXHJcbiAgICBpZiAoIWNvbnRleHQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBzaG91bGRCZVVwZGF0ZWQgPSBmYWxzZTtcclxuICAgIGxldCBsciA9IGNvbnRleHQubGFzdFJlcXVlc3RlZDtcclxuXHJcbiAgICBpZiAobHIpIHtcclxuICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGxldCBsYXN0UmVxdWVzdGVkID0gbmV3IERhdGUoY29udGV4dC5sYXN0UmVxdWVzdGVkKTtcclxuICAgICAgbGV0IGluM01pbnMgPSBuZXcgRGF0ZShsYXN0UmVxdWVzdGVkLmdldEZ1bGxZZWFyKCksIGxhc3RSZXF1ZXN0ZWQuZ2V0TW9udGgoKSwgbGFzdFJlcXVlc3RlZC5nZXREYXRlKCksXHJcbiAgICAgICAgbGFzdFJlcXVlc3RlZC5nZXRIb3VycygpLCBsYXN0UmVxdWVzdGVkLmdldE1pbnV0ZXMoKSArIDMsIDAsIDApO1xyXG5cclxuICAgICAgaWYgKGluM01pbnMuZ2V0VGltZSgpIDwgbm93LmdldFRpbWUoKSkge1xyXG4gICAgICAgIHNob3VsZEJlVXBkYXRlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBzaG91bGRCZVVwZGF0ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzaG91bGRCZVVwZGF0ZWQpIHtcclxuICAgICAgdGhpcy51cGRhdGVDdXJyZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRhdGFSZWNlaXZlZChkYXRhKSB7XHJcbiAgICB0aGlzLmN1cnJlbnQgPSBkYXRhO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zdWNjZXNzZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IHN1Y2Nlc3MgPSB0aGlzLnN1Y2Nlc3Nlc1tpXTtcclxuICAgICAgaWYgKHN1Y2Nlc3MpIHtcclxuICAgICAgICBzdWNjZXNzKGRhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdWNjZXNzZXMgPSBbXTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG51bGw7XHJcblxyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdBcHBDb250ZXh0IGhhcyBiZWVuIHVwZGF0ZWQgYXQgJyArIG5vdyk7XHJcblxyXG4gICAgICB0aGlzLl91cGRhdGVkLm5leHQoZGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEN1cnJlbnRQcml2YXRlKHN1Y2Nlc3M6IEZ1bmN0aW9uID0gbnVsbCwgZ2V0Q2FjaGVkSWZFeGlzdDogYm9vbGVhbiA9IHRydWUpIHtcclxuICAgIGlmIChnZXRDYWNoZWRJZkV4aXN0KSB7XHJcbiAgICAgIGxldCBjb250ZXh0ID0gdGhpcy5nZXRDdXJyZW50RnJvbVNlc3Npb24oKTtcclxuXHJcbiAgICAgIGlmIChjb250ZXh0ICE9IG51bGwpIHtcclxuICAgICAgICBpZiAoc3VjY2Vzcykgc3VjY2Vzcyhjb250ZXh0KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICB0aGlzLnN1Y2Nlc3Nlcy5wdXNoKHN1Y2Nlc3MpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbiAhPSBudWxsKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgbm93ID0gbmV3IERhdGUoKTtcclxuICAgIGNvbnNvbGUubG9nKCdSZXF1ZXN0aW5nIGEgbmV3IEFwcENvbnRleHQgYXQgJyArIG5vdyk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmdldCgnZ2V0Q3VycmVudENvbnRleHQnLCBudWxsKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YVJlY2VpdmVkKGRhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vUHVibGljXHJcbiAgaW5pdChjb250ZXh0KSB7XHJcblx0XHR0aGlzLmN1cnJlbnQgPSBjb250ZXh0O1xyXG5cdH1cclxuXHJcbiAgZ2V0TGF0ZXN0Q3VycmVudChzdWNjZXNzOiBGdW5jdGlvbiA9IG51bGwpIHtcclxuICAgIHRoaXMuZ2V0Q3VycmVudFByaXZhdGUoc3VjY2VzcywgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q3VycmVudChzdWNjZXNzOiBGdW5jdGlvbiA9IG51bGwpIHtcclxuICAgIHRoaXMuZ2V0Q3VycmVudFByaXZhdGUoc3VjY2VzcywgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVDdXJyZW50KHN1Y2Nlc3M6IEZ1bmN0aW9uID0gbnVsbCkge1xyXG4gICAgLy9WYWRpbU9TOiBtYWtlIGRyb3BwaW5nIGN1cnJlbnQgJiBpc0FkbWluIHRocm93IDQwM1xyXG4gICAgLy90aGlzLmNsZWFyQ3VycmVudCgpO1xyXG4gICAgdGhpcy5nZXRMYXRlc3RDdXJyZW50KHN1Y2Nlc3MpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJDdXJyZW50KCkge1xyXG4gICAgdGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmUodGhpcy5zdG9yYWdlS2V5TmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL1N0b3JhZ2VcclxuICBjbGVhckxvY2FsU3RvcmFnZSgpIHtcclxuXHRcdHRoaXMubG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcblx0fVxyXG5cclxuXHRjbGVhclNlc3Npb25TdG9yYWdlKCkge1xyXG5cdFx0dGhpcy5zZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xyXG5cdH1cclxuXHJcbiAgY2xlYXJXZWJTdG9yYWdlKCkge1xyXG5cdFx0dGhpcy5jbGVhckxvY2FsU3RvcmFnZSgpO1xyXG5cdFx0dGhpcy5jbGVhclNlc3Npb25TdG9yYWdlKCk7XHJcblx0fVxyXG5cclxuICAvL1Byb3BlcnRpZXNcclxuICBwdWJsaWMgZ2V0IGN1cnJlbnQoKSB7XHJcbiAgICB0aGlzLnVwZGF0ZUN1cnJlbnRJZkV4cGlyZWQoKTtcclxuICAgIHJldHVybiB0aGlzLmdldEN1cnJlbnRGcm9tU2Vzc2lvbigpO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGN1cnJlbnQodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zZXRDdXJyZW50RnJvbVNlc3Npb24odmFsdWUpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny vadim@osovitny.com
|
|
8
|
+
Anatoly Osovitny anatoly@osovitny.com
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
15 Nov 2023
|
|
12
|
+
|
|
13
|
+
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
|
+
</file>
|
|
15
|
+
*/
|
|
16
|
+
import { of, forkJoin, merge } from 'rxjs';
|
|
17
|
+
import { map } from 'rxjs/operators';
|
|
18
|
+
//App
|
|
19
|
+
import { ApiUrl } from '../consts/settings';
|
|
20
|
+
import { ApiServiceBase } from '../../data/base/api.service';
|
|
21
|
+
import { Utils } from '../utils';
|
|
22
|
+
import { Stopwatch } from '../performance/stopwatch';
|
|
23
|
+
export class StarterServiceBase extends ApiServiceBase {
|
|
24
|
+
http;
|
|
25
|
+
appContext;
|
|
26
|
+
constructor(http, appContext) {
|
|
27
|
+
super(http);
|
|
28
|
+
this.http = http;
|
|
29
|
+
this.appContext = appContext;
|
|
30
|
+
this.baseUrl = ApiUrl;
|
|
31
|
+
}
|
|
32
|
+
applicationStarting() {
|
|
33
|
+
let context = this.appContext.current;
|
|
34
|
+
if (!Utils.isObjectNullOrEmpty(context)) {
|
|
35
|
+
this.appContext.init(context);
|
|
36
|
+
return of(context);
|
|
37
|
+
}
|
|
38
|
+
//Log
|
|
39
|
+
let stopwatch = new Stopwatch("applicationStarting");
|
|
40
|
+
stopwatch.start();
|
|
41
|
+
this.baseUrl = `${this.baseUrl}/appContext`;
|
|
42
|
+
return this.get('applicationStarting').pipe(map(data => {
|
|
43
|
+
//Log
|
|
44
|
+
stopwatch.stop();
|
|
45
|
+
stopwatch.printElapsedAsMilliseconds();
|
|
46
|
+
this.appContext.init(data);
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
ensureApplicationStarted() {
|
|
50
|
+
//1. Application Starting
|
|
51
|
+
let applicationStarting$ = this.applicationStarting();
|
|
52
|
+
//2. Load json files
|
|
53
|
+
let jsonFiles$ = this.appContext.loadRequiredJsonFiles();
|
|
54
|
+
//3. Load required items, like settings
|
|
55
|
+
let requiredItems$ = this.appContext.loadRequiredItems();
|
|
56
|
+
//Tasks to execute
|
|
57
|
+
let parallelTasks = [];
|
|
58
|
+
if (jsonFiles$)
|
|
59
|
+
parallelTasks.push(jsonFiles$);
|
|
60
|
+
if (requiredItems$)
|
|
61
|
+
parallelTasks.push(requiredItems$);
|
|
62
|
+
let parallelTasks$ = merge(...parallelTasks);
|
|
63
|
+
let tasks$ = forkJoin([applicationStarting$, parallelTasks$]);
|
|
64
|
+
//VadimOS:
|
|
65
|
+
//concat is NOT wokring here, no idea why. Just executing first task
|
|
66
|
+
//let tasks$ = concat(applicationStarting$, parallelTasks$);
|
|
67
|
+
//Log
|
|
68
|
+
let stopwatch = new Stopwatch("ensureApplicationStarted");
|
|
69
|
+
stopwatch.start();
|
|
70
|
+
return tasks$.pipe(map(() => {
|
|
71
|
+
//Log
|
|
72
|
+
stopwatch.stop();
|
|
73
|
+
stopwatch.printElapsedAsMilliseconds();
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvc2VydmljZXMvc3RhcnRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBSUYsT0FBTyxFQUFjLEVBQUUsRUFBVSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxLQUFLO0FBQ0wsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdyRCxNQUFNLE9BQWdCLGtCQUFtQixTQUFRLGNBQWM7SUFDdkM7SUFBNEI7SUFBbEQsWUFBc0IsSUFBZ0IsRUFBWSxVQUE4QjtRQUM5RSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFEUSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVksZUFBVSxHQUFWLFVBQVUsQ0FBb0I7UUFFOUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlCLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3BCO1FBRUQsS0FBSztRQUNMLElBQUksU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDckQsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWxCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxhQUFhLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFNLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMxRCxLQUFLO1lBQ0wsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLFNBQVMsQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1lBRXZDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLHlCQUF5QjtRQUN6QixJQUFJLG9CQUFvQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBRXRELG9CQUFvQjtRQUNwQixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFekQsdUNBQXVDO1FBQ3ZDLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV6RCxrQkFBa0I7UUFDbEIsSUFBSSxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBRXZCLElBQUksVUFBVTtZQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsSUFBSSxjQUFjO1lBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV2RCxJQUFJLGNBQWMsR0FBRyxLQUFLLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQztRQUM3QyxJQUFJLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBRTlELFVBQVU7UUFDVixvRUFBb0U7UUFDcEUsNERBQTREO1FBRTVELEtBQUs7UUFDTCxJQUFJLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzFELFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVsQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUN4QixLQUFLO1lBQ0wsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLFNBQVMsQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMTUgTm92IDIwMjNcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIGNvbmNhdCwgZm9ya0pvaW4sIG1lcmdlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IEFwaVVybCB9IGZyb20gJy4uL2NvbnN0cy9zZXR0aW5ncyc7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2VCYXNlIH0gZnJvbSAnLi4vLi4vZGF0YS9iYXNlL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXRpbHMgfSBmcm9tICcuLi91dGlscyc7XHJcbmltcG9ydCB7IFN0b3B3YXRjaCB9IGZyb20gJy4uL3BlcmZvcm1hbmNlL3N0b3B3YXRjaCc7XHJcbmltcG9ydCB7IElBcHBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uL21vZGVscy9hcHBjb250ZXh0LnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFN0YXJ0ZXJTZXJ2aWNlQmFzZSBleHRlbmRzIEFwaVNlcnZpY2VCYXNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCwgcHJvdGVjdGVkIGFwcENvbnRleHQ6IElBcHBDb250ZXh0U2VydmljZSkge1xyXG4gICAgc3VwZXIoaHR0cCk7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSBBcGlVcmw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFwcGxpY2F0aW9uU3RhcnRpbmcoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBjb250ZXh0ID0gdGhpcy5hcHBDb250ZXh0LmN1cnJlbnQ7XHJcbiAgICBpZiAoIVV0aWxzLmlzT2JqZWN0TnVsbE9yRW1wdHkoY29udGV4dCkpIHtcclxuICAgICAgdGhpcy5hcHBDb250ZXh0LmluaXQoY29udGV4dCk7XHJcbiAgICAgIHJldHVybiBvZihjb250ZXh0KTtcclxuICAgIH1cclxuXHJcbiAgICAvL0xvZ1xyXG4gICAgbGV0IHN0b3B3YXRjaCA9IG5ldyBTdG9wd2F0Y2goXCJhcHBsaWNhdGlvblN0YXJ0aW5nXCIpO1xyXG4gICAgc3RvcHdhdGNoLnN0YXJ0KCk7XHJcblxyXG4gICAgdGhpcy5iYXNlVXJsID0gYCR7dGhpcy5iYXNlVXJsfS9hcHBDb250ZXh0YDtcclxuICAgIHJldHVybiB0aGlzLmdldDxhbnk+KCdhcHBsaWNhdGlvblN0YXJ0aW5nJykucGlwZShtYXAoZGF0YSA9PiB7XHJcbiAgICAgIC8vTG9nXHJcbiAgICAgIHN0b3B3YXRjaC5zdG9wKCk7XHJcbiAgICAgIHN0b3B3YXRjaC5wcmludEVsYXBzZWRBc01pbGxpc2Vjb25kcygpO1xyXG5cclxuICAgICAgdGhpcy5hcHBDb250ZXh0LmluaXQoZGF0YSk7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBlbnN1cmVBcHBsaWNhdGlvblN0YXJ0ZWQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIC8vMS4gQXBwbGljYXRpb24gU3RhcnRpbmdcclxuICAgIGxldCBhcHBsaWNhdGlvblN0YXJ0aW5nJCA9IHRoaXMuYXBwbGljYXRpb25TdGFydGluZygpO1xyXG5cclxuICAgIC8vMi4gTG9hZCBqc29uIGZpbGVzXHJcbiAgICBsZXQganNvbkZpbGVzJCA9IHRoaXMuYXBwQ29udGV4dC5sb2FkUmVxdWlyZWRKc29uRmlsZXMoKTtcclxuXHJcbiAgICAvLzMuIExvYWQgcmVxdWlyZWQgaXRlbXMsIGxpa2Ugc2V0dGluZ3NcclxuICAgIGxldCByZXF1aXJlZEl0ZW1zJCA9IHRoaXMuYXBwQ29udGV4dC5sb2FkUmVxdWlyZWRJdGVtcygpO1xyXG5cclxuICAgIC8vVGFza3MgdG8gZXhlY3V0ZVxyXG4gICAgbGV0IHBhcmFsbGVsVGFza3MgPSBbXTtcclxuXHJcbiAgICBpZiAoanNvbkZpbGVzJCkgcGFyYWxsZWxUYXNrcy5wdXNoKGpzb25GaWxlcyQpO1xyXG4gICAgaWYgKHJlcXVpcmVkSXRlbXMkKSBwYXJhbGxlbFRhc2tzLnB1c2gocmVxdWlyZWRJdGVtcyQpO1xyXG5cclxuICAgIGxldCBwYXJhbGxlbFRhc2tzJCA9IG1lcmdlKC4uLnBhcmFsbGVsVGFza3MpO1xyXG4gICAgbGV0IHRhc2tzJCA9IGZvcmtKb2luKFthcHBsaWNhdGlvblN0YXJ0aW5nJCwgcGFyYWxsZWxUYXNrcyRdKTtcclxuXHJcbiAgICAvL1ZhZGltT1M6XHJcbiAgICAvL2NvbmNhdCBpcyBOT1Qgd29rcmluZyBoZXJlLCBubyBpZGVhIHdoeS4gSnVzdCBleGVjdXRpbmcgZmlyc3QgdGFza1xyXG4gICAgLy9sZXQgdGFza3MkID0gY29uY2F0KGFwcGxpY2F0aW9uU3RhcnRpbmckLCBwYXJhbGxlbFRhc2tzJCk7XHJcblxyXG4gICAgLy9Mb2dcclxuICAgIGxldCBzdG9wd2F0Y2ggPSBuZXcgU3RvcHdhdGNoKFwiZW5zdXJlQXBwbGljYXRpb25TdGFydGVkXCIpO1xyXG4gICAgc3RvcHdhdGNoLnN0YXJ0KCk7XHJcblxyXG4gICAgcmV0dXJuIHRhc2tzJC5waXBlKG1hcCgoKSA9PiB7XHJcbiAgICAgICAgLy9Mb2dcclxuICAgICAgICBzdG9wd2F0Y2guc3RvcCgpO1xyXG4gICAgICAgIHN0b3B3YXRjaC5wcmludEVsYXBzZWRBc01pbGxpc2Vjb25kcygpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbiJdfQ==
|