@ebuilding/dialog 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/LICENSE +0 -0
- package/README.md +0 -0
- package/basic/index.d.ts +1 -0
- package/basic/src/default/index.d.ts +42 -0
- package/basic/src/epage/index.d.ts +52 -0
- package/basic/src/index.module.d.ts +8 -0
- package/basic/src/public_api.d.ts +3 -0
- package/common/list/index.d.ts +1 -0
- package/common/list/src/component/card/index.d.ts +18 -0
- package/common/list/src/component/table/index.d.ts +18 -0
- package/common/list/src/component/table-tree/index.d.ts +16 -0
- package/common/list/src/default/index.d.ts +30 -0
- package/common/list/src/index.module.d.ts +10 -0
- package/common/list/src/public_api.d.ts +2 -0
- package/common/list/src/service/list.service.d.ts +38 -0
- package/common/list-tree/index.d.ts +1 -0
- package/common/list-tree/src/component/list/index.d.ts +16 -0
- package/common/list-tree/src/component/tree/index.d.ts +15 -0
- package/common/list-tree/src/default/index.d.ts +26 -0
- package/common/list-tree/src/index.module.d.ts +10 -0
- package/common/list-tree/src/main/index.d.ts +16 -0
- package/common/list-tree/src/public_api.d.ts +3 -0
- package/common/list-tree/src/service/tree.service.d.ts +61 -0
- package/common/page.service/index.d.ts +127 -0
- package/default/index.d.ts +1 -0
- package/default/src/index.module.d.ts +8 -0
- package/default/src/main/index.d.ts +18 -0
- package/default/src/public_api.d.ts +2 -0
- package/default/src/service/dialog.service.d.ts +14 -0
- package/default/src/tag/index.d.ts +14 -0
- package/dict/index.d.ts +1 -0
- package/dict/src/components/etable/index.d.ts +20 -0
- package/dict/src/components/eview/index.d.ts +20 -0
- package/dict/src/default/index.d.ts +21 -0
- package/dict/src/index.module.d.ts +9 -0
- package/dict/src/public_api.d.ts +2 -0
- package/emp/index.d.ts +1 -0
- package/emp/src/default/index.d.ts +16 -0
- package/emp/src/index.module.d.ts +9 -0
- package/emp/src/list/index.d.ts +22 -0
- package/emp/src/org/index.d.ts +45 -0
- package/emp/src/public_api.d.ts +2 -0
- package/epage/index.d.ts +1 -0
- package/epage/src/default/index.d.ts +61 -0
- package/epage/src/index.module.d.ts +7 -0
- package/epage/src/public_api.d.ts +2 -0
- package/fesm2022/basic.mjs +407 -0
- package/fesm2022/basic.mjs.map +1 -0
- package/fesm2022/common.list-tree.mjs +475 -0
- package/fesm2022/common.list-tree.mjs.map +1 -0
- package/fesm2022/common.list.mjs +315 -0
- package/fesm2022/common.list.mjs.map +1 -0
- package/fesm2022/default.mjs +168 -0
- package/fesm2022/default.mjs.map +1 -0
- package/fesm2022/dict.mjs +203 -0
- package/fesm2022/dict.mjs.map +1 -0
- package/fesm2022/ebuilding-dialog.mjs +6 -0
- package/fesm2022/ebuilding-dialog.mjs.map +1 -0
- package/fesm2022/emp.mjs +240 -0
- package/fesm2022/emp.mjs.map +1 -0
- package/fesm2022/epage.mjs +320 -0
- package/fesm2022/epage.mjs.map +1 -0
- package/fesm2022/list.mjs +150 -0
- package/fesm2022/list.mjs.map +1 -0
- package/fesm2022/org.mjs +139 -0
- package/fesm2022/org.mjs.map +1 -0
- package/fesm2022/page.service.mjs +701 -0
- package/fesm2022/page.service.mjs.map +1 -0
- package/fesm2022/position.mjs +316 -0
- package/fesm2022/position.mjs.map +1 -0
- package/fesm2022/ref.mjs +319 -0
- package/fesm2022/ref.mjs.map +1 -0
- package/fesm2022/tree.mjs +165 -0
- package/fesm2022/tree.mjs.map +1 -0
- package/index.d.ts +1 -0
- package/list/index.d.ts +1 -0
- package/list/src/default/index.d.ts +26 -0
- package/list/src/index.module.d.ts +7 -0
- package/list/src/public_api.d.ts +2 -0
- package/org/index.d.ts +1 -0
- package/org/src/default/index.d.ts +19 -0
- package/org/src/index.module.d.ts +8 -0
- package/org/src/info/index.d.ts +21 -0
- package/org/src/public_api.d.ts +2 -0
- package/package.json +72 -0
- package/position/index.d.ts +1 -0
- package/position/src/default/index.d.ts +18 -0
- package/position/src/index.module.d.ts +10 -0
- package/position/src/list/index.d.ts +22 -0
- package/position/src/org/index.d.ts +45 -0
- package/position/src/public_api.d.ts +2 -0
- package/position/src/service.d.ts +5 -0
- package/position/src/tree/index.d.ts +26 -0
- package/ref/index.d.ts +1 -0
- package/ref/src/default/index.d.ts +38 -0
- package/ref/src/index.module.d.ts +8 -0
- package/ref/src/main/index.d.ts +37 -0
- package/ref/src/public_api.d.ts +3 -0
- package/tree/index.d.ts +1 -0
- package/tree/src/default/index.d.ts +23 -0
- package/tree/src/index.module.d.ts +8 -0
- package/tree/src/page-tree/index.d.ts +29 -0
- package/tree/src/public_api.d.ts +3 -0
|
@@ -0,0 +1,475 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Directive, EventEmitter, Output, Component, Input, NgModule } from '@angular/core';
|
|
3
|
+
import * as i3 from '@angular/common';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import * as i3$1 from '@angular/forms';
|
|
6
|
+
import { FormsModule } from '@angular/forms';
|
|
7
|
+
import * as i4$1 from 'ng-zorro-antd/input';
|
|
8
|
+
import { NzInputModule } from 'ng-zorro-antd/input';
|
|
9
|
+
import * as i5$1 from 'ng-zorro-antd/button';
|
|
10
|
+
import { NzButtonModule } from 'ng-zorro-antd/button';
|
|
11
|
+
import * as i8 from 'ng-zorro-antd/tag';
|
|
12
|
+
import { NzTagModule } from 'ng-zorro-antd/tag';
|
|
13
|
+
import * as i9 from 'ng-zorro-antd/spin';
|
|
14
|
+
import { NzSpinModule } from 'ng-zorro-antd/spin';
|
|
15
|
+
import * as i5 from 'ng-zorro-antd/checkbox';
|
|
16
|
+
import { NzCheckboxModule } from 'ng-zorro-antd/checkbox';
|
|
17
|
+
import * as i6 from '@ebuilding/abc/empty';
|
|
18
|
+
import { GramDeonEmptyModule } from '@ebuilding/abc/empty';
|
|
19
|
+
import * as i1$1 from 'ng-zorro-antd/message';
|
|
20
|
+
import _ from 'lodash';
|
|
21
|
+
import * as i1 from '@delon/theme';
|
|
22
|
+
import * as i4 from '@ebuilding/abc/tree';
|
|
23
|
+
import { GramDeonTreeModule } from '@ebuilding/abc/tree';
|
|
24
|
+
import * as i6$1 from 'ng-zorro-antd/core/transition-patch';
|
|
25
|
+
import * as i7 from 'ng-zorro-antd/core/wave';
|
|
26
|
+
|
|
27
|
+
class TreeService {
|
|
28
|
+
http;
|
|
29
|
+
loading = false;
|
|
30
|
+
pageId = null;
|
|
31
|
+
selectTag = true;
|
|
32
|
+
contentType = null; //'list' || 'tree';
|
|
33
|
+
selectType = null; //'single' || 'multiple';
|
|
34
|
+
selectKey = null;
|
|
35
|
+
primary = { key: 'id', name: 'name', vlaue: '' };
|
|
36
|
+
/**
|
|
37
|
+
* 搜索关键字
|
|
38
|
+
*/
|
|
39
|
+
keyword = null;
|
|
40
|
+
/**
|
|
41
|
+
* 选中集合
|
|
42
|
+
*/
|
|
43
|
+
selectData = [];
|
|
44
|
+
/**
|
|
45
|
+
* 页面数据集合
|
|
46
|
+
*/
|
|
47
|
+
data = [];
|
|
48
|
+
/**
|
|
49
|
+
* 页面数据集合 只有当selectType='multiple' 并且 contentType='list' 时起作用
|
|
50
|
+
*/
|
|
51
|
+
listData = [];
|
|
52
|
+
treeAPI = null;
|
|
53
|
+
listAPI = null;
|
|
54
|
+
constructor(http) {
|
|
55
|
+
this.http = http;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* 初始化
|
|
59
|
+
*/
|
|
60
|
+
pageInit(config) {
|
|
61
|
+
if (config) {
|
|
62
|
+
this.pageId = config?.pageId;
|
|
63
|
+
/**
|
|
64
|
+
* 选项类型
|
|
65
|
+
*/
|
|
66
|
+
if (config.selectType) {
|
|
67
|
+
this.selectType = config.selectType;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
this.selectType = 'single';
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* 列表参数
|
|
74
|
+
*/
|
|
75
|
+
if (config.listAPI) {
|
|
76
|
+
this.listAPI = _.cloneDeep(config.listAPI);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Tree参数
|
|
80
|
+
*/
|
|
81
|
+
if (config.treeAPI) {
|
|
82
|
+
this.treeAPI = _.cloneDeep(config.treeAPI);
|
|
83
|
+
}
|
|
84
|
+
if (this.selectData && this.selectData.length == 1) {
|
|
85
|
+
if (this.selectType == 'single') {
|
|
86
|
+
this.selectKey = this.selectData[0]['id'];
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (config.selectTag != undefined && config.selectTag != null) {
|
|
90
|
+
this.selectTag = config.selectTag;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* 搜索按钮事件
|
|
96
|
+
*/
|
|
97
|
+
btnSearch() {
|
|
98
|
+
if (this.keyword) {
|
|
99
|
+
this.contentType = 'list';
|
|
100
|
+
this.getPageListData();
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
this.contentType = 'tree';
|
|
104
|
+
this.getPageTreeData();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* 移除某一项选中
|
|
109
|
+
* @param e
|
|
110
|
+
*/
|
|
111
|
+
btnClose(e, i) {
|
|
112
|
+
this.selectData = this.selectData.filter((item, index) => {
|
|
113
|
+
return index !== e;
|
|
114
|
+
});
|
|
115
|
+
this.selectKey = null;
|
|
116
|
+
this.listDataChecked(i);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* 清空选中项
|
|
120
|
+
*/
|
|
121
|
+
btnCloseAll() {
|
|
122
|
+
this.selectData = [];
|
|
123
|
+
this.selectKey = null;
|
|
124
|
+
this.listDataCheckedAll();
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* 根据条件搜索
|
|
128
|
+
*/
|
|
129
|
+
getPageListData() {
|
|
130
|
+
if (this.listAPI && this.listAPI.url) {
|
|
131
|
+
this.loading = true;
|
|
132
|
+
let postData = { pageId: this.pageId, keyword: this.keyword };
|
|
133
|
+
if (this.listAPI.param) {
|
|
134
|
+
postData = Object.assign(postData, this.listAPI.param);
|
|
135
|
+
}
|
|
136
|
+
this.http.post(this.listAPI.url, postData).subscribe((res) => {
|
|
137
|
+
if (res && res.success == true) {
|
|
138
|
+
let arr = [];
|
|
139
|
+
if (res.result?.treeData) {
|
|
140
|
+
arr = res.result?.treeData;
|
|
141
|
+
}
|
|
142
|
+
if (arr && arr.length > 0) {
|
|
143
|
+
if (this.selectType == 'multiple') {
|
|
144
|
+
this.createListData(arr);
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
this.data = [...arr];
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
{
|
|
152
|
+
this.data = [];
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
this.loading = false;
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* 获取Tree数据
|
|
162
|
+
*/
|
|
163
|
+
getPageTreeData() {
|
|
164
|
+
if (this.treeAPI && this.treeAPI.url) {
|
|
165
|
+
this.data = [];
|
|
166
|
+
this.loading = true;
|
|
167
|
+
let postData = {};
|
|
168
|
+
if (this.treeAPI.param) {
|
|
169
|
+
postData = Object.assign(postData, this.treeAPI.param);
|
|
170
|
+
}
|
|
171
|
+
this.http.post(this.treeAPI.url, postData).subscribe((res) => {
|
|
172
|
+
if (res && res.success == true) {
|
|
173
|
+
if (res.result?.treeData && res.result?.treeData?.length > 0) {
|
|
174
|
+
this.data = res.result?.treeData;
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
{
|
|
178
|
+
this.data = [];
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
this.loading = false;
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
listDataChecked(i) {
|
|
187
|
+
if (this.selectType == 'multiple' && this.contentType == 'list') {
|
|
188
|
+
this.listData.forEach((item) => {
|
|
189
|
+
if (item.value == i.id) {
|
|
190
|
+
item.checked = false;
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
listDataCheckedAll() {
|
|
196
|
+
if (this.selectType == 'multiple' && this.contentType == 'list') {
|
|
197
|
+
this.listData.forEach((item) => {
|
|
198
|
+
item.checked = false;
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
createListData(result) {
|
|
203
|
+
if (result && result.length > 0) {
|
|
204
|
+
let array = [];
|
|
205
|
+
result.forEach((item) => {
|
|
206
|
+
let obj = {
|
|
207
|
+
label: item.title,
|
|
208
|
+
value: item.key,
|
|
209
|
+
checked: false,
|
|
210
|
+
};
|
|
211
|
+
if (this.selectData && this.selectData.length > 0) {
|
|
212
|
+
if (this.selectData.some((v) => {
|
|
213
|
+
return v.id == item.key;
|
|
214
|
+
})) {
|
|
215
|
+
obj.checked = true;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
array.push(obj);
|
|
219
|
+
});
|
|
220
|
+
this.listData = _.cloneDeep(array);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeService, deps: [{ token: i1._HttpClient }], target: i0.ɵɵFactoryTarget.Directive });
|
|
224
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TreeService, isStandalone: true, ngImport: i0 });
|
|
225
|
+
}
|
|
226
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeService, decorators: [{
|
|
227
|
+
type: Directive
|
|
228
|
+
}], ctorParameters: () => [{ type: i1._HttpClient }] });
|
|
229
|
+
|
|
230
|
+
class ListInfoComponent {
|
|
231
|
+
msgSrv;
|
|
232
|
+
treeSrv;
|
|
233
|
+
itemSelected = new EventEmitter();
|
|
234
|
+
constructor(msgSrv, treeSrv) {
|
|
235
|
+
this.msgSrv = msgSrv;
|
|
236
|
+
this.treeSrv = treeSrv;
|
|
237
|
+
}
|
|
238
|
+
ngOnInit() { }
|
|
239
|
+
ngOnDestroy() { }
|
|
240
|
+
itemChange() {
|
|
241
|
+
let arrCheck = [];
|
|
242
|
+
let arrFind = [];
|
|
243
|
+
let listCheck = this.treeSrv.listData.filter((item) => {
|
|
244
|
+
return item.checked == true;
|
|
245
|
+
});
|
|
246
|
+
if (listCheck && listCheck.length > 0) {
|
|
247
|
+
arrCheck = listCheck.map((item) => {
|
|
248
|
+
return {
|
|
249
|
+
id: item.value,
|
|
250
|
+
name: item.label,
|
|
251
|
+
};
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
if (this.treeSrv.selectData && this.treeSrv.selectData.length > 0) {
|
|
255
|
+
this.treeSrv.selectData.forEach((item) => {
|
|
256
|
+
if (!this.treeSrv.listData.some((v) => {
|
|
257
|
+
return item.id == v.value;
|
|
258
|
+
})) {
|
|
259
|
+
arrFind.push({
|
|
260
|
+
id: item.id,
|
|
261
|
+
name: item.name,
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
this.treeSrv.selectData = [...arrFind, ...arrCheck];
|
|
267
|
+
this.itemSelected.emit(listCheck);
|
|
268
|
+
}
|
|
269
|
+
itemClick(e) {
|
|
270
|
+
this.treeSrv.selectKey = e.id;
|
|
271
|
+
this.treeSrv.selectData = [
|
|
272
|
+
{
|
|
273
|
+
id: e.id,
|
|
274
|
+
name: e.title,
|
|
275
|
+
},
|
|
276
|
+
];
|
|
277
|
+
this.itemSelected.emit([
|
|
278
|
+
{
|
|
279
|
+
id: e.id,
|
|
280
|
+
name: e.title,
|
|
281
|
+
},
|
|
282
|
+
]);
|
|
283
|
+
}
|
|
284
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ListInfoComponent, deps: [{ token: i1$1.NzMessageService }, { token: TreeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
285
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: ListInfoComponent, isStandalone: true, selector: "list-info", outputs: { itemSelected: "itemSelected" }, ngImport: i0, template: "<ng-container *ngIf=\"treeSrv.selectType=='multiple';else tmpSingle\">\r\n <ng-container *ngIf=\"treeSrv.listData!! && treeSrv.listData.length>0;else tmpEmpty\">\r\n <nz-checkbox-group [(ngModel)]=\"treeSrv.listData\" (ngModelChange)=\"itemChange()\"></nz-checkbox-group>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-template #tmpSingle>\r\n <ng-container *ngIf=\"treeSrv.data!! && treeSrv.data.length>0;else tmpEmpty\">\r\n <ul class=\"list-content\">\r\n <ng-container *ngFor=\"let item of treeSrv.data\">\r\n <li (click)=\"itemClick(item)\" [ngClass]=\"{ 'item-selected': treeSrv.selectKey!! && treeSrv.selectKey ==item.id}\">\r\n {{ item.title }}\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #tmpEmpty>\r\n <div class=\"list-empty\" *ngIf=\"treeSrv.loading==false\">\r\n <gram-empty state=\"empty9\"></gram-empty>\r\n </div>\r\n</ng-template>\r\n", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;padding:0}:host ::ng-deep .list-empty{margin:auto}:host ::ng-deep .list-content{padding:0}:host ::ng-deep li{min-height:24px;margin:0 0 4px;padding:6px 10px;cursor:pointer}:host ::ng-deep li:hover{background:#d6e9ff;cursor:pointer}:host ::ng-deep .item-selected{color:#fff;background-color:#1177fb}:host ::ng-deep nz-checkbox-group{display:flex;flex-direction:column}:host ::ng-deep nz-checkbox-group .ant-checkbox-group-item{flex:1;min-height:24px;padding:6px 10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NzCheckboxModule }, { kind: "component", type: i5.NzCheckboxGroupComponent, selector: "nz-checkbox-group", inputs: ["nzName", "nzDisabled", "nzOptions"], exportAs: ["nzCheckboxGroup"] }, { kind: "ngmodule", type: GramDeonEmptyModule }, { kind: "component", type: i6.GramDeonEmptyComponent, selector: "gram-empty", inputs: ["desc", "state"], outputs: ["emptyClick"] }] });
|
|
286
|
+
}
|
|
287
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ListInfoComponent, decorators: [{
|
|
288
|
+
type: Component,
|
|
289
|
+
args: [{ selector: 'list-info', imports: [
|
|
290
|
+
CommonModule,
|
|
291
|
+
FormsModule,
|
|
292
|
+
NzCheckboxModule,
|
|
293
|
+
GramDeonEmptyModule
|
|
294
|
+
], template: "<ng-container *ngIf=\"treeSrv.selectType=='multiple';else tmpSingle\">\r\n <ng-container *ngIf=\"treeSrv.listData!! && treeSrv.listData.length>0;else tmpEmpty\">\r\n <nz-checkbox-group [(ngModel)]=\"treeSrv.listData\" (ngModelChange)=\"itemChange()\"></nz-checkbox-group>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-template #tmpSingle>\r\n <ng-container *ngIf=\"treeSrv.data!! && treeSrv.data.length>0;else tmpEmpty\">\r\n <ul class=\"list-content\">\r\n <ng-container *ngFor=\"let item of treeSrv.data\">\r\n <li (click)=\"itemClick(item)\" [ngClass]=\"{ 'item-selected': treeSrv.selectKey!! && treeSrv.selectKey ==item.id}\">\r\n {{ item.title }}\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #tmpEmpty>\r\n <div class=\"list-empty\" *ngIf=\"treeSrv.loading==false\">\r\n <gram-empty state=\"empty9\"></gram-empty>\r\n </div>\r\n</ng-template>\r\n", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;padding:0}:host ::ng-deep .list-empty{margin:auto}:host ::ng-deep .list-content{padding:0}:host ::ng-deep li{min-height:24px;margin:0 0 4px;padding:6px 10px;cursor:pointer}:host ::ng-deep li:hover{background:#d6e9ff;cursor:pointer}:host ::ng-deep .item-selected{color:#fff;background-color:#1177fb}:host ::ng-deep nz-checkbox-group{display:flex;flex-direction:column}:host ::ng-deep nz-checkbox-group .ant-checkbox-group-item{flex:1;min-height:24px;padding:6px 10px}\n"] }]
|
|
295
|
+
}], ctorParameters: () => [{ type: i1$1.NzMessageService }, { type: TreeService }], propDecorators: { itemSelected: [{
|
|
296
|
+
type: Output
|
|
297
|
+
}] } });
|
|
298
|
+
|
|
299
|
+
class TreeInfoComponent {
|
|
300
|
+
msgSrv;
|
|
301
|
+
treeSrv;
|
|
302
|
+
itemSelected = new EventEmitter();
|
|
303
|
+
constructor(msgSrv, treeSrv) {
|
|
304
|
+
this.msgSrv = msgSrv;
|
|
305
|
+
this.treeSrv = treeSrv;
|
|
306
|
+
}
|
|
307
|
+
ngOnInit() { }
|
|
308
|
+
ngOnDestroy() { }
|
|
309
|
+
treeChangeEvent(type, e) {
|
|
310
|
+
if (type == 'click' && this.treeSrv.selectType == 'single') {
|
|
311
|
+
if (e.checkData && e.checkData.length > 0) {
|
|
312
|
+
this.treeSrv.selectKey = e.checkData[0]['id'];
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
this.treeSrv.selectData = e.checkData;
|
|
316
|
+
this.itemSelected.emit(e.checkData);
|
|
317
|
+
}
|
|
318
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeInfoComponent, deps: [{ token: i1$1.NzMessageService }, { token: TreeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
319
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TreeInfoComponent, isStandalone: true, selector: "tree-info", outputs: { itemSelected: "itemSelected" }, ngImport: i0, template: "<ng-container *ngIf=\"treeSrv.data!! && treeSrv.data.length>0\">\r\n <gram-tree [data]=\"treeSrv.data\" [selectType]=\"treeSrv.selectType\" [selectData]=\"treeSrv.selectData\" [loading]=\"false\"\r\n [primary]=\"treeSrv.primary\" (treeChangeEvent)=\"treeChangeEvent('click',$event)\">\r\n </gram-tree>\r\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: GramDeonTreeModule }, { kind: "component", type: i4.GramDeonTreeComponent, selector: "gram-tree", inputs: ["showTag", "selectType", "expandAll", "selectData", "data", "loading", "primary"], outputs: ["treeChangeEvent"] }] });
|
|
320
|
+
}
|
|
321
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeInfoComponent, decorators: [{
|
|
322
|
+
type: Component,
|
|
323
|
+
args: [{ selector: 'tree-info', imports: [
|
|
324
|
+
CommonModule,
|
|
325
|
+
GramDeonTreeModule
|
|
326
|
+
], template: "<ng-container *ngIf=\"treeSrv.data!! && treeSrv.data.length>0\">\r\n <gram-tree [data]=\"treeSrv.data\" [selectType]=\"treeSrv.selectType\" [selectData]=\"treeSrv.selectData\" [loading]=\"false\"\r\n [primary]=\"treeSrv.primary\" (treeChangeEvent)=\"treeChangeEvent('click',$event)\">\r\n </gram-tree>\r\n</ng-container>" }]
|
|
327
|
+
}], ctorParameters: () => [{ type: i1$1.NzMessageService }, { type: TreeService }], propDecorators: { itemSelected: [{
|
|
328
|
+
type: Output
|
|
329
|
+
}] } });
|
|
330
|
+
|
|
331
|
+
class TreeContentComponent {
|
|
332
|
+
treeSrv;
|
|
333
|
+
set config(value) {
|
|
334
|
+
this.treeSrv.contentType = 'tree';
|
|
335
|
+
if (value && value.selectData && Array.isArray(value.selectData)) {
|
|
336
|
+
this.treeSrv.selectData = value.selectData;
|
|
337
|
+
}
|
|
338
|
+
this.treeSrv.pageInit(value);
|
|
339
|
+
this.treeSrv.getPageTreeData();
|
|
340
|
+
}
|
|
341
|
+
get selectData() {
|
|
342
|
+
return this.treeSrv.selectData;
|
|
343
|
+
}
|
|
344
|
+
tagData = null;
|
|
345
|
+
itemSelected = new EventEmitter();
|
|
346
|
+
constructor(treeSrv) {
|
|
347
|
+
this.treeSrv = treeSrv;
|
|
348
|
+
}
|
|
349
|
+
ngOnInit() { }
|
|
350
|
+
ngAfterViewInit() { }
|
|
351
|
+
ngOnChanges(change) {
|
|
352
|
+
if (change['tagData']) {
|
|
353
|
+
if (this.tagData) {
|
|
354
|
+
if (this.tagData.selectData) {
|
|
355
|
+
this.treeSrv.selectData = this.tagData.selectData;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
itemClick(e) {
|
|
361
|
+
this.itemSelected.emit(this.treeSrv.selectData);
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* 移除某一项选中
|
|
365
|
+
* @param e
|
|
366
|
+
*/
|
|
367
|
+
btnClose(e, i) {
|
|
368
|
+
this.treeSrv.selectData = this.selectData.filter((item, index) => {
|
|
369
|
+
return index !== e;
|
|
370
|
+
});
|
|
371
|
+
this.treeSrv.selectKey = null;
|
|
372
|
+
this.treeSrv.listDataChecked(i);
|
|
373
|
+
this.itemSelected.emit(this.treeSrv.selectData);
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* 清空选中项
|
|
377
|
+
*/
|
|
378
|
+
btnCloseAll() {
|
|
379
|
+
this.treeSrv.selectData = [];
|
|
380
|
+
this.treeSrv.selectKey = null;
|
|
381
|
+
this.treeSrv.listDataCheckedAll();
|
|
382
|
+
this.itemSelected.emit(this.treeSrv.selectData);
|
|
383
|
+
}
|
|
384
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeContentComponent, deps: [{ token: TreeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
385
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TreeContentComponent, isStandalone: true, selector: "tree-content", inputs: { config: "config", tagData: "tagData" }, outputs: { itemSelected: "itemSelected" }, providers: [TreeService], usesOnChanges: true, ngImport: i0, template: "<div class=\"query-content\">\r\n <nz-input-group nzSearch [nzAddOnAfter]=\"suffixButton\">\r\n <input type=\"text\" nz-input placeholder=\"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u67E5\u8BE2\" [(ngModel)]=\"treeSrv.keyword\" />\r\n </nz-input-group>\r\n <ng-template #suffixButton>\r\n <button nz-button nzType=\"primary\" type=\"button\" nzSearch (click)=\"treeSrv.btnSearch()\"><i nz-icon\r\n nzType=\"search\"></i>\u67E5\u8BE2</button>\r\n </ng-template>\r\n</div>\r\n<div class=\"body-content\">\r\n <nz-spin [nzSpinning]=\"treeSrv.loading\" class=\"deon-list-spin\">\r\n <ng-container *ngIf=\"treeSrv.contentType=='tree';else tmpList\">\r\n <tree-info (itemSelected)=\"itemClick($event)\"></tree-info>\r\n </ng-container>\r\n <ng-template #tmpList>\r\n <list-info (itemSelected)=\"itemClick($event)\"></list-info>\r\n </ng-template>\r\n </nz-spin>\r\n</div>\r\n<div class=\"select-content\" *ngIf=\"treeSrv.selectTag==true\">\r\n <div class=\"tag-header\">\r\n <label>\u5DF2\u9009<span>({{ treeSrv.selectData.length }})</span></label>\r\n <button nz-button nzType=\"default\" nzSize=\"small\" (click)=\"btnCloseAll()\">\u6E05\u7A7A</button>\r\n </div>\r\n <div class=\"tag-content\">\r\n <ng-container *ngFor=\"let item of treeSrv.selectData;let i=index\">\r\n <nz-tag nzMode=\"closeable\" (nzOnClose)=\"btnClose(i,item)\">{{item[\"name\"]}}</nz-tag>\r\n </ng-container>\r\n </div>\r\n</div>", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;padding:0}:host ::ng-deep .query-content{margin-bottom:10px}:host ::ng-deep .query-content nz-input-group{width:50%}:host ::ng-deep .body-content{display:inline-block;flex:1;overflow-x:overlay;overflow-y:overlay}:host ::ng-deep .body-content::-webkit-scrollbar{width:8px}:host ::ng-deep .body-content::-webkit-scrollbar-thumb{background-color:#94949475;border-radius:7px}:host ::ng-deep .body-content::-webkit-scrollbar-track{background-color:#fff}:host ::ng-deep .select-content{display:inline-block;width:100%;height:90px;margin:10px 0 0;border:1px solid #eaeaea;border-radius:4px}:host ::ng-deep .select-content .tag-header{padding:5px 8px 8px;border-bottom:1px solid #eaeaea}:host ::ng-deep .select-content .tag-header button{float:right}:host ::ng-deep .select-content .tag-content{height:45px;padding:8px 8px 0;overflow-x:overlay;overflow-y:overlay}:host ::ng-deep .select-content .tag-content::-webkit-scrollbar{width:8px}:host ::ng-deep .select-content .tag-content::-webkit-scrollbar-thumb{background-color:#94949475;border-radius:7px}:host ::ng-deep .select-content .tag-content::-webkit-scrollbar-track{background-color:#fff}:host ::ng-deep .select-content .ant-tag{margin-bottom:8px;border:1px solid #eaeaea}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NzInputModule }, { kind: "directive", type: i4$1.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i4$1.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch", "nzCompact"], exportAs: ["nzInputGroup"] }, { kind: "ngmodule", type: NzButtonModule }, { kind: "component", type: i5$1.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i6$1.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i7.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "ngmodule", type: NzTagModule }, { kind: "component", type: i8.NzTagComponent, selector: "nz-tag", inputs: ["nzMode", "nzColor", "nzChecked", "nzBordered"], outputs: ["nzOnClose", "nzCheckedChange"], exportAs: ["nzTag"] }, { kind: "ngmodule", type: NzSpinModule }, { kind: "component", type: i9.NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }, { kind: "component", type: ListInfoComponent, selector: "list-info", outputs: ["itemSelected"] }, { kind: "component", type: TreeInfoComponent, selector: "tree-info", outputs: ["itemSelected"] }] });
|
|
386
|
+
}
|
|
387
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeContentComponent, decorators: [{
|
|
388
|
+
type: Component,
|
|
389
|
+
args: [{ selector: 'tree-content', providers: [TreeService], imports: [
|
|
390
|
+
CommonModule,
|
|
391
|
+
FormsModule,
|
|
392
|
+
NzInputModule,
|
|
393
|
+
NzButtonModule,
|
|
394
|
+
NzTagModule,
|
|
395
|
+
NzSpinModule,
|
|
396
|
+
ListInfoComponent,
|
|
397
|
+
TreeInfoComponent
|
|
398
|
+
], template: "<div class=\"query-content\">\r\n <nz-input-group nzSearch [nzAddOnAfter]=\"suffixButton\">\r\n <input type=\"text\" nz-input placeholder=\"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u67E5\u8BE2\" [(ngModel)]=\"treeSrv.keyword\" />\r\n </nz-input-group>\r\n <ng-template #suffixButton>\r\n <button nz-button nzType=\"primary\" type=\"button\" nzSearch (click)=\"treeSrv.btnSearch()\"><i nz-icon\r\n nzType=\"search\"></i>\u67E5\u8BE2</button>\r\n </ng-template>\r\n</div>\r\n<div class=\"body-content\">\r\n <nz-spin [nzSpinning]=\"treeSrv.loading\" class=\"deon-list-spin\">\r\n <ng-container *ngIf=\"treeSrv.contentType=='tree';else tmpList\">\r\n <tree-info (itemSelected)=\"itemClick($event)\"></tree-info>\r\n </ng-container>\r\n <ng-template #tmpList>\r\n <list-info (itemSelected)=\"itemClick($event)\"></list-info>\r\n </ng-template>\r\n </nz-spin>\r\n</div>\r\n<div class=\"select-content\" *ngIf=\"treeSrv.selectTag==true\">\r\n <div class=\"tag-header\">\r\n <label>\u5DF2\u9009<span>({{ treeSrv.selectData.length }})</span></label>\r\n <button nz-button nzType=\"default\" nzSize=\"small\" (click)=\"btnCloseAll()\">\u6E05\u7A7A</button>\r\n </div>\r\n <div class=\"tag-content\">\r\n <ng-container *ngFor=\"let item of treeSrv.selectData;let i=index\">\r\n <nz-tag nzMode=\"closeable\" (nzOnClose)=\"btnClose(i,item)\">{{item[\"name\"]}}</nz-tag>\r\n </ng-container>\r\n </div>\r\n</div>", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;padding:0}:host ::ng-deep .query-content{margin-bottom:10px}:host ::ng-deep .query-content nz-input-group{width:50%}:host ::ng-deep .body-content{display:inline-block;flex:1;overflow-x:overlay;overflow-y:overlay}:host ::ng-deep .body-content::-webkit-scrollbar{width:8px}:host ::ng-deep .body-content::-webkit-scrollbar-thumb{background-color:#94949475;border-radius:7px}:host ::ng-deep .body-content::-webkit-scrollbar-track{background-color:#fff}:host ::ng-deep .select-content{display:inline-block;width:100%;height:90px;margin:10px 0 0;border:1px solid #eaeaea;border-radius:4px}:host ::ng-deep .select-content .tag-header{padding:5px 8px 8px;border-bottom:1px solid #eaeaea}:host ::ng-deep .select-content .tag-header button{float:right}:host ::ng-deep .select-content .tag-content{height:45px;padding:8px 8px 0;overflow-x:overlay;overflow-y:overlay}:host ::ng-deep .select-content .tag-content::-webkit-scrollbar{width:8px}:host ::ng-deep .select-content .tag-content::-webkit-scrollbar-thumb{background-color:#94949475;border-radius:7px}:host ::ng-deep .select-content .tag-content::-webkit-scrollbar-track{background-color:#fff}:host ::ng-deep .select-content .ant-tag{margin-bottom:8px;border:1px solid #eaeaea}\n"] }]
|
|
399
|
+
}], ctorParameters: () => [{ type: TreeService }], propDecorators: { config: [{
|
|
400
|
+
type: Input
|
|
401
|
+
}], tagData: [{
|
|
402
|
+
type: Input
|
|
403
|
+
}], itemSelected: [{
|
|
404
|
+
type: Output
|
|
405
|
+
}] } });
|
|
406
|
+
|
|
407
|
+
class TreeMainComponent {
|
|
408
|
+
treeSrv;
|
|
409
|
+
set config(value) {
|
|
410
|
+
this.treeSrv.contentType = 'tree';
|
|
411
|
+
value.selectType = 'single'; //'multiple'; //'single';
|
|
412
|
+
this.treeSrv.pageInit(value);
|
|
413
|
+
this.treeSrv.getPageTreeData();
|
|
414
|
+
}
|
|
415
|
+
random = null;
|
|
416
|
+
itemClick = new EventEmitter();
|
|
417
|
+
constructor(treeSrv) {
|
|
418
|
+
this.treeSrv = treeSrv;
|
|
419
|
+
}
|
|
420
|
+
ngOnInit() { }
|
|
421
|
+
ngAfterViewInit() { }
|
|
422
|
+
ngOnChanges(change) {
|
|
423
|
+
if (change['random']) {
|
|
424
|
+
if (this.random) {
|
|
425
|
+
this.treeSrv.getPageTreeData();
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
selectedChange(e) {
|
|
430
|
+
this.itemClick.emit(e);
|
|
431
|
+
}
|
|
432
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeMainComponent, deps: [{ token: TreeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
433
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TreeMainComponent, isStandalone: true, selector: "tree-main", inputs: { config: "config", random: "random" }, outputs: { itemClick: "itemClick" }, providers: [TreeService], usesOnChanges: true, ngImport: i0, template: "<div class=\"query-content\">\r\n <nz-input-group nzSearch [nzAddOnAfter]=\"suffixButton\">\r\n <input type=\"text\" nz-input placeholder=\"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u67E5\u8BE2\" [(ngModel)]=\"treeSrv.keyword\" />\r\n </nz-input-group>\r\n <ng-template #suffixButton>\r\n <button nz-button nzType=\"primary\" type=\"button\" nzSearch (click)=\"treeSrv.btnSearch()\"><i nz-icon\r\n nzType=\"search\"></i>\u67E5\u8BE2</button>\r\n </ng-template>\r\n</div>\r\n<div class=\"body-content\">\r\n <nz-spin [nzSpinning]=\"treeSrv.loading\" class=\"deon-list-spin\">\r\n <ng-container *ngIf=\"treeSrv.contentType=='tree';else tmpList\">\r\n <tree-info (itemSelected)=\"selectedChange($event)\"></tree-info>\r\n </ng-container>\r\n <ng-template #tmpList>\r\n <list-info (itemSelected)=\"selectedChange($event)\"></list-info>\r\n </ng-template>\r\n </nz-spin>\r\n</div>", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;padding:0}:host ::ng-deep .query-content{margin-bottom:10px;padding:10px 12px;border-bottom:1px solid #eaeaea}:host ::ng-deep .query-content nz-input-group{width:100%}:host ::ng-deep .body-content{display:inline-block;flex:1;overflow-x:overlay;overflow-y:overlay}:host ::ng-deep .body-content::-webkit-scrollbar{width:8px}:host ::ng-deep .body-content::-webkit-scrollbar-thumb{background-color:#94949475;border-radius:7px}:host ::ng-deep .body-content::-webkit-scrollbar-track{background-color:#fff}:host ::ng-deep .body-content .tree-item{padding-top:0}:host ::ng-deep .body-content list-info{padding:0 10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NzInputModule }, { kind: "directive", type: i4$1.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i4$1.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch", "nzCompact"], exportAs: ["nzInputGroup"] }, { kind: "ngmodule", type: NzButtonModule }, { kind: "component", type: i5$1.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i6$1.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i7.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "ngmodule", type: NzTagModule }, { kind: "ngmodule", type: NzSpinModule }, { kind: "component", type: i9.NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }, { kind: "component", type: ListInfoComponent, selector: "list-info", outputs: ["itemSelected"] }, { kind: "component", type: TreeInfoComponent, selector: "tree-info", outputs: ["itemSelected"] }] });
|
|
434
|
+
}
|
|
435
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeMainComponent, decorators: [{
|
|
436
|
+
type: Component,
|
|
437
|
+
args: [{ selector: 'tree-main', providers: [TreeService], imports: [
|
|
438
|
+
CommonModule,
|
|
439
|
+
FormsModule,
|
|
440
|
+
NzInputModule,
|
|
441
|
+
NzButtonModule,
|
|
442
|
+
NzTagModule,
|
|
443
|
+
NzSpinModule,
|
|
444
|
+
ListInfoComponent,
|
|
445
|
+
TreeInfoComponent
|
|
446
|
+
], template: "<div class=\"query-content\">\r\n <nz-input-group nzSearch [nzAddOnAfter]=\"suffixButton\">\r\n <input type=\"text\" nz-input placeholder=\"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u67E5\u8BE2\" [(ngModel)]=\"treeSrv.keyword\" />\r\n </nz-input-group>\r\n <ng-template #suffixButton>\r\n <button nz-button nzType=\"primary\" type=\"button\" nzSearch (click)=\"treeSrv.btnSearch()\"><i nz-icon\r\n nzType=\"search\"></i>\u67E5\u8BE2</button>\r\n </ng-template>\r\n</div>\r\n<div class=\"body-content\">\r\n <nz-spin [nzSpinning]=\"treeSrv.loading\" class=\"deon-list-spin\">\r\n <ng-container *ngIf=\"treeSrv.contentType=='tree';else tmpList\">\r\n <tree-info (itemSelected)=\"selectedChange($event)\"></tree-info>\r\n </ng-container>\r\n <ng-template #tmpList>\r\n <list-info (itemSelected)=\"selectedChange($event)\"></list-info>\r\n </ng-template>\r\n </nz-spin>\r\n</div>", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;padding:0}:host ::ng-deep .query-content{margin-bottom:10px;padding:10px 12px;border-bottom:1px solid #eaeaea}:host ::ng-deep .query-content nz-input-group{width:100%}:host ::ng-deep .body-content{display:inline-block;flex:1;overflow-x:overlay;overflow-y:overlay}:host ::ng-deep .body-content::-webkit-scrollbar{width:8px}:host ::ng-deep .body-content::-webkit-scrollbar-thumb{background-color:#94949475;border-radius:7px}:host ::ng-deep .body-content::-webkit-scrollbar-track{background-color:#fff}:host ::ng-deep .body-content .tree-item{padding-top:0}:host ::ng-deep .body-content list-info{padding:0 10px}\n"] }]
|
|
447
|
+
}], ctorParameters: () => [{ type: TreeService }], propDecorators: { config: [{
|
|
448
|
+
type: Input
|
|
449
|
+
}], random: [{
|
|
450
|
+
type: Input
|
|
451
|
+
}], itemClick: [{
|
|
452
|
+
type: Output
|
|
453
|
+
}] } });
|
|
454
|
+
|
|
455
|
+
const COMPONENTS = [TreeContentComponent, TreeMainComponent];
|
|
456
|
+
const COMPONENTS_NOROUNT = [ListInfoComponent, TreeInfoComponent];
|
|
457
|
+
class TreeContentModule {
|
|
458
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
459
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TreeContentModule, imports: [TreeContentComponent, TreeMainComponent, ListInfoComponent, TreeInfoComponent], exports: [TreeContentComponent, TreeMainComponent] });
|
|
460
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeContentModule, imports: [COMPONENTS, COMPONENTS_NOROUNT] });
|
|
461
|
+
}
|
|
462
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeContentModule, decorators: [{
|
|
463
|
+
type: NgModule,
|
|
464
|
+
args: [{
|
|
465
|
+
imports: [...COMPONENTS, ...COMPONENTS_NOROUNT],
|
|
466
|
+
exports: [...COMPONENTS],
|
|
467
|
+
}]
|
|
468
|
+
}] });
|
|
469
|
+
|
|
470
|
+
/**
|
|
471
|
+
* Generated bundle index. Do not edit.
|
|
472
|
+
*/
|
|
473
|
+
|
|
474
|
+
export { TreeContentComponent, TreeContentModule, TreeMainComponent };
|
|
475
|
+
//# sourceMappingURL=common.list-tree.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.list-tree.mjs","sources":["../../../../packages/dialog/common/list-tree/src/service/tree.service.ts","../../../../packages/dialog/common/list-tree/src/component/list/index.ts","../../../../packages/dialog/common/list-tree/src/component/list/index.html","../../../../packages/dialog/common/list-tree/src/component/tree/index.ts","../../../../packages/dialog/common/list-tree/src/component/tree/index.html","../../../../packages/dialog/common/list-tree/src/default/index.ts","../../../../packages/dialog/common/list-tree/src/default/index.html","../../../../packages/dialog/common/list-tree/src/main/index.ts","../../../../packages/dialog/common/list-tree/src/main/index.html","../../../../packages/dialog/common/list-tree/src/index.module.ts","../../../../packages/dialog/common/list-tree/common.list-tree.ts"],"sourcesContent":["import { Directive } from '@angular/core';\r\nimport { _HttpClient } from '@delon/theme';\r\nimport _ from 'lodash';\r\n\r\n@Directive()\r\nexport class TreeService {\r\n loading: boolean = false;\r\n pageId: any = null;\r\n selectTag: boolean = true;\r\n contentType: any = null;//'list' || 'tree';\r\n selectType: any = null;//'single' || 'multiple';\r\n selectKey: any = null;\r\n primary: any = { key: 'id', name: 'name', vlaue: '' };\r\n\r\n /**\r\n * 搜索关键字\r\n */\r\n keyword: any = null;\r\n\r\n /**\r\n * 选中集合\r\n */\r\n selectData: any[] = [];\r\n\r\n /**\r\n * 页面数据集合\r\n */\r\n data: any[] = [];\r\n\r\n /**\r\n * 页面数据集合 只有当selectType='multiple' 并且 contentType='list' 时起作用\r\n */\r\n listData: any[] = [];\r\n\r\n treeAPI: any = null;\r\n listAPI: any = null;\r\n\r\n constructor(public http: _HttpClient) {}\r\n\r\n /**\r\n * 初始化\r\n */\r\n pageInit(config?: any) {\r\n if (config!!) {\r\n this.pageId = config?.pageId;\r\n /**\r\n * 选项类型\r\n */\r\n if (config.selectType!!) {\r\n this.selectType = config.selectType;\r\n } else {\r\n this.selectType = 'single';\r\n }\r\n\r\n /**\r\n * 列表参数\r\n */\r\n if (config.listAPI!!) {\r\n this.listAPI = _.cloneDeep(config.listAPI);\r\n }\r\n\r\n /**\r\n * Tree参数\r\n */\r\n if (config.treeAPI!!) {\r\n this.treeAPI = _.cloneDeep(config.treeAPI);\r\n }\r\n\r\n if (this.selectData!! && this.selectData.length == 1) {\r\n if (this.selectType == 'single') {\r\n this.selectKey = this.selectData[0]['id'];\r\n }\r\n }\r\n if (config.selectTag != undefined && config.selectTag != null) {\r\n this.selectTag = config.selectTag;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 搜索按钮事件\r\n */\r\n btnSearch() {\r\n if (this.keyword!!) {\r\n this.contentType = 'list';\r\n this.getPageListData();\r\n } else {\r\n this.contentType = 'tree';\r\n this.getPageTreeData();\r\n }\r\n }\r\n\r\n /**\r\n * 移除某一项选中\r\n * @param e\r\n */\r\n btnClose(e: any, i: any) {\r\n this.selectData = this.selectData.filter((item: any, index: number) => {\r\n return index !== e;\r\n });\r\n this.selectKey = null;\r\n this.listDataChecked(i);\r\n }\r\n\r\n /**\r\n * 清空选中项\r\n */\r\n btnCloseAll() {\r\n this.selectData = [];\r\n this.selectKey = null;\r\n this.listDataCheckedAll();\r\n }\r\n\r\n /**\r\n * 根据条件搜索\r\n */\r\n getPageListData() {\r\n if (this.listAPI!! && this.listAPI.url!!) {\r\n this.loading = true;\r\n let postData: any = { pageId: this.pageId, keyword: this.keyword };\r\n if (this.listAPI.param!!) {\r\n postData = Object.assign(postData, this.listAPI.param);\r\n }\r\n this.http.post(this.listAPI.url, postData).subscribe((res: any) => {\r\n if (res!! && res.success == true) {\r\n let arr: any[] = [];\r\n if (res.result?.treeData) {\r\n arr = res.result?.treeData;\r\n }\r\n if (arr && arr.length > 0) {\r\n if (this.selectType == 'multiple') {\r\n this.createListData(arr);\r\n } else {\r\n this.data = [...arr];\r\n }\r\n } else {\r\n {\r\n this.data = [];\r\n }\r\n }\r\n }\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 获取Tree数据\r\n */\r\n getPageTreeData() {\r\n if (this.treeAPI!! && this.treeAPI.url!!) {\r\n this.data = [];\r\n this.loading = true;\r\n let postData: any = {};\r\n if (this.treeAPI.param!!) {\r\n postData = Object.assign(postData, this.treeAPI.param);\r\n }\r\n this.http.post(this.treeAPI.url, postData).subscribe((res: any) => {\r\n if (res!! && res.success == true) {\r\n if (res.result?.treeData!! && res.result?.treeData?.length > 0) {\r\n this.data = res.result?.treeData;\r\n } else {\r\n {\r\n this.data = [];\r\n }\r\n }\r\n }\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n\r\n listDataChecked(i: any) {\r\n if (this.selectType == 'multiple' && this.contentType == 'list') {\r\n this.listData.forEach((item: any) => {\r\n if (item.value == i.id) {\r\n item.checked = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n listDataCheckedAll() {\r\n if (this.selectType == 'multiple' && this.contentType == 'list') {\r\n this.listData.forEach((item: any) => {\r\n item.checked = false;\r\n });\r\n }\r\n }\r\n\r\n createListData(result: any) {\r\n if (result!! && result.length > 0) {\r\n let array: any[] = [];\r\n result.forEach((item: any) => {\r\n let obj: any = {\r\n label: item.title,\r\n value: item.key,\r\n checked: false,\r\n };\r\n if (this.selectData!! && this.selectData.length > 0) {\r\n if (\r\n this.selectData.some((v: any) => {\r\n return v.id == item.key;\r\n })\r\n ) {\r\n obj.checked = true;\r\n }\r\n }\r\n array.push(obj);\r\n });\r\n\r\n this.listData = _.cloneDeep(array);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { _HttpClient } from '@delon/theme';\r\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\r\nimport { NzMessageService } from 'ng-zorro-antd/message';\r\n\r\nimport { GramDeonEmptyModule } from '@ebuilding/abc/empty';\r\nimport { TreeService } from '../../service/tree.service';\r\n\r\n@Component({\r\n selector: 'list-info',\r\n templateUrl: './index.html',\r\n styleUrls: ['./index.less'],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NzCheckboxModule,\r\n GramDeonEmptyModule\r\n ]\r\n})\r\nexport class ListInfoComponent implements OnInit {\r\n @Output() itemSelected: EventEmitter<any> = new EventEmitter();\r\n constructor(public msgSrv: NzMessageService, public treeSrv: TreeService) { }\r\n\r\n ngOnInit(): void { }\r\n\r\n ngOnDestroy() { }\r\n\r\n itemChange() {\r\n let arrCheck: any[] = [];\r\n let arrFind: any[] = [];\r\n let listCheck: any[] = this.treeSrv.listData.filter((item: any) => {\r\n return item.checked == true;\r\n });\r\n if (listCheck!! && listCheck.length > 0) {\r\n arrCheck = listCheck.map((item: any) => {\r\n return {\r\n id: item.value,\r\n name: item.label,\r\n };\r\n });\r\n }\r\n\r\n if (this.treeSrv.selectData!! && this.treeSrv.selectData.length > 0) {\r\n this.treeSrv.selectData.forEach((item: any) => {\r\n if (\r\n !this.treeSrv.listData.some((v: any) => {\r\n return item.id == v.value;\r\n })\r\n ) {\r\n arrFind.push({\r\n id: item.id,\r\n name: item.name,\r\n });\r\n }\r\n });\r\n }\r\n this.treeSrv.selectData = [...arrFind, ...arrCheck];\r\n this.itemSelected.emit(listCheck);\r\n }\r\n\r\n itemClick(e: any) {\r\n this.treeSrv.selectKey = e.id;\r\n this.treeSrv.selectData = [\r\n {\r\n id: e.id,\r\n name: e.title,\r\n },\r\n ];\r\n this.itemSelected.emit([\r\n {\r\n id: e.id,\r\n name: e.title,\r\n },\r\n ]);\r\n }\r\n}\r\n","<ng-container *ngIf=\"treeSrv.selectType=='multiple';else tmpSingle\">\r\n <ng-container *ngIf=\"treeSrv.listData!! && treeSrv.listData.length>0;else tmpEmpty\">\r\n <nz-checkbox-group [(ngModel)]=\"treeSrv.listData\" (ngModelChange)=\"itemChange()\"></nz-checkbox-group>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-template #tmpSingle>\r\n <ng-container *ngIf=\"treeSrv.data!! && treeSrv.data.length>0;else tmpEmpty\">\r\n <ul class=\"list-content\">\r\n <ng-container *ngFor=\"let item of treeSrv.data\">\r\n <li (click)=\"itemClick(item)\" [ngClass]=\"{ 'item-selected': treeSrv.selectKey!! && treeSrv.selectKey ==item.id}\">\r\n {{ item.title }}\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #tmpEmpty>\r\n <div class=\"list-empty\" *ngIf=\"treeSrv.loading==false\">\r\n <gram-empty state=\"empty9\"></gram-empty>\r\n </div>\r\n</ng-template>\r\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { _HttpClient } from '@delon/theme';\r\nimport { NzMessageService } from 'ng-zorro-antd/message';\r\n\r\nimport { GramDeonTreeModule } from '@ebuilding/abc/tree';\r\nimport { TreeService } from '../../service/tree.service';\r\n\r\n@Component({\r\n selector: 'tree-info',\r\n templateUrl: './index.html',\r\n styleUrls: ['./index.less'],\r\n imports: [\r\n CommonModule,\r\n GramDeonTreeModule\r\n ]\r\n})\r\nexport class TreeInfoComponent implements OnInit {\r\n @Output() itemSelected: EventEmitter<any> = new EventEmitter();\r\n constructor(public msgSrv: NzMessageService, public treeSrv: TreeService) { }\r\n\r\n ngOnInit(): void { }\r\n\r\n ngOnDestroy() { }\r\n\r\n treeChangeEvent(type: any, e: any) {\r\n if (type == 'click' && this.treeSrv.selectType == 'single') {\r\n if (e.checkData!! && e.checkData.length > 0) {\r\n this.treeSrv.selectKey = e.checkData[0]['id'];\r\n }\r\n }\r\n this.treeSrv.selectData = e.checkData;\r\n this.itemSelected.emit(e.checkData);\r\n }\r\n}\r\n","<ng-container *ngIf=\"treeSrv.data!! && treeSrv.data.length>0\">\r\n <gram-tree [data]=\"treeSrv.data\" [selectType]=\"treeSrv.selectType\" [selectData]=\"treeSrv.selectData\" [loading]=\"false\"\r\n [primary]=\"treeSrv.primary\" (treeChangeEvent)=\"treeChangeEvent('click',$event)\">\r\n </gram-tree>\r\n</ng-container>","import { Component, OnInit, OnChanges, AfterViewInit, EventEmitter, Input, Output } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzButtonModule } from 'ng-zorro-antd/button';\r\nimport { NzTagModule } from 'ng-zorro-antd/tag';\r\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\r\n\r\nimport { ListInfoComponent } from \"../component/list\";\r\nimport { TreeInfoComponent } from \"../component/tree\";\r\nimport { TreeService } from '../service/tree.service';\r\n\r\n@Component({\r\n selector: 'tree-content',\r\n templateUrl: './index.html',\r\n styleUrls: ['./index.less'],\r\n providers: [TreeService],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NzInputModule,\r\n NzButtonModule,\r\n NzTagModule,\r\n NzSpinModule,\r\n ListInfoComponent,\r\n TreeInfoComponent\r\n ]\r\n})\r\nexport class TreeContentComponent implements OnInit, AfterViewInit, OnChanges {\r\n @Input()\r\n set config(value: any) {\r\n this.treeSrv.contentType = 'tree';\r\n if (value!! && value.selectData!! && Array.isArray(value.selectData)) {\r\n this.treeSrv.selectData = value.selectData;\r\n }\r\n this.treeSrv.pageInit(value);\r\n this.treeSrv.getPageTreeData();\r\n }\r\n\r\n get selectData() {\r\n return this.treeSrv.selectData;\r\n }\r\n\r\n @Input() tagData: any = null;\r\n @Output() itemSelected: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor(public treeSrv: TreeService) { }\r\n\r\n ngOnInit() { }\r\n\r\n ngAfterViewInit() { }\r\n\r\n ngOnChanges(change: any) {\r\n if (change['tagData']) {\r\n if (this.tagData!!) {\r\n if (this.tagData.selectData!!) {\r\n this.treeSrv.selectData = this.tagData.selectData;\r\n }\r\n }\r\n }\r\n }\r\n\r\n itemClick(e: any) {\r\n this.itemSelected.emit(this.treeSrv.selectData);\r\n }\r\n\r\n /**\r\n * 移除某一项选中\r\n * @param e\r\n */\r\n btnClose(e: any, i: any) {\r\n this.treeSrv.selectData = this.selectData.filter((item: any, index: number) => {\r\n return index !== e;\r\n });\r\n this.treeSrv.selectKey = null;\r\n this.treeSrv.listDataChecked(i);\r\n this.itemSelected.emit(this.treeSrv.selectData);\r\n }\r\n\r\n /**\r\n * 清空选中项\r\n */\r\n btnCloseAll() {\r\n this.treeSrv.selectData = [];\r\n this.treeSrv.selectKey = null;\r\n this.treeSrv.listDataCheckedAll();\r\n this.itemSelected.emit(this.treeSrv.selectData);\r\n }\r\n}\r\n","<div class=\"query-content\">\r\n <nz-input-group nzSearch [nzAddOnAfter]=\"suffixButton\">\r\n <input type=\"text\" nz-input placeholder=\"请输入关键字查询\" [(ngModel)]=\"treeSrv.keyword\" />\r\n </nz-input-group>\r\n <ng-template #suffixButton>\r\n <button nz-button nzType=\"primary\" type=\"button\" nzSearch (click)=\"treeSrv.btnSearch()\"><i nz-icon\r\n nzType=\"search\"></i>查询</button>\r\n </ng-template>\r\n</div>\r\n<div class=\"body-content\">\r\n <nz-spin [nzSpinning]=\"treeSrv.loading\" class=\"deon-list-spin\">\r\n <ng-container *ngIf=\"treeSrv.contentType=='tree';else tmpList\">\r\n <tree-info (itemSelected)=\"itemClick($event)\"></tree-info>\r\n </ng-container>\r\n <ng-template #tmpList>\r\n <list-info (itemSelected)=\"itemClick($event)\"></list-info>\r\n </ng-template>\r\n </nz-spin>\r\n</div>\r\n<div class=\"select-content\" *ngIf=\"treeSrv.selectTag==true\">\r\n <div class=\"tag-header\">\r\n <label>已选<span>({{ treeSrv.selectData.length }})</span></label>\r\n <button nz-button nzType=\"default\" nzSize=\"small\" (click)=\"btnCloseAll()\">清空</button>\r\n </div>\r\n <div class=\"tag-content\">\r\n <ng-container *ngFor=\"let item of treeSrv.selectData;let i=index\">\r\n <nz-tag nzMode=\"closeable\" (nzOnClose)=\"btnClose(i,item)\">{{item[\"name\"]}}</nz-tag>\r\n </ng-container>\r\n </div>\r\n</div>","import { Component, OnInit, OnChanges, AfterViewInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzButtonModule } from 'ng-zorro-antd/button';\r\nimport { NzTagModule } from 'ng-zorro-antd/tag';\r\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\r\n\r\nimport { ListInfoComponent } from \"../component/list\";\r\nimport { TreeInfoComponent } from \"../component/tree\";\r\nimport { TreeService } from '../service/tree.service';\r\n\r\n@Component({\r\n selector: 'tree-main',\r\n templateUrl: './index.html',\r\n styleUrls: ['./index.less'],\r\n providers: [TreeService],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NzInputModule,\r\n NzButtonModule,\r\n NzTagModule,\r\n NzSpinModule,\r\n ListInfoComponent,\r\n TreeInfoComponent\r\n ]\r\n})\r\nexport class TreeMainComponent implements OnInit, AfterViewInit, OnChanges {\r\n @Input()\r\n set config(value: any) {\r\n this.treeSrv.contentType = 'tree';\r\n value.selectType = 'single'; //'multiple'; //'single';\r\n this.treeSrv.pageInit(value);\r\n this.treeSrv.getPageTreeData();\r\n }\r\n\r\n @Input() random: any = null;\r\n\r\n @Output() itemClick: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor(public treeSrv: TreeService) { }\r\n\r\n ngOnInit() { }\r\n\r\n ngAfterViewInit() { }\r\n\r\n ngOnChanges(change: any) {\r\n if (change['random']) {\r\n if (this.random!!) {\r\n this.treeSrv.getPageTreeData();\r\n }\r\n }\r\n }\r\n\r\n selectedChange(e: any) {\r\n this.itemClick.emit(e);\r\n }\r\n}\r\n","<div class=\"query-content\">\r\n <nz-input-group nzSearch [nzAddOnAfter]=\"suffixButton\">\r\n <input type=\"text\" nz-input placeholder=\"请输入关键字查询\" [(ngModel)]=\"treeSrv.keyword\" />\r\n </nz-input-group>\r\n <ng-template #suffixButton>\r\n <button nz-button nzType=\"primary\" type=\"button\" nzSearch (click)=\"treeSrv.btnSearch()\"><i nz-icon\r\n nzType=\"search\"></i>查询</button>\r\n </ng-template>\r\n</div>\r\n<div class=\"body-content\">\r\n <nz-spin [nzSpinning]=\"treeSrv.loading\" class=\"deon-list-spin\">\r\n <ng-container *ngIf=\"treeSrv.contentType=='tree';else tmpList\">\r\n <tree-info (itemSelected)=\"selectedChange($event)\"></tree-info>\r\n </ng-container>\r\n <ng-template #tmpList>\r\n <list-info (itemSelected)=\"selectedChange($event)\"></list-info>\r\n </ng-template>\r\n </nz-spin>\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { TreeContentComponent } from './default/index';\r\nimport { TreeMainComponent } from './main/index';\r\nimport { ListInfoComponent } from './component/list/index';\r\nimport { TreeInfoComponent } from './component/tree/index';\r\n\r\nconst COMPONENTS: any[] = [TreeContentComponent,TreeMainComponent];\r\n\r\nconst COMPONENTS_NOROUNT: any = [ListInfoComponent, TreeInfoComponent]; \r\n\r\n@NgModule({\r\n imports: [...COMPONENTS,...COMPONENTS_NOROUNT],\r\n exports: [...COMPONENTS],\r\n})\r\nexport class TreeContentModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.TreeService","i4","i1.TreeService","i2","i5","i6","i8"],"mappings":"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"}
|