Demo.Func = BI.inherit(BI.Widget, {
    props: {
        baseCls: "demo-func"
    },
    render: function () {
        var self = this;
        return {
            type: "bi.tab",
            ref: function () {
                self.tab = this;
            },
            single: true,
            cardCreator: function (v) {
                return {
                    type: v
                }
            }
        };
    },

    mounted: function () {
        var self = this;
        var items = [[{
            "data": [
                {"x": "孙林", "y": 789},
                {"x": "金士鹏", "y": 156},
                {"x": "张珊", "y": 289},
                {"x": "孙阳", "y": 562},
                {"x": "袁成洁", "y": 546},
                {"x": "张颖", "y": 218},
                {"x": "王伟", "y": 541},
                {"x": "张武", "y": 219},
                {"x": "韩文", "y": 345}
            ],
            "name": "测试1",
            stack: 1
        }, {
            "data": [
                {"x": "孙林", "y": 789},
                {"x": "金士鹏", "y": 156},
                {"x": "张珊", "y": 289},
                {"x": "孙阳", "y": 562},
                {"x": "袁成洁", "y": 546},
                {"x": "张颖", "y": 218},
                {"x": "王伟", "y": 541},
                {"x": "张武", "y": 219},
                {"x": "韩文", "y": 345}
            ],
            "name": "测试2",
            stack: 1
        }]];
        var types = ["bi.axis_chart", "bi.line_chart", "bi.bar_chart"];
        var index = 0;
        this.tab.setSelect(types[index]);
        this.tab.populate(BI.deepClone(items));
        this.interval = setInterval(function () {
            index++;
            if (index >= types.length) {
                index = 0;
            }
            self.tab.setSelect(types[index]);
            self.tab.populate(BI.deepClone(items));
        }, 2000)
    },

    destroyed: function () {
        clearInterval(this.interval);
    }
});
BI.shortcut("demo.axis_chart", Demo.Func);