ProgrammeComp.ets
2.01 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
62
63
64
65
66
67
68
/**
* 剧集相关Comp,数据源无需ProgrammeComp自己加载,从MGComp中控制获得数据
* CompType:
* BIG_CAROUSEL_IMG
* TOP_IMG_BOTTOM_TXT
* BIG_STATIC_IMG
* BIG_PLAY_IMG
* SLIDER_IMG
* NAV_BAR_03
* BINGE_WATCHING
* MY_HOME
*/
import { CompDataDTO } from '../bean/CompDataDTO';
import { CompDTO } from '../bean/CompDTO';
import { WDComp } from './WDComp';
import { WDGroup } from './WDGroup';
import List from '@ohos.util.List';
import { ProgrammeDTO } from '../bean/ProgrammeDTO';
import { CompType } from '../enum/CompType';
import { ProgrammeBean } from '../bean/ProgrammeBean';
import { PageUtils } from '../utils/PageUtils';
export class ProgrammeComp extends WDComp<ProgrammeBean, CompDataDTO> {
constructor(parent: WDGroup, compDTO: CompDTO, initParams: Map<string, Object>) {
super(parent, compDTO, initParams);
}
protected convertDto2Vo(compDataDTO: CompDataDTO): List<ProgrammeBean> {
if (!compDataDTO || !compDataDTO.data) {
return new List<ProgrammeBean>();
}
let programmeBeanList: List<ProgrammeBean> = new List<ProgrammeBean>();
for (let index = 0; index < compDataDTO.data.length; index = index + 1) {
let programmeData: ProgrammeDTO = compDataDTO.data[index];
let bean: ProgrammeBean = new ProgrammeBean(programmeData);
this.buildTip(bean)
programmeBeanList.add(bean);
}
if (this.getCompType() == CompType.TOP_IMG_BOTTOM_TXT) {
programmeBeanList = this.complementTrimData(programmeBeanList)
}
return programmeBeanList;
}
/**
* build角标等数据
*/
buildTip(bean: ProgrammeBean): void {
bean.topRightTipImgUrl = PageUtils.getTopRightTipImgUrl(bean)
bean.topLeftTipImgUrl = PageUtils.getTopLeftTipImgUrl(bean)
}
public setData(compDataDTO: CompDataDTO) {
if (!compDataDTO || !compDataDTO.data) {
return;
}
this.items = this.convertDto2Vo(compDataDTO);
}
public hasMoreData(): boolean {
return false;
}
// public isLoaded(): boolean {
// return this.items.length > 0;
// }
}