75 lines
3.2 KiB
JavaScript
75 lines
3.2 KiB
JavaScript
//>>built
|
|
define("dojox/mvc/Generate",["dojo/_base/array","dojo/_base/lang","dojo/_base/declare","./_Container","./at","./Group","dijit/form/TextBox"],function(_1,_2,_3,_4,at){
|
|
return _3("dojox.mvc.Generate",[_4],{_counter:0,_defaultWidgetMapping:{"String":"dijit/form/TextBox"},_defaultClassMapping:{"Label":"generate-label-cell","String":"generate-dijit-cell","Heading":"generate-heading","Row":"row"},_defaultIdNameMapping:{"String":"textbox_t"},children:null,_relTargetProp:"children",startup:function(){
|
|
this.inherited(arguments);
|
|
this._setChildrenAttr(this.children);
|
|
},_setChildrenAttr:function(_5){
|
|
var _6=this.children;
|
|
this._set("children",_5);
|
|
if(this.binding!=_5){
|
|
this.set("ref",_5);
|
|
}
|
|
if(this._started&&(!this._builtOnce||_6!=_5)){
|
|
this._builtOnce=true;
|
|
this._buildContained(_5);
|
|
}
|
|
},_buildContained:function(_7){
|
|
if(!_7){
|
|
return;
|
|
}
|
|
this._destroyBody();
|
|
this._counter=0;
|
|
this.srcNodeRef.innerHTML=this._generateBody(_7);
|
|
this._createBody();
|
|
},_generateBody:function(_8,_9){
|
|
if(_8===void 0){
|
|
return "";
|
|
}
|
|
var _a=[];
|
|
var _b=_2.isFunction(_8.toPlainObject);
|
|
function _c(_d,_e){
|
|
if(_b?(_d&&_2.isFunction(_d.toPlainObject)):!_2.isFunction(_d)){
|
|
if(_2.isArray(_d)){
|
|
_a.push(this._generateRepeat(_d,_e));
|
|
}else{
|
|
if(_b?_d.value:((_d==null||{}.toString.call(_d)!="[object Object]")&&(!(_d||{}).set||!(_d||{}).watch))){
|
|
_a.push(this._generateTextBox(_e,_b));
|
|
}else{
|
|
_a.push(this._generateGroup(_d,_e,_9));
|
|
}
|
|
}
|
|
}
|
|
};
|
|
if(_2.isArray(_8)){
|
|
_1.forEach(_8,_c,this);
|
|
}else{
|
|
for(var s in _8){
|
|
if(_8.hasOwnProperty(s)){
|
|
_c.call(this,_8[s],s);
|
|
}
|
|
}
|
|
}
|
|
return _a.join("");
|
|
},_generateRepeat:function(_f,_10){
|
|
var _11=(this.classMapping&&this.classMapping["Heading"])?this.classMapping["Heading"]:this._defaultClassMapping["Heading"];
|
|
return "<div data-dojo-type=\"dojox/mvc/Group\" data-dojo-props=\"target: at('rel:', '"+_10+"')\" + id=\""+this.id+"_r"+this._counter++ +"\">"+"<div class=\""+_11+"\">"+_10+"</div>"+this._generateBody(_f,true)+"</div>";
|
|
},_generateGroup:function(_12,_13,_14){
|
|
var _15=["<div data-dojo-type=\"dojox/mvc/Group\" data-dojo-props=\"target: at('rel:', '"+_13+"')\" + id=\""+this.id+"_g"+this._counter++ +"\">"];
|
|
if(!_14){
|
|
var _16=(this.classMapping&&this.classMapping["Heading"])?this.classMapping["Heading"]:this._defaultClassMapping["Heading"];
|
|
_15.push("<div class=\""+_16+"\">"+_13+"</div>");
|
|
}
|
|
_15.push(this._generateBody(_12)+"</div>");
|
|
return _15.join("");
|
|
},_generateTextBox:function(_17,_18){
|
|
var _19=this.idNameMapping?this.idNameMapping["String"]:this._defaultIdNameMapping["String"];
|
|
_19=_19+this._counter++;
|
|
var _1a=this.widgetMapping?this.widgetMapping["String"]:this._defaultWidgetMapping["String"];
|
|
var _1b=(this.classMapping&&this.classMapping["Label"])?this.classMapping["Label"]:this._defaultClassMapping["Label"];
|
|
var _1c=(this.classMapping&&this.classMapping["String"])?this.classMapping["String"]:this._defaultClassMapping["String"];
|
|
var _1d=(this.classMapping&&this.classMapping["Row"])?this.classMapping["Row"]:this._defaultClassMapping["Row"];
|
|
var _1e="value: at('rel:"+(_18&&_17||"")+"', '"+(_18?"value":_17)+"')";
|
|
return "<div class=\""+_1d+"\">"+"<label class=\""+_1b+"\">"+_17+":</label>"+"<input class=\""+_1c+"\" data-dojo-type=\""+_1a+"\""+" data-dojo-props=\"name: '"+_19+"', "+_1e+"\" id=\""+_19+"\"></input>"+"</div>";
|
|
}});
|
|
});
|