import { Component } from 'vue-property-decorator';
import { CalendarControlBase } from '../../../widgets/calendar-control-base';
import { IPSSysCalendar } from '@ibizstudio/runtime';
import { VueLifeCycleProcessing } from '../../../decorators';
import './app-timeline-calendar.less';
@Component({})
@VueLifeCycleProcessing()
export class AppTimeLineCalendar extends CalendarControlBase {
/**
* 绘制数据项面板
*
* @param item 数据项
* @memberof AppTimeLineCalendar
*/
renderItemPanel(item: any, calendarItem: any) {
let { targetCtrlName, targetCtrlParam, targetCtrlEvent }: { targetCtrlName: string; targetCtrlParam: any; targetCtrlEvent: any } = this.computeTargetCtrlData(calendarItem.getPSLayoutPanel);
Object.assign(targetCtrlParam.dynamicProps, { inputData: item });
return this.$createElement(targetCtrlName, { props: targetCtrlParam, ref: item.id, on: targetCtrlEvent });
}
/**
* 绘制数据项
*
* @param item 数据项
* @param index 下标
* @memberof AppTimeLineCalendar
*/
renderTimeLineItem(item: any, index: number) {
const calendarItem = (this.controlInstance as IPSSysCalendar).getPSSysCalendarItems()?.find((_item: any) => {
return item?.itemType == _item.itemType;
});
return (
从 {item.start} 至 {item.end}
{item.title}