@osovitny/anatoly 2.1.13 → 2.14.1
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/assets/styles/alerts.less +182 -0
- package/assets/styles/spinner.less +64 -0
- package/assets/styles/toastr.less +192 -0
- package/esm2020/lib/core/convert.mjs +62 -0
- package/esm2020/lib/core/core.module.mjs +72 -0
- package/esm2020/lib/core/go/base-go.service.mjs +41 -0
- package/esm2020/lib/core/guid.mjs +22 -0
- package/esm2020/lib/core/interceptors/httpInterceptor.mjs +108 -0
- package/esm2020/lib/core/localization/localization.module.mjs +47 -0
- package/esm2020/lib/core/localization/localization.service.mjs +185 -0
- package/esm2020/lib/core/localization/localizationSettings.module.mjs +88 -0
- package/esm2020/lib/core/localization/localize.pipe.mjs +78 -0
- package/esm2020/lib/core/logging/globalErrorHandler.mjs +44 -0
- package/esm2020/lib/core/logging/logging.service.mjs +39 -0
- package/esm2020/lib/core/notifications/services/notification-service.mjs +228 -0
- package/esm2020/lib/core/services/appcontext.service.mjs +118 -0
- package/esm2020/lib/core/services/dm.service.mjs +72 -0
- package/esm2020/lib/core/services/google-analytics.service.mjs +54 -0
- package/{esm2015/lib/core/services/idle.service.js → esm2020/lib/core/services/idle.service.mjs} +9 -7
- package/{esm2015/lib/core/services/loading.service.js → esm2020/lib/core/services/loading.service.mjs} +9 -8
- package/esm2020/lib/core/services/web-storage.service.mjs +69 -0
- package/esm2020/lib/core/subs.mjs +31 -0
- package/esm2020/lib/core/utils.mjs +82 -0
- package/esm2020/lib/data/base/base-api.service.mjs +89 -0
- package/esm2020/lib/data/base/grid/base-grid-edit.service.mjs +77 -0
- package/esm2020/lib/data/base/grid/base-grid-read.service.mjs +62 -0
- package/esm2020/lib/data/data.module.mjs +51 -0
- package/esm2020/lib/data/services/billing-api.service.mjs +65 -0
- package/esm2020/lib/data/services/notifications/notifications-api-service.mjs +43 -0
- package/esm2020/lib/ui/components/base-edit.component.mjs +143 -0
- package/esm2020/lib/ui/components/base.component.mjs +47 -0
- package/esm2020/lib/ui/components/base.dialog.mjs +49 -0
- package/esm2020/lib/ui/components/billing/buyaccess-button.component.mjs +69 -0
- package/esm2020/lib/ui/components/billing/subscribe-plan-button.component.mjs +63 -0
- package/esm2020/lib/ui/components/billing/upgrade-plan-button.component.mjs +53 -0
- package/esm2020/lib/ui/components/content-header/content-header.component.mjs +37 -0
- package/esm2020/lib/ui/components/html-editor/base-html-editor.component.mjs +111 -0
- package/esm2020/lib/ui/components/html-editor/forms-html-editor.component.mjs +48 -0
- package/esm2020/lib/ui/components/html-editor/html-editor.component.mjs +52 -0
- package/esm2020/lib/ui/components/identity/signin-button.component.mjs +32 -0
- package/esm2020/lib/ui/components/identity/signout-button.component.mjs +32 -0
- package/esm2020/lib/ui/components/identity/signup-button.component.mjs +31 -0
- package/esm2020/lib/ui/components/loading/loading.component.mjs +48 -0
- package/esm2020/lib/ui/components/spinner/spinner.component.mjs +74 -0
- package/esm2020/lib/ui/directives/native-element.directive.mjs +41 -0
- package/esm2020/lib/ui/pipes/filesize.pipe.mjs +45 -0
- package/esm2020/lib/ui/pipes/replace-text.pipe.mjs +40 -0
- package/esm2020/lib/ui/pipes/safeHtml.pipe.mjs +37 -0
- package/esm2020/lib/ui/ui.module.mjs +155 -0
- package/esm2020/lib/ui/validation/form-validation-summary.component.mjs +66 -0
- package/esm2020/lib/ui/validation/item-validation-summary.component.mjs +39 -0
- package/esm2020/lib/ui/validation/validation-summary.component.mjs +128 -0
- package/fesm2015/{osovitny-anatoly.js → osovitny-anatoly.mjs} +823 -765
- package/fesm2015/osovitny-anatoly.mjs.map +1 -0
- package/fesm2020/osovitny-anatoly.mjs +3496 -0
- package/fesm2020/osovitny-anatoly.mjs.map +1 -0
- package/{osovitny-anatoly.d.ts → index.d.ts} +1 -0
- package/lib/core/core.module.d.ts +5 -0
- package/lib/core/go/base-go.service.d.ts +3 -0
- package/lib/core/interceptors/httpInterceptor.d.ts +3 -0
- package/lib/core/localization/localization.module.d.ts +6 -0
- package/lib/core/localization/localization.service.d.ts +3 -0
- package/lib/core/localization/localizationSettings.module.d.ts +5 -0
- package/lib/core/localization/localize.pipe.d.ts +3 -0
- package/lib/core/logging/globalErrorHandler.d.ts +3 -0
- package/lib/core/logging/logging.service.d.ts +3 -0
- package/lib/core/notifications/services/notification-service.d.ts +3 -0
- package/lib/core/services/appcontext.service.d.ts +5 -2
- package/lib/core/services/dm.service.d.ts +3 -0
- package/lib/core/services/google-analytics.service.d.ts +3 -0
- package/lib/core/services/idle.service.d.ts +3 -0
- package/lib/core/services/loading.service.d.ts +3 -0
- package/lib/core/services/web-storage.service.d.ts +5 -0
- package/lib/data/base/base-api.service.d.ts +3 -0
- package/lib/data/base/grid/base-grid-edit.service.d.ts +3 -0
- package/lib/data/base/grid/base-grid-read.service.d.ts +3 -0
- package/lib/data/data.module.d.ts +5 -0
- package/lib/data/services/billing-api.service.d.ts +3 -0
- package/lib/data/services/notifications/notifications-api-service.d.ts +3 -0
- package/lib/ui/components/base-edit.component.d.ts +5 -2
- package/lib/ui/components/base.component.d.ts +3 -0
- package/lib/ui/components/base.dialog.d.ts +3 -0
- package/lib/ui/components/billing/buyaccess-button.component.d.ts +3 -0
- package/lib/ui/components/billing/subscribe-plan-button.component.d.ts +3 -0
- package/lib/ui/components/billing/upgrade-plan-button.component.d.ts +3 -0
- package/lib/ui/components/content-header/content-header.component.d.ts +3 -0
- package/lib/ui/components/html-editor/base-html-editor.component.d.ts +3 -0
- package/lib/ui/components/html-editor/forms-html-editor.component.d.ts +3 -0
- package/lib/ui/components/html-editor/html-editor.component.d.ts +3 -0
- package/lib/ui/components/identity/signin-button.component.d.ts +3 -0
- package/lib/ui/components/identity/signout-button.component.d.ts +3 -0
- package/lib/ui/components/identity/signup-button.component.d.ts +3 -0
- package/lib/ui/components/loading/loading.component.d.ts +3 -0
- package/lib/ui/components/spinner/spinner.component.d.ts +3 -0
- package/lib/ui/directives/native-element.directive.d.ts +3 -0
- package/lib/ui/pipes/filesize.pipe.d.ts +3 -0
- package/lib/ui/pipes/replace-text.pipe.d.ts +3 -0
- package/lib/ui/pipes/safeHtml.pipe.d.ts +3 -0
- package/lib/ui/ui.module.d.ts +24 -0
- package/lib/ui/validation/form-validation-summary.component.d.ts +3 -0
- package/lib/ui/validation/item-validation-summary.component.d.ts +3 -0
- package/lib/ui/validation/validation-summary.component.d.ts +3 -0
- package/package.json +23 -11
- package/bundles/osovitny-anatoly.umd.js +0 -3696
- package/bundles/osovitny-anatoly.umd.js.map +0 -1
- package/esm2015/lib/core/convert.js +0 -65
- package/esm2015/lib/core/core.module.js +0 -43
- package/esm2015/lib/core/go/base-go.service.js +0 -42
- package/esm2015/lib/core/guid.js +0 -25
- package/esm2015/lib/core/interceptors/httpInterceptor.js +0 -109
- package/esm2015/lib/core/localization/localization.module.js +0 -41
- package/esm2015/lib/core/localization/localization.service.js +0 -187
- package/esm2015/lib/core/localization/localizationSettings.module.js +0 -78
- package/esm2015/lib/core/localization/localize.pipe.js +0 -78
- package/esm2015/lib/core/logging/globalErrorHandler.js +0 -44
- package/esm2015/lib/core/logging/logging.service.js +0 -38
- package/esm2015/lib/core/notifications/services/notification-service.js +0 -230
- package/esm2015/lib/core/services/appcontext.service.js +0 -118
- package/esm2015/lib/core/services/dm.service.js +0 -74
- package/esm2015/lib/core/services/google-analytics.service.js +0 -53
- package/esm2015/lib/core/services/web-storage.service.js +0 -66
- package/esm2015/lib/core/subs.js +0 -34
- package/esm2015/lib/core/utils.js +0 -84
- package/esm2015/lib/data/base/base-api.service.js +0 -89
- package/esm2015/lib/data/base/grid/base-grid-edit.service.js +0 -77
- package/esm2015/lib/data/base/grid/base-grid-read.service.js +0 -62
- package/esm2015/lib/data/data.module.js +0 -43
- package/esm2015/lib/data/services/billing-api.service.js +0 -65
- package/esm2015/lib/data/services/notifications/notifications-api-service.js +0 -45
- package/esm2015/lib/ui/components/base-edit.component.js +0 -142
- package/esm2015/lib/ui/components/base.component.js +0 -43
- package/esm2015/lib/ui/components/base.dialog.js +0 -47
- package/esm2015/lib/ui/components/billing/buyaccess-button.component.js +0 -71
- package/esm2015/lib/ui/components/billing/subscribe-plan-button.component.js +0 -63
- package/esm2015/lib/ui/components/billing/upgrade-plan-button.component.js +0 -54
- package/esm2015/lib/ui/components/content-header/content-header.component.js +0 -37
- package/esm2015/lib/ui/components/html-editor/base-html-editor.component.js +0 -108
- package/esm2015/lib/ui/components/html-editor/forms-html-editor.component.js +0 -44
- package/esm2015/lib/ui/components/html-editor/html-editor.component.js +0 -51
- package/esm2015/lib/ui/components/identity/signin-button.component.js +0 -33
- package/esm2015/lib/ui/components/identity/signout-button.component.js +0 -33
- package/esm2015/lib/ui/components/identity/signup-button.component.js +0 -31
- package/esm2015/lib/ui/components/loading/loading.component.js +0 -49
- package/esm2015/lib/ui/components/spinner/spinner.component.js +0 -73
- package/esm2015/lib/ui/directives/native-element.directive.js +0 -41
- package/esm2015/lib/ui/pipes/filesize.pipe.js +0 -41
- package/esm2015/lib/ui/pipes/replace-text.pipe.js +0 -36
- package/esm2015/lib/ui/pipes/safeHtml.pipe.js +0 -36
- package/esm2015/lib/ui/ui.module.js +0 -105
- package/esm2015/lib/ui/validation/form-validation-summary.component.js +0 -64
- package/esm2015/lib/ui/validation/item-validation-summary.component.js +0 -38
- package/esm2015/lib/ui/validation/validation-summary.component.js +0 -126
- package/fesm2015/osovitny-anatoly.js.map +0 -1
- package/osovitny-anatoly.metadata.json +0 -1
- /package/{esm2015/lib/core/consts/settings.js → esm2020/lib/core/consts/settings.mjs} +0 -0
- /package/{esm2015/lib/core/consts/urls.js → esm2020/lib/core/consts/urls.mjs} +0 -0
- /package/{esm2015/lib/core/guards/once-import.guard.js → esm2020/lib/core/guards/once-import.guard.mjs} +0 -0
- /package/{esm2015/lib/core/localization/utils.js → esm2020/lib/core/localization/utils.mjs} +0 -0
- /package/{esm2015/lib/core/notifications/alerts.js → esm2020/lib/core/notifications/alerts.mjs} +0 -0
- /package/{esm2015/lib/core/notifications/interfaces/notification.js → esm2020/lib/core/notifications/interfaces/notification.mjs} +0 -0
- /package/{esm2015/lib/data/consts.js → esm2020/lib/data/consts.mjs} +0 -0
- /package/{esm2015/lib/ui/components/html-editor/html-editor.defaultoptions.js → esm2020/lib/ui/components/html-editor/html-editor.defaultoptions.mjs} +0 -0
- /package/{esm2015/osovitny-anatoly.js → esm2020/osovitny-anatoly.mjs} +0 -0
- /package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
26 Jun 2020
|
|
12
|
+
|
|
13
|
+
Version:
|
|
14
|
+
1.0
|
|
15
|
+
|
|
16
|
+
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
17
|
+
</file>
|
|
18
|
+
*/
|
|
19
|
+
// Node
|
|
20
|
+
import { Injectable } from "@angular/core";
|
|
21
|
+
import * as i0 from "@angular/core";
|
|
22
|
+
export class LoggingService {
|
|
23
|
+
constructor() { }
|
|
24
|
+
logError(error) {
|
|
25
|
+
console.error(error);
|
|
26
|
+
}
|
|
27
|
+
logInformation(info) {
|
|
28
|
+
console.info(info);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
LoggingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LoggingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
+
LoggingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LoggingService, providedIn: "root" });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LoggingService, decorators: [{
|
|
34
|
+
type: Injectable,
|
|
35
|
+
args: [{
|
|
36
|
+
providedIn: "root",
|
|
37
|
+
}]
|
|
38
|
+
}], ctorParameters: function () { return []; } });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvbG9nZ2luZy9sb2dnaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsT0FBTztBQUNQLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLGdCQUFlLENBQUM7SUFFaEIsUUFBUSxDQUFDLEtBQUs7UUFDWixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBSTtRQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUM7OzJHQVRVLGNBQWM7K0dBQWQsY0FBYyxjQUZiLE1BQU07MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyNiBKdW4gMjAyMFxyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy8gTm9kZVxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ2dpbmdTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIGxvZ0Vycm9yKGVycm9yKSB7XHJcbiAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICB9XHJcblxyXG4gIGxvZ0luZm9ybWF0aW9uKGluZm8pIHtcclxuICAgIGNvbnNvbGUuaW5mbyhpbmZvKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
2 Jun 2020
|
|
12
|
+
|
|
13
|
+
Version:
|
|
14
|
+
1.0
|
|
15
|
+
|
|
16
|
+
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
17
|
+
</file>
|
|
18
|
+
*/
|
|
19
|
+
// Node
|
|
20
|
+
import { Injectable } from '@angular/core';
|
|
21
|
+
// RxJs
|
|
22
|
+
import { BehaviorSubject } from 'rxjs';
|
|
23
|
+
// App
|
|
24
|
+
import { L10nUtils } from '../../localization/utils';
|
|
25
|
+
import { Guid } from '../../guid';
|
|
26
|
+
import * as i0 from "@angular/core";
|
|
27
|
+
import * as i1 from "ngx-toastr";
|
|
28
|
+
// SignalR
|
|
29
|
+
// import * as signalR from '@microsoft/signalr';
|
|
30
|
+
// import { NotificationsApiService } from '../../../data/services/notifications/notifications-api-service';
|
|
31
|
+
export class NotificationService {
|
|
32
|
+
constructor(toastrService) {
|
|
33
|
+
this.toastrService = toastrService;
|
|
34
|
+
// SignalR
|
|
35
|
+
// private hubConnection: signalR.HubConnection;
|
|
36
|
+
// private socketUrl: string;
|
|
37
|
+
// Notifications
|
|
38
|
+
this._sessionNotifications = new BehaviorSubject([]);
|
|
39
|
+
this._serverNotifications = new BehaviorSubject([]);
|
|
40
|
+
// Public
|
|
41
|
+
this.sessionNotifications$ = this._sessionNotifications.asObservable();
|
|
42
|
+
this.serverNotifications$ = this._serverNotifications.asObservable();
|
|
43
|
+
// this.onInit();
|
|
44
|
+
}
|
|
45
|
+
/*
|
|
46
|
+
onInit() {
|
|
47
|
+
if (AppCoreSettings.AzureAD) {
|
|
48
|
+
this.authService.getAuthToken().subscribe((token: string) => {
|
|
49
|
+
this.startSignalRConnection(token);
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
this.startSignalRConnection();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
ngOnDestroy() {
|
|
59
|
+
this.stopSignalRConnection();
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// SignalR
|
|
63
|
+
private startSignalRConnection(accessToken?) {
|
|
64
|
+
const cskii = AppCoreSettings.selectedClientID;
|
|
65
|
+
// tslint:disable-next-line:variable-name
|
|
66
|
+
const cskii_upn = AppCoreSettings.CSKII_UPN;
|
|
67
|
+
// tslint:disable-next-line:variable-name
|
|
68
|
+
const cli_sessionguid = AppCoreSettings.CLI_SessionGUID;
|
|
69
|
+
|
|
70
|
+
const url = this.socketUrl + '?cskii=' + cskii + '&cskii_upn=' + cskii_upn + '&cli_sessionguid=' + cli_sessionguid;
|
|
71
|
+
|
|
72
|
+
if (accessToken) {
|
|
73
|
+
this.hubConnection = new signalR.HubConnectionBuilder()
|
|
74
|
+
.withUrl(url, {
|
|
75
|
+
skipNegotiation: false,
|
|
76
|
+
transport: signalR.HttpTransportType.WebSockets,
|
|
77
|
+
accessTokenFactory: () => accessToken
|
|
78
|
+
})
|
|
79
|
+
.withAutomaticReconnect()
|
|
80
|
+
.configureLogging(signalR.LogLevel.Debug)
|
|
81
|
+
.build();
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
this.hubConnection = new signalR.HubConnectionBuilder()
|
|
85
|
+
.withUrl(this.socketUrl, {
|
|
86
|
+
skipNegotiation: true,
|
|
87
|
+
transport: signalR.HttpTransportType.WebSockets
|
|
88
|
+
})
|
|
89
|
+
.withAutomaticReconnect()
|
|
90
|
+
.configureLogging(signalR.LogLevel.Debug)
|
|
91
|
+
.build();
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
this.hubConnection
|
|
95
|
+
.start()
|
|
96
|
+
.then(() => this.signalRConnection_onSuccess())
|
|
97
|
+
.catch(err => {
|
|
98
|
+
console.error('Connection failed to SignalR Notification Hub')
|
|
99
|
+
})
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
private signalRConnection_onSuccess() {
|
|
103
|
+
this.addReceiveMessageDataListener();
|
|
104
|
+
|
|
105
|
+
this.notificationsApiService.retrieveNotifications().subscribe(data => {
|
|
106
|
+
this.serverNotifications = data;
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
stopSignalRConnection() {
|
|
111
|
+
if (this.hubConnection) {
|
|
112
|
+
this.hubConnection.stop();
|
|
113
|
+
this.hubConnection = null;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
private addReceiveMessageDataListener = () => {
|
|
118
|
+
this.hubConnection.on('ReceiveMessage', (message) => {
|
|
119
|
+
if (message) {
|
|
120
|
+
if (message.type === 'error') {
|
|
121
|
+
this.error(message.text, null, null, false);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
this.success(message.text, null, null, false);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
const notification = {
|
|
128
|
+
id: message.id,
|
|
129
|
+
isNew: message.isNew,
|
|
130
|
+
isSession: true,
|
|
131
|
+
text: message.text,
|
|
132
|
+
type: message.type,
|
|
133
|
+
createdDate: message.createdDate
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
this.addSessionNotificationToList(notification);
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
*/
|
|
141
|
+
addSessionNotification(text, type) {
|
|
142
|
+
const id = Guid.newGuid();
|
|
143
|
+
const notification = { id, isNew: true, isSession: true, text, type, createdDate: new Date(Date.now()).toISOString() };
|
|
144
|
+
this.addSessionNotificationToList(notification);
|
|
145
|
+
}
|
|
146
|
+
addSessionNotificationToList(notification) {
|
|
147
|
+
this.sessionNotifications = [
|
|
148
|
+
notification,
|
|
149
|
+
...this.sessionNotifications,
|
|
150
|
+
];
|
|
151
|
+
}
|
|
152
|
+
// Public API
|
|
153
|
+
removeNotification(id, isSession) {
|
|
154
|
+
if (isSession) {
|
|
155
|
+
this.sessionNotifications = this.sessionNotifications.filter(notifications => notifications.id !== id);
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
this.serverNotifications = this.serverNotifications.filter(notifications => notifications.id !== id);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
success(text, params, title, createSessionNotification = true) {
|
|
162
|
+
text = L10nUtils.getLocalizedValue(text, params, 'OperationSuccessFull');
|
|
163
|
+
title = L10nUtils.getLocalizedValue(title);
|
|
164
|
+
this.toastrService.success(text, title, {
|
|
165
|
+
timeOut: 3000,
|
|
166
|
+
progressBar: true
|
|
167
|
+
});
|
|
168
|
+
if (createSessionNotification) {
|
|
169
|
+
this.addSessionNotification(text, 'success');
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
info(text, params, title) {
|
|
173
|
+
text = L10nUtils.getLocalizedValue(text, params);
|
|
174
|
+
title = L10nUtils.getLocalizedValue(title);
|
|
175
|
+
this.toastrService.info(text, title, {
|
|
176
|
+
timeOut: 3000,
|
|
177
|
+
progressBar: true
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
warning(text, params, title) {
|
|
181
|
+
text = L10nUtils.getLocalizedValue(text, params);
|
|
182
|
+
title = L10nUtils.getLocalizedValue(title);
|
|
183
|
+
this.toastrService.warning(text, title, {
|
|
184
|
+
timeOut: 3000,
|
|
185
|
+
progressBar: true
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
error(text, params, title, createSessionNotification = true) {
|
|
189
|
+
text = L10nUtils.getLocalizedValue(text, params, 'ErrorOccured');
|
|
190
|
+
title = L10nUtils.getLocalizedValue(title);
|
|
191
|
+
this.toastrService.error(text, title, {
|
|
192
|
+
timeOut: 3000,
|
|
193
|
+
progressBar: true
|
|
194
|
+
});
|
|
195
|
+
if (createSessionNotification) {
|
|
196
|
+
this.addSessionNotification(text, 'error');
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
cancel(text, params, title) {
|
|
200
|
+
text = L10nUtils.getLocalizedValue(text, params, 'OperationCancelled');
|
|
201
|
+
title = L10nUtils.getLocalizedValue(title);
|
|
202
|
+
this.toastrService.info(text, title, {
|
|
203
|
+
timeOut: 3000,
|
|
204
|
+
progressBar: true
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
// SessionNotifications
|
|
208
|
+
get sessionNotifications() {
|
|
209
|
+
return this._sessionNotifications.getValue();
|
|
210
|
+
}
|
|
211
|
+
set sessionNotifications(val) {
|
|
212
|
+
this._sessionNotifications.next(val);
|
|
213
|
+
}
|
|
214
|
+
// ServerNotifications
|
|
215
|
+
get serverNotifications() {
|
|
216
|
+
return this._serverNotifications.getValue();
|
|
217
|
+
}
|
|
218
|
+
set serverNotifications(val) {
|
|
219
|
+
this._serverNotifications.next(val);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
NotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: NotificationService, deps: [{ token: i1.ToastrService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
223
|
+
NotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: NotificationService, providedIn: 'root' });
|
|
224
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: NotificationService, decorators: [{
|
|
225
|
+
type: Injectable,
|
|
226
|
+
args: [{ providedIn: 'root' }]
|
|
227
|
+
}], ctorParameters: function () { return [{ type: i1.ToastrService }]; } });
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9ub3RpZmljYXRpb25zL3NlcnZpY2VzL25vdGlmaWNhdGlvbi1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE9BQU87QUFDUCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3pDLE9BQU87QUFDUCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXJDLE1BQU07QUFDTixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFlBQVksQ0FBQzs7O0FBR2xDLFVBQVU7QUFDVixpREFBaUQ7QUFDakQsNEdBQTRHO0FBRzVHLE1BQU0sT0FBTyxtQkFBbUI7SUFhOUIsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFaaEQsVUFBVTtRQUNWLGdEQUFnRDtRQUNoRCw2QkFBNkI7UUFFN0IsZ0JBQWdCO1FBQ1IsMEJBQXFCLEdBQUcsSUFBSSxlQUFlLENBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLHlCQUFvQixHQUFHLElBQUksZUFBZSxDQUFrQixFQUFFLENBQUMsQ0FBQztRQUV4RSxTQUFTO1FBQ0EsMEJBQXFCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xFLHlCQUFvQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUd2RSxpQkFBaUI7SUFDbkIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQStGRTtJQUVNLHNCQUFzQixDQUFDLElBQVksRUFBRSxJQUFZO1FBQ3ZELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQixNQUFNLFlBQVksR0FBRyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztRQUV2SCxJQUFJLENBQUMsNEJBQTRCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLDRCQUE0QixDQUFDLFlBQTJCO1FBQzlELElBQUksQ0FBQyxvQkFBb0IsR0FBRztZQUMxQixZQUFZO1lBQ1osR0FBRyxJQUFJLENBQUMsb0JBQW9CO1NBQzdCLENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYTtJQUNiLGtCQUFrQixDQUFDLEVBQVUsRUFBRSxTQUFrQjtRQUMvQyxJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUN4RzthQUNJO1lBQ0gsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ3RHO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFLLEVBQUUsTUFBYyxFQUFFLEtBQU0sRUFBRSw0QkFBcUMsSUFBSTtRQUM5RSxJQUFJLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUN6RSxLQUFLLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDdEMsT0FBTyxFQUFFLElBQUk7WUFDYixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLHlCQUF5QixFQUFFO1lBQzdCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDOUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFjLEVBQUUsS0FBTTtRQUMvQixJQUFJLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqRCxLQUFLLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDbkMsT0FBTyxFQUFFLElBQUk7WUFDYixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFjLEVBQUUsS0FBTTtRQUNsQyxJQUFJLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqRCxLQUFLLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDdEMsT0FBTyxFQUFFLElBQUk7WUFDYixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUssRUFBRSxNQUFjLEVBQUUsS0FBTSxFQUFFLDRCQUFxQyxJQUFJO1FBQzVFLElBQUksR0FBRyxTQUFTLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNqRSxLQUFLLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDcEMsT0FBTyxFQUFFLElBQUk7WUFDYixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLHlCQUF5QixFQUFFO1lBQzdCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDNUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUssRUFBRSxNQUFjLEVBQUUsS0FBTTtRQUNsQyxJQUFJLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUN2RSxLQUFLLEdBQUcsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDbkMsT0FBTyxFQUFFLElBQUk7WUFDYixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsdUJBQXVCO0lBQ3ZCLElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFDRCxJQUFJLG9CQUFvQixDQUFDLEdBQW9CO1FBQzNDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsSUFBSSxtQkFBbUIsQ0FBQyxHQUFvQjtRQUMxQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7O2dIQWxOVSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQURQLE1BQU07MkZBQ2xCLG1CQUFtQjtrQkFEL0IsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyIEp1biAyMDIwXHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjEgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vLyBOb2RlXHJcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VG9hc3RyU2VydmljZX0gZnJvbSAnbmd4LXRvYXN0cic7XHJcblxyXG4vLyBSeEpzXHJcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcclxuXHJcbi8vIEFwcFxyXG5pbXBvcnQgeyBMMTBuVXRpbHMgfSBmcm9tICcuLi8uLi9sb2NhbGl6YXRpb24vdXRpbHMnO1xyXG5pbXBvcnQgeyBHdWlkIH0gZnJvbSAnLi4vLi4vZ3VpZCc7XHJcbmltcG9ydCB7IElOb3RpZmljYXRpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL25vdGlmaWNhdGlvbic7XHJcblxyXG4vLyBTaWduYWxSXHJcbi8vIGltcG9ydCAqIGFzIHNpZ25hbFIgZnJvbSAnQG1pY3Jvc29mdC9zaWduYWxyJztcclxuLy8gaW1wb3J0IHsgTm90aWZpY2F0aW9uc0FwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhL3NlcnZpY2VzL25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy1hcGktc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvblNlcnZpY2Uge1xyXG4gIC8vIFNpZ25hbFJcclxuICAvLyBwcml2YXRlIGh1YkNvbm5lY3Rpb246IHNpZ25hbFIuSHViQ29ubmVjdGlvbjtcclxuICAvLyBwcml2YXRlIHNvY2tldFVybDogc3RyaW5nO1xyXG5cclxuICAvLyBOb3RpZmljYXRpb25zXHJcbiAgcHJpdmF0ZSBfc2Vzc2lvbk5vdGlmaWNhdGlvbnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElOb3RpZmljYXRpb25bXT4oW10pO1xyXG4gIHByaXZhdGUgX3NlcnZlck5vdGlmaWNhdGlvbnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElOb3RpZmljYXRpb25bXT4oW10pO1xyXG5cclxuICAvLyBQdWJsaWNcclxuICByZWFkb25seSBzZXNzaW9uTm90aWZpY2F0aW9ucyQgPSB0aGlzLl9zZXNzaW9uTm90aWZpY2F0aW9ucy5hc09ic2VydmFibGUoKTtcclxuICByZWFkb25seSBzZXJ2ZXJOb3RpZmljYXRpb25zJCA9IHRoaXMuX3NlcnZlck5vdGlmaWNhdGlvbnMuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdG9hc3RyU2VydmljZTogVG9hc3RyU2VydmljZSkge1xyXG4gICAgLy8gdGhpcy5vbkluaXQoKTtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgb25Jbml0KCkge1xyXG4gICAgaWYgKEFwcENvcmVTZXR0aW5ncy5BenVyZUFEKSB7XHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aFRva2VuKCkuc3Vic2NyaWJlKCh0b2tlbjogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zdGFydFNpZ25hbFJDb25uZWN0aW9uKHRva2VuKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zdGFydFNpZ25hbFJDb25uZWN0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuc3RvcFNpZ25hbFJDb25uZWN0aW9uKCk7XHJcbiAgfVxyXG5cclxuICAvLyBTaWduYWxSXHJcbiAgcHJpdmF0ZSBzdGFydFNpZ25hbFJDb25uZWN0aW9uKGFjY2Vzc1Rva2VuPykge1xyXG4gICAgY29uc3QgY3NraWkgPSBBcHBDb3JlU2V0dGluZ3Muc2VsZWN0ZWRDbGllbnRJRDtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXHJcbiAgICBjb25zdCBjc2tpaV91cG4gPSBBcHBDb3JlU2V0dGluZ3MuQ1NLSUlfVVBOO1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcclxuICAgIGNvbnN0IGNsaV9zZXNzaW9uZ3VpZCA9IEFwcENvcmVTZXR0aW5ncy5DTElfU2Vzc2lvbkdVSUQ7XHJcblxyXG4gICAgY29uc3QgdXJsID0gdGhpcy5zb2NrZXRVcmwgKyAnP2Nza2lpPScgKyBjc2tpaSArICcmY3NraWlfdXBuPScgKyBjc2tpaV91cG4gKyAnJmNsaV9zZXNzaW9uZ3VpZD0nICsgY2xpX3Nlc3Npb25ndWlkO1xyXG5cclxuICAgIGlmIChhY2Nlc3NUb2tlbikge1xyXG4gICAgICB0aGlzLmh1YkNvbm5lY3Rpb24gPSBuZXcgc2lnbmFsUi5IdWJDb25uZWN0aW9uQnVpbGRlcigpXHJcbiAgICAgICAgLndpdGhVcmwodXJsLCB7XHJcbiAgICAgICAgICBza2lwTmVnb3RpYXRpb246IGZhbHNlLFxyXG4gICAgICAgICAgdHJhbnNwb3J0OiBzaWduYWxSLkh0dHBUcmFuc3BvcnRUeXBlLldlYlNvY2tldHMsXHJcbiAgICAgICAgICBhY2Nlc3NUb2tlbkZhY3Rvcnk6ICgpID0+IGFjY2Vzc1Rva2VuXHJcbiAgICAgICAgfSlcclxuICAgICAgICAud2l0aEF1dG9tYXRpY1JlY29ubmVjdCgpXHJcbiAgICAgICAgLmNvbmZpZ3VyZUxvZ2dpbmcoc2lnbmFsUi5Mb2dMZXZlbC5EZWJ1ZylcclxuICAgICAgICAuYnVpbGQoKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmh1YkNvbm5lY3Rpb24gPSBuZXcgc2lnbmFsUi5IdWJDb25uZWN0aW9uQnVpbGRlcigpXHJcbiAgICAgICAgLndpdGhVcmwodGhpcy5zb2NrZXRVcmwsIHtcclxuICAgICAgICAgIHNraXBOZWdvdGlhdGlvbjogdHJ1ZSxcclxuICAgICAgICAgIHRyYW5zcG9ydDogc2lnbmFsUi5IdHRwVHJhbnNwb3J0VHlwZS5XZWJTb2NrZXRzXHJcbiAgICAgICAgfSlcclxuICAgICAgICAud2l0aEF1dG9tYXRpY1JlY29ubmVjdCgpXHJcbiAgICAgICAgLmNvbmZpZ3VyZUxvZ2dpbmcoc2lnbmFsUi5Mb2dMZXZlbC5EZWJ1ZylcclxuICAgICAgICAuYnVpbGQoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmh1YkNvbm5lY3Rpb25cclxuICAgICAgLnN0YXJ0KClcclxuICAgICAgLnRoZW4oKCkgPT4gdGhpcy5zaWduYWxSQ29ubmVjdGlvbl9vblN1Y2Nlc3MoKSlcclxuICAgICAgLmNhdGNoKGVyciA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignQ29ubmVjdGlvbiBmYWlsZWQgdG8gU2lnbmFsUiBOb3RpZmljYXRpb24gSHViJylcclxuICAgICAgfSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2lnbmFsUkNvbm5lY3Rpb25fb25TdWNjZXNzKCkge1xyXG4gICAgdGhpcy5hZGRSZWNlaXZlTWVzc2FnZURhdGFMaXN0ZW5lcigpO1xyXG5cclxuICAgIHRoaXMubm90aWZpY2F0aW9uc0FwaVNlcnZpY2UucmV0cmlldmVOb3RpZmljYXRpb25zKCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICB0aGlzLnNlcnZlck5vdGlmaWNhdGlvbnMgPSBkYXRhO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdG9wU2lnbmFsUkNvbm5lY3Rpb24oKSB7XHJcbiAgICBpZiAodGhpcy5odWJDb25uZWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuaHViQ29ubmVjdGlvbi5zdG9wKCk7XHJcbiAgICAgIHRoaXMuaHViQ29ubmVjdGlvbiA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFJlY2VpdmVNZXNzYWdlRGF0YUxpc3RlbmVyID0gKCkgPT4ge1xyXG4gICAgdGhpcy5odWJDb25uZWN0aW9uLm9uKCdSZWNlaXZlTWVzc2FnZScsIChtZXNzYWdlKSA9PiB7XHJcbiAgICAgIGlmIChtZXNzYWdlKSB7XHJcbiAgICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gJ2Vycm9yJykge1xyXG4gICAgICAgICAgdGhpcy5lcnJvcihtZXNzYWdlLnRleHQsIG51bGwsIG51bGwsIGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnN1Y2Nlc3MobWVzc2FnZS50ZXh0LCBudWxsLCBudWxsLCBmYWxzZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBub3RpZmljYXRpb24gPSB7XHJcbiAgICAgICAgICBpZDogbWVzc2FnZS5pZCxcclxuICAgICAgICAgIGlzTmV3OiBtZXNzYWdlLmlzTmV3LFxyXG4gICAgICAgICAgaXNTZXNzaW9uOiB0cnVlLFxyXG4gICAgICAgICAgdGV4dDogbWVzc2FnZS50ZXh0LFxyXG4gICAgICAgICAgdHlwZTogbWVzc2FnZS50eXBlLFxyXG4gICAgICAgICAgY3JlYXRlZERhdGU6IG1lc3NhZ2UuY3JlYXRlZERhdGVcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmFkZFNlc3Npb25Ob3RpZmljYXRpb25Ub0xpc3Qobm90aWZpY2F0aW9uKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gICovXHJcblxyXG4gIHByaXZhdGUgYWRkU2Vzc2lvbk5vdGlmaWNhdGlvbih0ZXh0OiBzdHJpbmcsIHR5cGU6IHN0cmluZykge1xyXG4gICAgY29uc3QgaWQgPSBHdWlkLm5ld0d1aWQoKTtcclxuICAgIGNvbnN0IG5vdGlmaWNhdGlvbiA9IHsgaWQsIGlzTmV3OiB0cnVlLCBpc1Nlc3Npb246IHRydWUsIHRleHQsIHR5cGUsIGNyZWF0ZWREYXRlOiBuZXcgRGF0ZShEYXRlLm5vdygpKS50b0lTT1N0cmluZygpIH07XHJcblxyXG4gICAgdGhpcy5hZGRTZXNzaW9uTm90aWZpY2F0aW9uVG9MaXN0KG5vdGlmaWNhdGlvbik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFNlc3Npb25Ob3RpZmljYXRpb25Ub0xpc3Qobm90aWZpY2F0aW9uOiBJTm90aWZpY2F0aW9uKSB7XHJcbiAgICB0aGlzLnNlc3Npb25Ob3RpZmljYXRpb25zID0gW1xyXG4gICAgICBub3RpZmljYXRpb24sXHJcbiAgICAgIC4uLnRoaXMuc2Vzc2lvbk5vdGlmaWNhdGlvbnMsXHJcbiAgICBdO1xyXG4gIH1cclxuXHJcbiAgLy8gUHVibGljIEFQSVxyXG4gIHJlbW92ZU5vdGlmaWNhdGlvbihpZDogc3RyaW5nLCBpc1Nlc3Npb246IGJvb2xlYW4pIHtcclxuICAgIGlmIChpc1Nlc3Npb24pIHtcclxuICAgICAgdGhpcy5zZXNzaW9uTm90aWZpY2F0aW9ucyA9IHRoaXMuc2Vzc2lvbk5vdGlmaWNhdGlvbnMuZmlsdGVyKG5vdGlmaWNhdGlvbnMgPT4gbm90aWZpY2F0aW9ucy5pZCAhPT0gaWQpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VydmVyTm90aWZpY2F0aW9ucyA9IHRoaXMuc2VydmVyTm90aWZpY2F0aW9ucy5maWx0ZXIobm90aWZpY2F0aW9ucyA9PiBub3RpZmljYXRpb25zLmlkICE9PSBpZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdWNjZXNzKHRleHQ/LCBwYXJhbXM/OiBhbnlbXSwgdGl0bGU/LCBjcmVhdGVTZXNzaW9uTm90aWZpY2F0aW9uOiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgdGV4dCA9IEwxMG5VdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0ZXh0LCBwYXJhbXMsICdPcGVyYXRpb25TdWNjZXNzRnVsbCcpO1xyXG4gICAgdGl0bGUgPSBMMTBuVXRpbHMuZ2V0TG9jYWxpemVkVmFsdWUodGl0bGUpO1xyXG5cclxuICAgIHRoaXMudG9hc3RyU2VydmljZS5zdWNjZXNzKHRleHQsIHRpdGxlLCB7XHJcbiAgICAgIHRpbWVPdXQ6IDMwMDAsXHJcbiAgICAgIHByb2dyZXNzQmFyOiB0cnVlXHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoY3JlYXRlU2Vzc2lvbk5vdGlmaWNhdGlvbikge1xyXG4gICAgICB0aGlzLmFkZFNlc3Npb25Ob3RpZmljYXRpb24odGV4dCwgJ3N1Y2Nlc3MnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGluZm8odGV4dCwgcGFyYW1zPzogYW55W10sIHRpdGxlPykge1xyXG4gICAgdGV4dCA9IEwxMG5VdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0ZXh0LCBwYXJhbXMpO1xyXG4gICAgdGl0bGUgPSBMMTBuVXRpbHMuZ2V0TG9jYWxpemVkVmFsdWUodGl0bGUpO1xyXG5cclxuICAgIHRoaXMudG9hc3RyU2VydmljZS5pbmZvKHRleHQsIHRpdGxlLCB7XHJcbiAgICAgIHRpbWVPdXQ6IDMwMDAsXHJcbiAgICAgIHByb2dyZXNzQmFyOiB0cnVlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHdhcm5pbmcodGV4dCwgcGFyYW1zPzogYW55W10sIHRpdGxlPykge1xyXG4gICAgdGV4dCA9IEwxMG5VdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0ZXh0LCBwYXJhbXMpO1xyXG4gICAgdGl0bGUgPSBMMTBuVXRpbHMuZ2V0TG9jYWxpemVkVmFsdWUodGl0bGUpO1xyXG5cclxuICAgIHRoaXMudG9hc3RyU2VydmljZS53YXJuaW5nKHRleHQsIHRpdGxlLCB7XHJcbiAgICAgIHRpbWVPdXQ6IDMwMDAsXHJcbiAgICAgIHByb2dyZXNzQmFyOiB0cnVlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGVycm9yKHRleHQ/LCBwYXJhbXM/OiBhbnlbXSwgdGl0bGU/LCBjcmVhdGVTZXNzaW9uTm90aWZpY2F0aW9uOiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgdGV4dCA9IEwxMG5VdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0ZXh0LCBwYXJhbXMsICdFcnJvck9jY3VyZWQnKTtcclxuICAgIHRpdGxlID0gTDEwblV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRpdGxlKTtcclxuXHJcbiAgICB0aGlzLnRvYXN0clNlcnZpY2UuZXJyb3IodGV4dCwgdGl0bGUsIHtcclxuICAgICAgdGltZU91dDogMzAwMCxcclxuICAgICAgcHJvZ3Jlc3NCYXI6IHRydWVcclxuICAgIH0pO1xyXG5cclxuICAgIGlmIChjcmVhdGVTZXNzaW9uTm90aWZpY2F0aW9uKSB7XHJcbiAgICAgIHRoaXMuYWRkU2Vzc2lvbk5vdGlmaWNhdGlvbih0ZXh0LCAnZXJyb3InKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhbmNlbCh0ZXh0PywgcGFyYW1zPzogYW55W10sIHRpdGxlPykge1xyXG4gICAgdGV4dCA9IEwxMG5VdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0ZXh0LCBwYXJhbXMsICdPcGVyYXRpb25DYW5jZWxsZWQnKTtcclxuICAgIHRpdGxlID0gTDEwblV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRpdGxlKTtcclxuXHJcbiAgICB0aGlzLnRvYXN0clNlcnZpY2UuaW5mbyh0ZXh0LCB0aXRsZSwge1xyXG4gICAgICB0aW1lT3V0OiAzMDAwLFxyXG4gICAgICBwcm9ncmVzc0JhcjogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBTZXNzaW9uTm90aWZpY2F0aW9uc1xyXG4gIGdldCBzZXNzaW9uTm90aWZpY2F0aW9ucygpOiBJTm90aWZpY2F0aW9uW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Nlc3Npb25Ob3RpZmljYXRpb25zLmdldFZhbHVlKCk7XHJcbiAgfVxyXG4gIHNldCBzZXNzaW9uTm90aWZpY2F0aW9ucyh2YWw6IElOb3RpZmljYXRpb25bXSkge1xyXG4gICAgdGhpcy5fc2Vzc2lvbk5vdGlmaWNhdGlvbnMubmV4dCh2YWwpO1xyXG4gIH1cclxuXHJcbiAgLy8gU2VydmVyTm90aWZpY2F0aW9uc1xyXG4gIGdldCBzZXJ2ZXJOb3RpZmljYXRpb25zKCk6IElOb3RpZmljYXRpb25bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VydmVyTm90aWZpY2F0aW9ucy5nZXRWYWx1ZSgpO1xyXG4gIH1cclxuICBzZXQgc2VydmVyTm90aWZpY2F0aW9ucyh2YWw6IElOb3RpZmljYXRpb25bXSkge1xyXG4gICAgdGhpcy5fc2VydmVyTm90aWZpY2F0aW9ucy5uZXh0KHZhbCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
13 Nov 2017
|
|
12
|
+
|
|
13
|
+
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
14
|
+
</file>
|
|
15
|
+
*/
|
|
16
|
+
// Node
|
|
17
|
+
import { Injectable } from '@angular/core';
|
|
18
|
+
// App
|
|
19
|
+
import { ContextInitState } from '../consts/settings';
|
|
20
|
+
import { BaseApiService } from '../../data/base/base-api.service';
|
|
21
|
+
import * as i0 from "@angular/core";
|
|
22
|
+
import * as i1 from "@angular/common/http";
|
|
23
|
+
import * as i2 from "./web-storage.service";
|
|
24
|
+
export class AppContextService extends BaseApiService {
|
|
25
|
+
constructor(http, sessionStorage) {
|
|
26
|
+
super(http);
|
|
27
|
+
this.http = http;
|
|
28
|
+
this.sessionStorage = sessionStorage;
|
|
29
|
+
//Consts
|
|
30
|
+
this.storageKeyName = 'appContext';
|
|
31
|
+
this.subscription = null;
|
|
32
|
+
this.successes = [];
|
|
33
|
+
this.baseUrl = '/api/appContext';
|
|
34
|
+
}
|
|
35
|
+
//Session
|
|
36
|
+
getCurrentFromSession() {
|
|
37
|
+
return this.sessionStorage.getObject(this.storageKeyName);
|
|
38
|
+
}
|
|
39
|
+
setCurrentFromSession(value) {
|
|
40
|
+
this.sessionStorage.setObject(this.storageKeyName, value);
|
|
41
|
+
}
|
|
42
|
+
updateCurrentIfExpired() {
|
|
43
|
+
let context = this.getCurrentFromSession();
|
|
44
|
+
if (!context) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
let lu = context.lastRequested;
|
|
48
|
+
if (lu) {
|
|
49
|
+
let now = new Date();
|
|
50
|
+
let lastRequested = new Date(context.lastRequested);
|
|
51
|
+
let in2Mins = new Date(lastRequested.getFullYear(), lastRequested.getMonth(), lastRequested.getDate(), lastRequested.getHours(), lastRequested.getMinutes() + 2, 0, 0);
|
|
52
|
+
if (in2Mins.getTime() < now.getTime()) {
|
|
53
|
+
this.updateCurrent();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
dataReceived(data) {
|
|
58
|
+
this.current = data;
|
|
59
|
+
for (let i = 0; i < this.successes.length; i++) {
|
|
60
|
+
let success = this.successes[i];
|
|
61
|
+
if (success) {
|
|
62
|
+
success(data);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
this.successes = [];
|
|
66
|
+
this.subscription.unsubscribe();
|
|
67
|
+
this.subscription = null;
|
|
68
|
+
}
|
|
69
|
+
//Public
|
|
70
|
+
getCurrent(success = null, getCachedIfExist = true) {
|
|
71
|
+
let context = this.getCurrentFromSession();
|
|
72
|
+
if (getCachedIfExist && context != null) {
|
|
73
|
+
if (success) {
|
|
74
|
+
success(context);
|
|
75
|
+
}
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
if (success) {
|
|
79
|
+
this.successes.push(success);
|
|
80
|
+
}
|
|
81
|
+
if (this.subscription != null) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
let now = new Date();
|
|
85
|
+
console.log('Requesting a new AppContext at ' + now);
|
|
86
|
+
this.subscription = this.get('getCurrentContext', null).subscribe((data) => {
|
|
87
|
+
this.dataReceived(data);
|
|
88
|
+
}, (e) => {
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
updateCurrent(success = null) {
|
|
92
|
+
this.getCurrent(success, false);
|
|
93
|
+
}
|
|
94
|
+
clearCurrent() {
|
|
95
|
+
this.sessionStorage.remove(this.storageKeyName);
|
|
96
|
+
}
|
|
97
|
+
isUserSignedIn() {
|
|
98
|
+
return ContextInitState.isUserSignedIn;
|
|
99
|
+
}
|
|
100
|
+
isUserAdmin() {
|
|
101
|
+
return ContextInitState.isUserAdmin;
|
|
102
|
+
}
|
|
103
|
+
//Properties
|
|
104
|
+
//current
|
|
105
|
+
get current() {
|
|
106
|
+
this.updateCurrentIfExpired();
|
|
107
|
+
return this.getCurrentFromSession();
|
|
108
|
+
}
|
|
109
|
+
set current(value) {
|
|
110
|
+
this.setCurrentFromSession(value);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
AppContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: AppContextService, deps: [{ token: i1.HttpClient }, { token: i2.SessionStorageService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
114
|
+
AppContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: AppContextService });
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: AppContextService, decorators: [{
|
|
116
|
+
type: Injectable
|
|
117
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.SessionStorageService }]; } });
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsT0FBTztBQUNQLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJM0MsTUFBTTtBQUNOLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQUlsRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsY0FBYztJQU9uRCxZQUNZLElBQWdCLEVBQ2hCLGNBQXFDO1FBQy9DLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUZGLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBUmpELFFBQVE7UUFDQSxtQkFBYyxHQUFHLFlBQVksQ0FBQztRQUU5QixpQkFBWSxHQUFpQixJQUFJLENBQUM7UUFDbEMsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQU1yQixJQUFJLENBQUMsT0FBTyxHQUFHLGlCQUFpQixDQUFDO0lBQ25DLENBQUM7SUFFRCxTQUFTO0lBQ0QscUJBQXFCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxLQUFVO1FBQ3RDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztR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QixDQUFDLFdBQVcsQ0FBQztJQUN0QyxDQUFDO0lBRUQsWUFBWTtJQUNaLFNBQVM7SUFDVCxJQUFXLE9BQU87UUFDaEIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsSUFBVyxPQUFPLENBQUMsS0FBVTtRQUMzQixJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7OEdBbkhVLGlCQUFpQjtrSEFBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxMyBOb3YgMjAxN1xyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vIE5vZGVcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbi8vIEFwcFxyXG5pbXBvcnQgeyBDb250ZXh0SW5pdFN0YXRlIH0gZnJvbSAnLi4vY29uc3RzL3NldHRpbmdzJztcclxuaW1wb3J0IHsgQmFzZUFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhL2Jhc2UvYmFzZS1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4vd2ViLXN0b3JhZ2Uuc2VydmljZSdcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFwcENvbnRleHRTZXJ2aWNlIGV4dGVuZHMgQmFzZUFwaVNlcnZpY2Uge1xyXG4gIC8vQ29uc3RzXHJcbiAgcHJpdmF0ZSBzdG9yYWdlS2V5TmFtZSA9ICdhcHBDb250ZXh0JztcclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XHJcbiAgcHJpdmF0ZSBzdWNjZXNzZXMgPSBbXTsgIFxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LCBcclxuICAgIHByb3RlY3RlZCBzZXNzaW9uU3RvcmFnZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihodHRwKTtcclxuICAgIHRoaXMuYmFzZVVybCA9ICcvYXBpL2FwcENvbnRleHQnO1xyXG4gIH1cclxuXHJcbiAgLy9TZXNzaW9uXHJcbiAgcHJpdmF0ZSBnZXRDdXJyZW50RnJvbVNlc3Npb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRPYmplY3QodGhpcy5zdG9yYWdlS2V5TmFtZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEN1cnJlbnRGcm9tU2Vzc2lvbih2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNlc3Npb25TdG9yYWdlLnNldE9iamVjdCh0aGlzLnN0b3JhZ2VLZXlOYW1lLCB2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUN1cnJlbnRJZkV4cGlyZWQoKSB7XHJcbiAgICBsZXQgY29udGV4dCA9IHRoaXMuZ2V0Q3VycmVudEZyb21TZXNzaW9uKCk7XHJcblxyXG4gICAgaWYgKCFjb250ZXh0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgbHUgPSBjb250ZXh0Lmxhc3RSZXF1ZXN0ZWQ7XHJcblxyXG4gICAgaWYgKGx1KSB7XHJcbiAgICAgIGxldCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICBsZXQgbGFzdFJlcXVlc3RlZCA9IG5ldyBEYXRlKGNvbnRleHQubGFzdFJlcXVlc3RlZCk7XHJcbiAgICAgIGxldCBpbjJNaW5zID0gbmV3IERhdGUobGFzdFJlcXVlc3RlZC5nZXRGdWxsWWVhcigpLCBsYXN0UmVxdWVzdGVkLmdldE1vbnRoKCksIGxhc3RSZXF1ZXN0ZWQuZ2V0RGF0ZSgpLFxyXG4gICAgICAgIGxhc3RSZXF1ZXN0ZWQuZ2V0SG91cnMoKSwgbGFzdFJlcXVlc3RlZC5nZXRNaW51dGVzKCkgKyAyLCAwLCAwKTtcclxuXHJcbiAgICAgIGlmIChpbjJNaW5zLmdldFRpbWUoKSA8IG5vdy5nZXRUaW1lKCkpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZUN1cnJlbnQoKTtcclxuICAgICAgfVxyXG4gICAgfSAgICBcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGF0YVJlY2VpdmVkKGRhdGEpIHtcclxuICAgIHRoaXMuY3VycmVudCA9IGRhdGE7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN1Y2Nlc3Nlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBsZXQgc3VjY2VzcyA9IHRoaXMuc3VjY2Vzc2VzW2ldO1xyXG4gICAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICAgIHN1Y2Nlc3MoZGF0YSk7XHJcbiAgICAgIH0gICAgICBcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN1Y2Nlc3NlcyA9IFtdO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICB9XHJcblxyXG4gIC8vUHVibGljXHJcbiAgZ2V0Q3VycmVudChzdWNjZXNzOiBGdW5jdGlvbiA9IG51bGwsIGdldENhY2hlZElmRXhpc3Q6IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICBsZXQgY29udGV4dCA9IHRoaXMuZ2V0Q3VycmVudEZyb21TZXNzaW9uKCk7XHJcblxyXG4gICAgaWYgKGdldENhY2hlZElmRXhpc3QgJiYgY29udGV4dCAhPSBudWxsKSB7ICAgIFxyXG4gICAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICAgIHN1Y2Nlc3MoY29udGV4dCk7XHJcbiAgICAgIH0gXHJcblxyXG4gICAgICByZXR1cm47ICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHN1Y2Nlc3MpIHtcclxuICAgICAgdGhpcy5zdWNjZXNzZXMucHVzaChzdWNjZXNzKTtcclxuICAgIH0gICAgXHJcblxyXG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uICE9IG51bGwpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgY29uc29sZS5sb2coJ1JlcXVlc3RpbmcgYSBuZXcgQXBwQ29udGV4dCBhdCAnICsgbm93KTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuZ2V0KCdnZXRDdXJyZW50Q29udGV4dCcsIG51bGwpLnN1YnNjcmliZShcclxuICAgICAgKGRhdGEpID0+IHtcclxuICAgICAgICB0aGlzLmRhdGFSZWNlaXZlZChkYXRhKTtcclxuICAgICAgfSxcclxuICAgICAgKGUpID0+IHtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUN1cnJlbnQoc3VjY2VzczogRnVuY3Rpb24gPSBudWxsKSB7XHJcbiAgICB0aGlzLmdldEN1cnJlbnQoc3VjY2VzcywgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJDdXJyZW50KCkge1xyXG4gICAgdGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmUodGhpcy5zdG9yYWdlS2V5TmFtZSk7XHJcbiAgfVxyXG5cclxuICBpc1VzZXJTaWduZWRJbigpIHtcclxuICAgIHJldHVybiBDb250ZXh0SW5pdFN0YXRlLmlzVXNlclNpZ25lZEluO1xyXG4gIH1cclxuXHJcbiAgaXNVc2VyQWRtaW4oKSB7XHJcbiAgICByZXR1cm4gQ29udGV4dEluaXRTdGF0ZS5pc1VzZXJBZG1pbjtcclxuICB9XHJcblxyXG4gIC8vUHJvcGVydGllc1xyXG4gIC8vY3VycmVudFxyXG4gIHB1YmxpYyBnZXQgY3VycmVudCgpIHtcclxuICAgIHRoaXMudXBkYXRlQ3VycmVudElmRXhwaXJlZCgpO1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0Q3VycmVudEZyb21TZXNzaW9uKCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgY3VycmVudCh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNldEN1cnJlbnRGcm9tU2Vzc2lvbih2YWx1ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
29 Щсе 2020
|
|
12
|
+
|
|
13
|
+
Version:
|
|
14
|
+
1.0
|
|
15
|
+
|
|
16
|
+
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
17
|
+
</file>
|
|
18
|
+
*/
|
|
19
|
+
// Node
|
|
20
|
+
import { Injectable, Inject } from '@angular/core';
|
|
21
|
+
import { DOCUMENT } from '@angular/common';
|
|
22
|
+
import * as i0 from "@angular/core";
|
|
23
|
+
import * as i1 from "@angular/platform-browser";
|
|
24
|
+
export class DigitalMarketingService {
|
|
25
|
+
constructor(title, meta, dom) {
|
|
26
|
+
this.title = title;
|
|
27
|
+
this.meta = meta;
|
|
28
|
+
this.dom = dom;
|
|
29
|
+
}
|
|
30
|
+
updateTitle(title) {
|
|
31
|
+
this.title.setTitle(title);
|
|
32
|
+
}
|
|
33
|
+
updateDescription(desc) {
|
|
34
|
+
this.meta.updateTag({ name: 'description', content: desc });
|
|
35
|
+
}
|
|
36
|
+
updateKeywords(keywords) {
|
|
37
|
+
this.meta.updateTag({ name: 'keywords', content: keywords });
|
|
38
|
+
}
|
|
39
|
+
updateMetaTags(meta) {
|
|
40
|
+
meta.forEach(m => this.meta.updateTag(m));
|
|
41
|
+
}
|
|
42
|
+
setCanonicalUrl(url) {
|
|
43
|
+
const canUrl = url === undefined ? this.dom.URL : url;
|
|
44
|
+
const link = this.dom.createElement('link');
|
|
45
|
+
link.setAttribute('rel', 'canonical');
|
|
46
|
+
this.dom.head.appendChild(link);
|
|
47
|
+
link.setAttribute('href', canUrl);
|
|
48
|
+
}
|
|
49
|
+
updateCanonicalUrl(url) {
|
|
50
|
+
const canUrl = url === undefined ? this.dom.URL : url;
|
|
51
|
+
const head = this.dom.getElementsByTagName('head')[0];
|
|
52
|
+
let link = this.dom.querySelector(`link[rel='canonical']`) || null;
|
|
53
|
+
if (link == null) {
|
|
54
|
+
link = this.dom.createElement('link');
|
|
55
|
+
head.appendChild(link);
|
|
56
|
+
}
|
|
57
|
+
link.setAttribute('rel', 'canonical');
|
|
58
|
+
link.setAttribute('href', canUrl);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
DigitalMarketingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: DigitalMarketingService, deps: [{ token: i1.Title }, { token: i1.Meta }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
62
|
+
DigitalMarketingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: DigitalMarketingService, providedIn: 'root' });
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: DigitalMarketingService, decorators: [{
|
|
64
|
+
type: Injectable,
|
|
65
|
+
args: [{
|
|
66
|
+
providedIn: 'root'
|
|
67
|
+
}]
|
|
68
|
+
}], ctorParameters: function () { return [{ type: i1.Title }, { type: i1.Meta }, { type: undefined, decorators: [{
|
|
69
|
+
type: Inject,
|
|
70
|
+
args: [DOCUMENT]
|
|
71
|
+
}] }]; } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2RtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsT0FBTztBQUNQLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBTTNDLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFDVSxLQUFZLEVBQ1osSUFBVSxFQUNRLEdBQVE7UUFGMUIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLFNBQUksR0FBSixJQUFJLENBQU07UUFDUSxRQUFHLEdBQUgsR0FBRyxDQUFLO0lBRXBDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBYTtRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELGNBQWMsQ0FBQyxRQUFjO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQXNCO1FBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxlQUFlLENBQUMsR0FBWTtRQUMxQixNQUFNLE1BQU0sR0FBRyxHQUFHLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3RELE1BQU0sSUFBSSxHQUFvQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGtCQUFrQixDQUFDLEdBQVk7UUFDN0IsTUFBTSxNQUFNLEdBQUcsR0FBRyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUN0RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RELElBQUksSUFBSSxHQUFvQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUVwRixJQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7WUFDaEIsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBb0IsQ0FBQztZQUN6RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7b0hBNUNVLHVCQUF1QiwyREFJeEIsUUFBUTt3SEFKUCx1QkFBdUIsY0FGdEIsTUFBTTsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFLSSxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyOSDQqdGB0LUgMjAyMFxyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy8gTm9kZVxyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBUaXRsZSwgTWV0YSwgTWV0YURlZmluaXRpb24gfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIERpZ2l0YWxNYXJrZXRpbmdTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdGl0bGU6IFRpdGxlLFxyXG4gICAgcHJpdmF0ZSBtZXRhOiBNZXRhLFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb206IGFueSxcclxuICApIHtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVRpdGxlKHRpdGxlPzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRpdGxlLnNldFRpdGxlKHRpdGxlKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZURlc2NyaXB0aW9uKGRlc2M/OiBzdHJpbmcpIHtcclxuICAgIHRoaXMubWV0YS51cGRhdGVUYWcoeyBuYW1lOiAnZGVzY3JpcHRpb24nLCBjb250ZW50OiBkZXNjIH0pO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlS2V5d29yZHMoa2V5d29yZHM/OiBhbnkpIHtcclxuICAgIHRoaXMubWV0YS51cGRhdGVUYWcoeyBuYW1lOiAna2V5d29yZHMnLCBjb250ZW50OiBrZXl3b3JkcyB9KTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZU1ldGFUYWdzKG1ldGE6IE1ldGFEZWZpbml0aW9uW10pIHtcclxuICAgIG1ldGEuZm9yRWFjaChtID0+IHRoaXMubWV0YS51cGRhdGVUYWcobSkpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2Fub25pY2FsVXJsKHVybD86IHN0cmluZykge1xyXG4gICAgY29uc3QgY2FuVXJsID0gdXJsID09PSB1bmRlZmluZWQgPyB0aGlzLmRvbS5VUkwgOiB1cmw7XHJcbiAgICBjb25zdCBsaW5rOiBIVE1MTGlua0VsZW1lbnQgPSB0aGlzLmRvbS5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XHJcbiAgICBsaW5rLnNldEF0dHJpYnV0ZSgncmVsJywgJ2Nhbm9uaWNhbCcpO1xyXG4gICAgdGhpcy5kb20uaGVhZC5hcHBlbmRDaGlsZChsaW5rKTtcclxuICAgIGxpbmsuc2V0QXR0cmlidXRlKCdocmVmJywgY2FuVXJsKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUNhbm9uaWNhbFVybCh1cmw/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGNhblVybCA9IHVybCA9PT0gdW5kZWZpbmVkID8gdGhpcy5kb20uVVJMIDogdXJsO1xyXG4gICAgY29uc3QgaGVhZCA9IHRoaXMuZG9tLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XHJcbiAgICBsZXQgbGluazogSFRNTExpbmtFbGVtZW50ID0gdGhpcy5kb20ucXVlcnlTZWxlY3RvcihgbGlua1tyZWw9J2Nhbm9uaWNhbCddYCkgfHwgbnVsbDtcclxuXHJcbiAgICBpZiAobGluayA9PSBudWxsKSB7XHJcbiAgICAgIGxpbmsgPSB0aGlzLmRvbS5jcmVhdGVFbGVtZW50KCdsaW5rJykgYXMgSFRNTExpbmtFbGVtZW50O1xyXG4gICAgICBoZWFkLmFwcGVuZENoaWxkKGxpbmspO1xyXG4gICAgfVxyXG5cclxuICAgIGxpbmsuc2V0QXR0cmlidXRlKCdyZWwnLCAnY2Fub25pY2FsJyk7XHJcbiAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIGNhblVybCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny
|
|
8
|
+
Anatoly Osovitny
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
29 Nov 2020
|
|
12
|
+
|
|
13
|
+
Version:
|
|
14
|
+
1.0
|
|
15
|
+
|
|
16
|
+
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
17
|
+
</file>
|
|
18
|
+
*/
|
|
19
|
+
// Node
|
|
20
|
+
import { Injectable } from '@angular/core';
|
|
21
|
+
import { NavigationEnd } from '@angular/router';
|
|
22
|
+
import * as i0 from "@angular/core";
|
|
23
|
+
import * as i1 from "@angular/router";
|
|
24
|
+
export class GoogleAnalyticsService {
|
|
25
|
+
constructor(router) {
|
|
26
|
+
this.router = router;
|
|
27
|
+
/*
|
|
28
|
+
https://yashints.dev/blog/2019/02/12/angular-ga-tagmanager
|
|
29
|
+
https://developers.google.com/analytics/devguides/collection/gtagjs/pages
|
|
30
|
+
https://developers.google.com/analytics/devguides/collection/upgrade/analyticsjs
|
|
31
|
+
*/
|
|
32
|
+
}
|
|
33
|
+
subscribe() {
|
|
34
|
+
this.subscription = this.router.events.subscribe(event => {
|
|
35
|
+
if (event instanceof NavigationEnd) {
|
|
36
|
+
if (window.ga) {
|
|
37
|
+
window.ga('set', 'page', event.urlAfterRedirects);
|
|
38
|
+
window.ga('send', 'pageview');
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
unsubscribe() {
|
|
44
|
+
if (this.subscription) {
|
|
45
|
+
this.subscription.unsubscribe();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
GoogleAnalyticsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: GoogleAnalyticsService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
50
|
+
GoogleAnalyticsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: GoogleAnalyticsService });
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: GoogleAnalyticsService, decorators: [{
|
|
52
|
+
type: Injectable
|
|
53
|
+
}], ctorParameters: function () { return [{ type: i1.Router }]; } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvc2VydmljZXMvZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE9BQU87QUFDUCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBVSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBR3hELE1BQU0sT0FBTyxzQkFBc0I7SUFHakMsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDaEM7Ozs7VUFJRTtJQUNKLENBQUM7SUFFTSxTQUFTO1FBQ2QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdkQsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO2dCQUNsQyxJQUFVLE1BQU8sQ0FBQyxFQUFFLEVBQUU7b0JBQ2QsTUFBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO29CQUNuRCxNQUFPLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztpQkFDdEM7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDakM7SUFDSCxDQUFDOzttSEExQlUsc0JBQXNCO3VIQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnlcclxuICAgIEFuYXRvbHkgT3Nvdml0bnlcclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI5IE5vdiAyMDIwXHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjEgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vLyBOb2RlXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJvdXRlciwgTmF2aWdhdGlvbkVuZCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBHb29nbGVBbmFseXRpY3NTZXJ2aWNlIHtcclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7IFxyXG4gICAgLypcclxuICAgICAgaHR0cHM6Ly95YXNoaW50cy5kZXYvYmxvZy8yMDE5LzAyLzEyL2FuZ3VsYXItZ2EtdGFnbWFuYWdlclxyXG4gICAgICBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9hbmFseXRpY3MvZGV2Z3VpZGVzL2NvbGxlY3Rpb24vZ3RhZ2pzL3BhZ2VzXHJcbiAgICAgIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL2FuYWx5dGljcy9kZXZndWlkZXMvY29sbGVjdGlvbi91cGdyYWRlL2FuYWx5dGljc2pzXHJcbiAgICAqL1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN1YnNjcmliZSgpIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XHJcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcclxuICAgICAgICBpZiAoKDxhbnk+d2luZG93KS5nYSkge1xyXG4gICAgICAgICAgKDxhbnk+d2luZG93KS5nYSgnc2V0JywgJ3BhZ2UnLCBldmVudC51cmxBZnRlclJlZGlyZWN0cyk7XHJcbiAgICAgICAgICAoPGFueT53aW5kb3cpLmdhKCdzZW5kJywgJ3BhZ2V2aWV3Jyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1bnN1YnNjcmliZSgpIHtcclxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
package/{esm2015/lib/core/services/idle.service.js → esm2020/lib/core/services/idle.service.mjs}
RENAMED
|
@@ -65,10 +65,12 @@ export class IdleService {
|
|
|
65
65
|
this.startTimer();
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
IdleService.ɵ
|
|
69
|
-
IdleService
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
68
|
+
IdleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: IdleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
69
|
+
IdleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: IdleService, providedIn: 'root' });
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: IdleService, decorators: [{
|
|
71
|
+
type: Injectable,
|
|
72
|
+
args: [{
|
|
73
|
+
providedIn: 'root'
|
|
74
|
+
}]
|
|
75
|
+
}] });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvc2VydmljZXMvaWRsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE1BQU07QUFDTixPQUFPLEVBQWMsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUtwRSxNQUFNLE9BQU8sV0FBVztJQUh4QjtRQWFTLGFBQVEsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztLQStENUQ7SUE3REMsU0FBUztJQUNELGlCQUFpQixDQUFDLGNBQWM7UUFDdEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDeEUsSUFBSSxPQUFPLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN6QixJQUFJLFVBQVUsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBRS9FLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDN0MscUNBQXFDO2dCQUNyQywyQ0FBMkM7Z0JBRTNDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzFCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFFBQVE7SUFDRCxhQUFhLENBQUMsY0FBYztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FDaEIsU0FBUyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsRUFDaEMsU0FBUyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFDNUIsU0FBUyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsRUFDaEMsU0FBUyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsRUFDL0IsU0FBUyxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxFQUNyQyxTQUFTLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxFQUNqQyxTQUFTLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxFQUNoQyxTQUFTLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxFQUNwQyxTQUFTLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUM5QixTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUM1QixDQUFDO1FBRUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXZDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ25ELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLGNBQWM7UUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUUxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7O3dHQXhFVSxXQUFXOzRHQUFYLFdBQVcsY0FGVixNQUFNOzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjYgSnVuIDIwMjBcclxuXHJcbiAgVmVyc2lvbjpcclxuICAgIDEuMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vL1J4SnNcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbUV2ZW50LCBtZXJnZSwgU3ViamVjdCwgdGltZXIgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIElkbGVTZXJ2aWNlIHtcclxuICBwcml2YXRlIGlkbGUkOiBPYnNlcnZhYmxlPGFueT47XHJcbiAgcHJpdmF0ZSB0aW1lciQ7XHJcbiAgcHJpdmF0ZSBpZGxlU3Vic2NyaXB0aW9uO1xyXG5cclxuICAvL0RhdGVzL1RpbWVvdXRzXHJcbiAgcHJpdmF0ZSBzdGFydERhdGU7XHJcbiAgcHJpdmF0ZSB0aW1lT3V0U2Vjb25kczogbnVtYmVyO1xyXG4gIHByaXZhdGUgdGltZU91dE1pbGxpU2Vjb25kczogbnVtYmVyO1xyXG5cclxuICBwdWJsaWMgZXhwaXJlZCQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG5cclxuICAvL1ByaXZhdGVcclxuICBwcml2YXRlIHJlc2V0VGltZUNvdW50ZXJzKHRpbWVPdXRTZWNvbmRzKSB7XHJcbiAgICB0aGlzLnRpbWVPdXRTZWNvbmRzID0gdGltZU91dFNlY29uZHM7XHJcbiAgICB0aGlzLnRpbWVPdXRNaWxsaVNlY29uZHMgPSB0aW1lT3V0U2Vjb25kcyAqIDEwMDA7XHJcbiAgICB0aGlzLnN0YXJ0RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXJ0VGltZXIoKSB7XHJcbiAgICB0aGlzLnRpbWVyJCA9IHRpbWVyKHRoaXMudGltZU91dE1pbGxpU2Vjb25kcywgMSAqIDEwMDApLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIGxldCBub3dEYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgbGV0IGV4aXJlZERhdGUgPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF0ZS5nZXRUaW1lKCkgKyB0aGlzLnRpbWVPdXRNaWxsaVNlY29uZHMpO1xyXG5cclxuICAgICAgaWYgKG5vd0RhdGUuZ2V0VGltZSgpID49IGV4aXJlZERhdGUuZ2V0VGltZSgpKSB7XHJcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcIm5vd0RhdGU6IFwiICsgbm93RGF0ZSk7XHJcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcImV4aXJlZERhdGU6IFwiICsgZXhpcmVkRGF0ZSk7XHJcblxyXG4gICAgICAgIHRoaXMuZXhwaXJlZCQubmV4dCh0cnVlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2V0VGltZXIoKSB7XHJcbiAgICB0aGlzLnN0YXJ0RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgfVxyXG5cclxuICAvL1B1YmxpY1xyXG4gIHB1YmxpYyBzdGFydFdhdGNoaW5nKHRpbWVPdXRTZWNvbmRzKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHRoaXMuaWRsZSQgPSBtZXJnZShcclxuICAgICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2Vtb3ZlJyksXHJcbiAgICAgIGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJyksXHJcbiAgICAgIGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNlZG93bicpLFxyXG4gICAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdrZXlwcmVzcycpLFxyXG4gICAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdET01Nb3VzZVNjcm9sbCcpLFxyXG4gICAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZXdoZWVsJyksXHJcbiAgICAgIGZyb21FdmVudChkb2N1bWVudCwgJ3RvdWNobW92ZScpLFxyXG4gICAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICdNU1BvaW50ZXJNb3ZlJyksXHJcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdtb3VzZW1vdmUnKSxcclxuICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpLFxyXG4gICAgKTtcclxuICAgXHJcbiAgICB0aGlzLnJlc2V0VGltZUNvdW50ZXJzKHRpbWVPdXRTZWNvbmRzKTtcclxuXHJcbiAgICB0aGlzLmlkbGVTdWJzY3JpcHRpb24gPSB0aGlzLmlkbGUkLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMucmVzZXRUaW1lcigpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5zdGFydFRpbWVyKCk7XHJcbiAgICByZXR1cm4gdGhpcy5leHBpcmVkJDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdG9wV2F0Y2hpbmcoKSB7XHJcbiAgICB0aGlzLnRpbWVyJC51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5pZGxlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVzdGFydElkbGVUaW1lcih0aW1lT3V0U2Vjb25kcykge1xyXG4gICAgdGhpcy50aW1lciQudW5zdWJzY3JpYmUoKTtcclxuXHJcbiAgICB0aGlzLnJlc2V0VGltZUNvdW50ZXJzKHRpbWVPdXRTZWNvbmRzKTtcclxuICAgIHRoaXMuc3RhcnRUaW1lcigpO1xyXG4gIH1cclxufVxyXG4iXX0=
|