@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
|
@@ -1,44 +0,0 @@
|
|
|
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
|
-
/*
|
|
20
|
-
https://medium.com/@amcdnl/global-error-handling-with-angular2-6b992bdfb59c
|
|
21
|
-
https://medium.com/angular-in-depth/expecting-the-unexpected-best-practices-for-error-handling-in-angular-21c3662ef9e4
|
|
22
|
-
*/
|
|
23
|
-
// Node
|
|
24
|
-
import { Injectable, Injector } from "@angular/core";
|
|
25
|
-
// App
|
|
26
|
-
import { LoggingService } from "./logging.service";
|
|
27
|
-
export class GlobalErrorHandler {
|
|
28
|
-
constructor(injector) {
|
|
29
|
-
this.injector = injector;
|
|
30
|
-
}
|
|
31
|
-
handleError(error) {
|
|
32
|
-
const loggingService = this.injector.get(LoggingService);
|
|
33
|
-
loggingService.logError(error);
|
|
34
|
-
// IMPORTANT: Rethrow the error otherwise it gets swallowed
|
|
35
|
-
throw error;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
GlobalErrorHandler.decorators = [
|
|
39
|
-
{ type: Injectable }
|
|
40
|
-
];
|
|
41
|
-
GlobalErrorHandler.ctorParameters = () => [
|
|
42
|
-
{ type: Injector }
|
|
43
|
-
];
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsRXJyb3JIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvbG9nZ2luZy9nbG9iYWxFcnJvckhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUY7OztFQUdFO0FBRUYsT0FBTztBQUNQLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxNQUFNO0FBQ04sT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR25ELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFFMUMsV0FBVyxDQUFDLEtBQUs7UUFDZixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN6RCxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9CLDJEQUEyRDtRQUMzRCxNQUFNLEtBQUssQ0FBQztJQUNkLENBQUM7OztZQVZGLFVBQVU7OztZQUx3QixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjYgSnVuIDIwMjBcclxuXHJcbiAgVmVyc2lvbjpcclxuICAgIDEuMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8qXHJcbiAgaHR0cHM6Ly9tZWRpdW0uY29tL0BhbWNkbmwvZ2xvYmFsLWVycm9yLWhhbmRsaW5nLXdpdGgtYW5ndWxhcjItNmI5OTJiZGZiNTljXHJcbiAgaHR0cHM6Ly9tZWRpdW0uY29tL2FuZ3VsYXItaW4tZGVwdGgvZXhwZWN0aW5nLXRoZS11bmV4cGVjdGVkLWJlc3QtcHJhY3RpY2VzLWZvci1lcnJvci1oYW5kbGluZy1pbi1hbmd1bGFyLTIxYzM2NjJlZjllNFxyXG4qL1xyXG5cclxuLy8gTm9kZVxyXG5pbXBvcnQgeyBFcnJvckhhbmRsZXIsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vIEFwcFxyXG5pbXBvcnQgeyBMb2dnaW5nU2VydmljZSB9IGZyb20gXCIuL2xvZ2dpbmcuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgR2xvYmFsRXJyb3JIYW5kbGVyIGltcGxlbWVudHMgRXJyb3JIYW5kbGVyIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge31cclxuXHJcbiAgaGFuZGxlRXJyb3IoZXJyb3IpIHtcclxuICAgIGNvbnN0IGxvZ2dpbmdTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoTG9nZ2luZ1NlcnZpY2UpO1xyXG4gICAgbG9nZ2luZ1NlcnZpY2UubG9nRXJyb3IoZXJyb3IpO1xyXG5cclxuICAgIC8vIElNUE9SVEFOVDogUmV0aHJvdyB0aGUgZXJyb3Igb3RoZXJ3aXNlIGl0IGdldHMgc3dhbGxvd2VkXHJcbiAgICB0aHJvdyBlcnJvcjtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,38 +0,0 @@
|
|
|
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.ɵprov = i0.ɵɵdefineInjectable({ factory: function LoggingService_Factory() { return new LoggingService(); }, token: LoggingService, providedIn: "root" });
|
|
32
|
-
LoggingService.decorators = [
|
|
33
|
-
{ type: Injectable, args: [{
|
|
34
|
-
providedIn: "root",
|
|
35
|
-
},] }
|
|
36
|
-
];
|
|
37
|
-
LoggingService.ctorParameters = () => [];
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvbG9nZ2luZy9sb2dnaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsT0FBTztBQUNQLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLGdCQUFlLENBQUM7SUFFaEIsUUFBUSxDQUFDLEtBQUs7UUFDWixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBSTtRQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUM7Ozs7WUFaRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyNiBKdW4gMjAyMFxyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy8gTm9kZVxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ2dpbmdTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIGxvZ0Vycm9yKGVycm9yKSB7XHJcbiAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICB9XHJcblxyXG4gIGxvZ0luZm9ybWF0aW9uKGluZm8pIHtcclxuICAgIGNvbnNvbGUuaW5mbyhpbmZvKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,230 +0,0 @@
|
|
|
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
|
-
import { ToastrService } from 'ngx-toastr';
|
|
22
|
-
// RxJs
|
|
23
|
-
import { BehaviorSubject } from 'rxjs';
|
|
24
|
-
// App
|
|
25
|
-
import { L10nUtils } from '../../localization/utils';
|
|
26
|
-
import { Guid } from '../../guid';
|
|
27
|
-
import * as i0 from "@angular/core";
|
|
28
|
-
import * as i1 from "ngx-toastr";
|
|
29
|
-
// SignalR
|
|
30
|
-
// import * as signalR from '@microsoft/signalr';
|
|
31
|
-
// import { NotificationsApiService } from '../../../data/services/notifications/notifications-api-service';
|
|
32
|
-
export class NotificationService {
|
|
33
|
-
constructor(toastrService) {
|
|
34
|
-
this.toastrService = toastrService;
|
|
35
|
-
// SignalR
|
|
36
|
-
// private hubConnection: signalR.HubConnection;
|
|
37
|
-
// private socketUrl: string;
|
|
38
|
-
// Notifications
|
|
39
|
-
this._sessionNotifications = new BehaviorSubject([]);
|
|
40
|
-
this._serverNotifications = new BehaviorSubject([]);
|
|
41
|
-
// Public
|
|
42
|
-
this.sessionNotifications$ = this._sessionNotifications.asObservable();
|
|
43
|
-
this.serverNotifications$ = this._serverNotifications.asObservable();
|
|
44
|
-
// this.onInit();
|
|
45
|
-
}
|
|
46
|
-
/*
|
|
47
|
-
onInit() {
|
|
48
|
-
if (AppCoreSettings.AzureAD) {
|
|
49
|
-
this.authService.getAuthToken().subscribe((token: string) => {
|
|
50
|
-
this.startSignalRConnection(token);
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
this.startSignalRConnection();
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
ngOnDestroy() {
|
|
60
|
-
this.stopSignalRConnection();
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// SignalR
|
|
64
|
-
private startSignalRConnection(accessToken?) {
|
|
65
|
-
const cskii = AppCoreSettings.selectedClientID;
|
|
66
|
-
// tslint:disable-next-line:variable-name
|
|
67
|
-
const cskii_upn = AppCoreSettings.CSKII_UPN;
|
|
68
|
-
// tslint:disable-next-line:variable-name
|
|
69
|
-
const cli_sessionguid = AppCoreSettings.CLI_SessionGUID;
|
|
70
|
-
|
|
71
|
-
const url = this.socketUrl + '?cskii=' + cskii + '&cskii_upn=' + cskii_upn + '&cli_sessionguid=' + cli_sessionguid;
|
|
72
|
-
|
|
73
|
-
if (accessToken) {
|
|
74
|
-
this.hubConnection = new signalR.HubConnectionBuilder()
|
|
75
|
-
.withUrl(url, {
|
|
76
|
-
skipNegotiation: false,
|
|
77
|
-
transport: signalR.HttpTransportType.WebSockets,
|
|
78
|
-
accessTokenFactory: () => accessToken
|
|
79
|
-
})
|
|
80
|
-
.withAutomaticReconnect()
|
|
81
|
-
.configureLogging(signalR.LogLevel.Debug)
|
|
82
|
-
.build();
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
this.hubConnection = new signalR.HubConnectionBuilder()
|
|
86
|
-
.withUrl(this.socketUrl, {
|
|
87
|
-
skipNegotiation: true,
|
|
88
|
-
transport: signalR.HttpTransportType.WebSockets
|
|
89
|
-
})
|
|
90
|
-
.withAutomaticReconnect()
|
|
91
|
-
.configureLogging(signalR.LogLevel.Debug)
|
|
92
|
-
.build();
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
this.hubConnection
|
|
96
|
-
.start()
|
|
97
|
-
.then(() => this.signalRConnection_onSuccess())
|
|
98
|
-
.catch(err => {
|
|
99
|
-
console.error('Connection failed to SignalR Notification Hub')
|
|
100
|
-
})
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
private signalRConnection_onSuccess() {
|
|
104
|
-
this.addReceiveMessageDataListener();
|
|
105
|
-
|
|
106
|
-
this.notificationsApiService.retrieveNotifications().subscribe(data => {
|
|
107
|
-
this.serverNotifications = data;
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
stopSignalRConnection() {
|
|
112
|
-
if (this.hubConnection) {
|
|
113
|
-
this.hubConnection.stop();
|
|
114
|
-
this.hubConnection = null;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
private addReceiveMessageDataListener = () => {
|
|
119
|
-
this.hubConnection.on('ReceiveMessage', (message) => {
|
|
120
|
-
if (message) {
|
|
121
|
-
if (message.type === 'error') {
|
|
122
|
-
this.error(message.text, null, null, false);
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
this.success(message.text, null, null, false);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
const notification = {
|
|
129
|
-
id: message.id,
|
|
130
|
-
isNew: message.isNew,
|
|
131
|
-
isSession: true,
|
|
132
|
-
text: message.text,
|
|
133
|
-
type: message.type,
|
|
134
|
-
createdDate: message.createdDate
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
this.addSessionNotificationToList(notification);
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
*/
|
|
142
|
-
addSessionNotification(text, type) {
|
|
143
|
-
const id = Guid.newGuid();
|
|
144
|
-
const notification = { id, isNew: true, isSession: true, text, type, createdDate: new Date(Date.now()).toISOString() };
|
|
145
|
-
this.addSessionNotificationToList(notification);
|
|
146
|
-
}
|
|
147
|
-
addSessionNotificationToList(notification) {
|
|
148
|
-
this.sessionNotifications = [
|
|
149
|
-
notification,
|
|
150
|
-
...this.sessionNotifications,
|
|
151
|
-
];
|
|
152
|
-
}
|
|
153
|
-
// Public API
|
|
154
|
-
removeNotification(id, isSession) {
|
|
155
|
-
if (isSession) {
|
|
156
|
-
this.sessionNotifications = this.sessionNotifications.filter(notifications => notifications.id !== id);
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
this.serverNotifications = this.serverNotifications.filter(notifications => notifications.id !== id);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
success(text, params, title, createSessionNotification = true) {
|
|
163
|
-
text = L10nUtils.getLocalizedValue(text, params, 'OperationSuccessFull');
|
|
164
|
-
title = L10nUtils.getLocalizedValue(title);
|
|
165
|
-
this.toastrService.success(text, title, {
|
|
166
|
-
timeOut: 3000,
|
|
167
|
-
progressBar: true
|
|
168
|
-
});
|
|
169
|
-
if (createSessionNotification) {
|
|
170
|
-
this.addSessionNotification(text, 'success');
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
info(text, params, title) {
|
|
174
|
-
text = L10nUtils.getLocalizedValue(text, params);
|
|
175
|
-
title = L10nUtils.getLocalizedValue(title);
|
|
176
|
-
this.toastrService.info(text, title, {
|
|
177
|
-
timeOut: 3000,
|
|
178
|
-
progressBar: true
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
warning(text, params, title) {
|
|
182
|
-
text = L10nUtils.getLocalizedValue(text, params);
|
|
183
|
-
title = L10nUtils.getLocalizedValue(title);
|
|
184
|
-
this.toastrService.warning(text, title, {
|
|
185
|
-
timeOut: 3000,
|
|
186
|
-
progressBar: true
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
error(text, params, title, createSessionNotification = true) {
|
|
190
|
-
text = L10nUtils.getLocalizedValue(text, params, 'ErrorOccured');
|
|
191
|
-
title = L10nUtils.getLocalizedValue(title);
|
|
192
|
-
this.toastrService.error(text, title, {
|
|
193
|
-
timeOut: 3000,
|
|
194
|
-
progressBar: true
|
|
195
|
-
});
|
|
196
|
-
if (createSessionNotification) {
|
|
197
|
-
this.addSessionNotification(text, 'error');
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
cancel(text, params, title) {
|
|
201
|
-
text = L10nUtils.getLocalizedValue(text, params, 'OperationCancelled');
|
|
202
|
-
title = L10nUtils.getLocalizedValue(title);
|
|
203
|
-
this.toastrService.info(text, title, {
|
|
204
|
-
timeOut: 3000,
|
|
205
|
-
progressBar: true
|
|
206
|
-
});
|
|
207
|
-
}
|
|
208
|
-
// SessionNotifications
|
|
209
|
-
get sessionNotifications() {
|
|
210
|
-
return this._sessionNotifications.getValue();
|
|
211
|
-
}
|
|
212
|
-
set sessionNotifications(val) {
|
|
213
|
-
this._sessionNotifications.next(val);
|
|
214
|
-
}
|
|
215
|
-
// ServerNotifications
|
|
216
|
-
get serverNotifications() {
|
|
217
|
-
return this._serverNotifications.getValue();
|
|
218
|
-
}
|
|
219
|
-
set serverNotifications(val) {
|
|
220
|
-
this._serverNotifications.next(val);
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
NotificationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NotificationService_Factory() { return new NotificationService(i0.ɵɵinject(i1.ToastrService)); }, token: NotificationService, providedIn: "root" });
|
|
224
|
-
NotificationService.decorators = [
|
|
225
|
-
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
226
|
-
];
|
|
227
|
-
NotificationService.ctorParameters = () => [
|
|
228
|
-
{ type: ToastrService }
|
|
229
|
-
];
|
|
230
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9ub3RpZmljYXRpb25zL3NlcnZpY2VzL25vdGlmaWNhdGlvbi1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE9BQU87QUFDUCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFFekMsT0FBTztBQUNQLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFckMsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7QUFHbEMsVUFBVTtBQUNWLGlEQUFpRDtBQUNqRCw0R0FBNEc7QUFHNUcsTUFBTSxPQUFPLG1CQUFtQjtJQWE5QixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVpoRCxVQUFVO1FBQ1YsZ0RBQWdEO1FBQ2hELDZCQUE2QjtRQUU3QixnQkFBZ0I7UUFDUiwwQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FBa0IsRUFBRSxDQUFDLENBQUM7UUFDakUseUJBQW9CLEdBQUcsSUFBSSxlQUFlLENBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBRXhFLFNBQVM7UUFDQSwwQkFBcUIsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEUseUJBQW9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBR3ZFLGlCQUFpQjtJQUNuQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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QUFtQixDQUFDLEdBQW9CO1FBQzFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7OztZQW5ORixVQUFVLFNBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDOzs7WUFkeEIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnlcclxuICAgIEFuYXRvbHkgT3Nvdml0bnlcclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDIgSnVuIDIwMjBcclxuXHJcbiAgVmVyc2lvbjpcclxuICAgIDEuMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vIE5vZGVcclxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUb2FzdHJTZXJ2aWNlfSBmcm9tICduZ3gtdG9hc3RyJztcclxuXHJcbi8vIFJ4SnNcclxuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xyXG5cclxuLy8gQXBwXHJcbmltcG9ydCB7IEwxMG5VdGlscyB9IGZyb20gJy4uLy4uL2xvY2FsaXphdGlvbi91dGlscyc7XHJcbmltcG9ydCB7IEd1aWQgfSBmcm9tICcuLi8uLi9ndWlkJztcclxuaW1wb3J0IHsgSU5vdGlmaWNhdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvbm90aWZpY2F0aW9uJztcclxuXHJcbi8vIFNpZ25hbFJcclxuLy8gaW1wb3J0ICogYXMgc2lnbmFsUiBmcm9tICdAbWljcm9zb2Z0L3NpZ25hbHInO1xyXG4vLyBpbXBvcnQgeyBOb3RpZmljYXRpb25zQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RhdGEvc2VydmljZXMvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLWFwaS1zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxyXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uU2VydmljZSB7XHJcbiAgLy8gU2lnbmFsUlxyXG4gIC8vIHByaXZhdGUgaHViQ29ubmVjdGlvbjogc2lnbmFsUi5IdWJDb25uZWN0aW9uO1xyXG4gIC8vIHByaXZhdGUgc29ja2V0VXJsOiBzdHJpbmc7XHJcblxyXG4gIC8vIE5vdGlmaWNhdGlvbnNcclxuICBwcml2YXRlIF9zZXNzaW9uTm90aWZpY2F0aW9ucyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SU5vdGlmaWNhdGlvbltdPihbXSk7XHJcbiAgcHJpdmF0ZSBfc2VydmVyTm90aWZpY2F0aW9ucyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SU5vdGlmaWNhdGlvbltdPihbXSk7XHJcblxyXG4gIC8vIFB1YmxpY1xyXG4gIHJlYWRvbmx5IHNlc3Npb25Ob3RpZmljYXRpb25zJCA9IHRoaXMuX3Nlc3Npb25Ob3RpZmljYXRpb25zLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHJlYWRvbmx5IHNlcnZlck5vdGlmaWNhdGlvbnMkID0gdGhpcy5fc2VydmVyTm90aWZpY2F0aW9ucy5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0b2FzdHJTZXJ2aWNlOiBUb2FzdHJTZXJ2aWNlKSB7XHJcbiAgICAvLyB0aGlzLm9uSW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICBvbkluaXQoKSB7XHJcbiAgICBpZiAoQXBwQ29yZVNldHRpbmdzLkF6dXJlQUQpIHtcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRoVG9rZW4oKS5zdWJzY3JpYmUoKHRva2VuOiBzdHJpbmcpID0+IHtcclxuICAgICAgICB0aGlzLnN0YXJ0U2lnbmFsUkNvbm5lY3Rpb24odG9rZW4pO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN0YXJ0U2lnbmFsUkNvbm5lY3Rpb24oKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdG9wU2lnbmFsUkNvbm5lY3Rpb24oKTtcclxuICB9XHJcblxyXG4gIC8vIFNpZ25hbFJcclxuICBwcml2YXRlIHN0YXJ0U2lnbmFsUkNvbm5lY3Rpb24oYWNjZXNzVG9rZW4/KSB7XHJcbiAgICBjb25zdCBjc2tpaSA9IEFwcENvcmVTZXR0aW5ncy5zZWxlY3RlZENsaWVudElEO1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcclxuICAgIGNvbnN0IGNza2lpX3VwbiA9IEFwcENvcmVTZXR0aW5ncy5DU0tJSV9VUE47XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxyXG4gICAgY29uc3QgY2xpX3Nlc3Npb25ndWlkID0gQXBwQ29yZVNldHRpbmdzLkNMSV9TZXNzaW9uR1VJRDtcclxuXHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLnNvY2tldFVybCArICc/Y3NraWk9JyArIGNza2lpICsgJyZjc2tpaV91cG49JyArIGNza2lpX3VwbiArICcmY2xpX3Nlc3Npb25ndWlkPScgKyBjbGlfc2Vzc2lvbmd1aWQ7XHJcblxyXG4gICAgaWYgKGFjY2Vzc1Rva2VuKSB7XHJcbiAgICAgIHRoaXMuaHViQ29ubmVjdGlvbiA9IG5ldyBzaWduYWxSLkh1YkNvbm5lY3Rpb25CdWlsZGVyKClcclxuICAgICAgICAud2l0aFVybCh1cmwsIHtcclxuICAgICAgICAgIHNraXBOZWdvdGlhdGlvbjogZmFsc2UsXHJcbiAgICAgICAgICB0cmFuc3BvcnQ6IHNpZ25hbFIuSHR0cFRyYW5zcG9ydFR5cGUuV2ViU29ja2V0cyxcclxuICAgICAgICAgIGFjY2Vzc1Rva2VuRmFjdG9yeTogKCkgPT4gYWNjZXNzVG9rZW5cclxuICAgICAgICB9KVxyXG4gICAgICAgIC53aXRoQXV0b21hdGljUmVjb25uZWN0KClcclxuICAgICAgICAuY29uZmlndXJlTG9nZ2luZyhzaWduYWxSLkxvZ0xldmVsLkRlYnVnKVxyXG4gICAgICAgIC5idWlsZCgpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuaHViQ29ubmVjdGlvbiA9IG5ldyBzaWduYWxSLkh1YkNvbm5lY3Rpb25CdWlsZGVyKClcclxuICAgICAgICAud2l0aFVybCh0aGlzLnNvY2tldFVybCwge1xyXG4gICAgICAgICAgc2tpcE5lZ290aWF0aW9uOiB0cnVlLFxyXG4gICAgICAgICAgdHJhbnNwb3J0OiBzaWduYWxSLkh0dHBUcmFuc3BvcnRUeXBlLldlYlNvY2tldHNcclxuICAgICAgICB9KVxyXG4gICAgICAgIC53aXRoQXV0b21hdGljUmVjb25uZWN0KClcclxuICAgICAgICAuY29uZmlndXJlTG9nZ2luZyhzaWduYWxSLkxvZ0xldmVsLkRlYnVnKVxyXG4gICAgICAgIC5idWlsZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaHViQ29ubmVjdGlvblxyXG4gICAgICAuc3RhcnQoKVxyXG4gICAgICAudGhlbigoKSA9PiB0aGlzLnNpZ25hbFJDb25uZWN0aW9uX29uU3VjY2VzcygpKVxyXG4gICAgICAuY2F0Y2goZXJyID0+IHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdDb25uZWN0aW9uIGZhaWxlZCB0byBTaWduYWxSIE5vdGlmaWNhdGlvbiBIdWInKVxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaWduYWxSQ29ubmVjdGlvbl9vblN1Y2Nlc3MoKSB7XHJcbiAgICB0aGlzLmFkZFJlY2VpdmVNZXNzYWdlRGF0YUxpc3RlbmVyKCk7XHJcblxyXG4gICAgdGhpcy5ub3RpZmljYXRpb25zQXBpU2VydmljZS5yZXRyaWV2ZU5vdGlmaWNhdGlvbnMoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIHRoaXMuc2VydmVyTm90aWZpY2F0aW9ucyA9IGRhdGE7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0b3BTaWduYWxSQ29ubmVjdGlvbigpIHtcclxuICAgIGlmICh0aGlzLmh1YkNvbm5lY3Rpb24pIHtcclxuICAgICAgdGhpcy5odWJDb25uZWN0aW9uLnN0b3AoKTtcclxuICAgICAgdGhpcy5odWJDb25uZWN0aW9uID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkUmVjZWl2ZU1lc3NhZ2VEYXRhTGlzdGVuZXIgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmh1YkNvbm5lY3Rpb24ub24oJ1JlY2VpdmVNZXNzYWdlJywgKG1lc3NhZ2UpID0+IHtcclxuICAgICAgaWYgKG1lc3NhZ2UpIHtcclxuICAgICAgICBpZiAobWVzc2FnZS50eXBlID09PSAnZXJyb3InKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yKG1lc3NhZ2UudGV4dCwgbnVsbCwgbnVsbCwgZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3VjY2VzcyhtZXNzYWdlLnRleHQsIG51bGwsIG51bGwsIGZhbHNlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IG5vdGlmaWNhdGlvbiA9IHtcclxuICAgICAgICAgIGlkOiBtZXNzYWdlLmlkLFxyXG4gICAgICAgICAgaXNOZXc6IG1lc3NhZ2UuaXNOZXcsXHJcbiAgICAgICAgICBpc1Nlc3Npb246IHRydWUsXHJcbiAgICAgICAgICB0ZXh0OiBtZXNzYWdlLnRleHQsXHJcbiAgICAgICAgICB0eXBlOiBtZXNzYWdlLnR5cGUsXHJcbiAgICAgICAgICBjcmVhdGVkRGF0ZTogbWVzc2FnZS5jcmVhdGVkRGF0ZVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuYWRkU2Vzc2lvbk5vdGlmaWNhdGlvblRvTGlzdChub3RpZmljYXRpb24pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgKi9cclxuXHJcbiAgcHJpdmF0ZSBhZGRTZXNzaW9uTm90aWZpY2F0aW9uKHRleHQ6IHN0cmluZywgdHlwZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBpZCA9IEd1aWQubmV3R3VpZCgpO1xyXG4gICAgY29uc3Qgbm90aWZpY2F0aW9uID0geyBpZCwgaXNOZXc6IHRydWUsIGlzU2Vzc2lvbjogdHJ1ZSwgdGV4dCwgdHlwZSwgY3JlYXRlZERhdGU6IG5ldyBEYXRlKERhdGUubm93KCkpLnRvSVNPU3RyaW5nKCkgfTtcclxuXHJcbiAgICB0aGlzLmFkZFNlc3Npb25Ob3RpZmljYXRpb25Ub0xpc3Qobm90aWZpY2F0aW9uKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkU2Vzc2lvbk5vdGlmaWNhdGlvblRvTGlzdChub3RpZmljYXRpb246IElOb3RpZmljYXRpb24pIHtcclxuICAgIHRoaXMuc2Vzc2lvbk5vdGlmaWNhdGlvbnMgPSBbXHJcbiAgICAgIG5vdGlmaWNhdGlvbixcclxuICAgICAgLi4udGhpcy5zZXNzaW9uTm90aWZpY2F0aW9ucyxcclxuICAgIF07XHJcbiAgfVxyXG5cclxuICAvLyBQdWJsaWMgQVBJXHJcbiAgcmVtb3ZlTm90aWZpY2F0aW9uKGlkOiBzdHJpbmcsIGlzU2Vzc2lvbjogYm9vbGVhbikge1xyXG4gICAgaWYgKGlzU2Vzc2lvbikge1xyXG4gICAgICB0aGlzLnNlc3Npb25Ob3RpZmljYXRpb25zID0gdGhpcy5zZXNzaW9uTm90aWZpY2F0aW9ucy5maWx0ZXIobm90aWZpY2F0aW9ucyA9PiBub3RpZmljYXRpb25zLmlkICE9PSBpZCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zZXJ2ZXJOb3RpZmljYXRpb25zID0gdGhpcy5zZXJ2ZXJOb3RpZmljYXRpb25zLmZpbHRlcihub3RpZmljYXRpb25zID0+IG5vdGlmaWNhdGlvbnMuaWQgIT09IGlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN1Y2Nlc3ModGV4dD8sIHBhcmFtcz86IGFueVtdLCB0aXRsZT8sIGNyZWF0ZVNlc3Npb25Ob3RpZmljYXRpb246IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICB0ZXh0ID0gTDEwblV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRleHQsIHBhcmFtcywgJ09wZXJhdGlvblN1Y2Nlc3NGdWxsJyk7XHJcbiAgICB0aXRsZSA9IEwxMG5VdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0aXRsZSk7XHJcblxyXG4gICAgdGhpcy50b2FzdHJTZXJ2aWNlLnN1Y2Nlc3ModGV4dCwgdGl0bGUsIHtcclxuICAgICAgdGltZU91dDogMzAwMCxcclxuICAgICAgcHJvZ3Jlc3NCYXI6IHRydWVcclxuICAgIH0pO1xyXG5cclxuICAgIGlmIChjcmVhdGVTZXNzaW9uTm90aWZpY2F0aW9uKSB7XHJcbiAgICAgIHRoaXMuYWRkU2Vzc2lvbk5vdGlmaWNhdGlvbih0ZXh0LCAnc3VjY2VzcycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5mbyh0ZXh0LCBwYXJhbXM/OiBhbnlbXSwgdGl0bGU/KSB7XHJcbiAgICB0ZXh0ID0gTDEwblV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRleHQsIHBhcmFtcyk7XHJcbiAgICB0aXRsZSA9IEwxMG5VdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0aXRsZSk7XHJcblxyXG4gICAgdGhpcy50b2FzdHJTZXJ2aWNlLmluZm8odGV4dCwgdGl0bGUsIHtcclxuICAgICAgdGltZU91dDogMzAwMCxcclxuICAgICAgcHJvZ3Jlc3NCYXI6IHRydWVcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgd2FybmluZyh0ZXh0LCBwYXJhbXM/OiBhbnlbXSwgdGl0bGU/KSB7XHJcbiAgICB0ZXh0ID0gTDEwblV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRleHQsIHBhcmFtcyk7XHJcbiAgICB0aXRsZSA9IEwxMG5VdGlscy5nZXRMb2NhbGl6ZWRWYWx1ZSh0aXRsZSk7XHJcblxyXG4gICAgdGhpcy50b2FzdHJTZXJ2aWNlLndhcm5pbmcodGV4dCwgdGl0bGUsIHtcclxuICAgICAgdGltZU91dDogMzAwMCxcclxuICAgICAgcHJvZ3Jlc3NCYXI6IHRydWVcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZXJyb3IodGV4dD8sIHBhcmFtcz86IGFueVtdLCB0aXRsZT8sIGNyZWF0ZVNlc3Npb25Ob3RpZmljYXRpb246IGJvb2xlYW4gPSB0cnVlKSB7XHJcbiAgICB0ZXh0ID0gTDEwblV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRleHQsIHBhcmFtcywgJ0Vycm9yT2NjdXJlZCcpO1xyXG4gICAgdGl0bGUgPSBMMTBuVXRpbHMuZ2V0TG9jYWxpemVkVmFsdWUodGl0bGUpO1xyXG5cclxuICAgIHRoaXMudG9hc3RyU2VydmljZS5lcnJvcih0ZXh0LCB0aXRsZSwge1xyXG4gICAgICB0aW1lT3V0OiAzMDAwLFxyXG4gICAgICBwcm9ncmVzc0JhcjogdHJ1ZVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKGNyZWF0ZVNlc3Npb25Ob3RpZmljYXRpb24pIHtcclxuICAgICAgdGhpcy5hZGRTZXNzaW9uTm90aWZpY2F0aW9uKHRleHQsICdlcnJvcicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FuY2VsKHRleHQ/LCBwYXJhbXM/OiBhbnlbXSwgdGl0bGU/KSB7XHJcbiAgICB0ZXh0ID0gTDEwblV0aWxzLmdldExvY2FsaXplZFZhbHVlKHRleHQsIHBhcmFtcywgJ09wZXJhdGlvbkNhbmNlbGxlZCcpO1xyXG4gICAgdGl0bGUgPSBMMTBuVXRpbHMuZ2V0TG9jYWxpemVkVmFsdWUodGl0bGUpO1xyXG5cclxuICAgIHRoaXMudG9hc3RyU2VydmljZS5pbmZvKHRleHQsIHRpdGxlLCB7XHJcbiAgICAgIHRpbWVPdXQ6IDMwMDAsXHJcbiAgICAgIHByb2dyZXNzQmFyOiB0cnVlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIFNlc3Npb25Ob3RpZmljYXRpb25zXHJcbiAgZ2V0IHNlc3Npb25Ob3RpZmljYXRpb25zKCk6IElOb3RpZmljYXRpb25bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2Vzc2lvbk5vdGlmaWNhdGlvbnMuZ2V0VmFsdWUoKTtcclxuICB9XHJcbiAgc2V0IHNlc3Npb25Ob3RpZmljYXRpb25zKHZhbDogSU5vdGlmaWNhdGlvbltdKSB7XHJcbiAgICB0aGlzLl9zZXNzaW9uTm90aWZpY2F0aW9ucy5uZXh0KHZhbCk7XHJcbiAgfVxyXG5cclxuICAvLyBTZXJ2ZXJOb3RpZmljYXRpb25zXHJcbiAgZ2V0IHNlcnZlck5vdGlmaWNhdGlvbnMoKTogSU5vdGlmaWNhdGlvbltdIHtcclxuICAgIHJldHVybiB0aGlzLl9zZXJ2ZXJOb3RpZmljYXRpb25zLmdldFZhbHVlKCk7XHJcbiAgfVxyXG4gIHNldCBzZXJ2ZXJOb3RpZmljYXRpb25zKHZhbDogSU5vdGlmaWNhdGlvbltdKSB7XHJcbiAgICB0aGlzLl9zZXJ2ZXJOb3RpZmljYXRpb25zLm5leHQodmFsKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,118 +0,0 @@
|
|
|
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
|
-
import { HttpClient } from '@angular/common/http';
|
|
19
|
-
// App
|
|
20
|
-
import { ContextInitState } from '../consts/settings';
|
|
21
|
-
import { BaseApiService } from '../../data/base/base-api.service';
|
|
22
|
-
import { SessionStorageService } from './web-storage.service';
|
|
23
|
-
export class AppContextService extends BaseApiService {
|
|
24
|
-
constructor(http, sessionStorage) {
|
|
25
|
-
super(http);
|
|
26
|
-
this.http = http;
|
|
27
|
-
this.sessionStorage = sessionStorage;
|
|
28
|
-
//Consts
|
|
29
|
-
this.storageKeyName = 'appContext';
|
|
30
|
-
this.subscription = null;
|
|
31
|
-
this.successes = [];
|
|
32
|
-
this.baseUrl = '/api/appContext';
|
|
33
|
-
}
|
|
34
|
-
//Session
|
|
35
|
-
getCurrentFromSession() {
|
|
36
|
-
return this.sessionStorage.getObject(this.storageKeyName);
|
|
37
|
-
}
|
|
38
|
-
setCurrentFromSession(value) {
|
|
39
|
-
this.sessionStorage.setObject(this.storageKeyName, value);
|
|
40
|
-
}
|
|
41
|
-
updateCurrentIfExpired() {
|
|
42
|
-
let context = this.getCurrentFromSession();
|
|
43
|
-
if (!context) {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
let lu = context.lastRequested;
|
|
47
|
-
if (lu) {
|
|
48
|
-
let now = new Date();
|
|
49
|
-
let lastRequested = new Date(context.lastRequested);
|
|
50
|
-
let in2Mins = new Date(lastRequested.getFullYear(), lastRequested.getMonth(), lastRequested.getDate(), lastRequested.getHours(), lastRequested.getMinutes() + 2, 0, 0);
|
|
51
|
-
if (in2Mins.getTime() < now.getTime()) {
|
|
52
|
-
this.updateCurrent();
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
dataReceived(data) {
|
|
57
|
-
this.current = data;
|
|
58
|
-
for (let i = 0; i < this.successes.length; i++) {
|
|
59
|
-
let success = this.successes[i];
|
|
60
|
-
if (success) {
|
|
61
|
-
success(data);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
this.successes = [];
|
|
65
|
-
this.subscription.unsubscribe();
|
|
66
|
-
this.subscription = null;
|
|
67
|
-
}
|
|
68
|
-
getCurrent(success = null, getCachedIfExist = true) {
|
|
69
|
-
let context = this.getCurrentFromSession();
|
|
70
|
-
if (getCachedIfExist && context != null) {
|
|
71
|
-
if (success) {
|
|
72
|
-
success(context);
|
|
73
|
-
}
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
if (success) {
|
|
77
|
-
this.successes.push(success);
|
|
78
|
-
}
|
|
79
|
-
if (this.subscription != null) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
let now = new Date();
|
|
83
|
-
console.log('Requesting a new AppContext at ' + now);
|
|
84
|
-
this.subscription = this.get('getCurrentContext', null).subscribe((data) => {
|
|
85
|
-
this.dataReceived(data);
|
|
86
|
-
}, (e) => {
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
updateCurrent(success = null) {
|
|
90
|
-
this.getCurrent(success, false);
|
|
91
|
-
}
|
|
92
|
-
clearCurrent() {
|
|
93
|
-
this.sessionStorage.remove(this.storageKeyName);
|
|
94
|
-
}
|
|
95
|
-
isUserSignedIn() {
|
|
96
|
-
return ContextInitState.isUserSignedIn;
|
|
97
|
-
}
|
|
98
|
-
isUserAdmin() {
|
|
99
|
-
return ContextInitState.isUserAdmin;
|
|
100
|
-
}
|
|
101
|
-
//Properties
|
|
102
|
-
//current
|
|
103
|
-
get current() {
|
|
104
|
-
this.updateCurrentIfExpired();
|
|
105
|
-
return this.getCurrentFromSession();
|
|
106
|
-
}
|
|
107
|
-
set current(value) {
|
|
108
|
-
this.setCurrentFromSession(value);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
AppContextService.decorators = [
|
|
112
|
-
{ type: Injectable }
|
|
113
|
-
];
|
|
114
|
-
AppContextService.ctorParameters = () => [
|
|
115
|
-
{ type: HttpClient },
|
|
116
|
-
{ type: SessionStorageService }
|
|
117
|
-
];
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXBwY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsT0FBTztBQUNQLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2xELE1BQU07QUFDTixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFHN0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGNBQWM7SUFPbkQsWUFDWSxJQUFnQixFQUNsQixjQUFxQztRQUM3QyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFGRixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2xCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQVIvQyxRQUFRO1FBQ0EsbUJBQWMsR0FBRyxZQUFZLENBQUM7UUFFOUIsaUJBQVksR0FBaUIsSUFBSSxDQUFDO1FBQ2xDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFNckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQztJQUNuQyxDQUFDO0lBRUQsU0FBUztJQUNELHFCQUFxQjtRQUMzQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0scUJBQXFCLENBQUMsS0FBVTtRQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEtB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RCxjQUFjO1FBQ1osT0FBTyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUM7SUFDekMsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztJQUN0QyxDQUFDO0lBRUQsWUFBWTtJQUNaLFNBQVM7SUFDVCxJQUFXLE9BQU87UUFDaEIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsSUFBVyxPQUFPLENBQUMsS0FBVTtRQUMzQixJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7O1lBbkhGLFVBQVU7OztZQVJGLFVBQVU7WUFNVixxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxMyBOb3YgMjAxN1xyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vIE5vZGVcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbi8vIEFwcFxyXG5pbXBvcnQgeyBDb250ZXh0SW5pdFN0YXRlIH0gZnJvbSAnLi4vY29uc3RzL3NldHRpbmdzJztcclxuaW1wb3J0IHsgQmFzZUFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhL2Jhc2UvYmFzZS1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4vd2ViLXN0b3JhZ2Uuc2VydmljZSdcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFwcENvbnRleHRTZXJ2aWNlIGV4dGVuZHMgQmFzZUFwaVNlcnZpY2Uge1xyXG4gIC8vQ29uc3RzXHJcbiAgcHJpdmF0ZSBzdG9yYWdlS2V5TmFtZSA9ICdhcHBDb250ZXh0JztcclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XHJcbiAgcHJpdmF0ZSBzdWNjZXNzZXMgPSBbXTsgIFxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LCBcclxuICAgIHByaXZhdGUgc2Vzc2lvblN0b3JhZ2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSkge1xyXG4gICAgc3VwZXIoaHR0cCk7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSAnL2FwaS9hcHBDb250ZXh0JztcclxuICB9XHJcblxyXG4gIC8vU2Vzc2lvblxyXG4gIHByaXZhdGUgZ2V0Q3VycmVudEZyb21TZXNzaW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0T2JqZWN0KHRoaXMuc3RvcmFnZUtleU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEN1cnJlbnRGcm9tU2Vzc2lvbih2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnNlc3Npb25TdG9yYWdlLnNldE9iamVjdCh0aGlzLnN0b3JhZ2VLZXlOYW1lLCB2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUN1cnJlbnRJZkV4cGlyZWQoKSB7XHJcbiAgICBsZXQgY29udGV4dCA9IHRoaXMuZ2V0Q3VycmVudEZyb21TZXNzaW9uKCk7XHJcblxyXG4gICAgaWYgKCFjb250ZXh0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgbHUgPSBjb250ZXh0Lmxhc3RSZXF1ZXN0ZWQ7XHJcblxyXG4gICAgaWYgKGx1KSB7XHJcbiAgICAgIGxldCBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICBsZXQgbGFzdFJlcXVlc3RlZCA9IG5ldyBEYXRlKGNvbnRleHQubGFzdFJlcXVlc3RlZCk7XHJcbiAgICAgIGxldCBpbjJNaW5zID0gbmV3IERhdGUobGFzdFJlcXVlc3RlZC5nZXRGdWxsWWVhcigpLCBsYXN0UmVxdWVzdGVkLmdldE1vbnRoKCksIGxhc3RSZXF1ZXN0ZWQuZ2V0RGF0ZSgpLFxyXG4gICAgICAgIGxhc3RSZXF1ZXN0ZWQuZ2V0SG91cnMoKSwgbGFzdFJlcXVlc3RlZC5nZXRNaW51dGVzKCkgKyAyLCAwLCAwKTtcclxuXHJcbiAgICAgIGlmIChpbjJNaW5zLmdldFRpbWUoKSA8IG5vdy5nZXRUaW1lKCkpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZUN1cnJlbnQoKTtcclxuICAgICAgfVxyXG4gICAgfSAgICBcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGF0YVJlY2VpdmVkKGRhdGEpIHtcclxuICAgIHRoaXMuY3VycmVudCA9IGRhdGE7XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnN1Y2Nlc3Nlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBsZXQgc3VjY2VzcyA9IHRoaXMuc3VjY2Vzc2VzW2ldO1xyXG4gICAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICAgIHN1Y2Nlc3MoZGF0YSk7XHJcbiAgICAgIH0gICAgICBcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN1Y2Nlc3NlcyA9IFtdO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICB9XHJcblxyXG4gIGdldEN1cnJlbnQoc3VjY2VzczogRnVuY3Rpb24gPSBudWxsLCBnZXRDYWNoZWRJZkV4aXN0OiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgbGV0IGNvbnRleHQgPSB0aGlzLmdldEN1cnJlbnRGcm9tU2Vzc2lvbigpO1xyXG5cclxuICAgIGlmIChnZXRDYWNoZWRJZkV4aXN0ICYmIGNvbnRleHQgIT0gbnVsbCkgeyAgICBcclxuICAgICAgaWYgKHN1Y2Nlc3MpIHtcclxuICAgICAgICBzdWNjZXNzKGNvbnRleHQpO1xyXG4gICAgICB9IFxyXG5cclxuICAgICAgcmV0dXJuOyAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdWNjZXNzKSB7XHJcbiAgICAgIHRoaXMuc3VjY2Vzc2VzLnB1c2goc3VjY2Vzcyk7XHJcbiAgICB9ICAgIFxyXG5cclxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbiAhPSBudWxsKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgbm93ID0gbmV3IERhdGUoKTtcclxuICAgIGNvbnNvbGUubG9nKCdSZXF1ZXN0aW5nIGEgbmV3IEFwcENvbnRleHQgYXQgJyArIG5vdyk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmdldCgnZ2V0Q3VycmVudENvbnRleHQnLCBudWxsKS5zdWJzY3JpYmUoXHJcbiAgICAgIChkYXRhKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kYXRhUmVjZWl2ZWQoZGF0YSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIChlKSA9PiB7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVDdXJyZW50KHN1Y2Nlc3M6IEZ1bmN0aW9uID0gbnVsbCkge1xyXG4gICAgdGhpcy5nZXRDdXJyZW50KHN1Y2Nlc3MsIGZhbHNlKTtcclxuICB9XHJcblxyXG4gIGNsZWFyQ3VycmVudCgpIHtcclxuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlKHRoaXMuc3RvcmFnZUtleU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgaXNVc2VyU2lnbmVkSW4oKSB7XHJcbiAgICByZXR1cm4gQ29udGV4dEluaXRTdGF0ZS5pc1VzZXJTaWduZWRJbjtcclxuICB9XHJcblxyXG4gIGlzVXNlckFkbWluKCkge1xyXG4gICAgcmV0dXJuIENvbnRleHRJbml0U3RhdGUuaXNVc2VyQWRtaW47XHJcbiAgfVxyXG5cclxuICAvL1Byb3BlcnRpZXNcclxuICAvL2N1cnJlbnRcclxuICBwdWJsaWMgZ2V0IGN1cnJlbnQoKSB7XHJcbiAgICB0aGlzLnVwZGF0ZUN1cnJlbnRJZkV4cGlyZWQoKTtcclxuICAgIHJldHVybiB0aGlzLmdldEN1cnJlbnRGcm9tU2Vzc2lvbigpO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGN1cnJlbnQodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zZXRDdXJyZW50RnJvbVNlc3Npb24odmFsdWUpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,74 +0,0 @@
|
|
|
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 { Title, Meta } from '@angular/platform-browser';
|
|
23
|
-
import * as i0 from "@angular/core";
|
|
24
|
-
import * as i1 from "@angular/platform-browser";
|
|
25
|
-
import * as i2 from "@angular/common";
|
|
26
|
-
export class DigitalMarketingService {
|
|
27
|
-
constructor(title, meta, dom) {
|
|
28
|
-
this.title = title;
|
|
29
|
-
this.meta = meta;
|
|
30
|
-
this.dom = dom;
|
|
31
|
-
}
|
|
32
|
-
updateTitle(title) {
|
|
33
|
-
this.title.setTitle(title);
|
|
34
|
-
}
|
|
35
|
-
updateDescription(desc) {
|
|
36
|
-
this.meta.updateTag({ name: 'description', content: desc });
|
|
37
|
-
}
|
|
38
|
-
updateKeywords(keywords) {
|
|
39
|
-
this.meta.updateTag({ name: 'keywords', content: keywords });
|
|
40
|
-
}
|
|
41
|
-
updateMetaTags(meta) {
|
|
42
|
-
meta.forEach(m => this.meta.updateTag(m));
|
|
43
|
-
}
|
|
44
|
-
setCanonicalUrl(url) {
|
|
45
|
-
const canUrl = url === undefined ? this.dom.URL : url;
|
|
46
|
-
const link = this.dom.createElement('link');
|
|
47
|
-
link.setAttribute('rel', 'canonical');
|
|
48
|
-
this.dom.head.appendChild(link);
|
|
49
|
-
link.setAttribute('href', canUrl);
|
|
50
|
-
}
|
|
51
|
-
updateCanonicalUrl(url) {
|
|
52
|
-
const canUrl = url === undefined ? this.dom.URL : url;
|
|
53
|
-
const head = this.dom.getElementsByTagName('head')[0];
|
|
54
|
-
let link = this.dom.querySelector(`link[rel='canonical']`) || null;
|
|
55
|
-
if (link == null) {
|
|
56
|
-
link = this.dom.createElement('link');
|
|
57
|
-
head.appendChild(link);
|
|
58
|
-
}
|
|
59
|
-
link.setAttribute('rel', 'canonical');
|
|
60
|
-
link.setAttribute('href', canUrl);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
DigitalMarketingService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DigitalMarketingService_Factory() { return new DigitalMarketingService(i0.ɵɵinject(i1.Title), i0.ɵɵinject(i1.Meta), i0.ɵɵinject(i2.DOCUMENT)); }, token: DigitalMarketingService, providedIn: "root" });
|
|
64
|
-
DigitalMarketingService.decorators = [
|
|
65
|
-
{ type: Injectable, args: [{
|
|
66
|
-
providedIn: 'root'
|
|
67
|
-
},] }
|
|
68
|
-
];
|
|
69
|
-
DigitalMarketingService.ctorParameters = () => [
|
|
70
|
-
{ type: Title },
|
|
71
|
-
{ type: Meta },
|
|
72
|
-
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
|
|
73
|
-
];
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2RtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsT0FBTztBQUNQLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBa0IsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQUt4RSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQ1UsS0FBWSxFQUNaLElBQVUsRUFDUSxHQUFRO1FBRjFCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixTQUFJLEdBQUosSUFBSSxDQUFNO1FBQ1EsUUFBRyxHQUFILEdBQUcsQ0FBSztJQUVwQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQWE7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxjQUFjLENBQUMsUUFBYztRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFzQjtRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQVk7UUFDMUIsTUFBTSxNQUFNLEdBQUcsR0FBRyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUN0RCxNQUFNLElBQUksR0FBb0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxHQUFZO1FBQzdCLE1BQU0sTUFBTSxHQUFHLEdBQUcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDdEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RCxJQUFJLElBQUksR0FBb0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsSUFBSSxJQUFJLENBQUM7UUFFcEYsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO1lBQ2hCLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQW9CLENBQUM7WUFDekQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4QjtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Ozs7WUEvQ0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFKUSxLQUFLO1lBQUUsSUFBSTs0Q0FTZixNQUFNLFNBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnlcclxuICAgIEFuYXRvbHkgT3Nvdml0bnlcclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI5INCp0YHQtSAyMDIwXHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjEgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vLyBOb2RlXHJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFRpdGxlLCBNZXRhLCBNZXRhRGVmaW5pdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlnaXRhbE1hcmtldGluZ1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0aXRsZTogVGl0bGUsXHJcbiAgICBwcml2YXRlIG1ldGE6IE1ldGEsXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvbTogYW55LFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlVGl0bGUodGl0bGU/OiBzdHJpbmcpIHtcclxuICAgIHRoaXMudGl0bGUuc2V0VGl0bGUodGl0bGUpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlRGVzY3JpcHRpb24oZGVzYz86IHN0cmluZykge1xyXG4gICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IG5hbWU6ICdkZXNjcmlwdGlvbicsIGNvbnRlbnQ6IGRlc2MgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVLZXl3b3JkcyhrZXl3b3Jkcz86IGFueSkge1xyXG4gICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IG5hbWU6ICdrZXl3b3JkcycsIGNvbnRlbnQ6IGtleXdvcmRzIH0pO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlTWV0YVRhZ3MobWV0YTogTWV0YURlZmluaXRpb25bXSkge1xyXG4gICAgbWV0YS5mb3JFYWNoKG0gPT4gdGhpcy5tZXRhLnVwZGF0ZVRhZyhtKSk7XHJcbiAgfVxyXG5cclxuICBzZXRDYW5vbmljYWxVcmwodXJsPzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBjYW5VcmwgPSB1cmwgPT09IHVuZGVmaW5lZCA/IHRoaXMuZG9tLlVSTCA6IHVybDtcclxuICAgIGNvbnN0IGxpbms6IEhUTUxMaW5rRWxlbWVudCA9IHRoaXMuZG9tLmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcclxuICAgIGxpbmsuc2V0QXR0cmlidXRlKCdyZWwnLCAnY2Fub25pY2FsJyk7XHJcbiAgICB0aGlzLmRvbS5oZWFkLmFwcGVuZENoaWxkKGxpbmspO1xyXG4gICAgbGluay5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCBjYW5VcmwpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ2Fub25pY2FsVXJsKHVybD86IHN0cmluZykge1xyXG4gICAgY29uc3QgY2FuVXJsID0gdXJsID09PSB1bmRlZmluZWQgPyB0aGlzLmRvbS5VUkwgOiB1cmw7XHJcbiAgICBjb25zdCBoZWFkID0gdGhpcy5kb20uZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcclxuICAgIGxldCBsaW5rOiBIVE1MTGlua0VsZW1lbnQgPSB0aGlzLmRvbS5xdWVyeVNlbGVjdG9yKGBsaW5rW3JlbD0nY2Fub25pY2FsJ11gKSB8fCBudWxsO1xyXG5cclxuICAgIGlmIChsaW5rID09IG51bGwpIHtcclxuICAgICAgbGluayA9IHRoaXMuZG9tLmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKSBhcyBIVE1MTGlua0VsZW1lbnQ7XHJcbiAgICAgIGhlYWQuYXBwZW5kQ2hpbGQobGluayk7XHJcbiAgICB9XHJcblxyXG4gICAgbGluay5zZXRBdHRyaWJ1dGUoJ3JlbCcsICdjYW5vbmljYWwnKTtcclxuICAgIGxpbmsuc2V0QXR0cmlidXRlKCdocmVmJywgY2FuVXJsKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,53 +0,0 @@
|
|
|
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 { Router, NavigationEnd } from '@angular/router';
|
|
22
|
-
export class GoogleAnalyticsService {
|
|
23
|
-
constructor(router) {
|
|
24
|
-
this.router = router;
|
|
25
|
-
/*
|
|
26
|
-
https://yashints.dev/blog/2019/02/12/angular-ga-tagmanager
|
|
27
|
-
https://developers.google.com/analytics/devguides/collection/gtagjs/pages
|
|
28
|
-
https://developers.google.com/analytics/devguides/collection/upgrade/analyticsjs
|
|
29
|
-
*/
|
|
30
|
-
}
|
|
31
|
-
subscribe() {
|
|
32
|
-
this.subscription = this.router.events.subscribe(event => {
|
|
33
|
-
if (event instanceof NavigationEnd) {
|
|
34
|
-
if (window.ga) {
|
|
35
|
-
window.ga('set', 'page', event.urlAfterRedirects);
|
|
36
|
-
window.ga('send', 'pageview');
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
unsubscribe() {
|
|
42
|
-
if (this.subscription) {
|
|
43
|
-
this.subscription.unsubscribe();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
GoogleAnalyticsService.decorators = [
|
|
48
|
-
{ type: Injectable }
|
|
49
|
-
];
|
|
50
|
-
GoogleAnalyticsService.ctorParameters = () => [
|
|
51
|
-
{ type: Router }
|
|
52
|
-
];
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvc2VydmljZXMvZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE9BQU87QUFDUCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHeEQsTUFBTSxPQUFPLHNCQUFzQjtJQUdqQyxZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNoQzs7OztVQUlFO0lBQ0osQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN2RCxJQUFJLEtBQUssWUFBWSxhQUFhLEVBQUU7Z0JBQ2xDLElBQVUsTUFBTyxDQUFDLEVBQUUsRUFBRTtvQkFDZCxNQUFPLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7b0JBQ25ELE1BQU8sQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2lCQUN0QzthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNqQztJQUNILENBQUM7OztZQTNCRixVQUFVOzs7WUFGRixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjkgTm92IDIwMjBcclxuXHJcbiAgVmVyc2lvbjpcclxuICAgIDEuMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vIE5vZGVcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEdvb2dsZUFuYWx5dGljc1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHsgXHJcbiAgICAvKlxyXG4gICAgICBodHRwczovL3lhc2hpbnRzLmRldi9ibG9nLzIwMTkvMDIvMTIvYW5ndWxhci1nYS10YWdtYW5hZ2VyXHJcbiAgICAgIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL2FuYWx5dGljcy9kZXZndWlkZXMvY29sbGVjdGlvbi9ndGFnanMvcGFnZXNcclxuICAgICAgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vYW5hbHl0aWNzL2Rldmd1aWRlcy9jb2xsZWN0aW9uL3VwZ3JhZGUvYW5hbHl0aWNzanNcclxuICAgICovXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3Vic2NyaWJlKCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcclxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xyXG4gICAgICAgIGlmICgoPGFueT53aW5kb3cpLmdhKSB7XHJcbiAgICAgICAgICAoPGFueT53aW5kb3cpLmdhKCdzZXQnLCAncGFnZScsIGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzKTtcclxuICAgICAgICAgICg8YW55PndpbmRvdykuZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVuc3Vic2NyaWJlKCkge1xyXG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|