容器内容管理模块

之前已经介绍了视图管理模块(ViewManager),通过json格式的数据,渲染页面上的容器(个人觉得数据格式定义的很好,甚至可以在后期改为动态编辑态,题外话...)

通俗的来讲,房子已经建好了,下面就是需要给房子内部添加内容了。这个添加内容的功能,我命名为CtnManager,用来管理容器内容,而容器内部数据的格式,在这里给出:

{//对应一个chart控件
    type: 'line',
    series:[
        {
            title:'淘宝销售天数据',//对应到图例
            uid: 'DayIncome',
            dataRange: { start: '2014/11/8', end: '2014/-1/-1'       },
        }
    ],
    panel_index:"af2d36k7"//对应到容器中的id
}

CtnManager要管理的就是多个上面这样的数据,包括添加,清除,更新,所以经过分析得出模块的方法如下:

CtnManager.prototype.add = function(data){
        this.panels.push[data.panel_index] = new PanelCtnManager(data);
    };

CtnManager.prototype.clearPanel = function(id){
    var p = this.panels[id];
    if(!p){
        throw "要清除的内容不存在!"
    }
    p.Dispose();
};

CtnManager.prototype.update = function(id, dataRange){
    var p = this.panels[id];
    if(!p){
        throw "要更新的内容不存在!"
    }
    p.Update(dataRange);
};

这里提到了另一个模块PanelCtnManager这个模块的输入参数为一个Panel的数据对象,管理Panel的数据更新,ajax请求及回复。

posted @ 2014-12-29 11:51  Neral  阅读(194)  评论(0编辑  收藏  举报