/** * 剧集相关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 { constructor(parent: WDGroup, compDTO: CompDTO, initParams: Map) { super(parent, compDTO, initParams); } protected convertDto2Vo(compDataDTO: CompDataDTO): List { if (!compDataDTO || !compDataDTO.data) { return new List(); } let programmeBeanList: List = new List(); 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; // } }