@igo2/core 1.15.4 → 16.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_index.scss +8 -0
- package/assets/icons/mdi.svg +1 -1
- package/core-theme.scss +5 -0
- package/{esm2020 → esm2022}/igo2-core.mjs +4 -4
- package/{esm2020 → esm2022}/lib/activity/activity.interceptor.mjs +32 -30
- package/{esm2020 → esm2022}/lib/activity/activity.module.mjs +30 -30
- package/esm2022/lib/activity/activity.service.mjs +32 -0
- package/{esm2020 → esm2022}/lib/activity/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/analytics/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/analytics/shared/analytics.interface.mjs +2 -2
- package/esm2022/lib/analytics/shared/analytics.service.mjs +84 -0
- package/{esm2020 → esm2022}/lib/analytics/shared/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/compression/compressedData.interface.mjs +2 -2
- package/esm2022/lib/compression/compression.service.mjs +142 -0
- package/{esm2020 → esm2022}/lib/compression/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/config/config.interface.mjs +1 -1
- package/{esm2020 → esm2022}/lib/config/config.module.mjs +23 -23
- package/{esm2020 → esm2022}/lib/config/config.provider.mjs +21 -21
- package/esm2022/lib/config/config.service.mjs +53 -0
- package/{esm2020 → esm2022}/lib/config/index.mjs +4 -4
- package/esm2022/lib/config/version.mjs +5 -0
- package/esm2022/lib/core.module.mjs +104 -0
- package/{esm2020 → esm2022}/lib/gesture/gesture.module.mjs +30 -30
- package/{esm2020 → esm2022}/lib/gesture/gesture.provider.mjs +16 -16
- package/{esm2020 → esm2022}/lib/language/index.mjs +2 -2
- package/esm2022/lib/language/language.module.mjs +39 -0
- package/{esm2020 → esm2022}/lib/language/shared/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/language/shared/language.interface.mjs +2 -2
- package/esm2022/lib/language/shared/language.loader.mjs +31 -0
- package/esm2022/lib/language/shared/language.provider.mjs +22 -0
- package/esm2022/lib/language/shared/language.service.mjs +38 -0
- package/{esm2020 → esm2022}/lib/language/shared/missing-translation.guard.mjs +16 -16
- package/{esm2020 → esm2022}/lib/media/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/media/media.enum.mjs +12 -12
- package/esm2022/lib/media/media.service.mjs +82 -0
- package/{esm2020 → esm2022}/lib/message/index.mjs +2 -2
- package/esm2022/lib/message/message.module.mjs +60 -0
- package/{esm2020 → esm2022}/lib/message/shared/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/message/shared/message.enum.mjs +10 -10
- package/{esm2020 → esm2022}/lib/message/shared/message.interface.mjs +2 -2
- package/esm2022/lib/message/shared/message.service.mjs +218 -0
- package/{esm2020 → esm2022}/lib/network/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/network/network.interfaces.mjs +2 -2
- package/esm2022/lib/network/network.service.mjs +66 -0
- package/{esm2020 → esm2022}/lib/regex/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/regex/regex.interface.mjs +2 -2
- package/esm2022/lib/regex/regex.service.mjs +30 -0
- package/esm2022/lib/request/error.interceptor.mjs +67 -0
- package/esm2022/lib/request/error.module.mjs +39 -0
- package/{esm2020 → esm2022}/lib/request/index.mjs +3 -3
- package/esm2022/lib/request/logging.interceptor.mjs +29 -0
- package/{esm2020 → esm2022}/lib/request/logging.module.mjs +30 -30
- package/esm2022/lib/route/route.interface.mjs +2 -0
- package/esm2022/lib/route/route.service.mjs +75 -0
- package/esm2022/lib/storage/index.mjs +4 -0
- package/{esm2020 → esm2022}/lib/storage/storage.interface.mjs +13 -13
- package/esm2022/lib/storage/storage.mjs +76 -0
- package/esm2022/lib/storage/storage.service.mjs +21 -0
- package/{esm2020 → esm2022}/public_api.mjs +27 -27
- package/{fesm2020 → fesm2022}/igo2-core.mjs +1364 -1288
- package/fesm2022/igo2-core.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/activity/activity.interceptor.d.ts +11 -11
- package/lib/activity/activity.module.d.ts +8 -8
- package/lib/activity/activity.service.d.ts +11 -11
- package/lib/activity/index.d.ts +2 -2
- package/lib/analytics/index.d.ts +1 -1
- package/lib/analytics/shared/analytics.interface.d.ts +6 -6
- package/lib/analytics/shared/analytics.service.d.ts +23 -23
- package/lib/analytics/shared/index.d.ts +2 -2
- package/lib/compression/compressedData.interface.d.ts +5 -5
- package/lib/compression/compression.service.d.ts +15 -15
- package/lib/compression/index.d.ts +2 -2
- package/lib/config/config.interface.d.ts +6 -6
- package/lib/config/config.module.d.ts +8 -8
- package/lib/config/config.provider.d.ts +15 -15
- package/lib/config/config.service.d.ts +18 -18
- package/lib/config/index.d.ts +3 -3
- package/lib/config/version.d.ts +5 -5
- package/lib/core.module.d.ts +19 -19
- package/lib/gesture/gesture.module.d.ts +9 -9
- package/lib/gesture/gesture.provider.d.ts +7 -7
- package/lib/language/index.d.ts +1 -1
- package/lib/language/language.module.d.ts +9 -9
- package/lib/language/shared/index.d.ts +4 -4
- package/lib/language/shared/language.interface.d.ts +3 -3
- package/lib/language/shared/language.loader.d.ts +11 -11
- package/lib/language/shared/language.provider.d.ts +15 -15
- package/lib/language/shared/language.service.d.ts +13 -13
- package/lib/language/shared/missing-translation.guard.d.ts +4 -4
- package/lib/media/index.d.ts +2 -2
- package/lib/media/media.enum.d.ts +9 -9
- package/lib/media/media.service.d.ts +16 -16
- package/lib/message/index.d.ts +1 -1
- package/lib/message/message.module.d.ts +10 -10
- package/lib/message/message.theming.scss +26 -0
- package/lib/message/shared/index.d.ts +4 -4
- package/lib/message/shared/message.enum.d.ts +8 -8
- package/lib/message/shared/message.interface.d.ts +21 -21
- package/lib/message/shared/message.service.d.ts +31 -31
- package/lib/network/index.d.ts +2 -2
- package/lib/network/network.interfaces.d.ts +3 -3
- package/lib/network/network.service.d.ts +21 -21
- package/lib/regex/index.d.ts +2 -2
- package/lib/regex/regex.interface.d.ts +3 -3
- package/lib/regex/regex.service.d.ts +12 -12
- package/lib/request/error.interceptor.d.ts +14 -14
- package/lib/request/error.module.d.ts +9 -9
- package/lib/request/index.d.ts +2 -2
- package/lib/request/logging.interceptor.d.ts +8 -8
- package/lib/request/logging.module.d.ts +8 -8
- package/lib/route/route.interface.d.ts +23 -23
- package/lib/route/route.service.d.ts +19 -19
- package/lib/storage/index.d.ts +3 -2
- package/lib/storage/storage.d.ts +15 -0
- package/lib/storage/storage.interface.d.ts +20 -20
- package/lib/storage/storage.service.d.ts +10 -19
- package/locale/en.core.json +1 -2
- package/locale/en.json +1 -1205
- package/locale/fr.core.json +1 -2
- package/locale/fr.json +1 -1210
- package/package.json +40 -30
- package/packages.import.scss +4 -0
- package/public_api.d.ts +24 -24
- package/style/all-style.css +793 -0
- package/style/all-style.scss +3 -0
- package/style/layout.scss +163 -0
- package/style/partial/core-utils.scss +5 -0
- package/style/partial/core.variables.scss +1 -1
- package/style/partial/media.scss +80 -80
- package/style/style.css +237 -0
- package/style/style.scss +19 -0
- package/theming/all-theme.scss +14 -0
- package/theming/material-theme-override.scss +39 -0
- package/theming/prebuilt-themes/blue-theme.css +2986 -0
- package/theming/prebuilt-themes/blue-theme.scss +34 -0
- package/theming/prebuilt-themes/bluedark-theme.css +2986 -0
- package/theming/prebuilt-themes/bluedark-theme.scss +67 -0
- package/theming/prebuilt-themes/bluedq-theme.css +2986 -0
- package/theming/prebuilt-themes/bluedq-theme.scss +66 -0
- package/theming/prebuilt-themes/bluegrey-theme.css +2986 -0
- package/theming/prebuilt-themes/bluegrey-theme.scss +25 -0
- package/theming/prebuilt-themes/dark-theme.css +2993 -0
- package/theming/prebuilt-themes/dark-theme.scss +25 -0
- package/theming/prebuilt-themes/deeppurple-theme.css +2986 -0
- package/theming/prebuilt-themes/deeppurple-theme.scss +25 -0
- package/theming/prebuilt-themes/indigo-theme.css +2986 -0
- package/theming/prebuilt-themes/indigo-theme.scss +25 -0
- package/theming/prebuilt-themes/orange-theme.css +2986 -0
- package/theming/prebuilt-themes/orange-theme.scss +25 -0
- package/theming/prebuilt-themes/qcca/_index.scss +2 -0
- package/theming/prebuilt-themes/qcca/base/_index.scss +4 -0
- package/theming/prebuilt-themes/qcca/base/breakpoints.scss +57 -0
- package/theming/prebuilt-themes/qcca/base/colors.scss +40 -0
- package/theming/prebuilt-themes/qcca/base/palette.scss +50 -0
- package/theming/prebuilt-themes/qcca/base/typography/_index.scss +2 -0
- package/theming/prebuilt-themes/qcca/base/typography/typography.scss +138 -0
- package/theming/prebuilt-themes/qcca/base/typography/typography.utils.scss +18 -0
- package/theming/prebuilt-themes/qcca/components/_index.scss +9 -0
- package/theming/prebuilt-themes/qcca/components/_index.theme.scss +5 -0
- package/theming/prebuilt-themes/qcca/components/button.scss +24 -0
- package/theming/prebuilt-themes/qcca/components/dialog.scss +36 -0
- package/theming/prebuilt-themes/qcca/components/form-field.scss +5 -0
- package/theming/prebuilt-themes/qcca/components/input.scss +6 -0
- package/theming/prebuilt-themes/qcca/components/list.scss +24 -0
- package/theming/prebuilt-themes/qcca/components/panel.scss +8 -0
- package/theming/prebuilt-themes/qcca/components/search-bar.scss +41 -0
- package/theming/prebuilt-themes/qcca/components/search-bar.theme.scss +29 -0
- package/theming/prebuilt-themes/qcca-theme.css +3373 -0
- package/theming/prebuilt-themes/qcca-theme.scss +47 -0
- package/theming/prebuilt-themes/teal-theme.css +2986 -0
- package/theming/prebuilt-themes/teal-theme.scss +25 -0
- package/theming/typography.scss +28 -0
- package/theming/utils/_foreground.scss +22 -0
- package/__ivy_ngcc__/locale/en.auth.json +0 -29
- package/__ivy_ngcc__/locale/en.common.json +0 -43
- package/__ivy_ngcc__/locale/en.context.json +0 -199
- package/__ivy_ngcc__/locale/en.core.json +0 -29
- package/__ivy_ngcc__/locale/en.geo.json +0 -805
- package/__ivy_ngcc__/locale/en.integration.json +0 -124
- package/__ivy_ngcc__/locale/en.json +0 -1205
- package/__ivy_ngcc__/locale/fr.auth.json +0 -32
- package/__ivy_ngcc__/locale/fr.common.json +0 -43
- package/__ivy_ngcc__/locale/fr.context.json +0 -199
- package/__ivy_ngcc__/locale/fr.core.json +0 -29
- package/__ivy_ngcc__/locale/fr.geo.json +0 -805
- package/__ivy_ngcc__/locale/fr.integration.json +0 -125
- package/__ivy_ngcc__/locale/fr.json +0 -1210
- package/esm2020/lib/activity/activity.service.mjs +0 -33
- package/esm2020/lib/analytics/shared/analytics.service.mjs +0 -81
- package/esm2020/lib/compression/compression.service.mjs +0 -140
- package/esm2020/lib/config/config.service.mjs +0 -52
- package/esm2020/lib/config/version.mjs +0 -5
- package/esm2020/lib/core.module.mjs +0 -92
- package/esm2020/lib/language/language.module.mjs +0 -39
- package/esm2020/lib/language/shared/language.loader.mjs +0 -26
- package/esm2020/lib/language/shared/language.provider.mjs +0 -22
- package/esm2020/lib/language/shared/language.service.mjs +0 -32
- package/esm2020/lib/media/media.service.mjs +0 -76
- package/esm2020/lib/message/message.module.mjs +0 -56
- package/esm2020/lib/message/shared/message.service.mjs +0 -201
- package/esm2020/lib/network/network.service.mjs +0 -60
- package/esm2020/lib/regex/regex.service.mjs +0 -27
- package/esm2020/lib/request/error.interceptor.mjs +0 -66
- package/esm2020/lib/request/error.module.mjs +0 -39
- package/esm2020/lib/request/logging.interceptor.mjs +0 -29
- package/esm2020/lib/route/route.interface.mjs +0 -2
- package/esm2020/lib/route/route.service.mjs +0 -71
- package/esm2020/lib/storage/index.mjs +0 -3
- package/esm2020/lib/storage/storage.service.mjs +0 -79
- package/fesm2015/igo2-core.mjs +0 -1418
- package/fesm2015/igo2-core.mjs.map +0 -1
- package/fesm2020/igo2-core.mjs.map +0 -1
- package/locale/en.auth.json +0 -29
- package/locale/en.common.json +0 -43
- package/locale/en.context.json +0 -199
- package/locale/en.geo.json +0 -805
- package/locale/en.integration.json +0 -124
- package/locale/fr.auth.json +0 -32
- package/locale/fr.common.json +0 -43
- package/locale/fr.context.json +0 -199
- package/locale/fr.geo.json +0 -805
- package/locale/fr.integration.json +0 -125
- package/style/all.theming.scss +0 -5
- package/style/core.theming.scss +0 -9
- package/style/foreground.scss +0 -20
- package/style/index.theming.scss +0 -1465
- package/style/material.font.scss +0 -10
- package/style/setup.scss +0 -2
- package/style/themes/blue.theme.scss +0 -19
- package/style/themes/bluedark.theme.scss +0 -52
- package/style/themes/bluedq.theme.scss +0 -52
- package/style/themes/bluegrey.theme.scss +0 -16
- package/style/themes/dark.theme.scss +0 -16
- package/style/themes/deeppurple.theme.scss +0 -16
- package/style/themes/indigo.theme.scss +0 -16
- package/style/themes/orange.theme.scss +0 -16
- package/style/themes/qcca.theme.scss +0 -98
- package/style/themes/teal.theme.scss +0 -16
- package/style/theming.scss +0 -5
- package/style/typography.scss +0 -17
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Breakpoints, BreakpointObserver } from '@angular/cdk/layout';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { Media, MediaOrientation } from './media.enum';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/cdk/layout";
|
|
7
|
+
export class MediaService {
|
|
8
|
+
media$ = new BehaviorSubject(undefined);
|
|
9
|
+
orientation$ = new BehaviorSubject(undefined);
|
|
10
|
+
constructor(breakpointObserver) {
|
|
11
|
+
breakpointObserver
|
|
12
|
+
.observe([Breakpoints.HandsetLandscape])
|
|
13
|
+
.subscribe((res) => {
|
|
14
|
+
if (res.matches) {
|
|
15
|
+
this.media$.next(Media.Mobile);
|
|
16
|
+
this.orientation$.next(MediaOrientation.Landscape);
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
breakpointObserver
|
|
20
|
+
.observe([Breakpoints.HandsetPortrait])
|
|
21
|
+
.subscribe((res) => {
|
|
22
|
+
if (res.matches) {
|
|
23
|
+
this.media$.next(Media.Mobile);
|
|
24
|
+
this.orientation$.next(MediaOrientation.Portrait);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
breakpointObserver
|
|
28
|
+
.observe([Breakpoints.TabletLandscape])
|
|
29
|
+
.subscribe((res) => {
|
|
30
|
+
if (res.matches) {
|
|
31
|
+
this.media$.next(Media.Tablet);
|
|
32
|
+
this.orientation$.next(MediaOrientation.Landscape);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
breakpointObserver
|
|
36
|
+
.observe([Breakpoints.TabletPortrait])
|
|
37
|
+
.subscribe((res) => {
|
|
38
|
+
if (res.matches) {
|
|
39
|
+
this.media$.next(Media.Tablet);
|
|
40
|
+
this.orientation$.next(MediaOrientation.Portrait);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
breakpointObserver.observe([Breakpoints.WebLandscape]).subscribe((res) => {
|
|
44
|
+
if (res.matches) {
|
|
45
|
+
this.media$.next(Media.Desktop);
|
|
46
|
+
this.orientation$.next(MediaOrientation.Landscape);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
breakpointObserver.observe([Breakpoints.WebPortrait]).subscribe((res) => {
|
|
50
|
+
if (res.matches) {
|
|
51
|
+
this.media$.next(Media.Desktop);
|
|
52
|
+
this.orientation$.next(MediaOrientation.Portrait);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
getMedia() {
|
|
57
|
+
return this.media$.value;
|
|
58
|
+
}
|
|
59
|
+
getOrientation() {
|
|
60
|
+
return this.orientation$.value;
|
|
61
|
+
}
|
|
62
|
+
isTouchScreen() {
|
|
63
|
+
return 'ontouchstart' in document.documentElement ? true : false;
|
|
64
|
+
}
|
|
65
|
+
isMobile() {
|
|
66
|
+
const media = this.getMedia();
|
|
67
|
+
return media === 'mobile';
|
|
68
|
+
}
|
|
69
|
+
isDesktop() {
|
|
70
|
+
const media = this.getMedia();
|
|
71
|
+
return media === 'desktop';
|
|
72
|
+
}
|
|
73
|
+
static ɵfac = function MediaService_Factory(t) { return new (t || MediaService)(i0.ɵɵinject(i1.BreakpointObserver)); };
|
|
74
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MediaService, factory: MediaService.ɵfac, providedIn: 'root' });
|
|
75
|
+
}
|
|
76
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MediaService, [{
|
|
77
|
+
type: Injectable,
|
|
78
|
+
args: [{
|
|
79
|
+
providedIn: 'root'
|
|
80
|
+
}]
|
|
81
|
+
}], function () { return [{ type: i1.BreakpointObserver }]; }, null); })();
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9tZWRpYS9tZWRpYS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBS3ZELE1BQU0sT0FBTyxZQUFZO0lBQ2hCLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUSxTQUFTLENBQUMsQ0FBQztJQUMvQyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQW1CLFNBQVMsQ0FBQyxDQUFDO0lBRXZFLFlBQVksa0JBQXNDO1FBQ2hELGtCQUFrQjthQUNmLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ3ZDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRTtnQkFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3BEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxrQkFBa0I7YUFDZixPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDdEMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO2dCQUNmLElBQUksQ0FBQyxNQUFNLENB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QGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJyZWFrcG9pbnRzLCBCcmVha3BvaW50T2JzZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgTWVkaWEsIE1lZGlhT3JpZW50YXRpb24gfSBmcm9tICcuL21lZGlhLmVudW0nO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVkaWFTZXJ2aWNlIHtcclxuICBwdWJsaWMgbWVkaWEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZWRpYT4odW5kZWZpbmVkKTtcclxuICBwdWJsaWMgb3JpZW50YXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZWRpYU9yaWVudGF0aW9uPih1bmRlZmluZWQpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcikge1xyXG4gICAgYnJlYWtwb2ludE9ic2VydmVyXHJcbiAgICAgIC5vYnNlcnZlKFtCcmVha3BvaW50cy5IYW5kc2V0TGFuZHNjYXBlXSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcy5tYXRjaGVzKSB7XHJcbiAgICAgICAgICB0aGlzLm1lZGlhJC5uZXh0KE1lZGlhLk1vYmlsZSk7XHJcbiAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uJC5uZXh0KE1lZGlhT3JpZW50YXRpb24uTGFuZHNjYXBlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGJyZWFrcG9pbnRPYnNlcnZlclxyXG4gICAgICAub2JzZXJ2ZShbQnJlYWtwb2ludHMuSGFuZHNldFBvcnRyYWl0XSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcy5tYXRjaGVzKSB7XHJcbiAgICAgICAgICB0aGlzLm1lZGlhJC5uZXh0KE1lZGlhLk1vYmlsZSk7XHJcbiAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uJC5uZXh0KE1lZGlhT3JpZW50YXRpb24uUG9ydHJhaXQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgYnJlYWtwb2ludE9ic2VydmVyXHJcbiAgICAgIC5vYnNlcnZlKFtCcmVha3BvaW50cy5UYWJsZXRMYW5kc2NhcGVdKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICBpZiAocmVzLm1hdGNoZXMpIHtcclxuICAgICAgICAgIHRoaXMubWVkaWEkLm5leHQoTWVkaWEuVGFibGV0KTtcclxuICAgICAgICAgIHRoaXMub3JpZW50YXRpb24kLm5leHQoTWVkaWFPcmllbnRhdGlvbi5MYW5kc2NhcGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgYnJlYWtwb2ludE9ic2VydmVyXHJcbiAgICAgIC5vYnNlcnZlKFtCcmVha3BvaW50cy5UYWJsZXRQb3J0cmFpdF0pXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIGlmIChyZXMubWF0Y2hlcykge1xyXG4gICAgICAgICAgdGhpcy5tZWRpYSQubmV4dChNZWRpYS5UYWJsZXQpO1xyXG4gICAgICAgICAgdGhpcy5vcmllbnRhdGlvbiQubmV4dChNZWRpYU9yaWVudGF0aW9uLlBvcnRyYWl0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFtCcmVha3BvaW50cy5XZWJMYW5kc2NhcGVdKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBpZiAocmVzLm1hdGNoZXMpIHtcclxuICAgICAgICB0aGlzLm1lZGlhJC5uZXh0KE1lZGlhLkRlc2t0b3ApO1xyXG4gICAgICAgIHRoaXMub3JpZW50YXRpb24kLm5leHQoTWVkaWFPcmllbnRhdGlvbi5MYW5kc2NhcGUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBicmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShbQnJlYWtwb2ludHMuV2ViUG9ydHJhaXRdKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBpZiAocmVzLm1hdGNoZXMpIHtcclxuICAgICAgICB0aGlzLm1lZGlhJC5uZXh0KE1lZGlhLkRlc2t0b3ApO1xyXG4gICAgICAgIHRoaXMub3JpZW50YXRpb24kLm5leHQoTWVkaWFPcmllbnRhdGlvbi5Qb3J0cmFpdCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWVkaWEoKTogTWVkaWEge1xyXG4gICAgcmV0dXJuIHRoaXMubWVkaWEkLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0T3JpZW50YXRpb24oKTogTWVkaWFPcmllbnRhdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy5vcmllbnRhdGlvbiQudmFsdWU7XHJcbiAgfVxyXG5cclxuICBpc1RvdWNoU2NyZWVuKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICdvbnRvdWNoc3RhcnQnIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCA/IHRydWUgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGlzTW9iaWxlKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgbWVkaWEgPSB0aGlzLmdldE1lZGlhKCk7XHJcbiAgICByZXR1cm4gbWVkaWEgPT09ICdtb2JpbGUnO1xyXG4gIH1cclxuXHJcbiAgaXNEZXNrdG9wKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgbWVkaWEgPSB0aGlzLmdldE1lZGlhKCk7XHJcbiAgICByZXR1cm4gbWVkaWEgPT09ICdkZXNrdG9wJztcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './shared';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './shared';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvbWVzc2FnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2hhcmVkJztcbiJdfQ==
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ToastrModule } from 'ngx-toastr';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "ngx-toastr";
|
|
6
|
+
export class IgoMessageModule {
|
|
7
|
+
static forRoot() {
|
|
8
|
+
return {
|
|
9
|
+
ngModule: IgoMessageModule,
|
|
10
|
+
providers: []
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
static ɵfac = function IgoMessageModule_Factory(t) { return new (t || IgoMessageModule)(); };
|
|
14
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoMessageModule });
|
|
15
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
16
|
+
ToastrModule.forRoot({
|
|
17
|
+
positionClass: 'toast-bottom-right',
|
|
18
|
+
timeOut: 10000,
|
|
19
|
+
extendedTimeOut: 10000,
|
|
20
|
+
titleClass: 'mat-subtitle-2',
|
|
21
|
+
messageClass: 'toast-message',
|
|
22
|
+
closeButton: true,
|
|
23
|
+
progressBar: true,
|
|
24
|
+
enableHtml: true,
|
|
25
|
+
tapToDismiss: true,
|
|
26
|
+
maxOpened: 4,
|
|
27
|
+
preventDuplicates: true,
|
|
28
|
+
resetTimeoutOnDuplicate: true,
|
|
29
|
+
countDuplicates: false,
|
|
30
|
+
includeTitleDuplicates: true
|
|
31
|
+
})] });
|
|
32
|
+
}
|
|
33
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoMessageModule, [{
|
|
34
|
+
type: NgModule,
|
|
35
|
+
args: [{
|
|
36
|
+
imports: [
|
|
37
|
+
CommonModule,
|
|
38
|
+
ToastrModule.forRoot({
|
|
39
|
+
positionClass: 'toast-bottom-right',
|
|
40
|
+
timeOut: 10000,
|
|
41
|
+
extendedTimeOut: 10000,
|
|
42
|
+
titleClass: 'mat-subtitle-2',
|
|
43
|
+
messageClass: 'toast-message',
|
|
44
|
+
closeButton: true,
|
|
45
|
+
progressBar: true,
|
|
46
|
+
enableHtml: true,
|
|
47
|
+
tapToDismiss: true,
|
|
48
|
+
maxOpened: 4,
|
|
49
|
+
preventDuplicates: true,
|
|
50
|
+
resetTimeoutOnDuplicate: true,
|
|
51
|
+
countDuplicates: false,
|
|
52
|
+
includeTitleDuplicates: true
|
|
53
|
+
})
|
|
54
|
+
],
|
|
55
|
+
declarations: [],
|
|
56
|
+
exports: []
|
|
57
|
+
}]
|
|
58
|
+
}], null, null); })();
|
|
59
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoMessageModule, { imports: [CommonModule, i1.ToastrModule] }); })();
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvbWVzc2FnZS9tZXNzYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFnQixZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7OztBQXlCeEQsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztJQUNKLENBQUM7MEVBTlUsZ0JBQWdCOzREQUFoQixnQkFBZ0I7Z0VBckJ6QixZQUFZO1lBQ1osWUFBWSxDQUFDLE9BQU8sQ0FBQztnQkFDbkIsYUFBYSxFQUFFLG9CQUFvQjtnQkFDbkMsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsZUFBZSxFQUFFLEtBQUs7Z0JBQ3RCLFVBQVUsRUFBRSxnQkFBZ0I7Z0JBQzVCLFlBQVksRUFBRSxlQUFlO2dCQUM3QixXQUFXLEVBQUUsSUFBSTtnQkFDakIsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixZQUFZLEVBQUUsSUFBSTtnQkFDbEIsU0FBUyxFQUFFLENBQUM7Z0JBQ1osaUJBQWlCLEVBQUUsSUFBSTtnQkFDdkIsdUJBQXVCLEVBQUUsSUFBSTtnQkFDN0IsZUFBZSxFQUFFLEtBQUs7Z0JBQ3RCLHNCQUFzQixFQUFFLElBQUk7YUFDYixDQUFDOzt1RkFLVCxnQkFBZ0I7Y0F2QjVCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixZQUFZLENBQUMsT0FBTyxDQUFDO3dCQUNuQixhQUFhLEVBQUUsb0JBQW9CO3dCQUNuQyxPQUFPLEVBQUUsS0FBSzt3QkFDZCxlQUFlLEVBQUUsS0FBSzt3QkFDdEIsVUFBVSxFQUFFLGdCQUFnQjt3QkFDNUIsWUFBWSxFQUFFLGVBQWU7d0JBQzdCLFdBQVcsRUFBRSxJQUFJO3dCQUNqQixXQUFXLEVBQUUsSUFBSTt3QkFDakIsVUFBVSxFQUFFLElBQUk7d0JBQ2hCLFlBQVksRUFBRSxJQUFJO3dCQUNsQixTQUFTLEVBQUUsQ0FBQzt3QkFDWixpQkFBaUIsRUFBRSxJQUFJO3dCQUN2Qix1QkFBdUIsRUFBRSxJQUFJO3dCQUM3QixlQUFlLEVBQUUsS0FBSzt3QkFDdEIsc0JBQXNCLEVBQUUsSUFBSTtxQkFDYixDQUFDO2lCQUNuQjtnQkFDRCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLEVBQUU7YUFDWjs7d0ZBQ1ksZ0JBQWdCLGNBckJ6QixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IEdsb2JhbENvbmZpZywgVG9hc3RyTW9kdWxlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFRvYXN0ck1vZHVsZS5mb3JSb290KHtcclxuICAgICAgcG9zaXRpb25DbGFzczogJ3RvYXN0LWJvdHRvbS1yaWdodCcsXHJcbiAgICAgIHRpbWVPdXQ6IDEwMDAwLFxyXG4gICAgICBleHRlbmRlZFRpbWVPdXQ6IDEwMDAwLFxyXG4gICAgICB0aXRsZUNsYXNzOiAnbWF0LXN1YnRpdGxlLTInLFxyXG4gICAgICBtZXNzYWdlQ2xhc3M6ICd0b2FzdC1tZXNzYWdlJyxcclxuICAgICAgY2xvc2VCdXR0b246IHRydWUsXHJcbiAgICAgIHByb2dyZXNzQmFyOiB0cnVlLFxyXG4gICAgICBlbmFibGVIdG1sOiB0cnVlLFxyXG4gICAgICB0YXBUb0Rpc21pc3M6IHRydWUsXHJcbiAgICAgIG1heE9wZW5lZDogNCxcclxuICAgICAgcHJldmVudER1cGxpY2F0ZXM6IHRydWUsXHJcbiAgICAgIHJlc2V0VGltZW91dE9uRHVwbGljYXRlOiB0cnVlLFxyXG4gICAgICBjb3VudER1cGxpY2F0ZXM6IGZhbHNlLFxyXG4gICAgICBpbmNsdWRlVGl0bGVEdXBsaWNhdGVzOiB0cnVlXHJcbiAgICB9IGFzIEdsb2JhbENvbmZpZylcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW10sXHJcbiAgZXhwb3J0czogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb01lc3NhZ2VNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvTWVzc2FnZU1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IElnb01lc3NhZ2VNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW11cclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './message.enum';
|
|
2
|
-
export * from './message.interface';
|
|
3
|
-
export * from './message.service';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './message.enum';
|
|
2
|
+
export * from './message.interface';
|
|
3
|
+
export * from './message.service';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvbWVzc2FnZS9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21lc3NhZ2UuZW51bSc7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2UuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZS5zZXJ2aWNlJztcbmV4cG9ydCB7IEFjdGl2ZVRvYXN0IH0gZnJvbSAnbmd4LXRvYXN0cic7XG4iXX0=
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export var MessageType;
|
|
2
|
-
(function (MessageType) {
|
|
3
|
-
MessageType["ERROR"] = "error";
|
|
4
|
-
MessageType["ALERT"] = "warning";
|
|
5
|
-
MessageType["WARNING"] = "warning";
|
|
6
|
-
MessageType["INFO"] = "info";
|
|
7
|
-
MessageType["SUCCESS"] = "success";
|
|
8
|
-
MessageType["SHOW"] = "show";
|
|
9
|
-
})(MessageType || (MessageType = {}));
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export var MessageType;
|
|
2
|
+
(function (MessageType) {
|
|
3
|
+
MessageType["ERROR"] = "error";
|
|
4
|
+
MessageType["ALERT"] = "warning";
|
|
5
|
+
MessageType["WARNING"] = "warning";
|
|
6
|
+
MessageType["INFO"] = "info";
|
|
7
|
+
MessageType["SUCCESS"] = "success";
|
|
8
|
+
MessageType["SHOW"] = "show";
|
|
9
|
+
})(MessageType || (MessageType = {}));
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL21lc3NhZ2Uvc2hhcmVkL21lc3NhZ2UuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxXQU9YO0FBUEQsV0FBWSxXQUFXO0lBQ3JCLDhCQUFlLENBQUE7SUFDZixnQ0FBaUIsQ0FBQTtJQUNqQixrQ0FBbUIsQ0FBQTtJQUNuQiw0QkFBYSxDQUFBO0lBQ2Isa0NBQW1CLENBQUE7SUFDbkIsNEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFQVyxXQUFXLEtBQVgsV0FBVyxRQU90QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIE1lc3NhZ2VUeXBlIHtcbiAgRVJST1IgPSAnZXJyb3InLFxuICBBTEVSVCA9ICd3YXJuaW5nJywgLy8gdG9kbyBkZWxldGUgKHRyYW5zaXRpb24gdG8gbmd4LXRvYXN0cilcbiAgV0FSTklORyA9ICd3YXJuaW5nJyxcbiAgSU5GTyA9ICdpbmZvJyxcbiAgU1VDQ0VTUyA9ICdzdWNjZXNzJyxcbiAgU0hPVyA9ICdzaG93J1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvbWVzc2FnZS9zaGFyZWQvbWVzc2FnZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi9tZXNzYWdlLmVudW0nO1xyXG5pbXBvcnQgeyBJbmRpdmlkdWFsQ29uZmlnIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2Uge1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgaHRtbD86IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgdHlwZT86IE1lc3NhZ2VUeXBlO1xyXG4gIG9wdGlvbnM/OiBNZXNzYWdlT3B0aW9ucztcclxuICBmb3JtYXQ/OiAndGV4dCcgfCAnaHRtbCc7XHJcbiAgdGV4dEludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0O1xyXG4gIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3Q7XHJcbiAgc2hvd0ljb24/
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvbWVzc2FnZS9zaGFyZWQvbWVzc2FnZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi9tZXNzYWdlLmVudW0nO1xyXG5pbXBvcnQgeyBJbmRpdmlkdWFsQ29uZmlnIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2Uge1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgaHRtbD86IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgdHlwZT86IE1lc3NhZ2VUeXBlO1xyXG4gIG9wdGlvbnM/OiBNZXNzYWdlT3B0aW9ucztcclxuICBmb3JtYXQ/OiAndGV4dCcgfCAnaHRtbCc7XHJcbiAgdGV4dEludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0O1xyXG4gIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3Q7XHJcbiAgc2hvd0ljb24/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VPcHRpb25zIGV4dGVuZHMgSW5kaXZpZHVhbENvbmZpZyB7XHJcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XHJcbiAgZnJvbT86IERhdGUgfCBzdHJpbmc7XHJcbiAgdG8/OiBEYXRlIHwgc3RyaW5nO1xyXG4gIGlkPzogbnVtYmVyO1xyXG4gIHNob3dPbkVhY2hMYXllclZpc2liaWxpdHk/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import { Injectable, Inject, Injector } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, forkJoin } from 'rxjs';
|
|
3
|
+
import { ConfigService } from '../../config/config.service';
|
|
4
|
+
import { ToastrService } from 'ngx-toastr';
|
|
5
|
+
import { MessageType } from './message.enum';
|
|
6
|
+
import { LanguageService } from '../../language/shared/language.service';
|
|
7
|
+
import { debounceTime, first } from 'rxjs/operators';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../../config/config.service";
|
|
10
|
+
import * as i2 from "../../language/shared/language.service";
|
|
11
|
+
export class MessageService {
|
|
12
|
+
injector;
|
|
13
|
+
configService;
|
|
14
|
+
languageService;
|
|
15
|
+
messages$ = new BehaviorSubject([]);
|
|
16
|
+
options;
|
|
17
|
+
activeMessageTranslations = [];
|
|
18
|
+
constructor(injector, configService, languageService) {
|
|
19
|
+
this.injector = injector;
|
|
20
|
+
this.configService = configService;
|
|
21
|
+
this.languageService = languageService;
|
|
22
|
+
this.options = this.configService.getConfig('message');
|
|
23
|
+
this.languageService.language$.pipe(debounceTime(500)).subscribe((r) => {
|
|
24
|
+
if (this.toastr.toasts.length === 0) {
|
|
25
|
+
this.activeMessageTranslations = [];
|
|
26
|
+
}
|
|
27
|
+
this.toastr.toasts.map((toast) => {
|
|
28
|
+
const activeMessageTranslation = this.activeMessageTranslations.find((amt) => amt.id === toast.toastId);
|
|
29
|
+
if (activeMessageTranslation) {
|
|
30
|
+
const translatedTextInterpolateParams = {
|
|
31
|
+
...activeMessageTranslation.textInterpolateParams
|
|
32
|
+
};
|
|
33
|
+
const translatedTitleInterpolateParams = {
|
|
34
|
+
...activeMessageTranslation.titleInterpolateParams
|
|
35
|
+
};
|
|
36
|
+
if (activeMessageTranslation.textInterpolateParams) {
|
|
37
|
+
Object.keys(activeMessageTranslation.textInterpolateParams).map((k) => {
|
|
38
|
+
if (k) {
|
|
39
|
+
translatedTextInterpolateParams[k] =
|
|
40
|
+
this.languageService.translate.instant(activeMessageTranslation.textInterpolateParams[k]);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
if (activeMessageTranslation.titleInterpolateParams) {
|
|
45
|
+
Object.keys(activeMessageTranslation.titleInterpolateParams).map((k) => {
|
|
46
|
+
if (k) {
|
|
47
|
+
translatedTitleInterpolateParams[k] =
|
|
48
|
+
this.languageService.translate.instant(activeMessageTranslation.titleInterpolateParams[k]);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
forkJoin([
|
|
53
|
+
this.languageService.translate.get(activeMessageTranslation.textKey, translatedTextInterpolateParams),
|
|
54
|
+
this.languageService.translate.get(activeMessageTranslation.titleKey, translatedTitleInterpolateParams)
|
|
55
|
+
])
|
|
56
|
+
.pipe(first())
|
|
57
|
+
.subscribe((res) => {
|
|
58
|
+
toast.toastRef.componentInstance.message = res[0];
|
|
59
|
+
toast.toastRef.componentInstance.title = res[1];
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
get toastr() {
|
|
66
|
+
return this.injector.get(ToastrService);
|
|
67
|
+
}
|
|
68
|
+
showError(httpError) {
|
|
69
|
+
httpError.error.caught = true;
|
|
70
|
+
return this.error(httpError.error.message, httpError.error.title);
|
|
71
|
+
}
|
|
72
|
+
message(message) {
|
|
73
|
+
const messageType = message.type;
|
|
74
|
+
this.toastr.toastrConfig.iconClasses[messageType] = `toast-${messageType}`;
|
|
75
|
+
this.messages$.next(this.messages$.value.concat([message]));
|
|
76
|
+
message.options = message.options || {};
|
|
77
|
+
const currentDate = new Date();
|
|
78
|
+
message.options.from = message.options.from
|
|
79
|
+
? message.options.from
|
|
80
|
+
: new Date('1 jan 1900');
|
|
81
|
+
message.options.to = message.options.to
|
|
82
|
+
? message.options.to
|
|
83
|
+
: new Date('1 jan 3000');
|
|
84
|
+
if (typeof message.options.from === 'string') {
|
|
85
|
+
message.options.from = new Date(Date.parse(message.options.from.replace(/-/g, ' ')));
|
|
86
|
+
}
|
|
87
|
+
if (typeof message.options.to === 'string') {
|
|
88
|
+
message.options.to = new Date(Date.parse(message.options.to.replace(/-/g, ' ')));
|
|
89
|
+
}
|
|
90
|
+
if (currentDate > message.options.from &&
|
|
91
|
+
currentDate < message.options.to) {
|
|
92
|
+
if (message.showIcon === false) {
|
|
93
|
+
this.toastr.toastrConfig.iconClasses[messageType] = `toast-${messageType} toast-no-icon`;
|
|
94
|
+
}
|
|
95
|
+
message = this.handleTemplate(message);
|
|
96
|
+
if (message.text) {
|
|
97
|
+
let messageShown;
|
|
98
|
+
switch (message.type) {
|
|
99
|
+
case MessageType.SUCCESS:
|
|
100
|
+
messageShown = this.success(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
101
|
+
break;
|
|
102
|
+
case MessageType.ERROR:
|
|
103
|
+
messageShown = this.error(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
104
|
+
break;
|
|
105
|
+
case MessageType.INFO:
|
|
106
|
+
messageShown = this.info(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
107
|
+
break;
|
|
108
|
+
case MessageType.SHOW:
|
|
109
|
+
messageShown = this.show(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
110
|
+
break;
|
|
111
|
+
case MessageType.ALERT:
|
|
112
|
+
case MessageType.WARNING:
|
|
113
|
+
messageShown = this.alert(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
114
|
+
break;
|
|
115
|
+
default:
|
|
116
|
+
messageShown = this.info(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
message.options.id = messageShown.toastId;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
success(text, title = 'igo.core.message.success', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
124
|
+
return this.handleNgxToastr('success', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
125
|
+
}
|
|
126
|
+
error(text, title = 'igo.core.message.error', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
127
|
+
return this.handleNgxToastr('error', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
128
|
+
}
|
|
129
|
+
info(text, title = 'igo.core.message.info', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
130
|
+
return this.handleNgxToastr('info', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
131
|
+
}
|
|
132
|
+
alert(text, title = 'igo.core.message.alert', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
133
|
+
return this.handleNgxToastr('alert', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
134
|
+
}
|
|
135
|
+
show(text, title = 'igo.core.message.info', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
136
|
+
return this.handleNgxToastr('show', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
137
|
+
}
|
|
138
|
+
handleNgxToastr(type, text, title, options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
139
|
+
const translatedTextInterpolateParams = { ...textInterpolateParams };
|
|
140
|
+
const translatedTitlenterpolateParams = { ...titleInterpolateParams };
|
|
141
|
+
if (textInterpolateParams) {
|
|
142
|
+
Object.keys(textInterpolateParams).map((k) => {
|
|
143
|
+
if (textInterpolateParams[k]) {
|
|
144
|
+
translatedTextInterpolateParams[k] =
|
|
145
|
+
this.languageService.translate.instant(textInterpolateParams[k]);
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
if (titleInterpolateParams) {
|
|
150
|
+
Object.keys(titleInterpolateParams).map((k) => {
|
|
151
|
+
if (k) {
|
|
152
|
+
translatedTitlenterpolateParams[k] =
|
|
153
|
+
this.languageService.translate.instant(titleInterpolateParams[k]);
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
const message = this.languageService.translate.instant(text, translatedTextInterpolateParams);
|
|
158
|
+
const translatedTitle = this.languageService.translate.instant(title, translatedTitlenterpolateParams);
|
|
159
|
+
let activeToast;
|
|
160
|
+
switch (type) {
|
|
161
|
+
case 'success':
|
|
162
|
+
activeToast = this.toastr.success(message, translatedTitle, options);
|
|
163
|
+
break;
|
|
164
|
+
case 'error':
|
|
165
|
+
activeToast = this.toastr.error(message, translatedTitle, options);
|
|
166
|
+
break;
|
|
167
|
+
case 'show':
|
|
168
|
+
case 'info':
|
|
169
|
+
activeToast = this.toastr.info(message, translatedTitle, options);
|
|
170
|
+
break;
|
|
171
|
+
case 'alert':
|
|
172
|
+
activeToast = this.toastr.warning(message, translatedTitle, options);
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
175
|
+
this.activeMessageTranslations.push({
|
|
176
|
+
id: activeToast.toastId,
|
|
177
|
+
titleKey: title,
|
|
178
|
+
textKey: text,
|
|
179
|
+
textInterpolateParams,
|
|
180
|
+
titleInterpolateParams
|
|
181
|
+
});
|
|
182
|
+
return activeToast;
|
|
183
|
+
}
|
|
184
|
+
remove(id) {
|
|
185
|
+
this.toastr.remove(id);
|
|
186
|
+
}
|
|
187
|
+
removeAllAreNotError() {
|
|
188
|
+
for (const mess of this.messages$.value) {
|
|
189
|
+
if (mess.type !== MessageType.ERROR) {
|
|
190
|
+
this.remove(mess.options.id);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
handleTemplate(message) {
|
|
195
|
+
if (!this.options?.template || message.html) {
|
|
196
|
+
return message;
|
|
197
|
+
}
|
|
198
|
+
let html = this.options?.template;
|
|
199
|
+
html = html.replace('${text}', message.text);
|
|
200
|
+
html = html.replace('${title}', message.title);
|
|
201
|
+
message.html = undefined;
|
|
202
|
+
message.text = html;
|
|
203
|
+
message.title = undefined;
|
|
204
|
+
return message;
|
|
205
|
+
}
|
|
206
|
+
static ɵfac = function MessageService_Factory(t) { return new (t || MessageService)(i0.ɵɵinject(Injector), i0.ɵɵinject(i1.ConfigService), i0.ɵɵinject(i2.LanguageService)); };
|
|
207
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MessageService, factory: MessageService.ɵfac, providedIn: 'root' });
|
|
208
|
+
}
|
|
209
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MessageService, [{
|
|
210
|
+
type: Injectable,
|
|
211
|
+
args: [{
|
|
212
|
+
providedIn: 'root'
|
|
213
|
+
}]
|
|
214
|
+
}], function () { return [{ type: i0.Injector, decorators: [{
|
|
215
|
+
type: Inject,
|
|
216
|
+
args: [Injector]
|
|
217
|
+
}] }, { type: i1.ConfigService }, { type: i2.LanguageService }]; }, null); })();
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL21lc3NhZ2Uvc2hhcmVkL21lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRzVELE9BQU8sRUFBaUMsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVlyRCxNQUFNLE9BQU8sY0FBYztJQU1HO0lBQ2xCO0lBQ0E7SUFQSCxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQVksRUFBRSxDQUFDLENBQUM7SUFDOUMsT0FBTyxDQUFrQjtJQUN6Qix5QkFBeUIsR0FBK0IsRUFBRSxDQUFDO0lBRW5FLFlBQzRCLFFBQWtCLEVBQ3BDLGFBQTRCLEVBQzVCLGVBQWdDO1FBRmQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFFeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENB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QkFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzlCO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQWdCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQzNDLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBRUQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUM7UUFDbEMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9DLE9BQU8sQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQzFCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7d0VBbFdVLGNBQWMsY0FNZixRQUFRO2dFQU5QLGNBQWMsV0FBZCxjQUFjLG1CQUZiLE1BQU07O3VGQUVQLGNBQWM7Y0FIMUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COztzQkFPSSxNQUFNO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29uZmlnL2NvbmZpZy5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IE1lc3NhZ2UsIE1lc3NhZ2VPcHRpb25zIH0gZnJvbSAnLi9tZXNzYWdlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEFjdGl2ZVRvYXN0LCBJbmRpdmlkdWFsQ29uZmlnLCBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcbmltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi9tZXNzYWdlLmVudW0nO1xyXG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9sYW5ndWFnZS9zaGFyZWQvbGFuZ3VhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbnRlcmZhY2UgQWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9uIHtcclxuICBpZDogbnVtYmVyO1xyXG4gIHRpdGxlS2V5OiBzdHJpbmc7XHJcbiAgdGV4dEtleTogc3RyaW5nO1xyXG4gIHRleHRJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdDtcclxuICB0aXRsZUludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0O1xyXG59XHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VTZXJ2aWNlIHtcclxuICBwdWJsaWMgbWVzc2FnZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZXNzYWdlW10+KFtdKTtcclxuICBwcml2YXRlIG9wdGlvbnM/OiBNZXNzYWdlT3B0aW9ucztcclxuICBwcml2YXRlIGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbnM6IEFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChJbmplY3RvcikgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdtZXNzYWdlJyk7XHJcbiAgICB0aGlzLmxhbmd1YWdlU2VydmljZS5sYW5ndWFnZSQucGlwZShkZWJvdW5jZVRpbWUoNTAwKSkuc3Vic2NyaWJlKChyKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnRvYXN0ci50b2FzdHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVNZXNzYWdlVHJhbnNsYXRpb25zID0gW107XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50b2FzdHIudG9hc3RzLm1hcCgodG9hc3QpID0+IHtcclxuICAgICAgICBjb25zdCBhY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24gPSB0aGlzLmFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbnMuZmluZChcclxuICAgICAgICAgIChhbXQpID0+IGFtdC5pZCA9PT0gdG9hc3QudG9hc3RJZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYgKGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbikge1xyXG4gICAgICAgICAgY29uc3QgdHJhbnNsYXRlZFRleHRJbnRlcnBvbGF0ZVBhcmFtcyA9IHtcclxuICAgICAgICAgICAgLi4uYWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9uLnRleHRJbnRlcnBvbGF0ZVBhcmFtc1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZWRUaXRsZUludGVycG9sYXRlUGFyYW1zID0ge1xyXG4gICAgICAgICAgICAuLi5hY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24udGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xyXG4gICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICBpZiAoYWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9uLnRleHRJbnRlcnBvbGF0ZVBhcmFtcykge1xyXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhhY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24udGV4dEludGVycG9sYXRlUGFyYW1zKS5tYXAoXHJcbiAgICAgICAgICAgICAgKGspID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChrKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZWRUZXh0SW50ZXJwb2xhdGVQYXJhbXNba10gPVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9uLnRleHRJbnRlcnBvbGF0ZVBhcmFtc1trXVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50aXRsZUludGVycG9sYXRlUGFyYW1zKSB7XHJcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50aXRsZUludGVycG9sYXRlUGFyYW1zKS5tYXAoXHJcbiAgICAgICAgICAgICAgKGspID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChrKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZWRUaXRsZUludGVycG9sYXRlUGFyYW1zW2tdID1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50aXRsZUludGVycG9sYXRlUGFyYW1zW2tdXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgZm9ya0pvaW4oW1xyXG4gICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuZ2V0KFxyXG4gICAgICAgICAgICAgIGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50ZXh0S2V5LFxyXG4gICAgICAgICAgICAgIHRyYW5zbGF0ZWRUZXh0SW50ZXJwb2xhdGVQYXJhbXNcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmdldChcclxuICAgICAgICAgICAgICBhY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24udGl0bGVLZXksXHJcbiAgICAgICAgICAgICAgdHJhbnNsYXRlZFRpdGxlSW50ZXJwb2xhdGVQYXJhbXNcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgXSlcclxuICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzOiBbc3RyaW5nLCBzdHJpbmddKSA9PiB7XHJcbiAgICAgICAgICAgICAgdG9hc3QudG9hc3RSZWYuY29tcG9uZW50SW5zdGFuY2UubWVzc2FnZSA9IHJlc1swXTtcclxuICAgICAgICAgICAgICB0b2FzdC50b2FzdFJlZi5jb21wb25lbnRJbnN0YW5jZS50aXRsZSA9IHJlc1sxXTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgdG9hc3RyKCk6IFRvYXN0clNlcnZpY2Uge1xyXG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KFRvYXN0clNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0Vycm9yKGh0dHBFcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgIGh0dHBFcnJvci5lcnJvci5jYXVnaHQgPSB0cnVlO1xyXG4gICAgcmV0dXJuIHRoaXMuZXJyb3IoaHR0cEVycm9yLmVycm9yLm1lc3NhZ2UsIGh0dHBFcnJvci5lcnJvci50aXRsZSk7XHJcbiAgfVxyXG5cclxuICBtZXNzYWdlKG1lc3NhZ2U6IE1lc3NhZ2UpIHtcclxuICAgIGNvbnN0IG1lc3NhZ2VUeXBlID0gbWVzc2FnZS50eXBlO1xyXG4gICAgdGhpcy50b2FzdHIudG9hc3RyQ29uZmlnLmljb25DbGFzc2VzW21lc3NhZ2VUeXBlXSA9IGB0b2FzdC0ke21lc3NhZ2VUeXBlfWA7XHJcblxyXG4gICAgdGhpcy5tZXNzYWdlcyQubmV4dCh0aGlzLm1lc3NhZ2VzJC52YWx1ZS5jb25jYXQoW21lc3NhZ2VdKSk7XHJcblxyXG4gICAgbWVzc2FnZS5vcHRpb25zID0gbWVzc2FnZS5vcHRpb25zIHx8ICh7fSBhcyBNZXNzYWdlT3B0aW9ucyk7XHJcbiAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgbWVzc2FnZS5vcHRpb25zLmZyb20gPSBtZXNzYWdlLm9wdGlvbnMuZnJvbVxyXG4gICAgICA/IG1lc3NhZ2Uub3B0aW9ucy5mcm9tXHJcbiAgICAgIDogbmV3IERhdGUoJzEgamFuIDE5MDAnKTtcclxuICAgIG1lc3NhZ2Uub3B0aW9ucy50byA9IG1lc3NhZ2Uub3B0aW9ucy50b1xyXG4gICAgICA/IG1lc3NhZ2Uub3B0aW9ucy50b1xyXG4gICAgICA6IG5ldyBEYXRlKCcxIGphbiAzMDAwJyk7XHJcbiAgICBpZiAodHlwZW9mIG1lc3NhZ2Uub3B0aW9ucy5mcm9tID09PSAnc3RyaW5nJykge1xyXG4gICAgICBtZXNzYWdlLm9wdGlvbnMuZnJvbSA9IG5ldyBEYXRlKFxyXG4gICAgICAgIERhdGUucGFyc2UobWVzc2FnZS5vcHRpb25zLmZyb20ucmVwbGFjZSgvLS9nLCAnICcpKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiBtZXNzYWdlLm9wdGlvbnMudG8gPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIG1lc3NhZ2Uub3B0aW9ucy50byA9IG5ldyBEYXRlKFxyXG4gICAgICAgIERhdGUucGFyc2UobWVzc2FnZS5vcHRpb25zLnRvLnJlcGxhY2UoLy0vZywgJyAnKSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgY3VycmVudERhdGUgPiBtZXNzYWdlLm9wdGlvbnMuZnJvbSAmJlxyXG4gICAgICBjdXJyZW50RGF0ZSA8IG1lc3NhZ2Uub3B0aW9ucy50b1xyXG4gICAgKSB7XHJcbiAgICAgIGlmIChtZXNzYWdlLnNob3dJY29uID09PSBmYWxzZSkge1xyXG4gICAgICAgIHRoaXMudG9hc3RyLnRvYXN0ckNvbmZpZy5pY29uQ2xhc3Nlc1tcclxuICAgICAgICAgIG1lc3NhZ2VUeXBlXHJcbiAgICAgICAgXSA9IGB0b2FzdC0ke21lc3NhZ2VUeXBlfSB0b2FzdC1uby1pY29uYDtcclxuICAgICAgfVxyXG4gICAgICBtZXNzYWdlID0gdGhpcy5oYW5kbGVUZW1wbGF0ZShtZXNzYWdlKTtcclxuXHJcbiAgICAgIGlmIChtZXNzYWdlLnRleHQpIHtcclxuICAgICAgICBsZXQgbWVzc2FnZVNob3duOiBBY3RpdmVUb2FzdDxhbnk+O1xyXG4gICAgICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XHJcbiAgICAgICAgICBjYXNlIE1lc3NhZ2VUeXBlLlNVQ0NFU1M6XHJcbiAgICAgICAgICAgIG1lc3NhZ2VTaG93biA9IHRoaXMuc3VjY2VzcyhcclxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHQsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZSxcclxuICAgICAgICAgICAgICBtZXNzYWdlLm9wdGlvbnMsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0SW50ZXJwb2xhdGVQYXJhbXMsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZUludGVycG9sYXRlUGFyYW1zXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBNZXNzYWdlVHlwZS5FUlJPUjpcclxuICAgICAgICAgICAgbWVzc2FnZVNob3duID0gdGhpcy5lcnJvcihcclxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHQsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZSxcclxuICAgICAgICAgICAgICBtZXNzYWdlLm9wdGlvbnMsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0SW50ZXJwb2xhdGVQYXJhbXMsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZUludGVycG9sYXRlUGFyYW1zXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBNZXNzYWdlVHlwZS5JTkZPOlxyXG4gICAgICAgICAgICBtZXNzYWdlU2hvd24gPSB0aGlzLmluZm8oXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0LFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGUsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5vcHRpb25zLFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dEludGVycG9sYXRlUGFyYW1zLFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgTWVzc2FnZVR5cGUuU0hPVzpcclxuICAgICAgICAgICAgbWVzc2FnZVNob3duID0gdGhpcy5zaG93KFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dCxcclxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlLFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2Uub3B0aW9ucyxcclxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcclxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlSW50ZXJwb2xhdGVQYXJhbXNcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIE1lc3NhZ2VUeXBlLkFMRVJUOlxyXG4gICAgICAgICAgY2FzZSBNZXNzYWdlVHlwZS5XQVJOSU5HOlxyXG4gICAgICAgICAgICBtZXNzYWdlU2hvd24gPSB0aGlzLmFsZXJ0KFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dCxcclxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlLFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2Uub3B0aW9ucyxcclxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcclxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlSW50ZXJwb2xhdGVQYXJhbXNcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBtZXNzYWdlU2hvd24gPSB0aGlzLmluZm8oXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0LFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGUsXHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5vcHRpb25zLFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dEludGVycG9sYXRlUGFyYW1zLFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgbWVzc2FnZS5vcHRpb25zLmlkID0gbWVzc2FnZVNob3duLnRvYXN0SWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN1Y2Nlc3MoXHJcbiAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICB0aXRsZTogc3RyaW5nID0gJ2lnby5jb3JlLm1lc3NhZ2Uuc3VjY2VzcycsXHJcbiAgICBvcHRpb25zOiBQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+ID0ge30sXHJcbiAgICB0ZXh0SW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3QsXHJcbiAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0XHJcbiAgKTogQWN0aXZlVG9hc3Q8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVOZ3hUb2FzdHIoXHJcbiAgICAgICdzdWNjZXNzJyxcclxuICAgICAgdGV4dCxcclxuICAgICAgdGl0bGUsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcclxuICAgICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGVycm9yKFxyXG4gICAgdGV4dDogc3RyaW5nLFxyXG4gICAgdGl0bGU6IHN0cmluZyA9ICdpZ28uY29yZS5tZXNzYWdlLmVycm9yJyxcclxuICAgIG9wdGlvbnM6IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4gPSB7fSxcclxuICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdCxcclxuICAgIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3RcclxuICApOiBBY3RpdmVUb2FzdDxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmhhbmRsZU5neFRvYXN0cihcclxuICAgICAgJ2Vycm9yJyxcclxuICAgICAgdGV4dCxcclxuICAgICAgdGl0bGUsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcclxuICAgICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGluZm8oXHJcbiAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICB0aXRsZTogc3RyaW5nID0gJ2lnby5jb3JlLm1lc3NhZ2UuaW5mbycsXHJcbiAgICBvcHRpb25zOiBQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+ID0ge30sXHJcbiAgICB0ZXh0SW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3QsXHJcbiAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0XHJcbiAgKTogQWN0aXZlVG9hc3Q8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVOZ3hUb2FzdHIoXHJcbiAgICAgICdpbmZvJyxcclxuICAgICAgdGV4dCxcclxuICAgICAgdGl0bGUsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcclxuICAgICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGFsZXJ0KFxyXG4gICAgdGV4dDogc3RyaW5nLFxyXG4gICAgdGl0bGU6IHN0cmluZyA9ICdpZ28uY29yZS5tZXNzYWdlLmFsZXJ0JyxcclxuICAgIG9wdGlvbnM6IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4gPSB7fSxcclxuICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdCxcclxuICAgIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3RcclxuICApOiBBY3RpdmVUb2FzdDxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmhhbmRsZU5neFRvYXN0cihcclxuICAgICAgJ2FsZXJ0JyxcclxuICAgICAgdGV4dCxcclxuICAgICAgdGl0bGUsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcclxuICAgICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNob3coXHJcbiAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICB0aXRsZTogc3RyaW5nID0gJ2lnby5jb3JlLm1lc3NhZ2UuaW5mbycsXHJcbiAgICBvcHRpb25zOiBQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+ID0ge30sXHJcbiAgICB0ZXh0SW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3QsXHJcbiAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0XHJcbiAgKTogQWN0aXZlVG9hc3Q8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVOZ3hUb2FzdHIoXHJcbiAgICAgICdzaG93JyxcclxuICAgICAgdGV4dCxcclxuICAgICAgdGl0bGUsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcclxuICAgICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlTmd4VG9hc3RyKFxyXG4gICAgdHlwZTogJ2FsZXJ0JyB8ICdpbmZvJyB8ICdlcnJvcicgfCAnc3VjY2VzcycgfCAnc2hvdycsXHJcbiAgICB0ZXh0OiBzdHJpbmcsXHJcbiAgICB0aXRsZTogc3RyaW5nLFxyXG4gICAgb3B0aW9uczogUGFydGlhbDxJbmRpdmlkdWFsQ29uZmlnPiA9IHt9LFxyXG4gICAgdGV4dEludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0LFxyXG4gICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdFxyXG4gICk6IEFjdGl2ZVRvYXN0PGFueT4ge1xyXG4gICAgY29uc3QgdHJhbnNsYXRlZFRleHRJbnRlcnBvbGF0ZVBhcmFtcyA9IHsgLi4udGV4dEludGVycG9sYXRlUGFyYW1zIH07XHJcbiAgICBjb25zdCB0cmFuc2xhdGVkVGl0bGVudGVycG9sYXRlUGFyYW1zID0geyAuLi50aXRsZUludGVycG9sYXRlUGFyYW1zIH07XHJcblxyXG4gICAgaWYgKHRleHRJbnRlcnBvbGF0ZVBhcmFtcykge1xyXG4gICAgICBPYmplY3Qua2V5cyh0ZXh0SW50ZXJwb2xhdGVQYXJhbXMpLm1hcCgoaykgPT4ge1xyXG4gICAgICAgIGlmICh0ZXh0SW50ZXJwb2xhdGVQYXJhbXNba10pIHtcclxuICAgICAgICAgIHRyYW5zbGF0ZWRUZXh0SW50ZXJwb2xhdGVQYXJhbXNba10gPVxyXG4gICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCh0ZXh0SW50ZXJwb2xhdGVQYXJhbXNba10pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGl0bGVJbnRlcnBvbGF0ZVBhcmFtcykge1xyXG4gICAgICBPYmplY3Qua2V5cyh0aXRsZUludGVycG9sYXRlUGFyYW1zKS5tYXAoKGspID0+IHtcclxuICAgICAgICBpZiAoaykge1xyXG4gICAgICAgICAgdHJhbnNsYXRlZFRpdGxlbnRlcnBvbGF0ZVBhcmFtc1trXSA9XHJcbiAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KHRpdGxlSW50ZXJwb2xhdGVQYXJhbXNba10pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbWVzc2FnZSA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICB0ZXh0LFxyXG4gICAgICB0cmFuc2xhdGVkVGV4dEludGVycG9sYXRlUGFyYW1zXHJcbiAgICApO1xyXG4gICAgY29uc3QgdHJhbnNsYXRlZFRpdGxlID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgIHRpdGxlLFxyXG4gICAgICB0cmFuc2xhdGVkVGl0bGVudGVycG9sYXRlUGFyYW1zXHJcbiAgICApO1xyXG5cclxuICAgIGxldCBhY3RpdmVUb2FzdDtcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdzdWNjZXNzJzpcclxuICAgICAgICBhY3RpdmVUb2FzdCA9IHRoaXMudG9hc3RyLnN1Y2Nlc3MobWVzc2FnZSwgdHJhbnNsYXRlZFRpdGxlLCBvcHRpb25zKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnZXJyb3InOlxyXG4gICAgICAgIGFjdGl2ZVRvYXN0ID0gdGhpcy50b2FzdHIuZXJyb3IobWVzc2FnZSwgdHJhbnNsYXRlZFRpdGxlLCBvcHRpb25zKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnc2hvdyc6XHJcbiAgICAgIGNhc2UgJ2luZm8nOlxyXG4gICAgICAgIGFjdGl2ZVRvYXN0ID0gdGhpcy50b2FzdHIuaW5mbyhtZXNzYWdlLCB0cmFuc2xhdGVkVGl0bGUsIG9wdGlvbnMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdhbGVydCc6XHJcbiAgICAgICAgYWN0aXZlVG9hc3QgPSB0aGlzLnRvYXN0ci53YXJuaW5nKG1lc3NhZ2UsIHRyYW5zbGF0ZWRUaXRsZSwgb3B0aW9ucyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICB0aGlzLmFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbnMucHVzaCh7XHJcbiAgICAgIGlkOiBhY3RpdmVUb2FzdC50b2FzdElkLFxyXG4gICAgICB0aXRsZUtleTogdGl0bGUsXHJcbiAgICAgIHRleHRLZXk6IHRleHQsXHJcbiAgICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcclxuICAgICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtc1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gYWN0aXZlVG9hc3Q7XHJcbiAgfVxyXG5cclxuICByZW1vdmUoaWQ/OiBudW1iZXIpIHtcclxuICAgIHRoaXMudG9hc3RyLnJlbW92ZShpZCk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVBbGxBcmVOb3RFcnJvcigpIHtcclxuICAgIGZvciAoY29uc3QgbWVzcyBvZiB0aGlzLm1lc3NhZ2VzJC52YWx1ZSkge1xyXG4gICAgICBpZiAobWVzcy50eXBlICE9PSBNZXNzYWdlVHlwZS5FUlJPUikge1xyXG4gICAgICAgIHRoaXMucmVtb3ZlKG1lc3Mub3B0aW9ucy5pZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlVGVtcGxhdGUobWVzc2FnZTogTWVzc2FnZSk6IE1lc3NhZ2Uge1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnM/LnRlbXBsYXRlIHx8IG1lc3NhZ2UuaHRtbCkge1xyXG4gICAgICByZXR1cm4gbWVzc2FnZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgaHRtbCA9IHRoaXMub3B0aW9ucz8udGVtcGxhdGU7XHJcbiAgICBodG1sID0gaHRtbC5yZXBsYWNlKCcke3RleHR9JywgbWVzc2FnZS50ZXh0KTtcclxuICAgIGh0bWwgPSBodG1sLnJlcGxhY2UoJyR7dGl0bGV9JywgbWVzc2FnZS50aXRsZSk7XHJcblxyXG4gICAgbWVzc2FnZS5odG1sID0gdW5kZWZpbmVkO1xyXG4gICAgbWVzc2FnZS50ZXh0ID0gaHRtbDtcclxuICAgIG1lc3NhZ2UudGl0bGUgPSB1bmRlZmluZWQ7XHJcbiAgICByZXR1cm4gbWVzc2FnZTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './network.service';
|
|
2
|
-
export * from './network.interfaces';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './network.service';
|
|
2
|
+
export * from './network.interfaces';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvbmV0d29yay9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25ldHdvcmsuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL25ldHdvcmsuaW50ZXJmYWNlcyc7XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL25ldHdvcmsvbmV0d29yay5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENvbm5lY3Rpb25TdGF0ZSB7XHJcbiAgY29ubmVjdGlvbjogYm9vbGVhbjtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Injectable, EventEmitter, Injector } from '@angular/core';
|
|
2
|
+
import { fromEvent } from 'rxjs';
|
|
3
|
+
import { debounceTime, startWith } from 'rxjs/operators';
|
|
4
|
+
import { MessageService } from '../message/shared/message.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../message/shared/message.service";
|
|
7
|
+
export class NetworkService {
|
|
8
|
+
messageService;
|
|
9
|
+
injector;
|
|
10
|
+
stateChangeEventEmitter = new EventEmitter();
|
|
11
|
+
onlineSubscription;
|
|
12
|
+
offlineSubscription;
|
|
13
|
+
previousMessageId;
|
|
14
|
+
state = {
|
|
15
|
+
connection: window.navigator.onLine
|
|
16
|
+
};
|
|
17
|
+
constructor(messageService, injector) {
|
|
18
|
+
this.messageService = messageService;
|
|
19
|
+
this.injector = injector;
|
|
20
|
+
this.checkNetworkState();
|
|
21
|
+
}
|
|
22
|
+
checkNetworkState() {
|
|
23
|
+
this.onlineSubscription = fromEvent(window, 'online').subscribe(() => {
|
|
24
|
+
if (this.previousMessageId) {
|
|
25
|
+
this.messageService.remove(this.previousMessageId);
|
|
26
|
+
}
|
|
27
|
+
const messageObj = this.messageService.info('igo.core.network.online.message', 'igo.core.network.online.title');
|
|
28
|
+
this.previousMessageId = messageObj.toastId;
|
|
29
|
+
this.state.connection = true;
|
|
30
|
+
this.emitEvent();
|
|
31
|
+
});
|
|
32
|
+
this.offlineSubscription = fromEvent(window, 'offline').subscribe(() => {
|
|
33
|
+
if (this.previousMessageId) {
|
|
34
|
+
this.messageService.remove(this.previousMessageId);
|
|
35
|
+
}
|
|
36
|
+
const messageObj = this.messageService.info('igo.core.network.offline.message', 'igo.core.network.offline.title');
|
|
37
|
+
this.previousMessageId = messageObj.toastId;
|
|
38
|
+
this.state.connection = false;
|
|
39
|
+
this.emitEvent();
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
emitEvent() {
|
|
43
|
+
this.stateChangeEventEmitter.emit(this.state);
|
|
44
|
+
}
|
|
45
|
+
ngOnDestroy() {
|
|
46
|
+
try {
|
|
47
|
+
this.offlineSubscription.unsubscribe();
|
|
48
|
+
this.onlineSubscription.unsubscribe();
|
|
49
|
+
}
|
|
50
|
+
catch (e) { }
|
|
51
|
+
}
|
|
52
|
+
currentState(reportState = true) {
|
|
53
|
+
return reportState
|
|
54
|
+
? this.stateChangeEventEmitter.pipe(debounceTime(300), startWith(this.state))
|
|
55
|
+
: this.stateChangeEventEmitter.pipe(debounceTime(300));
|
|
56
|
+
}
|
|
57
|
+
static ɵfac = function NetworkService_Factory(t) { return new (t || NetworkService)(i0.ɵɵinject(i1.MessageService), i0.ɵɵinject(i0.Injector)); };
|
|
58
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: NetworkService, factory: NetworkService.ɵfac, providedIn: 'root' });
|
|
59
|
+
}
|
|
60
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NetworkService, [{
|
|
61
|
+
type: Injectable,
|
|
62
|
+
args: [{
|
|
63
|
+
providedIn: 'root'
|
|
64
|
+
}]
|
|
65
|
+
}], function () { return [{ type: i1.MessageService }, { type: i0.Injector }]; }, null); })();
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL25ldHdvcmsvbmV0d29yay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQTRCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBTW5FLE1BQU0sT0FBTyxjQUFjO0lBV2Y7SUFDQTtJQVhGLHVCQUF1QixHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO0lBQzlELGtCQUFrQixDQUFlO0lBQ2pDLG1CQUFtQixDQUFlO0lBQ2xDLGlCQUFpQixDQUFDO0lBRWxCLEtBQUssR0FBb0I7UUFDL0IsVUFBVSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTTtLQUNwQyxDQUFDO0lBRUYsWUFDVSxjQUE4QixFQUM5QixRQUFrQjtRQURsQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUUxQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbkUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2FBQ3BEO1lBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3pDLGlDQUFpQyxFQUNqQywrQkFBK0IsQ0FDaEMsQ0FBQztZQUNGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JFLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQzthQUNwRDtZQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUN6QyxrQ0FBa0MsRUFDbEMsZ0NBQWdDLENBQ2pDLENBQUM7WUFDRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztZQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDOUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUk7WUFDRixJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3ZDO1FBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRTtJQUNoQixDQUFDO0lBRUQsWUFBWSxDQUFDLFdBQVcsR0FBRyxJQUFJO1FBQzdCLE9BQU8sV0FBVztZQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FDL0IsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUN0QjtZQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7d0VBL0RVLGNBQWM7Z0VBQWQsY0FBYyxXQUFkLGNBQWMsbUJBRmIsTUFBTTs7dUZBRVAsY0FBYztjQUgxQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uL21lc3NhZ2Uvc2hhcmVkL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbm5lY3Rpb25TdGF0ZSB9IGZyb20gJy4vbmV0d29yay5pbnRlcmZhY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5ldHdvcmtTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHN0YXRlQ2hhbmdlRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxDb25uZWN0aW9uU3RhdGU+KCk7XHJcbiAgcHJpdmF0ZSBvbmxpbmVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIG9mZmxpbmVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIHByZXZpb3VzTWVzc2FnZUlkO1xyXG5cclxuICBwcml2YXRlIHN0YXRlOiBDb25uZWN0aW9uU3RhdGUgPSB7XHJcbiAgICBjb25uZWN0aW9uOiB3aW5kb3cubmF2aWdhdG9yLm9uTGluZVxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxyXG4gICkge1xyXG4gICAgdGhpcy5jaGVja05ldHdvcmtTdGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja05ldHdvcmtTdGF0ZSgpIHtcclxuICAgIHRoaXMub25saW5lU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHdpbmRvdywgJ29ubGluZScpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnByZXZpb3VzTWVzc2FnZUlkKSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5yZW1vdmUodGhpcy5wcmV2aW91c01lc3NhZ2VJZCk7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgbWVzc2FnZU9iaiA9IHRoaXMubWVzc2FnZVNlcnZpY2UuaW5mbyhcclxuICAgICAgICAnaWdvLmNvcmUubmV0d29yay5vbmxpbmUubWVzc2FnZScsXHJcbiAgICAgICAgJ2lnby5jb3JlLm5ldHdvcmsub25saW5lLnRpdGxlJ1xyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnByZXZpb3VzTWVzc2FnZUlkID0gbWVzc2FnZU9iai50b2FzdElkO1xyXG4gICAgICB0aGlzLnN0YXRlLmNvbm5lY3Rpb24gPSB0cnVlO1xyXG4gICAgICB0aGlzLmVtaXRFdmVudCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5vZmZsaW5lU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHdpbmRvdywgJ29mZmxpbmUnKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5wcmV2aW91c01lc3NhZ2VJZCkge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UucmVtb3ZlKHRoaXMucHJldmlvdXNNZXNzYWdlSWQpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG1lc3NhZ2VPYmogPSB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmluZm8oXHJcbiAgICAgICAgJ2lnby5jb3JlLm5ldHdvcmsub2ZmbGluZS5tZXNzYWdlJyxcclxuICAgICAgICAnaWdvLmNvcmUubmV0d29yay5vZmZsaW5lLnRpdGxlJ1xyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnByZXZpb3VzTWVzc2FnZUlkID0gbWVzc2FnZU9iai50b2FzdElkO1xyXG4gICAgICB0aGlzLnN0YXRlLmNvbm5lY3Rpb24gPSBmYWxzZTtcclxuICAgICAgdGhpcy5lbWl0RXZlbnQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbWl0RXZlbnQoKSB7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlRXZlbnRFbWl0dGVyLmVtaXQodGhpcy5zdGF0ZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMub2ZmbGluZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICB0aGlzLm9ubGluZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfSBjYXRjaCAoZSkge31cclxuICB9XHJcblxyXG4gIGN1cnJlbnRTdGF0ZShyZXBvcnRTdGF0ZSA9IHRydWUpOiBPYnNlcnZhYmxlPENvbm5lY3Rpb25TdGF0ZT4ge1xyXG4gICAgcmV0dXJuIHJlcG9ydFN0YXRlXHJcbiAgICAgID8gdGhpcy5zdGF0ZUNoYW5nZUV2ZW50RW1pdHRlci5waXBlKFxyXG4gICAgICAgICAgZGVib3VuY2VUaW1lKDMwMCksXHJcbiAgICAgICAgICBzdGFydFdpdGgodGhpcy5zdGF0ZSlcclxuICAgICAgICApXHJcbiAgICAgIDogdGhpcy5zdGF0ZUNoYW5nZUV2ZW50RW1pdHRlci5waXBlKGRlYm91bmNlVGltZSgzMDApKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './regex.service';
|
|
2
|
-
export * from './regex.interface';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './regex.service';
|
|
2
|
+
export * from './regex.interface';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvcmVnZXgvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZWdleC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVnZXguaW50ZXJmYWNlJztcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXguaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3JlZ2V4L3JlZ2V4LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBSZWdleE9wdGlvbnMge1xyXG4gIFtrZXk6IHN0cmluZ106IGFueTtcclxufVxyXG4iXX0=
|