raise-common-lib-new 0.0.15 → 0.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/language/fr.d.ts +3377 -0
- package/assets/language/ja.d.ts +3351 -0
- package/assets/language/ko.d.ts +3351 -0
- package/assets/language/zh-CN.d.ts +3064 -0
- package/assets/language/zh-TW.d.ts +3354 -0
- package/esm2022/assets/language/fr.mjs +3378 -0
- package/esm2022/assets/language/ja.mjs +3352 -0
- package/esm2022/assets/language/ko.mjs +3352 -0
- package/esm2022/assets/language/zh-CN.mjs +3065 -0
- package/esm2022/assets/language/zh-TW.mjs +3355 -0
- package/esm2022/lib/commentary/constants.mjs +2 -0
- package/esm2022/lib/commentary/index.component.mjs +146 -0
- package/esm2022/lib/common-grid/grid-action/grid-action-item/grid-action-item.component.mjs +44 -0
- package/esm2022/lib/common-grid/grid-action/grid-action.component.mjs +18 -0
- package/esm2022/lib/common-grid/index.component.mjs +52 -30
- package/esm2022/lib/dialog/common-delete-dialog/index.component.mjs +2 -2
- package/esm2022/lib/dialog/common-dialog/index.component.mjs +4 -4
- package/esm2022/lib/form/checkbox-group/index.component.mjs +2 -2
- package/esm2022/lib/form/drawer-form/constants.mjs +10 -0
- package/esm2022/lib/form/drawer-form/drawer-form.component.mjs +336 -0
- package/esm2022/lib/form/encrypted-input/index.component.mjs +35 -0
- package/esm2022/lib/form/radio-group/index.component.mjs +2 -2
- package/esm2022/lib/form/switch-input/index.component.mjs +2 -2
- package/esm2022/lib/form/tag-input/index.component.mjs +31 -11
- package/esm2022/lib/form/toolbar-item/index.component.mjs +56 -0
- package/esm2022/lib/layout/drawer/index.component.mjs +165 -0
- package/esm2022/lib/layout/grid-box/index.component.mjs +67 -0
- package/esm2022/lib/layout/main-container/index.component.mjs +50 -8
- package/esm2022/lib/layout/multi-tab/index.component.mjs +267 -0
- package/esm2022/lib/layout/nav-card-group/constants.mjs +2 -0
- package/esm2022/lib/layout/nav-card-group/index.component.mjs +37 -0
- package/esm2022/lib/layout/page-list/index.component.mjs +73 -0
- package/esm2022/lib/layout/page-tab/index.component.mjs +56 -0
- package/esm2022/lib/layout/rs-aside/index.component.mjs +55 -10
- package/esm2022/lib/layout/rs-footer/index.component.mjs +2 -2
- package/esm2022/lib/layout/rs-header/index.component.mjs +38 -29
- package/esm2022/lib/layout/toolbar/constants.mjs +2 -0
- package/esm2022/lib/layout/toolbar/index.component.mjs +79 -0
- package/esm2022/lib/raise-common-lib.module.mjs +116 -17
- package/esm2022/lib/service/common-function.service.mjs +125 -1
- package/esm2022/lib/service/dialog.service.mjs +5 -5
- package/esm2022/lib/service/drawer.service.mjs +111 -0
- package/esm2022/lib/service/icon-loader.service.mjs +12 -9
- package/esm2022/lib/service/keep-alive.service.mjs +83 -0
- package/esm2022/lib/service/translation.service.mjs +98 -0
- package/esm2022/lib/utils/decorator.mjs +14 -0
- package/esm2022/public-api.mjs +35 -16
- package/fesm2022/raise-common-lib-new.mjs +18952 -538
- package/fesm2022/raise-common-lib-new.mjs.map +1 -1
- package/lib/commentary/constants.d.ts +15 -0
- package/lib/commentary/index.component.d.ts +38 -0
- package/lib/common-grid/grid-action/grid-action-item/grid-action-item.component.d.ts +10 -0
- package/lib/common-grid/grid-action/grid-action.component.d.ts +14 -0
- package/lib/common-grid/index.component.d.ts +8 -5
- package/lib/float-box/index.component.d.ts +2 -2
- package/lib/form/drawer-form/constants.d.ts +34 -0
- package/lib/form/drawer-form/drawer-form.component.d.ts +67 -0
- package/lib/form/encrypted-input/index.component.d.ts +14 -0
- package/lib/form/tag-input/index.component.d.ts +9 -3
- package/lib/form/toolbar-item/index.component.d.ts +17 -0
- package/lib/layout/drawer/index.component.d.ts +45 -0
- package/lib/layout/grid-box/index.component.d.ts +19 -0
- package/lib/layout/main-container/index.component.d.ts +11 -1
- package/lib/layout/multi-tab/index.component.d.ts +53 -0
- package/lib/layout/nav-card-group/constants.d.ts +14 -0
- package/lib/layout/nav-card-group/index.component.d.ts +16 -0
- package/lib/layout/page-list/index.component.d.ts +21 -0
- package/lib/layout/page-tab/index.component.d.ts +18 -0
- package/lib/layout/rs-aside/index.component.d.ts +8 -3
- package/lib/layout/rs-header/index.component.d.ts +12 -12
- package/lib/layout/toolbar/constants.d.ts +8 -0
- package/lib/layout/toolbar/index.component.d.ts +22 -0
- package/lib/raise-common-lib.module.d.ts +48 -34
- package/lib/service/common-function.service.d.ts +11 -0
- package/lib/service/drawer.service.d.ts +46 -0
- package/lib/service/icon-loader.service.d.ts +5 -3
- package/lib/service/keep-alive.service.d.ts +15 -0
- package/lib/service/translation.service.d.ts +12 -0
- package/lib/utils/decorator.d.ts +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +34 -15
- package/src/assets/img/close-url.svg +10 -0
- package/src/assets/img/comment-cancel.svg +4 -0
- package/src/assets/img/comment-check.svg +5 -0
- package/src/assets/img/desktop-refresh-btn.svg +6 -0
- package/src/assets/img/down-arrow.svg +3 -0
- package/src/assets/img/drawer-back.svg +4 -0
- package/src/assets/img/eye-close.svg +4 -0
- package/src/assets/img/eye-open.svg +4 -0
- package/src/assets/img/grid-action-copy.svg +6 -0
- package/src/assets/img/grid-action-delete.svg +14 -0
- package/src/assets/img/grid-action-detail.svg +7 -0
- package/src/assets/img/grid-action-download.svg +7 -0
- package/src/assets/img/grid-action-edit.svg +4 -0
- package/src/assets/img/grid-action-export.svg +12 -0
- package/src/assets/img/grid-action-move.svg +8 -0
- package/src/assets/img/grid-action-note.svg +10 -0
- package/src/assets/img/grid-action-send.svg +5 -0
- package/src/assets/img/grid-action-settle.svg +13 -0
- package/src/assets/img/grid-menu-arrow-right.svg +3 -0
- package/src/assets/img/grid-pager-arrow-left.svg +3 -0
- package/src/assets/img/grid-pager-arrows-left.svg +4 -0
- package/src/assets/img/icon-more-active.svg +7 -0
- package/src/assets/img/icon-more.svg +7 -0
- package/src/assets/img/more.svg +5 -0
- package/src/assets/img/split-button-arrow.svg +3 -0
- package/src/assets/img/table-column-menu.svg +5 -0
- package/src/assets/img/table-sort-arrow.svg +6 -0
- package/src/assets/img/toolbar-action-add.svg +4 -0
- package/src/assets/img/toolbar-action-delete.svg +14 -0
- package/src/assets/img/toolbar-action-download.svg +5 -0
- package/src/assets/img/toolbar-action-duplicate.svg +6 -0
- package/src/assets/img/toolbar-action-export.svg +5 -0
- package/src/assets/img/toolbar-action-import.svg +5 -0
- package/src/assets/img/toolbar-action-refresh.svg +14 -0
- package/src/assets/img/toolbar-action-upload.svg +5 -0
- package/src/assets/img/tooltip-icon.svg +4 -0
- package/src/assets/language/fr.ts +3603 -0
- package/src/assets/language/ja.ts +3501 -0
- package/src/assets/language/ko.ts +3478 -0
- package/src/assets/language/zh-CN.ts +3115 -0
- package/src/assets/language/zh-TW.ts +3411 -0
- package/src/assets/style/reset/button.scss +78 -10
- package/src/assets/style/reset/checkbox.scss +33 -0
- package/src/assets/style/reset/dropdown.scss +42 -10
- package/src/assets/style/reset/grid.scss +733 -132
- package/src/assets/style/reset/input.scss +45 -12
- package/src/assets/style/reset/mat-dialog.scss +6 -2
- package/src/assets/style/reset/radio.scss +37 -0
- package/src/assets/style/reset/switch.scss +32 -0
- package/src/assets/style/style.scss +6 -0
- package/src/assets/style/syncfusion.min.css +1 -1
- package/src/assets/style/variables.scss +4 -4
- package/esm2022/lib/layout/common-list/index.component.mjs +0 -43
- package/lib/layout/common-list/index.component.d.ts +0 -15
|
@@ -1,10 +1,134 @@
|
|
|
1
1
|
import { Injectable } from "@angular/core";
|
|
2
|
+
import { Subject } from "rxjs";
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export class CommonFunctionService {
|
|
4
5
|
constructor() { }
|
|
6
|
+
closeTabSubject = new Subject();
|
|
7
|
+
closeTab$ = this.closeTabSubject.asObservable();
|
|
8
|
+
pub = new Subject();
|
|
9
|
+
pub$ = this.pub.asObservable();
|
|
5
10
|
testMethod() {
|
|
6
11
|
return "test1111";
|
|
7
12
|
}
|
|
13
|
+
setMiddleEllipsis(text, maxWidth = 150, fontSize = 13) {
|
|
14
|
+
const canvas = document.createElement("canvas");
|
|
15
|
+
const context = canvas.getContext("2d");
|
|
16
|
+
context.font = `${fontSize}px Arial`;
|
|
17
|
+
let width = context.measureText(text).width;
|
|
18
|
+
if (width <= maxWidth) {
|
|
19
|
+
return text;
|
|
20
|
+
}
|
|
21
|
+
maxWidth = Math.floor(maxWidth - context.measureText("...").width);
|
|
22
|
+
let firstPart = "";
|
|
23
|
+
let secondPart = "";
|
|
24
|
+
let half = Math.floor(maxWidth / 2);
|
|
25
|
+
for (let i = 0; i < text.length; i++) {
|
|
26
|
+
firstPart += text[i];
|
|
27
|
+
width = context.measureText(firstPart).width;
|
|
28
|
+
if (width > half) {
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
for (let i = text.length - 1; i >= 0; i--) {
|
|
33
|
+
secondPart = text[i] + secondPart;
|
|
34
|
+
width = context.measureText(secondPart).width;
|
|
35
|
+
if (width > half) {
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return firstPart + "..." + secondPart;
|
|
40
|
+
}
|
|
41
|
+
getPureUrl(url) {
|
|
42
|
+
if (url) {
|
|
43
|
+
// 如果params的value 携带查询参数, 则截取前面部分
|
|
44
|
+
url = decodeURIComponent(url);
|
|
45
|
+
if (url.includes("?")) {
|
|
46
|
+
url = url.split("?")[0];
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return url;
|
|
50
|
+
}
|
|
51
|
+
// 删除当前
|
|
52
|
+
closeTab(tabIndex) {
|
|
53
|
+
return this.closeTabSubject.next(tabIndex);
|
|
54
|
+
}
|
|
55
|
+
publish(event) {
|
|
56
|
+
this.pub.next(event);
|
|
57
|
+
}
|
|
58
|
+
rtn(str) {
|
|
59
|
+
if (str && (str !== 0 || str !== "0")) {
|
|
60
|
+
let arr = str.trim().split(" ");
|
|
61
|
+
let res = "";
|
|
62
|
+
for (let i = 0; i < arr.length; i++) {
|
|
63
|
+
let el = arr[i];
|
|
64
|
+
if (el) {
|
|
65
|
+
arr[i] = el.replace(/[^a-zA-z0-9\u4e00-\u9fa5]/g, "");
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
arr.splice(i, 1);
|
|
69
|
+
i--;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
arr = arr.filter((el) => el);
|
|
73
|
+
var pattern = new RegExp("[\u4E00-\u9FA5]+");
|
|
74
|
+
var pattern2 = new RegExp("[A-Za-z0-9]+");
|
|
75
|
+
if (arr.length > 1) {
|
|
76
|
+
if (pattern.test(arr[0][0])) {
|
|
77
|
+
res = arr[0][0];
|
|
78
|
+
return res;
|
|
79
|
+
}
|
|
80
|
+
else if (pattern2.test(arr[0][0])) {
|
|
81
|
+
if (pattern2.test(arr[1][0])) {
|
|
82
|
+
res = arr[0][0] + arr[1][0];
|
|
83
|
+
}
|
|
84
|
+
else if (pattern.test(arr[1][0])) {
|
|
85
|
+
res = arr[0][0] + arr[0][1];
|
|
86
|
+
}
|
|
87
|
+
if (res != null && res != "" && typeof res == "string") {
|
|
88
|
+
return res.toUpperCase();
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
return "";
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else if (arr.length == 1) {
|
|
96
|
+
if (pattern.test(arr[0][0])) {
|
|
97
|
+
res = arr[0][0];
|
|
98
|
+
return res;
|
|
99
|
+
}
|
|
100
|
+
else if (pattern2.test(arr[0][0])) {
|
|
101
|
+
if (pattern2.test(arr[0][1])) {
|
|
102
|
+
res = arr[0][0] + arr[0][1];
|
|
103
|
+
if (res != null && res != "" && typeof res == "string") {
|
|
104
|
+
return res.toUpperCase();
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
return "";
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else if (pattern.test(arr[0][1])) {
|
|
111
|
+
res = arr[0][1];
|
|
112
|
+
if (res != null && res != "" && typeof res == "string") {
|
|
113
|
+
return res.toUpperCase();
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
return "";
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
return "";
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
Guid() {
|
|
127
|
+
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
|
|
128
|
+
let r = (Math.random() * 16) | 0, v = c == "x" ? r : (r & 0x3) | 0x8;
|
|
129
|
+
return v.toString(16);
|
|
130
|
+
});
|
|
131
|
+
}
|
|
8
132
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommonFunctionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
9
133
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommonFunctionService, providedIn: "root" });
|
|
10
134
|
}
|
|
@@ -14,4 +138,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
14
138
|
providedIn: "root",
|
|
15
139
|
}]
|
|
16
140
|
}], ctorParameters: function () { return []; } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWZ1bmN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yYWlzZS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZS9jb21tb24tZnVuY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLGdCQUFlLENBQUM7SUFFaEIsVUFBVTtRQUNSLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7d0dBTFUscUJBQXFCOzRHQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbW9uRnVuY3Rpb25TZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIHRlc3RNZXRob2QoKSB7XHJcbiAgICByZXR1cm4gXCJ0ZXN0MTExMVwiO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWZ1bmN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yYWlzZS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZS9jb21tb24tZnVuY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsZ0JBQWUsQ0FBQztJQUNSLGVBQWUsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO0lBQ3pDLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRWhELEdBQUcsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO0lBQ3pCLElBQUksR0FBb0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUV2RCxVQUFVO1FBQ1IsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQUksRUFBRSxRQUFRLEdBQUcsR0FBRyxFQUFFLFFBQVEsR0FBRyxFQUFFO1FBQ25ELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxPQUFPLENBQUMsSUFBSSxHQUFHLEdBQUcsUUFBUSxVQUFVLENBQUM7UUFFckMsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFNUMsSUFBSSxLQUFLLElBQUksUUFBUSxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FB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RSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBRUQsSUFBSTtRQUNGLE9BQU8sc0NBQXNDLENBQUMsT0FBTyxDQUNuRCxPQUFPLEVBQ1AsVUFBVSxDQUFDO1lBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUM5QixDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDckMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzt3R0FySVUscUJBQXFCOzRHQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbW1vbkZ1bmN0aW9uU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG4gIHByaXZhdGUgY2xvc2VUYWJTdWJqZWN0ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xyXG4gIHB1YmxpYyBjbG9zZVRhYiQgPSB0aGlzLmNsb3NlVGFiU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgcHVibGljIHB1YiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICBwdWJsaWMgcHViJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5wdWIuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIHRlc3RNZXRob2QoKSB7XHJcbiAgICByZXR1cm4gXCJ0ZXN0MTExMVwiO1xyXG4gIH1cclxuXHJcbiAgc2V0TWlkZGxlRWxsaXBzaXModGV4dCwgbWF4V2lkdGggPSAxNTAsIGZvbnRTaXplID0gMTMpIHtcclxuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJjYW52YXNcIik7XHJcbiAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoXCIyZFwiKTtcclxuICAgIGNvbnRleHQuZm9udCA9IGAke2ZvbnRTaXplfXB4IEFyaWFsYDtcclxuXHJcbiAgICBsZXQgd2lkdGggPSBjb250ZXh0Lm1lYXN1cmVUZXh0KHRleHQpLndpZHRoO1xyXG5cclxuICAgIGlmICh3aWR0aCA8PSBtYXhXaWR0aCkge1xyXG4gICAgICByZXR1cm4gdGV4dDtcclxuICAgIH1cclxuICAgIG1heFdpZHRoID0gTWF0aC5mbG9vcihtYXhXaWR0aCAtIGNvbnRleHQubWVhc3VyZVRleHQoXCIuLi5cIikud2lkdGgpO1xyXG4gICAgbGV0IGZpcnN0UGFydCA9IFwiXCI7XHJcbiAgICBsZXQgc2Vjb25kUGFydCA9IFwiXCI7XHJcbiAgICBsZXQgaGFsZiA9IE1hdGguZmxvb3IobWF4V2lkdGggLyAyKTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGV4dC5sZW5ndGg7IGkrKykge1xyXG4gICAgICBmaXJzdFBhcnQgKz0gdGV4dFtpXTtcclxuICAgICAgd2lkdGggPSBjb250ZXh0Lm1lYXN1cmVUZXh0KGZpcnN0UGFydCkud2lkdGg7XHJcbiAgICAgIGlmICh3aWR0aCA+IGhhbGYpIHtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGZvciAobGV0IGkgPSB0ZXh0Lmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgIHNlY29uZFBhcnQgPSB0ZXh0W2ldICsgc2Vjb25kUGFydDtcclxuICAgICAgd2lkdGggPSBjb250ZXh0Lm1lYXN1cmVUZXh0KHNlY29uZFBhcnQpLndpZHRoO1xyXG4gICAgICBpZiAod2lkdGggPiBoYWxmKSB7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmlyc3RQYXJ0ICsgXCIuLi5cIiArIHNlY29uZFBhcnQ7XHJcbiAgfVxyXG5cclxuICBnZXRQdXJlVXJsKHVybDogc3RyaW5nKSB7XHJcbiAgICBpZiAodXJsKSB7XHJcbiAgICAgIC8vIOWmguaenHBhcmFtc+eahHZhbHVlIOaQuuW4puafpeivouWPguaVsO+8jCDliJnmiKrlj5bliY3pnaLpg6jliIZcclxuICAgICAgdXJsID0gZGVjb2RlVVJJQ29tcG9uZW50KHVybCk7XHJcbiAgICAgIGlmICh1cmwuaW5jbHVkZXMoXCI/XCIpKSB7XHJcbiAgICAgICAgdXJsID0gdXJsLnNwbGl0KFwiP1wiKVswXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVybDtcclxuICB9XHJcblxyXG4gIC8vIOWIoOmZpOW9k+WJjVxyXG4gIGNsb3NlVGFiKHRhYkluZGV4PzogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jbG9zZVRhYlN1YmplY3QubmV4dCh0YWJJbmRleCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaXNoKGV2ZW50KSB7XHJcbiAgICB0aGlzLnB1Yi5uZXh0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHJ0bihzdHIpIHtcclxuICAgIGlmIChzdHIgJiYgKHN0ciAhPT0gMCB8fCBzdHIgIT09IFwiMFwiKSkge1xyXG4gICAgICBsZXQgYXJyID0gc3RyLnRyaW0oKS5zcGxpdChcIiBcIik7XHJcbiAgICAgIGxldCByZXMgPSBcIlwiO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGxldCBlbCA9IGFycltpXTtcclxuICAgICAgICBpZiAoZWwpIHtcclxuICAgICAgICAgIGFycltpXSA9IGVsLnJlcGxhY2UoL1teYS16QS16MC05XFx1NGUwMC1cXHU5ZmE1XS9nLCBcIlwiKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgYXJyLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgIGktLTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgYXJyID0gYXJyLmZpbHRlcigoZWwpID0+IGVsKTtcclxuICAgICAgdmFyIHBhdHRlcm4gPSBuZXcgUmVnRXhwKFwiW1xcdTRFMDAtXFx1OUZBNV0rXCIpO1xyXG4gICAgICB2YXIgcGF0dGVybjIgPSBuZXcgUmVnRXhwKFwiW0EtWmEtejAtOV0rXCIpO1xyXG4gICAgICBpZiAoYXJyLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICBpZiAocGF0dGVybi50ZXN0KGFyclswXVswXSkpIHtcclxuICAgICAgICAgIHJlcyA9IGFyclswXVswXTtcclxuICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICAgfSBlbHNlIGlmIChwYXR0ZXJuMi50ZXN0KGFyclswXVswXSkpIHtcclxuICAgICAgICAgIGlmIChwYXR0ZXJuMi50ZXN0KGFyclsxXVswXSkpIHtcclxuICAgICAgICAgICAgcmVzID0gYXJyWzBdWzBdICsgYXJyWzFdWzBdO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChwYXR0ZXJuLnRlc3QoYXJyWzFdWzBdKSkge1xyXG4gICAgICAgICAgICByZXMgPSBhcnJbMF1bMF0gKyBhcnJbMF1bMV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAocmVzICE9IG51bGwgJiYgcmVzICE9IFwiXCIgJiYgdHlwZW9mIHJlcyA9PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiByZXMudG9VcHBlckNhc2UoKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChhcnIubGVuZ3RoID09IDEpIHtcclxuICAgICAgICBpZiAocGF0dGVybi50ZXN0KGFyclswXVswXSkpIHtcclxuICAgICAgICAgIHJlcyA9IGFyclswXVswXTtcclxuICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICAgfSBlbHNlIGlmIChwYXR0ZXJuMi50ZXN0KGFyclswXVswXSkpIHtcclxuICAgICAgICAgIGlmIChwYXR0ZXJuMi50ZXN0KGFyclswXVsxXSkpIHtcclxuICAgICAgICAgICAgcmVzID0gYXJyWzBdWzBdICsgYXJyWzBdWzFdO1xyXG4gICAgICAgICAgICBpZiAocmVzICE9IG51bGwgJiYgcmVzICE9IFwiXCIgJiYgdHlwZW9mIHJlcyA9PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHJlcy50b1VwcGVyQ2FzZSgpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHBhdHRlcm4udGVzdChhcnJbMF1bMV0pKSB7XHJcbiAgICAgICAgICAgIHJlcyA9IGFyclswXVsxXTtcclxuICAgICAgICAgICAgaWYgKHJlcyAhPSBudWxsICYmIHJlcyAhPSBcIlwiICYmIHR5cGVvZiByZXMgPT0gXCJzdHJpbmdcIikge1xyXG4gICAgICAgICAgICAgIHJldHVybiByZXMudG9VcHBlckNhc2UoKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICByZXR1cm4gXCJcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBHdWlkKCkge1xyXG4gICAgcmV0dXJuIFwieHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4XCIucmVwbGFjZShcclxuICAgICAgL1t4eV0vZyxcclxuICAgICAgZnVuY3Rpb24gKGMpIHtcclxuICAgICAgICBsZXQgciA9IChNYXRoLnJhbmRvbSgpICogMTYpIHwgMCxcclxuICAgICAgICAgIHYgPSBjID09IFwieFwiID8gciA6IChyICYgMHgzKSB8IDB4ODtcclxuICAgICAgICByZXR1cm4gdi50b1N0cmluZygxNik7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -25,7 +25,7 @@ export class DialogService {
|
|
|
25
25
|
constructor(snackBar, dialog) {
|
|
26
26
|
this.snackBar = snackBar;
|
|
27
27
|
this.dialog = dialog;
|
|
28
|
-
this.translation = JSON.parse(localStorage.getItem("translation"));
|
|
28
|
+
this.translation = JSON.parse(localStorage.getItem("translation")) || {};
|
|
29
29
|
}
|
|
30
30
|
showLoadingNotification(config) {
|
|
31
31
|
return this.snackBar.openFromComponent(NewActionNotificationComponent, {
|
|
@@ -59,14 +59,14 @@ export class DialogService {
|
|
|
59
59
|
deleteElement() {
|
|
60
60
|
return this.dialog.open(CommonDeleteComponent, {
|
|
61
61
|
data: {},
|
|
62
|
-
panelClass: "
|
|
62
|
+
panelClass: "rs-dialog-wrap",
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
65
|
// 自定义文案通用弹窗的提示框
|
|
66
66
|
showCommonDilaog(data) {
|
|
67
67
|
return this.dialog.open(CommonDeleteComponent, {
|
|
68
68
|
data,
|
|
69
|
-
panelClass: "
|
|
69
|
+
panelClass: "rs-dialog-wrap",
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
72
|
// 有改动未保存 的提示框
|
|
@@ -88,7 +88,7 @@ export class DialogService {
|
|
|
88
88
|
// data.size = "medium";
|
|
89
89
|
return this.dialog.open(CommonDeleteComponent, {
|
|
90
90
|
data,
|
|
91
|
-
panelClass: "
|
|
91
|
+
panelClass: "rs-dialog-wrap",
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
94
|
// 保存成功提示
|
|
@@ -129,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
129
129
|
providedIn: "root",
|
|
130
130
|
}]
|
|
131
131
|
}], ctorParameters: function () { return [{ type: i1.MatSnackBar }, { type: i2.MatDialog }]; } });
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yYWlzZS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZS9kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQ0wsOEJBQThCLEdBRS9CLE1BQU0scUVBQXFFLENBQUM7QUFFN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7QUFFdkYsTUFBTSxDQUFOLElBQVksV0FLWDtBQUxELFdBQVksV0FBVztJQUNyQixpREFBTSxDQUFBO0lBQ04sNkNBQUksQ0FBQTtJQUNKLGlEQUFNLENBQUE7SUFDTixpREFBTSxDQUFBO0FBQ1IsQ0FBQyxFQUxXLFdBQVcsS0FBWCxXQUFXLFFBS3RCO0FBS0QsTUFBTSxPQUFPLGFBQWE7SUFRSjtJQUErQjtJQVBuRDs7Ozs7T0FLRztJQUNILFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDbkIsWUFBb0IsUUFBcUIsRUFBVSxNQUFpQjtRQUFoRCxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNsRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCx1QkFBdUIsQ0FDckIsTUFHd0I7UUFFeEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLDhCQUE4QixFQUFFO1lBQ3JFLElBQUksRUFBRTtnQkFDSixHQUFHLE1BQU07Z0JBQ1QsT0FBTyxFQUNMLE1BQU0sQ0FBQyxPQUFPO29CQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsdUJBQXVCO29CQUN4QywwQkFBMEI7Z0JBQzVCLFFB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QUFDLFdBQVcsQ0FBQyxhQUFhLElBQUksZ0JBQWdCLENBQUM7Z0JBQ2xFLE1BQU07WUFDUixLQUFLLFdBQVcsQ0FBQyxNQUFNO2dCQUNyQixZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLElBQUksZ0JBQWdCLENBQUM7Z0JBQ2xFLE1BQU07U0FDVDtRQUNELElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxPQUFPO1lBQUUsWUFBWSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ25FLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUU7WUFDbEMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDckQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0E3SVUsYUFBYTs0R0FBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXJcIjtcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5cclxuaW1wb3J0IHtcclxuICBOZXdBY3Rpb25Ob3RpZmljYXRpb25Db21wb25lbnQsXHJcbiAgTm90aWZpY2F0aW9uQ29uZmlnLFxyXG59IGZyb20gXCIuLi9kaWFsb2cvbmV3LWFjdGlvbi1ub3RpZmljYXRpb24vbmV3LWFjdGlvbi1ub3RpZmljYXRpb24uY29tcG9uZW50XCI7XHJcblxyXG5pbXBvcnQgeyBDb21tb25EZWxldGVDb21wb25lbnQgfSBmcm9tIFwiLi4vZGlhbG9nL2NvbW1vbi1kZWxldGUtZGlhbG9nL2luZGV4LmNvbXBvbmVudFwiO1xyXG5cclxuZXhwb3J0IGVudW0gTWVzc2FnZVR5cGUge1xyXG4gIENyZWF0ZSxcclxuICBSZWFkLFxyXG4gIFVwZGF0ZSxcclxuICBEZWxldGUsXHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2Uge1xyXG4gIC8qKlxyXG4gICAqIFNlcnZpY2UgY29uc3RydWN0b3JcclxuICAgKlxyXG4gICAqIEBwYXJhbSBzbmFja0JhcjogTWF0U25hY2tCYXJcclxuICAgKiBAcGFyYW0gZGlhbG9nOiBNYXREaWFsb2dcclxuICAgKi9cclxuICB0cmFuc2xhdGlvbiA9IG51bGw7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2cpIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb24gPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidHJhbnNsYXRpb25cIikpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0xvYWRpbmdOb3RpZmljYXRpb24oXHJcbiAgICBjb25maWc6IE9taXQ8XHJcbiAgICAgIE5vdGlmaWNhdGlvbkNvbmZpZyxcclxuICAgICAgXCJtZXNzYWdlXCIgfCBcInNuYWNrQmFyXCIgfCBcInN0YXR1c1wiIHwgXCJ0eXBlXCJcclxuICAgID4gJiB7IG1lc3NhZ2U/OiBzdHJpbmcgfVxyXG4gICkge1xyXG4gICAgcmV0dXJuIHRoaXMuc25hY2tCYXIub3BlbkZyb21Db21wb25lbnQoTmV3QWN0aW9uTm90aWZpY2F0aW9uQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICAuLi5jb25maWcsXHJcbiAgICAgICAgbWVzc2FnZTpcclxuICAgICAgICAgIGNvbmZpZy5tZXNzYWdlIHx8XHJcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uLkRPV05MT0FEX0lTX0lOX1BST0dSRVNTIHx8XHJcbiAgICAgICAgICBcIi5Eb3dubG9hZCBpcyBpbiBwcm9ncmVzc1wiLFxyXG4gICAgICAgIHNuYWNrQmFyOiB0aGlzLnNuYWNrQmFyLFxyXG4gICAgICAgIHR5cGU6IFwiTG9hZGluZ1wiLFxyXG4gICAgICB9LFxyXG4gICAgICB2ZXJ0aWNhbFBvc2l0aW9uOiBcInRvcFwiLFxyXG4gICAgICBob3Jpem9udGFsUG9zaXRpb246IFwicmlnaHRcIixcclxuICAgICAgcGFuZWxDbGFzczogXCJuZXctYWN0aW9uLW5vdGlmaWNhdGlvblwiLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzaG93Tm90aWZpY2F0aW9uKFxyXG4gICAgbWVzc2FnZTogc3RyaW5nLFxyXG4gICAgY29uZmlnPzogT21pdDxcclxuICAgICAgTm90aWZpY2F0aW9uQ29uZmlnLFxyXG4gICAgICBcIm1lc3NhZ2VcIiB8IFwic25hY2tCYXJcIiB8IFwibG9hZGluZ0NhbGxiYWNrXCIgfCBcInR5cGVcIlxyXG4gICAgPiAmIHtcclxuICAgICAgZHVyYXRpb24/OiBudW1iZXI7XHJcbiAgICAgIHR5cGU/OiBFeGNsdWRlPE5vdGlmaWNhdGlvbkNvbmZpZ1tcInR5cGVcIl0sIFwiTG9hZGluZ1wiPjtcclxuICAgIH1cclxuICApIHtcclxuICAgIHJldHVybiB0aGlzLnNuYWNrQmFyLm9wZW5Gcm9tQ29tcG9uZW50KE5ld0FjdGlvbk5vdGlmaWNhdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgbWVzc2FnZSxcclxuICAgICAgICBzbmFja0JhcjogdGhpcy5zbmFja0JhcixcclxuICAgICAgICAuLi4oY29uZmlnIHx8IHt9KSxcclxuICAgICAgfSxcclxuICAgICAgZHVyYXRpb246IChjb25maWcgJiYgY29uZmlnLmR1cmF0aW9uKSB8fCAzMDAwLFxyXG4gICAgICB2ZXJ0aWNhbFBvc2l0aW9uOiBcInRvcFwiLFxyXG4gICAgICBob3Jpem9udGFsUG9zaXRpb246IFwicmlnaHRcIixcclxuICAgICAgcGFuZWxDbGFzczogXCJuZXctYWN0aW9uLW5vdGlmaWNhdGlvblwiLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8vIOWIoOmZpOehruiupOW8ueeql1xyXG4gIGRlbGV0ZUVsZW1lbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kaWFsb2cub3BlbihDb21tb25EZWxldGVDb21wb25lbnQsIHtcclxuICAgICAgZGF0YToge30sXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFwiYmFzaWMtc21hbGwtY29tbW9uLWRpYWxvZ1wiLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyDoh6rlrprkuYnmlofmoYjpgJrnlKjlvLnnqpfnmoTmj5DnpLrmoYZcclxuICBzaG93Q29tbW9uRGlsYW9nKGRhdGE/OiB7XHJcbiAgICB0aXRsZT86IHN0cmluZztcclxuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG4gICAgc2F2ZUJ0bkxhYmVsPzogc3RyaW5nO1xyXG4gICAgY2FuY2VsQnRuTGFiZWw/OiBzdHJpbmc7XHJcbiAgICBzaG93RXJyb3JJY29uPzogYm9vbGVhbjtcclxuICAgIHNpemU/OiBzdHJpbmc7XHJcbiAgICBoaWRlU2F2ZUJ0bj86IGJvb2xlYW47XHJcbiAgfSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlhbG9nLm9wZW4oQ29tbW9uRGVsZXRlQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFwiYmFzaWMtc21hbGwtY29tbW9uLWRpYWxvZ1wiLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyDmnInmlLnliqjmnKrkv53lrZgg55qE5o+Q56S65qGGXHJcbiAgc2hvd1Vuc2F2ZWRDaGFuZ2VzKGRhdGE/OiB7XHJcbiAgICB0aXRsZT86IHN0cmluZztcclxuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG4gICAgc2F2ZUJ0bkxhYmVsPzogc3RyaW5nO1xyXG4gICAgY2FuY2VsQnRuTGFiZWw/OiBzdHJpbmc7XHJcbiAgICBzaG93RXJyb3JJY29uPzogYm9vbGVhbjtcclxuICAgIHNpemU/OiBzdHJpbmc7XHJcbiAgICBoaWRlU2F2ZUJ0bj86IGJvb2xlYW47XHJcbiAgfSkge1xyXG4gICAgbGV0IGRlZmF1bHREYXRhID0ge1xyXG4gICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGlvbi5VTlNBVkVEX0NIQU5HRVMgfHwgXCIuVU5TQVZFRF9DSEFOR0VTXCIsXHJcbiAgICAgIGRlc2NyaXB0aW9uOlxyXG4gICAgICAgIHRoaXMudHJhbnNsYXRpb25cclxuICAgICAgICAgIC5ZT1VfSEFWRV9VTlNBVkVEX0NIQU5HRURfQVJFX1lPVV9TVVJFX1lPVV9XQU5UX1RPX0RJU0NBUkRfVEhFTSB8fFxyXG4gICAgICAgIFwiLllPVV9IQVZFX1VOU0FWRURfQ0hBTkdFRF9BUkVfWU9VX1NVUkVfWU9VX1dBTlRfVE9fRElTQ0FSRF9USEVNXCIsXHJcbiAgICAgIHNhdmVCdG5MYWJlbDogdGhpcy50cmFuc2xhdGlvbi5ESVNDQVJEX0NIQU5HRVMgfHwgXCIuRElTQ0FSRF9DSEFOR0VTXCIsXHJcbiAgICAgIGNhbmNlbEJ0bkxhYmVsOiB0aGlzLnRyYW5zbGF0aW9uLkNPTlRJTlVFX0VESVRJTkcgfHwgXCIuQ09OVElOVUVfRURJVElOR1wiLFxyXG4gICAgfTtcclxuICAgIGlmIChkYXRhKSB7XHJcbiAgICAgIGRhdGEgPSBPYmplY3QuYXNzaWduKGRlZmF1bHREYXRhLCBkYXRhKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRhdGEgPSBkZWZhdWx0RGF0YTtcclxuICAgIH1cclxuICAgIC8vIGRhdGEuc2l6ZSA9IFwibWVkaXVtXCI7XHJcbiAgICByZXR1cm4gdGhpcy5kaWFsb2cub3BlbihDb21tb25EZWxldGVDb21wb25lbnQsIHtcclxuICAgICAgZGF0YSxcclxuICAgICAgcGFuZWxDbGFzczogXCJiYXNpYy1zbWFsbC1jb21tb24tZGlhbG9nXCIsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIOS/neWtmOaIkOWKn+aPkOekulxyXG4gIHB1YmxpYyBzaG93U3VjTXNnKHJlcykge1xyXG4gICAgdGhpcy5zaG93TWVzc2FnZShyZXMsIE1lc3NhZ2VUeXBlLkNyZWF0ZSk7XHJcbiAgfVxyXG5cclxuICAvLyDmm7TmlrDmiJDlip/mj5DnpLpcclxuICBwdWJsaWMgc2hvd1VwZGF0ZU1zZyhyZXMpIHtcclxuICAgIHRoaXMuc2hvd01lc3NhZ2UocmVzLCBNZXNzYWdlVHlwZS5VcGRhdGUpO1xyXG4gIH1cclxuXHJcbiAgLy8g5Yig6Zmk5oiQ5Yqf5o+Q56S6XHJcbiAgcHVibGljIHNob3dEZWxNc2cocmVzKSB7XHJcbiAgICB0aGlzLnNob3dNZXNzYWdlKHJlcywgTWVzc2FnZVR5cGUuRGVsZXRlKTtcclxuICB9XHJcblxyXG4gIC8vIOmAmueUqOaPkOekulxyXG4gIHByaXZhdGUgc2hvd01lc3NhZ2UocmVzLCB0eXBlID0gTWVzc2FnZVR5cGUuQ3JlYXRlKSB7XHJcbiAgICBsZXQgX3NhdmVNZXNzYWdlID0gdGhpcy50cmFuc2xhdGlvbi5TQVZFU1VDQ0VTUyB8fCBcIi5TQVZFU1VDQ0VTU1wiO1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgTWVzc2FnZVR5cGUuVXBkYXRlOlxyXG4gICAgICAgIF9zYXZlTWVzc2FnZSA9IHRoaXMudHJhbnNsYXRpb24uVVBEQVRFU1VDQ0VTUyB8fCBcIi5VUERBVEVTVUNDRVNTXCI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWVzc2FnZVR5cGUuRGVsZXRlOlxyXG4gICAgICAgIF9zYXZlTWVzc2FnZSA9IHRoaXMudHJhbnNsYXRpb24uREVMRVRFU1VDQ0VTUyB8fCBcIi5ERUxFVEVTVUNDRVNTXCI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBpZiAocmVzLnN0YXR1cyA9PT0gXCJFUlJPUlwiKSBfc2F2ZU1lc3NhZ2UgPSByZXMubWVzc2FnZXNbMF0ubWVzc2FnZTtcclxuICAgIHRoaXMuc2hvd05vdGlmaWNhdGlvbihfc2F2ZU1lc3NhZ2UsIHtcclxuICAgICAgc3RhdHVzOiByZXMuc3RhdHVzID09PSBcIkVSUk9SXCIgPyBcIkVycm9yXCIgOiBcIlN1Y2Nlc3NcIixcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yYWlzZS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZS9kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQ0wsOEJBQThCLEdBRS9CLE1BQU0scUVBQXFFLENBQUM7QUFFN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7QUFFdkYsTUFBTSxDQUFOLElBQVksV0FLWDtBQUxELFdBQVksV0FBVztJQUNyQixpREFBTSxDQUFBO0lBQ04sNkNBQUksQ0FBQTtJQUNKLGlEQUFNLENBQUE7SUFDTixpREFBTSxDQUFBO0FBQ1IsQ0FBQyxFQUxXLFdBQVcsS0FBWCxXQUFXLFFBS3RCO0FBS0QsTUFBTSxPQUFPLGFBQWE7SUFRSjtJQUErQjtJQVBuRDs7Ozs7T0FLRztJQUNILFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDbkIsWUFBb0IsUUFBcUIsRUFBVSxNQUFpQjtRQUFoRCxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNsRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUMxRSxDQUFDO0lBRUQsdUJBQXVCLENBQ3JCLE1BR3dCO1FBRXhCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyw4QkFBOEIsRUFBRTtZQUNyRSxJQUFJLEVBQUU7Z0JBQ0osR0FBRyxNQUFNO2dCQUNULE9BQU8sRUFDTCxNQUFNLENBQUMsT0FBTztvQkFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLHVCQUF1QjtvQkFDeEMsMEJBQTBC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QUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxJQUFJLGdCQUFnQixDQUFDO2dCQUNsRSxNQUFNO1lBQ1IsS0FBSyxXQUFXLENBQUMsTUFBTTtnQkFDckIsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxJQUFJLGdCQUFnQixDQUFDO2dCQUNsRSxNQUFNO1NBQ1Q7UUFDRCxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssT0FBTztZQUFFLFlBQVksR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNuRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFO1lBQ2xDLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ3JELENBQUMsQ0FBQztJQUNMLENBQUM7d0dBN0lVLGFBQWE7NEdBQWIsYUFBYSxjQUZaLE1BQU07OzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuXHJcbmltcG9ydCB7XHJcbiAgTmV3QWN0aW9uTm90aWZpY2F0aW9uQ29tcG9uZW50LFxyXG4gIE5vdGlmaWNhdGlvbkNvbmZpZyxcclxufSBmcm9tIFwiLi4vZGlhbG9nL25ldy1hY3Rpb24tbm90aWZpY2F0aW9uL25ldy1hY3Rpb24tbm90aWZpY2F0aW9uLmNvbXBvbmVudFwiO1xyXG5cclxuaW1wb3J0IHsgQ29tbW9uRGVsZXRlQ29tcG9uZW50IH0gZnJvbSBcIi4uL2RpYWxvZy9jb21tb24tZGVsZXRlLWRpYWxvZy9pbmRleC5jb21wb25lbnRcIjtcclxuXHJcbmV4cG9ydCBlbnVtIE1lc3NhZ2VUeXBlIHtcclxuICBDcmVhdGUsXHJcbiAgUmVhZCxcclxuICBVcGRhdGUsXHJcbiAgRGVsZXRlLFxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaWFsb2dTZXJ2aWNlIHtcclxuICAvKipcclxuICAgKiBTZXJ2aWNlIGNvbnN0cnVjdG9yXHJcbiAgICpcclxuICAgKiBAcGFyYW0gc25hY2tCYXI6IE1hdFNuYWNrQmFyXHJcbiAgICogQHBhcmFtIGRpYWxvZzogTWF0RGlhbG9nXHJcbiAgICovXHJcbiAgdHJhbnNsYXRpb24gPSBudWxsO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyLCBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInRyYW5zbGF0aW9uXCIpKSB8fCB7fVxyXG4gIH1cclxuXHJcbiAgc2hvd0xvYWRpbmdOb3RpZmljYXRpb24oXHJcbiAgICBjb25maWc6IE9taXQ8XHJcbiAgICAgIE5vdGlmaWNhdGlvbkNvbmZpZyxcclxuICAgICAgXCJtZXNzYWdlXCIgfCBcInNuYWNrQmFyXCIgfCBcInN0YXR1c1wiIHwgXCJ0eXBlXCJcclxuICAgID4gJiB7IG1lc3NhZ2U/OiBzdHJpbmcgfVxyXG4gICkge1xyXG4gICAgcmV0dXJuIHRoaXMuc25hY2tCYXIub3BlbkZyb21Db21wb25lbnQoTmV3QWN0aW9uTm90aWZpY2F0aW9uQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICAuLi5jb25maWcsXHJcbiAgICAgICAgbWVzc2FnZTpcclxuICAgICAgICAgIGNvbmZpZy5tZXNzYWdlIHx8XHJcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uLkRPV05MT0FEX0lTX0lOX1BST0dSRVNTIHx8XHJcbiAgICAgICAgICBcIi5Eb3dubG9hZCBpcyBpbiBwcm9ncmVzc1wiLFxyXG4gICAgICAgIHNuYWNrQmFyOiB0aGlzLnNuYWNrQmFyLFxyXG4gICAgICAgIHR5cGU6IFwiTG9hZGluZ1wiLFxyXG4gICAgICB9LFxyXG4gICAgICB2ZXJ0aWNhbFBvc2l0aW9uOiBcInRvcFwiLFxyXG4gICAgICBob3Jpem9udGFsUG9zaXRpb246IFwicmlnaHRcIixcclxuICAgICAgcGFuZWxDbGFzczogXCJuZXctYWN0aW9uLW5vdGlmaWNhdGlvblwiLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzaG93Tm90aWZpY2F0aW9uKFxyXG4gICAgbWVzc2FnZTogc3RyaW5nLFxyXG4gICAgY29uZmlnPzogT21pdDxcclxuICAgICAgTm90aWZpY2F0aW9uQ29uZmlnLFxyXG4gICAgICBcIm1lc3NhZ2VcIiB8IFwic25hY2tCYXJcIiB8IFwibG9hZGluZ0NhbGxiYWNrXCIgfCBcInR5cGVcIlxyXG4gICAgPiAmIHtcclxuICAgICAgZHVyYXRpb24/OiBudW1iZXI7XHJcbiAgICAgIHR5cGU/OiBFeGNsdWRlPE5vdGlmaWNhdGlvbkNvbmZpZ1tcInR5cGVcIl0sIFwiTG9hZGluZ1wiPjtcclxuICAgIH1cclxuICApIHtcclxuICAgIHJldHVybiB0aGlzLnNuYWNrQmFyLm9wZW5Gcm9tQ29tcG9uZW50KE5ld0FjdGlvbk5vdGlmaWNhdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgbWVzc2FnZSxcclxuICAgICAgICBzbmFja0JhcjogdGhpcy5zbmFja0JhcixcclxuICAgICAgICAuLi4oY29uZmlnIHx8IHt9KSxcclxuICAgICAgfSxcclxuICAgICAgZHVyYXRpb246IChjb25maWcgJiYgY29uZmlnLmR1cmF0aW9uKSB8fCAzMDAwLFxyXG4gICAgICB2ZXJ0aWNhbFBvc2l0aW9uOiBcInRvcFwiLFxyXG4gICAgICBob3Jpem9udGFsUG9zaXRpb246IFwicmlnaHRcIixcclxuICAgICAgcGFuZWxDbGFzczogXCJuZXctYWN0aW9uLW5vdGlmaWNhdGlvblwiLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8vIOWIoOmZpOehruiupOW8ueeql1xyXG4gIGRlbGV0ZUVsZW1lbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kaWFsb2cub3BlbihDb21tb25EZWxldGVDb21wb25lbnQsIHtcclxuICAgICAgZGF0YToge30sXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFwicnMtZGlhbG9nLXdyYXBcIixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8g6Ieq5a6a5LmJ5paH5qGI6YCa55So5by556qX55qE5o+Q56S65qGGXHJcbiAgc2hvd0NvbW1vbkRpbGFvZyhkYXRhPzoge1xyXG4gICAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcclxuICAgIHNhdmVCdG5MYWJlbD86IHN0cmluZztcclxuICAgIGNhbmNlbEJ0bkxhYmVsPzogc3RyaW5nO1xyXG4gICAgc2hvd0Vycm9ySWNvbj86IGJvb2xlYW47XHJcbiAgICBzaXplPzogc3RyaW5nO1xyXG4gICAgaGlkZVNhdmVCdG4/OiBib29sZWFuO1xyXG4gIH0pIHtcclxuICAgIHJldHVybiB0aGlzLmRpYWxvZy5vcGVuKENvbW1vbkRlbGV0ZUNvbXBvbmVudCwge1xyXG4gICAgICBkYXRhLFxyXG4gICAgICBwYW5lbENsYXNzOiBcInJzLWRpYWxvZy13cmFwXCIsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIOacieaUueWKqOacquS/neWtmCDnmoTmj5DnpLrmoYZcclxuICBzaG93VW5zYXZlZENoYW5nZXMoZGF0YT86IHtcclxuICAgIHRpdGxlPzogc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgICBzYXZlQnRuTGFiZWw/OiBzdHJpbmc7XHJcbiAgICBjYW5jZWxCdG5MYWJlbD86IHN0cmluZztcclxuICAgIHNob3dFcnJvckljb24/OiBib29sZWFuO1xyXG4gICAgc2l6ZT86IHN0cmluZztcclxuICAgIGhpZGVTYXZlQnRuPzogYm9vbGVhbjtcclxuICB9KSB7XHJcbiAgICBsZXQgZGVmYXVsdERhdGEgPSB7XHJcbiAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0aW9uLlVOU0FWRURfQ0hBTkdFUyB8fCBcIi5VTlNBVkVEX0NIQU5HRVNcIixcclxuICAgICAgZGVzY3JpcHRpb246XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGlvblxyXG4gICAgICAgICAgLllPVV9IQVZFX1VOU0FWRURfQ0hBTkdFRF9BUkVfWU9VX1NVUkVfWU9VX1dBTlRfVE9fRElTQ0FSRF9USEVNIHx8XHJcbiAgICAgICAgXCIuWU9VX0hBVkVfVU5TQVZFRF9DSEFOR0VEX0FSRV9ZT1VfU1VSRV9ZT1VfV0FOVF9UT19ESVNDQVJEX1RIRU1cIixcclxuICAgICAgc2F2ZUJ0bkxhYmVsOiB0aGlzLnRyYW5zbGF0aW9uLkRJU0NBUkRfQ0hBTkdFUyB8fCBcIi5ESVNDQVJEX0NIQU5HRVNcIixcclxuICAgICAgY2FuY2VsQnRuTGFiZWw6IHRoaXMudHJhbnNsYXRpb24uQ09OVElOVUVfRURJVElORyB8fCBcIi5DT05USU5VRV9FRElUSU5HXCIsXHJcbiAgICB9O1xyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgZGF0YSA9IE9iamVjdC5hc3NpZ24oZGVmYXVsdERhdGEsIGRhdGEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGF0YSA9IGRlZmF1bHREYXRhO1xyXG4gICAgfVxyXG4gICAgLy8gZGF0YS5zaXplID0gXCJtZWRpdW1cIjtcclxuICAgIHJldHVybiB0aGlzLmRpYWxvZy5vcGVuKENvbW1vbkRlbGV0ZUNvbXBvbmVudCwge1xyXG4gICAgICBkYXRhLFxyXG4gICAgICBwYW5lbENsYXNzOiBcInJzLWRpYWxvZy13cmFwXCIsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIOS/neWtmOaIkOWKn+aPkOekulxyXG4gIHB1YmxpYyBzaG93U3VjTXNnKHJlcykge1xyXG4gICAgdGhpcy5zaG93TWVzc2FnZShyZXMsIE1lc3NhZ2VUeXBlLkNyZWF0ZSk7XHJcbiAgfVxyXG5cclxuICAvLyDmm7TmlrDmiJDlip/mj5DnpLpcclxuICBwdWJsaWMgc2hvd1VwZGF0ZU1zZyhyZXMpIHtcclxuICAgIHRoaXMuc2hvd01lc3NhZ2UocmVzLCBNZXNzYWdlVHlwZS5VcGRhdGUpO1xyXG4gIH1cclxuXHJcbiAgLy8g5Yig6Zmk5oiQ5Yqf5o+Q56S6XHJcbiAgcHVibGljIHNob3dEZWxNc2cocmVzKSB7XHJcbiAgICB0aGlzLnNob3dNZXNzYWdlKHJlcywgTWVzc2FnZVR5cGUuRGVsZXRlKTtcclxuICB9XHJcblxyXG4gIC8vIOmAmueUqOaPkOekulxyXG4gIHByaXZhdGUgc2hvd01lc3NhZ2UocmVzLCB0eXBlID0gTWVzc2FnZVR5cGUuQ3JlYXRlKSB7XHJcbiAgICBsZXQgX3NhdmVNZXNzYWdlID0gdGhpcy50cmFuc2xhdGlvbi5TQVZFU1VDQ0VTUyB8fCBcIi5TQVZFU1VDQ0VTU1wiO1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgTWVzc2FnZVR5cGUuVXBkYXRlOlxyXG4gICAgICAgIF9zYXZlTWVzc2FnZSA9IHRoaXMudHJhbnNsYXRpb24uVVBEQVRFU1VDQ0VTUyB8fCBcIi5VUERBVEVTVUNDRVNTXCI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWVzc2FnZVR5cGUuRGVsZXRlOlxyXG4gICAgICAgIF9zYXZlTWVzc2FnZSA9IHRoaXMudHJhbnNsYXRpb24uREVMRVRFU1VDQ0VTUyB8fCBcIi5ERUxFVEVTVUNDRVNTXCI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBpZiAocmVzLnN0YXR1cyA9PT0gXCJFUlJPUlwiKSBfc2F2ZU1lc3NhZ2UgPSByZXMubWVzc2FnZXNbMF0ubWVzc2FnZTtcclxuICAgIHRoaXMuc2hvd05vdGlmaWNhdGlvbihfc2F2ZU1lc3NhZ2UsIHtcclxuICAgICAgc3RhdHVzOiByZXMuc3RhdHVzID09PSBcIkVSUk9SXCIgPyBcIkVycm9yXCIgOiBcIlN1Y2Nlc3NcIixcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { NavigationEnd } from "@angular/router";
|
|
3
|
+
import { filter } from "rxjs/operators";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/router";
|
|
6
|
+
export const DefaultDrawerConfig = {
|
|
7
|
+
title: "Title",
|
|
8
|
+
mode: "inner",
|
|
9
|
+
};
|
|
10
|
+
export class DrawerService {
|
|
11
|
+
router;
|
|
12
|
+
uniqueDrawerComponent;
|
|
13
|
+
resultPromiseResolveMap = new Map();
|
|
14
|
+
openedSubscription;
|
|
15
|
+
routerSubscription;
|
|
16
|
+
ListenChangeCbs = new Set();
|
|
17
|
+
constructor(router) {
|
|
18
|
+
this.router = router;
|
|
19
|
+
}
|
|
20
|
+
get cacheKey() {
|
|
21
|
+
return this.router.url;
|
|
22
|
+
}
|
|
23
|
+
ngOnDestroy() {
|
|
24
|
+
this.removeDrawer();
|
|
25
|
+
}
|
|
26
|
+
listenRouterChange() {
|
|
27
|
+
this.routerSubscription = this.router.events
|
|
28
|
+
.pipe(filter((event) => event instanceof NavigationEnd))
|
|
29
|
+
.subscribe(() => {
|
|
30
|
+
const drawer = this.uniqueDrawerComponent;
|
|
31
|
+
drawer && drawer.onRouteChange();
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
setDrawer(component) {
|
|
35
|
+
if (this.uniqueDrawerComponent) {
|
|
36
|
+
this.removeDrawer();
|
|
37
|
+
}
|
|
38
|
+
this.uniqueDrawerComponent = component;
|
|
39
|
+
this.openedSubscription = component.$isOpened.subscribe((value) => !value && this.hide());
|
|
40
|
+
this.listenRouterChange();
|
|
41
|
+
}
|
|
42
|
+
removeDrawer() {
|
|
43
|
+
this.openedSubscription && this.openedSubscription.unsubscribe();
|
|
44
|
+
this.routerSubscription && this.routerSubscription.unsubscribe();
|
|
45
|
+
this.openedSubscription = null;
|
|
46
|
+
this.routerSubscription = null;
|
|
47
|
+
this.uniqueDrawerComponent = null;
|
|
48
|
+
}
|
|
49
|
+
show(component, config, data = {}) {
|
|
50
|
+
const drawer = this.uniqueDrawerComponent;
|
|
51
|
+
if (!this.checkChange("show", { component, config, data }) ||
|
|
52
|
+
!drawer ||
|
|
53
|
+
drawer.$isOpened.getValue()) {
|
|
54
|
+
return {
|
|
55
|
+
instance: null,
|
|
56
|
+
result: null,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
instance: drawer.show(component, config, data),
|
|
61
|
+
result: new Promise((resolve) => {
|
|
62
|
+
const cacheKey = this.cacheKey;
|
|
63
|
+
this.resultPromiseResolveMap.set(cacheKey, (value) => {
|
|
64
|
+
resolve(value);
|
|
65
|
+
this.resultPromiseResolveMap.delete(cacheKey);
|
|
66
|
+
});
|
|
67
|
+
}),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
hide() {
|
|
71
|
+
const drawer = this.uniqueDrawerComponent;
|
|
72
|
+
const resolve = this.resultPromiseResolveMap.get(this.cacheKey);
|
|
73
|
+
if (resolve && this.checkChange("hide")) {
|
|
74
|
+
resolve({ type: "hide" });
|
|
75
|
+
drawer && drawer.back();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
complete(data) {
|
|
79
|
+
const drawer = this.uniqueDrawerComponent;
|
|
80
|
+
const resolve = this.resultPromiseResolveMap.get(this.cacheKey);
|
|
81
|
+
if (resolve && this.checkChange("complete", { data })) {
|
|
82
|
+
resolve({ type: "complete", data });
|
|
83
|
+
drawer && drawer.back();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
deleteCache(cacheKey) {
|
|
87
|
+
const drawer = this.uniqueDrawerComponent;
|
|
88
|
+
drawer && drawer.deleteCache(cacheKey);
|
|
89
|
+
}
|
|
90
|
+
onChange(callback) {
|
|
91
|
+
this.ListenChangeCbs.add(callback);
|
|
92
|
+
return () => {
|
|
93
|
+
this.ListenChangeCbs.delete(callback);
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
checkChange(type, detail = {}) {
|
|
97
|
+
let cancel = false;
|
|
98
|
+
const event = { type, cancel: () => (cancel = true), detail };
|
|
99
|
+
this.ListenChangeCbs.forEach((cb) => cb(event));
|
|
100
|
+
return !cancel;
|
|
101
|
+
}
|
|
102
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrawerService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
103
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrawerService, providedIn: "root" });
|
|
104
|
+
}
|
|
105
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrawerService, decorators: [{
|
|
106
|
+
type: Injectable,
|
|
107
|
+
args: [{
|
|
108
|
+
providedIn: "root",
|
|
109
|
+
}]
|
|
110
|
+
}], ctorParameters: function () { return [{ type: i1.Router }]; } });
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yYWlzZS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZS9kcmF3ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVd4QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBMkI7SUFDekQsS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsT0FBTztDQUNkLENBQUM7QUFrQkYsTUFBTSxPQUFPLGFBQWE7SUFRSjtJQVBaLHFCQUFxQixDQUFrQjtJQUN2Qyx1QkFBdUIsR0FBRyxJQUFJLEdBQUcsRUFBZ0MsQ0FBQztJQUVsRSxrQkFBa0IsQ0FBZTtJQUNqQyxrQkFBa0IsQ0FBZTtJQUNqQyxlQUFlLEdBQThCLElBQUksR0FBRyxFQUFFLENBQUM7SUFFL0QsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBRyxDQUFDO0lBRXRDLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2FBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssWUFBWSxhQUFhLENBQUMsQ0FBQzthQUN2RCxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsTUFBTSxNQUFNLEdBQUcsSUFBSSxD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RGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IERyYXdlckNvbXBvbmVudCB9IGZyb20gXCIuLi9sYXlvdXQvZHJhd2VyL2luZGV4LmNvbXBvbmVudFwiO1xyXG5cclxuZXhwb3J0IHR5cGUgRHJhd2VyQ29uZmlnID0ge1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgc3ViVGl0bGU/OiBzdHJpbmc7XHJcbiAgbW9kZT86IFwib3V0ZXJcIiB8IFwiaW5uZXJcIjtcclxuICB0b3A/OiBudW1iZXI7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgRGVmYXVsdERyYXdlckNvbmZpZzogUmVhZG9ubHk8RHJhd2VyQ29uZmlnPiA9IHtcclxuICB0aXRsZTogXCJUaXRsZVwiLFxyXG4gIG1vZGU6IFwiaW5uZXJcIixcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERyYXdlclNob3dJbnN0YW5jZTxUPiA9IHtcclxuICBpbnN0YW5jZTogVDtcclxuICByZXN1bHQ6IFByb21pc2U8eyB0eXBlOiBcImNvbXBsZXRlXCIgfCBcImhpZGVcIjsgZGF0YT86IGFueSB9PjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERyYXdlckNoYW5nZUV2ZW50ID0ge1xyXG4gIHR5cGU6IFwic2hvd1wiIHwgXCJoaWRlXCIgfCBcImNvbXBsZXRlXCI7XHJcbiAgY2FuY2VsOiAoKSA9PiB2b2lkO1xyXG4gIGRldGFpbDogUmVjb3JkPHN0cmluZywgYW55PjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERyYXdlckNoYW5nZUxpc3RlbmVyID0gKGV2ZW50OiBEcmF3ZXJDaGFuZ2VFdmVudCkgPT4gdm9pZDtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIERyYXdlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgdW5pcXVlRHJhd2VyQ29tcG9uZW50OiBEcmF3ZXJDb21wb25lbnQ7XHJcbiAgcHJpdmF0ZSByZXN1bHRQcm9taXNlUmVzb2x2ZU1hcCA9IG5ldyBNYXA8c3RyaW5nLCAodmFsdWU6IGFueSkgPT4gdm9pZD4oKTtcclxuXHJcbiAgcHJpdmF0ZSBvcGVuZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIHJvdXRlclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgTGlzdGVuQ2hhbmdlQ2JzOiBTZXQ8RHJhd2VyQ2hhbmdlTGlzdGVuZXI+ID0gbmV3IFNldCgpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxyXG5cclxuICBnZXQgY2FjaGVLZXkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIudXJsO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnJlbW92ZURyYXdlcigpO1xyXG4gIH1cclxuXHJcbiAgbGlzdGVuUm91dGVyQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5yb3V0ZXJTdWJzY3JpcHRpb24gPSB0aGlzLnJvdXRlci5ldmVudHNcclxuICAgICAgLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZHJhd2VyID0gdGhpcy51bmlxdWVEcmF3ZXJDb21wb25lbnQ7XHJcbiAgICAgICAgZHJhd2VyICYmIGRyYXdlci5vblJvdXRlQ2hhbmdlKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0RHJhd2VyKGNvbXBvbmVudDogRHJhd2VyQ29tcG9uZW50KSB7XHJcbiAgICBpZiAodGhpcy51bmlxdWVEcmF3ZXJDb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5yZW1vdmVEcmF3ZXIoKTtcclxuICAgIH1cclxuICAgIHRoaXMudW5pcXVlRHJhd2VyQ29tcG9uZW50ID0gY29tcG9uZW50O1xyXG4gICAgdGhpcy5vcGVuZWRTdWJzY3JpcHRpb24gPSBjb21wb25lbnQuJGlzT3BlbmVkLnN1YnNjcmliZShcclxuICAgICAgKHZhbHVlKSA9PiAhdmFsdWUgJiYgdGhpcy5oaWRlKClcclxuICAgICk7XHJcbiAgICB0aGlzLmxpc3RlblJvdXRlckNoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRHJhd2VyKCkge1xyXG4gICAgdGhpcy5vcGVuZWRTdWJzY3JpcHRpb24gJiYgdGhpcy5vcGVuZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uICYmIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLm9wZW5lZFN1YnNjcmlwdGlvbiA9IG51bGw7XHJcbiAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbiA9IG51bGw7XHJcbiAgICB0aGlzLnVuaXF1ZURyYXdlckNvbXBvbmVudCA9IG51bGw7XHJcbiAgfVxyXG5cclxuICBzaG93PFQ+KFxyXG4gICAgY29tcG9uZW50OiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBULFxyXG4gICAgY29uZmlnOiBEcmF3ZXJDb25maWcsXHJcbiAgICBkYXRhID0ge31cclxuICApOiBEcmF3ZXJTaG93SW5zdGFuY2U8VD4ge1xyXG4gICAgY29uc3QgZHJhd2VyID0gdGhpcy51bmlxdWVEcmF3ZXJDb21wb25lbnQ7XHJcbiAgICBpZiAoXHJcbiAgICAgICF0aGlzLmNoZWNrQ2hhbmdlKFwic2hvd1wiLCB7IGNvbXBvbmVudCwgY29uZmlnLCBkYXRhIH0pIHx8XHJcbiAgICAgICFkcmF3ZXIgfHxcclxuICAgICAgZHJhd2VyLiRpc09wZW5lZC5nZXRWYWx1ZSgpXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBpbnN0YW5jZTogbnVsbCxcclxuICAgICAgICByZXN1bHQ6IG51bGwsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBpbnN0YW5jZTogZHJhd2VyLnNob3coY29tcG9uZW50LCBjb25maWcsIGRhdGEpLFxyXG4gICAgICByZXN1bHQ6IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2FjaGVLZXkgPSB0aGlzLmNhY2hlS2V5O1xyXG4gICAgICAgIHRoaXMucmVzdWx0UHJvbWlzZVJlc29sdmVNYXAuc2V0KGNhY2hlS2V5LCAodmFsdWUpID0+IHtcclxuICAgICAgICAgIHJlc29sdmUodmFsdWUpO1xyXG4gICAgICAgICAgdGhpcy5yZXN1bHRQcm9taXNlUmVzb2x2ZU1hcC5kZWxldGUoY2FjaGVLZXkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBoaWRlKCkge1xyXG4gICAgY29uc3QgZHJhd2VyID0gdGhpcy51bmlxdWVEcmF3ZXJDb21wb25lbnQ7XHJcbiAgICBjb25zdCByZXNvbHZlID0gdGhpcy5yZXN1bHRQcm9taXNlUmVzb2x2ZU1hcC5nZXQodGhpcy5jYWNoZUtleSk7XHJcbiAgICBpZiAocmVzb2x2ZSAmJiB0aGlzLmNoZWNrQ2hhbmdlKFwiaGlkZVwiKSkge1xyXG4gICAgICByZXNvbHZlKHsgdHlwZTogXCJoaWRlXCIgfSk7XHJcbiAgICAgIGRyYXdlciAmJiBkcmF3ZXIuYmFjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcGxldGUoZGF0YT86IGFueSkge1xyXG4gICAgY29uc3QgZHJhd2VyID0gdGhpcy51bmlxdWVEcmF3ZXJDb21wb25lbnQ7XHJcbiAgICBjb25zdCByZXNvbHZlID0gdGhpcy5yZXN1bHRQcm9taXNlUmVzb2x2ZU1hcC5nZXQodGhpcy5jYWNoZUtleSk7XHJcbiAgICBpZiAocmVzb2x2ZSAmJiB0aGlzLmNoZWNrQ2hhbmdlKFwiY29tcGxldGVcIiwgeyBkYXRhIH0pKSB7XHJcbiAgICAgIHJlc29sdmUoeyB0eXBlOiBcImNvbXBsZXRlXCIsIGRhdGEgfSk7XHJcbiAgICAgIGRyYXdlciAmJiBkcmF3ZXIuYmFjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGVsZXRlQ2FjaGUoY2FjaGVLZXk6IHN0cmluZykge1xyXG4gICAgY29uc3QgZHJhd2VyID0gdGhpcy51bmlxdWVEcmF3ZXJDb21wb25lbnQ7XHJcbiAgICBkcmF3ZXIgJiYgZHJhd2VyLmRlbGV0ZUNhY2hlKGNhY2hlS2V5KTtcclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlKGNhbGxiYWNrOiBEcmF3ZXJDaGFuZ2VMaXN0ZW5lcikge1xyXG4gICAgdGhpcy5MaXN0ZW5DaGFuZ2VDYnMuYWRkKGNhbGxiYWNrKTtcclxuICAgIHJldHVybiAoKSA9PiB7XHJcbiAgICAgIHRoaXMuTGlzdGVuQ2hhbmdlQ2JzLmRlbGV0ZShjYWxsYmFjayk7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja0NoYW5nZShcclxuICAgIHR5cGU6IERyYXdlckNoYW5nZUV2ZW50W1widHlwZVwiXSxcclxuICAgIGRldGFpbDogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9XHJcbiAgKSB7XHJcbiAgICBsZXQgY2FuY2VsID0gZmFsc2U7XHJcbiAgICBjb25zdCBldmVudCA9IHsgdHlwZSwgY2FuY2VsOiAoKSA9PiAoY2FuY2VsID0gdHJ1ZSksIGRldGFpbCB9O1xyXG4gICAgdGhpcy5MaXN0ZW5DaGFuZ2VDYnMuZm9yRWFjaCgoY2IpID0+IGNiKGV2ZW50KSk7XHJcbiAgICByZXR1cm4gIWNhbmNlbDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
import { Injectable } from "@angular/core";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "angular
|
|
3
|
+
import * as i1 from "@angular/material/icon";
|
|
4
|
+
import * as i2 from "@angular/platform-browser";
|
|
4
5
|
export class IconLoaderService {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
registry;
|
|
7
|
+
domSanitizer;
|
|
8
|
+
constructor(registry, domSanitizer) {
|
|
9
|
+
this.registry = registry;
|
|
10
|
+
this.domSanitizer = domSanitizer;
|
|
8
11
|
}
|
|
9
12
|
registerIcons(list) {
|
|
10
|
-
list.forEach((
|
|
11
|
-
this.
|
|
13
|
+
list.forEach(({ name, path }) => {
|
|
14
|
+
this.registry.addSvgIcon(name, this.domSanitizer.bypassSecurityTrustResourceUrl(path));
|
|
12
15
|
});
|
|
13
16
|
}
|
|
14
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IconLoaderService, deps: [{ token: i1.
|
|
17
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IconLoaderService, deps: [{ token: i1.MatIconRegistry }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
15
18
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IconLoaderService });
|
|
16
19
|
}
|
|
17
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IconLoaderService, decorators: [{
|
|
18
21
|
type: Injectable
|
|
19
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
}], ctorParameters: function () { return [{ type: i1.MatIconRegistry }, { type: i2.DomSanitizer }]; } });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1sb2FkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JhaXNlLWNvbW1vbi1saWIvc3JjL2xpYi9zZXJ2aWNlL2ljb24tbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUszQyxNQUFNLE9BQU8saUJBQWlCO0lBRWxCO0lBQ0E7SUFGVixZQUNVLFFBQXlCLEVBQ3pCLFlBQTBCO1FBRDFCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ2pDLENBQUM7SUFFSixhQUFhLENBQUMsSUFBSTtRQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FDdEIsSUFBSSxFQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLENBQ3ZELENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBYlUsaUJBQWlCOzRHQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0SWNvblJlZ2lzdHJ5IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEljb25Mb2FkZXJTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVnaXN0cnk6IE1hdEljb25SZWdpc3RyeSxcclxuICAgIHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcclxuICApIHt9XHJcblxyXG4gIHJlZ2lzdGVySWNvbnMobGlzdCkge1xyXG4gICAgbGlzdC5mb3JFYWNoKCh7IG5hbWUsIHBhdGggfSkgPT4ge1xyXG4gICAgICB0aGlzLnJlZ2lzdHJ5LmFkZFN2Z0ljb24oXHJcbiAgICAgICAgbmFtZSxcclxuICAgICAgICB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwocGF0aClcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
const storedRoutes = new Map();
|
|
4
|
+
let toBeDeleteUrl;
|
|
5
|
+
let excludeRoutes = []; // 不需要缓存的url
|
|
6
|
+
export class KeepAliveService {
|
|
7
|
+
setExcludeRoutes(routes) {
|
|
8
|
+
excludeRoutes = routes; // 设置不缓存的路由
|
|
9
|
+
}
|
|
10
|
+
shouldDetach(route) {
|
|
11
|
+
let config = route.routeConfig;
|
|
12
|
+
// console.log("shouldDetach", toBeDeleteUrl, this.getRoutePath(route));
|
|
13
|
+
if (toBeDeleteUrl === this.getRoutePath(route)) {
|
|
14
|
+
// 对于新开的又即将关闭的tab,不缓存
|
|
15
|
+
if (route.children.length === 0) {
|
|
16
|
+
toBeDeleteUrl = "";
|
|
17
|
+
}
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
if (config && excludeRoutes.includes(this.getRoutePath(route))) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
//Don't store lazy loaded routes
|
|
24
|
+
return config && !config.loadChildren;
|
|
25
|
+
}
|
|
26
|
+
store(route, handle) {
|
|
27
|
+
// console.log("store", this.getRoutePath(route));
|
|
28
|
+
// console.log("store", storedRoutes);
|
|
29
|
+
const key = this.getRoutePath(route);
|
|
30
|
+
storedRoutes.set(key, handle);
|
|
31
|
+
}
|
|
32
|
+
shouldAttach(route) {
|
|
33
|
+
const key = this.getRoutePath(route);
|
|
34
|
+
return !!route.routeConfig && storedRoutes.has(key);
|
|
35
|
+
}
|
|
36
|
+
retrieve(route) {
|
|
37
|
+
let config = route.routeConfig;
|
|
38
|
+
const key = this.getRoutePath(route);
|
|
39
|
+
//We don't store lazy loaded routes, so don't even bother trying to retrieve them
|
|
40
|
+
if (!config || config.loadChildren) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
return storedRoutes.get(key) || null;
|
|
44
|
+
}
|
|
45
|
+
shouldReuseRoute(future, curr) {
|
|
46
|
+
// console.log("shouldReuseRoute", future, curr);
|
|
47
|
+
// return future.routeConfig === curr.routeConfig;
|
|
48
|
+
if (future.routeConfig === curr.routeConfig) {
|
|
49
|
+
if (future.children.length === 0 && curr.children.length === 0) {
|
|
50
|
+
// 无子路由时, 通过params和queryParams判断是否复用路由
|
|
51
|
+
return (JSON.stringify(future.params) === JSON.stringify(curr.params));
|
|
52
|
+
}
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
getRoutePath(route) {
|
|
58
|
+
if (route.routeConfig) {
|
|
59
|
+
// const pathParams = JSON.stringify(route.params);
|
|
60
|
+
// const queryParams = new URLSearchParams(route.queryParams).toString();
|
|
61
|
+
const url = route.url.map((v) => v.path).join("/");
|
|
62
|
+
return "/" + url;
|
|
63
|
+
}
|
|
64
|
+
return "";
|
|
65
|
+
}
|
|
66
|
+
clearCache(path) {
|
|
67
|
+
// console.log("clearCache", storedRoutes, path);
|
|
68
|
+
toBeDeleteUrl = path;
|
|
69
|
+
storedRoutes.delete(path);
|
|
70
|
+
}
|
|
71
|
+
clearAllCache() {
|
|
72
|
+
storedRoutes.clear();
|
|
73
|
+
}
|
|
74
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KeepAliveService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
75
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KeepAliveService, providedIn: "root" });
|
|
76
|
+
}
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KeepAliveService, decorators: [{
|
|
78
|
+
type: Injectable,
|
|
79
|
+
args: [{
|
|
80
|
+
providedIn: "root",
|
|
81
|
+
}]
|
|
82
|
+
}] });
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VlcC1hbGl2ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmFpc2UtY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2Uva2VlcC1hbGl2ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDLE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxFQUErQixDQUFDO0FBQzVELElBQUksYUFBcUIsQ0FBQztBQUMxQixJQUFJLGFBQWEsR0FBYSxFQUFFLENBQUMsQ0FBQyxZQUFZO0FBSTlDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsZ0JBQWdCLENBQUMsTUFBZ0I7UUFDL0IsYUFBYSxHQUFHLE1BQU0sQ0FBQyxDQUFDLFdBQVc7SUFDckMsQ0FBQztJQUNELFlBQVksQ0FBQyxLQUE2QjtRQUN4QyxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQy9CLHdFQUF3RTtRQUN4RSxJQUFJLGFBQWEsS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlDLHFCQUFxQjtZQUNyQixJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDL0IsYUFBYSxHQUFHLEVBQUUsQ0FBQzthQUNwQjtZQUNELE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxJQUFJLE1BQU0sSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUM5RCxPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsZ0NBQWdDO1FBQ2hDLE9BQU8sTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUN4QyxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQTZCLEVBQUUsTUFBMkI7UUFDOUQsa0RBQWtEO1FBQ2xELHNDQUFzQztRQUN0QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBNkI7UUFDeEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUE2QjtRQUNwQyxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQy9CLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsaUZBQWlGO1FBQ2pGLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTtZQUNsQyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN2QyxDQUFDO0lBRUQsZ0JBQWdCLENBQ2QsTUFBOEIsRUFDOUIsSUFBNEI7UUFFNUIsaURBQWlEO1FBQ2pELGtEQUFrRDtRQUNsRCxJQUFJLE1BQU0sQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUMzQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQzlELHNDQUFzQztnQkFDdEMsT0FBTyxDQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUM5RCxDQUFDO2FBQ0g7WUFDRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQUs7UUFDaEIsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3JCLG1EQUFtRDtZQUNuRCx5RUFBeUU7WUFDekUsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkQsT0FBTyxHQUFHLEdBQUcsR0FBRyxDQUFDO1NBQ2xCO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVk7UUFDckIsaURBQWlEO1FBQ2pELGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYTtRQUNYLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO3dHQS9FVSxnQkFBZ0I7NEdBQWhCLGdCQUFnQixjQUZmLE1BQU07OzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtcclxuICBSb3V0ZVJldXNlU3RyYXRlZ3ksXHJcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICBEZXRhY2hlZFJvdXRlSGFuZGxlLFxyXG59IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbmNvbnN0IHN0b3JlZFJvdXRlcyA9IG5ldyBNYXA8c3RyaW5nLCBEZXRhY2hlZFJvdXRlSGFuZGxlPigpO1xyXG5sZXQgdG9CZURlbGV0ZVVybDogc3RyaW5nO1xyXG5sZXQgZXhjbHVkZVJvdXRlczogc3RyaW5nW10gPSBbXTsgLy8g5LiN6ZyA6KaB57yT5a2Y55qEdXJsXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEtlZXBBbGl2ZVNlcnZpY2UgaW1wbGVtZW50cyBSb3V0ZVJldXNlU3RyYXRlZ3kge1xyXG4gIHNldEV4Y2x1ZGVSb3V0ZXMocm91dGVzOiBzdHJpbmdbXSkge1xyXG4gICAgZXhjbHVkZVJvdXRlcyA9IHJvdXRlczsgLy8g6K6+572u5LiN57yT5a2Y55qE6Lev55SxXHJcbiAgfVxyXG4gIHNob3VsZERldGFjaChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGNvbmZpZyA9IHJvdXRlLnJvdXRlQ29uZmlnO1xyXG4gICAgLy8gY29uc29sZS5sb2coXCJzaG91bGREZXRhY2hcIiwgdG9CZURlbGV0ZVVybCwgdGhpcy5nZXRSb3V0ZVBhdGgocm91dGUpKTtcclxuICAgIGlmICh0b0JlRGVsZXRlVXJsID09PSB0aGlzLmdldFJvdXRlUGF0aChyb3V0ZSkpIHtcclxuICAgICAgLy8g5a+55LqO5paw5byA55qE5Y+I5Y2z5bCG5YWz6Zet55qEdGFi77yM5LiN57yT5a2YXHJcbiAgICAgIGlmIChyb3V0ZS5jaGlsZHJlbi5sZW5ndGggPT09IDApIHtcclxuICAgICAgICB0b0JlRGVsZXRlVXJsID0gXCJcIjtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAoY29uZmlnICYmIGV4Y2x1ZGVSb3V0ZXMuaW5jbHVkZXModGhpcy5nZXRSb3V0ZVBhdGgocm91dGUpKSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICAvL0Rvbid0IHN0b3JlIGxhenkgbG9hZGVkIHJvdXRlc1xyXG4gICAgcmV0dXJuIGNvbmZpZyAmJiAhY29uZmlnLmxvYWRDaGlsZHJlbjtcclxuICB9XHJcblxyXG4gIHN0b3JlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBoYW5kbGU6IERldGFjaGVkUm91dGVIYW5kbGUpOiB2b2lkIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKFwic3RvcmVcIiwgdGhpcy5nZXRSb3V0ZVBhdGgocm91dGUpKTtcclxuICAgIC8vIGNvbnNvbGUubG9nKFwic3RvcmVcIiwgc3RvcmVkUm91dGVzKTtcclxuICAgIGNvbnN0IGtleSA9IHRoaXMuZ2V0Um91dGVQYXRoKHJvdXRlKTtcclxuICAgIHN0b3JlZFJvdXRlcy5zZXQoa2V5LCBoYW5kbGUpO1xyXG4gIH1cclxuXHJcbiAgc2hvdWxkQXR0YWNoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBrZXkgPSB0aGlzLmdldFJvdXRlUGF0aChyb3V0ZSk7XHJcbiAgICByZXR1cm4gISFyb3V0ZS5yb3V0ZUNvbmZpZyAmJiBzdG9yZWRSb3V0ZXMuaGFzKGtleSk7XHJcbiAgfVxyXG5cclxuICByZXRyaWV2ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IERldGFjaGVkUm91dGVIYW5kbGUge1xyXG4gICAgbGV0IGNvbmZpZyA9IHJvdXRlLnJvdXRlQ29uZmlnO1xyXG4gICAgY29uc3Qga2V5ID0gdGhpcy5nZXRSb3V0ZVBhdGgocm91dGUpO1xyXG4gICAgLy9XZSBkb24ndCBzdG9yZSBsYXp5IGxvYWRlZCByb3V0ZXMsIHNvIGRvbid0IGV2ZW4gYm90aGVyIHRyeWluZyB0byByZXRyaWV2ZSB0aGVtXHJcbiAgICBpZiAoIWNvbmZpZyB8fCBjb25maWcubG9hZENoaWxkcmVuKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdG9yZWRSb3V0ZXMuZ2V0KGtleSkgfHwgbnVsbDtcclxuICB9XHJcblxyXG4gIHNob3VsZFJldXNlUm91dGUoXHJcbiAgICBmdXR1cmU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgICBjdXJyOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90XHJcbiAgKTogYm9vbGVhbiB7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhcInNob3VsZFJldXNlUm91dGVcIiwgZnV0dXJlLCBjdXJyKTtcclxuICAgIC8vIHJldHVybiBmdXR1cmUucm91dGVDb25maWcgPT09IGN1cnIucm91dGVDb25maWc7XHJcbiAgICBpZiAoZnV0dXJlLnJvdXRlQ29uZmlnID09PSBjdXJyLnJvdXRlQ29uZmlnKSB7XHJcbiAgICAgIGlmIChmdXR1cmUuY2hpbGRyZW4ubGVuZ3RoID09PSAwICYmIGN1cnIuY2hpbGRyZW4ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgLy8g5peg5a2Q6Lev55Sx5pe2LCDpgJrov4dwYXJhbXPlkoxxdWVyeVBhcmFtc+WIpOaWreaYr+WQpuWkjeeUqOi3r+eUsVxyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeShmdXR1cmUucGFyYW1zKSA9PT0gSlNPTi5zdHJpbmdpZnkoY3Vyci5wYXJhbXMpXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdldFJvdXRlUGF0aChyb3V0ZSk6IHN0cmluZyB7XHJcbiAgICBpZiAocm91dGUucm91dGVDb25maWcpIHtcclxuICAgICAgLy8gY29uc3QgcGF0aFBhcmFtcyA9IEpTT04uc3RyaW5naWZ5KHJvdXRlLnBhcmFtcyk7XHJcbiAgICAgIC8vIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhyb3V0ZS5xdWVyeVBhcmFtcykudG9TdHJpbmcoKTtcclxuICAgICAgY29uc3QgdXJsID0gcm91dGUudXJsLm1hcCgodikgPT4gdi5wYXRoKS5qb2luKFwiL1wiKTtcclxuICAgICAgcmV0dXJuIFwiL1wiICsgdXJsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxyXG5cclxuICBjbGVhckNhY2hlKHBhdGg6IHN0cmluZykge1xyXG4gICAgLy8gY29uc29sZS5sb2coXCJjbGVhckNhY2hlXCIsIHN0b3JlZFJvdXRlcywgcGF0aCk7XHJcbiAgICB0b0JlRGVsZXRlVXJsID0gcGF0aDtcclxuICAgIHN0b3JlZFJvdXRlcy5kZWxldGUocGF0aCk7XHJcbiAgfVxyXG5cclxuICBjbGVhckFsbENhY2hlKCkge1xyXG4gICAgc3RvcmVkUm91dGVzLmNsZWFyKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { L10n, setCulture } from "@syncfusion/ej2-base";
|
|
3
|
+
import { jaLocalization } from "../../assets/language/ja";
|
|
4
|
+
import { koLocalization } from "../../assets/language/ko";
|
|
5
|
+
import { frLocalization } from "../../assets/language/fr";
|
|
6
|
+
import { zhLocalization } from "../../assets/language/zh-CN";
|
|
7
|
+
import { twLocalization } from "../../assets/language/zh-TW";
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/common/http";
|
|
10
|
+
export class TranslationService {
|
|
11
|
+
http;
|
|
12
|
+
constructor(http) {
|
|
13
|
+
this.http = http;
|
|
14
|
+
}
|
|
15
|
+
getTranslation(selectLang) {
|
|
16
|
+
const localLang = localStorage.getItem("language");
|
|
17
|
+
if (!selectLang) {
|
|
18
|
+
selectLang = localLang || "en";
|
|
19
|
+
}
|
|
20
|
+
return new Promise((resolve) => {
|
|
21
|
+
let code = this.convertLangValue(selectLang);
|
|
22
|
+
if (selectLang != localLang) {
|
|
23
|
+
localStorage.setItem("language", selectLang);
|
|
24
|
+
}
|
|
25
|
+
const data = { lang: code };
|
|
26
|
+
this.http
|
|
27
|
+
.post(`/api/ws/UserServiceWS.asmx/GetTranslation`, data)
|
|
28
|
+
.subscribe({
|
|
29
|
+
next: (res) => {
|
|
30
|
+
localStorage.setItem("translation", JSON.stringify(res));
|
|
31
|
+
this.updateSyncfusionLanguage();
|
|
32
|
+
resolve("success");
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
convertLangValue(code) {
|
|
38
|
+
let value = code == "en"
|
|
39
|
+
? 1
|
|
40
|
+
: code == "zh-tw"
|
|
41
|
+
? 2
|
|
42
|
+
: code == "zh-cn"
|
|
43
|
+
? 3
|
|
44
|
+
: code == "ja-jp"
|
|
45
|
+
? 4
|
|
46
|
+
: code == "ko-kr"
|
|
47
|
+
? 5
|
|
48
|
+
: code == "fr-fr"
|
|
49
|
+
? 6
|
|
50
|
+
: 1;
|
|
51
|
+
return value;
|
|
52
|
+
}
|
|
53
|
+
convertLangCode(value) {
|
|
54
|
+
let code = value == 1
|
|
55
|
+
? "en"
|
|
56
|
+
: value == 2
|
|
57
|
+
? "zh-tw"
|
|
58
|
+
: value == 3
|
|
59
|
+
? "zh-cn"
|
|
60
|
+
: value == 4
|
|
61
|
+
? "ja-jp"
|
|
62
|
+
: value == 5
|
|
63
|
+
? "ko-kr"
|
|
64
|
+
: value == 6
|
|
65
|
+
? "fr-fr"
|
|
66
|
+
: "en";
|
|
67
|
+
return code;
|
|
68
|
+
}
|
|
69
|
+
updateSyncfusionLanguage() {
|
|
70
|
+
const localLang = localStorage.getItem("language");
|
|
71
|
+
if (localLang === "zh-cn") {
|
|
72
|
+
setCulture("zh");
|
|
73
|
+
L10n.load(zhLocalization);
|
|
74
|
+
}
|
|
75
|
+
else if (localLang === "zh-tw") {
|
|
76
|
+
setCulture("zh-Hant-HK");
|
|
77
|
+
L10n.load(twLocalization);
|
|
78
|
+
}
|
|
79
|
+
else if (localLang === "ja-jp") {
|
|
80
|
+
setCulture("ja");
|
|
81
|
+
L10n.load(jaLocalization);
|
|
82
|
+
}
|
|
83
|
+
else if (localLang === "ko-kr") {
|
|
84
|
+
setCulture("ko");
|
|
85
|
+
L10n.load(koLocalization);
|
|
86
|
+
}
|
|
87
|
+
else if (localLang === "fr-fr") {
|
|
88
|
+
setCulture("fr");
|
|
89
|
+
L10n.load(frLocalization);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TranslationService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
93
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TranslationService });
|
|
94
|
+
}
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TranslationService, decorators: [{
|
|
96
|
+
type: Injectable
|
|
97
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JhaXNlLWNvbW1vbi1saWIvc3JjL2xpYi9zZXJ2aWNlL3RyYW5zbGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQUU3RCxNQUFNLE9BQU8sa0JBQWtCO0lBQ1Q7SUFBcEIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUFHLENBQUM7SUFDeEMsY0FBYyxDQUFDLFVBQW1CO1FBQ2hDLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLFVBQVUsR0FBRyxTQUFTLElBQUksSUFBSSxDQUFDO1NBQ2hDO1FBQ0QsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzdCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM3QyxJQUFJLFVBQVUsSUFBSSxTQUFTLEVBQUU7Z0JBQzNCLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFD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QUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEwxMG4sIHNldEN1bHR1cmUgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWJhc2VcIjtcclxuaW1wb3J0IHsgamFMb2NhbGl6YXRpb24gfSBmcm9tIFwiLi4vLi4vYXNzZXRzL2xhbmd1YWdlL2phXCI7XHJcbmltcG9ydCB7IGtvTG9jYWxpemF0aW9uIH0gZnJvbSBcIi4uLy4uL2Fzc2V0cy9sYW5ndWFnZS9rb1wiO1xyXG5pbXBvcnQgeyBmckxvY2FsaXphdGlvbiB9IGZyb20gXCIuLi8uLi9hc3NldHMvbGFuZ3VhZ2UvZnJcIjtcclxuaW1wb3J0IHsgemhMb2NhbGl6YXRpb24gfSBmcm9tIFwiLi4vLi4vYXNzZXRzL2xhbmd1YWdlL3poLUNOXCI7XHJcbmltcG9ydCB7IHR3TG9jYWxpemF0aW9uIH0gZnJvbSBcIi4uLy4uL2Fzc2V0cy9sYW5ndWFnZS96aC1UV1wiO1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvblNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cclxuICBnZXRUcmFuc2xhdGlvbihzZWxlY3RMYW5nPzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBsb2NhbExhbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpO1xyXG4gICAgaWYgKCFzZWxlY3RMYW5nKSB7XHJcbiAgICAgIHNlbGVjdExhbmcgPSBsb2NhbExhbmcgfHwgXCJlblwiO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIGxldCBjb2RlID0gdGhpcy5jb252ZXJ0TGFuZ1ZhbHVlKHNlbGVjdExhbmcpO1xyXG4gICAgICBpZiAoc2VsZWN0TGFuZyAhPSBsb2NhbExhbmcpIHtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImxhbmd1YWdlXCIsIHNlbGVjdExhbmcpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB7IGxhbmc6IGNvZGUgfTtcclxuICAgICAgdGhpcy5odHRwXHJcbiAgICAgICAgLnBvc3QoYC9hcGkvd3MvVXNlclNlcnZpY2VXUy5hc214L0dldFRyYW5zbGF0aW9uYCwgZGF0YSlcclxuICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcInRyYW5zbGF0aW9uXCIsIEpTT04uc3RyaW5naWZ5KHJlcykpO1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN5bmNmdXNpb25MYW5ndWFnZSgpO1xyXG4gICAgICAgICAgICByZXNvbHZlKFwic3VjY2Vzc1wiKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgY29udmVydExhbmdWYWx1ZShjb2RlKSB7XHJcbiAgICBsZXQgdmFsdWUgPVxyXG4gICAgICBjb2RlID09IFwiZW5cIlxyXG4gICAgICAgID8gMVxyXG4gICAgICAgIDogY29kZSA9PSBcInpoLXR3XCJcclxuICAgICAgICA/IDJcclxuICAgICAgICA6IGNvZGUgPT0gXCJ6aC1jblwiXHJcbiAgICAgICAgPyAzXHJcbiAgICAgICAgOiBjb2RlID09IFwiamEtanBcIlxyXG4gICAgICAgID8gNFxyXG4gICAgICAgIDogY29kZSA9PSBcImtvLWtyXCJcclxuICAgICAgICA/IDVcclxuICAgICAgICA6IGNvZGUgPT0gXCJmci1mclwiXHJcbiAgICAgICAgPyA2XHJcbiAgICAgICAgOiAxO1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgY29udmVydExhbmdDb2RlKHZhbHVlKSB7XHJcbiAgICBsZXQgY29kZSA9XHJcbiAgICAgIHZhbHVlID09IDFcclxuICAgICAgICA/IFwiZW5cIlxyXG4gICAgICAgIDogdmFsdWUgPT0gMlxyXG4gICAgICAgID8gXCJ6aC10d1wiXHJcbiAgICAgICAgOiB2YWx1ZSA9PSAzXHJcbiAgICAgICAgPyBcInpoLWNuXCJcclxuICAgICAgICA6IHZhbHVlID09IDRcclxuICAgICAgICA/IFwiamEtanBcIlxyXG4gICAgICAgIDogdmFsdWUgPT0gNVxyXG4gICAgICAgID8gXCJrby1rclwiXHJcbiAgICAgICAgOiB2YWx1ZSA9PSA2XHJcbiAgICAgICAgPyBcImZyLWZyXCJcclxuICAgICAgICA6IFwiZW5cIjtcclxuICAgIHJldHVybiBjb2RlO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlU3luY2Z1c2lvbkxhbmd1YWdlKCkge1xyXG4gICAgY29uc3QgbG9jYWxMYW5nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKTtcclxuICAgIGlmIChsb2NhbExhbmcgPT09IFwiemgtY25cIikge1xyXG4gICAgICBzZXRDdWx0dXJlKFwiemhcIik7XHJcbiAgICAgIEwxMG4ubG9hZCh6aExvY2FsaXphdGlvbik7XHJcbiAgICB9IGVsc2UgaWYgKGxvY2FsTGFuZyA9PT0gXCJ6aC10d1wiKSB7XHJcbiAgICAgIHNldEN1bHR1cmUoXCJ6aC1IYW50LUhLXCIpO1xyXG4gICAgICBMMTBuLmxvYWQodHdMb2NhbGl6YXRpb24pO1xyXG4gICAgfSBlbHNlIGlmIChsb2NhbExhbmcgPT09IFwiamEtanBcIikge1xyXG4gICAgICBzZXRDdWx0dXJlKFwiamFcIik7XHJcbiAgICAgIEwxMG4ubG9hZChqYUxvY2FsaXphdGlvbik7XHJcbiAgICB9IGVsc2UgaWYgKGxvY2FsTGFuZyA9PT0gXCJrby1rclwiKSB7XHJcbiAgICAgIHNldEN1bHR1cmUoXCJrb1wiKTtcclxuICAgICAgTDEwbi5sb2FkKGtvTG9jYWxpemF0aW9uKTtcclxuICAgIH0gZWxzZSBpZiAobG9jYWxMYW5nID09PSBcImZyLWZyXCIpIHtcclxuICAgICAgc2V0Q3VsdHVyZShcImZyXCIpO1xyXG4gICAgICBMMTBuLmxvYWQoZnJMb2NhbGl6YXRpb24pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|