Rev. | 1 |
---|---|
Size | 3,251 bytes |
Time | 2010-09-04 22:42:09 |
Author | tag |
Log Message | 初期バージョン(Trac Lightning 2.5.2) |
;(function($){
/**
* jqGrid extension for manipulating columns properties
* Piotr Roznicki roznicki@o2.pl
* http://www.roznicki.prv.pl
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
**/
$.fn.extend({
setColumns : function(p) {
p = $.extend({
top : 0,
left: 0,
width: 200,
height: 195,
modal: false,
drag: true,
closeicon: 'ico-close.gif',
beforeShowForm: null,
afterShowForm: null,
afterSubmitForm: null
}, $.jgrid.col, p ||{});
return this.each(function(){
var $t = this;
if (!$t.grid ) { return; }
var onBeforeShow = typeof p.beforeShowForm === 'function' ? true: false;
var onAfterShow = typeof p.afterShowForm === 'function' ? true: false;
var onAfterSubmit = typeof p.afterSubmitForm === 'function' ? true: false;
if(!p.imgpath) { p.imgpath= $t.p.imgpath; } // Added From Tony Tomov
var gID = $("table:first",$t.grid.bDiv).attr("id");
var IDs = {themodal:'colmod'+gID,modalhead:'colhd'+gID,modalcontent:'colcnt'+gID};
var dtbl = "ColTbl_"+gID;
if ( $("#"+IDs.themodal).html() != null ) {
if(onBeforeShow) { p.beforeShowForm($("#"+dtbl)); }
viewModal("#"+IDs.themodal,{modal:p.modal});
if(onAfterShow) { p.afterShowForm($("#"+dtbl)); }
} else {
var tbl =$("<table id='"+dtbl+"' class='ColTable'><tbody></tbody></table>");
for(i=0;i<this.p.colNames.length;i++){
if(!$t.p.colModel[i].hidedlg) { // added from T. Tomov
$(tbl).append("<tr><td ><input type='checkbox' id='col_" + this.p.colModel[i].name + "' class='cbox' value='T' " +
((this.p.colModel[i].hidden==undefined)?"checked":"") + "/>" + "<label for='col_" + this.p.colModel[i].name + "'>" + this.p.colNames[i] + "(" + this.p.colModel[i].name + ")</label></td></tr>");
}
}
var bS ="<input id='dData' type='button' value='"+p.bSubmit+"'/>";
var bC ="<input id='eData' type='button' value='"+p.bCancel+"'/>";
$(tbl).append("<tr><td class='ColButton'>"+bS+" "+bC+"</td></tr>");
createModal(IDs,tbl,p,$t.grid.hDiv,$t.grid.hDiv);
if( p.drag) { DnRModal("#"+IDs.themodal,"#"+IDs.modalhead+" td.modaltext"); }
$("#dData","#"+dtbl).click(function(e){
for(i=0;i<$t.p.colModel.length;i++){
if(!$t.p.colModel[i].hidedlg) { // added from T. Tomov
if($("#col_" + $t.p.colModel[i].name).attr("checked")) {
$($t).showCol($t.p.colModel[i].name);
$("#col_" + $t.p.colModel[i].name).attr("defaultChecked",true); // Added from T. Tomov IE BUG
} else {
$($t).hideCol($t.p.colModel[i].name);
$("#col_" + $t.p.colModel[i].name).attr("defaultChecked",""); // Added from T. Tomov IE BUG
}
}
}
$("#"+IDs.themodal).jqmHide();
if (onAfterSubmit) { p.afterSubmitForm($("#"+dtbl)); }
return false;
});
$("#eData", "#"+dtbl).click(function(e){
$("#"+IDs.themodal).jqmHide();
return false;
});
if(onBeforeShow) { p.beforeShowForm($("#"+dtbl)); }
viewModal("#"+IDs.themodal,{modal:p.modal});
if(onAfterShow) { p.afterShowForm($("#"+dtbl)); }
}
});
}
});
})(jQuery);