ezlibrary_v2 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/esm2020/ezlibrary_v2.mjs +5 -0
- package/esm2020/lib/admin-service/admin-service.service.mjs +34 -0
- package/esm2020/lib/analysis-search/analysis-search.component.mjs +1077 -0
- package/esm2020/lib/assort-service/assort-service.service.mjs +28 -0
- package/esm2020/lib/attribute-definition/attribute-definition.component.mjs +225 -0
- package/esm2020/lib/auth/auth.guard.mjs +37 -0
- package/esm2020/lib/bi-service/bi.service.mjs +57 -0
- package/esm2020/lib/call-info/callinfo.component.mjs +125 -0
- package/esm2020/lib/comman-service/comman-service.service.mjs +678 -0
- package/esm2020/lib/comman-service/share-data-service.service.mjs +23 -0
- package/esm2020/lib/contact-search/contact-search.component.mjs +690 -0
- package/esm2020/lib/contact-service/contact-service.service.mjs +45 -0
- package/esm2020/lib/ez-lib.component.mjs +26 -0
- package/esm2020/lib/ez-lib.module.mjs +232 -0
- package/esm2020/lib/ez-lib.service.mjs +14 -0
- package/esm2020/lib/ezheader/header.component.mjs +400 -0
- package/esm2020/lib/file-upload/fileupload.component.mjs +918 -0
- package/esm2020/lib/file-upload-log/file-upload-log.component.mjs +169 -0
- package/esm2020/lib/fileupload-module/fileupload-dashboard/fileupload-dashboard.component.mjs +14 -0
- package/esm2020/lib/fileupload-module/fileupload-routing.module.mjs +28 -0
- package/esm2020/lib/fileupload-module/fileupload.module.mjs +80 -0
- package/esm2020/lib/footer/footer.component.mjs +18 -0
- package/esm2020/lib/globle/common-pdf.service.mjs +28 -0
- package/esm2020/lib/globle/globle-env.service.mjs +45 -0
- package/esm2020/lib/globle/memo-report.service.mjs +2798 -0
- package/esm2020/lib/globle/shared-services.service.mjs +25 -0
- package/esm2020/lib/globle/upload-service.service.mjs +63 -0
- package/esm2020/lib/header/header.component.mjs +172 -0
- package/esm2020/lib/invalid/invalid.component.mjs +70 -0
- package/esm2020/lib/logout/logout.component.mjs +104 -0
- package/esm2020/lib/menu-right/menu-right.component.mjs +258 -0
- package/esm2020/lib/pipes/number-with-commas.pipe.mjs +24 -0
- package/esm2020/lib/pipes/order-by-pipe.pipe.mjs +17 -0
- package/esm2020/lib/pipes/selectedCount.mjs +19 -0
- package/esm2020/lib/pipes/sum.pipe.mjs +17 -0
- package/esm2020/lib/pkt-data/pkt-data.component.mjs +1109 -0
- package/esm2020/lib/pricing-service/pricing.service.mjs +64 -0
- package/esm2020/lib/qa-analysis/qa-analysis.component.mjs +1028 -0
- package/esm2020/lib/report-format/report-format.component.mjs +403 -0
- package/esm2020/lib/sessionend/session-end.guard.mjs +27 -0
- package/esm2020/lib/stock-service/lazyload.service.mjs +21 -0
- package/esm2020/lib/stock-service/stock-service.service.mjs +58 -0
- package/esm2020/lib/system-module/subform/subform.component.mjs +2817 -0
- package/esm2020/lib/system-module/system/system.component.mjs +970 -0
- package/esm2020/lib/system-module/system-service/system-service.service.mjs +83 -0
- package/esm2020/lib/system-module/system-service/upload-file.service.mjs +83 -0
- package/esm2020/lib/utility/app-no-dbl-click.directive.mjs +24 -0
- package/esm2020/lib/utility/constants.mjs +5 -0
- package/esm2020/lib/utility/contact-table-search.pipe.mjs +25 -0
- package/esm2020/lib/utility/formate-num-field.pipe.mjs +19 -0
- package/esm2020/lib/utility/search-pipe.pipe.mjs +26 -0
- package/esm2020/lib/utility/selective-preloading-strategy.mjs +23 -0
- package/esm2020/lib/utility/table-search.pipe.mjs +25 -0
- package/esm2020/lib/utility/tranform.directive.mjs +27 -0
- package/esm2020/lib/websearch-history/websearch-history.component.mjs +273 -0
- package/esm2020/public-api.mjs +59 -0
- package/ezlibrary_v2.d.ts +5 -0
- package/fesm2015/ezlibrary_v2.mjs +15300 -0
- package/fesm2015/ezlibrary_v2.mjs.map +1 -0
- package/fesm2020/ezlibrary_v2.mjs +15291 -0
- package/fesm2020/ezlibrary_v2.mjs.map +1 -0
- package/lib/admin-service/admin-service.service.d.ts +13 -0
- package/lib/analysis-search/analysis-search.component.d.ts +118 -0
- package/lib/assort-service/assort-service.service.d.ts +12 -0
- package/lib/attribute-definition/attribute-definition.component.d.ts +43 -0
- package/lib/auth/auth.guard.d.ts +14 -0
- package/lib/bi-service/bi.service.d.ts +16 -0
- package/lib/call-info/callinfo.component.d.ts +26 -0
- package/lib/comman-service/comman-service.service.d.ts +106 -0
- package/lib/comman-service/share-data-service.service.d.ts +10 -0
- package/lib/contact-search/contact-search.component.d.ts +111 -0
- package/lib/contact-service/contact-service.service.d.ts +15 -0
- package/lib/ez-lib.component.d.ts +8 -0
- package/lib/ez-lib.module.d.ts +43 -0
- package/lib/ez-lib.service.d.ts +6 -0
- package/lib/ezheader/header.component.d.ts +57 -0
- package/lib/file-upload/fileupload.component.d.ts +127 -0
- package/lib/file-upload-log/file-upload-log.component.d.ts +49 -0
- package/lib/fileupload-module/fileupload-dashboard/fileupload-dashboard.component.d.ts +8 -0
- package/lib/fileupload-module/fileupload-routing.module.d.ts +7 -0
- package/lib/fileupload-module/fileupload.module.d.ts +15 -0
- package/lib/footer/footer.component.d.ts +9 -0
- package/lib/globle/common-pdf.service.d.ts +9 -0
- package/lib/globle/globle-env.service.d.ts +16 -0
- package/lib/globle/memo-report.service.d.ts +107 -0
- package/lib/globle/shared-services.service.d.ts +12 -0
- package/lib/globle/upload-service.service.d.ts +16 -0
- package/lib/header/header.component.d.ts +41 -0
- package/lib/invalid/invalid.component.d.ts +12 -0
- package/lib/logout/logout.component.d.ts +19 -0
- package/lib/menu-right/menu-right.component.d.ts +43 -0
- package/lib/pipes/number-with-commas.pipe.d.ts +7 -0
- package/lib/pipes/order-by-pipe.pipe.d.ts +7 -0
- package/lib/pipes/selectedCount.d.ts +7 -0
- package/lib/pipes/sum.pipe.d.ts +7 -0
- package/lib/pkt-data/pkt-data.component.d.ts +184 -0
- package/lib/pricing-service/pricing.service.d.ts +16 -0
- package/lib/qa-analysis/qa-analysis.component.d.ts +95 -0
- package/lib/report-format/report-format.component.d.ts +74 -0
- package/lib/sessionend/session-end.guard.d.ts +10 -0
- package/lib/stock-service/lazyload.service.d.ts +7 -0
- package/lib/stock-service/stock-service.service.d.ts +15 -0
- package/lib/system-module/subform/subform.component.d.ts +222 -0
- package/lib/system-module/system/system.component.d.ts +109 -0
- package/lib/system-module/system-service/system-service.service.d.ts +23 -0
- package/lib/system-module/system-service/upload-file.service.d.ts +12 -0
- package/lib/utility/app-no-dbl-click.directive.d.ts +7 -0
- package/lib/utility/constants.d.ts +4 -0
- package/lib/utility/contact-table-search.pipe.d.ts +7 -0
- package/lib/utility/formate-num-field.pipe.d.ts +7 -0
- package/lib/utility/search-pipe.pipe.d.ts +7 -0
- package/lib/utility/selective-preloading-strategy.d.ts +9 -0
- package/lib/utility/table-search.pipe.d.ts +7 -0
- package/lib/utility/tranform.directive.d.ts +10 -0
- package/lib/websearch-history/websearch-history.component.d.ts +56 -0
- package/package.json +31 -0
- package/public-api.d.ts +54 -0
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
// import { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';
|
|
3
|
+
// import { FlashMessagesService } from 'angular2-flash-messages';
|
|
4
|
+
import { Cookie } from 'ng2-cookies/ng2-cookies';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common/http";
|
|
7
|
+
import * as i2 from "@angular/router";
|
|
8
|
+
import * as i3 from "../admin-service/admin-service.service";
|
|
9
|
+
import * as i4 from "@angular/common";
|
|
10
|
+
import * as i5 from "@angular/forms";
|
|
11
|
+
export class MenuRightComponent {
|
|
12
|
+
constructor(http, router, as) {
|
|
13
|
+
this.http = http;
|
|
14
|
+
this.router = router;
|
|
15
|
+
this.as = as;
|
|
16
|
+
this.navigation = [];
|
|
17
|
+
this.mdllist = [];
|
|
18
|
+
this.btn = [];
|
|
19
|
+
this.menulvl1List = [];
|
|
20
|
+
this.menulvl2List = [];
|
|
21
|
+
this.usrLst = [];
|
|
22
|
+
this.userIdns = [];
|
|
23
|
+
this.selectedSlaves = {};
|
|
24
|
+
this.cblen = 0;
|
|
25
|
+
this.v = "";
|
|
26
|
+
this.v1 = "";
|
|
27
|
+
this.v2 = "";
|
|
28
|
+
this.app = "";
|
|
29
|
+
this.applicationList = [];
|
|
30
|
+
}
|
|
31
|
+
fillApp() {
|
|
32
|
+
// this.spinnerService.show();
|
|
33
|
+
const reqObj = {};
|
|
34
|
+
reqObj["formNme"] = "menuRightsMaster";
|
|
35
|
+
this.header['method'] = 'load';
|
|
36
|
+
// const options = new RequestOptions({ headers: this.header });
|
|
37
|
+
// const options = new HttpHeaders({ headers: this.header });
|
|
38
|
+
console.log("this.header", this.header);
|
|
39
|
+
let options = { headers: this.header };
|
|
40
|
+
this.as.getMenuRights(reqObj, options).then((response) => {
|
|
41
|
+
console.log(response);
|
|
42
|
+
if (response.status == 'SUCCESS') {
|
|
43
|
+
this.applicationList = response.applicationList;
|
|
44
|
+
this.btn = response.buttons[0];
|
|
45
|
+
// this.spinnerService.hide();
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
// this.spinnerService.hide();
|
|
49
|
+
// this.flashMessagesService.show(response.message, { cssClass: 'alert-danger', timeout: 3000 });
|
|
50
|
+
}
|
|
51
|
+
}).catch((err) => {
|
|
52
|
+
// this.spinnerService.hide();
|
|
53
|
+
// this.flashMessagesService.show(err.message, { cssClass: 'alert-danger', timeout: 3000 });
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
fillModule(applId) {
|
|
57
|
+
// this.spinnerService.show();
|
|
58
|
+
const reqObj = {};
|
|
59
|
+
reqObj["formNme"] = "menuRightsMaster";
|
|
60
|
+
reqObj["applcationIdn"] = applId;
|
|
61
|
+
this.header['method'] = 'loadModule';
|
|
62
|
+
// const options = new RequestOptions({ headers: this.header });
|
|
63
|
+
// const options = new HttpHeaders({ headers: this.header });
|
|
64
|
+
let options = { headers: this.header };
|
|
65
|
+
this.as.getMenuRights(reqObj, options).then((response) => {
|
|
66
|
+
console.log(response);
|
|
67
|
+
if (response.status == 'SUCCESS') {
|
|
68
|
+
this.usrLst = [];
|
|
69
|
+
this.mdllist = response.moduleList;
|
|
70
|
+
this.pageinfo = response.pageInfo;
|
|
71
|
+
console.log(this.btn);
|
|
72
|
+
console.log(this.mdllist);
|
|
73
|
+
// this.spinnerService.hide();
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
// this.spinnerService.hide();
|
|
77
|
+
// this.flashMessagesService.show(response.message, { cssClass: 'alert-danger', timeout: 3000 });
|
|
78
|
+
}
|
|
79
|
+
}).catch((err) => {
|
|
80
|
+
// this.spinnerService.hide();
|
|
81
|
+
// this.flashMessagesService.show(err.message, { cssClass: 'alert-danger', timeout: 3000 });
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
fillLevel1(module_idn) {
|
|
85
|
+
// this.spinnerService.show();
|
|
86
|
+
console.log(module_idn);
|
|
87
|
+
const reqObj = {};
|
|
88
|
+
reqObj["formNme"] = "menuRightsMaster";
|
|
89
|
+
reqObj["moduleIdn"] = module_idn;
|
|
90
|
+
this.header['method'] = 'loadMenulevel1';
|
|
91
|
+
// const options = new RequestOptions({ headers: this.header });
|
|
92
|
+
// const options = new HttpHeaders({ headers: this.header });
|
|
93
|
+
let options = { headers: this.header };
|
|
94
|
+
this.as.getMenuRights(reqObj, options).then((response) => {
|
|
95
|
+
console.log(response);
|
|
96
|
+
if (response.status == 'SUCCESS') {
|
|
97
|
+
this.usrLst = [];
|
|
98
|
+
this.menulvl2List = [];
|
|
99
|
+
this.menulvl1List = response.kv;
|
|
100
|
+
console.log(this.menulvl1List);
|
|
101
|
+
// this.spinnerService.hide();
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
// this.spinnerService.hide();
|
|
105
|
+
// this.flashMessagesService.show(response.message, { cssClass: 'alert-danger', timeout: 3000 });
|
|
106
|
+
}
|
|
107
|
+
}).catch((err) => {
|
|
108
|
+
// this.spinnerService.hide();
|
|
109
|
+
// this.flashMessagesService.show(err.message, { cssClass: 'alert-danger', timeout: 3000 });
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
fillLevel2(module_idn, menuIdn) {
|
|
113
|
+
// this.spinnerService.show();
|
|
114
|
+
console.log(module_idn);
|
|
115
|
+
console.log(menuIdn);
|
|
116
|
+
const reqObj = {};
|
|
117
|
+
reqObj["formNme"] = "menuRightsMaster";
|
|
118
|
+
reqObj["moduleIdn"] = module_idn;
|
|
119
|
+
reqObj["menuIdn"] = menuIdn;
|
|
120
|
+
this.header['method'] = 'loadMenulevel2';
|
|
121
|
+
// const options = new HttpHeaders({ headers: this.header });
|
|
122
|
+
let options = { headers: this.header };
|
|
123
|
+
// const options = new RequestOptions({ headers: this.header });
|
|
124
|
+
this.as.getMenuRights(reqObj, options).then((response) => {
|
|
125
|
+
console.log(response);
|
|
126
|
+
if (response.status == 'SUCCESS') {
|
|
127
|
+
this.menulvl2List = response.kv;
|
|
128
|
+
this.usrLst = [];
|
|
129
|
+
// this.spinnerService.hide();
|
|
130
|
+
console.log(this.menulvl2List);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
// this.spinnerService.hide();
|
|
134
|
+
// this.flashMessagesService.show(response.message, { cssClass: 'alert-danger', timeout: 3000 });
|
|
135
|
+
}
|
|
136
|
+
}).catch((err) => {
|
|
137
|
+
// this.spinnerService.hide();
|
|
138
|
+
// this.flashMessagesService.show(err.message, { cssClass: 'alert-danger', timeout: 3000 });
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
submenuChange() {
|
|
142
|
+
this.usrLst = [];
|
|
143
|
+
}
|
|
144
|
+
getUserRight(module_idn, menuIdn, submenu, applid) {
|
|
145
|
+
// this.spinnerService.show();
|
|
146
|
+
const reqObj = {};
|
|
147
|
+
reqObj["applcationIdn"] = applid;
|
|
148
|
+
reqObj["moduleIdn"] = module_idn;
|
|
149
|
+
reqObj["menuIdn"] = (submenu == undefined || submenu == "") ? menuIdn : submenu;
|
|
150
|
+
reqObj["formNme"] = "menuRightsMaster";
|
|
151
|
+
this.header['method'] = 'loaduserRights';
|
|
152
|
+
console.log(reqObj);
|
|
153
|
+
console.log("this.header", this.header);
|
|
154
|
+
// const options = new RequestOptions({ headers: this.header });
|
|
155
|
+
// const options = new HttpHeaders({ headers: this.header });
|
|
156
|
+
let options = { headers: this.header };
|
|
157
|
+
this.as.getMenuRights(reqObj, options).then((response) => {
|
|
158
|
+
console.log(response);
|
|
159
|
+
if (response.status == 'SUCCESS') {
|
|
160
|
+
this.usrLst = response.userList;
|
|
161
|
+
this.usrRightLst = response.userRightList;
|
|
162
|
+
// this.spinnerService.hide();
|
|
163
|
+
console.log(this.usrLst);
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
// this.spinnerService.hide();
|
|
167
|
+
// this.flashMessagesService.show(response.message, { cssClass: 'alert-danger', timeout: 3000 });
|
|
168
|
+
}
|
|
169
|
+
}).catch((err) => {
|
|
170
|
+
// this.spinnerService.hide();
|
|
171
|
+
// this.flashMessagesService.show(err.message, { cssClass: 'alert-danger', timeout: 3000 });
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
//e,v,v1,user.user_idn,v2,app // parameter sequence in html
|
|
175
|
+
onChange(e, moduleidn, menuIdn, user_idn, submenuid, applId) {
|
|
176
|
+
// this.spinnerService.show();
|
|
177
|
+
const reqObj = {};
|
|
178
|
+
reqObj["menuIdn"] = (submenuid == undefined || submenuid == "") ? menuIdn : submenuid;
|
|
179
|
+
reqObj["userIdn"] = [user_idn];
|
|
180
|
+
reqObj["hdrIdn"] = menuIdn; // (submenuid == undefined || submenuid == "") ? menuIdn : '';//menuidn lvl1
|
|
181
|
+
reqObj["stt"] = e.target.checked == true ? "1" : "0";
|
|
182
|
+
reqObj["formNme"] = "saveUserRightMaster";
|
|
183
|
+
this.header['method'] = 'saveUserRights';
|
|
184
|
+
console.log(reqObj);
|
|
185
|
+
// const options = new RequestOptions({ headers: this.header });
|
|
186
|
+
// const options = new HttpHeaders({ headers: this.header });
|
|
187
|
+
let options = { headers: this.header };
|
|
188
|
+
this.as.saveUserMenuRights(reqObj, options).then((response) => {
|
|
189
|
+
console.log(response);
|
|
190
|
+
if (response.status == 'SUCCESS') {
|
|
191
|
+
// this.spinnerService.hide();
|
|
192
|
+
this.getUserRight(moduleidn, menuIdn, submenuid, applId);
|
|
193
|
+
// this.flashMessagesService.show(response.message, { cssClass: 'alert-success', timeout: 3000 });
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
// this.spinnerService.hide();
|
|
197
|
+
// this.flashMessagesService.show(response.message, { cssClass: 'alert-danger', timeout: 3000 });
|
|
198
|
+
}
|
|
199
|
+
}).catch((err) => {
|
|
200
|
+
// this.spinnerService.hide();
|
|
201
|
+
// this.flashMessagesService.show(err.message, { cssClass: 'alert-danger', timeout: 3000 });
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
onChangeAll(e, moduleidn, menuIdn, submenuid, applId) {
|
|
205
|
+
// this.spinnerService.show();
|
|
206
|
+
this.usrLst.forEach(eachObj => {
|
|
207
|
+
this.userIdns.push(eachObj.user_idn);
|
|
208
|
+
});
|
|
209
|
+
const reqObj = {};
|
|
210
|
+
reqObj["menuIdn"] = (submenuid == undefined || submenuid == "") ? menuIdn : submenuid;
|
|
211
|
+
reqObj["userIdn"] = this.userIdns;
|
|
212
|
+
reqObj["hdrIdn"] = menuIdn; //(submenuid == undefined || submenuid == "") ? menuIdn : '';
|
|
213
|
+
reqObj["stt"] = e.target.checked == true ? "1" : "0";
|
|
214
|
+
reqObj["formNme"] = "saveUserRightMaster";
|
|
215
|
+
this.header['method'] = 'saveUserRights';
|
|
216
|
+
// const options = new RequestOptions({ headers: this.header });
|
|
217
|
+
// const options = new HttpHeaders({ headers: this.header });
|
|
218
|
+
let options = { headers: this.header };
|
|
219
|
+
this.as.saveUserMenuRights(reqObj, options).then((response) => {
|
|
220
|
+
this.userIdns = [];
|
|
221
|
+
if (response.status == 'SUCCESS') {
|
|
222
|
+
// this.spinnerService.hide();
|
|
223
|
+
this.getUserRight(moduleidn, menuIdn, submenuid, applId);
|
|
224
|
+
// this.flashMessagesService.show(response.message, { cssClass: 'alert-success', timeout: 3000 });
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
// this.spinnerService.hide();
|
|
228
|
+
// this.flashMessagesService.show(response.message, { cssClass: 'alert-danger', timeout: 3000 });
|
|
229
|
+
}
|
|
230
|
+
}).catch((err) => {
|
|
231
|
+
// this.spinnerService.hide();
|
|
232
|
+
// this.flashMessagesService.show(err.message, { cssClass: 'alert-danger', timeout: 3000 });
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
ngOnInit() {
|
|
236
|
+
let mdlk = JSON.parse(localStorage.getItem('mdlKey'));
|
|
237
|
+
debugger;
|
|
238
|
+
this.cUrl = this.router.url;
|
|
239
|
+
console.log(this.cUrl.split('/')[1]);
|
|
240
|
+
this.header = {
|
|
241
|
+
'clientkey': Cookie.get('_ck'),
|
|
242
|
+
'Content-Type': 'application/json',
|
|
243
|
+
'modulekey': mdlk[this.cUrl.split('/')[1]],
|
|
244
|
+
'loginid': Cookie.get('_logid'),
|
|
245
|
+
'source': 'qs'
|
|
246
|
+
};
|
|
247
|
+
//this.fillModule();
|
|
248
|
+
this.fillApp();
|
|
249
|
+
}
|
|
250
|
+
navigationFun(nav, i) { }
|
|
251
|
+
}
|
|
252
|
+
MenuRightComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuRightComponent, deps: [{ token: i1.HttpClient }, { token: i2.Router }, { token: i3.AdminServiceService }], target: i0.ɵɵFactoryTarget.Component });
|
|
253
|
+
MenuRightComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MenuRightComponent, selector: "app-menu-right", ngImport: i0, template: "<div class=\"mt\">\r\n <div class=\"panel panel-default\">\r\n <div class=\"panel-heading\">\r\n <h3 class=\"panel-title\">{{pageinfo?.title}}</h3>\r\n </div>\r\n </div>\r\n <div class=\"content-frame\" style=\"background: #fff;height:100vh;\">\r\n <!-- START CONTENT FRAME LEFT -->\r\n <div class=\"content-frame-left\" *ngIf=\"false\">\r\n <div class=\"panel panel-default\">\r\n <div class=\"panel-body\">\r\n <div class=\"list-group border-bottom\">\r\n <a href=\"javascript:void(0)\" class=\"list-group-item\" [ngClass]=\"{'active' :i == 'cLink'}\" *ngFor=\"let nav of navigation;let i=index\"\r\n (click)=\"navigationFun(nav,i);\">{{nav?.form_field_title}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- END CONTENT FRAME LEFT -->\r\n <!-- START CONTENT FRAME BODY -->\r\n <div class=\"content-frame-body\" [ngStyle]=\"{'margin-left': false ? '0' : '250px'}\">\r\n <div class=\"panel panel-default\">\r\n <div class=\"panel-body\">\r\n <div class=\"row\">\r\n\r\n <div class=\"col-md-2\">\r\n <div class=\"form-group\">\r\n <label class=\"control-label\" style=\"padding-left: 2px;\">Application</label>\r\n <select class=\"form-control\" [(ngModel)]=\"app\" name=\"app\" (change)=\"fillModule(app)\">\r\n <option *ngFor=\"let lov of applicationList\" value=\"{{lov.k}}\">{{lov.v}}</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-2\" *ngIf=\"mdllist?.length > 1 \">\r\n <div class=\"form-group\">\r\n <label class=\"control-label\" style=\"padding-left: 2px;\">Module</label>\r\n <select class=\"form-control\" [(ngModel)]=\"v\" name=\"v\" (change)=\"fillLevel1(v)\">\r\n <option *ngFor=\"let lov of mdllist\" value=\"{{lov.k}}\">{{lov.v}}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-md-2\" *ngIf=\"menulvl1List?.length > 1 \">\r\n <div class=\"form-group\">\r\n <label class=\"control-label\" style=\"padding-left: 2px;\">Main Menu</label>\r\n <select class=\"form-control\" [(ngModel)]=\"v1\" name=\"v1\" (change)=\"fillLevel2(v,v1)\">\r\n <option *ngFor=\"let lov of menulvl1List\" value=\"{{lov.k}}\">{{lov.v}}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-md-2\" *ngIf=\"menulvl2List?.length > 1 \">\r\n <div class=\"form-group\">\r\n <label class=\"control-label\" style=\"padding-left: 2px;\">Sub Menu</label>\r\n <select class=\"form-control\" [(ngModel)]=\"v2\" name=\"v2\" (change)=\"submenuChange()\">\r\n <option *ngFor=\"let lov of menulvl2List\" value=\"{{lov.k}}\">{{lov.v}}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-md-2\">\r\n <button type=\"button\" id=\"addBtn\" class=\"btn btn-info \" style=\"margin-top: 23px;\" (click)=\"getUserRight(v,v1,v2,app)\">{{btn?.form_field_title}}</button>\r\n </div>\r\n </div>\r\n <div style=\"padding: 0 10px;\">\r\n <div style=\"border:1px solid #e5e5e5;margin-top: 30px\" *ngIf=\"usrLst.length > 0\">\r\n <div class=\"row\" *ngIf=\"usrLst.length > 0\">\r\n <div class=\"panel panel-default\" style=\"margin-bottom: 25px;\">\r\n <div class=\"panel-heading\" style=\"padding: 0px;\">\r\n <h3 class=\"panel-title\" style=\"padding: 8px; font-size: 14px;\">Users</h3>\r\n <div class=\"col-md-2 chkAll\" style=\"margin: 0px;\">\r\n <div class=\"form-group\" style=\"padding: 10px;\">\r\n <div class=\"col-md-3\">\r\n <label class=\"switch\">\r\n <input type=\"checkbox\" class=\"switch\" (change)=\"onChangeAll($event,v,v1,v2,app)\" name=\"chkAll\" id=\"chkAll\" [checked]=\"(usrLst.length == usrRightLst.length ? 'checked' : '')\">\r\n <span></span>\r\n </label>\r\n </div>\r\n <label class=\"col-md-4 control-label text-left\" style=\"padding-top: 3px;\r\n padding-left: 40px;\">All </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <form class=\"form-horizontal\">\r\n <div class=\"col-md-2\" *ngFor=\"let user of usrLst ;let i=index\">\r\n <div class=\"form-group\">\r\n <div class=\"col-md-3\">\r\n <label class=\"switch\">\r\n <input type=\"checkbox\" class=\"switch\" (change)=\"onChange($event,v,v1,user.user_idn,v2,app)\" [checked]=\"(false !== usrRightLst.includes(user?.user_idn) ? 'checked' : '')\"\r\n name=\"chk\" id=\"chk{{user.user_idn}}\">\r\n <span></span>\r\n </label>\r\n </div>\r\n <label class=\"col-md-4 control-label text-left\" style=\"padding-top: 3px;padding-left: 40px;text-transform: capitalize;\">{{user?.username}}</label>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- END CONTENT FRAME BODY -->\r\n </div>\r\n</div>", styles: [".btn-default.btn-on-1.active,.btn-default.btn-off-1.active{background-color:#3b5998;color:#fff}.btn.btn-xs,.btn-group-xs>.btn{font-size:12px;padding:5px 15px}.tbactive{background:#3B5998;color:#fff}input[type=radio]{display:none}.content-frame-body{padding:10px!important;margin-left:0!important}.content-frame-left{background:transparent!important;width:250px!important}.headingc{padding:5px;background:whitesmoke;font-size:14px;font-weight:500}.chkAll{padding:0;margin-bottom:15px}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
|
|
254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuRightComponent, decorators: [{
|
|
255
|
+
type: Component,
|
|
256
|
+
args: [{ selector: 'app-menu-right', template: "<div class=\"mt\">\r\n <div class=\"panel panel-default\">\r\n <div class=\"panel-heading\">\r\n <h3 class=\"panel-title\">{{pageinfo?.title}}</h3>\r\n </div>\r\n </div>\r\n <div class=\"content-frame\" style=\"background: #fff;height:100vh;\">\r\n <!-- START CONTENT FRAME LEFT -->\r\n <div class=\"content-frame-left\" *ngIf=\"false\">\r\n <div class=\"panel panel-default\">\r\n <div class=\"panel-body\">\r\n <div class=\"list-group border-bottom\">\r\n <a href=\"javascript:void(0)\" class=\"list-group-item\" [ngClass]=\"{'active' :i == 'cLink'}\" *ngFor=\"let nav of navigation;let i=index\"\r\n (click)=\"navigationFun(nav,i);\">{{nav?.form_field_title}}</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- END CONTENT FRAME LEFT -->\r\n <!-- START CONTENT FRAME BODY -->\r\n <div class=\"content-frame-body\" [ngStyle]=\"{'margin-left': false ? '0' : '250px'}\">\r\n <div class=\"panel panel-default\">\r\n <div class=\"panel-body\">\r\n <div class=\"row\">\r\n\r\n <div class=\"col-md-2\">\r\n <div class=\"form-group\">\r\n <label class=\"control-label\" style=\"padding-left: 2px;\">Application</label>\r\n <select class=\"form-control\" [(ngModel)]=\"app\" name=\"app\" (change)=\"fillModule(app)\">\r\n <option *ngFor=\"let lov of applicationList\" value=\"{{lov.k}}\">{{lov.v}}</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-md-2\" *ngIf=\"mdllist?.length > 1 \">\r\n <div class=\"form-group\">\r\n <label class=\"control-label\" style=\"padding-left: 2px;\">Module</label>\r\n <select class=\"form-control\" [(ngModel)]=\"v\" name=\"v\" (change)=\"fillLevel1(v)\">\r\n <option *ngFor=\"let lov of mdllist\" value=\"{{lov.k}}\">{{lov.v}}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-md-2\" *ngIf=\"menulvl1List?.length > 1 \">\r\n <div class=\"form-group\">\r\n <label class=\"control-label\" style=\"padding-left: 2px;\">Main Menu</label>\r\n <select class=\"form-control\" [(ngModel)]=\"v1\" name=\"v1\" (change)=\"fillLevel2(v,v1)\">\r\n <option *ngFor=\"let lov of menulvl1List\" value=\"{{lov.k}}\">{{lov.v}}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-md-2\" *ngIf=\"menulvl2List?.length > 1 \">\r\n <div class=\"form-group\">\r\n <label class=\"control-label\" style=\"padding-left: 2px;\">Sub Menu</label>\r\n <select class=\"form-control\" [(ngModel)]=\"v2\" name=\"v2\" (change)=\"submenuChange()\">\r\n <option *ngFor=\"let lov of menulvl2List\" value=\"{{lov.k}}\">{{lov.v}}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"col-md-2\">\r\n <button type=\"button\" id=\"addBtn\" class=\"btn btn-info \" style=\"margin-top: 23px;\" (click)=\"getUserRight(v,v1,v2,app)\">{{btn?.form_field_title}}</button>\r\n </div>\r\n </div>\r\n <div style=\"padding: 0 10px;\">\r\n <div style=\"border:1px solid #e5e5e5;margin-top: 30px\" *ngIf=\"usrLst.length > 0\">\r\n <div class=\"row\" *ngIf=\"usrLst.length > 0\">\r\n <div class=\"panel panel-default\" style=\"margin-bottom: 25px;\">\r\n <div class=\"panel-heading\" style=\"padding: 0px;\">\r\n <h3 class=\"panel-title\" style=\"padding: 8px; font-size: 14px;\">Users</h3>\r\n <div class=\"col-md-2 chkAll\" style=\"margin: 0px;\">\r\n <div class=\"form-group\" style=\"padding: 10px;\">\r\n <div class=\"col-md-3\">\r\n <label class=\"switch\">\r\n <input type=\"checkbox\" class=\"switch\" (change)=\"onChangeAll($event,v,v1,v2,app)\" name=\"chkAll\" id=\"chkAll\" [checked]=\"(usrLst.length == usrRightLst.length ? 'checked' : '')\">\r\n <span></span>\r\n </label>\r\n </div>\r\n <label class=\"col-md-4 control-label text-left\" style=\"padding-top: 3px;\r\n padding-left: 40px;\">All </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <form class=\"form-horizontal\">\r\n <div class=\"col-md-2\" *ngFor=\"let user of usrLst ;let i=index\">\r\n <div class=\"form-group\">\r\n <div class=\"col-md-3\">\r\n <label class=\"switch\">\r\n <input type=\"checkbox\" class=\"switch\" (change)=\"onChange($event,v,v1,user.user_idn,v2,app)\" [checked]=\"(false !== usrRightLst.includes(user?.user_idn) ? 'checked' : '')\"\r\n name=\"chk\" id=\"chk{{user.user_idn}}\">\r\n <span></span>\r\n </label>\r\n </div>\r\n <label class=\"col-md-4 control-label text-left\" style=\"padding-top: 3px;padding-left: 40px;text-transform: capitalize;\">{{user?.username}}</label>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- END CONTENT FRAME BODY -->\r\n </div>\r\n</div>", styles: [".btn-default.btn-on-1.active,.btn-default.btn-off-1.active{background-color:#3b5998;color:#fff}.btn.btn-xs,.btn-group-xs>.btn{font-size:12px;padding:5px 15px}.tbactive{background:#3B5998;color:#fff}input[type=radio]{display:none}.content-frame-body{padding:10px!important;margin-left:0!important}.content-frame-left{background:transparent!important;width:250px!important}.headingc{padding:5px;background:whitesmoke;font-size:14px;font-weight:500}.chkAll{padding:0;margin-bottom:15px}\n"] }]
|
|
257
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Router }, { type: i3.AdminServiceService }]; } });
|
|
258
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1yaWdodC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lei1saWIvc3JjL2xpYi9tZW51LXJpZ2h0L21lbnUtcmlnaHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXotbGliL3NyYy9saWIvbWVudS1yaWdodC9tZW51LXJpZ2h0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFNbEQsa0VBQWtFO0FBQ2xFLGtFQUFrRTtBQUNsRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7QUFRakQsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QixZQUFvQixJQUFnQixFQUMxQixNQUFjLEVBQ2QsRUFBdUI7UUFGYixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxPQUFFLEdBQUYsRUFBRSxDQUFxQjtRQU1qQyxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixRQUFHLEdBQVEsRUFBRSxDQUFDO1FBRWQsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFHZCxtQkFBYyxHQUFnQyxFQUFFLENBQUM7UUFDakQsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNWLE1BQUMsR0FBRyxFQUFFLENBQUM7UUFDUCxPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsT0FBRSxHQUFHLEVBQUUsQ0FBQztRQUNSLFFBQUcsR0FBRyxFQUFFLENBQUM7UUFDVCxvQkFBZSxHQUFHLEVBQUUsQ0FBQztJQW5CakIsQ0FBQztJQXFCTCxPQUFPO1FBQ0wsOEJBQThC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UUFBUSxDQUFDO1lBQy9CLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztRQUNGLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7O2dIQXJRZCxrQkFBa0I7b0dBQWxCLGtCQUFrQixzRENoQi9CLGl2TEEwR007NEZEMUZPLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG4vLyBpbXBvcnQgeyBSZXF1ZXN0T3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2h0dHAnO1xyXG5pbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbi8vIGltcG9ydCB7IE5nNExvYWRpbmdTcGlubmVyU2VydmljZSB9IGZyb20gJ25nNC1sb2FkaW5nLXNwaW5uZXInO1xyXG4vLyBpbXBvcnQgeyBGbGFzaE1lc3NhZ2VzU2VydmljZSB9IGZyb20gJ2FuZ3VsYXIyLWZsYXNoLW1lc3NhZ2VzJztcclxuaW1wb3J0IHsgQ29va2llIH0gZnJvbSAnbmcyLWNvb2tpZXMvbmcyLWNvb2tpZXMnO1xyXG5pbXBvcnQgeyBBZG1pblNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vYWRtaW4tc2VydmljZS9hZG1pbi1zZXJ2aWNlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtbWVudS1yaWdodCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtcmlnaHQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21lbnUtcmlnaHQuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51UmlnaHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBhczogQWRtaW5TZXJ2aWNlU2VydmljZSxcclxuICAgIC8vIHByaXZhdGUgZmxhc2hNZXNzYWdlc1NlcnZpY2U6IEZsYXNoTWVzc2FnZXNTZXJ2aWNlLFxyXG4gICAgLy8gcHJpdmF0ZSBzcGlubmVyU2VydmljZTogTmc0TG9hZGluZ1NwaW5uZXJTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcblxyXG4gIG5hdmlnYXRpb24gPSBbXTtcclxuICBtZGxsaXN0ID0gW107XHJcbiAgYnRuOiBhbnkgPSBbXTtcclxuICBwYWdlaW5mbztcclxuICBtZW51bHZsMUxpc3QgPSBbXTtcclxuICBtZW51bHZsMkxpc3QgPSBbXTtcclxuICB1c3JMc3QgPSBbXTtcclxuICB1c2VySWRucyA9IFtdO1xyXG4gIHVzclJpZ2h0THN0XHJcbiAgaGVhZGVyO1xyXG4gIHNlbGVjdGVkU2xhdmVzOiB7IFtrZXk6IG51bWJlcl06IGJvb2xlYW47IH0gPSB7fTtcclxuICBjYmxlbiA9IDA7XHJcbiAgdiA9IFwiXCI7XHJcbiAgdjEgPSBcIlwiO1xyXG4gIHYyID0gXCJcIjtcclxuICBhcHAgPSBcIlwiO1xyXG4gIGFwcGxpY2F0aW9uTGlzdCA9IFtdO1xyXG5cclxuICBmaWxsQXBwKCkge1xyXG4gICAgLy8gdGhpcy5zcGlubmVyU2VydmljZS5zaG93KCk7XHJcbiAgICBjb25zdCByZXFPYmogPSB7fTtcclxuICAgIHJlcU9ialtcImZvcm1ObWVcIl0gPSBcIm1lbnVSaWdodHNNYXN0ZXJcIjtcclxuICAgIHRoaXMuaGVhZGVyWydtZXRob2QnXSA9ICdsb2FkJztcclxuICAgIC8vIGNvbnN0IG9wdGlvbnMgPSBuZXcgUmVxdWVzdE9wdGlvbnMoeyBoZWFkZXJzOiB0aGlzLmhlYWRlciB9KTtcclxuICAgIC8vIGNvbnN0IG9wdGlvbnMgPSBuZXcgSHR0cEhlYWRlcnMoeyBoZWFkZXJzOiB0aGlzLmhlYWRlciB9KTtcclxuICAgIGNvbnNvbGUubG9nKFwidGhpcy5oZWFkZXJcIiwgdGhpcy5oZWFkZXIpO1xyXG4gICAgbGV0IG9wdGlvbnMgPSB7IGhlYWRlcnM6IHRoaXMuaGVhZGVyIH07XHJcbiAgICB0aGlzLmFzLmdldE1lbnVSaWdodHMocmVxT2JqLCBvcHRpb25zKS50aGVuKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcclxuICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PSAnU1VDQ0VTUycpIHtcclxuICAgICAgICB0aGlzLmFwcGxpY2F0aW9uTGlzdCA9IHJlc3BvbnNlLmFwcGxpY2F0aW9uTGlzdDtcclxuICAgICAgICB0aGlzLmJ0biA9IHJlc3BvbnNlLmJ1dHRvbnNbMF07XHJcblxyXG4gICAgICAgIC8vIHRoaXMuc3Bpbm5lclNlcnZpY2UuaGlkZSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIHRoaXMuc3Bpbm5lclNlcnZpY2UuaGlkZSgpO1xyXG4gICAgICAgIC8vIHRoaXMuZmxhc2hNZXNzYWdlc1NlcnZpY2Uuc2hvdyhyZXNwb25zZS5tZXNzYWdlLCB7IGNzc0NsYXNzOiAnYWxlcnQtZGFuZ2VyJywgdGltZW91dDogMzAwMCB9KTtcclxuICAgICAgfVxyXG4gICAgfSkuY2F0Y2goKGVycjogYW55KSA9PiB7XHJcbiAgICAgIC8vIHRoaXMuc3Bpbm5lclNlcnZpY2UuaGlkZSgpO1xyXG4gICAgICAvLyB0aGlzLmZsYXNoTWVzc2FnZXNTZXJ2aWNlLnNob3coZXJyLm1lc3NhZ2UsIHsgY3NzQ2xhc3M6ICdhbGVydC1kYW5nZXInLCB0aW1lb3V0OiAzMDAwIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBmaWxsTW9kdWxlKGFwcGxJZCkge1xyXG4gICAgLy8gdGhpcy5zcGlubmVyU2VydmljZS5zaG93KCk7XHJcbiAgICBjb25zdCByZXFPYmogPSB7fTtcclxuICAgIHJlcU9ialtcImZvcm1ObWVcIl0gPSBcIm1lbnVSaWdodHNNYXN0ZXJcIjtcclxuICAgIHJlcU9ialtcImFwcGxjYXRpb25JZG5cIl0gPSBhcHBsSWQ7XHJcbiAgICB0aGlzLmhlYWRlclsnbWV0aG9kJ10gPSAnbG9hZE1vZHVsZSc7XHJcbiAgICAvLyBjb25zdCBvcHRpb25zID0gbmV3IFJlcXVlc3RPcHRpb25zKHsgaGVhZGVyczogdGhpcy5oZWFkZXIgfSk7XHJcbiAgICAvLyBjb25zdCBvcHRpb25zID0gbmV3IEh0dHBIZWFkZXJzKHsgaGVhZGVyczogdGhpcy5oZWFkZXIgfSk7XHJcbiAgICBsZXQgb3B0aW9ucyA9IHsgaGVhZGVyczogdGhpcy5oZWFkZXIgfTtcclxuXHJcbiAgICB0aGlzLmFzLmdldE1lbnVSaWdodHMocmVxT2JqLCBvcHRpb25zKS50aGVuKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcclxuICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PSAnU1VDQ0VTUycpIHtcclxuICAgICAgICB0aGlzLnVzckxzdCA9IFtdO1xyXG4gICAgICAgIHRoaXMubWRsbGlzdCA9IHJlc3BvbnNlLm1vZHVsZUxpc3Q7XHJcbiAgICAgICAgdGhpcy5wYWdlaW5mbyA9IHJlc3BvbnNlLnBhZ2VJbmZvO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuYnRuKTtcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLm1kbGxpc3QpO1xyXG4gICAgICAgIC8vIHRoaXMuc3Bpbm5lclNlcnZpY2UuaGlkZSgpO1xyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyB0aGlzLnNwaW5uZXJTZXJ2aWNlLmhpZGUoKTtcclxuICAgICAgICAvLyB0aGlzLmZsYXNoTWVzc2FnZXNTZXJ2aWNlLnNob3cocmVzcG9uc2UubWVzc2FnZSwgeyBjc3NDbGFzczogJ2FsZXJ0LWRhbmdlcicsIHRpbWVvdXQ6IDMwMDAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pLmNhdGNoKChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAvLyB0aGlzLnNwaW5uZXJTZXJ2aWNlLmhpZGUoKTtcclxuICAgICAgLy8gdGhpcy5mbGFzaE1lc3NhZ2VzU2VydmljZS5zaG93KGVyci5tZXNzYWdlLCB7IGNzc0NsYXNzOiAnYWxlcnQtZGFuZ2VyJywgdGltZW91dDogMzAwMCB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZmlsbExldmVsMShtb2R1bGVfaWRuKSB7XHJcbiAgICAvLyB0aGlzLnNwaW5uZXJTZXJ2aWNlLnNob3coKTtcclxuICAgIGNvbnNvbGUubG9nKG1vZHVsZV9pZG4pXHJcbiAgICBjb25zdCByZXFPYmogPSB7fTtcclxuICAgIHJlcU9ialtcImZvcm1ObWVcIl0gPSBcIm1lbnVSaWdodHNNYXN0ZXJcIjtcclxuICAgIHJlcU9ialtcIm1vZHVsZUlkblwiXSA9IG1vZHVsZV9pZG47XHJcbiAgICB0aGlzLmhlYWRlclsnbWV0aG9kJ10gPSAnbG9hZE1lbnVsZXZlbDEnO1xyXG4gICAgLy8gY29uc3Qgb3B0aW9ucyA9IG5ldyBSZXF1ZXN0T3B0aW9ucyh7IGhlYWRlcnM6IHRoaXMuaGVhZGVyIH0pO1xyXG4gICAgLy8gY29uc3Qgb3B0aW9ucyA9IG5ldyBIdHRwSGVhZGVycyh7IGhlYWRlcnM6IHRoaXMuaGVhZGVyIH0pO1xyXG4gICAgbGV0IG9wdGlvbnMgPSB7IGhlYWRlcnM6IHRoaXMuaGVhZGVyIH07XHJcblxyXG4gICAgdGhpcy5hcy5nZXRNZW51UmlnaHRzKHJlcU9iaiwgb3B0aW9ucykudGhlbigocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhyZXNwb25zZSk7XHJcbiAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT0gJ1NVQ0NFU1MnKSB7XHJcbiAgICAgICAgdGhpcy51c3JMc3QgPSBbXTtcclxuICAgICAgICB0aGlzLm1lbnVsdmwyTGlzdCA9IFtdO1xyXG4gICAgICAgIHRoaXMubWVudWx2bDFMaXN0ID0gcmVzcG9uc2Uua3Y7XHJcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5tZW51bHZsMUxpc3QpO1xyXG4gICAgICAgIC8vIHRoaXMuc3Bpbm5lclNlcnZpY2UuaGlkZSgpO1xyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyB0aGlzLnNwaW5uZXJTZXJ2aWNlLmhpZGUoKTtcclxuICAgICAgICAvLyB0aGlzLmZsYXNoTWVzc2FnZXNTZXJ2aWNlLnNob3cocmVzcG9uc2UubWVzc2FnZSwgeyBjc3NDbGFzczogJ2FsZXJ0LWRhbmdlcicsIHRpbWVvdXQ6IDMwMDAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pLmNhdGNoKChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAvLyB0aGlzLnNwaW5uZXJTZXJ2aWNlLmhpZGUoKTtcclxuICAgICAgLy8gdGhpcy5mbGFzaE1lc3NhZ2VzU2VydmljZS5zaG93KGVyci5tZXNzYWdlLCB7IGNzc0NsYXNzOiAnYWxlcnQtZGFuZ2VyJywgdGltZW91dDogMzAwMCB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZmlsbExldmVsMihtb2R1bGVfaWRuLCBtZW51SWRuKSB7XHJcbiAgICAvLyB0aGlzLnNwaW5uZXJTZXJ2aWNlLnNob3coKTtcclxuICAgIGNvbnNvbGUubG9nKG1vZHVsZV9pZG4pO1xyXG4gICAgY29uc29sZS5sb2cobWVudUlkbik7XHJcblxyXG4gICAgY29uc3QgcmVxT2JqID0ge307XHJcbiAgICByZXFPYmpbXCJmb3JtTm1lXCJdID0gXCJtZW51UmlnaHRzTWFzdGVyXCI7XHJcbiAgICByZXFPYmpbXCJtb2R1bGVJZG5cIl0gPSBtb2R1bGVfaWRuO1xyXG4gICAgcmVxT2JqW1wibWVudUlkblwiXSA9IG1lbnVJZG47XHJcbiAgICB0aGlzLmhlYWRlclsnbWV0aG9kJ10gPSAnbG9hZE1lbnVsZXZlbDInO1xyXG4gICAgLy8gY29uc3Qgb3B0aW9ucyA9IG5ldyBIdHRwSGVhZGVycyh7IGhlYWRlcnM6IHRoaXMuaGVhZGVyIH0pO1xyXG4gICAgbGV0IG9wdGlvbnMgPSB7IGhlYWRlcnM6IHRoaXMuaGVhZGVyIH07XHJcblxyXG4gICAgLy8gY29uc3Qgb3B0aW9ucyA9IG5ldyBSZXF1ZXN0T3B0aW9ucyh7IGhlYWRlcnM6IHRoaXMuaGVhZGVyIH0pO1xyXG4gICAgdGhpcy5hcy5nZXRNZW51UmlnaHRzKHJlcU9iaiwgb3B0aW9ucykudGhlbigocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhyZXNwb25zZSk7XHJcbiAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT0gJ1NVQ0NFU1MnKSB7XHJcbiAgICAgICAgdGhpcy5tZW51bHZsMkxpc3QgPSByZXNwb25zZS5rdjtcclxuICAgICAgICB0aGlzLnVzckxzdCA9IFtdO1xyXG4gICAgICAgIC8vIHRoaXMuc3Bpbm5lclNlcnZpY2UuaGlkZSgpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMubWVudWx2bDJMaXN0KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyB0aGlzLnNwaW5uZXJTZXJ2aWNlLmhpZGUoKTtcclxuICAgICAgICAvLyB0aGlzLmZsYXNoTWVzc2FnZXNTZXJ2aWNlLnNob3cocmVzcG9uc2UubWVzc2FnZSwgeyBjc3NDbGFzczogJ2FsZXJ0LWRhbmdlcicsIHRpbWVvdXQ6IDMwMDAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pLmNhdGNoKChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAvLyB0aGlzLnNwaW5uZXJTZXJ2aWNlLmhpZGUoKTtcclxuICAgICAgLy8gdGhpcy5mbGFzaE1lc3NhZ2VzU2VydmljZS5zaG93KGVyci5tZXNzYWdlLCB7IGNzc0NsYXNzOiAnYWxlcnQtZGFuZ2VyJywgdGltZW91dDogMzAwMCB9KTtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcbiAgc3VibWVudUNoYW5nZSgpIHtcclxuICAgIHRoaXMudXNyTHN0ID0gW107XHJcbiAgfVxyXG4gIGdldFVzZXJSaWdodChtb2R1bGVfaWRuLCBtZW51SWRuLCBzdWJtZW51LCBhcHBsaWQpIHtcclxuICAgIC8vIHRoaXMuc3Bpbm5lclNlcnZpY2Uuc2hvdygpO1xyXG4gICAgY29uc3QgcmVxT2JqID0ge307XHJcbiAgICByZXFPYmpbXCJhcHBsY2F0aW9uSWRuXCJdID0gYXBwbGlkO1xyXG4gICAgcmVxT2JqW1wibW9kdWxlSWRuXCJdID0gbW9kdWxlX2lkbjtcclxuICAgIHJlcU9ialtcIm1lbnVJZG5cIl0gPSAoc3VibWVudSA9PSB1bmRlZmluZWQgfHwgc3VibWVudSA9PSBcIlwiKSA/IG1lbnVJZG4gOiBzdWJtZW51O1xyXG4gICAgcmVxT2JqW1wiZm9ybU5tZVwiXSA9IFwibWVudVJpZ2h0c01hc3RlclwiO1xyXG4gICAgdGhpcy5oZWFkZXJbJ21ldGhvZCddID0gJ2xvYWR1c2VyUmlnaHRzJztcclxuICAgIGNvbnNvbGUubG9nKHJlcU9iaik7XHJcbiAgICBjb25zb2xlLmxvZyhcInRoaXMuaGVhZGVyXCIsIHRoaXMuaGVhZGVyKTtcclxuICAgIC8vIGNvbnN0IG9wdGlvbnMgPSBuZXcgUmVxdWVzdE9wdGlvbnMoeyBoZWFkZXJzOiB0aGlzLmhlYWRlciB9KTtcclxuICAgIC8vIGNvbnN0IG9wdGlvbnMgPSBuZXcgSHR0cEhlYWRlcnMoeyBoZWFkZXJzOiB0aGlzLmhlYWRlciB9KTtcclxuICAgIGxldCBvcHRpb25zID0geyBoZWFkZXJzOiB0aGlzLmhlYWRlciB9O1xyXG5cclxuICAgIHRoaXMuYXMuZ2V0TWVudVJpZ2h0cyhyZXFPYmosIG9wdGlvbnMpLnRoZW4oKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UpO1xyXG4gICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09ICdTVUNDRVNTJykge1xyXG4gICAgICAgIHRoaXMudXNyTHN0ID0gcmVzcG9uc2UudXNlckxpc3Q7XHJcbiAgICAgICAgdGhpcy51c3JSaWdodExzdCA9IHJlc3BvbnNlLnVzZXJSaWdodExpc3Q7XHJcbiAgICAgICAgLy8gdGhpcy5zcGlubmVyU2VydmljZS5oaWRlKCk7XHJcbiAgICAgICAgY29uc29sZS5sb2codGhpcy51c3JMc3QpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIHRoaXMuc3Bpbm5lclNlcnZpY2UuaGlkZSgpO1xyXG4gICAgICAgIC8vIHRoaXMuZmxhc2hNZXNzYWdlc1NlcnZpY2Uuc2hvdyhyZXNwb25zZS5tZXNzYWdlLCB7IGNzc0NsYXNzOiAnYWxlcnQtZGFuZ2VyJywgdGltZW91dDogMzAwMCB9KTtcclxuICAgICAgfVxyXG4gICAgfSkuY2F0Y2goKGVycjogYW55KSA9PiB7XHJcbiAgICAgIC8vIHRoaXMuc3Bpbm5lclNlcnZpY2UuaGlkZSgpO1xyXG4gICAgICAvLyB0aGlzLmZsYXNoTWVzc2FnZXNTZXJ2aWNlLnNob3coZXJyLm1lc3NhZ2UsIHsgY3NzQ2xhc3M6ICdhbGVydC1kYW5nZXInLCB0aW1lb3V0OiAzMDAwIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuICAvL2Usdix2MSx1c2VyLnVzZXJfaWRuLHYyLGFwcCAgLy8gcGFyYW1ldGVyIHNlcXVlbmNlIGluIGh0bWxcclxuICBvbkNoYW5nZShlLCBtb2R1bGVpZG4sIG1lbnVJZG4sIHVzZXJfaWRuLCBzdWJtZW51aWQsIGFwcGxJZCkge1xyXG4gICAgLy8gdGhpcy5zcGlubmVyU2VydmljZS5zaG93KCk7XHJcbiAgICBjb25zdCByZXFPYmogPSB7fTtcclxuICAgIHJlcU9ialtcIm1lbnVJZG5cIl0gPSAoc3VibWVudWlkID09IHVuZGVmaW5lZCB8fCBzdWJtZW51aWQgPT0gXCJcIikgPyBtZW51SWRuIDogc3VibWVudWlkO1xyXG4gICAgcmVxT2JqW1widXNlcklkblwiXSA9IFt1c2VyX2lkbl07XHJcbiAgICByZXFPYmpbXCJoZHJJZG5cIl0gPSBtZW51SWRuOy8vIChzdWJtZW51aWQgPT0gdW5kZWZpbmVkIHx8IHN1Ym1lbnVpZCA9PSBcIlwiKSA/IG1lbnVJZG4gOiAnJzsvL21lbnVpZG4gbHZsMVxyXG4gICAgcmVxT2JqW1wic3R0XCJdID0gZS50YXJnZXQuY2hlY2tlZCA9PSB0cnVlID8gXCIxXCIgOiBcIjBcIjtcclxuICAgIHJlcU9ialtcImZvcm1ObWVcIl0gPSBcInNhdmVVc2VyUmlnaHRNYXN0ZXJcIjtcclxuICAgIHRoaXMuaGVhZGVyWydtZXRob2QnXSA9ICdzYXZlVXNlclJpZ2h0cyc7XHJcbiAgICBjb25zb2xlLmxvZyhyZXFPYmopO1xyXG5cclxuICAgIC8vIGNvbnN0IG9wdGlvbnMgPSBuZXcgUmVxdWVzdE9wdGlvbnMoeyBoZWFkZXJzOiB0aGlzLmhlYWRlciB9KTtcclxuICAgIC8vIGNvbnN0IG9wdGlvbnMgPSBuZXcgSHR0cEhlYWRlcnMoeyBoZWFkZXJzOiB0aGlzLmhlYWRlciB9KTtcclxuICAgIGxldCBvcHRpb25zID0geyBoZWFkZXJzOiB0aGlzLmhlYWRlciB9O1xyXG5cclxuICAgIHRoaXMuYXMuc2F2ZVVzZXJNZW51UmlnaHRzKHJlcU9iaiwgb3B0aW9ucykudGhlbigocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhyZXNwb25zZSk7XHJcbiAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT0gJ1NVQ0NFU1MnKSB7XHJcbiAgICAgICAgLy8gdGhpcy5zcGlubmVyU2VydmljZS5oaWRlKCk7XHJcbiAgICAgICAgdGhpcy5nZXRVc2VyUmlnaHQobW9kdWxlaWRuLCBtZW51SWRuLCBzdWJtZW51aWQsIGFwcGxJZCk7XHJcbiAgICAgICAgLy8gdGhpcy5mbGFzaE1lc3NhZ2VzU2VydmljZS5zaG93KHJlc3BvbnNlLm1lc3NhZ2UsIHsgY3NzQ2xhc3M6ICdhbGVydC1zdWNjZXNzJywgdGltZW91dDogMzAwMCB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyB0aGlzLnNwaW5uZXJTZXJ2aWNlLmhpZGUoKTtcclxuICAgICAgICAvLyB0aGlzLmZsYXNoTWVzc2FnZXNTZXJ2aWNlLnNob3cocmVzcG9uc2UubWVzc2FnZSwgeyBjc3NDbGFzczogJ2FsZXJ0LWRhbmdlcicsIHRpbWVvdXQ6IDMwMDAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pLmNhdGNoKChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAvLyB0aGlzLnNwaW5uZXJTZXJ2aWNlLmhpZGUoKTtcclxuICAgICAgLy8gdGhpcy5mbGFzaE1lc3NhZ2VzU2VydmljZS5zaG93KGVyci5tZXNzYWdlLCB7IGNzc0NsYXNzOiAnYWxlcnQtZGFuZ2VyJywgdGltZW91dDogMzAwMCB9KTtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlQWxsKGUsIG1vZHVsZWlkbiwgbWVudUlkbiwgc3VibWVudWlkLCBhcHBsSWQpIHtcclxuICAgIC8vIHRoaXMuc3Bpbm5lclNlcnZpY2Uuc2hvdygpO1xyXG4gICAgdGhpcy51c3JMc3QuZm9yRWFjaChlYWNoT2JqID0+IHtcclxuICAgICAgdGhpcy51c2VySWRucy5wdXNoKGVhY2hPYmoudXNlcl9pZG4pO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCByZXFPYmogPSB7fTtcclxuICAgIHJlcU9ialtcIm1lbnVJZG5cIl0gPSAoc3VibWVudWlkID09IHVuZGVmaW5lZCB8fCBzdWJtZW51aWQgPT0gXCJcIikgPyBtZW51SWRuIDogc3VibWVudWlkO1xyXG4gICAgcmVxT2JqW1widXNlcklkblwiXSA9IHRoaXMudXNlcklkbnM7XHJcbiAgICByZXFPYmpbXCJoZHJJZG5cIl0gPSBtZW51SWRuOyAvLyhzdWJtZW51aWQgPT0gdW5kZWZpbmVkIHx8IHN1Ym1lbnVpZCA9PSBcIlwiKSA/IG1lbnVJZG4gOiAnJztcclxuICAgIHJlcU9ialtcInN0dFwiXSA9IGUudGFyZ2V0LmNoZWNrZWQgPT0gdHJ1ZSA/IFwiMVwiIDogXCIwXCI7XHJcbiAgICByZXFPYmpbXCJmb3JtTm1lXCJdID0gXCJzYXZlVXNlclJpZ2h0TWFzdGVyXCI7XHJcbiAgICB0aGlzLmhlYWRlclsnbWV0aG9kJ10gPSAnc2F2ZVVzZXJSaWdodHMnO1xyXG4gICAgLy8gY29uc3Qgb3B0aW9ucyA9IG5ldyBSZXF1ZXN0T3B0aW9ucyh7IGhlYWRlcnM6IHRoaXMuaGVhZGVyIH0pO1xyXG4gICAgLy8gY29uc3Qgb3B0aW9ucyA9IG5ldyBIdHRwSGVhZGVycyh7IGhlYWRlcnM6IHRoaXMuaGVhZGVyIH0pO1xyXG4gICAgbGV0IG9wdGlvbnMgPSB7IGhlYWRlcnM6IHRoaXMuaGVhZGVyIH07XHJcblxyXG4gICAgdGhpcy5hcy5zYXZlVXNlck1lbnVSaWdodHMocmVxT2JqLCBvcHRpb25zKS50aGVuKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMudXNlcklkbnMgPSBbXTtcclxuICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PSAnU1VDQ0VTUycpIHtcclxuICAgICAgICAvLyB0aGlzLnNwaW5uZXJTZXJ2aWNlLmhpZGUoKTtcclxuICAgICAgICB0aGlzLmdldFVzZXJSaWdodChtb2R1bGVpZG4sIG1lbnVJZG4sIHN1Ym1lbnVpZCwgYXBwbElkKTtcclxuICAgICAgICAvLyB0aGlzLmZsYXNoTWVzc2FnZXNTZXJ2aWNlLnNob3cocmVzcG9uc2UubWVzc2FnZSwgeyBjc3NDbGFzczogJ2FsZXJ0LXN1Y2Nlc3MnLCB0aW1lb3V0OiAzMDAwIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIHRoaXMuc3Bpbm5lclNlcnZpY2UuaGlkZSgpO1xyXG4gICAgICAgIC8vIHRoaXMuZmxhc2hNZXNzYWdlc1NlcnZpY2Uuc2hvdyhyZXNwb25zZS5tZXNzYWdlLCB7IGNzc0NsYXNzOiAnYWxlcnQtZGFuZ2VyJywgdGltZW91dDogMzAwMCB9KTtcclxuICAgICAgfVxyXG4gICAgfSkuY2F0Y2goKGVycjogYW55KSA9PiB7XHJcbiAgICAgIC8vIHRoaXMuc3Bpbm5lclNlcnZpY2UuaGlkZSgpO1xyXG4gICAgICAvLyB0aGlzLmZsYXNoTWVzc2FnZXNTZXJ2aWNlLnNob3coZXJyLm1lc3NhZ2UsIHsgY3NzQ2xhc3M6ICdhbGVydC1kYW5nZXInLCB0aW1lb3V0OiAzMDAwIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuICBjVXJsO1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgbGV0IG1kbGsgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdtZGxLZXknKSk7XHJcbiAgICBkZWJ1Z2dlclxyXG4gICAgdGhpcy5jVXJsID0gdGhpcy5yb3V0ZXIudXJsO1xyXG4gICAgY29uc29sZS5sb2codGhpcy5jVXJsLnNwbGl0KCcvJylbMV0pO1xyXG4gICAgdGhpcy5oZWFkZXIgPSB7XHJcbiAgICAgICdjbGllbnRrZXknOiBDb29raWUuZ2V0KCdfY2snKSxcclxuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgJ21vZHVsZWtleSc6IG1kbGtbdGhpcy5jVXJsLnNwbGl0KCcvJylbMV1dLFxyXG4gICAgICAnbG9naW5pZCc6IENvb2tpZS5nZXQoJ19sb2dpZCcpLFxyXG4gICAgICAnc291cmNlJzogJ3FzJ1xyXG4gICAgfTtcclxuICAgIC8vdGhpcy5maWxsTW9kdWxlKCk7XHJcbiAgICB0aGlzLmZpbGxBcHAoKTtcclxuICB9XHJcblxyXG4gIG5hdmlnYXRpb25GdW4obmF2LCBpKSB7IH1cclxuXHJcbn1cclxuXHJcbiIsIjxkaXYgY2xhc3M9XCJtdFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJwYW5lbCBwYW5lbC1kZWZhdWx0XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicGFuZWwtaGVhZGluZ1wiPlxyXG4gICAgICA8aDMgY2xhc3M9XCJwYW5lbC10aXRsZVwiPnt7cGFnZWluZm8/LnRpdGxlfX08L2gzPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRlbnQtZnJhbWVcIiBzdHlsZT1cImJhY2tncm91bmQ6ICNmZmY7aGVpZ2h0OjEwMHZoO1wiPlxyXG4gICAgPCEtLSBTVEFSVCBDT05URU5UIEZSQU1FIExFRlQgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1mcmFtZS1sZWZ0XCIgKm5nSWY9XCJmYWxzZVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGFuZWwgcGFuZWwtZGVmYXVsdFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbC1ib2R5XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGlzdC1ncm91cCBib3JkZXItYm90dG9tXCI+XHJcbiAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBjbGFzcz1cImxpc3QtZ3JvdXAtaXRlbVwiIFtuZ0NsYXNzXT1cInsnYWN0aXZlJyA6aSA9PSAnY0xpbmsnfVwiICpuZ0Zvcj1cImxldCBuYXYgb2YgbmF2aWdhdGlvbjtsZXQgaT1pbmRleFwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRpb25GdW4obmF2LGkpO1wiPnt7bmF2Py5mb3JtX2ZpZWxkX3RpdGxlfX08L2E+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS0gRU5EIENPTlRFTlQgRlJBTUUgTEVGVCAtLT5cclxuICAgIDwhLS0gU1RBUlQgQ09OVEVOVCBGUkFNRSBCT0RZIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtZnJhbWUtYm9keVwiIFtuZ1N0eWxlXT1cInsnbWFyZ2luLWxlZnQnOiBmYWxzZSA/ICcwJyA6ICcyNTBweCd9XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbCBwYW5lbC1kZWZhdWx0XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBhbmVsLWJvZHlcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMlwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb250cm9sLWxhYmVsXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDJweDtcIj5BcHBsaWNhdGlvbjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJhcHBcIiBuYW1lPVwiYXBwXCIgKGNoYW5nZSk9XCJmaWxsTW9kdWxlKGFwcClcIj5cclxuICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgbG92IG9mIGFwcGxpY2F0aW9uTGlzdFwiIHZhbHVlPVwie3tsb3Yua319XCI+e3tsb3Yudn19PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTJcIiAqbmdJZj1cIm1kbGxpc3Q/Lmxlbmd0aCA+IDEgXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbnRyb2wtbGFiZWxcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogMnB4O1wiPk1vZHVsZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJ2XCIgbmFtZT1cInZcIiAoY2hhbmdlKT1cImZpbGxMZXZlbDEodilcIj5cclxuICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgbG92IG9mIG1kbGxpc3RcIiB2YWx1ZT1cInt7bG92Lmt9fVwiPnt7bG92LnZ9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTJcIiAqbmdJZj1cIm1lbnVsdmwxTGlzdD8ubGVuZ3RoID4gMSBcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29udHJvbC1sYWJlbFwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAycHg7XCI+TWFpbiBNZW51PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInYxXCIgbmFtZT1cInYxXCIgKGNoYW5nZSk9XCJmaWxsTGV2ZWwyKHYsdjEpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGxvdiBvZiBtZW51bHZsMUxpc3RcIiB2YWx1ZT1cInt7bG92Lmt9fVwiPnt7bG92LnZ9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTJcIiAqbmdJZj1cIm1lbnVsdmwyTGlzdD8ubGVuZ3RoID4gMSBcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29udHJvbC1sYWJlbFwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAycHg7XCI+U3ViIE1lbnU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwidjJcIiBuYW1lPVwidjJcIiAoY2hhbmdlKT1cInN1Ym1lbnVDaGFuZ2UoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBsb3Ygb2YgbWVudWx2bDJMaXN0XCIgdmFsdWU9XCJ7e2xvdi5rfX1cIj57e2xvdi52fX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yXCI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgaWQ9XCJhZGRCdG5cIiBjbGFzcz1cImJ0biBidG4taW5mbyBcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDIzcHg7XCIgKGNsaWNrKT1cImdldFVzZXJSaWdodCh2LHYxLHYyLGFwcClcIj57e2J0bj8uZm9ybV9maWVsZF90aXRsZX19PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IHN0eWxlPVwicGFkZGluZzogMCAxMHB4O1wiPlxyXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwiYm9yZGVyOjFweCBzb2xpZCAjZTVlNWU1O21hcmdpbi10b3A6IDMwcHhcIiAqbmdJZj1cInVzckxzdC5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwidXNyTHN0Lmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbCBwYW5lbC1kZWZhdWx0XCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAyNXB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFuZWwtaGVhZGluZ1wiIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cInBhbmVsLXRpdGxlXCIgc3R5bGU9XCJwYWRkaW5nOiA4cHg7IGZvbnQtc2l6ZTogMTRweDtcIj5Vc2VyczwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0yIGNoa0FsbFwiIHN0eWxlPVwibWFyZ2luOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIHN0eWxlPVwicGFkZGluZzogMTBweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwic3dpdGNoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJzd2l0Y2hcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlQWxsKCRldmVudCx2LHYxLHYyLGFwcClcIiBuYW1lPVwiY2hrQWxsXCIgaWQ9XCJjaGtBbGxcIiBbY2hlY2tlZF09XCIodXNyTHN0Lmxlbmd0aCA9PSB1c3JSaWdodExzdC5sZW5ndGggPyAnY2hlY2tlZCcgOiAnJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLW1kLTQgY29udHJvbC1sYWJlbCB0ZXh0LWxlZnRcIiBzdHlsZT1cInBhZGRpbmctdG9wOiAzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XCI+QWxsIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8Zm9ybSBjbGFzcz1cImZvcm0taG9yaXpvbnRhbFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTJcIiAqbmdGb3I9XCJsZXQgdXNlciBvZiB1c3JMc3QgO2xldCBpPWluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJzd2l0Y2hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJzd2l0Y2hcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudCx2LHYxLHVzZXIudXNlcl9pZG4sdjIsYXBwKVwiIFtjaGVja2VkXT1cIihmYWxzZSAhPT0gdXNyUmlnaHRMc3QuaW5jbHVkZXModXNlcj8udXNlcl9pZG4pID8gJ2NoZWNrZWQnIDogJycpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJjaGtcIiBpZD1cImNoa3t7dXNlci51c2VyX2lkbn19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtbWQtNCBjb250cm9sLWxhYmVsIHRleHQtbGVmdFwiIHN0eWxlPVwicGFkZGluZy10b3A6IDNweDtwYWRkaW5nLWxlZnQ6IDQwcHg7dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XCI+e3t1c2VyPy51c2VybmFtZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIEVORCBDT05URU5UIEZSQU1FIEJPRFkgLS0+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class NumberWithCommasPipe {
|
|
4
|
+
transform(value, args) {
|
|
5
|
+
value = value || '';
|
|
6
|
+
if (value != '') {
|
|
7
|
+
var parts = value.toString().split(".");
|
|
8
|
+
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
9
|
+
return parts.join(".");
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
NumberWithCommasPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NumberWithCommasPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
17
|
+
NumberWithCommasPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NumberWithCommasPipe, name: "numberWithCommas" });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NumberWithCommasPipe, decorators: [{
|
|
19
|
+
type: Pipe,
|
|
20
|
+
args: [{
|
|
21
|
+
name: 'numberWithCommas'
|
|
22
|
+
}]
|
|
23
|
+
}] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXdpdGgtY29tbWFzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lei1saWIvc3JjL2xpYi9waXBlcy9udW1iZXItd2l0aC1jb21tYXMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixTQUFTLENBQUMsS0FBVSxFQUFFLElBQVU7UUFDOUIsS0FBSyxHQUFDLEtBQUssSUFBRSxFQUFFLENBQUM7UUFDaEIsSUFBRyxLQUFLLElBQUUsRUFBRSxFQUFDO1lBQ2IsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMxRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDdEI7YUFBSTtZQUNILE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDOztrSEFYVSxvQkFBb0I7Z0hBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQUhoQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxrQkFBa0I7aUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdudW1iZXJXaXRoQ29tbWFzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTnVtYmVyV2l0aENvbW1hc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGFyZ3M/OiBhbnkpOiBhbnkge1xyXG4gICAgdmFsdWU9dmFsdWV8fCcnO1xyXG4gICAgaWYodmFsdWUhPScnKXtcclxuICAgIHZhciBwYXJ0cyA9IHZhbHVlLnRvU3RyaW5nKCkuc3BsaXQoXCIuXCIpO1xyXG4gICAgcGFydHNbMF0gPSBwYXJ0c1swXS5yZXBsYWNlKC9cXEIoPz0oXFxkezN9KSsoPyFcXGQpKS9nLCBcIixcIik7XHJcbiAgICByZXR1cm4gcGFydHMuam9pbihcIi5cIik7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { orderBy } from 'lodash';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class OrderByPipePipe {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.transform = orderBy;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
OrderByPipePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OrderByPipePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
10
|
+
OrderByPipePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OrderByPipePipe, name: "orderByPipe" });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OrderByPipePipe, decorators: [{
|
|
12
|
+
type: Pipe,
|
|
13
|
+
args: [{
|
|
14
|
+
name: 'orderByPipe'
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItYnktcGlwZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXotbGliL3NyYy9saWIvcGlwZXMvb3JkZXItYnktcGlwZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7O0FBS2pDLE1BQU0sT0FBTyxlQUFlO0lBSDVCO1FBSUUsY0FBUyxHQUFHLE9BQU8sQ0FBQztLQUNyQjs7NkdBRlksZUFBZTsyR0FBZixlQUFlOzRGQUFmLGVBQWU7a0JBSDNCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGFBQWE7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBvcmRlckJ5IH0gZnJvbSAnbG9kYXNoJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnb3JkZXJCeVBpcGUnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPcmRlckJ5UGlwZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0gPSBvcmRlckJ5O1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
//@Injectable()
|
|
4
|
+
export class GetSelectedPipe {
|
|
5
|
+
transform(items) {
|
|
6
|
+
// take out only selected values
|
|
7
|
+
return items.filter(item => item.selected === true);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
GetSelectedPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GetSelectedPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
11
|
+
GetSelectedPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GetSelectedPipe, name: "getSelcted", pure: false });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: GetSelectedPipe, decorators: [{
|
|
13
|
+
type: Pipe,
|
|
14
|
+
args: [{
|
|
15
|
+
name: 'getSelcted',
|
|
16
|
+
pure: false
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWRDb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V6LWxpYi9zcmMvbGliL3BpcGVzL3NlbGVjdGVkQ291bnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELGVBQWU7QUFDZixNQUFNLE9BQU8sZUFBZTtJQUN4QixTQUFTLENBQUMsS0FBWTtRQUNsQixnQ0FBZ0M7UUFDaEMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDOzs2R0FKUSxlQUFlOzJHQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFMM0IsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsSUFBSSxFQUFFLEtBQUs7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiAnZ2V0U2VsY3RlZCcsXHJcbiAgICBwdXJlOiBmYWxzZVxyXG59KVxyXG4vL0BJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEdldFNlbGVjdGVkUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKGl0ZW1zOiBhbnlbXSk6IGFueSB7XHJcbiAgICAgICAgLy8gdGFrZSBvdXQgb25seSBzZWxlY3RlZCB2YWx1ZXNcclxuICAgICAgICByZXR1cm4gaXRlbXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCA9PT0gdHJ1ZSk7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//commented
|
|
2
|
+
import { Pipe } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class SumPipe {
|
|
5
|
+
transform(value, args) {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
SumPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SumPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
10
|
+
SumPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SumPipe, name: "sum" });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SumPipe, decorators: [{
|
|
12
|
+
type: Pipe,
|
|
13
|
+
args: [{
|
|
14
|
+
name: 'sum'
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lei1saWIvc3JjL2xpYi9waXBlcy9zdW0ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxXQUFXO0FBQ1gsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxPQUFPO0lBRWxCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsSUFBVTtRQUM5QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O3FHQUpVLE9BQU87bUdBQVAsT0FBTzs0RkFBUCxPQUFPO2tCQUhuQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxLQUFLO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiLy9jb21tZW50ZWRcclxuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzdW0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdW1QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBhcmdzPzogYW55KTogYW55IHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|