/**Layui日期时间类说明
 * @parameter 传递的参数{}，参数如下：
 ** elem: "", // 绑定元素，(必填项) 指向容器选择器 类型（ string / object）
 */
class lay_date {
    constructor(parameter = {}) {
        this.parameter = parameter;
        let that = this;
        layui.use(['laydate'], function () {
            var date = that.laydate = layui.laydate;
            if (that.parameter.show) {
                that.parameter.closeStop = that.parameter.elem;
            };
            that.date = date.render(that.parameter);
        });
    };
    /**
     * 获取指定年月的最后一天
     * @param {Number} month 月份
     * @param {Number} year 年份
     * @returns 返回指定年月的最后一天
     */
    static getEndDate = layui.laydate.getEndDate;
    // static getEndDate(month, year) {
    //     let that = this;
    //     layui.use(['laydate'], function () {
    //         var laydate = layui.laydate;
    //         that.endDateFun = laydate.getEndDate;
    //     });

    //     return that.endDateFun(month, year);
    // }


    /**
     * 日期类的参数提示
     */
    static config = {
        /**
         * @elem  必填项， 用于绑定执行日期渲染的元素， 值一般为选择器， 或DOM对象（ string / object）
         */
        elem: "elem",
        /**
         * @type 用于单独提供不同的选择器类型 类型（ String）
         */
        type: "type",
        /**
         * @value 绑定元素， 指向容器选择器 类型（ string / object）
         */
        value: "value",
        /**
         * @isInitValue 绑定元素， 指向容器选择器 类型（ string / object）
         */
        isInitValue: "isInitValue",
        /**
         * @isPreview 绑定元素， 指向容器选择器 类型（ string / object）
         */
        isPreview: "isPreview",
        /**
         * @range 绑定元素， 指向容器选择器 类型（ string / object）
         */
        range: "range",
        /**
         * @format 绑定元素， 指向容器选择器 类型（ string / object）
         */
        format: "format",
        /**
         * @min 绑定元素， 指向容器选择器 类型（ string / object）
         */
        min: "min",
        /**
         * @max 绑定元素， 指向容器选择器 类型（ string / object）
         */
        max: "max",
        /**
         * @trigger 绑定元素， 指向容器选择器 类型（ string / object）
         */
        trigger: "trigger",
        /**
         * @lang 绑定元素， 指向容器选择器 类型（ string / object）
         */
        lang: "lang",
        /**
         * @theme 绑定元素， 指向容器选择器 类型（ string / object）
         */
        theme: "theme",
        /**
         * @mark 绑定元素， 指向容器选择器 类型（ string / object）
         */
        mark: "mark",
        /**
         * @show 绑定元素， 指向容器选择器 类型（ string / object）
         */
        show: "show",
        /**
         * @position 绑定元素， 指向容器选择器 类型（ string / object）
         */
        position: "position",
        /**
         * @zIndex 绑定元素， 指向容器选择器 类型（ string / object）
         */
        zIndex: "zIndex",
        /**
         * @showBottom 绑定元素， 指向容器选择器 类型（ string / object）
         */
        showBottom: "showBottom",
        /**
         * @btns 绑定元素， 指向容器选择器 类型（ string / object）
         */
        btns: "btns",
        /**
         * @calendar 绑定元素， 指向容器选择器 类型（ string / object）
         */
        calendar: "calendar",
        /**
         * @ready 绑定元素， 指向容器选择器 类型（ string / object）
         */
        ready: "ready",
        /**
         * @change 绑定元素， 指向容器选择器 类型（ string / object）
         */
        change: "change",
        /**
         * @done 绑定元素， 指向容器选择器 类型（ string / object）
         */
        done: "done",
        /**
         * @hint 绑定元素， 指向容器选择器 类型（ string / object）
         */
        hint: "hint",
        /**
         * @getEndDate 绑定元素， 指向容器选择器 类型（ string / object）
         */
        getEndDate: "getEndDate"
    };
    static type = {
        year: "year",
        month: "month",
        date: "date",
        time: "time",
        datetime: "datetime"
    }
    static position = {
        abolute: "abolute",
        fixed: "fixed",
        static: "static"
    }
    static btns = {
        clear: "clear",
        now: "now",
        confirm: "confirm"
    }
    static lang = {
        cn: "cn",
        en: "en"
    }
    static theme = {
        default: "default",
        molv: "molv",
        grid: "grid"
    }
};

export default lay_date;