Skip to content

Commit 0e7e0ed

Browse files
hpyourdkmaster
authored andcommitted
[新增] 增加SimpleTreeData数据类型,代替TreeData作为JigsawTreeExt、cascade、fishbone的数据,以应对TreeData的性能问题
1 parent ed053b4 commit 0e7e0ed

File tree

16 files changed

+94
-50
lines changed

16 files changed

+94
-50
lines changed

docs/jigsaw-design-concept/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ PopupService弹出[alert](),[tooltips](http://rdk.zte.com.cn/components/toolti
163163
- [BigTableData](http://rdk.zte.com.cn/components/table/demo#big-table)
164164
- [PieGraphData](http://rdk.zte.com.cn/components/graph/demo#pie)
165165
- [LineBarGraphData](http://rdk.zte.com.cn/components/graph/demo#line-bar-graph-ajax)
166-
- [TreeData](http://rdk.zte.com.cn/components/tree/demo#data-from-ajax)
166+
- [TreeData/SimpleTreeData](http://rdk.zte.com.cn/components/tree/demo#data-from-ajax)
167167

168168
这是我们的数据关系图
169169
![data](data.png 'data')

src/app/demo/cascade/basic/demo.component.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import {Component} from "@angular/core";
22
import {HttpClient} from "@angular/common/http";
3-
import {TreeData} from "jigsaw/core/data/tree-data";
3+
import {SimpleTreeData} from "jigsaw/core/data/tree-data";
44

55
@Component({
66
templateUrl: './demo.component.html'
77
})
88
export class CascadeBasicDemoComponent {
9-
areas: TreeData;
9+
areas: SimpleTreeData;
1010

1111
constructor(http: HttpClient) {
1212
// 虽然是从ajax请求过来的,但是注意这是一笔静态数据
13-
http.get('/mock-data/tree-data').subscribe((data: TreeData) => this.areas = data);
13+
http.get('/mock-data/tree-data').subscribe((data: SimpleTreeData) => this.areas = data);
1414
}
1515

1616
message: string = '';

src/app/demo/cascade/multiple-select/demo.component.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
import {Component} from "@angular/core";
22
import {HttpClient} from "@angular/common/http";
3-
import {TreeData} from "jigsaw/core/data/tree-data";
3+
import {SimpleTreeData} from "jigsaw/core/data/tree-data";
44
import {ArrayCollection} from "jigsaw/core/data/array-collection";
55

66
@Component({
77
templateUrl: './demo.component.html'
88
})
99
export class CascadeMultipleDemoComponent {
10-
areas: TreeData;
10+
areas: SimpleTreeData;
1111

1212
constructor(http: HttpClient) {
1313
// 虽然是从ajax请求过来的,但是注意这是一笔静态数据
14-
http.get('/mock-data/tree-data').subscribe((data: TreeData) => this.areas = data);
14+
http.get('/mock-data/tree-data').subscribe((data: SimpleTreeData) => this.areas = data);
1515
}
1616

1717
message: string = '';

src/app/demo/cascade/selected-items/demo.component.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {Component, OnInit} from "@angular/core";
22
import {HttpClient, HttpRequest} from "@angular/common/http";
33
import {CascadeData} from "jigsaw/component/cascade/cascade";
4-
import {TreeData} from "jigsaw/core/data/tree-data";
4+
import {SimpleTreeData} from "jigsaw/core/data/tree-data";
55
import {AjaxInterceptor} from "../../../app.interceptor";
66

77
@Component({
@@ -10,7 +10,7 @@ import {AjaxInterceptor} from "../../../app.interceptor";
1010
export class CascadeSelectedItemsDemoComponent implements OnInit {
1111
constructor(public http: HttpClient) {
1212
// 虽然是从ajax请求过来的,但是注意这是一笔静态数据
13-
http.get('/mock-data/tree-data').subscribe((data: TreeData) => {
13+
http.get('/mock-data/tree-data').subscribe((data: SimpleTreeData) => {
1414
// 设置静态数据
1515
this.areas = data;
1616

@@ -26,7 +26,7 @@ export class CascadeSelectedItemsDemoComponent implements OnInit {
2626
});
2727
}
2828

29-
areas: TreeData;
29+
areas: SimpleTreeData;
3030
staticSelectedItems: any[];
3131
multiSelectedItems: any[];
3232
lazyLoadSelectedItems: any[];

src/app/demo/cascade/show-all/demo.component.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
import {Component} from "@angular/core";
22
import {HttpClient} from "@angular/common/http";
3-
import {TreeData} from "jigsaw/core/data/tree-data";
3+
import {SimpleTreeData} from "jigsaw/core/data/tree-data";
44

55
@Component({
66
templateUrl: './demo.component.html'
77
})
88
export class CascadeShowAllDemoComponent {
9-
areas: TreeData;
9+
areas: SimpleTreeData;
1010

1111
constructor(http: HttpClient) {
1212
// 虽然是从ajax请求过来的,但是注意这是一笔静态数据
1313
http.get('/mock-data/tree-data')
14-
.map((data: TreeData) => {
14+
.map((data: SimpleTreeData) => {
1515
// 加工一下原始数据,给北京市和江苏省-南京市添加全选功能
1616
data.nodes[0].showAll = true;
1717
data.nodes[2].nodes[0].showAll = true;
1818
return data;
1919
})
20-
.subscribe((data: TreeData) => this.areas = data);
20+
.subscribe((data: SimpleTreeData) => this.areas = data);
2121
}
2222

2323
message: string = '';

src/app/demo/cascade/track-item-by/demo.component.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import {Component} from "@angular/core";
22
import {HttpClient} from "@angular/common/http";
3-
import {TreeData} from "jigsaw/core/data/tree-data";
3+
import {SimpleTreeData} from "jigsaw/core/data/tree-data";
44

55
@Component({
66
templateUrl: './demo.component.html'
77
})
88
export class CascadeTrackItemByDemoComponent {
9-
areas: TreeData;
9+
areas: SimpleTreeData;
1010

1111
constructor(http: HttpClient) {
1212
// 虽然是从ajax请求过来的,但是注意这是一笔静态数据
13-
http.get('/mock-data/tree-data').subscribe((data: TreeData) => this.areas = data);
13+
http.get('/mock-data/tree-data').subscribe((data: SimpleTreeData) => this.areas = data);
1414
}
1515

1616
// ====================================================================

src/app/demo/fish-bone/full/demo.component.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {AfterViewInit, Component, ViewEncapsulation} from "@angular/core";
22
import {ChartIconFactory, ChartType} from "jigsaw/component/chart-icon/chart-icon-factory";
3-
import {TreeData} from "jigsaw/core/data/tree-data";
3+
import {SimpleTreeData} from "jigsaw/core/data/tree-data";
44
import {HttpClient} from "@angular/common/http";
55

66
@Component({
@@ -11,7 +11,7 @@ import {HttpClient} from "@angular/common/http";
1111
export class FishBoneFullComponent implements AfterViewInit {
1212

1313
constructor(public http: HttpClient) {
14-
this.data = new TreeData();
14+
this.data = new SimpleTreeData();
1515
this.data.label = '<span class="orange">目标标题</span>';
1616
this.data.fromObject([
1717
{
@@ -139,7 +139,7 @@ export class FishBoneFullComponent implements AfterViewInit {
139139
]
140140
}
141141
]);
142-
this.data2 = new TreeData();
142+
this.data2 = new SimpleTreeData();
143143
this.data2.label = '<span class="orange">申论万能思维体系</span>';
144144
this.data2.fromObject([
145145
{
@@ -287,15 +287,15 @@ export class FishBoneFullComponent implements AfterViewInit {
287287
// 在ChartIcon注册Custom Pie
288288
ChartIconFactory.registerCustomPie();
289289

290-
this.data3 = new TreeData();
290+
this.data3 = new SimpleTreeData();
291291
this.data3.http = http;
292292
this.data3.fromAjax('mock-data/fish-bone-1');
293293
this.data3.onAjaxComplete(() => {
294294
this.data3.label = `<span class="orange">VoLTE呼损分析</span>`;
295295
this.data3.nodes.forEach((node, index) => {
296296
node.label = `<span class="orange">${node.name}</span>`;
297297
let pieData = this.getPieData(node).join(",");
298-
let nodesItem = new TreeData();
298+
let nodesItem = new SimpleTreeData();
299299
nodesItem.label = `<span class="pie-call-loss-${index}">${pieData}</span>`;
300300
nodesItem.desc = `<p class="call-loss-data"> count: ${node.count} <br> ratio: ${node.ratio} <br> delay: ${node.delay}</p>`;
301301
node.nodes = [nodesItem];
@@ -311,11 +311,11 @@ export class FishBoneFullComponent implements AfterViewInit {
311311
})
312312
}
313313

314-
data: TreeData;
314+
data: SimpleTreeData;
315315

316-
data2: TreeData;
316+
data2: SimpleTreeData;
317317

318-
data3: TreeData;
318+
data3: SimpleTreeData;
319319

320320
sceneData = [
321321
{id: 1, label: "场景一",},

src/app/demo/tree/async/demo.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {Component} from "@angular/core";
22
import {ZTreeSettingSetting} from "jigsaw/component/tree/ztree-types";
3-
import {TreeData} from "jigsaw/core/data/tree-data";
3+
import {SimpleTreeData} from "jigsaw/core/data/tree-data";
44

55
@Component({
66
templateUrl: 'demo.component.html'
@@ -24,7 +24,7 @@ export class ZtreeAsynDemoComponent {
2424
}
2525
};
2626

27-
public data = new TreeData();
27+
public data = new SimpleTreeData();
2828

2929
constructor() {
3030
this.data.fromObject([

src/app/demo/tree/basic/demo.component.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {AfterViewInit, Component, ViewChild} from "@angular/core";
22
import 'rxjs/add/operator/toPromise';
33
import 'rxjs/add/operator/map';
4-
import {TreeData} from "jigsaw/core/data/tree-data";
4+
import {SimpleTreeData} from "jigsaw/core/data/tree-data";
55
import {JigsawTreeExt} from "jigsaw/component/tree/tree-ext";
66

77
@Component({
@@ -10,10 +10,10 @@ import {JigsawTreeExt} from "jigsaw/component/tree/tree-ext";
1010
export class ZtreeDemoComponent implements AfterViewInit {
1111
@ViewChild(JigsawTreeExt) treeExt: JigsawTreeExt;
1212

13-
public data: TreeData;
13+
public data: SimpleTreeData;
1414

1515
constructor() {
16-
this.data = new TreeData();
16+
this.data = new SimpleTreeData();
1717
this.data.fromObject([
1818
{
1919
label: "父节点1 - 展开",

src/app/demo/tree/custom-settings-callback/demo.component.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {AfterViewInit, Component, ViewChild} from "@angular/core";
22
import 'rxjs/add/operator/toPromise';
33
import 'rxjs/add/operator/map';
4-
import {TreeData} from "jigsaw/core/data/tree-data";
4+
import {SimpleTreeData} from "jigsaw/core/data/tree-data";
55
import {JigsawTreeExt} from "jigsaw/component/tree/tree-ext";
66
import {ZTreeSettingSetting} from "../../../../jigsaw/component/tree/ztree-types";
77

@@ -11,7 +11,7 @@ import {ZTreeSettingSetting} from "../../../../jigsaw/component/tree/ztree-types
1111
export class ZtreeCustomSettingCallbackDemoComponent implements AfterViewInit {
1212
@ViewChild(JigsawTreeExt) treeExt: JigsawTreeExt;
1313

14-
public data: TreeData;
14+
public data: SimpleTreeData;
1515
setting: ZTreeSettingSetting = {
1616
data: {
1717
key: {
@@ -44,7 +44,7 @@ export class ZtreeCustomSettingCallbackDemoComponent implements AfterViewInit {
4444
}
4545

4646
constructor() {
47-
this.data = new TreeData();
47+
this.data = new SimpleTreeData();
4848
this.data.fromObject([
4949
{
5050
label: "Cannot Click Node",

0 commit comments

Comments
 (0)