@yelon/bis 12.0.15 → 12.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/bis.umd.js +1 -1
- package/bundles/layout.umd.js +650 -36
- package/bundles/layout.umd.js.map +1 -1
- package/bundles/shared.umd.js +8 -12
- package/bundles/shared.umd.js.map +1 -1
- package/esm2015/layout/contact/contact.component.js +434 -0
- package/esm2015/layout/contact/contact.service.js +150 -0
- package/esm2015/layout/layout.js +4 -2
- package/esm2015/layout/layout.module.js +13 -3
- package/esm2015/layout/widgets/yz.notify.component.js +25 -22
- package/esm2015/layout/yz.basic.component.js +27 -5
- package/esm2015/layout/yz.startup.service.js +5 -5
- package/esm2015/shared/shared-yelon.module.js +3 -3
- package/esm2015/shared/shared.module.js +13 -7
- package/fesm2015/layout.js +638 -29
- package/fesm2015/layout.js.map +1 -1
- package/fesm2015/shared.js +14 -7
- package/fesm2015/shared.js.map +1 -1
- package/layout/contact/contact.component.d.ts +166 -0
- package/layout/contact/contact.service.d.ts +115 -0
- package/layout/layout.d.ts +3 -1
- package/layout/layout.metadata.json +1 -1
- package/layout/widgets/yz.notify.component.d.ts +5 -3
- package/layout/yz.basic.component.d.ts +8 -2
- package/layout/yz.startup.service.d.ts +1 -1
- package/package.json +10 -10
- package/shared/shared.metadata.json +1 -1
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Component, Input, Optional, ViewChild, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { ContactService } from './contact.service';
|
|
3
|
+
export class ContactComponent {
|
|
4
|
+
constructor(contact, changeDetectorRef) {
|
|
5
|
+
this.contact = contact;
|
|
6
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
7
|
+
this.subs = [];
|
|
8
|
+
/**
|
|
9
|
+
* tabset
|
|
10
|
+
*/
|
|
11
|
+
this.nzTabsetSearch = null;
|
|
12
|
+
this.nzTabsetLoading = false;
|
|
13
|
+
/**
|
|
14
|
+
* 树展开状态
|
|
15
|
+
*/
|
|
16
|
+
this.nzExpandAll = true;
|
|
17
|
+
/**
|
|
18
|
+
* 部门树和部门查询的一些选项/可传可不传
|
|
19
|
+
*/
|
|
20
|
+
this.nzDepts = [];
|
|
21
|
+
this._nzDeptsCopy = [];
|
|
22
|
+
this.nzDeptTreeVirtualHeight = null;
|
|
23
|
+
this.nzDeptClass = true;
|
|
24
|
+
this.nzDeptClassHistory = true;
|
|
25
|
+
this.nzDeptGrade = false;
|
|
26
|
+
/**
|
|
27
|
+
* 角色树
|
|
28
|
+
*/
|
|
29
|
+
this.nzRoles = [];
|
|
30
|
+
this._nzRolesCopy = [];
|
|
31
|
+
this.nzRoleTreeVirtualHeight = null;
|
|
32
|
+
/**
|
|
33
|
+
* 好友分组
|
|
34
|
+
*/
|
|
35
|
+
this.nzFriendGroups = [];
|
|
36
|
+
this._nzFriendGroupsCopy = [];
|
|
37
|
+
/**
|
|
38
|
+
* 联系人
|
|
39
|
+
*/
|
|
40
|
+
this.defaultContacts = [];
|
|
41
|
+
this.nzContacts = [];
|
|
42
|
+
this.nzContactLoading = false;
|
|
43
|
+
/**
|
|
44
|
+
* 提交和提交按钮
|
|
45
|
+
*/
|
|
46
|
+
this.button = true;
|
|
47
|
+
this.confirmed = new EventEmitter();
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 初始化,首先加载部门树和默认选中的人的数据
|
|
51
|
+
*/
|
|
52
|
+
ngOnInit() {
|
|
53
|
+
this.onTabsetDept();
|
|
54
|
+
this.onContactsInit();
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* 视图初始化完毕后进行table初始化
|
|
58
|
+
*/
|
|
59
|
+
ngAfterViewInit() {
|
|
60
|
+
this.onTableInit();
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* 初始化默认选中联系人
|
|
64
|
+
*/
|
|
65
|
+
onContactsInit() {
|
|
66
|
+
if (this.defaultContacts && this.defaultContacts.length > 0) {
|
|
67
|
+
this.nzContactLoading = true;
|
|
68
|
+
this.subs.push(this.contact.getUserByUserIds(this.defaultContacts).subscribe(contacts => {
|
|
69
|
+
this.nzContacts = contacts;
|
|
70
|
+
this.nzContactLoading = false;
|
|
71
|
+
this.refresh();
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* table初始化
|
|
77
|
+
*/
|
|
78
|
+
onTableInit() {
|
|
79
|
+
// 设置表头
|
|
80
|
+
this.st.resetColumns({
|
|
81
|
+
columns: [
|
|
82
|
+
{ title: '选择', type: 'checkbox' },
|
|
83
|
+
{ title: '序号', type: 'no' },
|
|
84
|
+
{ title: '姓名', index: 'realName' },
|
|
85
|
+
{ title: '学号/工号', index: 'userCode' },
|
|
86
|
+
{ title: '部门', index: 'dept.deptName' }
|
|
87
|
+
]
|
|
88
|
+
});
|
|
89
|
+
// 订阅table点击checkbox事件变化
|
|
90
|
+
this.subs.push(this.st.change.subscribe(e => {
|
|
91
|
+
if (e.type === 'checkbox') {
|
|
92
|
+
// 点击checkbox新增联系人
|
|
93
|
+
const contactIds = this.nzContacts.map(c => c.userId);
|
|
94
|
+
this.nzContacts = this.nzContacts.concat(e.checkbox.filter(c => !contactIds.includes(c.userId)));
|
|
95
|
+
// 取消checkbox取消联系人
|
|
96
|
+
const cancelIds = this.st.list.filter(d => !d.checked).map(d => d.userId);
|
|
97
|
+
this.nzContacts = this.nzContacts.filter(d => !cancelIds.includes(d.userId));
|
|
98
|
+
}
|
|
99
|
+
}));
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* tabset进入加载状态
|
|
103
|
+
*/
|
|
104
|
+
onTabsetLoadStart() {
|
|
105
|
+
this.nzTabsetLoading = true;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* tabset取消加载状态
|
|
109
|
+
*/
|
|
110
|
+
onTabsetLoadEnd() {
|
|
111
|
+
this.nzTabsetLoading = false;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* tabset搜索框清除
|
|
115
|
+
*/
|
|
116
|
+
onTabsetSearchClean() {
|
|
117
|
+
this.nzDepts = this._nzDeptsCopy;
|
|
118
|
+
this.nzRoles = this._nzRolesCopy;
|
|
119
|
+
this.nzFriendGroups = this._nzFriendGroupsCopy;
|
|
120
|
+
this.nzTabsetSearch = null;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* tabset搜索框输入
|
|
124
|
+
*
|
|
125
|
+
* @param type 类型
|
|
126
|
+
* @param value 值
|
|
127
|
+
*/
|
|
128
|
+
onTabsetSearchChange(type, value) {
|
|
129
|
+
this.onTabsetLoadStart();
|
|
130
|
+
if (!value || value === '') {
|
|
131
|
+
this.nzDepts = this._nzDeptsCopy;
|
|
132
|
+
this.nzRoles = this._nzRolesCopy;
|
|
133
|
+
this.nzFriendGroups = this._nzFriendGroupsCopy;
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
const trees = [];
|
|
137
|
+
if (type === 'dept') {
|
|
138
|
+
this.searchTree(value, this._nzDeptsCopy, trees);
|
|
139
|
+
this.nzDepts = trees;
|
|
140
|
+
}
|
|
141
|
+
if (type === 'role') {
|
|
142
|
+
this.searchTree(value, this._nzRolesCopy, trees);
|
|
143
|
+
this.nzRoles = trees;
|
|
144
|
+
}
|
|
145
|
+
if (type === 'friendGroup') {
|
|
146
|
+
this.nzFriendGroups = this._nzFriendGroupsCopy.filter(f => {
|
|
147
|
+
return !f.name.indexOf(value);
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
this.onTabsetLoadEnd();
|
|
152
|
+
this.refresh();
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* tabset切换到部门
|
|
156
|
+
*/
|
|
157
|
+
onTabsetDept() {
|
|
158
|
+
this.onTabsetSearchClean();
|
|
159
|
+
if (!this.nzDepts || this.nzDepts.length === 0) {
|
|
160
|
+
this.onTabsetDeptFlush();
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* tabset切换到角色
|
|
165
|
+
*/
|
|
166
|
+
onTabsetRole() {
|
|
167
|
+
this.onTabsetSearchClean();
|
|
168
|
+
if (!this.nzRoles || this.nzRoles.length === 0) {
|
|
169
|
+
this.onTabsetRoleFlush(null);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* tabset切换到好友分组
|
|
174
|
+
*/
|
|
175
|
+
onTabsetFriendGroup() {
|
|
176
|
+
this.onTabsetSearchClean();
|
|
177
|
+
if (!this.nzFriendGroups || this.nzFriendGroups.length === 0) {
|
|
178
|
+
this.onTabsetFriendGroupFlush();
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* 获取部门树
|
|
183
|
+
*/
|
|
184
|
+
onTabsetDeptFlush() {
|
|
185
|
+
this.onTabsetLoadStart();
|
|
186
|
+
this.subs.push(this.contact
|
|
187
|
+
.dept(this.nzDeptClass, this.nzDeptClassHistory, this.nzDeptGrade, this.nzDeptGradeID)
|
|
188
|
+
.subscribe((trees) => {
|
|
189
|
+
this.expandTree(trees);
|
|
190
|
+
this.nzDepts = trees;
|
|
191
|
+
this._nzDeptsCopy = trees;
|
|
192
|
+
this.onTabsetLoadEnd();
|
|
193
|
+
this.refresh();
|
|
194
|
+
}));
|
|
195
|
+
}
|
|
196
|
+
// 获取角色树
|
|
197
|
+
onTabsetRoleFlush(groupRoleCode) {
|
|
198
|
+
this.onTabsetLoadStart();
|
|
199
|
+
this.subs.push(this.contact.getGroupRole(groupRoleCode).subscribe((roles) => {
|
|
200
|
+
this.expandTree(roles);
|
|
201
|
+
this.nzRoles = roles;
|
|
202
|
+
this._nzRolesCopy = roles;
|
|
203
|
+
this.onTabsetLoadEnd();
|
|
204
|
+
this.refresh();
|
|
205
|
+
}));
|
|
206
|
+
}
|
|
207
|
+
// 获取好友分组列表
|
|
208
|
+
onTabsetFriendGroupFlush() {
|
|
209
|
+
this.onTabsetLoadStart();
|
|
210
|
+
this.subs.push(this.contact.getFriendGroup().subscribe((group) => {
|
|
211
|
+
this.nzFriendGroups = group;
|
|
212
|
+
this._nzFriendGroupsCopy = group;
|
|
213
|
+
this.onTabsetLoadEnd();
|
|
214
|
+
this.refresh();
|
|
215
|
+
}));
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* 部门树点击
|
|
219
|
+
*
|
|
220
|
+
* @param e 节点
|
|
221
|
+
*/
|
|
222
|
+
onDeptClick(e) {
|
|
223
|
+
var _a;
|
|
224
|
+
// 构造分页请求,直接传入stTable组件,剩下的所有交给组件自己完成
|
|
225
|
+
this.st.data = '/auth/baseUser/queryListForPage';
|
|
226
|
+
this.st.req = {
|
|
227
|
+
allInBody: true,
|
|
228
|
+
method: 'POST',
|
|
229
|
+
type: 'page',
|
|
230
|
+
reName: {
|
|
231
|
+
pi: 'pageNum',
|
|
232
|
+
ps: 'pageSize'
|
|
233
|
+
},
|
|
234
|
+
body: {
|
|
235
|
+
pageParam: {
|
|
236
|
+
deptId: (_a = e.keys) === null || _a === void 0 ? void 0 : _a.pop()
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
// table数据预处理
|
|
241
|
+
this.st.res = {
|
|
242
|
+
process: data => {
|
|
243
|
+
this.onTableCheck(data);
|
|
244
|
+
return data;
|
|
245
|
+
}
|
|
246
|
+
};
|
|
247
|
+
// 加载第一页
|
|
248
|
+
this.st.load(1);
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* 角色树点击
|
|
252
|
+
*
|
|
253
|
+
* @param e 节点
|
|
254
|
+
*/
|
|
255
|
+
onRoleClick(e) {
|
|
256
|
+
var _a;
|
|
257
|
+
// 构造分页请求,直接传入stTable组件,剩下的所有交给组件自己完成
|
|
258
|
+
this.st.data = '/auth/baseUser/queryListForPage';
|
|
259
|
+
this.st.req = {
|
|
260
|
+
allInBody: true,
|
|
261
|
+
method: 'POST',
|
|
262
|
+
type: 'page',
|
|
263
|
+
reName: {
|
|
264
|
+
pi: 'pageNum',
|
|
265
|
+
ps: 'pageSize'
|
|
266
|
+
},
|
|
267
|
+
body: {
|
|
268
|
+
pageParam: {
|
|
269
|
+
roleId: (_a = e.keys) === null || _a === void 0 ? void 0 : _a.pop()
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
// table数据预处理
|
|
274
|
+
this.st.res = {
|
|
275
|
+
process: data => {
|
|
276
|
+
this.onTableCheck(data);
|
|
277
|
+
return data;
|
|
278
|
+
}
|
|
279
|
+
};
|
|
280
|
+
// 加载第一页
|
|
281
|
+
this.st.load(1);
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* 好友分组点击
|
|
285
|
+
*
|
|
286
|
+
* @param e 分组
|
|
287
|
+
*/
|
|
288
|
+
onFriendGroupClick(e) {
|
|
289
|
+
// 构造分页请求,直接传入stTable组件,剩下的所有交给组件自己完成
|
|
290
|
+
this.st.data = '/auth/baseUser/queryListForPage';
|
|
291
|
+
this.st.req = {
|
|
292
|
+
allInBody: true,
|
|
293
|
+
method: 'POST',
|
|
294
|
+
type: 'page',
|
|
295
|
+
reName: {
|
|
296
|
+
pi: 'pageNum',
|
|
297
|
+
ps: 'pageSize'
|
|
298
|
+
},
|
|
299
|
+
body: {
|
|
300
|
+
pageParam: {
|
|
301
|
+
friendGroupId: e.id
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
};
|
|
305
|
+
// table数据预处理
|
|
306
|
+
this.st.res = {
|
|
307
|
+
process: data => {
|
|
308
|
+
this.onTableCheck(data);
|
|
309
|
+
return data;
|
|
310
|
+
}
|
|
311
|
+
};
|
|
312
|
+
// 加载第一页
|
|
313
|
+
this.st.load(1);
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* 点击右侧联系人进行删除
|
|
317
|
+
*
|
|
318
|
+
* @param c 点击的联系人
|
|
319
|
+
*/
|
|
320
|
+
onContactRemove(c) {
|
|
321
|
+
this.nzContacts = this.nzContacts.filter(contact => {
|
|
322
|
+
return contact.userId != c.userId;
|
|
323
|
+
});
|
|
324
|
+
this.st.reload();
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* 预处理table当前页数据,和nzContat对比,确定checkbox状态
|
|
328
|
+
*
|
|
329
|
+
* @param data 预处理数据
|
|
330
|
+
*/
|
|
331
|
+
onTableCheck(data) {
|
|
332
|
+
const ids = this.nzContacts.map(u => u.userId);
|
|
333
|
+
data.forEach(d => {
|
|
334
|
+
if (ids.includes(d.userId)) {
|
|
335
|
+
d.checked = true;
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
d.checked = false;
|
|
339
|
+
}
|
|
340
|
+
});
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* 递归树寻找name相同节点
|
|
344
|
+
*
|
|
345
|
+
* @param name 名称
|
|
346
|
+
* @param trees 需要递归的树
|
|
347
|
+
* @param list 搜索结果
|
|
348
|
+
*/
|
|
349
|
+
searchTree(name, trees, list) {
|
|
350
|
+
if (trees && trees.length && trees.length > 0) {
|
|
351
|
+
trees.forEach((tree) => {
|
|
352
|
+
if (tree.title.indexOf(name) != -1) {
|
|
353
|
+
list.push(tree);
|
|
354
|
+
}
|
|
355
|
+
if (tree.children) {
|
|
356
|
+
this.searchTree(name, tree.children, list);
|
|
357
|
+
}
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* 递归树展开所有有子节点的节点
|
|
363
|
+
*
|
|
364
|
+
* @param trees 需要展开的树
|
|
365
|
+
*/
|
|
366
|
+
expandTree(trees) {
|
|
367
|
+
if (trees && trees.length && trees.length > 0) {
|
|
368
|
+
trees.forEach(tree => {
|
|
369
|
+
if (!tree.children || tree.children.length === 0) {
|
|
370
|
+
tree.expanded = false;
|
|
371
|
+
tree.isLeaf = true;
|
|
372
|
+
}
|
|
373
|
+
if (tree.children) {
|
|
374
|
+
tree.expanded = this.nzExpandAll;
|
|
375
|
+
tree.isLeaf = false;
|
|
376
|
+
this.expandTree(tree.children);
|
|
377
|
+
}
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* 刷新当前页面
|
|
383
|
+
*/
|
|
384
|
+
refresh() {
|
|
385
|
+
this.changeDetectorRef.detectChanges();
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* 确认按钮output数据
|
|
389
|
+
*/
|
|
390
|
+
confirm() {
|
|
391
|
+
this.confirmed.next(this.nzContacts);
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* 销毁函数
|
|
395
|
+
*/
|
|
396
|
+
ngOnDestroy() {
|
|
397
|
+
this.nzDepts = [];
|
|
398
|
+
this.nzRoles = [];
|
|
399
|
+
this.nzContacts = [];
|
|
400
|
+
this.subs.forEach(s => s.unsubscribe());
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
ContactComponent.decorators = [
|
|
404
|
+
{ type: Component, args: [{
|
|
405
|
+
selector: 'contact',
|
|
406
|
+
template: "<nz-row [nzGutter]=\"16\">\n <nz-col [nzXs]=\"24\" [nzSm]=\"24\" [nzMd]=\"24\" [nzLg]=\"8\" [nzXl]=\"6\" [nzXXl]=\"6\">\n <nz-tabset nzCentered>\n <nz-tab nzTitle=\"\u90E8\u95E8\" (nzSelect)=\"onTabsetDept()\">\n <div sg-container=\"2\">\n <sg col=\"1\" class=\"nz-tabset-sg\">\n <nz-input-group class=\"nz-tabset-input\" [nzSuffix]=\"searchInputTpl\">\n <input\n nz-input\n [(ngModel)]=\"nzTabsetSearch\"\n (ngModelChange)=\"onTabsetSearchChange('dept', $event)\"\n type=\"text\"\n placeholder=\"\u8BF7\u8F93\u5165\u90E8\u95E8\u540D\u79F0\"\n />\n </nz-input-group>\n </sg>\n <sg col=\"1\">\n <nz-spin [nzSpinning]=\"nzTabsetLoading\">\n <nz-tree\n class=\"nz-tabset-content\"\n (nzClick)=\"onDeptClick($event)\"\n [nzBlockNode]=\"true\"\n [nzShowLine]=\"true\"\n [nzHideUnMatched]=\"true\"\n [nzVirtualHeight]=\"nzDeptTreeVirtualHeight\"\n [nzData]=\"nzDepts\"\n ></nz-tree>\n </nz-spin>\n </sg>\n </div>\n </nz-tab>\n <nz-tab nzTitle=\"\u89D2\u8272\" (nzSelect)=\"onTabsetRole()\">\n <div sg-container=\"2\">\n <sg col=\"1\" class=\"nz-tabset-sg\">\n <nz-input-group class=\"nz-tabset-input\" [nzSuffix]=\"searchInputTpl\">\n <input\n nz-input\n [(ngModel)]=\"nzTabsetSearch\"\n (ngModelChange)=\"onTabsetSearchChange('role', $event)\"\n type=\"text\"\n placeholder=\"\u8BF7\u8F93\u5165\u89D2\u8272\u540D\u79F0\"\n />\n </nz-input-group>\n </sg>\n <sg col=\"1\">\n <nz-spin [nzSpinning]=\"nzTabsetLoading\">\n <nz-tree\n class=\"nz-tabset-content\"\n (nzClick)=\"onRoleClick($event)\"\n [nzBlockNode]=\"true\"\n [nzShowLine]=\"true\"\n [nzHideUnMatched]=\"true\"\n [nzVirtualHeight]=\"nzRoleTreeVirtualHeight\"\n [nzData]=\"nzRoles\"\n ></nz-tree>\n </nz-spin>\n </sg>\n </div>\n </nz-tab>\n <nz-tab nzTitle=\"\u597D\u53CB\" (nzSelect)=\"onTabsetFriendGroup()\">\n <div sg-container=\"2\">\n <sg col=\"1\" class=\"nz-tabset-sg\">\n <nz-input-group class=\"nz-tabset-input\" [nzSuffix]=\"searchInputTpl\">\n <input\n nz-input\n [(ngModel)]=\"nzTabsetSearch\"\n (ngModelChange)=\"onTabsetSearchChange('friendGroup', $event)\"\n type=\"text\"\n placeholder=\"\u8BF7\u8F93\u5165\u597D\u53CB\u540D\u79F0\"\n />\n </nz-input-group>\n </sg>\n <sg col=\"1\">\n <nz-spin [nzSpinning]=\"nzTabsetLoading\">\n <nz-list class=\"nz-tabset-content\" nzItemLayout=\"horizontal\" [nzSplit]=\"false\" nzSize=\"small\">\n <nz-list-item\n class=\"nz-tabset-content-item\"\n *ngFor=\"let group of nzFriendGroups\"\n (click)=\"onFriendGroupClick(group)\"\n >\n <nz-list-item-meta>\n <nz-list-item-meta-title>\n {{ group.name }}\n </nz-list-item-meta-title>\n </nz-list-item-meta>\n </nz-list-item>\n </nz-list>\n </nz-spin>\n </sg>\n </div>\n </nz-tab>\n </nz-tabset>\n </nz-col>\n\n <nz-col [nzXs]=\"24\" [nzSm]=\"24\" [nzMd]=\"24\" [nzLg]=\"16\" [nzXl]=\"13\" [nzXXl]=\"13\">\n <st #st responsiveHideHeaderFooter></st>\n </nz-col>\n\n <nz-col [nzXs]=\"24\" [nzSm]=\"24\" [nzMd]=\"24\" [nzLg]=\"24\" [nzXl]=\"5\" [nzXXl]=\"5\">\n <nz-spin [nzSpinning]=\"nzContactLoading\">\n <nz-list nzItemLayout=\"horizontal\" [nzSplit]=\"false\" nzSize=\"small\">\n <nz-list-item\n class=\"nz-tabset-content-item\"\n *ngFor=\"let contact of nzContacts\"\n (click)=\"onContactRemove(contact)\"\n >\n <nz-list-item-meta>\n <nz-list-item-meta-title>\n {{ contact.realName }}\n </nz-list-item-meta-title>\n </nz-list-item-meta>\n </nz-list-item>\n </nz-list>\n </nz-spin>\n </nz-col>\n</nz-row>\n\n<nz-row *ngIf=\"button\">\n <nz-col [nzSpan]=\"4\" [nzOffset]=\"20\">\n <button nz-button nzType=\"primary\" (click)=\"confirm()\">\u786E\u5B9A</button>\n </nz-col>\n</nz-row>\n\n<ng-template #searchInputTpl>\n <i nz-icon nzType=\"close\" nzTheme=\"outline\" *ngIf=\"nzTabsetSearch\" (click)=\"onTabsetSearchClean()\"></i>\n <i nz-icon nzType=\"search\" nzTheme=\"outline\" *ngIf=\"!nzTabsetSearch\"></i>\n</ng-template>\n",
|
|
407
|
+
styles: [".nz-tabset-input{width:100%}.nz-tabset-content{padding:20px}.nz-tabset-sg{padding-right:38px!important;padding-left:38px!important}.nz-tabset-content-item:hover{background-color:#f1f1f1;cursor:pointer}\n"]
|
|
408
|
+
},] }
|
|
409
|
+
];
|
|
410
|
+
ContactComponent.ctorParameters = () => [
|
|
411
|
+
{ type: ContactService },
|
|
412
|
+
{ type: ChangeDetectorRef }
|
|
413
|
+
];
|
|
414
|
+
ContactComponent.propDecorators = {
|
|
415
|
+
nzTabsetSearch: [{ type: Optional }, { type: Input }],
|
|
416
|
+
nzTabsetLoading: [{ type: Optional }, { type: Input }],
|
|
417
|
+
nzExpandAll: [{ type: Optional }, { type: Input }],
|
|
418
|
+
nzDepts: [{ type: Optional }, { type: Input }],
|
|
419
|
+
nzDeptTreeVirtualHeight: [{ type: Optional }, { type: Input }],
|
|
420
|
+
nzDeptClass: [{ type: Optional }, { type: Input }],
|
|
421
|
+
nzDeptClassHistory: [{ type: Optional }, { type: Input }],
|
|
422
|
+
nzDeptGrade: [{ type: Optional }, { type: Input }],
|
|
423
|
+
nzDeptGradeID: [{ type: Optional }, { type: Input }],
|
|
424
|
+
nzRoles: [{ type: Optional }, { type: Input }],
|
|
425
|
+
nzRoleTreeVirtualHeight: [{ type: Optional }, { type: Input }],
|
|
426
|
+
nzFriendGroups: [{ type: Optional }, { type: Input }],
|
|
427
|
+
st: [{ type: ViewChild, args: ['st', { static: false },] }],
|
|
428
|
+
defaultContacts: [{ type: Optional }, { type: Input }],
|
|
429
|
+
nzContacts: [{ type: Optional }, { type: Input }],
|
|
430
|
+
nzContactLoading: [{ type: Optional }, { type: Input }],
|
|
431
|
+
button: [{ type: Optional }, { type: Input }],
|
|
432
|
+
confirmed: [{ type: Output }]
|
|
433
|
+
};
|
|
434
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9iaXMvbGF5b3V0L2NvbnRhY3QvY29udGFjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUlMLFFBQVEsRUFDUixTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQVF2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFPbkQsTUFBTSxPQUFPLGdCQUFnQjtJQXdEM0IsWUFBb0IsT0FBdUIsRUFBVSxpQkFBb0M7UUFBckUsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBdkR6RixTQUFJLEdBQW1CLEVBQUUsQ0FBQztRQUUxQjs7V0FFRztRQUNrQixtQkFBYyxHQUFrQixJQUFJLENBQUM7UUFDckMsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFFdEQ7O1dBRUc7UUFDa0IsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFFakQ7O1dBRUc7UUFDa0IsWUFBTyxHQUF3QixFQUFFLENBQUM7UUFDL0MsaUJBQVksR0FBd0IsRUFBRSxDQUFDO1FBQzFCLDRCQUF1QixHQUFrQixJQUFJLENBQUM7UUFDOUMsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDNUIsdUJBQWtCLEdBQVksSUFBSSxDQUFDO1FBQ25DLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBR2xEOztXQUVHO1FBQ2tCLFlBQU8sR0FBd0IsRUFBRSxDQUFDO1FBQy9DLGlCQUFZLEdBQXdCLEVBQUUsQ0FBQztRQUMxQiw0QkFBdUIsR0FBa0IsSUFBSSxDQUFDO1FBRW5FOztXQUVHO1FBQ2tCLG1CQUFjLEdBQWdCLEVBQUUsQ0FBQztRQUN0RCx3QkFBbUIsR0FBZ0IsRUFBRSxDQUFDO1FB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aGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIE9wdGlvbmFsLFxuICBWaWV3Q2hpbGQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE56U2FmZUFueSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS90eXBlcyc7XG5pbXBvcnQgeyBOelRyZWVOb2RlT3B0aW9ucywgTnpGb3JtYXRFbWl0RXZlbnQgfSBmcm9tICduZy16b3Jyby1hbnRkL3RyZWUnO1xuXG5pbXBvcnQgeyBTVENvbXBvbmVudCB9IGZyb20gJ0B5ZWxvbi9hYmMvc3QnO1xuXG5pbXBvcnQgeyBDb250YWN0U2VydmljZSB9IGZyb20gJy4vY29udGFjdC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29udGFjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGFjdC5jb21wb25lbnQubGVzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbnRhY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHN1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgLyoqXG4gICAqIHRhYnNldFxuICAgKi9cbiAgQE9wdGlvbmFsKCkgQElucHV0KCkgbnpUYWJzZXRTZWFyY2g6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBAT3B0aW9uYWwoKSBASW5wdXQoKSBuelRhYnNldExvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICog5qCR5bGV5byA54q25oCBXG4gICAqL1xuICBAT3B0aW9uYWwoKSBASW5wdXQoKSBuekV4cGFuZEFsbDogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIOmDqOmXqOagkeWSjOmDqOmXqOafpeivoueahOS4gOS6m+mAiemhuS/lj6/kvKDlj6/kuI3kvKBcbiAgICovXG4gIEBPcHRpb25hbCgpIEBJbnB1dCgpIG56RGVwdHM6IE56VHJlZU5vZGVPcHRpb25zW10gPSBbXTtcbiAgcHJpdmF0ZSBfbnpEZXB0c0NvcHk6IE56VHJlZU5vZGVPcHRpb25zW10gPSBbXTtcbiAgQE9wdGlvbmFsKCkgQElucHV0KCkgbnpEZXB0VHJlZVZpcnR1YWxIZWlnaHQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBAT3B0aW9uYWwoKSBASW5wdXQoKSBuekRlcHRDbGFzczogYm9vbGVhbiA9IHRydWU7XG4gIEBPcHRpb25hbCgpIEBJbnB1dCgpIG56RGVwdENsYXNzSGlzdG9yeTogYm9vbGVhbiA9IHRydWU7XG4gIEBPcHRpb25hbCgpIEBJbnB1dCgpIG56RGVwdEdyYWRlOiBib29sZWFuID0gZmFsc2U7XG4gIEBPcHRpb25hbCgpIEBJbnB1dCgpIG56RGVwdEdyYWRlSUQ6IHN0cmluZztcblxuICAvKipcbiAgICog6KeS6Imy5qCRXG4gICAqL1xuICBAT3B0aW9uYWwoKSBASW5wdXQoKSBuelJvbGVzOiBOelRyZWVOb2RlT3B0aW9uc1tdID0gW107XG4gIHByaXZhdGUgX256Um9sZXNDb3B5OiBOelRyZWVOb2RlT3B0aW9uc1tdID0gW107XG4gIEBPcHRpb25hbCgpIEBJbnB1dCgpIG56Um9sZVRyZWVWaXJ0dWFsSGVpZ2h0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICog5aW95Y+L5YiG57uEXG4gICAqL1xuICBAT3B0aW9uYWwoKSBASW5wdXQoKSBuekZyaWVuZEdyb3VwczogTnpTYWZlQW55W10gPSBbXTtcbiAgX256RnJpZW5kR3JvdXBzQ29weTogTnpTYWZlQW55W10gPSBbXTtcblxuICAvKipcbiAgICogdGFibGXnu4Tku7bvvIzluK7liqnmlofmoaM6IGh0dHBzOi8vbmcueXVuemFpbmZvLmNvbS9jb21wb25lbnRzL3N0L3poPyNBUElcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ3N0JywgeyBzdGF0aWM6IGZhbHNlIH0pIHN0OiBTVENvbXBvbmVudDtcblxuICAvKipcbiAgICog6IGU57O75Lq6XG4gICAqL1xuICBAT3B0aW9uYWwoKSBASW5wdXQoKSBkZWZhdWx0Q29udGFjdHM6IHN0cmluZ1tdID0gW107XG4gIEBPcHRpb25hbCgpIEBJbnB1dCgpIG56Q29udGFjdHM6IE56U2FmZUFueVtdID0gW107XG4gIEBPcHRpb25hbCgpIEBJbnB1dCgpIG56Q29udGFjdExvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICog5o+Q5Lqk5ZKM5o+Q5Lqk5oyJ6ZKuXG4gICAqL1xuICBAT3B0aW9uYWwoKSBASW5wdXQoKSBidXR0b246IGJvb2xlYW4gPSB0cnVlO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgY29uZmlybWVkOiBFdmVudEVtaXR0ZXI8TnpTYWZlQW55W10+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29udGFjdDogQ29udGFjdFNlcnZpY2UsIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIC8qKlxuICAgKiDliJ3lp4vljJbvvIzpppblhYjliqDovb3pg6jpl6jmoJHlkozpu5jorqTpgInkuK3nmoTkurrnmoTmlbDmja5cbiAgICovXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub25UYWJzZXREZXB0KCk7XG4gICAgdGhpcy5vbkNvbnRhY3RzSW5pdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIOinhuWbvuWIneWni+WMluWujOavleWQjui/m+ihjHRhYmxl5Yid5aeL5YyWXG4gICAqL1xuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vblRhYmxlSW5pdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIOWIneWni+WMlum7mOiupOmAieS4reiBlOezu+S6ulxuICAgKi9cbiAgb25Db250YWN0c0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGVmYXVsdENvbnRhY3RzICYmIHRoaXMuZGVmYXVsdENvbnRhY3RzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMubnpDb250YWN0TG9hZGluZyA9IHRydWU7XG4gICAgICB0aGlzLnN1YnMucHVzaChcbiAgICAgICAgdGhpcy5jb250YWN0LmdldFVzZXJCeVVzZXJJZHModGhpcy5kZWZhdWx0Q29udGFjdHMpLnN1YnNjcmliZShjb250YWN0cyA9PiB7XG4gICAgICAgICAgdGhpcy5uekNvbnRhY3RzID0gY29udGFjdHM7XG4gICAgICAgICAgdGhpcy5uekNvbnRhY3RMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiB0YWJsZeWIneWni+WMllxuICAgKi9cbiAgb25UYWJsZUluaXQoKTogdm9pZCB7XG4gICAgLy8g6K6+572u6KGo5aS0XG4gICAgdGhpcy5zdC5yZXNldENvbHVtbnMoe1xuICAgICAgY29sdW1uczogW1xuICAgICAgICB7IHRpdGxlOiAn6YCJ5oupJywgdHlwZTogJ2NoZWNrYm94JyB9LFxuICAgICAgICB7IHRpdGxlOiAn5bqP5Y+3JywgdHlwZTogJ25vJyB9LFxuICAgICAgICB7IHRpdGxlOiAn5aeT5ZCNJywgaW5kZXg6ICdyZWFsTmFtZScgfSxcbiAgICAgICAgeyB0aXRsZTogJ+WtpuWPty/lt6Xlj7cnLCBpbmRleDogJ3VzZXJDb2RlJyB9LFxuICAgICAgICB7IHRpdGxlOiAn6YOo6ZeoJywgaW5kZXg6ICdkZXB0LmRlcHROYW1lJyB9XG4gICAgICBdXG4gICAgfSk7XG4gICAgLy8g6K6i6ZiFdGFibGXngrnlh7tjaGVja2JveOS6i+S7tuWPmOWMllxuICAgIHRoaXMuc3Vicy5wdXNoKFxuICAgICAgdGhpcy5zdC5jaGFuZ2Uuc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgICBpZiAoZS50eXBlID09PSAnY2hlY2tib3gnKSB7XG4gICAgICAgICAgLy8g54K55Ye7Y2hlY2tib3jmlrDlop7ogZTns7vkurpcbiAgICAgICAgICBjb25zdCBjb250YWN0SWRzID0gdGhpcy5uekNvbnRhY3RzLm1hcChjID0+IGMudXNlcklkKTtcbiAgICAgICAgICB0aGlzLm56Q29udGFjdHMgPSB0aGlzLm56Q29udGFjdHMuY29uY2F0KGUuY2hlY2tib3ghLmZpbHRlcihjID0+ICFjb250YWN0SWRzLmluY2x1ZGVzKGMudXNlcklkKSkpO1xuICAgICAgICAgIC8vIOWPlua2iGNoZWNrYm945Y+W5raI6IGU57O75Lq6XG4gICAgICAgICAgY29uc3QgY2FuY2VsSWRzID0gdGhpcy5zdC5saXN0LmZpbHRlcihkID0+ICFkLmNoZWNrZWQpLm1hcChkID0+IGQudXNlcklkKTtcbiAgICAgICAgICB0aGlzLm56Q29udGFjdHMgPSB0aGlzLm56Q29udGFjdHMuZmlsdGVyKGQgPT4gIWNhbmNlbElkcy5pbmNsdWRlcyhkLnVzZXJJZCkpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogdGFic2V06L+b5YWl5Yqg6L2954q25oCBXG4gICAqL1xuICBvblRhYnNldExvYWRTdGFydCgpOiB2b2lkIHtcbiAgICB0aGlzLm56VGFic2V0TG9hZGluZyA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogdGFic2V05Y+W5raI5Yqg6L2954q25oCBXG4gICAqL1xuICBvblRhYnNldExvYWRFbmQoKTogdm9pZCB7XG4gICAgdGhpcy5uelRhYnNldExvYWRpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiB0YWJzZXTmkJzntKLmoYbmuIXpmaRcbiAgICovXG4gIG9uVGFic2V0U2VhcmNoQ2xlYW4oKTogdm9pZCB7XG4gICAgdGhpcy5uekRlcHRzID0gdGhpcy5fbnpEZXB0c0NvcHk7XG4gICAgdGhpcy5uelJvbGVzID0gdGhpcy5fbnpSb2xlc0NvcHk7XG4gICAgdGhpcy5uekZyaWVuZEdyb3VwcyA9IHRoaXMuX256RnJpZW5kR3JvdXBzQ29weTtcbiAgICB0aGlzLm56VGFic2V0U2VhcmNoID0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiB0YWJzZXTmkJzntKLmoYbovpPlhaVcbiAgICpcbiAgICogQHBhcmFtIHR5cGUg57G75Z6LXG4gICAqIEBwYXJhbSB2YWx1ZSDlgLxcbiAgICovXG4gIG9uVGFic2V0U2VhcmNoQ2hhbmdlKHR5cGU6ICdkZXB0JyB8ICdyb2xlJyB8ICdmcmllbmRHcm91cCcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLm9uVGFic2V0TG9hZFN0YXJ0KCk7XG4gICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgIHRoaXMubnpEZXB0cyA9IHRoaXMuX256RGVwdHNDb3B5O1xuICAgICAgdGhpcy5uelJvbGVzID0gdGhpcy5fbnpSb2xlc0NvcHk7XG4gICAgICB0aGlzLm56RnJpZW5kR3JvdXBzID0gdGhpcy5fbnpGcmllbmRHcm91cHNDb3B5O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0cmVlczogTnpUcmVlTm9kZU9wdGlvbnNbXSA9IFtdO1xuICAgICAgaWYgKHR5cGUgPT09ICdkZXB0Jykge1xuICAgICAgICB0aGlzLnNlYXJjaFRyZWUodmFsdWUsIHRoaXMuX256RGVwdHNDb3B5LCB0cmVlcyk7XG4gICAgICAgIHRoaXMubnpEZXB0cyA9IHRyZWVzO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGUgPT09ICdyb2xlJykge1xuICAgICAgICB0aGlzLnNlYXJjaFRyZWUodmFsdWUsIHRoaXMuX256Um9sZXNDb3B5LCB0cmVlcyk7XG4gICAgICAgIHRoaXMubnpSb2xlcyA9IHRyZWVzO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGUgPT09ICdmcmllbmRHcm91cCcpIHtcbiAgICAgICAgdGhpcy5uekZyaWVuZEdyb3VwcyA9IHRoaXMuX256RnJpZW5kR3JvdXBzQ29weS5maWx0ZXIoZiA9PiB7XG4gICAgICAgICAgcmV0dXJuICFmLm5hbWUuaW5kZXhPZih2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm9uVGFic2V0TG9hZEVuZCgpO1xuICAgIHRoaXMucmVmcmVzaCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIHRhYnNldOWIh+aNouWIsOmDqOmXqFxuICAgKi9cbiAgb25UYWJzZXREZXB0KCk6IHZvaWQge1xuICAgIHRoaXMub25UYWJzZXRTZWFyY2hDbGVhbigpO1xuICAgIGlmICghdGhpcy5uekRlcHRzIHx8IHRoaXMubnpEZXB0cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMub25UYWJzZXREZXB0Rmx1c2goKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogdGFic2V05YiH5o2i5Yiw6KeS6ImyXG4gICAqL1xuICBvblRhYnNldFJvbGUoKTogdm9pZCB7XG4gICAgdGhpcy5vblRhYnNldFNlYXJjaENsZWFuKCk7XG4gICAgaWYgKCF0aGlzLm56Um9sZXMgfHwgdGhpcy5uelJvbGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5vblRhYnNldFJvbGVGbHVzaChudWxsIGFzIE56U2FmZUFueSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHRhYnNldOWIh+aNouWIsOWlveWPi+WIhue7hFxuICAgKi9cbiAgb25UYWJzZXRGcmllbmRHcm91cCgpOiB2b2lkIHtcbiAgICB0aGlzLm9uVGFic2V0U2VhcmNoQ2xlYW4oKTtcbiAgICBpZiAoIXRoaXMubnpGcmllbmRHcm91cHMgfHwgdGhpcy5uekZyaWVuZEdyb3Vwcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMub25UYWJzZXRGcmllbmRHcm91cEZsdXNoKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIOiOt+WPlumDqOmXqOagkVxuICAgKi9cbiAgb25UYWJzZXREZXB0Rmx1c2goKTogdm9pZCB7XG4gICAgdGhpcy5vblRhYnNldExvYWRTdGFydCgpO1xuICAgIHRoaXMuc3Vicy5wdXNoKFxuICAgICAgdGhpcy5jb250YWN0XG4gICAgICAgIC5kZXB0KHRoaXMubnpEZXB0Q2xhc3MsIHRoaXMubnpEZXB0Q2xhc3NIaXN0b3J5LCB0aGlzLm56RGVwdEdyYWRlLCB0aGlzLm56RGVwdEdyYWRlSUQpXG4gICAgICAgIC5zdWJzY3JpYmUoKHRyZWVzOiBOelRyZWVOb2RlT3B0aW9uc1tdKSA9PiB7XG4gICAgICAgICAgdGhpcy5leHBhbmRUcmVlKHRyZWVzKTtcbiAgICAgICAgICB0aGlzLm56RGVwdHMgPSB0cmVlcztcbiAgICAgICAgICB0aGlzLl9uekRlcHRzQ29weSA9IHRyZWVzO1xuICAgICAgICAgIHRoaXMub25UYWJzZXRMb2FkRW5kKCk7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8vIOiOt+WPluinkuiJsuagkVxuICBvblRhYnNldFJvbGVGbHVzaChncm91cFJvbGVDb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLm9uVGFic2V0TG9hZFN0YXJ0KCk7XG4gICAgdGhpcy5zdWJzLnB1c2goXG4gICAgICB0aGlzLmNvbnRhY3QuZ2V0R3JvdXBSb2xlKGdyb3VwUm9sZUNvZGUpLnN1YnNjcmliZSgocm9sZXM6IE56VHJlZU5vZGVPcHRpb25zW10pID0+IHtcbiAgICAgICAgdGhpcy5leHBhbmRUcmVlKHJvbGVzKTtcbiAgICAgICAgdGhpcy5uelJvbGVzID0gcm9sZXM7XG4gICAgICAgIHRoaXMuX256Um9sZXNDb3B5ID0gcm9sZXM7XG4gICAgICAgIHRoaXMub25UYWJzZXRMb2FkRW5kKCk7XG4gICAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLy8g6I635Y+W5aW95Y+L5YiG57uE5YiX6KGoXG4gIG9uVGFic2V0RnJpZW5kR3JvdXBGbHVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLm9uVGFic2V0TG9hZFN0YXJ0KCk7XG4gICAgdGhpcy5zdWJzLnB1c2goXG4gICAgICB0aGlzLmNvbnRhY3QuZ2V0RnJpZW5kR3JvdXAoKS5zdWJzY3JpYmUoKGdyb3VwOiBOelNhZmVBbnlbXSkgPT4ge1xuICAgICAgICB0aGlzLm56RnJpZW5kR3JvdXBzID0gZ3JvdXA7XG4gICAgICAgIHRoaXMuX256RnJpZW5kR3JvdXBzQ29weSA9IGdyb3VwO1xuICAgICAgICB0aGlzLm9uVGFic2V0TG9hZEVuZCgpO1xuICAgICAgICB0aGlzLnJlZnJlc2goKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDpg6jpl6jmoJHngrnlh7tcbiAgICpcbiAgICogQHBhcmFtIGUg6IqC54K5XG4gICAqL1xuICBvbkRlcHRDbGljayhlOiBOekZvcm1hdEVtaXRFdmVudCk6IHZvaWQge1xuICAgIC8vIOaehOmAoOWIhumhteivt+axgu+8jOebtOaOpeS8oOWFpXN0VGFibGXnu4Tku7bvvIzliankuIvnmoTmiYDmnInkuqTnu5nnu4Tku7boh6rlt7HlrozmiJBcbiAgICB0aGlzLnN0LmRhdGEgPSAnL2F1dGgvYmFzZVVzZXIvcXVlcnlMaXN0Rm9yUGFnZSc7XG4gICAgdGhpcy5zdC5yZXEgPSB7XG4gICAgICBhbGxJbkJvZHk6IHRydWUsXG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHR5cGU6ICdwYWdlJyxcbiAgICAgIHJlTmFtZToge1xuICAgICAgICBwaTogJ3BhZ2VOdW0nLFxuICAgICAgICBwczogJ3BhZ2VTaXplJ1xuICAgICAgfSxcbiAgICAgIGJvZHk6IHtcbiAgICAgICAgcGFnZVBhcmFtOiB7XG4gICAgICAgICAgZGVwdElkOiBlLmtleXM/LnBvcCgpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICAgIC8vIHRhYmxl5pWw5o2u6aKE5aSE55CGXG4gICAgdGhpcy5zdC5yZXMgPSB7XG4gICAgICBwcm9jZXNzOiBkYXRhID0+IHtcbiAgICAgICAgdGhpcy5vblRhYmxlQ2hlY2soZGF0YSk7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgfVxuICAgIH07XG4gICAgLy8g5Yqg6L2956ys5LiA6aG1XG4gICAgdGhpcy5zdC5sb2FkKDEpO1xuICB9XG5cbiAgLyoqXG4gICAqIOinkuiJsuagkeeCueWHu1xuICAgKlxuICAgKiBAcGFyYW0gZSDoioLngrlcbiAgICovXG4gIG9uUm9sZUNsaWNrKGU6IE56Rm9ybWF0RW1pdEV2ZW50KTogdm9pZCB7XG4gICAgLy8g5p6E6YCg5YiG6aG16K+35rGC77yM55u05o6l5Lyg5YWlc3RUYWJsZee7hOS7tu+8jOWJqeS4i+eahOaJgOacieS6pOe7mee7hOS7tuiHquW3seWujOaIkFxuICAgIHRoaXMuc3QuZGF0YSA9ICcvYXV0aC9iYXNlVXNlci9xdWVyeUxpc3RGb3JQYWdlJztcbiAgICB0aGlzLnN0LnJlcSA9IHtcbiAgICAgIGFsbEluQm9keTogdHJ1ZSxcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgdHlwZTogJ3BhZ2UnLFxuICAgICAgcmVOYW1lOiB7XG4gICAgICAgIHBpOiAncGFnZU51bScsXG4gICAgICAgIHBzOiAncGFnZVNpemUnXG4gICAgICB9LFxuICAgICAgYm9keToge1xuICAgICAgICBwYWdlUGFyYW06IHtcbiAgICAgICAgICByb2xlSWQ6IGUua2V5cz8ucG9wKClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gICAgLy8gdGFibGXmlbDmja7pooTlpITnkIZcbiAgICB0aGlzLnN0LnJlcyA9IHtcbiAgICAgIHByb2Nlc3M6IGRhdGEgPT4ge1xuICAgICAgICB0aGlzLm9uVGFibGVDaGVjayhkYXRhKTtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9XG4gICAgfTtcbiAgICAvLyDliqDovb3nrKzkuIDpobVcbiAgICB0aGlzLnN0LmxvYWQoMSk7XG4gIH1cblxuICAvKipcbiAgICog5aW95Y+L5YiG57uE54K55Ye7XG4gICAqXG4gICAqIEBwYXJhbSBlIOWIhue7hFxuICAgKi9cbiAgb25GcmllbmRHcm91cENsaWNrKGU6IE56U2FmZUFueSk6IHZvaWQge1xuICAgIC8vIOaehOmAoOWIhumhteivt+axgu+8jOebtOaOpeS8oOWFpXN0VGFibGXnu4Tku7bvvIzliankuIvnmoTmiYDmnInkuqTnu5nnu4Tku7boh6rlt7HlrozmiJBcbiAgICB0aGlzLnN0LmRhdGEgPSAnL2F1dGgvYmFzZVVzZXIvcXVlcnlMaXN0Rm9yUGFnZSc7XG4gICAgdGhpcy5zdC5yZXEgPSB7XG4gICAgICBhbGxJbkJvZHk6IHRydWUsXG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHR5cGU6ICdwYWdlJyxcbiAgICAgIHJlTmFtZToge1xuICAgICAgICBwaTogJ3BhZ2VOdW0nLFxuICAgICAgICBwczogJ3BhZ2VTaXplJ1xuICAgICAgfSxcbiAgICAgIGJvZHk6IHtcbiAgICAgICAgcGFnZVBhcmFtOiB7XG4gICAgICAgICAgZnJpZW5kR3JvdXBJZDogZS5pZFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgICAvLyB0YWJsZeaVsOaNrumihOWkhOeQhlxuICAgIHRoaXMuc3QucmVzID0ge1xuICAgICAgcHJvY2VzczogZGF0YSA9PiB7XG4gICAgICAgIHRoaXMub25UYWJsZUNoZWNrKGRhdGEpO1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgIH1cbiAgICB9O1xuICAgIC8vIOWKoOi9veesrOS4gOmhtVxuICAgIHRoaXMuc3QubG9hZCgxKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDngrnlh7vlj7PkvqfogZTns7vkurrov5vooYzliKDpmaRcbiAgICpcbiAgICogQHBhcmFtIGMg54K55Ye755qE6IGU57O75Lq6XG4gICAqL1xuICBvbkNvbnRhY3RSZW1vdmUoYzogTnpTYWZlQW55KTogdm9pZCB7XG4gICAgdGhpcy5uekNvbnRhY3RzID0gdGhpcy5uekNvbnRhY3RzLmZpbHRlcihjb250YWN0ID0+IHtcbiAgICAgIHJldHVybiBjb250YWN0LnVzZXJJZCAhPSBjLnVzZXJJZDtcbiAgICB9KTtcbiAgICB0aGlzLnN0LnJlbG9hZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIOmihOWkhOeQhnRhYmxl5b2T5YmN6aG15pWw5o2u77yM5ZKMbnpDb250YXTlr7nmr5TvvIznoa7lrppjaGVja2JveOeKtuaAgVxuICAgKlxuICAgKiBAcGFyYW0gZGF0YSDpooTlpITnkIbmlbDmja5cbiAgICovXG4gIG9uVGFibGVDaGVjayhkYXRhOiBOelNhZmVBbnlbXSk6IHZvaWQge1xuICAgIGNvbnN0IGlkcyA9IHRoaXMubnpDb250YWN0cy5tYXAodSA9PiB1LnVzZXJJZCk7XG4gICAgZGF0YS5mb3JFYWNoKGQgPT4ge1xuICAgICAgaWYgKGlkcy5pbmNsdWRlcyhkLnVzZXJJZCkpIHtcbiAgICAgICAgZC5jaGVja2VkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGQuY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIOmAkuW9kuagkeWvu+aJvm5hbWXnm7jlkIzoioLngrlcbiAgICpcbiAgICogQHBhcmFtIG5hbWUg5ZCN56ewXG4gICAqIEBwYXJhbSB0cmVlcyDpnIDopoHpgJLlvZLnmoTmoJFcbiAgICogQHBhcmFtIGxpc3Qg5pCc57Si57uT5p6cXG4gICAqL1xuICBzZWFyY2hUcmVlKG5hbWU6IHN0cmluZywgdHJlZXM6IE56VHJlZU5vZGVPcHRpb25zW10sIGxpc3Q6IE56VHJlZU5vZGVPcHRpb25zW10pOiB2b2lkIHtcbiAgICBpZiAodHJlZXMgJiYgdHJlZXMubGVuZ3RoICYmIHRyZWVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRyZWVzLmZvckVhY2goKHRyZWU6IE56VHJlZU5vZGVPcHRpb25zKSA9PiB7XG4gICAgICAgIGlmICh0cmVlLnRpdGxlLmluZGV4T2YobmFtZSkgIT0gLTEpIHtcbiAgICAgICAgICBsaXN0LnB1c2godHJlZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRyZWUuY2hpbGRyZW4pIHtcbiAgICAgICAgICB0aGlzLnNlYXJjaFRyZWUobmFtZSwgdHJlZS5jaGlsZHJlbiwgbGlzdCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiDpgJLlvZLmoJHlsZXlvIDmiYDmnInmnInlrZDoioLngrnnmoToioLngrlcbiAgICpcbiAgICogQHBhcmFtIHRyZWVzIOmcgOimgeWxleW8gOeahOagkVxuICAgKi9cbiAgZXhwYW5kVHJlZSh0cmVlczogTnpUcmVlTm9kZU9wdGlvbnNbXSk6IHZvaWQge1xuICAgIGlmICh0cmVlcyAmJiB0cmVlcy5sZW5ndGggJiYgdHJlZXMubGVuZ3RoID4gMCkge1xuICAgICAgdHJlZXMuZm9yRWFjaCh0cmVlID0+IHtcbiAgICAgICAgaWYgKCF0cmVlLmNoaWxkcmVuIHx8IHRyZWUuY2hpbGRyZW4ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgdHJlZS5leHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICAgIHRyZWUuaXNMZWFmID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHJlZS5jaGlsZHJlbikge1xuICAgICAgICAgIHRyZWUuZXhwYW5kZWQgPSB0aGlzLm56RXhwYW5kQWxsO1xuICAgICAgICAgIHRyZWUuaXNMZWFmID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5leHBhbmRUcmVlKHRyZWUuY2hpbGRyZW4pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICog5Yi35paw5b2T5YmN6aG16Z2iXG4gICAqL1xuICByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIOehruiupOaMiemSrm91dHB1dOaVsOaNrlxuICAgKi9cbiAgY29uZmlybSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpcm1lZC5uZXh0KHRoaXMubnpDb250YWN0cyk7XG4gIH1cblxuICAvKipcbiAgICog6ZSA5q+B5Ye95pWwXG4gICAqL1xuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm56RGVwdHMgPSBbXTtcbiAgICB0aGlzLm56Um9sZXMgPSBbXTtcbiAgICB0aGlzLm56Q29udGFjdHMgPSBbXTtcbiAgICB0aGlzLnN1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import { CacheService } from '@yelon/cache';
|
|
4
|
+
import { _HttpClient } from '@yelon/theme';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@yelon/theme";
|
|
7
|
+
import * as i2 from "@yelon/cache";
|
|
8
|
+
export class ContactService {
|
|
9
|
+
constructor(http, cache) {
|
|
10
|
+
this.http = http;
|
|
11
|
+
this.cache = cache;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* 部门树查询
|
|
15
|
+
*
|
|
16
|
+
* @param clas 包含班级
|
|
17
|
+
* @param his 包含历史班级
|
|
18
|
+
* @param grade 系部
|
|
19
|
+
* @param gradeID 系部ID
|
|
20
|
+
* @returns 可观察部门树
|
|
21
|
+
*/
|
|
22
|
+
dept(clas, his, grade, gradeID) {
|
|
23
|
+
let baseUrl = `/auth/baseDepartMent/tree?debug=false`;
|
|
24
|
+
if (clas) {
|
|
25
|
+
baseUrl += `&includeClass=true`;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
baseUrl += `&includeClass=false`;
|
|
29
|
+
}
|
|
30
|
+
if (his) {
|
|
31
|
+
baseUrl += `&includeHisClass=true`;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
baseUrl += `&includeHisClass=false`;
|
|
35
|
+
}
|
|
36
|
+
if (grade) {
|
|
37
|
+
baseUrl += `&deptTypes=2,class`;
|
|
38
|
+
}
|
|
39
|
+
if (gradeID) {
|
|
40
|
+
baseUrl += `&gradeId=${gradeID}`;
|
|
41
|
+
}
|
|
42
|
+
return this.http.get(baseUrl).pipe(map((response) => {
|
|
43
|
+
return response.data || [];
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
page(uri, page) {
|
|
47
|
+
return this.http.post(`${uri}/queryListForPage`, page);
|
|
48
|
+
}
|
|
49
|
+
pageBaseUser(page) {
|
|
50
|
+
return this.page('/auth/baseUser', page);
|
|
51
|
+
}
|
|
52
|
+
getUserByIds(ids) {
|
|
53
|
+
return this.http
|
|
54
|
+
.post('/auth/baseUser/users', {
|
|
55
|
+
userIds: ids
|
|
56
|
+
})
|
|
57
|
+
.pipe((response) => {
|
|
58
|
+
return response.data || [];
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* 查询人员信息
|
|
63
|
+
*
|
|
64
|
+
* @param userIds[] 用户id数组,["aaa","bbb","ccc"]
|
|
65
|
+
*/
|
|
66
|
+
getUserByUserIds(userIds) {
|
|
67
|
+
return this.http
|
|
68
|
+
.post(`/auth/baseUser/users`, {
|
|
69
|
+
userIds: userIds
|
|
70
|
+
})
|
|
71
|
+
.pipe(map((response) => {
|
|
72
|
+
return response.data ? response.data : [];
|
|
73
|
+
}));
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* 获取角色组角色
|
|
77
|
+
*
|
|
78
|
+
* @param roleGroupCode 角色组code
|
|
79
|
+
*/
|
|
80
|
+
getGroupRole(roleGroupCode) {
|
|
81
|
+
return this.http
|
|
82
|
+
.post(`/auth/baseRole/findGroupRole`, {
|
|
83
|
+
roleGroupCode: roleGroupCode
|
|
84
|
+
})
|
|
85
|
+
.pipe(map((response) => {
|
|
86
|
+
return response.data ? response.data : [];
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* 查询当前用户好友分组
|
|
91
|
+
*/
|
|
92
|
+
getFriendGroup() {
|
|
93
|
+
return this.http.post(`/contact/appcontact/findGroup`, {}).pipe(map((response) => {
|
|
94
|
+
return response.data ? response.data : [];
|
|
95
|
+
}));
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* 查询年级
|
|
99
|
+
*/
|
|
100
|
+
getGrade() {
|
|
101
|
+
return this.http.get(`/auth/gradeYear/queryListForPage`).pipe(map((response) => {
|
|
102
|
+
return response.data ? response.data : [];
|
|
103
|
+
}));
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* 查询人员类别列表
|
|
107
|
+
*/
|
|
108
|
+
getRylbs() {
|
|
109
|
+
return this.http.post(`/auth/baseTeacher/queryRylbs`, {}).pipe(map((response) => {
|
|
110
|
+
return response.data ? response.data : [];
|
|
111
|
+
}));
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* 获取学生公寓树
|
|
115
|
+
*
|
|
116
|
+
* @param isPower 是否带有权限,默认false
|
|
117
|
+
* @param treeType 树类型 0:宿舍楼 1:宿舍楼+层 2:宿舍楼+层+房间
|
|
118
|
+
*/
|
|
119
|
+
getDormTree(isPower, treeType) {
|
|
120
|
+
const user = this.cache.get('_yz_user', { mode: 'none' });
|
|
121
|
+
let params = {};
|
|
122
|
+
if (isPower) {
|
|
123
|
+
params = {
|
|
124
|
+
isPower: isPower,
|
|
125
|
+
userId: user.userId,
|
|
126
|
+
treeType: treeType
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
params = {
|
|
131
|
+
isPower: isPower,
|
|
132
|
+
treeType: treeType
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
return this.http.post(`/auth/dorm/tree`, params).pipe(map((response) => {
|
|
136
|
+
return response.data ? response.data : [];
|
|
137
|
+
}));
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
ContactService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ContactService_Factory() { return new ContactService(i0.ɵɵinject(i1._HttpClient), i0.ɵɵinject(i2.CacheService)); }, token: ContactService, providedIn: "root" });
|
|
141
|
+
ContactService.decorators = [
|
|
142
|
+
{ type: Injectable, args: [{
|
|
143
|
+
providedIn: 'root'
|
|
144
|
+
},] }
|
|
145
|
+
];
|
|
146
|
+
ContactService.ctorParameters = () => [
|
|
147
|
+
{ type: _HttpClient },
|
|
148
|
+
{ type: CacheService }
|
|
149
|
+
];
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYmlzL2xheW91dC9jb250YWN0L2NvbnRhY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUtyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7QUE4QzNDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQW9CLElBQWlCLEVBQVUsS0FBbUI7UUFBOUMsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQWM7SUFBRyxDQUFDO0lBcUN0RTs7Ozs7Ozs7T0FRRztJQUNILElBQUksQ0FBQyxJQUFjLEVBQUUsR0FBYSxFQUFFLEtBQWUsRUFBRSxPQUFnQjtRQUNuRSxJQUFJLE9BQU8sR0FBRyx1Q0FBdUMsQ0FBQztRQUV0RCxJQUFJLElBQUksRUFBRTtZQUNSLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQztTQUNqQzthQUFNO1lBQ0wsT0FBTyxJQUFJLHFCQUFxQixDQUFDO1NBQ2xDO1FBRUQsSUFBSSxHQUFHLEVBQUU7WUFDUCxPQUFPLElBQUksdUJBQXVCLENBQUM7U0FDcEM7YUFBTTtZQUNMLE9BQU8sSUFBSSx3QkFBd0IsQ0FBQztTQUNyQztRQUVELElBQUksS0FBSyxFQUFFO1lBQ1QsT0FBTyxJQUFJLG9CQUFvQixDQUFDO1NBQ2pDO1FBRUQsSUFBSSxPQUFPLEVBQUU7WUFDWCxPQUFPLElBQUksWUFBWSxPQUFPLEVBQUUsQ0FBQztTQUNsQztRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxD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LENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsT0FBZ0IsRUFBRSxRQUFnQjtRQUM1QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMxRCxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxPQUFPLEVBQUU7WUFDWCxNQUFNLEdBQUc7Z0JBQ1AsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDbkIsUUFBUSxFQUFFLFFBQVE7YUFDbkIsQ0FBQztTQUNIO2FBQU07WUFDTCxNQUFNLEdBQUc7Z0JBQ1AsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLFFBQVEsRUFBRSxRQUFRO2FBQ25CLENBQUM7U0FDSDtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUNuRCxHQUFHLENBQUMsQ0FBQyxRQUFtQixFQUFFLEVBQUU7WUFDMUIsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7Ozs7WUFoTUYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUE3Q1EsV0FBVztZQURYLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE56U2FmZUFueSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS90eXBlcyc7XG5pbXBvcnQgeyBOelRyZWVOb2RlT3B0aW9ucyB9IGZyb20gJ25nLXpvcnJvLWFudGQvdHJlZSc7XG5cbmltcG9ydCB7IENhY2hlU2VydmljZSB9IGZyb20gJ0B5ZWxvbi9jYWNoZSc7XG5pbXBvcnQgeyBfSHR0cENsaWVudCB9IGZyb20gJ0B5ZWxvbi90aGVtZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZVVzZXJQYXJhbSB7XG4gIHJlYWxOYW1lPzogc3RyaW5nO1xuICB1c2VyQ29kZT86IHN0cmluZztcbiAgZGVwdElkPzogc3RyaW5nO1xuICByb2xlSWQ/OiBzdHJpbmc7XG4gIGZyaWVuZEdyb3VwSWQ/OiBzdHJpbmc7XG4gIHVzZXJUeXBlcz86IHN0cmluZztcbiAgYnVpbGRJZD86IHN0cmluZztcbiAgZmxvb3I/OiBzdHJpbmc7XG4gIHJvb21JZD86IHN0cmluZztcbiAgLy8gRklYTUU6IGZpeCB0aGF0IHVzZSBwZXJzb25UeXBlIG9yIHBlb3BsZVR5cGUgb3IgYW55dGhpbmcgdHlwZVxuICByeWxiPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2U8VD4ge1xuICBwYWdlTnVtOiBudW1iZXI7XG4gIHBhZ2VTaXplOiBudW1iZXI7XG4gIHBhZ2VQYXJhbT86IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZVJlczxUPiB7XG4gIGVuZFJvdzogbnVtYmVyO1xuICBoYXNOZXh0UGFnZTogYm9vbGVhbjtcbiAgaGFzUHJldmlvdXNQYWdlOiBib29sZWFuO1xuICBpc0ZpcnN0UGFnZTogYm9vbGVhbjtcbiAgaXNMYXN0UGFnZTogYm9vbGVhbjtcbiAgbGlzdDogVFtdO1xuICBuYXZpZ2F0ZUZpcnN0UGFnZTogbnVtYmVyO1xuICBuYXZpZ2F0ZUxhc3RQYWdlOiBudW1iZXI7XG4gIG5hdmlnYXRlUGFnZXM6IG51bWJlcjtcbiAgbmF2aWdhdGVwYWdlTnVtczogbnVtYmVyW107XG4gIG5leHRQYWdlOiBudW1iZXI7XG4gIHBhZ2VOdW06IG51bWJlcjtcbiAgcGFnZVNpemU6IG51bWJlcjtcbiAgcGFnZXM6IG51bWJlcjtcbiAgcHJlUGFnZTogbnVtYmVyO1xuICBzaXplOiBudW1iZXI7XG4gIHN0YXJ0Um93OiBudW1iZXI7XG4gIHRvdGFsOiBudW1iZXI7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvbnRhY3RTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBfSHR0cENsaWVudCwgcHJpdmF0ZSBjYWNoZTogQ2FjaGVTZXJ2aWNlKSB7fVxuXG4gIC8vIFRJUFM6IEhvdyB0byB3cml0ZSBhbiBvdmVycmlkZSBmdW5jdGlvbiBpbiB0eXBlc2NyaXB0XG4gIC8qKlxuICAgKiDpg6jpl6jmoJHmn6Xor6JcbiAgICpcbiAgICogQHBhcmFtIGNsYXMg5YyF5ZCr54+t57qnXG4gICAqIEByZXR1cm5zIOWPr+inguWvn+mDqOmXqOagkVxuICAgKi9cbiAgZGVwdChjbGFzOiBib29sZWFuKTogT2JzZXJ2YWJsZTxOelRyZWVOb2RlT3B0aW9uc1tdPjtcbiAgLyoqXG4gICAqIOmDqOmXqOagkeafpeivolxuICAgKlxuICAgKiBAcGFyYW0gY2xhcyDljIXlkKvnj63nuqdcbiAgICogQHBhcmFtIGhpcyDljIXlkKvljoblj7Lnj63nuqdcbiAgICogQHJldHVybnMg5Y+v6KeC5a+f6YOo6Zeo5qCRXG4gICAqL1xuICBkZXB0KGNsYXM6IGJvb2xlYW4sIGhpczogYm9vbGVhbik6IE9ic2VydmFibGU8TnpUcmVlTm9kZU9wdGlvbnNbXT47XG4gIC8qKlxuICAgKiDpg6jpl6jmoJHmn6Xor6JcbiAgICpcbiAgICogQHBhcmFtIGNsYXMg5YyF5ZCr54+t57qnXG4gICAqIEBwYXJhbSBoaXMg5YyF5ZCr5Y6G5Y+y54+t57qnXG4gICAqIEBwYXJhbSBncmFkZSDns7vpg6hcbiAgICogQHJldHVybnMg5Y+v6KeC5a+f6YOo6Zeo5qCRXG4gICAqL1xuICBkZXB0KGNsYXM6IGJvb2xlYW4sIGhpczogYm9vbGVhbiwgZ3JhZGU6IGJvb2xlYW4pOiBPYnNlcnZhYmxlPE56VHJlZU5vZGVPcHRpb25zW10+O1xuICAvKipcbiAgICog6YOo6Zeo5qCR5p+l6K+iXG4gICAqXG4gICAqIEBwYXJhbSBjbGFzIOWMheWQq+ePree6p1xuICAgKiBAcGFyYW0gaGlzIOWMheWQq+WOhuWPsuePree6p1xuICAgKiBAcGFyYW0gZ3JhZGUg57O76YOoXG4gICAqIEBwYXJhbSBncmFkZUlEIOezu+mDqElEXG4gICAqIEByZXR1cm5zIOWPr+inguWvn+mDqOmXqOagkVxuICAgKi9cbiAgZGVwdChjbGFzOiBib29sZWFuLCBoaXM6IGJvb2xlYW4sIGdyYWRlOiBib29sZWFuLCBncmFkZUlEOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE56VHJlZU5vZGVPcHRpb25zW10+O1xuICAvKipcbiAgICog6YOo6Zeo5qCR5p+l6K+iXG4gICAqXG4gICAqIEBwYXJhbSBjbGFzIOWMheWQq+ePree6p1xuICAgKiBAcGFyYW0gaGlzIOWMheWQq+WOhuWPsuePree6p1xuICAgKiBAcGFyYW0gZ3JhZGUg57O76YOoXG4gICAqIEBwYXJhbSBncmFkZUlEIOezu+mDqElEXG4gICAqIEByZXR1cm5zIOWPr+inguWvn+mDqOmXqOagkVxuICAgKi9cbiAgZGVwdChjbGFzPzogYm9vbGVhbiwgaGlzPzogYm9vbGVhbiwgZ3JhZGU/OiBib29sZWFuLCBncmFkZUlEPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxOelRyZWVOb2RlT3B0aW9uc1tdPiB7XG4gICAgbGV0IGJhc2VVcmwgPSBgL2F1dGgvYmFzZURlcGFydE1lbnQvdHJlZT9kZWJ1Zz1mYWxzZWA7XG5cbiAgICBpZiAoY2xhcykge1xuICAgICAgYmFzZVVybCArPSBgJmluY2x1ZGVDbGFzcz10cnVlYDtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFzZVVybCArPSBgJmluY2x1ZGVDbGFzcz1mYWxzZWA7XG4gICAgfVxuXG4gICAgaWYgKGhpcykge1xuICAgICAgYmFzZVVybCArPSBgJmluY2x1ZGVIaXNDbGFzcz10cnVlYDtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFzZVVybCArPSBgJmluY2x1ZGVIaXNDbGFzcz1mYWxzZWA7XG4gICAgfVxuXG4gICAgaWYgKGdyYWRlKSB7XG4gICAgICBiYXNlVXJsICs9IGAmZGVwdFR5cGVzPTIsY2xhc3NgO1xuICAgIH1cblxuICAgIGlmIChncmFkZUlEKSB7XG4gICAgICBiYXNlVXJsICs9IGAmZ3JhZGVJZD0ke2dyYWRlSUR9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChiYXNlVXJsKS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZTogTnpTYWZlQW55KSA9PiB7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhIHx8IFtdO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcGFnZTxVLCBUPih1cmk6IHN0cmluZywgcGFnZTogUGFnZTxVPik6IE9ic2VydmFibGU8UGFnZVJlczxUPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt1cml9L3F1ZXJ5TGlzdEZvclBhZ2VgLCBwYWdlKTtcbiAgfVxuXG4gIHBhZ2VCYXNlVXNlcihwYWdlOiBQYWdlPEJhc2VVc2VyUGFyYW0+KTogT2JzZXJ2YWJsZTxQYWdlUmVzPE56U2FmZUFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5wYWdlPEJhc2VVc2VyUGFyYW0sIE56U2FmZUFueT4oJy9hdXRoL2Jhc2VVc2VyJywgcGFnZSk7XG4gIH1cblxuICBnZXRVc2VyQnlJZHMoaWRzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdCgnL2F1dGgvYmFzZVVzZXIvdXNlcnMnLCB7XG4gICAgICAgIHVzZXJJZHM6IGlkc1xuICAgICAgfSlcbiAgICAgIC5waXBlKChyZXNwb25zZTogTnpTYWZlQW55KSA9PiB7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhIHx8IFtdO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICog5p+l6K+i5Lq65ZGY5L+h5oGvXG4gICAqXG4gICAqIEBwYXJhbSB1c2VySWRzW10g55So5oi3aWTmlbDnu4QsW1wiYWFhXCIsXCJiYmJcIixcImNjY1wiXVxuICAgKi9cbiAgZ2V0VXNlckJ5VXNlcklkcyh1c2VySWRzOiBhbnkpOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QoYC9hdXRoL2Jhc2VVc2VyL3VzZXJzYCwge1xuICAgICAgICB1c2VySWRzOiB1c2VySWRzXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IE56U2FmZUFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhID8gcmVzcG9uc2UuZGF0YSA6IFtdO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDojrflj5bop5LoibLnu4Top5LoibJcbiAgICpcbiAgICogQHBhcmFtIHJvbGVHcm91cENvZGUg6KeS6Imy57uEY29kZVxuICAgKi9cbiAgZ2V0R3JvdXBSb2xlKHJvbGVHcm91cENvZGU6IHN0cmluZyk6IE9ic2VydmFibGU8TnpUcmVlTm9kZU9wdGlvbnNbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KGAvYXV0aC9iYXNlUm9sZS9maW5kR3JvdXBSb2xlYCwge1xuICAgICAgICByb2xlR3JvdXBDb2RlOiByb2xlR3JvdXBDb2RlXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IE56U2FmZUFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhID8gcmVzcG9uc2UuZGF0YSA6IFtdO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDmn6Xor6LlvZPliY3nlKjmiLflpb3lj4vliIbnu4RcbiAgICovXG4gIGdldEZyaWVuZEdyb3VwKCk6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYC9jb250YWN0L2FwcGNvbnRhY3QvZmluZEdyb3VwYCwge30pLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBOelNhZmVBbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEgPyByZXNwb25zZS5kYXRhIDogW107XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICog5p+l6K+i5bm057qnXG4gICAqL1xuICBnZXRHcmFkZSgpOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYC9hdXRoL2dyYWRlWWVhci9xdWVyeUxpc3RGb3JQYWdlYCkucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IE56U2FmZUFueSkgPT4ge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YSA/IHJlc3BvbnNlLmRhdGEgOiBbXTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDmn6Xor6LkurrlkZjnsbvliKvliJfooahcbiAgICovXG4gIGdldFJ5bGJzKCk6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYC9hdXRoL2Jhc2VUZWFjaGVyL3F1ZXJ5UnlsYnNgLCB7fSkucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IE56U2FmZUFueSkgPT4ge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YSA/IHJlc3BvbnNlLmRhdGEgOiBbXTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDojrflj5blrabnlJ/lhazlr5PmoJFcbiAgICpcbiAgICogQHBhcmFtIGlzUG93ZXIg5piv5ZCm5bim5pyJ5p2D6ZmQ77yM6buY6K6kZmFsc2VcbiAgICogQHBhcmFtIHRyZWVUeXBlIOagkeexu+WeiyAwOuWuv+iIjealvCAxOuWuv+iIjealvCvlsYIgMjrlrr/oiI3mpbwr5bGCK+aIv+mXtFxuICAgKi9cbiAgZ2V0RG9ybVRyZWUoaXNQb3dlcjogYm9vbGVhbiwgdHJlZVR5cGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICBjb25zdCB1c2VyID0gdGhpcy5jYWNoZS5nZXQoJ195el91c2VyJywgeyBtb2RlOiAnbm9uZScgfSk7XG4gICAgbGV0IHBhcmFtcyA9IHt9O1xuICAgIGlmIChpc1Bvd2VyKSB7XG4gICAgICBwYXJhbXMgPSB7XG4gICAgICAgIGlzUG93ZXI6IGlzUG93ZXIsXG4gICAgICAgIHVzZXJJZDogdXNlci51c2VySWQsXG4gICAgICAgIHRyZWVUeXBlOiB0cmVlVHlwZVxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyYW1zID0ge1xuICAgICAgICBpc1Bvd2VyOiBpc1Bvd2VyLFxuICAgICAgICB0cmVlVHlwZTogdHJlZVR5cGVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAvYXV0aC9kb3JtL3RyZWVgLCBwYXJhbXMpLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBOelNhZmVBbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEgPyByZXNwb25zZS5kYXRhIDogW107XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|