@stemy/ngx-utils 12.1.0 → 12.1.3
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/bundles/stemy-ngx-utils.umd.js +29 -33
- package/bundles/stemy-ngx-utils.umd.js.map +1 -1
- package/esm2015/ngx-utils/common-types.js +1 -1
- package/esm2015/ngx-utils/services/base-http.service.js +4 -5
- package/esm2015/ngx-utils/services/config.service.js +4 -4
- package/esm2015/ngx-utils/services/error-handler.service.js +2 -2
- package/esm2015/ngx-utils/services/static-language.service.js +17 -17
- package/esm2015/ngx-utils/services/storage.service.js +4 -4
- package/fesm2015/stemy-ngx-utils.js +26 -27
- package/fesm2015/stemy-ngx-utils.js.map +1 -1
- package/ngx-utils/common-types.d.ts +1 -1
- package/ngx-utils/services/static-language.service.d.ts +1 -1
- package/package.json +1 -1
- package/stemy-ngx-utils.metadata.json +1 -1
|
@@ -9,7 +9,7 @@ export class StorageService {
|
|
|
9
9
|
this.universal = universal;
|
|
10
10
|
}
|
|
11
11
|
get(key, defaultValue, mode = StorageMode.Local) {
|
|
12
|
-
if (this.universal.
|
|
12
|
+
if (!this.universal.isBrowser)
|
|
13
13
|
return defaultValue;
|
|
14
14
|
const storage = mode == StorageMode.Local ? localStorage : sessionStorage;
|
|
15
15
|
const item = storage.getItem(key);
|
|
@@ -23,7 +23,7 @@ export class StorageService {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
set(key, value, mode = StorageMode.Local) {
|
|
26
|
-
if (this.universal.
|
|
26
|
+
if (!this.universal.isBrowser)
|
|
27
27
|
return;
|
|
28
28
|
const storage = mode == StorageMode.Local ? localStorage : sessionStorage;
|
|
29
29
|
if (typeof value == "string") {
|
|
@@ -33,7 +33,7 @@ export class StorageService {
|
|
|
33
33
|
storage.setItem(key, JSON.stringify(value));
|
|
34
34
|
}
|
|
35
35
|
remove(key, mode = StorageMode.Local) {
|
|
36
|
-
if (this.universal.
|
|
36
|
+
if (!this.universal.isBrowser)
|
|
37
37
|
return;
|
|
38
38
|
const storage = mode == StorageMode.Local ? localStorage : sessionStorage;
|
|
39
39
|
storage.removeItem(key);
|
|
@@ -45,4 +45,4 @@ StorageService.decorators = [
|
|
|
45
45
|
StorageService.ctorParameters = () => [
|
|
46
46
|
{ type: UniversalService }
|
|
47
47
|
];
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFckQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sY0FBYztJQUV2QixZQUFxQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUNoRCxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxZQUFrQixFQUFFLE9BQW9CLFdBQVcsQ0FBQyxLQUFLO1FBQ3RFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVM7WUFBRSxPQUFPLFlBQVksQ0FBQztRQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7UUFDMUUsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sWUFBWSxDQUFDO1FBQy9CLElBQUk7WUFDQSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0I7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDTCxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFVLEVBQUUsT0FBb0IsV0FBVyxDQUFDLEtBQUs7UUFDOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUztZQUFFLE9BQU87UUFDdEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO1FBQzFFLElBQUksT0FBTyxLQUFLLElBQUksUUFBUSxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVCLE9BQU87U0FDVjtRQUNELE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVcsRUFBRSxPQUFvQixXQUFXLENBQUMsS0FBSztRQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUN0QyxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7UUFDMUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDOzs7WUFoQ0osVUFBVTs7O1lBTEgsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1N0b3JhZ2VNb2RlfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7VW5pdmVyc2FsU2VydmljZX0gZnJvbSBcIi4vdW5pdmVyc2FsLnNlcnZpY2VcIjtcclxuXHJcbi8qKlxyXG4gKiBVc2UgdGhpcyBzZXJ2aWNlIGluc3RlYWQgb2YgU3RvcmFnZSB0byBhdm9pZCBBbmd1bGFyIFVuaXZlcnNhbCBicmVha3Mgb24gc2VydmVyIGVudmlyb25tZW50XHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTdG9yYWdlU2VydmljZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgdW5pdmVyc2FsOiBVbml2ZXJzYWxTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBhbnksIG1vZGU6IFN0b3JhZ2VNb2RlID0gU3RvcmFnZU1vZGUuTG9jYWwpOiBhbnkge1xyXG4gICAgICAgIGlmICghdGhpcy51bml2ZXJzYWwuaXNCcm93c2VyKSByZXR1cm4gZGVmYXVsdFZhbHVlO1xyXG4gICAgICAgIGNvbnN0IHN0b3JhZ2UgPSBtb2RlID09IFN0b3JhZ2VNb2RlLkxvY2FsID8gbG9jYWxTdG9yYWdlIDogc2Vzc2lvblN0b3JhZ2U7XHJcbiAgICAgICAgY29uc3QgaXRlbSA9IHN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xyXG4gICAgICAgIGlmICghaXRlbSkgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShpdGVtKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnksIG1vZGU6IFN0b3JhZ2VNb2RlID0gU3RvcmFnZU1vZGUuTG9jYWwpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMudW5pdmVyc2FsLmlzQnJvd3NlcikgcmV0dXJuO1xyXG4gICAgICAgIGNvbnN0IHN0b3JhZ2UgPSBtb2RlID09IFN0b3JhZ2VNb2RlLkxvY2FsID8gbG9jYWxTdG9yYWdlIDogc2Vzc2lvblN0b3JhZ2U7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgICAgIHN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZShrZXk6IHN0cmluZywgbW9kZTogU3RvcmFnZU1vZGUgPSBTdG9yYWdlTW9kZS5Mb2NhbCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy51bml2ZXJzYWwuaXNCcm93c2VyKSByZXR1cm47XHJcbiAgICAgICAgY29uc3Qgc3RvcmFnZSA9IG1vZGUgPT0gU3RvcmFnZU1vZGUuTG9jYWwgPyBsb2NhbFN0b3JhZ2UgOiBzZXNzaW9uU3RvcmFnZTtcclxuICAgICAgICBzdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -8,8 +8,7 @@ import { __awaiter, __decorate } from 'tslib';
|
|
|
8
8
|
import { ActivatedRouteSnapshot, NavigationEnd, Router, DefaultUrlSerializer, UrlTree, UrlSegmentGroup, UrlSegment, UrlSerializer } from '@angular/router';
|
|
9
9
|
import { isPlatformBrowser, isPlatformServer, DOCUMENT, CommonModule } from '@angular/common';
|
|
10
10
|
import { DeviceDetectorService } from 'ngx-device-detector';
|
|
11
|
-
import { HttpClient, HttpHeaders, HttpParams, HttpUrlEncodingCodec, HttpHandler, HttpEventType
|
|
12
|
-
import { parse } from 'json5';
|
|
11
|
+
import { HttpClient, HttpHeaders, HttpParams, HttpUrlEncodingCodec, HttpHandler, HttpEventType } from '@angular/common/http';
|
|
13
12
|
import { ɵangular_packages_platform_browser_platform_browser_g, DomSanitizer, EVENT_MANAGER_PLUGINS } from '@angular/platform-browser';
|
|
14
13
|
import { addListener, removeListener } from 'resize-detector';
|
|
15
14
|
import { FormsModule } from '@angular/forms';
|
|
@@ -2079,7 +2078,7 @@ class StorageService {
|
|
|
2079
2078
|
this.universal = universal;
|
|
2080
2079
|
}
|
|
2081
2080
|
get(key, defaultValue, mode = StorageMode.Local) {
|
|
2082
|
-
if (this.universal.
|
|
2081
|
+
if (!this.universal.isBrowser)
|
|
2083
2082
|
return defaultValue;
|
|
2084
2083
|
const storage = mode == StorageMode.Local ? localStorage : sessionStorage;
|
|
2085
2084
|
const item = storage.getItem(key);
|
|
@@ -2093,7 +2092,7 @@ class StorageService {
|
|
|
2093
2092
|
}
|
|
2094
2093
|
}
|
|
2095
2094
|
set(key, value, mode = StorageMode.Local) {
|
|
2096
|
-
if (this.universal.
|
|
2095
|
+
if (!this.universal.isBrowser)
|
|
2097
2096
|
return;
|
|
2098
2097
|
const storage = mode == StorageMode.Local ? localStorage : sessionStorage;
|
|
2099
2098
|
if (typeof value == "string") {
|
|
@@ -2103,7 +2102,7 @@ class StorageService {
|
|
|
2103
2102
|
storage.setItem(key, JSON.stringify(value));
|
|
2104
2103
|
}
|
|
2105
2104
|
remove(key, mode = StorageMode.Local) {
|
|
2106
|
-
if (this.universal.
|
|
2105
|
+
if (!this.universal.isBrowser)
|
|
2107
2106
|
return;
|
|
2108
2107
|
const storage = mode == StorageMode.Local ? localStorage : sessionStorage;
|
|
2109
2108
|
storage.removeItem(key);
|
|
@@ -2286,8 +2285,7 @@ class BaseHttpService {
|
|
|
2286
2285
|
}
|
|
2287
2286
|
return;
|
|
2288
2287
|
}
|
|
2289
|
-
|
|
2290
|
-
resolve(this.parseResponse(response, url, options));
|
|
2288
|
+
resolve(this.parseResponse(event, url, options));
|
|
2291
2289
|
const headers = options.headers;
|
|
2292
2290
|
const authKey = "Authorization";
|
|
2293
2291
|
// If we use token auth
|
|
@@ -2337,7 +2335,7 @@ class BaseHttpService {
|
|
|
2337
2335
|
// Set base options
|
|
2338
2336
|
options = options ? Object.assign({}, options) : {};
|
|
2339
2337
|
options.method = method;
|
|
2340
|
-
options.observe = "body";
|
|
2338
|
+
options.observe = options.observe || "body";
|
|
2341
2339
|
options.originalHeaders = options.originalHeaders || options.headers || {};
|
|
2342
2340
|
options.withCredentials = ObjectUtils.isBoolean(options.withCredentials) ? options.withCredentials : this.withCredentials;
|
|
2343
2341
|
options.body = body || {};
|
|
@@ -2438,6 +2436,7 @@ class StaticAuthService {
|
|
|
2438
2436
|
}
|
|
2439
2437
|
}
|
|
2440
2438
|
|
|
2439
|
+
const JSON5 = require("json5");
|
|
2441
2440
|
class ConfigService {
|
|
2442
2441
|
constructor(http, universal, rootElement, baseConfig = null, scriptParams = null) {
|
|
2443
2442
|
this.http = http;
|
|
@@ -2504,7 +2503,7 @@ class ConfigService {
|
|
|
2504
2503
|
const configUrl = this.configUrl;
|
|
2505
2504
|
try {
|
|
2506
2505
|
const config5 = yield this.http.get(isDevMode() ? `${configUrl}5` : configUrl, { responseType: "text" }).toPromise();
|
|
2507
|
-
return parse(config5);
|
|
2506
|
+
return JSON5.parse(config5);
|
|
2508
2507
|
}
|
|
2509
2508
|
catch (e) {
|
|
2510
2509
|
try {
|
|
@@ -2533,7 +2532,7 @@ class ConfigService {
|
|
|
2533
2532
|
return this.loadedConfig[key];
|
|
2534
2533
|
}
|
|
2535
2534
|
getQueryParameter(name, url) {
|
|
2536
|
-
url = url || (this.universal.
|
|
2535
|
+
url = url || (this.universal.isBrowser ? window.location.href : "");
|
|
2537
2536
|
name = name.replace(/[\[\]]/g, "\\$&");
|
|
2538
2537
|
const regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url);
|
|
2539
2538
|
if (!results)
|
|
@@ -2580,7 +2579,7 @@ class ErrorHandlerService extends ErrorHandler {
|
|
|
2580
2579
|
}
|
|
2581
2580
|
if (this.universal.isServer)
|
|
2582
2581
|
return;
|
|
2583
|
-
const key = btoa(unescape(encodeURIComponent(`${error.message} ${error.stack}`)));
|
|
2582
|
+
const key = typeof btoa !== "undefined" ? btoa(unescape(encodeURIComponent(`${error.message} ${error.stack}`))) : error.message;
|
|
2584
2583
|
if (this.errorMap[key] && this.errorMap[key].getTime() > date.getTime() - 5000)
|
|
2585
2584
|
return;
|
|
2586
2585
|
this.errorMap[key] = date;
|
|
@@ -2736,7 +2735,7 @@ class StaticLanguageService {
|
|
|
2736
2735
|
this.initService();
|
|
2737
2736
|
}
|
|
2738
2737
|
get defaultLanguage() {
|
|
2739
|
-
return this.configs.getQueryParameter("lang") || this.storage.get("language", this.
|
|
2738
|
+
return this.configs.getQueryParameter("lang") || this.storage.get("language", this.getDefaultLanguage());
|
|
2740
2739
|
}
|
|
2741
2740
|
get dictionary() {
|
|
2742
2741
|
return this.translations[this.currentLanguage] || {};
|
|
@@ -2773,21 +2772,6 @@ class StaticLanguageService {
|
|
|
2773
2772
|
get config() {
|
|
2774
2773
|
return this.configs.config;
|
|
2775
2774
|
}
|
|
2776
|
-
get browserLang() {
|
|
2777
|
-
if (this.universal.isServer || typeof window.navigator === "undefined") {
|
|
2778
|
-
return "de";
|
|
2779
|
-
}
|
|
2780
|
-
let browserLang = (window.navigator.languages ? window.navigator.languages[0] : null)
|
|
2781
|
-
|| window.navigator.language || window.navigator["browserLanguage"] || window.navigator["userLanguage"] || null;
|
|
2782
|
-
if (!browserLang)
|
|
2783
|
-
return browserLang;
|
|
2784
|
-
["-", "_"].forEach(splitter => {
|
|
2785
|
-
if (browserLang.indexOf(splitter) >= 0) {
|
|
2786
|
-
browserLang = browserLang.split(splitter)[0];
|
|
2787
|
-
}
|
|
2788
|
-
});
|
|
2789
|
-
return browserLang;
|
|
2790
|
-
}
|
|
2791
2775
|
get universal() {
|
|
2792
2776
|
return this.storage.universal;
|
|
2793
2777
|
}
|
|
@@ -2853,6 +2837,21 @@ class StaticLanguageService {
|
|
|
2853
2837
|
return ObjectUtils.isDefined(r) ? r : substring;
|
|
2854
2838
|
});
|
|
2855
2839
|
}
|
|
2840
|
+
getDefaultLanguage() {
|
|
2841
|
+
if (!this.universal.isBrowser || typeof window.navigator === "undefined") {
|
|
2842
|
+
return "de";
|
|
2843
|
+
}
|
|
2844
|
+
let browserLang = (window.navigator.languages ? window.navigator.languages[0] : null)
|
|
2845
|
+
|| window.navigator.language || window.navigator["browserLanguage"] || window.navigator["userLanguage"] || null;
|
|
2846
|
+
if (!browserLang)
|
|
2847
|
+
return browserLang;
|
|
2848
|
+
["-", "_"].forEach(splitter => {
|
|
2849
|
+
if (browserLang.indexOf(splitter) >= 0) {
|
|
2850
|
+
browserLang = browserLang.split(splitter)[0];
|
|
2851
|
+
}
|
|
2852
|
+
});
|
|
2853
|
+
return browserLang;
|
|
2854
|
+
}
|
|
2856
2855
|
}
|
|
2857
2856
|
StaticLanguageService.decorators = [
|
|
2858
2857
|
{ type: Injectable }
|