/**
 * 日历
 *
 * @class IBizCalendar
 * @extends {IBizMDControl}
 */
class IBizCalendar extends IBizMDControl {

    /**
     * 日历类型
     *
     * @type {(string | 'MONTH' | 'WEEK' | 'DAY')}
     * @memberof IBizCalendar
     */
    public calendarType: string | 'MONTH' | 'WEEK' | 'DAY' = '';

    /**
     * 高度
     *
     * @type {(number | undefined)}
     * @memberof IBizCalendar
     */
    public height: number | undefined;

    /**
     * 刷新计数
     *
     * @type {number}
     * @memberof IBizCalendar
     */
    public refreshCount: number = 0;

    /**
     * Creates an instance of IBizGrid.
     * 创建 IBizGrid 实例
     * 
     * @param {*} [opts={}] 
     * @memberof IBizGrid
     */
    constructor(opts: any = {}) {
        super(opts);
    }

    /**
     * 加载数据
     *
     * @param {*} [arg={}]
     * @returns {void}
     * @memberof IBizGrid
     */
    public load(arg: any = {}): void {
        this.refreshCount += 1;
    }

    /**
     * 获取日历类型
     *
     * @returns {string}
     * @memberof IBizCalendar
     */
    public getCalendarType(): string {
        return this.calendarType;
    }

    /**
     * 获取高度
     *
     * @returns {(number | undefined)}
     * @memberof IBizCalendar
     */
    public getHeight(): number | undefined {
        return this.height;
    }

    /**
     * 行单击选中
     *
     * @static
     * @memberof IBizCalendar
     */
    public static ROWDBLCLICKNEWDATA = 'ROWDBLCLICKNEWDATA';

    /**
     * 行数据双击选中
     *
     * @static
     * @memberof IBizCalendar
     */
    public static ROWDBLCLICK = 'ROWDBLCLICK';
}

