@igo2/core 1.15.5 → 1.15.6
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/esm2020/igo2-core.mjs +4 -4
- package/esm2020/lib/activity/activity.interceptor.mjs +29 -29
- package/esm2020/lib/activity/activity.module.mjs +29 -29
- package/esm2020/lib/activity/activity.service.mjs +32 -32
- package/esm2020/lib/activity/index.mjs +2 -2
- package/esm2020/lib/analytics/index.mjs +1 -1
- package/esm2020/lib/analytics/shared/analytics.interface.mjs +1 -1
- package/esm2020/lib/analytics/shared/analytics.service.mjs +80 -80
- package/esm2020/lib/analytics/shared/index.mjs +2 -2
- package/esm2020/lib/compression/compressedData.interface.mjs +1 -1
- package/esm2020/lib/compression/compression.service.mjs +139 -139
- package/esm2020/lib/compression/index.mjs +2 -2
- package/esm2020/lib/config/config.interface.mjs +1 -1
- package/esm2020/lib/config/config.module.mjs +22 -22
- package/esm2020/lib/config/config.provider.mjs +20 -20
- package/esm2020/lib/config/config.service.mjs +51 -51
- package/esm2020/lib/config/index.mjs +3 -3
- package/esm2020/lib/config/version.mjs +5 -5
- package/esm2020/lib/core.module.mjs +91 -91
- package/esm2020/lib/gesture/gesture.module.mjs +29 -29
- package/esm2020/lib/gesture/gesture.provider.mjs +15 -15
- package/esm2020/lib/language/index.mjs +1 -1
- package/esm2020/lib/language/language.module.mjs +38 -38
- package/esm2020/lib/language/shared/index.mjs +4 -4
- package/esm2020/lib/language/shared/language.interface.mjs +1 -1
- package/esm2020/lib/language/shared/language.loader.mjs +25 -25
- package/esm2020/lib/language/shared/language.provider.mjs +21 -21
- package/esm2020/lib/language/shared/language.service.mjs +31 -31
- package/esm2020/lib/language/shared/missing-translation.guard.mjs +14 -14
- package/esm2020/lib/media/index.mjs +2 -2
- package/esm2020/lib/media/media.enum.mjs +11 -11
- package/esm2020/lib/media/media.service.mjs +75 -75
- package/esm2020/lib/message/index.mjs +1 -1
- package/esm2020/lib/message/message.module.mjs +55 -55
- package/esm2020/lib/message/shared/index.mjs +3 -3
- package/esm2020/lib/message/shared/message.enum.mjs +9 -9
- package/esm2020/lib/message/shared/message.interface.mjs +1 -1
- package/esm2020/lib/message/shared/message.service.mjs +200 -200
- package/esm2020/lib/network/index.mjs +2 -2
- package/esm2020/lib/network/network.interfaces.mjs +1 -1
- package/esm2020/lib/network/network.service.mjs +59 -59
- package/esm2020/lib/regex/index.mjs +2 -2
- package/esm2020/lib/regex/regex.interface.mjs +1 -1
- package/esm2020/lib/regex/regex.service.mjs +26 -26
- package/esm2020/lib/request/error.interceptor.mjs +65 -65
- package/esm2020/lib/request/error.module.mjs +38 -38
- package/esm2020/lib/request/index.mjs +2 -2
- package/esm2020/lib/request/logging.interceptor.mjs +27 -27
- package/esm2020/lib/request/logging.module.mjs +29 -29
- package/esm2020/lib/route/route.interface.mjs +1 -1
- package/esm2020/lib/route/route.service.mjs +70 -70
- package/esm2020/lib/storage/index.mjs +2 -2
- package/esm2020/lib/storage/storage.interface.mjs +12 -12
- package/esm2020/lib/storage/storage.service.mjs +78 -78
- package/esm2020/public_api.mjs +27 -27
- package/fesm2015/igo2-core.mjs +1328 -1328
- package/fesm2015/igo2-core.mjs.map +1 -1
- package/fesm2020/igo2-core.mjs +1273 -1273
- package/fesm2020/igo2-core.mjs.map +1 -1
- 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/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 +2 -2
- package/lib/storage/storage.interface.d.ts +20 -20
- package/lib/storage/storage.service.d.ts +19 -19
- package/package.json +2 -2
- package/public_api.d.ts +24 -24
- package/style/partial/media.scss +80 -80
|
@@ -1,201 +1,201 @@
|
|
|
1
|
-
import { Injectable, Inject, Injector } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject, forkJoin } from 'rxjs';
|
|
3
|
-
import { ToastrService } from 'ngx-toastr';
|
|
4
|
-
import { MessageType } from './message.enum';
|
|
5
|
-
import { debounceTime, first } from 'rxjs/operators';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../config/config.service";
|
|
8
|
-
import * as i2 from "../../language/shared/language.service";
|
|
9
|
-
export class MessageService {
|
|
10
|
-
constructor(injector, configService, languageService) {
|
|
11
|
-
this.injector = injector;
|
|
12
|
-
this.configService = configService;
|
|
13
|
-
this.languageService = languageService;
|
|
14
|
-
this.messages$ = new BehaviorSubject([]);
|
|
15
|
-
this.activeMessageTranslations = [];
|
|
16
|
-
this.options = this.configService.getConfig('message') || {};
|
|
17
|
-
this.languageService.language$.pipe(debounceTime(500)).subscribe(r => {
|
|
18
|
-
if (this.toastr.toasts.length === 0) {
|
|
19
|
-
this.activeMessageTranslations = [];
|
|
20
|
-
}
|
|
21
|
-
this.toastr.toasts.map(toast => {
|
|
22
|
-
const activeMessageTranslation = this.activeMessageTranslations.find(amt => amt.id === toast.toastId);
|
|
23
|
-
if (activeMessageTranslation) {
|
|
24
|
-
const translatedTextInterpolateParams = { ...activeMessageTranslation.textInterpolateParams };
|
|
25
|
-
const translatedTitleInterpolateParams = { ...activeMessageTranslation.titleInterpolateParams };
|
|
26
|
-
if (activeMessageTranslation.textInterpolateParams) {
|
|
27
|
-
Object.keys(activeMessageTranslation.textInterpolateParams).map(k => {
|
|
28
|
-
if (k) {
|
|
29
|
-
translatedTextInterpolateParams[k] =
|
|
30
|
-
this.languageService.translate.instant(activeMessageTranslation.textInterpolateParams[k]);
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
if (activeMessageTranslation.titleInterpolateParams) {
|
|
35
|
-
Object.keys(activeMessageTranslation.titleInterpolateParams).map(k => {
|
|
36
|
-
if (k) {
|
|
37
|
-
translatedTitleInterpolateParams[k] =
|
|
38
|
-
this.languageService.translate.instant(activeMessageTranslation.titleInterpolateParams[k]);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
forkJoin([
|
|
43
|
-
this.languageService.translate.get(activeMessageTranslation.textKey, translatedTextInterpolateParams),
|
|
44
|
-
this.languageService.translate.get(activeMessageTranslation.titleKey, translatedTitleInterpolateParams)
|
|
45
|
-
]).pipe(first()).subscribe((res) => {
|
|
46
|
-
toast.toastRef.componentInstance.message = res[0];
|
|
47
|
-
toast.toastRef.componentInstance.title = res[1];
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
get toastr() {
|
|
54
|
-
return this.injector.get(ToastrService);
|
|
55
|
-
}
|
|
56
|
-
showError(httpError) {
|
|
57
|
-
httpError.error.caught = true;
|
|
58
|
-
return this.error(httpError.error.message, httpError.error.title);
|
|
59
|
-
}
|
|
60
|
-
message(message) {
|
|
61
|
-
const messageType = message.type;
|
|
62
|
-
this.toastr.toastrConfig.iconClasses[messageType] = `toast-${messageType}`;
|
|
63
|
-
this.messages$.next(this.messages$.value.concat([message]));
|
|
64
|
-
message.options = message.options || {};
|
|
65
|
-
const currentDate = new Date();
|
|
66
|
-
message.options.from = message.options.from ? message.options.from : new Date('1 jan 1900');
|
|
67
|
-
message.options.to = message.options.to ? message.options.to : new Date('1 jan 3000');
|
|
68
|
-
if (typeof message.options.from === 'string') {
|
|
69
|
-
message.options.from = new Date(Date.parse(message.options.from.replace(/-/g, ' ')));
|
|
70
|
-
}
|
|
71
|
-
if (typeof message.options.to === 'string') {
|
|
72
|
-
message.options.to = new Date(Date.parse(message.options.to.replace(/-/g, ' ')));
|
|
73
|
-
}
|
|
74
|
-
if (currentDate > message.options.from && currentDate < message.options.to) {
|
|
75
|
-
if (message.showIcon === false) {
|
|
76
|
-
this.toastr.toastrConfig.iconClasses[messageType] = `toast-${messageType} toast-no-icon`;
|
|
77
|
-
}
|
|
78
|
-
message = this.handleTemplate(message);
|
|
79
|
-
if (message.text) {
|
|
80
|
-
let messageShown;
|
|
81
|
-
switch (message.type) {
|
|
82
|
-
case MessageType.SUCCESS:
|
|
83
|
-
messageShown = this.success(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
84
|
-
break;
|
|
85
|
-
case MessageType.ERROR:
|
|
86
|
-
messageShown = this.error(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
87
|
-
break;
|
|
88
|
-
case MessageType.INFO:
|
|
89
|
-
messageShown = this.info(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
90
|
-
break;
|
|
91
|
-
case MessageType.SHOW:
|
|
92
|
-
messageShown = this.show(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
93
|
-
break;
|
|
94
|
-
case MessageType.ALERT:
|
|
95
|
-
case MessageType.WARNING:
|
|
96
|
-
messageShown = this.alert(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
97
|
-
break;
|
|
98
|
-
default:
|
|
99
|
-
messageShown = this.info(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
100
|
-
break;
|
|
101
|
-
}
|
|
102
|
-
message.options.id = messageShown.toastId;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
success(text, title = 'igo.core.message.success', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
107
|
-
return this.handleNgxToastr('success', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
108
|
-
}
|
|
109
|
-
error(text, title = 'igo.core.message.error', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
110
|
-
return this.handleNgxToastr('error', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
111
|
-
}
|
|
112
|
-
info(text, title = 'igo.core.message.info', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
113
|
-
return this.handleNgxToastr('info', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
114
|
-
}
|
|
115
|
-
alert(text, title = 'igo.core.message.alert', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
116
|
-
return this.handleNgxToastr('alert', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
117
|
-
}
|
|
118
|
-
show(text, title = 'igo.core.message.info', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
119
|
-
return this.handleNgxToastr('show', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
120
|
-
}
|
|
121
|
-
handleNgxToastr(type, text, title, options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
122
|
-
const translatedTextInterpolateParams = { ...textInterpolateParams };
|
|
123
|
-
const translatedTitlenterpolateParams = { ...titleInterpolateParams };
|
|
124
|
-
if (textInterpolateParams) {
|
|
125
|
-
Object.keys(textInterpolateParams).map(k => {
|
|
126
|
-
if (textInterpolateParams[k]) {
|
|
127
|
-
translatedTextInterpolateParams[k] =
|
|
128
|
-
this.languageService.translate.instant(textInterpolateParams[k]);
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
if (titleInterpolateParams) {
|
|
133
|
-
Object.keys(titleInterpolateParams).map(k => {
|
|
134
|
-
if (k) {
|
|
135
|
-
translatedTitlenterpolateParams[k] =
|
|
136
|
-
this.languageService.translate.instant(titleInterpolateParams[k]);
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
const message = this.languageService.translate.instant(text, translatedTextInterpolateParams);
|
|
141
|
-
const translatedTitle = this.languageService.translate.instant(title, translatedTitlenterpolateParams);
|
|
142
|
-
let activeToast;
|
|
143
|
-
switch (type) {
|
|
144
|
-
case 'success':
|
|
145
|
-
activeToast = this.toastr.success(message, translatedTitle, options);
|
|
146
|
-
break;
|
|
147
|
-
case 'error':
|
|
148
|
-
activeToast = this.toastr.error(message, translatedTitle, options);
|
|
149
|
-
break;
|
|
150
|
-
case 'show':
|
|
151
|
-
case 'info':
|
|
152
|
-
activeToast = this.toastr.info(message, translatedTitle, options);
|
|
153
|
-
break;
|
|
154
|
-
case 'alert':
|
|
155
|
-
activeToast = this.toastr.warning(message, translatedTitle, options);
|
|
156
|
-
break;
|
|
157
|
-
}
|
|
158
|
-
this.activeMessageTranslations.push({
|
|
159
|
-
id: activeToast.toastId,
|
|
160
|
-
titleKey: title,
|
|
161
|
-
textKey: text,
|
|
162
|
-
textInterpolateParams,
|
|
163
|
-
titleInterpolateParams
|
|
164
|
-
});
|
|
165
|
-
return activeToast;
|
|
166
|
-
}
|
|
167
|
-
remove(id) {
|
|
168
|
-
this.toastr.remove(id);
|
|
169
|
-
}
|
|
170
|
-
removeAllAreNotError() {
|
|
171
|
-
for (const mess of this.messages$.value) {
|
|
172
|
-
if (mess.type !== MessageType.ERROR) {
|
|
173
|
-
this.remove(mess.options.id);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
handleTemplate(message) {
|
|
178
|
-
if (!this.options.template || message.html) {
|
|
179
|
-
return message;
|
|
180
|
-
}
|
|
181
|
-
let html = this.options.template;
|
|
182
|
-
html = html.replace('${text}', message.text);
|
|
183
|
-
html = html.replace('${title}', message.title);
|
|
184
|
-
message.html = undefined;
|
|
185
|
-
message.text = html;
|
|
186
|
-
message.title = undefined;
|
|
187
|
-
return message;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
MessageService.ɵfac = function MessageService_Factory(t) { return new (t || MessageService)(i0.ɵɵinject(Injector), i0.ɵɵinject(i1.ConfigService), i0.ɵɵinject(i2.LanguageService)); };
|
|
191
|
-
MessageService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MessageService, factory: MessageService.ɵfac, providedIn: 'root' });
|
|
192
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MessageService, [{
|
|
193
|
-
type: Injectable,
|
|
194
|
-
args: [{
|
|
195
|
-
providedIn: 'root'
|
|
196
|
-
}]
|
|
197
|
-
}], function () { return [{ type: i0.Injector, decorators: [{
|
|
198
|
-
type: Inject,
|
|
199
|
-
args: [Injector]
|
|
200
|
-
}] }, { type: i1.ConfigService }, { type: i2.LanguageService }]; }, null); })();
|
|
1
|
+
import { Injectable, Inject, Injector } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, forkJoin } from 'rxjs';
|
|
3
|
+
import { ToastrService } from 'ngx-toastr';
|
|
4
|
+
import { MessageType } from './message.enum';
|
|
5
|
+
import { debounceTime, first } from 'rxjs/operators';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../config/config.service";
|
|
8
|
+
import * as i2 from "../../language/shared/language.service";
|
|
9
|
+
export class MessageService {
|
|
10
|
+
constructor(injector, configService, languageService) {
|
|
11
|
+
this.injector = injector;
|
|
12
|
+
this.configService = configService;
|
|
13
|
+
this.languageService = languageService;
|
|
14
|
+
this.messages$ = new BehaviorSubject([]);
|
|
15
|
+
this.activeMessageTranslations = [];
|
|
16
|
+
this.options = this.configService.getConfig('message') || {};
|
|
17
|
+
this.languageService.language$.pipe(debounceTime(500)).subscribe(r => {
|
|
18
|
+
if (this.toastr.toasts.length === 0) {
|
|
19
|
+
this.activeMessageTranslations = [];
|
|
20
|
+
}
|
|
21
|
+
this.toastr.toasts.map(toast => {
|
|
22
|
+
const activeMessageTranslation = this.activeMessageTranslations.find(amt => amt.id === toast.toastId);
|
|
23
|
+
if (activeMessageTranslation) {
|
|
24
|
+
const translatedTextInterpolateParams = { ...activeMessageTranslation.textInterpolateParams };
|
|
25
|
+
const translatedTitleInterpolateParams = { ...activeMessageTranslation.titleInterpolateParams };
|
|
26
|
+
if (activeMessageTranslation.textInterpolateParams) {
|
|
27
|
+
Object.keys(activeMessageTranslation.textInterpolateParams).map(k => {
|
|
28
|
+
if (k) {
|
|
29
|
+
translatedTextInterpolateParams[k] =
|
|
30
|
+
this.languageService.translate.instant(activeMessageTranslation.textInterpolateParams[k]);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
if (activeMessageTranslation.titleInterpolateParams) {
|
|
35
|
+
Object.keys(activeMessageTranslation.titleInterpolateParams).map(k => {
|
|
36
|
+
if (k) {
|
|
37
|
+
translatedTitleInterpolateParams[k] =
|
|
38
|
+
this.languageService.translate.instant(activeMessageTranslation.titleInterpolateParams[k]);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
forkJoin([
|
|
43
|
+
this.languageService.translate.get(activeMessageTranslation.textKey, translatedTextInterpolateParams),
|
|
44
|
+
this.languageService.translate.get(activeMessageTranslation.titleKey, translatedTitleInterpolateParams)
|
|
45
|
+
]).pipe(first()).subscribe((res) => {
|
|
46
|
+
toast.toastRef.componentInstance.message = res[0];
|
|
47
|
+
toast.toastRef.componentInstance.title = res[1];
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
get toastr() {
|
|
54
|
+
return this.injector.get(ToastrService);
|
|
55
|
+
}
|
|
56
|
+
showError(httpError) {
|
|
57
|
+
httpError.error.caught = true;
|
|
58
|
+
return this.error(httpError.error.message, httpError.error.title);
|
|
59
|
+
}
|
|
60
|
+
message(message) {
|
|
61
|
+
const messageType = message.type;
|
|
62
|
+
this.toastr.toastrConfig.iconClasses[messageType] = `toast-${messageType}`;
|
|
63
|
+
this.messages$.next(this.messages$.value.concat([message]));
|
|
64
|
+
message.options = message.options || {};
|
|
65
|
+
const currentDate = new Date();
|
|
66
|
+
message.options.from = message.options.from ? message.options.from : new Date('1 jan 1900');
|
|
67
|
+
message.options.to = message.options.to ? message.options.to : new Date('1 jan 3000');
|
|
68
|
+
if (typeof message.options.from === 'string') {
|
|
69
|
+
message.options.from = new Date(Date.parse(message.options.from.replace(/-/g, ' ')));
|
|
70
|
+
}
|
|
71
|
+
if (typeof message.options.to === 'string') {
|
|
72
|
+
message.options.to = new Date(Date.parse(message.options.to.replace(/-/g, ' ')));
|
|
73
|
+
}
|
|
74
|
+
if (currentDate > message.options.from && currentDate < message.options.to) {
|
|
75
|
+
if (message.showIcon === false) {
|
|
76
|
+
this.toastr.toastrConfig.iconClasses[messageType] = `toast-${messageType} toast-no-icon`;
|
|
77
|
+
}
|
|
78
|
+
message = this.handleTemplate(message);
|
|
79
|
+
if (message.text) {
|
|
80
|
+
let messageShown;
|
|
81
|
+
switch (message.type) {
|
|
82
|
+
case MessageType.SUCCESS:
|
|
83
|
+
messageShown = this.success(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
84
|
+
break;
|
|
85
|
+
case MessageType.ERROR:
|
|
86
|
+
messageShown = this.error(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
87
|
+
break;
|
|
88
|
+
case MessageType.INFO:
|
|
89
|
+
messageShown = this.info(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
90
|
+
break;
|
|
91
|
+
case MessageType.SHOW:
|
|
92
|
+
messageShown = this.show(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
93
|
+
break;
|
|
94
|
+
case MessageType.ALERT:
|
|
95
|
+
case MessageType.WARNING:
|
|
96
|
+
messageShown = this.alert(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
97
|
+
break;
|
|
98
|
+
default:
|
|
99
|
+
messageShown = this.info(message.text, message.title, message.options, message.textInterpolateParams, message.titleInterpolateParams);
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
message.options.id = messageShown.toastId;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
success(text, title = 'igo.core.message.success', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
107
|
+
return this.handleNgxToastr('success', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
108
|
+
}
|
|
109
|
+
error(text, title = 'igo.core.message.error', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
110
|
+
return this.handleNgxToastr('error', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
111
|
+
}
|
|
112
|
+
info(text, title = 'igo.core.message.info', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
113
|
+
return this.handleNgxToastr('info', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
114
|
+
}
|
|
115
|
+
alert(text, title = 'igo.core.message.alert', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
116
|
+
return this.handleNgxToastr('alert', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
117
|
+
}
|
|
118
|
+
show(text, title = 'igo.core.message.info', options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
119
|
+
return this.handleNgxToastr('show', text, title, options, textInterpolateParams, titleInterpolateParams);
|
|
120
|
+
}
|
|
121
|
+
handleNgxToastr(type, text, title, options = {}, textInterpolateParams, titleInterpolateParams) {
|
|
122
|
+
const translatedTextInterpolateParams = { ...textInterpolateParams };
|
|
123
|
+
const translatedTitlenterpolateParams = { ...titleInterpolateParams };
|
|
124
|
+
if (textInterpolateParams) {
|
|
125
|
+
Object.keys(textInterpolateParams).map(k => {
|
|
126
|
+
if (textInterpolateParams[k]) {
|
|
127
|
+
translatedTextInterpolateParams[k] =
|
|
128
|
+
this.languageService.translate.instant(textInterpolateParams[k]);
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
if (titleInterpolateParams) {
|
|
133
|
+
Object.keys(titleInterpolateParams).map(k => {
|
|
134
|
+
if (k) {
|
|
135
|
+
translatedTitlenterpolateParams[k] =
|
|
136
|
+
this.languageService.translate.instant(titleInterpolateParams[k]);
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
const message = this.languageService.translate.instant(text, translatedTextInterpolateParams);
|
|
141
|
+
const translatedTitle = this.languageService.translate.instant(title, translatedTitlenterpolateParams);
|
|
142
|
+
let activeToast;
|
|
143
|
+
switch (type) {
|
|
144
|
+
case 'success':
|
|
145
|
+
activeToast = this.toastr.success(message, translatedTitle, options);
|
|
146
|
+
break;
|
|
147
|
+
case 'error':
|
|
148
|
+
activeToast = this.toastr.error(message, translatedTitle, options);
|
|
149
|
+
break;
|
|
150
|
+
case 'show':
|
|
151
|
+
case 'info':
|
|
152
|
+
activeToast = this.toastr.info(message, translatedTitle, options);
|
|
153
|
+
break;
|
|
154
|
+
case 'alert':
|
|
155
|
+
activeToast = this.toastr.warning(message, translatedTitle, options);
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
this.activeMessageTranslations.push({
|
|
159
|
+
id: activeToast.toastId,
|
|
160
|
+
titleKey: title,
|
|
161
|
+
textKey: text,
|
|
162
|
+
textInterpolateParams,
|
|
163
|
+
titleInterpolateParams
|
|
164
|
+
});
|
|
165
|
+
return activeToast;
|
|
166
|
+
}
|
|
167
|
+
remove(id) {
|
|
168
|
+
this.toastr.remove(id);
|
|
169
|
+
}
|
|
170
|
+
removeAllAreNotError() {
|
|
171
|
+
for (const mess of this.messages$.value) {
|
|
172
|
+
if (mess.type !== MessageType.ERROR) {
|
|
173
|
+
this.remove(mess.options.id);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
handleTemplate(message) {
|
|
178
|
+
if (!this.options.template || message.html) {
|
|
179
|
+
return message;
|
|
180
|
+
}
|
|
181
|
+
let html = this.options.template;
|
|
182
|
+
html = html.replace('${text}', message.text);
|
|
183
|
+
html = html.replace('${title}', message.title);
|
|
184
|
+
message.html = undefined;
|
|
185
|
+
message.text = html;
|
|
186
|
+
message.title = undefined;
|
|
187
|
+
return message;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
MessageService.ɵfac = function MessageService_Factory(t) { return new (t || MessageService)(i0.ɵɵinject(Injector), i0.ɵɵinject(i1.ConfigService), i0.ɵɵinject(i2.LanguageService)); };
|
|
191
|
+
MessageService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MessageService, factory: MessageService.ɵfac, providedIn: 'root' });
|
|
192
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MessageService, [{
|
|
193
|
+
type: Injectable,
|
|
194
|
+
args: [{
|
|
195
|
+
providedIn: 'root'
|
|
196
|
+
}]
|
|
197
|
+
}], function () { return [{ type: i0.Injector, decorators: [{
|
|
198
|
+
type: Inject,
|
|
199
|
+
args: [Injector]
|
|
200
|
+
}] }, { type: i1.ConfigService }, { type: i2.LanguageService }]; }, null); })();
|
|
201
201
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL21lc3NhZ2Uvc2hhcmVkL21lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLakQsT0FBTyxFQUFpQyxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFZckQsTUFBTSxPQUFPLGNBQWM7SUFLekIsWUFDNEIsUUFBa0IsRUFDcEMsYUFBNEIsRUFDNUIsZUFBZ0M7UUFGZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3BDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQVBuQyxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVksRUFBRSxDQUFDLENBQUM7UUFFOUMsOEJBQXlCLEdBQStCLEVBQUUsQ0FBQztRQU9qRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3RCxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25FLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLHlC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TyxPQUFPLENBQUM7U0FDaEI7UUFFRCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0MsT0FBTyxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7UUFDekIsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDcEIsT0FBTyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDMUIsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzs7NEVBOVFVLGNBQWMsY0FNZixRQUFRO29FQU5QLGNBQWMsV0FBZCxjQUFjLG1CQUZiLE1BQU07dUZBRVAsY0FBYztjQUgxQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7O3NCQU9JLE1BQU07dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29uZmlnL2NvbmZpZy5zZXJ2aWNlJztcblxuaW1wb3J0IHsgTWVzc2FnZSwgTWVzc2FnZU9wdGlvbnMgfSBmcm9tICcuL21lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFjdGl2ZVRvYXN0LCBJbmRpdmlkdWFsQ29uZmlnLCBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XG5pbXBvcnQgeyBNZXNzYWdlVHlwZSB9IGZyb20gJy4vbWVzc2FnZS5lbnVtJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL2xhbmd1YWdlL3NoYXJlZC9sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmludGVyZmFjZSBBY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24ge1xuICBpZDogbnVtYmVyO1xuICB0aXRsZUtleTogc3RyaW5nO1xuICB0ZXh0S2V5OiBzdHJpbmc7XG4gIHRleHRJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdFxuICB0aXRsZUludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0XG59XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlU2VydmljZSB7XG4gIHB1YmxpYyBtZXNzYWdlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1lc3NhZ2VbXT4oW10pO1xuICBwcml2YXRlIG9wdGlvbnM6IE1lc3NhZ2VPcHRpb25zO1xuICBwcml2YXRlIGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbnM6IEFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChJbmplY3RvcikgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygnbWVzc2FnZScpIHx8IHt9O1xuICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLmxhbmd1YWdlJC5waXBlKGRlYm91bmNlVGltZSg1MDApKS5zdWJzY3JpYmUociA9PiB7XG4gICAgICBpZiAodGhpcy50b2FzdHIudG9hc3RzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aGlzLmFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbnMgPSBbXTtcbiAgICAgIH1cbiAgICAgIHRoaXMudG9hc3RyLnRvYXN0cy5tYXAodG9hc3QgPT4ge1xuICAgICAgICBjb25zdCBhY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24gPSB0aGlzLmFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbnMuZmluZChhbXQgPT4gYW10LmlkID09PSB0b2FzdC50b2FzdElkKTtcbiAgICAgICAgaWYgKGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbikge1xuICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZWRUZXh0SW50ZXJwb2xhdGVQYXJhbXMgPSB7Li4uYWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9uLnRleHRJbnRlcnBvbGF0ZVBhcmFtc307XG4gICAgICAgICAgY29uc3QgdHJhbnNsYXRlZFRpdGxlSW50ZXJwb2xhdGVQYXJhbXMgPSB7Li4uYWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9uLnRpdGxlSW50ZXJwb2xhdGVQYXJhbXN9O1xuXG4gICAgICAgICAgaWYgKGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50ZXh0SW50ZXJwb2xhdGVQYXJhbXMpIHtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50ZXh0SW50ZXJwb2xhdGVQYXJhbXMpLm1hcChrID0+IHtcbiAgICAgICAgICAgICAgaWYgKGspIHtcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGVkVGV4dEludGVycG9sYXRlUGFyYW1zW2tdID1cbiAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50ZXh0SW50ZXJwb2xhdGVQYXJhbXNba10pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50aXRsZUludGVycG9sYXRlUGFyYW1zKSB7XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhhY3RpdmVNZXNzYWdlVHJhbnNsYXRpb24udGl0bGVJbnRlcnBvbGF0ZVBhcmFtcykubWFwKGsgPT4ge1xuICAgICAgICAgICAgICBpZiAoaykge1xuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZWRUaXRsZUludGVycG9sYXRlUGFyYW1zW2tdID1cbiAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50aXRsZUludGVycG9sYXRlUGFyYW1zW2tdKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG5cblxuICAgICAgICAgIGZvcmtKb2luKFtcbiAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuZ2V0KGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50ZXh0S2V5LCB0cmFuc2xhdGVkVGV4dEludGVycG9sYXRlUGFyYW1zKSxcbiAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuZ2V0KGFjdGl2ZU1lc3NhZ2VUcmFuc2xhdGlvbi50aXRsZUtleSwgdHJhbnNsYXRlZFRpdGxlSW50ZXJwb2xhdGVQYXJhbXMpXG4gICAgICAgIF0pLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKChyZXM6IFtzdHJpbmcsIHN0cmluZ10pID0+IHtcbiAgICAgICAgICB0b2FzdC50b2FzdFJlZi5jb21wb25lbnRJbnN0YW5jZS5tZXNzYWdlID0gcmVzWzBdO1xuICAgICAgICAgIHRvYXN0LnRvYXN0UmVmLmNvbXBvbmVudEluc3RhbmNlLnRpdGxlID0gcmVzWzFdO1xuICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldCB0b2FzdHIoKTogVG9hc3RyU2VydmljZSB7XG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KFRvYXN0clNlcnZpY2UpO1xuICB9XG5cbiAgc2hvd0Vycm9yKGh0dHBFcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICBodHRwRXJyb3IuZXJyb3IuY2F1Z2h0ID0gdHJ1ZTtcbiAgICByZXR1cm4gdGhpcy5lcnJvcihodHRwRXJyb3IuZXJyb3IubWVzc2FnZSwgaHR0cEVycm9yLmVycm9yLnRpdGxlKTtcbiAgfVxuXG4gIG1lc3NhZ2UobWVzc2FnZTogTWVzc2FnZSkge1xuICAgIGNvbnN0IG1lc3NhZ2VUeXBlID0gbWVzc2FnZS50eXBlO1xuICAgIHRoaXMudG9hc3RyLnRvYXN0ckNvbmZpZy5pY29uQ2xhc3Nlc1ttZXNzYWdlVHlwZV0gPSBgdG9hc3QtJHttZXNzYWdlVHlwZX1gO1xuXG4gICAgdGhpcy5tZXNzYWdlcyQubmV4dCh0aGlzLm1lc3NhZ2VzJC52YWx1ZS5jb25jYXQoW21lc3NhZ2VdKSk7XG5cbiAgICBtZXNzYWdlLm9wdGlvbnMgPSBtZXNzYWdlLm9wdGlvbnMgfHwge30gYXMgTWVzc2FnZU9wdGlvbnM7XG4gICAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gICAgbWVzc2FnZS5vcHRpb25zLmZyb20gPSBtZXNzYWdlLm9wdGlvbnMuZnJvbSA/IG1lc3NhZ2Uub3B0aW9ucy5mcm9tIDogbmV3IERhdGUoJzEgamFuIDE5MDAnKTtcbiAgICBtZXNzYWdlLm9wdGlvbnMudG8gPSBtZXNzYWdlLm9wdGlvbnMudG8gPyBtZXNzYWdlLm9wdGlvbnMudG8gOiBuZXcgRGF0ZSgnMSBqYW4gMzAwMCcpO1xuICAgIGlmICh0eXBlb2YgbWVzc2FnZS5vcHRpb25zLmZyb20gPT09ICdzdHJpbmcnKSB7XG4gICAgICBtZXNzYWdlLm9wdGlvbnMuZnJvbSA9IG5ldyBEYXRlKERhdGUucGFyc2UobWVzc2FnZS5vcHRpb25zLmZyb20ucmVwbGFjZSgvLS9nLCAnICcpKSk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgbWVzc2FnZS5vcHRpb25zLnRvID09PSAnc3RyaW5nJykge1xuICAgICAgbWVzc2FnZS5vcHRpb25zLnRvID0gbmV3IERhdGUoRGF0ZS5wYXJzZShtZXNzYWdlLm9wdGlvbnMudG8ucmVwbGFjZSgvLS9nLCAnICcpKSk7XG4gICAgfVxuICAgIGlmIChjdXJyZW50RGF0ZSA+IG1lc3NhZ2Uub3B0aW9ucy5mcm9tICYmIGN1cnJlbnREYXRlIDwgbWVzc2FnZS5vcHRpb25zLnRvKSB7XG4gICAgICBpZiAobWVzc2FnZS5zaG93SWNvbiA9PT0gZmFsc2UpIHtcbiAgICAgICAgdGhpcy50b2FzdHIudG9hc3RyQ29uZmlnLmljb25DbGFzc2VzW21lc3NhZ2VUeXBlXSA9IGB0b2FzdC0ke21lc3NhZ2VUeXBlfSB0b2FzdC1uby1pY29uYDtcbiAgICAgIH1cbiAgICAgIG1lc3NhZ2UgPSB0aGlzLmhhbmRsZVRlbXBsYXRlKG1lc3NhZ2UpO1xuXG4gICAgICBpZiAobWVzc2FnZS50ZXh0KSB7XG4gICAgICAgIGxldCBtZXNzYWdlU2hvd246IEFjdGl2ZVRvYXN0PGFueT47XG4gICAgICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgICAgICAgY2FzZSBNZXNzYWdlVHlwZS5TVUNDRVNTOlxuICAgICAgICAgICAgbWVzc2FnZVNob3duID0gdGhpcy5zdWNjZXNzKFxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHQsXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGUsXG4gICAgICAgICAgICAgIG1lc3NhZ2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0SW50ZXJwb2xhdGVQYXJhbXMsXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGVJbnRlcnBvbGF0ZVBhcmFtcyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIE1lc3NhZ2VUeXBlLkVSUk9SOlxuICAgICAgICAgICAgbWVzc2FnZVNob3duID0gdGhpcy5lcnJvcihcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0LFxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlLFxuICAgICAgICAgICAgICBtZXNzYWdlLm9wdGlvbnMsXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dEludGVycG9sYXRlUGFyYW1zLFxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlSW50ZXJwb2xhdGVQYXJhbXMpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBNZXNzYWdlVHlwZS5JTkZPOlxuICAgICAgICAgICAgbWVzc2FnZVNob3duID0gdGhpcy5pbmZvKFxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHQsXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGUsXG4gICAgICAgICAgICAgIG1lc3NhZ2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0SW50ZXJwb2xhdGVQYXJhbXMsXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGl0bGVJbnRlcnBvbGF0ZVBhcmFtcyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIE1lc3NhZ2VUeXBlLlNIT1c6XG4gICAgICAgICAgICBtZXNzYWdlU2hvd24gPSB0aGlzLnNob3coXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dCxcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZSxcbiAgICAgICAgICAgICAgbWVzc2FnZS5vcHRpb25zLFxuICAgICAgICAgICAgICBtZXNzYWdlLnRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcbiAgICAgICAgICAgICAgbWVzc2FnZS50aXRsZUludGVycG9sYXRlUGFyYW1zKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgTWVzc2FnZVR5cGUuQUxFUlQ6XG4gICAgICAgICAgY2FzZSBNZXNzYWdlVHlwZS5XQVJOSU5HOlxuICAgICAgICAgICAgbWVzc2FnZVNob3duID0gdGhpcy5hbGVydChcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0LFxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlLFxuICAgICAgICAgICAgICBtZXNzYWdlLm9wdGlvbnMsXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dEludGVycG9sYXRlUGFyYW1zLFxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlSW50ZXJwb2xhdGVQYXJhbXMpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIG1lc3NhZ2VTaG93biA9IHRoaXMuaW5mbyhcbiAgICAgICAgICAgICAgbWVzc2FnZS50ZXh0LFxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlLFxuICAgICAgICAgICAgICBtZXNzYWdlLm9wdGlvbnMsXG4gICAgICAgICAgICAgIG1lc3NhZ2UudGV4dEludGVycG9sYXRlUGFyYW1zLFxuICAgICAgICAgICAgICBtZXNzYWdlLnRpdGxlSW50ZXJwb2xhdGVQYXJhbXMpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgbWVzc2FnZS5vcHRpb25zLmlkID0gbWVzc2FnZVNob3duLnRvYXN0SWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3VjY2VzcyhcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyA9ICdpZ28uY29yZS5tZXNzYWdlLnN1Y2Nlc3MnLFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4gPSB7fSxcbiAgICB0ZXh0SW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3QsXG4gICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdCk6IEFjdGl2ZVRvYXN0PGFueT4ge1xuICAgIHJldHVybiB0aGlzLmhhbmRsZU5neFRvYXN0cignc3VjY2VzcycsIHRleHQsIHRpdGxlLCBvcHRpb25zLCB0ZXh0SW50ZXJwb2xhdGVQYXJhbXMsIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXMpO1xuICB9XG5cbiAgZXJyb3IoXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcgPSAnaWdvLmNvcmUubWVzc2FnZS5lcnJvcicsXG4gICAgb3B0aW9uczogUGFydGlhbDxJbmRpdmlkdWFsQ29uZmlnPiA9IHt9LFxuICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdCxcbiAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0KTogQWN0aXZlVG9hc3Q8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlTmd4VG9hc3RyKCdlcnJvcicsIHRleHQsIHRpdGxlLCBvcHRpb25zLCB0ZXh0SW50ZXJwb2xhdGVQYXJhbXMsIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXMpO1xuICB9XG5cbiAgaW5mbyhcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyA9ICdpZ28uY29yZS5tZXNzYWdlLmluZm8nLFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4gPSB7fSxcbiAgICB0ZXh0SW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3QsXG4gICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdCk6IEFjdGl2ZVRvYXN0PGFueT4ge1xuICAgIHJldHVybiB0aGlzLmhhbmRsZU5neFRvYXN0cignaW5mbycsIHRleHQsIHRpdGxlLCBvcHRpb25zLCB0ZXh0SW50ZXJwb2xhdGVQYXJhbXMsIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXMpO1xuICB9XG5cbiAgYWxlcnQoXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcgPSAnaWdvLmNvcmUubWVzc2FnZS5hbGVydCcsXG4gICAgb3B0aW9uczogUGFydGlhbDxJbmRpdmlkdWFsQ29uZmlnPiA9IHt9LFxuICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdCxcbiAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0KTogQWN0aXZlVG9hc3Q8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlTmd4VG9hc3RyKCdhbGVydCcsIHRleHQsIHRpdGxlLCBvcHRpb25zLCB0ZXh0SW50ZXJwb2xhdGVQYXJhbXMsIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXMpO1xuICB9XG5cbiAgc2hvdyhcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyA9ICdpZ28uY29yZS5tZXNzYWdlLmluZm8nLFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4gPSB7fSxcbiAgICB0ZXh0SW50ZXJwb2xhdGVQYXJhbXM/OiBPYmplY3QsXG4gICAgdGl0bGVJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdCk6IEFjdGl2ZVRvYXN0PGFueT4ge1xuICAgIHJldHVybiB0aGlzLmhhbmRsZU5neFRvYXN0cignc2hvdycsIHRleHQsIHRpdGxlLCBvcHRpb25zLCB0ZXh0SW50ZXJwb2xhdGVQYXJhbXMsIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVOZ3hUb2FzdHIoXG4gICAgdHlwZTogJ2FsZXJ0JyB8ICdpbmZvJyB8ICdlcnJvcicgfCAnc3VjY2VzcycgfCAnc2hvdycsXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgb3B0aW9uczogUGFydGlhbDxJbmRpdmlkdWFsQ29uZmlnPiA9IHt9LFxuICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcz86IE9iamVjdCxcbiAgICB0aXRsZUludGVycG9sYXRlUGFyYW1zPzogT2JqZWN0KTogQWN0aXZlVG9hc3Q8YW55PiB7XG5cbiAgICBjb25zdCB0cmFuc2xhdGVkVGV4dEludGVycG9sYXRlUGFyYW1zID0gey4uLnRleHRJbnRlcnBvbGF0ZVBhcmFtc307XG4gICAgY29uc3QgdHJhbnNsYXRlZFRpdGxlbnRlcnBvbGF0ZVBhcmFtcyA9IHsuLi50aXRsZUludGVycG9sYXRlUGFyYW1zfTtcblxuICAgIGlmICh0ZXh0SW50ZXJwb2xhdGVQYXJhbXMpIHtcbiAgICAgIE9iamVjdC5rZXlzKHRleHRJbnRlcnBvbGF0ZVBhcmFtcykubWFwKGsgPT4ge1xuICAgICAgICBpZiAodGV4dEludGVycG9sYXRlUGFyYW1zW2tdKSB7XG4gICAgICAgICAgdHJhbnNsYXRlZFRleHRJbnRlcnBvbGF0ZVBhcmFtc1trXSA9XG4gICAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCh0ZXh0SW50ZXJwb2xhdGVQYXJhbXNba10pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRpdGxlSW50ZXJwb2xhdGVQYXJhbXMpIHtcbiAgICAgIE9iamVjdC5rZXlzKHRpdGxlSW50ZXJwb2xhdGVQYXJhbXMpLm1hcChrID0+IHtcbiAgICAgICAgaWYgKGspIHtcbiAgICAgICAgICB0cmFuc2xhdGVkVGl0bGVudGVycG9sYXRlUGFyYW1zW2tdID1cbiAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KHRpdGxlSW50ZXJwb2xhdGVQYXJhbXNba10pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cblxuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCh0ZXh0LCB0cmFuc2xhdGVkVGV4dEludGVycG9sYXRlUGFyYW1zKTtcbiAgICBjb25zdCB0cmFuc2xhdGVkVGl0bGUgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCh0aXRsZSwgdHJhbnNsYXRlZFRpdGxlbnRlcnBvbGF0ZVBhcmFtcyk7XG5cbiAgICBsZXQgYWN0aXZlVG9hc3Q7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgICAgYWN0aXZlVG9hc3QgPSB0aGlzLnRvYXN0ci5zdWNjZXNzKG1lc3NhZ2UsIHRyYW5zbGF0ZWRUaXRsZSwgb3B0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICBhY3RpdmVUb2FzdCA9IHRoaXMudG9hc3RyLmVycm9yKG1lc3NhZ2UsIHRyYW5zbGF0ZWRUaXRsZSwgb3B0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc2hvdyc6XG4gICAgICBjYXNlICdpbmZvJzpcbiAgICAgICAgYWN0aXZlVG9hc3QgPSB0aGlzLnRvYXN0ci5pbmZvKG1lc3NhZ2UsIHRyYW5zbGF0ZWRUaXRsZSwgb3B0aW9ucyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYWxlcnQnOlxuICAgICAgICBhY3RpdmVUb2FzdCA9IHRoaXMudG9hc3RyLndhcm5pbmcobWVzc2FnZSwgdHJhbnNsYXRlZFRpdGxlLCBvcHRpb25zKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlTWVzc2FnZVRyYW5zbGF0aW9ucy5wdXNoKHtcbiAgICAgIGlkOiBhY3RpdmVUb2FzdC50b2FzdElkLFxuICAgICAgdGl0bGVLZXk6IHRpdGxlLFxuICAgICAgdGV4dEtleTogdGV4dCxcbiAgICAgIHRleHRJbnRlcnBvbGF0ZVBhcmFtcyxcbiAgICAgIHRpdGxlSW50ZXJwb2xhdGVQYXJhbXMgfSk7XG4gICAgcmV0dXJuIGFjdGl2ZVRvYXN0O1xuXG4gIH1cblxuICByZW1vdmUoaWQ/OiBudW1iZXIpIHtcbiAgICB0aGlzLnRvYXN0ci5yZW1vdmUoaWQpO1xuICB9XG5cbiAgcmVtb3ZlQWxsQXJlTm90RXJyb3IoKSB7XG4gICAgZm9yIChjb25zdCBtZXNzIG9mIHRoaXMubWVzc2FnZXMkLnZhbHVlKSB7XG4gICAgICBpZiAobWVzcy50eXBlICE9PSBNZXNzYWdlVHlwZS5FUlJPUikge1xuICAgICAgICB0aGlzLnJlbW92ZShtZXNzLm9wdGlvbnMuaWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVGVtcGxhdGUobWVzc2FnZTogTWVzc2FnZSk6IE1lc3NhZ2Uge1xuICAgIGlmICghdGhpcy5vcHRpb25zLnRlbXBsYXRlIHx8IG1lc3NhZ2UuaHRtbCkge1xuICAgICAgcmV0dXJuIG1lc3NhZ2U7XG4gICAgfVxuXG4gICAgbGV0IGh0bWwgPSB0aGlzLm9wdGlvbnMudGVtcGxhdGU7XG4gICAgaHRtbCA9IGh0bWwucmVwbGFjZSgnJHt0ZXh0fScsIG1lc3NhZ2UudGV4dCk7XG4gICAgaHRtbCA9IGh0bWwucmVwbGFjZSgnJHt0aXRsZX0nLCBtZXNzYWdlLnRpdGxlKTtcblxuICAgIG1lc3NhZ2UuaHRtbCA9IHVuZGVmaW5lZDtcbiAgICBtZXNzYWdlLnRleHQgPSBodG1sO1xuICAgIG1lc3NhZ2UudGl0bGUgPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './network.service';
|
|
2
|
-
export * from './network.interfaces';
|
|
1
|
+
export * from './network.service';
|
|
2
|
+
export * from './network.interfaces';
|
|
3
3
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvbmV0d29yay9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25ldHdvcmsuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL25ldHdvcmsuaW50ZXJmYWNlcyc7XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL25ldHdvcmsvbmV0d29yay5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENvbm5lY3Rpb25TdGF0ZSB7XG4gICAgY29ubmVjdGlvbjogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
import { Injectable, EventEmitter } from '@angular/core';
|
|
2
|
-
import { fromEvent } from 'rxjs';
|
|
3
|
-
import { debounceTime, startWith } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../message/shared/message.service";
|
|
6
|
-
export class NetworkService {
|
|
7
|
-
constructor(messageService, injector) {
|
|
8
|
-
this.messageService = messageService;
|
|
9
|
-
this.injector = injector;
|
|
10
|
-
this.stateChangeEventEmitter = new EventEmitter();
|
|
11
|
-
this.state = {
|
|
12
|
-
connection: window.navigator.onLine
|
|
13
|
-
};
|
|
14
|
-
this.checkNetworkState();
|
|
15
|
-
}
|
|
16
|
-
checkNetworkState() {
|
|
17
|
-
this.onlineSubscription = fromEvent(window, 'online').subscribe(() => {
|
|
18
|
-
if (this.previousMessageId) {
|
|
19
|
-
this.messageService.remove(this.previousMessageId);
|
|
20
|
-
}
|
|
21
|
-
const messageObj = this.messageService.info('igo.core.network.online.message', 'igo.core.network.online.title');
|
|
22
|
-
this.previousMessageId = messageObj.toastId;
|
|
23
|
-
this.state.connection = true;
|
|
24
|
-
this.emitEvent();
|
|
25
|
-
});
|
|
26
|
-
this.offlineSubscription = fromEvent(window, 'offline').subscribe(() => {
|
|
27
|
-
if (this.previousMessageId) {
|
|
28
|
-
this.messageService.remove(this.previousMessageId);
|
|
29
|
-
}
|
|
30
|
-
const messageObj = this.messageService.info('igo.core.network.offline.message', 'igo.core.network.offline.title');
|
|
31
|
-
this.previousMessageId = messageObj.toastId;
|
|
32
|
-
this.state.connection = false;
|
|
33
|
-
this.emitEvent();
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
emitEvent() {
|
|
37
|
-
this.stateChangeEventEmitter.emit(this.state);
|
|
38
|
-
}
|
|
39
|
-
ngOnDestroy() {
|
|
40
|
-
try {
|
|
41
|
-
this.offlineSubscription.unsubscribe();
|
|
42
|
-
this.onlineSubscription.unsubscribe();
|
|
43
|
-
}
|
|
44
|
-
catch (e) { }
|
|
45
|
-
}
|
|
46
|
-
currentState(reportState = true) {
|
|
47
|
-
return reportState
|
|
48
|
-
? this.stateChangeEventEmitter.pipe(debounceTime(300), startWith(this.state))
|
|
49
|
-
: this.stateChangeEventEmitter.pipe(debounceTime(300));
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
NetworkService.ɵfac = function NetworkService_Factory(t) { return new (t || NetworkService)(i0.ɵɵinject(i1.MessageService), i0.ɵɵinject(i0.Injector)); };
|
|
53
|
-
NetworkService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: NetworkService, factory: NetworkService.ɵfac, providedIn: 'root' });
|
|
54
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NetworkService, [{
|
|
55
|
-
type: Injectable,
|
|
56
|
-
args: [{
|
|
57
|
-
providedIn: 'root'
|
|
58
|
-
}]
|
|
59
|
-
}], function () { return [{ type: i1.MessageService }, { type: i0.Injector }]; }, null); })();
|
|
1
|
+
import { Injectable, EventEmitter } from '@angular/core';
|
|
2
|
+
import { fromEvent } from 'rxjs';
|
|
3
|
+
import { debounceTime, startWith } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../message/shared/message.service";
|
|
6
|
+
export class NetworkService {
|
|
7
|
+
constructor(messageService, injector) {
|
|
8
|
+
this.messageService = messageService;
|
|
9
|
+
this.injector = injector;
|
|
10
|
+
this.stateChangeEventEmitter = new EventEmitter();
|
|
11
|
+
this.state = {
|
|
12
|
+
connection: window.navigator.onLine
|
|
13
|
+
};
|
|
14
|
+
this.checkNetworkState();
|
|
15
|
+
}
|
|
16
|
+
checkNetworkState() {
|
|
17
|
+
this.onlineSubscription = fromEvent(window, 'online').subscribe(() => {
|
|
18
|
+
if (this.previousMessageId) {
|
|
19
|
+
this.messageService.remove(this.previousMessageId);
|
|
20
|
+
}
|
|
21
|
+
const messageObj = this.messageService.info('igo.core.network.online.message', 'igo.core.network.online.title');
|
|
22
|
+
this.previousMessageId = messageObj.toastId;
|
|
23
|
+
this.state.connection = true;
|
|
24
|
+
this.emitEvent();
|
|
25
|
+
});
|
|
26
|
+
this.offlineSubscription = fromEvent(window, 'offline').subscribe(() => {
|
|
27
|
+
if (this.previousMessageId) {
|
|
28
|
+
this.messageService.remove(this.previousMessageId);
|
|
29
|
+
}
|
|
30
|
+
const messageObj = this.messageService.info('igo.core.network.offline.message', 'igo.core.network.offline.title');
|
|
31
|
+
this.previousMessageId = messageObj.toastId;
|
|
32
|
+
this.state.connection = false;
|
|
33
|
+
this.emitEvent();
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
emitEvent() {
|
|
37
|
+
this.stateChangeEventEmitter.emit(this.state);
|
|
38
|
+
}
|
|
39
|
+
ngOnDestroy() {
|
|
40
|
+
try {
|
|
41
|
+
this.offlineSubscription.unsubscribe();
|
|
42
|
+
this.onlineSubscription.unsubscribe();
|
|
43
|
+
}
|
|
44
|
+
catch (e) { }
|
|
45
|
+
}
|
|
46
|
+
currentState(reportState = true) {
|
|
47
|
+
return reportState
|
|
48
|
+
? this.stateChangeEventEmitter.pipe(debounceTime(300), startWith(this.state))
|
|
49
|
+
: this.stateChangeEventEmitter.pipe(debounceTime(300));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
NetworkService.ɵfac = function NetworkService_Factory(t) { return new (t || NetworkService)(i0.ɵɵinject(i1.MessageService), i0.ɵɵinject(i0.Injector)); };
|
|
53
|
+
NetworkService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: NetworkService, factory: NetworkService.ɵfac, providedIn: 'root' });
|
|
54
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NetworkService, [{
|
|
55
|
+
type: Injectable,
|
|
56
|
+
args: [{
|
|
57
|
+
providedIn: 'root'
|
|
58
|
+
}]
|
|
59
|
+
}], function () { return [{ type: i1.MessageService }, { type: i0.Injector }]; }, null); })();
|
|
60
60
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL25ldHdvcmsvbmV0d29yay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQTRCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFRekQsTUFBTSxPQUFPLGNBQWM7SUFVekIsWUFDVSxjQUE4QixFQUM5QixRQUFrQjtRQURsQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQVhwQiw0QkFBdUIsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUs5RCxVQUFLLEdBQW9CO1lBQy9CLFVBQVUsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU07U0FDcEMsQ0FBQztRQU1FLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNuRSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7YUFDcEQ7WUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDekMsaUNBQWlDLEVBQ2pDLCtCQUErQixDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7WUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQzdCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDckUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2FBQ3BEO1lBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3pDLGtDQUFrQyxFQUNsQyxnQ0FBZ0MsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUM5QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSTtZQUNGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdkM7UUFBQyxPQUFPLENBQUMsRUFBRSxHQUFFO0lBQ2hCLENBQUM7SUFFRCxZQUFZLENBQUMsV0FBVyxHQUFHLElBQUk7UUFDN0IsT0FBTyxXQUFXO1lBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUMvQixZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQ3RCO1lBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQzs7NEVBN0RVLGNBQWM7b0VBQWQsY0FBYyxXQUFkLGNBQWMsbUJBRmIsTUFBTTt1RkFFUCxjQUFjO2NBSDFCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uL21lc3NhZ2Uvc2hhcmVkL21lc3NhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU3RhdGUgfSBmcm9tICcuL25ldHdvcmsuaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE5ldHdvcmtTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0ZUNoYW5nZUV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8Q29ubmVjdGlvblN0YXRlPigpO1xuICBwcml2YXRlIG9ubGluZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIG9mZmxpbmVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBwcmV2aW91c01lc3NhZ2VJZDtcblxuICBwcml2YXRlIHN0YXRlOiBDb25uZWN0aW9uU3RhdGUgPSB7XG4gICAgY29ubmVjdGlvbjogd2luZG93Lm5hdmlnYXRvci5vbkxpbmVcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICAgIHRoaXMuY2hlY2tOZXR3b3JrU3RhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tOZXR3b3JrU3RhdGUoKSB7XG4gICAgdGhpcy5vbmxpbmVTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQod2luZG93LCAnb25saW5lJykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLnByZXZpb3VzTWVzc2FnZUlkKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UucmVtb3ZlKHRoaXMucHJldmlvdXNNZXNzYWdlSWQpO1xuICAgICAgfVxuICAgICAgY29uc3QgbWVzc2FnZU9iaiA9IHRoaXMubWVzc2FnZVNlcnZpY2UuaW5mbyhcbiAgICAgICAgJ2lnby5jb3JlLm5ldHdvcmsub25saW5lLm1lc3NhZ2UnLFxuICAgICAgICAnaWdvLmNvcmUubmV0d29yay5vbmxpbmUudGl0bGUnKTtcbiAgICAgIHRoaXMucHJldmlvdXNNZXNzYWdlSWQgPSBtZXNzYWdlT2JqLnRvYXN0SWQ7XG4gICAgICB0aGlzLnN0YXRlLmNvbm5lY3Rpb24gPSB0cnVlO1xuICAgICAgdGhpcy5lbWl0RXZlbnQoKTtcbiAgICB9KTtcblxuICAgIHRoaXMub2ZmbGluZVN1YnNjcmlwdGlvbiA9IGZyb21FdmVudCh3aW5kb3csICdvZmZsaW5lJykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLnByZXZpb3VzTWVzc2FnZUlkKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UucmVtb3ZlKHRoaXMucHJldmlvdXNNZXNzYWdlSWQpO1xuICAgICAgfVxuICAgICAgY29uc3QgbWVzc2FnZU9iaiA9IHRoaXMubWVzc2FnZVNlcnZpY2UuaW5mbyhcbiAgICAgICAgJ2lnby5jb3JlLm5ldHdvcmsub2ZmbGluZS5tZXNzYWdlJyxcbiAgICAgICAgJ2lnby5jb3JlLm5ldHdvcmsub2ZmbGluZS50aXRsZScpO1xuICAgICAgdGhpcy5wcmV2aW91c01lc3NhZ2VJZCA9IG1lc3NhZ2VPYmoudG9hc3RJZDtcbiAgICAgIHRoaXMuc3RhdGUuY29ubmVjdGlvbiA9IGZhbHNlO1xuICAgICAgdGhpcy5lbWl0RXZlbnQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEV2ZW50KCkge1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VFdmVudEVtaXR0ZXIuZW1pdCh0aGlzLnN0YXRlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLm9mZmxpbmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMub25saW5lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfSBjYXRjaCAoZSkge31cbiAgfVxuXG4gIGN1cnJlbnRTdGF0ZShyZXBvcnRTdGF0ZSA9IHRydWUpOiBPYnNlcnZhYmxlPENvbm5lY3Rpb25TdGF0ZT4ge1xuICAgIHJldHVybiByZXBvcnRTdGF0ZVxuICAgICAgPyB0aGlzLnN0YXRlQ2hhbmdlRXZlbnRFbWl0dGVyLnBpcGUoXG4gICAgICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICAgICAgc3RhcnRXaXRoKHRoaXMuc3RhdGUpXG4gICAgICAgIClcbiAgICAgIDogdGhpcy5zdGF0ZUNoYW5nZUV2ZW50RW1pdHRlci5waXBlKGRlYm91bmNlVGltZSgzMDApKTtcbiAgfVxufVxuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './regex.service';
|
|
2
|
-
export * from './regex.interface';
|
|
1
|
+
export * from './regex.service';
|
|
2
|
+
export * from './regex.interface';
|
|
3
3
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvcmVnZXgvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZWdleC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcmVnZXguaW50ZXJmYWNlJztcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXguaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3JlZ2V4L3JlZ2V4LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBSZWdleE9wdGlvbnMge1xuICBba2V5OiBzdHJpbmddOiBhbnlcbn1cbiJdfQ==
|