GroupRequest.ets
1.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/**
* Group数据请求调度
* 处理MGGroup的数据请求,并同步所有包含的MGComp的请求结果并一同返回给调用者。
*/
import { ItemBean } from '../bean/ItemBean';
import { ItemDTO } from '../bean/ItemDTO';
import { WDComp } from '../layout/WDComp';
import { WDGroup } from '../layout/WDGroup';
import List from '@ohos.util.List';
import { FlowComp } from '../layout/FlowComp';
export class GroupRequest {
/**
* 发起Group数据请求
* @param isRefresh 是否为刷新
* @param group MGGroup对象
* @returns 是否发起了请求
*/
public request(isRefresh: boolean, group: WDGroup): boolean {
// TODO: 通过MGGroup获取数据,或遍历所包含的MGComp获取数据。
if (group == null || group.getCompList() == null || group.getCompList().isEmpty()) {
return false;
}
if (group.shouldLoadData()) {
group.sendRequest(isRefresh);
return true;
} else {
return false;
}
}
/**
* 如果Group中的Comp可以加载更多数据,则加载更多数据。
* @param group MGGroup对象
* @returns 是否加载了更多数据
*/
public loadMore(group: WDGroup | undefined): boolean {
// TODO: 如果Group中的Comp可以加载更多数据,通过MGComp#loadMore获取数据。
if (group != undefined) {
let compList:List<WDComp<ItemBean, ItemDTO>> = group?.getCompList();
if (compList) {
for (let i = 0; i < compList.length; i++) {
let mgComp = compList.get(i);
if (mgComp instanceof FlowComp && mgComp.hasMoreData()) {
if (!mgComp.getIsLoading()) {
mgComp.loadMore();
}
return true;
}
}
// if (group.isHasMoreGroupData()) {
// group.requestLongFeed(false);
// return true;
// }
}
}
return false;
}
}