/** * jQuery EasyUI 1.2.5 * * Licensed under the GPL terms * To use it on other terms please contact us * * Copyright(c) 2009-2011 stworthy [ stworthy@gmail.com ] * */ (function($){ function _1(_2){ var _3=$.data(_2,"propertygrid").options; $(_2).datagrid($.extend({},_3,{view:(_3.showGroup?_4:undefined),onClickRow:function(_5,_6){ if(_3.editIndex!=_5){ var _7=$(this).datagrid("getColumnOption","value"); _7.editor=_6.editor; _8(_3.editIndex); $(this).datagrid("beginEdit",_5); $(this).datagrid("getEditors",_5)[0].target.focus(); _3.editIndex=_5; } _3.onClickRow.call(_2,_5,_6); }})); $(_2).datagrid("getPanel").panel("panel").addClass("propertygrid"); $(_2).datagrid("getPanel").find("div.datagrid-body").unbind(".propertygrid").bind("mousedown.propertygrid",function(e){ e.stopPropagation(); }); $(document).unbind(".propertygrid").bind("mousedown.propertygrid",function(){ _8(_3.editIndex); _3.editIndex=undefined; }); function _8(_9){ if(_9==undefined){ return; } var t=$(_2); if(t.datagrid("validateRow",_9)){ t.datagrid("endEdit",_9); }else{ t.datagrid("cancelEdit",_9); } }; }; $.fn.propertygrid=function(_a,_b){ if(typeof _a=="string"){ var _c=$.fn.propertygrid.methods[_a]; if(_c){ return _c(this,_b); }else{ return this.datagrid(_a,_b); } } _a=_a||{}; return this.each(function(){ var _d=$.data(this,"propertygrid"); if(_d){ $.extend(_d.options,_a); }else{ $.data(this,"propertygrid",{options:$.extend({},$.fn.propertygrid.defaults,$.fn.propertygrid.parseOptions(this),_a)}); } _1(this); }); }; $.fn.propertygrid.methods={}; $.fn.propertygrid.parseOptions=function(_e){ var t=$(_e); return $.extend({},$.fn.datagrid.parseOptions(_e),{showGroup:(t.attr("showGroup")?t.attr("showGroup")=="true":undefined)}); }; var _4=$.extend({},$.fn.datagrid.defaults.view,{render:function(_f,_10,_11){ var _12=$.data(_f,"datagrid").options; var _13=$.data(_f,"datagrid").data.rows; var _14=$(_f).datagrid("getColumnFields",_11); var _15=[]; var _16=0; var _17=this.groups; for(var i=0;i<_17.length;i++){ var _18=_17[i]; _15.push("
"); _15.push(""); _15.push(""); _15.push(""); _15.push(""); _15.push("
"); if(!_11){ _15.push(""); _15.push(_12.groupFormatter.call(_f,_18.fvalue,_18.rows)); _15.push(""); } _15.push("
"); _15.push("
"); _15.push(""); for(var j=0;j<_18.rows.length;j++){ var cls=(_16%2&&_12.striped)?"class=\"datagrid-row-alt\"":""; var _19=_12.rowStyler?_12.rowStyler.call(_f,_16,_18.rows[j]):""; var _1a=_19?"style=\""+_19+"\"":""; _15.push(""); _15.push(this.renderRow.call(this,_f,_14,_11,_16,_18.rows[j])); _15.push(""); _16++; } _15.push("
"); } $(_10).html(_15.join("")); },onAfterRender:function(_1b){ var _1c=$.data(_1b,"datagrid").options; var _1d=$(_1b).datagrid("getPanel").find("div.datagrid-view"); var _1e=_1d.children("div.datagrid-view1"); var _1f=_1d.children("div.datagrid-view2"); $.fn.datagrid.defaults.view.onAfterRender.call(this,_1b); if(_1c.rownumbers||_1c.frozenColumns.length){ var _20=_1e.find("div.datagrid-group"); }else{ var _20=_1f.find("div.datagrid-group"); } $("
").insertBefore(_20.find("td")); _1d.find("div.datagrid-group").each(function(){ var _21=$(this).attr("group-index"); $(this).find("div.datagrid-row-expander").bind("click",{groupIndex:_21},function(e){ var _22=_1d.find("div.datagrid-group[group-index="+e.data.groupIndex+"]"); if($(this).hasClass("datagrid-row-collapse")){ $(this).removeClass("datagrid-row-collapse").addClass("datagrid-row-expand"); _22.next("table").hide(); }else{ $(this).removeClass("datagrid-row-expand").addClass("datagrid-row-collapse"); _22.next("table").show(); } $(_1b).datagrid("fixRowHeight"); }); }); },onBeforeRender:function(_23,_24){ var _25=$.data(_23,"datagrid").options; var _26=[]; for(var i=0;i<_24.length;i++){ var row=_24[i]; var _27=_28(row[_25.groupField]); if(!_27){ _27={fvalue:row[_25.groupField],rows:[row],startRow:i}; _26.push(_27); }else{ _27.rows.push(row); } } function _28(_29){ for(var i=0;i<_26.length;i++){ var _2a=_26[i]; if(_2a.fvalue==_29){ return _2a; } } return null; }; this.groups=_26; var _2b=[]; for(var i=0;i<_26.length;i++){ var _27=_26[i]; for(var j=0;j<_27.rows.length;j++){ _2b.push(_27.rows[j]); } } $.data(_23,"datagrid").data.rows=_2b; }}); $.fn.propertygrid.defaults=$.extend({},$.fn.datagrid.defaults,{singleSelect:true,remoteSort:false,fitColumns:true,loadMsg:"",frozenColumns:[[{field:"f",width:16,resizable:false}]],columns:[[{field:"name",title:"Name",width:100,sortable:true},{field:"value",title:"Value",width:100,resizable:false}]],showGroup:false,groupField:"group",groupFormatter:function(_2c){ return _2c; }}); })(jQuery);