123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- /**
- * jQuery EasyUI 1.3.6
- *
- * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.
- *
- * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt
- * To use it on other terms please contact us at info@jeasyui.com
- *
- */
- (function($){
- var _1;
- function _2(_3){
- var _4=$.data(_3,"propertygrid");
- var _5=$.data(_3,"propertygrid").options;
- $(_3).datagrid($.extend({},_5,{cls:"propertygrid",view:(_5.showGroup?_5.groupView:_5.view),onClickRow:function(_6,_7){
- if(_1!=this){
- _a(_1);
- _1=this;
- }
- if(_5.editIndex!=_6&&_7.editor){
- var _8=$(this).datagrid("getColumnOption","value");
- _8.editor=_7.editor;
- _a(_1);
- $(this).datagrid("beginEdit",_6);
- $(this).datagrid("getEditors",_6)[0].target.focus();
- _5.editIndex=_6;
- }
- _5.onClickRow.call(_3,_6,_7);
- },loadFilter:function(_9){
- _a(this);
- return _5.loadFilter.call(this,_9);
- }}));
- $(document).unbind(".propertygrid").bind("mousedown.propertygrid",function(e){
- var p=$(e.target).closest("div.datagrid-view,div.combo-panel");
- if(p.length){
- return;
- }
- _a(_1);
- _1=undefined;
- });
- };
- function _a(_b){
- var t=$(_b);
- if(!t.length){
- return;
- }
- var _c=$.data(_b,"propertygrid").options;
- var _d=_c.editIndex;
- if(_d==undefined){
- return;
- }
- var ed=t.datagrid("getEditors",_d)[0];
- if(ed){
- ed.target.blur();
- if(t.datagrid("validateRow",_d)){
- t.datagrid("endEdit",_d);
- }else{
- t.datagrid("cancelEdit",_d);
- }
- }
- _c.editIndex=undefined;
- };
- $.fn.propertygrid=function(_e,_f){
- if(typeof _e=="string"){
- var _10=$.fn.propertygrid.methods[_e];
- if(_10){
- return _10(this,_f);
- }else{
- return this.datagrid(_e,_f);
- }
- }
- _e=_e||{};
- return this.each(function(){
- var _11=$.data(this,"propertygrid");
- if(_11){
- $.extend(_11.options,_e);
- }else{
- var _12=$.extend({},$.fn.propertygrid.defaults,$.fn.propertygrid.parseOptions(this),_e);
- _12.frozenColumns=$.extend(true,[],_12.frozenColumns);
- _12.columns=$.extend(true,[],_12.columns);
- $.data(this,"propertygrid",{options:_12});
- }
- _2(this);
- });
- };
- $.fn.propertygrid.methods={options:function(jq){
- return $.data(jq[0],"propertygrid").options;
- }};
- $.fn.propertygrid.parseOptions=function(_13){
- return $.extend({},$.fn.datagrid.parseOptions(_13),$.parser.parseOptions(_13,[{showGroup:"boolean"}]));
- };
- var _14=$.extend({},$.fn.datagrid.defaults.view,{render:function(_15,_16,_17){
- var _18=[];
- var _19=this.groups;
- for(var i=0;i<_19.length;i++){
- _18.push(this.renderGroup.call(this,_15,i,_19[i],_17));
- }
- $(_16).html(_18.join(""));
- },renderGroup:function(_1a,_1b,_1c,_1d){
- var _1e=$.data(_1a,"datagrid");
- var _1f=_1e.options;
- var _20=$(_1a).datagrid("getColumnFields",_1d);
- var _21=[];
- _21.push("<div class=\"datagrid-group\" group-index="+_1b+">");
- _21.push("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"height:100%\"><tbody>");
- _21.push("<tr>");
- if((_1d&&(_1f.rownumbers||_1f.frozenColumns.length))||(!_1d&&!(_1f.rownumbers||_1f.frozenColumns.length))){
- _21.push("<td style=\"border:0;text-align:center;width:25px\"><span class=\"datagrid-row-expander datagrid-row-collapse\" style=\"display:inline-block;width:16px;height:16px;cursor:pointer\"> </span></td>");
- }
- _21.push("<td style=\"border:0;\">");
- if(!_1d){
- _21.push("<span class=\"datagrid-group-title\">");
- _21.push(_1f.groupFormatter.call(_1a,_1c.value,_1c.rows));
- _21.push("</span>");
- }
- _21.push("</td>");
- _21.push("</tr>");
- _21.push("</tbody></table>");
- _21.push("</div>");
- _21.push("<table class=\"datagrid-btable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>");
- var _22=_1c.startIndex;
- for(var j=0;j<_1c.rows.length;j++){
- var css=_1f.rowStyler?_1f.rowStyler.call(_1a,_22,_1c.rows[j]):"";
- var _23="";
- var _24="";
- if(typeof css=="string"){
- _24=css;
- }else{
- if(css){
- _23=css["class"]||"";
- _24=css["style"]||"";
- }
- }
- var cls="class=\"datagrid-row "+(_22%2&&_1f.striped?"datagrid-row-alt ":" ")+_23+"\"";
- var _25=_24?"style=\""+_24+"\"":"";
- var _26=_1e.rowIdPrefix+"-"+(_1d?1:2)+"-"+_22;
- _21.push("<tr id=\""+_26+"\" datagrid-row-index=\""+_22+"\" "+cls+" "+_25+">");
- _21.push(this.renderRow.call(this,_1a,_20,_1d,_22,_1c.rows[j]));
- _21.push("</tr>");
- _22++;
- }
- _21.push("</tbody></table>");
- return _21.join("");
- },bindEvents:function(_27){
- var _28=$.data(_27,"datagrid");
- var dc=_28.dc;
- var _29=dc.body1.add(dc.body2);
- var _2a=($.data(_29[0],"events")||$._data(_29[0],"events")).click[0].handler;
- _29.unbind("click").bind("click",function(e){
- var tt=$(e.target);
- var _2b=tt.closest("span.datagrid-row-expander");
- if(_2b.length){
- var _2c=_2b.closest("div.datagrid-group").attr("group-index");
- if(_2b.hasClass("datagrid-row-collapse")){
- $(_27).datagrid("collapseGroup",_2c);
- }else{
- $(_27).datagrid("expandGroup",_2c);
- }
- }else{
- _2a(e);
- }
- e.stopPropagation();
- });
- },onBeforeRender:function(_2d,_2e){
- var _2f=$.data(_2d,"datagrid");
- var _30=_2f.options;
- _31();
- var _32=[];
- for(var i=0;i<_2e.length;i++){
- var row=_2e[i];
- var _33=_34(row[_30.groupField]);
- if(!_33){
- _33={value:row[_30.groupField],rows:[row]};
- _32.push(_33);
- }else{
- _33.rows.push(row);
- }
- }
- var _35=0;
- var _36=[];
- for(var i=0;i<_32.length;i++){
- var _33=_32[i];
- _33.startIndex=_35;
- _35+=_33.rows.length;
- _36=_36.concat(_33.rows);
- }
- _2f.data.rows=_36;
- this.groups=_32;
- var _37=this;
- setTimeout(function(){
- _37.bindEvents(_2d);
- },0);
- function _34(_38){
- for(var i=0;i<_32.length;i++){
- var _39=_32[i];
- if(_39.value==_38){
- return _39;
- }
- }
- return null;
- };
- function _31(){
- if(!$("#datagrid-group-style").length){
- $("head").append("<style id=\"datagrid-group-style\">"+".datagrid-group{height:25px;overflow:hidden;font-weight:bold;border-bottom:1px solid #ccc;}"+"</style>");
- }
- };
- }});
- $.extend($.fn.datagrid.methods,{expandGroup:function(jq,_3a){
- return jq.each(function(){
- var _3b=$.data(this,"datagrid").dc.view;
- var _3c=_3b.find(_3a!=undefined?"div.datagrid-group[group-index=\""+_3a+"\"]":"div.datagrid-group");
- var _3d=_3c.find("span.datagrid-row-expander");
- if(_3d.hasClass("datagrid-row-expand")){
- _3d.removeClass("datagrid-row-expand").addClass("datagrid-row-collapse");
- _3c.next("table").show();
- }
- $(this).datagrid("fixRowHeight");
- });
- },collapseGroup:function(jq,_3e){
- return jq.each(function(){
- var _3f=$.data(this,"datagrid").dc.view;
- var _40=_3f.find(_3e!=undefined?"div.datagrid-group[group-index=\""+_3e+"\"]":"div.datagrid-group");
- var _41=_40.find("span.datagrid-row-expander");
- if(_41.hasClass("datagrid-row-collapse")){
- _41.removeClass("datagrid-row-collapse").addClass("datagrid-row-expand");
- _40.next("table").hide();
- }
- $(this).datagrid("fixRowHeight");
- });
- }});
- $.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,groupView:_14,groupField:"group",groupFormatter:function(_42,_43){
- return _42;
- }});
- })(jQuery);
|