first commit
This commit is contained in:
@@ -0,0 +1,166 @@
|
||||
/**
|
||||
* 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("<div class=\"datagrid-group\" group-index="+i+">");
|
||||
_15.push("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"height:100%\"><tbody>");
|
||||
_15.push("<tr>");
|
||||
_15.push("<td style=\"border:0;\">");
|
||||
if(!_11){
|
||||
_15.push("<span>");
|
||||
_15.push(_12.groupFormatter.call(_f,_18.fvalue,_18.rows));
|
||||
_15.push("</span>");
|
||||
}
|
||||
_15.push("</td>");
|
||||
_15.push("</tr>");
|
||||
_15.push("</tbody></table>");
|
||||
_15.push("</div>");
|
||||
_15.push("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>");
|
||||
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("<tr datagrid-row-index=\""+_16+"\" "+cls+" "+_1a+">");
|
||||
_15.push(this.renderRow.call(this,_f,_14,_11,_16,_18.rows[j]));
|
||||
_15.push("</tr>");
|
||||
_16++;
|
||||
}
|
||||
_15.push("</tbody></table>");
|
||||
}
|
||||
$(_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");
|
||||
}
|
||||
$("<td style=\"border:0\"><div class=\"datagrid-row-expander datagrid-row-collapse\" style=\"width:25px;height:16px;cursor:pointer\"></div></td>").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);
|
||||
|
||||
Reference in New Issue
Block a user