/**
* @description json 对象查看,支持主从结构的对象查看
* */
Rsd.define('Rsd.widget.JsonViewer', {
extend: 'Rsd.container.Component',
requires: [
'Rsd.widget.ModelForm',
'Rsd.control.Grid',
'Rsd.control.GridToolBar',
'Rsd.form.ComboBoxEx',
'Rsd.form.Timestamp',
'Rsd.container.FieldSet',
'Rsd.form.Text',
'Rsd.form.Date',
'Rsd.form.Number',
'Rsd.form.Hidden',
'Rsd.form.CheckBox'
],
layout: 'vbox',
xtype:'json-viewer',
items: [],
fieldWidth:'33%',
/*
* */
constructor: function MajorSubViewControl(config) {
config = config || {};
this.apply(config);
},
/**
*
* */
loadData:function loadData(data)
{
//console.log(data);
var me = this;
var _data = data||{};
var _height = 0;
var _g_list = [];
for (var f in _data) {
//debugger;
var _h = 0;
if(Rsd.isArray(_data[f]))
{
var _cols = [];
if(_data[f].length > 0)
{
for(var c in _data[f][0])
{
_cols.push({name:c,text:c});
}
}
_h = 250;
var _field = {name:f,dataIndex:f,label:f};
var _grid = {
id:_field.id || _field.name,
dataIndex: _field.dataIndex||_field.dataindex || _field.name,
height:_h,
name:f,
label:f,
width:'100%',
columns:_cols,
value:_data[f],
readOnly:true,
border:true,
tabIndex:f,
dataSource:data[f],
margin:'2 5 2 5',
xtype:'grid'
};
var _g = me.add(_grid);
_g_list.push(f);
}
else
{
var _field = {name:f,dataIndex:f,label:f};
if(_field.xtype != 'hidden')
{
_h = _field.height || 30;
}
var _new_field = Rsd.apply(
{
id:_field.id || _field.name,
name:f,
dataIndex: _field.dataIndex||_field.dataindex || _field.name,
height:_h,
width:me.fieldWidth||'33%',
value:_data[f],
readOnly:true,
tabIndex:f,
margin:'2 5 2 5',
xtype:'text'
},_field);
me.add(_new_field);
}
_height += _h;
}
for(var i in _g_list)
{
var name = _g_list[f];
var _g = me.getItemByName(name);
_g.loadData(data[name]);
}
}
},function (type) {
});