Files
pmgr/vendors/js/jqGrid/js/min/grid.inlinedit-min.js
2009-06-13 03:51:29 +00:00

1 line
3.7 KiB
JavaScript

(function(a){a.fn.extend({editRow:function(i,h,d,g,e,f,c,b){return this.each(function(){var n=this,t,o,k,l=0,s=null,r=[],j;if(!n.grid){return}var q,m,p;if(!n.p.multiselect){j=a(n).getInd(n.rows,i);if(j===false){return}k=a(n.rows[j]).attr("editable")||"0";if(k=="0"){a("td",n.rows[j]).each(function(w){t=n.p.colModel[w].name;p=n.p.colModel[w].hidden===true?true:false;try{o=a.unformat(this,{colModel:n.p.colModel[w]},w)}catch(u){o=a(this).html()}r[t]=o;if(t!=="cb"&&t!=="subgrid"&&n.p.colModel[w].editable===true&&!p){if(s===null){s=w}a(this).html("");var v=a.extend(n.p.colModel[w].editoptions||{},{id:i+"_"+t,name:t});if(!n.p.colModel[w].edittype){n.p.colModel[w].edittype="text"}var x=createEl(n.p.colModel[w].edittype,v,o,a(this));a(x).addClass("editable");a(this).append(x);if(n.p.colModel[w].edittype=="select"&&n.p.colModel[w].editoptions.multiple===true&&a.browser.msie){a(x).width(a(x).width())}l++}});if(l>0){r.id=i;n.p.savedRow.push(r);a(n.rows[j]).attr("editable","1");a("td:eq("+s+") input",n.rows[j]).focus();if(h===true){a(n.rows[j]).bind("keydown",function(u){if(u.keyCode===27){a(n).restoreRow(i)}if(u.keyCode===13){a(n).saveRow(i,g,e,f,c,b);return false}u.stopPropagation()})}if(a.isFunction(d)){d(i)}}}}})},saveRow:function(g,f,d,e,c,b){return this.each(function(){var n=this,s,o={},l={},j,q,p,h,i;if(!n.grid){return}i=a(n).getInd(n.rows,g);if(i===false){return}j=a(n.rows[i]).attr("editable");d=d?d:n.p.editurl;if(j==="1"&&d){a("td",n.rows[i]).each(function(t){s=n.p.colModel[t].name;if(s!=="cb"&&s!=="subgrid"&&n.p.colModel[t].editable===true){if(n.p.colModel[t].hidden===true){o[s]=a(this).html()}else{switch(n.p.colModel[t].edittype){case"checkbox":var k=["Yes","No"];if(n.p.colModel[t].editoptions){k=n.p.colModel[t].editoptions.value.split(":")}o[s]=a("input",this).attr("checked")?k[0]:k[1];break;case"text":case"password":case"textarea":o[s]=!n.p.autoencode?a("input, textarea",this).val():htmlEncode(a("input, textarea",this).val());break;case"select":if(!n.p.colModel[t].editoptions.multiple){o[s]=a("select>option:selected",this).val();l[s]=a("select>option:selected",this).text()}else{var u=a("select",this);o[s]=a(u).val();var v=[];a("select > option:selected",this).each(function(w,x){v[w]=a(x).text()});l[s]=v.join(",")}break}p=checkValues(o[s],t,n);if(p[0]===false){p[1]=o[s]+" "+p[1];return false}}}});if(p[0]===false){try{info_dialog(a.jgrid.errors.errcap,p[1],a.jgrid.edit.bClose,n.p.imgpath)}catch(r){alert(p[1])}return}if(o){o.id=g;if(e){o=a.extend({},o,e)}}if(!n.grid.hDiv.loading){n.grid.hDiv.loading=true;a("div.loading",n.grid.hDiv).fadeIn("fast");if(d=="clientArray"){o=a.extend({},o,l);a(n).setRowData(g,o);a(n.rows[i]).attr("editable","0");for(var m=0;m<n.p.savedRow.length;m++){if(n.p.savedRow[m].id===g){q=m;break}}if(q>=0){n.p.savedRow.splice(q,1)}if(a.isFunction(c)){c(g,res.responseText)}}else{a.ajax({url:d,data:o,type:"POST",complete:function(v,w){if(w==="success"){var u;if(a.isFunction(f)){u=f(v)}else{u=true}if(u===true){o=a.extend({},o,l);a(n).setRowData(g,o);a(n.rows[i]).attr("editable","0");for(var t=0;t<n.p.savedRow.length;t++){if(n.p.savedRow[t].id===g){q=t;break}}if(q>=0){n.p.savedRow.splice(q,1)}if(a.isFunction(c)){c(g,v.responseText)}}else{a(n).restoreRow(g)}}},error:function(k,t){if(a.isFunction(b)){b(k,t)}else{alert("Error Row: "+g+" Result: "+k.status+":"+k.statusText+" Status: "+t)}}})}n.grid.hDiv.loading=false;a("div.loading",n.grid.hDiv).fadeOut("fast");a(n.rows[i]).unbind("keydown")}}})},restoreRow:function(b){return this.each(function(){var g=this,c,d,f;if(!g.grid){return}f=a(g).getInd(g.rows,b);if(f===false){return}for(var e=0;e<g.p.savedRow.length;e++){if(g.p.savedRow[e].id===b){d=e;break}}if(d>=0){a(g).setRowData(b,g.p.savedRow[d]);a(g.rows[f]).attr("editable","0");g.p.savedRow.splice(d,1)}})}})})(jQuery);