/**Layui滑块类说明
 * @parameter 传递的参数 {}，参数如下：
 ** elem: "", // 绑定元素，(必填项) 指向容器选择器 类型（ string / object）
 ** type: "default", // 滑块类型，可选值有：default（水平滑块）、vertical（垂直滑块） 类型 string
 ** min: 0, // 滑动条最小值，正整数，默认为 0 类型 number
 ** max: 100, // 滑动条最大值，正整数，默认为 100 类型 number
 ** range: false, // 是否开启滑块的范围拖拽，若设为 true，则滑块将出现两个可拖拽的环 类型 boolean
 ** value: 0, // 滑块初始值，默认为数字，若开启了滑块为范围拖拽（即 range: true），则需赋值数组，异表示开始和结尾的区间，如：value: [30, 60] 类型 number/Array
 ** step: 1, // 拖动的步长 类型 number
 ** showstep: false, // 是否显示间断点 类型 boolean
 ** tips: false, // 是否显示文字提示 类型 boolean
 ** input: false, // 是是否显示输入框（注意：若 range 参数为 true 则强制无效） 类型 boolean
 ** height: 200, // 滑动条高度，需配合 type:"vertical" 参数使用 类型 number
 ** disabled: false, // 是否将滑块禁用拖拽 类型 boolean
 ** theme: "#009688", // 主题颜色 类型 string
 */
class lay_slider {
    constructor(parameter = {}) {
        this.parameter = parameter;
        let that = this;
        layui.use(['slider'], function () {
            var slider = layui.slider;
            that.slider = slider.render(that.parameter);
        });
    }
    /**
     * 滑块类的参数提示
     */
    static config = {
        /**
         * @elem 绑定元素， 指向容器选择器 类型（ string / object）
         */
        elem: "elem",
        /**
         * @type 滑块类型， 可选值有：default（ 水平滑块）、 vertical（ 垂直滑块） 类型 string
         */
        type: "type",
        /**
         * @min 滑动条最小值， 正整数， 默认为 0 类型 number
         */
        min: "min",
        /**
         * @max 滑动条最大值， 正整数， 默认为 100 类型 number
         */
        max: "max",
        /**
         * @range 是否开启滑块的范围拖拽， 若设为 true， 则滑块将出现两个可拖拽的环 类型 boolean
         */
        range: "range",
        /**
         * @value 滑块初始值， 默认为数字， 若开启了滑块为范围拖拽（ 即 range: true）， 则需赋值数组， 异表示开始和结尾的区间， 如： value: [30, 60] 类型 number / Array
         */
        value: "value",
        /**
         * @step 拖动的步长 类型 number
         */
        step: "step",
        /**
         * @showstep 是否显示间断点 类型 boolean
         */
        showstep: "showstep",
        /**
         * @tips 是否显示文字提示 类型 boolean
         */
        tips: "tips",
        /**
         * @input 是是否显示输入框（ 注意： 若 range 参数为 true 则强制无效） 类型 boolean
         */
        input: "input",
        /**
         * @height 滑动条高度，需配合 type:"vertical" 参数使用 类型 number
         */
        height: "height",
        /**
         * @disabled 是否将滑块禁用拖拽 类型 boolean
         */
        disabled: "disabled",
        /**
         * @theme 主题颜色 类型 string
         */
        theme: "theme",
        setTips: "setTips",
        change: "change"
    }
    // 类型
    static type = {
        default: "default",
        vertical: "vertical",
    };
    // 动态改变滑块数值
    setValue = function (t, a = 0) {
        let that = this;
        layui.use(['slider'], function () {
            that.slider.setValue(t, a);
        });
    }
}

export default lay_slider;