12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387 |
- /*jshint eqeqeq:false, eqnull:true, devel:true */
- /*global jQuery, define */
- (function( factory ) {
- "use strict";
- if ( typeof define === "function" && define.amd ) {
- // AMD. Register as an anonymous module.
- define([
- "jquery",
- "js/grid.base",
- "js/grid.common"
- ], factory );
- } else {
- // Browser globals
- factory( jQuery );
- }
- }(function( $ ) {
- "use strict";
- //module begin
- var rp_ge = {};
- $.jgrid.extend({
- editGridRow : function(rowid, p){
- var regional = $.jgrid.getRegional(this[0], 'edit'),
- currstyle = this[0].p.styleUI,
- styles = $.jgrid.styleUI[currstyle].formedit,
- commonstyle = $.jgrid.styleUI[currstyle].common;
- p = $.extend(true, {
- top : 0,
- left: 0,
- width: '500',
- datawidth: 'auto',
- height: 'auto',
- dataheight: 'auto',
- modal: false,
- overlay : 30,
- drag: true,
- resize: true,
- url: null,
- mtype : "POST",
- clearAfterAdd :true,
- closeAfterEdit : false,
- reloadAfterSubmit : true,
- onInitializeForm: null,
- beforeInitData: null,
- beforeShowForm: null,
- afterShowForm: null,
- beforeSubmit: null,
- afterSubmit: null,
- onclickSubmit: null,
- afterComplete: null,
- onclickPgButtons : null,
- afterclickPgButtons: null,
- editData : {},
- recreateForm : false,
- jqModal : true,
- closeOnEscape : false,
- addedrow : "first",
- topinfo : '',
- bottominfo: '',
- saveicon : [],
- closeicon : [],
- savekey: [false,13],
- navkeys: [false,38,40],
- checkOnSubmit : false,
- checkOnUpdate : false,
- processing : false,
- onClose : null,
- ajaxEditOptions : {},
- serializeEditData : null,
- viewPagerButtons : true,
- overlayClass : commonstyle.overlay,
- removemodal : true,
- form: 'edit',
- template : null,
- focusField : true,
- editselected : false,
- html5Check : false,
- buttons : []
- }, regional, p || {});
- rp_ge[$(this)[0].p.id] = p;
- return this.each(function(){
- var $t = this;
- if (!$t.grid || !rowid) {return;}
- $t.p.savedData = {};
- var gID = $t.p.id,
- frmgr = "FrmGrid_"+gID, frmtborg = "TblGrid_"+gID, frmtb = "#"+$.jgrid.jqID(frmtborg), frmtb2,
- IDs = {themodal:'editmod'+gID,modalhead:'edithd'+gID,modalcontent:'editcnt'+gID, scrollelm : frmgr},
- showFrm = true, maxCols = 1, maxRows=0, postdata, diff, frmoper,
- templ = typeof rp_ge[$t.p.id].template === "string" && rp_ge[$t.p.id].template.length > 0,
- errors =$.jgrid.getRegional(this, 'errors');
- rp_ge[$t.p.id].styleUI = $t.p.styleUI || 'jQueryUI';
- if($.jgrid.isMobile()) {
- rp_ge[$t.p.id].resize = false;
- }
- if (rowid === "new") {
- rowid = "_empty";
- frmoper = "add";
- p.caption=rp_ge[$t.p.id].addCaption;
- } else {
- p.caption=rp_ge[$t.p.id].editCaption;
- frmoper = "edit";
- }
- if(!p.recreateForm) {
- if( $($t).data("formProp") ) {
- $.extend(rp_ge[$(this)[0].p.id], $($t).data("formProp"));
- }
- }
- var closeovrl = true;
- if(p.checkOnUpdate && p.jqModal && !p.modal) {
- closeovrl = false;
- }
- function getFormData(){
- var a2 ={}, i;
- $(frmtb).find(".FormElement").each(function() {
- var celm = $(".customelement", this);
- if (celm.length) {
- var elem = celm[0], nm = $(elem).attr('name');
- $.each($t.p.colModel, function(){
- if(this.name === nm && this.editoptions && $.isFunction(this.editoptions.custom_value)) {
- try {
- postdata[nm] = this.editoptions.custom_value.call($t, $("#"+$.jgrid.jqID(nm),frmtb),'get');
- if (postdata[nm] === undefined) {throw "e1";}
- } catch (e) {
- if (e==="e1") {$.jgrid.info_dialog(errors.errcap,"function 'custom_value' "+rp_ge[$(this)[0]].p.msg.novalue,rp_ge[$(this)[0]].p.bClose, {styleUI : rp_ge[$(this)[0]].p.styleUI });}
- else {$.jgrid.info_dialog(errors.errcap,e.message,rp_ge[$(this)[0]].p.bClose, {styleUI : rp_ge[$(this)[0]].p.styleUI });}
- }
- return true;
- }
- });
- } else {
- switch ($(this).get(0).type) {
- case "checkbox":
- if($(this).is(":checked")) {
- postdata[this.name]= $(this).val();
- } else {
- var ofv = $(this).attr("offval");
- postdata[this.name]= ofv;
- }
- break;
- case "select-one":
- postdata[this.name]= $(this).val();
- break;
- case "select-multiple":
- postdata[this.name]= $(this).val();
- postdata[this.name] = postdata[this.name] ? postdata[this.name].join(",") : "";
- break;
- case "radio" :
- if(a2.hasOwnProperty(this.name)) {
- return true;
- } else {
- a2[this.name] = ($(this).attr("offval") === undefined) ? "off" : $(this).attr("offval");
- }
- break;
- default:
- postdata[this.name] = $(this).val();
- }
- if($t.p.autoencode) {
- postdata[this.name] = $.jgrid.htmlEncode(postdata[this.name]);
- }
- }
- });
- for(i in a2 ) {
- if( a2.hasOwnProperty(i)) {
- var val = $('input[name="'+i+'"]:checked',frmtb).val();
- postdata[i] = (val !== undefined) ? val : a2[i];
- if($t.p.autoencode) {
- postdata[i] = $.jgrid.htmlEncode(postdata[i]);
- }
- }
- }
- return true;
- }
- function createData(rowid,obj,tb,maxcols){
- var nm, hc,trdata, cnt=0,tmp, dc,elc, retpos=[], ind=false,
- tdtmpl = "<td class='CaptionTD'></td><td class='DataTD'></td>", tmpl="", i, ffld; //*2
- for (i =1; i<=maxcols;i++) {
- tmpl += tdtmpl;
- }
- if(rowid !== '_empty') {
- ind = $(obj).jqGrid("getInd",rowid);
- }
- $(obj.p.colModel).each( function(i) {
- nm = this.name;
- // hidden fields are included in the form
- if(this.editrules && this.editrules.edithidden === true) {
- hc = false;
- } else {
- hc = this.hidden === true ? true : false;
- }
- dc = hc ? "style='display:none'" : "";
- if ( nm !== 'cb' && nm !== 'subgrid' && this.editable===true && nm !== 'rn') {
- if(ind === false) {
- tmp = "";
- } else {
- if(nm === obj.p.ExpandColumn && obj.p.treeGrid === true) {
- tmp = $("td[role='gridcell']:eq("+i+")",obj.rows[ind]).text();
- } else {
- try {
- tmp = $.unformat.call(obj, $("td[role='gridcell']:eq("+i+")",obj.rows[ind]),{rowId:rowid, colModel:this},i);
- } catch (_) {
- tmp = (this.edittype && this.edittype === "textarea") ? $("td[role='gridcell']:eq("+i+")",obj.rows[ind]).text() : $("td[role='gridcell']:eq("+i+")",obj.rows[ind]).html();
- }
- if(!tmp || tmp === " " || tmp === " " || (tmp.length===1 && tmp.charCodeAt(0)===160) ) {tmp='';}
- }
- }
- var opt = $.extend({}, this.editoptions || {} ,{id:nm,name:nm, rowId: rowid, oper:'edit'}),
- frmopt = $.extend({}, {elmprefix:'',elmsuffix:'',rowabove:false,rowcontent:''}, this.formoptions || {}),
- rp = parseInt(frmopt.rowpos,10) || cnt+1,
- cp = parseInt((parseInt(frmopt.colpos,10) || 1)*2,10);
- if(rowid === "_empty" && opt.defaultValue ) {
- tmp = $.isFunction(opt.defaultValue) ? opt.defaultValue.call($t) : opt.defaultValue;
- }
- if(!this.edittype) {
- this.edittype = "text";
- }
- if($t.p.autoencode) {
- tmp = $.jgrid.htmlDecode(tmp);
- }
- elc = $.jgrid.createEl.call($t,this.edittype,opt,tmp,false,$.extend({},$.jgrid.ajaxOptions,obj.p.ajaxSelectOptions || {}));
- //if(tmp === "" && this.edittype == "checkbox") {tmp = $(elc).attr("offval");}
- //if(tmp === "" && this.edittype == "select") {tmp = $("option:eq(0)",elc).text();}
- if(this.edittype === "select") {
- tmp = $(elc).val();
- if($(elc).get(0).type === 'select-multiple' && tmp) {
- tmp = tmp.join(",");
- }
- }
- if(this.edittype === 'checkbox') {
- if($(elc).is(":checked")) {
- tmp= $(elc).val();
- } else {
- tmp = $(elc).attr("offval");
- }
- }
- $(elc).addClass("FormElement");
- if( $.inArray(this.edittype,
- ['text','textarea','password','select',
- 'color', 'date', 'datetime', 'datetime-local','email','month',
- 'number','range', 'search', 'tel', 'time', 'url','week'] ) > -1) {
- $(elc).addClass( styles.inputClass );
- }
- ffld = true;
- if(templ) {
- var ftmplfld = $(frm).find("#"+nm);
- if(ftmplfld.length){
- ftmplfld.replaceWith( elc );
- } else {
- ffld = false;
- }
- } else {
- //--------------------
- trdata = $(tb).find("tr[rowpos="+rp+"]");
- if(frmopt.rowabove) {
- var newdata = $("<tr><td class='contentinfo' colspan='"+(maxcols*2)+"'>"+frmopt.rowcontent+"</td></tr>");
- $(tb).append(newdata);
- newdata[0].rp = rp;
- }
- if ( trdata.length===0 ) {
- trdata = $("<tr "+dc+" rowpos='"+rp+"'></tr>").addClass("FormData").attr("id","tr_"+nm);
- $(trdata).append(tmpl);
- $(tb).append(trdata);
- trdata[0].rp = rp;
- }
- $("td:eq("+(cp-2)+")",trdata[0]).html("<label for='"+nm+"'>"+ (frmopt.label === undefined ? obj.p.colNames[i]: frmopt.label) + "</label>");
- $("td:eq("+(cp-1)+")",trdata[0]).append(frmopt.elmprefix).append(elc).append(frmopt.elmsuffix);
- //-------------------------
- }
- if( (rp_ge[$t.p.id].checkOnSubmit || rp_ge[$t.p.id].checkOnUpdate) && ffld) {
- $t.p.savedData[nm] = tmp;
- }
- if(this.edittype==='custom' && $.isFunction(opt.custom_value) ) {
- opt.custom_value.call($t, $("#"+nm, frmgr),'set',tmp);
- }
- $.jgrid.bindEv.call($t, elc, opt);
- retpos[cnt] = i;
- cnt++;
- }
- });
- if( cnt > 0) {
- var idrow;
- if(templ) {
- idrow = "<div class='FormData' style='display:none'><input class='FormElement' id='id_g' type='text' name='"+obj.p.id+"_id' value='"+rowid+"'/>";
- $(frm).append(idrow);
- } else {
- idrow = $("<tr class='FormData' style='display:none'><td class='CaptionTD'></td><td colspan='"+ (maxcols*2-1)+"' class='DataTD'><input class='FormElement' id='id_g' type='text' name='"+obj.p.id+"_id' value='"+rowid+"'/></td></tr>");
- idrow[0].rp = cnt+999;
- $(tb).append(idrow);
- }
- //$(tb).append(idrow);
- if(rp_ge[$t.p.id].checkOnSubmit || rp_ge[$t.p.id].checkOnUpdate) {
- $t.p.savedData[obj.p.id+"_id"] = rowid;
- }
- }
- return retpos;
- }
- function fillData(rowid,obj,fmid){
- var nm,cnt=0,tmp, fld,opt,vl,vlc;
- if(rp_ge[$t.p.id].checkOnSubmit || rp_ge[$t.p.id].checkOnUpdate) {
- $t.p.savedData = {};
- $t.p.savedData[obj.p.id+"_id"]=rowid;
- }
- var cm = obj.p.colModel;
- if(rowid === '_empty') {
- $(cm).each(function(){
- nm = this.name;
- opt = $.extend({}, this.editoptions || {} );
- fld = $("#"+$.jgrid.jqID(nm),fmid);
- if(fld && fld.length && fld[0] !== null) {
- vl = "";
- if(this.edittype === 'custom' && $.isFunction(opt.custom_value)) {
- opt.custom_value.call($t, $("#"+nm,fmid),'set',vl);
- } else if(opt.defaultValue ) {
- vl = $.isFunction(opt.defaultValue) ? opt.defaultValue.call($t) : opt.defaultValue;
- if(fld[0].type==='checkbox') {
- vlc = vl.toLowerCase();
- if(vlc.search(/(false|f|0|no|n|off|undefined)/i)<0 && vlc!=="") {
- fld[0].checked = true;
- fld[0].defaultChecked = true;
- fld[0].value = vl;
- } else {
- fld[0].checked = false;
- fld[0].defaultChecked = false;
- }
- } else {fld.val(vl);}
- } else {
- if( fld[0].type==='checkbox' ) {
- fld[0].checked = false;
- fld[0].defaultChecked = false;
- vl = $(fld).attr("offval");
- } else if (fld[0].type && fld[0].type.substr(0,6)==='select') {
- fld[0].selectedIndex = 0;
- } else {
- fld.val(vl);
- }
- }
- if(rp_ge[$t.p.id].checkOnSubmit===true || rp_ge[$t.p.id].checkOnUpdate) {
- $t.p.savedData[nm] = vl;
- }
- }
- });
- $("#id_g",fmid).val(rowid);
- return;
- }
- var tre = $(obj).jqGrid("getInd",rowid,true);
- if(!tre) {return;}
- $('td[role="gridcell"]',tre).each( function(i) {
- nm = cm[i].name;
- // hidden fields are included in the form
- if ( nm !== 'cb' && nm !== 'subgrid' && nm !== 'rn' && cm[i].editable===true) {
- if(nm === obj.p.ExpandColumn && obj.p.treeGrid === true) {
- tmp = $(this).text();
- } else {
- try {
- tmp = $.unformat.call(obj, $(this),{rowId:rowid, colModel:cm[i]},i);
- } catch (_) {
- tmp = cm[i].edittype==="textarea" ? $(this).text() : $(this).html();
- }
- }
- if($t.p.autoencode) {tmp = $.jgrid.htmlDecode(tmp);}
- if(rp_ge[$t.p.id].checkOnSubmit===true || rp_ge[$t.p.id].checkOnUpdate) {
- $t.p.savedData[nm] = tmp;
- }
- nm = $.jgrid.jqID(nm);
- switch (cm[i].edittype) {
- case "select":
- var opv = tmp.split(",");
- opv = $.map(opv,function(n){return $.trim(n);});
- $("#"+nm+" option",fmid).each(function(){
- if (!cm[i].editoptions.multiple && ($.trim(tmp) === $.trim($(this).text()) || opv[0] === $.trim($(this).text()) || opv[0] === $.trim($(this).val())) ){
- this.selected= true;
- } else if (cm[i].editoptions.multiple){
- if( $.inArray($.trim($(this).text()), opv ) > -1 || $.inArray($.trim($(this).val()), opv ) > -1 ){
- this.selected = true;
- }else{
- this.selected = false;
- }
- } else {
- this.selected = false;
- }
- });
- if(rp_ge[$t.p.id].checkOnSubmit===true || rp_ge[$t.p.id].checkOnUpdate) {
- tmp = $("#"+nm,fmid).val();
- if(cm[i].editoptions.multiple) {
- tmp = tmp.join(",");
- }
- $t.p.savedData[nm] = tmp;
- }
- break;
- case "checkbox":
- tmp = String(tmp);
- if(cm[i].editoptions && cm[i].editoptions.value) {
- var cb = cm[i].editoptions.value.split(":");
- if(cb[0] === tmp) {
- $("#"+nm, fmid)[$t.p.useProp ? 'prop': 'attr']({"checked":true, "defaultChecked" : true});
- } else {
- $("#"+nm, fmid)[$t.p.useProp ? 'prop': 'attr']({"checked":false, "defaultChecked" : false});
- }
- } else {
- tmp = tmp.toLowerCase();
- if(tmp.search(/(false|f|0|no|n|off|undefined)/i)<0 && tmp!=="") {
- $("#"+nm, fmid)[$t.p.useProp ? 'prop': 'attr']("checked",true);
- $("#"+nm, fmid)[$t.p.useProp ? 'prop': 'attr']("defaultChecked",true); //ie
- } else {
- $("#"+nm, fmid)[$t.p.useProp ? 'prop': 'attr']("checked", false);
- $("#"+nm, fmid)[$t.p.useProp ? 'prop': 'attr']("defaultChecked", false); //ie
- }
- }
- if(rp_ge[$t.p.id].checkOnSubmit===true || rp_ge[$t.p.id].checkOnUpdate) {
- if($("#"+nm, fmid).is(":checked")) {
- tmp = $("#"+nm, fmid).val();
- } else {
- tmp = $("#"+nm, fmid).attr("offval");
- }
- $t.p.savedData[nm] = tmp;
- }
- break;
- case 'custom' :
- try {
- if(cm[i].editoptions && $.isFunction(cm[i].editoptions.custom_value)) {
- cm[i].editoptions.custom_value.call($t, $("#"+nm, fmid),'set',tmp);
- } else {throw "e1";}
- } catch (e) {
- if (e==="e1") {$.jgrid.info_dialog(errors.errcap,"function 'custom_value' "+rp_ge[$(this)[0]].p.msg.nodefined,$.rp_ge[$(this)[0]].p.bClose, {styleUI : rp_ge[$(this)[0]].p.styleUI });}
- else {$.jgrid.info_dialog(errors.errcap,e.message,$.rp_ge[$(this)[0]].p.bClose, {styleUI : rp_ge[$(this)[0]].p.styleUI });}
- }
- break;
- default :
- if(tmp === " " || tmp === " " || (tmp.length===1 && tmp.charCodeAt(0)===160) ) {tmp='';}
- $("#"+nm,fmid).val(tmp);
- }
- cnt++;
- }
- });
- if(cnt>0) {
- $("#id_g",frmtb).val(rowid);
- if( rp_ge[$t.p.id].checkOnSubmit===true || rp_ge[$t.p.id].checkOnUpdate ) {
- $t.p.savedData[obj.p.id+"_id"] = rowid;
- }
- }
- }
- function setNulls() {
- $.each($t.p.colModel, function(i,n){
- if(n.editoptions && n.editoptions.NullIfEmpty === true) {
- if(postdata.hasOwnProperty(n.name) && postdata[n.name] === "") {
- postdata[n.name] = 'null';
- }
- }
- });
- }
- function postIt() {
- var copydata, ret=[true,"",""], onCS = {}, opers = $t.p.prmNames, idname, oper, key, selr, i, url;
-
- var retvals = $($t).triggerHandler("jqGridAddEditBeforeCheckValues", [postdata, $(frmgr), frmoper]);
- if(retvals && typeof retvals === 'object') {postdata = retvals;}
-
- if($.isFunction(rp_ge[$t.p.id].beforeCheckValues)) {
- retvals = rp_ge[$t.p.id].beforeCheckValues.call($t, postdata, $(frmgr),frmoper);
- if(retvals && typeof retvals === 'object') {postdata = retvals;}
- }
- if(rp_ge[$t.p.id].html5Check) {
- if( !$.jgrid.validateForm(frm[0]) ) {
- return false;
- }
- }
- for( key in postdata ){
- if(postdata.hasOwnProperty(key)) {
- ret = $.jgrid.checkValues.call($t,postdata[key],key);
- if(ret[0] === false) {break;}
- }
- }
- setNulls();
- if(ret[0]) {
- onCS = $($t).triggerHandler("jqGridAddEditClickSubmit", [rp_ge[$t.p.id], postdata, frmoper]);
- if( onCS === undefined && $.isFunction( rp_ge[$t.p.id].onclickSubmit)) {
- onCS = rp_ge[$t.p.id].onclickSubmit.call($t, rp_ge[$t.p.id], postdata, frmoper) || {};
- }
- ret = $($t).triggerHandler("jqGridAddEditBeforeSubmit", [postdata, $(frmgr), frmoper]);
- if(ret === undefined) {
- ret = [true,"",""];
- }
- if( ret[0] && $.isFunction(rp_ge[$t.p.id].beforeSubmit)) {
- ret = rp_ge[$t.p.id].beforeSubmit.call($t,postdata,$(frmgr), frmoper);
- }
- }
- if(ret[0] && !rp_ge[$t.p.id].processing) {
- rp_ge[$t.p.id].processing = true;
- $("#sData", frmtb+"_2").addClass( commonstyle.active );
- url = rp_ge[$t.p.id].url || $($t).jqGrid('getGridParam','editurl');
- oper = opers.oper;
- idname = url === 'clientArray' ? $t.p.keyName : opers.id;
- // we add to pos data array the action - the name is oper
- postdata[oper] = ($.trim(postdata[$t.p.id+"_id"]) === "_empty") ? opers.addoper : opers.editoper;
- if(postdata[oper] !== opers.addoper) {
- postdata[idname] = postdata[$t.p.id+"_id"];
- } else {
- // check to see if we have allredy this field in the form and if yes lieve it
- if( postdata[idname] === undefined ) {postdata[idname] = postdata[$t.p.id+"_id"];}
- }
- delete postdata[$t.p.id+"_id"];
- postdata = $.extend(postdata,rp_ge[$t.p.id].editData,onCS);
- if($t.p.treeGrid === true) {
- if(postdata[oper] === opers.addoper) {
- selr = $($t).jqGrid("getGridParam", 'selrow');
- var tr_par_id = $t.p.treeGridModel === 'adjacency' ? $t.p.treeReader.parent_id_field : 'parent_id';
- postdata[tr_par_id] = selr;
- }
- for(i in $t.p.treeReader){
- if($t.p.treeReader.hasOwnProperty(i)) {
- var itm = $t.p.treeReader[i];
- if(postdata.hasOwnProperty(itm)) {
- if(postdata[oper] === opers.addoper && i === 'parent_id_field') {continue;}
- delete postdata[itm];
- }
- }
- }
- }
-
- postdata[idname] = $.jgrid.stripPref($t.p.idPrefix, postdata[idname]);
- var ajaxOptions = $.extend({
- url: url,
- type: rp_ge[$t.p.id].mtype,
- data: $.isFunction(rp_ge[$t.p.id].serializeEditData) ? rp_ge[$t.p.id].serializeEditData.call($t,postdata) : postdata,
- complete:function(data,status){
- var key;
- $("#sData", frmtb+"_2").removeClass( commonstyle.active );
- postdata[idname] = $t.p.idPrefix + postdata[idname];
- if(data.status >= 300 && data.status !== 304) {
- ret[0] = false;
- ret[1] = $($t).triggerHandler("jqGridAddEditErrorTextFormat", [data, frmoper]);
- if ($.isFunction(rp_ge[$t.p.id].errorTextFormat)) {
- ret[1] = rp_ge[$t.p.id].errorTextFormat.call($t, data, frmoper);
- } else {
- ret[1] = status + " Status: '" + data.statusText + "'. Error code: " + data.status;
- }
- } else {
- // data is posted successful
- // execute aftersubmit with the returned data from server
- ret = $($t).triggerHandler("jqGridAddEditAfterSubmit", [data, postdata, frmoper]);
- if(ret === undefined) {
- ret = [true,"",""];
- }
- if( ret[0] && $.isFunction(rp_ge[$t.p.id].afterSubmit) ) {
- ret = rp_ge[$t.p.id].afterSubmit.call($t, data,postdata, frmoper);
- }
- }
- if(ret[0] === false) {
- $(".FormError",frmgr).html(ret[1]);
- $(".FormError",frmgr).show();
- } else {
- if($t.p.autoencode) {
- $.each(postdata,function(n,v){
- postdata[n] = $.jgrid.htmlDecode(v);
- });
- }
- //rp_ge[$t.p.id].reloadAfterSubmit = rp_ge[$t.p.id].reloadAfterSubmit && $t.p.datatype != "local";
- // the action is add
- if(postdata[oper] === opers.addoper ) {
- //id processing
- // user not set the id ret[2]
- if(!ret[2]) {ret[2] = $.jgrid.randId();}
- if(postdata[idname] == null || postdata[idname] === ($t.p.idPrefix + "_empty") || postdata[idname] === ""){
- postdata[idname] = ret[2];
- } else {
- ret[2] = postdata[idname];
- }
- if(rp_ge[$t.p.id].reloadAfterSubmit) {
- $($t).trigger("reloadGrid");
- } else {
- if($t.p.treeGrid === true){
- $($t).jqGrid("addChildNode",ret[2],selr,postdata );
- } else {
- $($t).jqGrid("addRowData",ret[2],postdata,p.addedrow);
- }
- }
- if(rp_ge[$t.p.id].closeAfterAdd) {
- if($t.p.treeGrid !== true){
- $($t).jqGrid("setSelection",ret[2]);
- }
- $.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal,onClose: rp_ge[$t.p.id].onClose, removemodal: rp_ge[$t.p.id].removemodal, formprop: !rp_ge[$t.p.id].recreateForm, form: rp_ge[$t.p.id].form});
- } else if (rp_ge[$t.p.id].clearAfterAdd) {
- fillData("_empty", $t, frmgr);
- }
- } else {
- // the action is update
- if(rp_ge[$t.p.id].reloadAfterSubmit) {
- $($t).trigger("reloadGrid");
- if( !rp_ge[$t.p.id].closeAfterEdit ) {setTimeout(function(){$($t).jqGrid("setSelection",postdata[idname]);},1000);}
- } else {
- if($t.p.treeGrid === true) {
- $($t).jqGrid("setTreeRow", postdata[idname],postdata);
- } else {
- $($t).jqGrid("setRowData", postdata[idname],postdata);
- }
- }
- if(rp_ge[$t.p.id].closeAfterEdit) {$.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal,onClose: rp_ge[$t.p.id].onClose, removemodal: rp_ge[$t.p.id].removemodal, formprop: !rp_ge[$t.p.id].recreateForm, form: rp_ge[$t.p.id].form});}
- }
- if( $.isFunction(rp_ge[$t.p.id].afterComplete) || $._data( $($t)[0], 'events' ).hasOwnProperty('jqGridAddEditAfterComplete') ) {
- copydata = data;
- setTimeout(function(){
- $($t).triggerHandler("jqGridAddEditAfterComplete", [copydata, postdata, $(frmgr), frmoper]);
- try {
- rp_ge[$t.p.id].afterComplete.call($t, copydata, postdata, $(frmgr), frmoper);
- } catch(excacmp) {
- //do nothing
- }
- copydata=null;
- },500);
- }
- if(rp_ge[$t.p.id].checkOnSubmit || rp_ge[$t.p.id].checkOnUpdate) {
- $(frmgr).data("disabled",false);
- if($t.p.savedData[$t.p.id+"_id"] !== "_empty"){
- for(key in $t.p.savedData) {
- if($t.p.savedData.hasOwnProperty(key) && postdata[key]) {
- $t.p.savedData[key] = postdata[key];
- }
- }
- }
- }
- }
- rp_ge[$t.p.id].processing=false;
- try{$(':input:visible',frmgr)[0].focus();} catch (e){}
- }
- }, $.jgrid.ajaxOptions, rp_ge[$t.p.id].ajaxEditOptions );
- if (!ajaxOptions.url && !rp_ge[$t.p.id].useDataProxy) {
- if ($.isFunction($t.p.dataProxy)) {
- rp_ge[$t.p.id].useDataProxy = true;
- } else {
- ret[0]=false;ret[1] += " "+errors.nourl;
- }
- }
- if (ret[0]) {
- if (rp_ge[$t.p.id].useDataProxy) {
- var dpret = $t.p.dataProxy.call($t, ajaxOptions, "set_"+$t.p.id);
- if(dpret === undefined) {
- dpret = [true, ""];
- }
- if(dpret[0] === false ) {
- ret[0] = false;
- ret[1] = dpret[1] || "Error deleting the selected row!" ;
- } else {
- if(ajaxOptions.data.oper === opers.addoper && rp_ge[$t.p.id].closeAfterAdd ) {
- $.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal, onClose: rp_ge[$t.p.id].onClose, removemodal: rp_ge[$t.p.id].removemodal, formprop: !rp_ge[$t.p.id].recreateForm, form: rp_ge[$t.p.id].form});
- }
- if(ajaxOptions.data.oper === opers.editoper && rp_ge[$t.p.id].closeAfterEdit ) {
- $.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal, onClose: rp_ge[$t.p.id].onClose, removemodal: rp_ge[$t.p.id].removemodal, formprop: !rp_ge[$t.p.id].recreateForm, form: rp_ge[$t.p.id].form});
- }
- }
- } else {
- if(ajaxOptions.url === "clientArray") {
- rp_ge[$t.p.id].reloadAfterSubmit = false;
- postdata = ajaxOptions.data;
- ajaxOptions.complete({status:200, statusText:''},'');
- } else {
- $.ajax(ajaxOptions);
- }
- }
- }
- }
- if(ret[0] === false) {
- $(".FormError",frmgr).html(ret[1]);
- $(".FormError",frmgr).show();
- // return;
- }
- }
- function compareData(nObj, oObj ) {
- var ret = false,key;
- ret = !( $.isPlainObject(nObj) && $.isPlainObject(oObj) && Object.getOwnPropertyNames(nObj).length === Object.getOwnPropertyNames(oObj).length);
- if(!ret) {
- for (key in oObj) {
- if(oObj.hasOwnProperty(key) ) {
- if(nObj.hasOwnProperty(key) ) {
- if( nObj[key] !== oObj[key] ) {
- ret = true;
- break;
- }
- } else {
- ret = true;
- break;
- }
- }
- }
- }
- return ret;
- }
- function checkUpdates () {
- var stat = true;
- $(".FormError",frmgr).hide();
- if(rp_ge[$t.p.id].checkOnUpdate) {
- postdata = {};
- getFormData();
- diff = compareData(postdata, $t.p.savedData);
- if(diff) {
- $(frmgr).data("disabled",true);
- $(".confirm","#"+IDs.themodal).show();
- stat = false;
- }
- }
- return stat;
- }
- function restoreInline() {
- var i;
- if (rowid !== "_empty" && $t.p.savedRow !== undefined && $t.p.savedRow.length > 0 && $.isFunction($.fn.jqGrid.restoreRow)) {
- for (i=0;i<$t.p.savedRow.length;i++) {
- if ($t.p.savedRow[i].id === rowid) {
- $($t).jqGrid('restoreRow',rowid);
- break;
- }
- }
- }
- }
- function updateNav(cr, posarr){
- var totr = posarr[1].length-1;
- if (cr===0) {
- $("#pData",frmtb2).addClass( commonstyle.disabled );
- } else if( posarr[1][cr-1] !== undefined && $("#"+$.jgrid.jqID(posarr[1][cr-1])).hasClass( commonstyle.disabled )) {
- $("#pData",frmtb2).addClass( commonstyle.disabled );
- } else {
- $("#pData",frmtb2).removeClass( commonstyle.disabled );
- }
-
- if (cr===totr) {
- $("#nData",frmtb2).addClass( commonstyle.disabled );
- } else if( posarr[1][cr+1] !== undefined && $("#"+$.jgrid.jqID(posarr[1][cr+1])).hasClass( commonstyle.disabled )) {
- $("#nData",frmtb2).addClass( commonstyle.disabled );
- } else {
- $("#nData",frmtb2).removeClass( commonstyle.disabled );
- }
- }
- function getCurrPos() {
- var rowsInGrid = $($t).jqGrid("getDataIDs"),
- selrow = $("#id_g",frmtb).val(), pos;
- if($t.p.multiselect && rp_ge[$t.p.id].editselected) {
- var arr = [];
- for(var i=0, len = rowsInGrid.length;i<len;i++) {
- if($.inArray(rowsInGrid[i],$t.p.selarrrow) !== -1) {
- arr.push(rowsInGrid[i]);
- }
- }
- pos = $.inArray(selrow,arr);
- return [pos, arr];
- } else {
- pos = $.inArray(selrow,rowsInGrid);
- }
- return [pos,rowsInGrid];
- }
- function parseTemplate ( template ){
- var tmpl ="";
- if(typeof template === "string") {
- tmpl = template.replace(/\{([\w\-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g, function(m,i){
- return '<span id="'+ i+ '" ></span>';
- });
- }
- return tmpl;
- }
- function syncSavedData () {
- if(rp_ge[$t.p.id].checkOnSubmit || rp_ge[$t.p.id].checkOnUpdate) {
- var a1=[], a2={};
- a1 = $.map($t.p.savedData, function(v, i){
- return i;
- });
- $(".FormElement", frm ).each(function(){
- if( a1.indexOf(this.name) === -1 ) {
- var tv = $(this).val(), tt = $(this).get(0).type;
- if( tt === 'checkbox') {
- if(!$(this).is(":checked")) {
- tv = $(this).attr("offval");
- }
- } else if(tt === 'select-multiple') {
- tv = tv.join(",");
- } else if(tt === 'radio') {
- if(a2.hasOwnProperty(this.name)) {
- return true;
- } else {
- a2[this.name] = ($(this).attr("offval") === undefined) ? "off" : $(this).attr("offval");
- }
- }
- $t.p.savedData[this.name] = tv;
- }
- });
- for(var i in a2 ) {
- if( a2.hasOwnProperty(i)) {
- var val = $('input[name="'+i+'"]:checked',frm).val();
- $t.p.savedData[i] = (val !== undefined) ? val : a2[i];
- }
- }
- }
- }
- var dh = isNaN(rp_ge[$(this)[0].p.id].dataheight) ? rp_ge[$(this)[0].p.id].dataheight : rp_ge[$(this)[0].p.id].dataheight+"px",
- dw = isNaN(rp_ge[$(this)[0].p.id].datawidth) ? rp_ge[$(this)[0].p.id].datawidth : rp_ge[$(this)[0].p.id].datawidth+"px",
- frm = $("<form name='FormPost' id='"+frmgr+"' class='FormGrid' onSubmit='return false;' style='width:"+dw+";height:"+dh+";'></form>").data("disabled",false),
- tbl;
- if(templ) {
- tbl = parseTemplate( rp_ge[$(this)[0].p.id].template );
- frmtb2 = frmtb;
- } else {
- tbl = $("<table id='"+frmtborg+"' class='EditTable ui-common-table'><tbody></tbody></table>");
- frmtb2 = frmtb+"_2";
- }
- frmgr = "#"+ $.jgrid.jqID(frmgr);
- // errors
- $(frm).append("<div class='FormError " + commonstyle.error + "' style='display:none;'></div>" );
- // topinfo
- $(frm).append("<div class='tinfo topinfo'>"+rp_ge[$t.p.id].topinfo+"</div>");
- $($t.p.colModel).each( function() {
- var fmto = this.formoptions;
- maxCols = Math.max(maxCols, fmto ? fmto.colpos || 0 : 0 );
- maxRows = Math.max(maxRows, fmto ? fmto.rowpos || 0 : 0 );
- });
- $(frm).append(tbl);
- showFrm = $($t).triggerHandler("jqGridAddEditBeforeInitData", [frm, frmoper]);
- if(showFrm === undefined) {
- showFrm = true;
- }
- if(showFrm && $.isFunction(rp_ge[$t.p.id].beforeInitData)) {
- showFrm = rp_ge[$t.p.id].beforeInitData.call($t,frm, frmoper);
- }
- if(showFrm === false) {return;}
- restoreInline();
- // set the id.
- // use carefull only to change here colproperties.
- // create data
- createData(rowid,$t,tbl,maxCols);
- // buttons at footer
- var rtlb = $t.p.direction === "rtl" ? true :false,
- bp = rtlb ? "nData" : "pData",
- bn = rtlb ? "pData" : "nData";
- var bP = "<a id='"+bp+"' class='fm-button " + commonstyle.button + "'><span class='" + commonstyle.icon_base + " " + styles.icon_prev+ "'></span></a>",
- bN = "<a id='"+bn+"' class='fm-button " + commonstyle.button + "'><span class='" + commonstyle.icon_base + " " + styles.icon_next+ "'></span></a>",
- bS ="<a id='sData' class='fm-button " + commonstyle.button + "'>"+p.bSubmit+"</a>",
- bC ="<a id='cData' class='fm-button " + commonstyle.button + "'>"+p.bCancel+"</a>",
- user_buttons = ( $.isArray( rp_ge[$t.p.id].buttons ) ? $.jgrid.buildButtons( rp_ge[$t.p.id].buttons, bS + bC, commonstyle ) : bS + bC );
- var bt = "<table style='height:auto' class='EditTable ui-common-table' id='"+frmtborg+"_2'><tbody><tr><td colspan='2'><hr class='"+commonstyle.content+"' style='margin:1px'/></td></tr><tr id='Act_Buttons'><td class='navButton'>"+(rtlb ? bN+bP : bP+bN)+"</td><td class='EditButton'>"+ user_buttons +"</td></tr>";
- //bt += "<tr style='display:none' class='binfo'><td class='bottominfo' colspan='2'>"+rp_ge[$t.p.id].bottominfo+"</td></tr>";
- bt += "</tbody></table>";
- if(maxRows > 0) {
- var sd=[];
- $.each($(tbl)[0].rows,function(i,r){
- sd[i] = r;
- });
- sd.sort(function(a,b){
- if(a.rp > b.rp) {return 1;}
- if(a.rp < b.rp) {return -1;}
- return 0;
- });
- $.each(sd, function(index, row) {
- $('tbody',tbl).append(row);
- });
- }
- p.gbox = "#gbox_"+$.jgrid.jqID(gID);
- var cle = false;
- if(p.closeOnEscape===true){
- p.closeOnEscape = false;
- cle = true;
- }
- var tms;
- if(templ) {
- $(frm).find("#pData").replaceWith( bP );
- $(frm).find("#nData").replaceWith( bN );
- $(frm).find("#sData").replaceWith( bS );
- $(frm).find("#cData").replaceWith( bC );
- tms = $("<div id="+frmtborg+"></div>").append(frm);
- } else {
- tms = $("<div></div>").append(frm).append(bt);
- }
-
- $(frm).append("<div class='binfo topinfo bottominfo'>"+rp_ge[$t.p.id].bottominfo+"</div>");
- var fs = $('.ui-jqgrid').css('font-size') || '11px';
- $.jgrid.createModal(IDs, tms, rp_ge[$(this)[0].p.id], "#gview_"+$.jgrid.jqID($t.p.id), $("#gbox_"+$.jgrid.jqID($t.p.id))[0], null, {"font-size": fs});
- if(rtlb) {
- $("#pData, #nData",frmtb+"_2").css("float","right");
- $(".EditButton",frmtb+"_2").css("text-align","left");
- }
- if(rp_ge[$t.p.id].topinfo) {$(".tinfo", frmgr).show();}
- if(rp_ge[$t.p.id].bottominfo) {$(".binfo",frmgr).show();}
- tms = null;bt=null;
- $("#"+$.jgrid.jqID(IDs.themodal)).keydown( function( e ) {
- var wkey = e.target;
- if ($(frmgr).data("disabled")===true ) {return false;}//??
- if(rp_ge[$t.p.id].savekey[0] === true && e.which === rp_ge[$t.p.id].savekey[1]) { // save
- if(wkey.tagName !== "TEXTAREA") {
- $("#sData", frmtb+"_2").trigger("click");
- return false;
- }
- }
- if(e.which === 27) {
- if(!checkUpdates()) {return false;}
- if(cle) {$.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:p.gbox,jqm:p.jqModal, onClose: rp_ge[$t.p.id].onClose, removemodal: rp_ge[$t.p.id].removemodal, formprop: !rp_ge[$t.p.id].recreateForm, form: rp_ge[$t.p.id].form});}
- return false;
- }
- if(rp_ge[$t.p.id].navkeys[0]===true) {
- if($("#id_g",frmtb).val() === "_empty") {return true;}
- if(e.which === rp_ge[$t.p.id].navkeys[1]){ //up
- $("#pData", frmtb2).trigger("click");
- return false;
- }
- if(e.which === rp_ge[$t.p.id].navkeys[2]){ //down
- $("#nData", frmtb2).trigger("click");
- return false;
- }
- }
- });
- if(p.checkOnUpdate) {
- $("a.ui-jqdialog-titlebar-close span","#"+$.jgrid.jqID(IDs.themodal)).removeClass("jqmClose");
- $("a.ui-jqdialog-titlebar-close","#"+$.jgrid.jqID(IDs.themodal)).off("click")
- .click(function(){
- if(!checkUpdates()) {return false;}
- $.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal,onClose: rp_ge[$t.p.id].onClose, removemodal: rp_ge[$t.p.id].removemodal, formprop: !rp_ge[$t.p.id].recreateForm, form: rp_ge[$t.p.id].form});
- return false;
- });
- }
- p.saveicon = $.extend([true,"left", styles.icon_save ],p.saveicon);
- p.closeicon = $.extend([true,"left", styles.icon_close ],p.closeicon);
- // beforeinitdata after creation of the form
- if(p.saveicon[0]===true) {
- $("#sData",frmtb2).addClass(p.saveicon[1] === "right" ? 'fm-button-icon-right' : 'fm-button-icon-left')
- .append("<span class='"+commonstyle.icon_base + " " +p.saveicon[2]+"'></span>");
- }
- if(p.closeicon[0]===true) {
- $("#cData",frmtb2).addClass(p.closeicon[1] === "right" ? 'fm-button-icon-right' : 'fm-button-icon-left')
- .append("<span class='" + commonstyle.icon_base +" "+p.closeicon[2]+"'></span>");
- }
- if(rp_ge[$t.p.id].checkOnSubmit || rp_ge[$t.p.id].checkOnUpdate) {
- bS ="<a id='sNew' class='fm-button "+commonstyle.button + "' style='z-index:1002'>"+p.bYes+"</a>";
- bN ="<a id='nNew' class='fm-button "+commonstyle.button + "' style='z-index:1002;margin-left:5px'>"+p.bNo+"</a>";
- bC ="<a id='cNew' class='fm-button "+commonstyle.button + "' style='z-index:1002;margin-left:5px;'>"+p.bExit+"</a>";
- var zI = p.zIndex || 999;zI ++;
- $("#"+IDs.themodal).append("<div class='"+ p.overlayClass+" jqgrid-overlay confirm' style='z-index:"+zI+";display:none;position:absolute;'> "+"</div><div class='confirm ui-jqconfirm "+commonstyle.content+"' style='z-index:"+(zI+1)+"'>"+p.saveData+"<br/><br/>"+bS+bN+bC+"</div>");
- $("#sNew","#"+$.jgrid.jqID(IDs.themodal)).click(function(){
- postIt();
- $(frmgr).data("disabled",false);
- $(".confirm","#"+$.jgrid.jqID(IDs.themodal)).hide();
- return false;
- });
- $("#nNew","#"+$.jgrid.jqID(IDs.themodal)).click(function(){
- $(".confirm","#"+$.jgrid.jqID(IDs.themodal)).hide();
- $(frmgr).data("disabled",false);
- setTimeout(function(){$(":input:visible",frmgr)[0].focus();},0);
- return false;
- });
- $("#cNew","#"+$.jgrid.jqID(IDs.themodal)).click(function(){
- $(".confirm","#"+$.jgrid.jqID(IDs.themodal)).hide();
- $(frmgr).data("disabled",false);
- $.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal,onClose: rp_ge[$t.p.id].onClose, removemodal: rp_ge[$t.p.id].removemodal, formprop: !rp_ge[$t.p.id].recreateForm, form: rp_ge[$t.p.id].form});
- return false;
- });
- }
- // here initform
- $($t).triggerHandler("jqGridAddEditInitializeForm", [$(frmgr), frmoper]);
- if($.isFunction(rp_ge[$t.p.id].onInitializeForm)) { rp_ge[$t.p.id].onInitializeForm.call($t,$(frmgr), frmoper);}
- if(rowid==="_empty" || !rp_ge[$t.p.id].viewPagerButtons) {$("#pData,#nData",frmtb2).hide();} else {$("#pData,#nData",frmtb2).show();}
- $($t).triggerHandler("jqGridAddEditBeforeShowForm", [$(frmgr), frmoper]);
- if($.isFunction(rp_ge[$t.p.id].beforeShowForm)) { rp_ge[$t.p.id].beforeShowForm.call($t, $(frmgr), frmoper);}
- syncSavedData();
- $("#"+$.jgrid.jqID(IDs.themodal)).data("onClose",rp_ge[$t.p.id].onClose);
- $.jgrid.viewModal("#"+$.jgrid.jqID(IDs.themodal),{
- gbox:"#gbox_"+$.jgrid.jqID(gID),
- jqm:p.jqModal,
- overlay: p.overlay,
- modal:p.modal,
- overlayClass: p.overlayClass,
- focusField : p.focusField,
- onHide : function(h) {
- var fh = $('#editmod'+gID)[0].style.height,
- fw = $('#editmod'+gID)[0].style.width;
- if(fh.indexOf("px") > -1 ) {
- fh = parseFloat(fh);
- }
- if(fw.indexOf("px") > -1 ) {
- fw = parseFloat(fw);
- }
- $($t).data("formProp", {
- top:parseFloat($(h.w).css("top")),
- left : parseFloat($(h.w).css("left")),
- width : fw,
- height : fh,
- dataheight : $(frmgr).height(),
- datawidth: $(frmgr).width()
- });
- h.w.remove();
- if(h.o) {h.o.remove();}
- }
- });
- if(!closeovrl) {
- $("." + $.jgrid.jqID(p.overlayClass)).click(function(){
- if(!checkUpdates()) {return false;}
- $.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal, onClose: rp_ge[$t.p.id].onClose, removemodal: rp_ge[$t.p.id].removemodal, formprop: !rp_ge[$t.p.id].recreateForm, form: rp_ge[$t.p.id].form});
- return false;
- });
- }
- $(".fm-button","#"+$.jgrid.jqID(IDs.themodal)).hover(
- function(){$(this).addClass( commonstyle.hover );},
- function(){$(this).removeClass( commonstyle.hover );}
- );
- $("#sData", frmtb2).click(function(){
- postdata = {};
- $(".FormError",frmgr).hide();
- // all depend on ret array
- //ret[0] - succes
- //ret[1] - msg if not succes
- //ret[2] - the id that will be set if reload after submit false
- getFormData();
- if(postdata[$t.p.id+"_id"] === "_empty") {postIt();}
- else if(p.checkOnSubmit===true ) {
- diff = compareData(postdata, $t.p.savedData);
- if(diff) {
- $(frmgr).data("disabled",true);
- $(".confirm","#"+$.jgrid.jqID(IDs.themodal)).show();
- } else {
- postIt();
- }
- } else {
- postIt();
- }
- return false;
- });
- $("#cData", frmtb2).click(function(){
- if(!checkUpdates()) {return false;}
- $.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal,onClose: rp_ge[$t.p.id].onClose, removemodal: rp_ge[$t.p.id].removemodal, formprop: !rp_ge[$t.p.id].recreateForm, form: rp_ge[$t.p.id].form});
- return false;
- });
- // user buttons bind
- $(frmtb2).find("[data-index]").each(function(){
- var index = parseInt($(this).attr('data-index'),10);
- if(index >=0 ) {
- if( p.buttons[index].hasOwnProperty('click')) {
- $(this).on('click', function(e) {
- p.buttons[index].click.call($t, $(frmgr)[0], rp_ge[$t.p.id], e);
- });
- }
- }
- });
- $("#nData", frmtb2).click(function(){
- if(!checkUpdates()) {return false;}
- $(".FormError",frmgr).hide();
- var npos = getCurrPos();
- npos[0] = parseInt(npos[0],10);
- if(npos[0] !== -1 && npos[1][npos[0]+1]) {
- $($t).triggerHandler("jqGridAddEditClickPgButtons", ['next',$(frmgr),npos[1][npos[0]]]);
- var nposret;
- if($.isFunction(p.onclickPgButtons)) {
- nposret = p.onclickPgButtons.call($t, 'next',$(frmgr),npos[1][npos[0]]);
- if( nposret !== undefined && nposret === false ) {return false;}
- }
- if( $("#"+$.jgrid.jqID(npos[1][npos[0]+1])).hasClass( commonstyle.disabled )) {return false;}
- fillData(npos[1][npos[0]+1],$t,frmgr);
- if(!($t.p.multiselect && rp_ge[$t.p.id].editselected)) {
- $($t).jqGrid("setSelection",npos[1][npos[0]+1]);
- }
- $($t).triggerHandler("jqGridAddEditAfterClickPgButtons", ['next',$(frmgr),npos[1][npos[0]]]);
- if($.isFunction(p.afterclickPgButtons)) {
- p.afterclickPgButtons.call($t, 'next',$(frmgr),npos[1][npos[0]+1]);
- }
- syncSavedData();
- updateNav(npos[0]+1,npos);
- }
- return false;
- });
- $("#pData", frmtb2).click(function(){
- if(!checkUpdates()) {return false;}
- $(".FormError",frmgr).hide();
- var ppos = getCurrPos();
- if(ppos[0] !== -1 && ppos[1][ppos[0]-1]) {
- $($t).triggerHandler("jqGridAddEditClickPgButtons", ['prev',$(frmgr),ppos[1][ppos[0]]]);
- var pposret;
- if($.isFunction(p.onclickPgButtons)) {
- pposret = p.onclickPgButtons.call($t, 'prev',$(frmgr),ppos[1][ppos[0]]);
- if( pposret !== undefined && pposret === false ) {return false;}
- }
- if( $("#"+$.jgrid.jqID(ppos[1][ppos[0]-1])).hasClass( commonstyle.disabled )) {return false;}
- fillData(ppos[1][ppos[0]-1],$t,frmgr);
- if(!($t.p.multiselect && rp_ge[$t.p.id].editselected)) {
- $($t).jqGrid("setSelection",ppos[1][ppos[0]-1]);
- }
- $($t).triggerHandler("jqGridAddEditAfterClickPgButtons", ['prev',$(frmgr),ppos[1][ppos[0]]]);
- if($.isFunction(p.afterclickPgButtons)) {
- p.afterclickPgButtons.call($t, 'prev',$(frmgr),ppos[1][ppos[0]-1]);
- }
- syncSavedData();
- updateNav(ppos[0]-1,ppos);
- }
- return false;
- });
- $($t).triggerHandler("jqGridAddEditAfterShowForm", [$(frmgr), frmoper]);
- if($.isFunction(rp_ge[$t.p.id].afterShowForm)) { rp_ge[$t.p.id].afterShowForm.call($t, $(frmgr), frmoper); }
- var posInit =getCurrPos();
- updateNav(posInit[0],posInit);
- });
- },
- viewGridRow : function(rowid, p){
- var regional = $.jgrid.getRegional(this[0], 'view'),
- currstyle = this[0].p.styleUI,
- styles = $.jgrid.styleUI[currstyle].formedit,
- commonstyle = $.jgrid.styleUI[currstyle].common;
- p = $.extend(true, {
- top : 0,
- left: 0,
- width: 500,
- datawidth: 'auto',
- height: 'auto',
- dataheight: 'auto',
- modal: false,
- overlay: 30,
- drag: true,
- resize: true,
- jqModal: true,
- closeOnEscape : false,
- labelswidth: 'auto',
- closeicon: [],
- navkeys: [false,38,40],
- onClose: null,
- beforeShowForm : null,
- beforeInitData : null,
- viewPagerButtons : true,
- recreateForm : false,
- removemodal: true,
- form: 'view',
- buttons : []
- }, regional, p || {});
- rp_ge[$(this)[0].p.id] = p;
- return this.each(function(){
- var $t = this;
- if (!$t.grid || !rowid) {return;}
- var gID = $t.p.id,
- frmgr = "ViewGrid_"+$.jgrid.jqID( gID ), frmtb = "ViewTbl_" + $.jgrid.jqID( gID ),
- frmgr_id = "ViewGrid_"+gID, frmtb_id = "ViewTbl_"+gID,
- IDs = {themodal:'viewmod'+gID,modalhead:'viewhd'+gID,modalcontent:'viewcnt'+gID, scrollelm : frmgr},
- showFrm = true,
- maxCols = 1, maxRows=0;
- rp_ge[$t.p.id].styleUI = $t.p.styleUI || 'jQueryUI';
- if(!p.recreateForm) {
- if( $($t).data("viewProp") ) {
- $.extend(rp_ge[$(this)[0].p.id], $($t).data("viewProp"));
- }
- }
- function focusaref(){ //Sfari 3 issues
- if(rp_ge[$t.p.id].closeOnEscape===true || rp_ge[$t.p.id].navkeys[0]===true) {
- setTimeout(function(){$(".ui-jqdialog-titlebar-close","#"+$.jgrid.jqID(IDs.modalhead)).attr("tabindex", "-1").focus();},0);
- }
- }
- function createData(rowid,obj,tb,maxcols){
- var nm, hc,trdata, cnt=0,tmp, dc, retpos=[], ind=false, i,
- tdtmpl = "<td class='CaptionTD form-view-label " + commonstyle.content + "' width='"+p.labelswidth+"'></td><td class='DataTD form-view-data ui-helper-reset " + commonstyle.content +"'></td>", tmpl="",
- tdtmpl2 = "<td class='CaptionTD form-view-label " + commonstyle.content +"'></td><td class='DataTD form-view-data " + commonstyle.content +"'></td>",
- fmtnum = ['integer','number','currency'],max1 =0, max2=0 ,maxw,setme, viewfld;
- for (i=1;i<=maxcols;i++) {
- tmpl += i === 1 ? tdtmpl : tdtmpl2;
- }
- // find max number align rigth with property formatter
- $(obj.p.colModel).each( function() {
- if(this.editrules && this.editrules.edithidden === true) {
- hc = false;
- } else {
- hc = this.hidden === true ? true : false;
- }
- if(!hc && this.align==='right') {
- if(this.formatter && $.inArray(this.formatter,fmtnum) !== -1 ) {
- max1 = Math.max(max1,parseInt(this.width,10));
- } else {
- max2 = Math.max(max2,parseInt(this.width,10));
- }
- }
- });
- maxw = max1 !==0 ? max1 : max2 !==0 ? max2 : 0;
- ind = $(obj).jqGrid("getInd",rowid);
- $(obj.p.colModel).each( function(i) {
- nm = this.name;
- setme = false;
- // hidden fields are included in the form
- if(this.editrules && this.editrules.edithidden === true) {
- hc = false;
- } else {
- hc = this.hidden === true ? true : false;
- }
- dc = hc ? "style='display:none'" : "";
- viewfld = (typeof this.viewable !== 'boolean') ? true : this.viewable;
- if ( nm !== 'cb' && nm !== 'subgrid' && nm !== 'rn' && viewfld) {
- if(ind === false) {
- tmp = "";
- } else {
- if(nm === obj.p.ExpandColumn && obj.p.treeGrid === true) {
- tmp = $("td:eq("+i+")",obj.rows[ind]).text();
- } else {
- tmp = $("td:eq("+i+")",obj.rows[ind]).html();
- }
- }
- setme = this.align === 'right' && maxw !==0 ? true : false;
- var frmopt = $.extend({},{rowabove:false,rowcontent:''}, this.formoptions || {}),
- rp = parseInt(frmopt.rowpos,10) || cnt+1,
- cp = parseInt((parseInt(frmopt.colpos,10) || 1)*2,10);
- if(frmopt.rowabove) {
- var newdata = $("<tr><td class='contentinfo' colspan='"+(maxcols*2)+"'>"+frmopt.rowcontent+"</td></tr>");
- $(tb).append(newdata);
- newdata[0].rp = rp;
- }
- trdata = $(tb).find("tr[rowpos="+rp+"]");
- if ( trdata.length===0 ) {
- trdata = $("<tr "+dc+" rowpos='"+rp+"'></tr>").addClass("FormData").attr("id","trv_"+nm);
- $(trdata).append(tmpl);
- $(tb).append(trdata);
- trdata[0].rp = rp;
- }
- $("td:eq("+(cp-2)+")",trdata[0]).html('<b>'+ (frmopt.label === undefined ? obj.p.colNames[i]: frmopt.label)+'</b>');
- $("td:eq("+(cp-1)+")",trdata[0]).append("<span>"+tmp+"</span>").attr("id","v_"+nm);
- if(setme){
- $("td:eq("+(cp-1)+") span",trdata[0]).css({'text-align':'right',width:maxw+"px"});
- }
- retpos[cnt] = i;
- cnt++;
- }
- });
- if( cnt > 0) {
- var idrow = $("<tr class='FormData' style='display:none'><td class='CaptionTD'></td><td colspan='"+ (maxcols*2-1)+"' class='DataTD'><input class='FormElement' id='id_g' type='text' name='id' value='"+rowid+"'/></td></tr>");
- idrow[0].rp = cnt+99;
- $(tb).append(idrow);
- }
- return retpos;
- }
- function fillData(rowid,obj){
- var nm, hc,cnt=0,tmp,trv;
- trv = $(obj).jqGrid("getInd",rowid,true);
- if(!trv) {return;}
- $('td',trv).each( function(i) {
- nm = obj.p.colModel[i].name;
- // hidden fields are included in the form
- if(obj.p.colModel[i].editrules && obj.p.colModel[i].editrules.edithidden === true) {
- hc = false;
- } else {
- hc = obj.p.colModel[i].hidden === true ? true : false;
- }
- if ( nm !== 'cb' && nm !== 'subgrid' && nm !== 'rn') {
- if(nm === obj.p.ExpandColumn && obj.p.treeGrid === true) {
- tmp = $(this).text();
- } else {
- tmp = $(this).html();
- }
- nm = $.jgrid.jqID("v_"+nm);
- $("#"+nm+" span","#"+frmtb).html(tmp);
- if (hc) {$("#"+nm,"#"+frmtb).parents("tr:first").hide();}
- cnt++;
- }
- });
- if(cnt>0) {$("#id_g","#"+frmtb).val(rowid);}
- }
- function updateNav(cr,posarr){
- var totr = posarr[1].length-1;
- if (cr===0) {
- $("#pData","#"+frmtb+"_2").addClass( commonstyle.disabled );
- } else if( posarr[1][cr-1] !== undefined && $("#"+$.jgrid.jqID(posarr[1][cr-1])).hasClass(commonstyle.disabled)) {
- $("#pData",frmtb+"_2").addClass( commonstyle.disabled );
- } else {
- $("#pData","#"+frmtb+"_2").removeClass( commonstyle.disabled );
- }
- if (cr===totr) {
- $("#nData","#"+frmtb+"_2").addClass( commonstyle.disabled );
- } else if( posarr[1][cr+1] !== undefined && $("#"+$.jgrid.jqID(posarr[1][cr+1])).hasClass( commonstyle.disabled )) {
- $("#nData",frmtb+"_2").addClass( commonstyle.disabled );
- } else {
- $("#nData","#"+frmtb+"_2").removeClass( commonstyle.disabled );
- }
- }
- function getCurrPos() {
- var rowsInGrid = $($t).jqGrid("getDataIDs"),
- selrow = $("#id_g","#"+frmtb).val(),
- pos = $.inArray(selrow,rowsInGrid);
- return [pos,rowsInGrid];
- }
- var dh = isNaN(rp_ge[$(this)[0].p.id].dataheight) ? rp_ge[$(this)[0].p.id].dataheight : rp_ge[$(this)[0].p.id].dataheight+"px",
- dw = isNaN(rp_ge[$(this)[0].p.id].datawidth) ? rp_ge[$(this)[0].p.id].datawidth : rp_ge[$(this)[0].p.id].datawidth+"px",
- frm = $("<form name='FormPost' id='"+frmgr_id+"' class='FormGrid' style='width:"+dw+";height:"+dh+";'></form>"),
- tbl =$("<table id='"+frmtb_id+"' class='EditTable ViewTable'><tbody></tbody></table>");
- $($t.p.colModel).each( function() {
- var fmto = this.formoptions;
- maxCols = Math.max(maxCols, fmto ? fmto.colpos || 0 : 0 );
- maxRows = Math.max(maxRows, fmto ? fmto.rowpos || 0 : 0 );
- });
- // set the id.
- $(frm).append(tbl);
- showFrm = $($t).triggerHandler("jqGridViewRowBeforeInitData", [frm]);
- if(showFrm === undefined) {
- showFrm = true;
- }
- if(showFrm && $.isFunction(rp_ge[$t.p.id].beforeInitData)) {
- showFrm = rp_ge[$t.p.id].beforeInitData.call($t, frm);
- }
- if(showFrm === false) {return;}
- createData(rowid, $t, tbl, maxCols);
- var rtlb = $t.p.direction === "rtl" ? true :false,
- bp = rtlb ? "nData" : "pData",
- bn = rtlb ? "pData" : "nData",
- // buttons at footer
- bP = "<a id='"+bp+"' class='fm-button " + commonstyle.button + "'><span class='" + commonstyle.icon_base + " " + styles.icon_prev+ "'></span></a>",
- bN = "<a id='"+bn+"' class='fm-button " + commonstyle.button + "'><span class='" + commonstyle.icon_base + " " + styles.icon_next+ "'></span></a>",
- bC ="<a id='cData' class='fm-button " + commonstyle.button + "'>"+p.bClose+"</a>",
- user_buttons = ( $.isArray( rp_ge[$t.p.id].buttons ) ? $.jgrid.buildButtons( rp_ge[$t.p.id].buttons, bC, commonstyle ) : bC );
- if(maxRows > 0) {
- var sd=[];
- $.each($(tbl)[0].rows,function(i,r){
- sd[i] = r;
- });
- sd.sort(function(a,b){
- if(a.rp > b.rp) {return 1;}
- if(a.rp < b.rp) {return -1;}
- return 0;
- });
- $.each(sd, function(index, row) {
- $('tbody',tbl).append(row);
- });
- }
- p.gbox = "#gbox_"+$.jgrid.jqID(gID);
- var bt = $("<div></div>").append(frm).append("<table border='0' class='EditTable' id='"+frmtb+"_2'><tbody><tr id='Act_Buttons'><td class='navButton' width='"+p.labelswidth+"'>"+(rtlb ? bN+bP : bP+bN)+"</td><td class='EditButton'>"+ user_buttons+"</td></tr></tbody></table>"),
- fs = $('.ui-jqgrid').css('font-size') || '11px';
-
- $.jgrid.createModal(IDs,bt, rp_ge[$(this)[0].p.id],"#gview_"+$.jgrid.jqID($t.p.id),$("#gview_"+$.jgrid.jqID($t.p.id))[0], null, {"font-size":fs});
- if(rtlb) {
- $("#pData, #nData","#"+frmtb+"_2").css("float","right");
- $(".EditButton","#"+frmtb+"_2").css("text-align","left");
- }
- if(!p.viewPagerButtons) {$("#pData, #nData","#"+frmtb+"_2").hide();}
- bt = null;
- $("#"+IDs.themodal).keydown( function( e ) {
- if(e.which === 27) {
- if(rp_ge[$t.p.id].closeOnEscape) {$.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:p.gbox,jqm:p.jqModal, onClose: p.onClose, removemodal: rp_ge[$t.p.id].removemodal, formprop: !rp_ge[$t.p.id].recreateForm, form: rp_ge[$t.p.id].form});}
- return false;
- }
- if(p.navkeys[0]===true) {
- if(e.which === p.navkeys[1]){ //up
- $("#pData", "#"+frmtb+"_2").trigger("click");
- return false;
- }
- if(e.which === p.navkeys[2]){ //down
- $("#nData", "#"+frmtb+"_2").trigger("click");
- return false;
- }
- }
- });
- p.closeicon = $.extend([true,"left", styles.icon_close ],p.closeicon);
- if(p.closeicon[0]===true) {
- $("#cData","#"+frmtb+"_2").addClass(p.closeicon[1] === "right" ? 'fm-button-icon-right' : 'fm-button-icon-left')
- .append("<span class='" + commonstyle.icon_base+ " " +p.closeicon[2]+"'></span>");
- }
- $($t).triggerHandler("jqGridViewRowBeforeShowForm", [$("#"+frmgr)]);
- if($.isFunction(p.beforeShowForm)) {p.beforeShowForm.call($t,$("#"+frmgr));}
- $.jgrid.viewModal("#"+$.jgrid.jqID(IDs.themodal),{
- gbox:"#gbox_"+$.jgrid.jqID(gID),
- jqm:p.jqModal,
- overlay: p.overlay,
- modal:p.modal,
- onHide : function(h) {
- $($t).data("viewProp", {
- top:parseFloat($(h.w).css("top")),
- left : parseFloat($(h.w).css("left")),
- width : $(h.w).width(),
- height : $(h.w).height(),
- dataheight : $("#"+frmgr).height(),
- datawidth: $("#"+frmgr).width()
- });
- h.w.remove();
- if(h.o) {h.o.remove();}
- }
- });
- $(".fm-button:not(." + commonstyle.disabled + ")","#"+frmtb+"_2").hover(
- function(){$(this).addClass( commonstyle.hover );},
- function(){$(this).removeClass( commonstyle.hover );}
- );
- focusaref();
- $("#cData", "#"+frmtb+"_2").click(function(){
- $.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal, onClose: p.onClose, removemodal: rp_ge[$t.p.id].removemodal, formprop: !rp_ge[$t.p.id].recreateForm, form: rp_ge[$t.p.id].form});
- return false;
- });
- $("#"+frmtb+"_2").find("[data-index]").each(function(){
- var index = parseInt($(this).attr('data-index'),10);
- if(index >=0 ) {
- if( p.buttons[index].hasOwnProperty('click')) {
- $(this).on('click', function(e) {
- p.buttons[index].click.call($t, $("#"+frmgr_id)[0], rp_ge[$t.p.id], e);
- });
- }
- }
- });
- $("#nData", "#"+frmtb+"_2").click(function(){
- $("#FormError","#"+frmtb).hide();
- var npos = getCurrPos();
- npos[0] = parseInt(npos[0],10);
- if(npos[0] !== -1 && npos[1][npos[0]+1]) {
- $($t).triggerHandler("jqGridViewRowClickPgButtons", ['next',$("#"+frmgr),npos[1][npos[0]]]);
- if($.isFunction(p.onclickPgButtons)) {
- p.onclickPgButtons.call($t,'next',$("#"+frmgr),npos[1][npos[0]]);
- }
- fillData(npos[1][npos[0]+1],$t);
- $($t).jqGrid("setSelection",npos[1][npos[0]+1]);
- $($t).triggerHandler("jqGridViewRowAfterClickPgButtons", ['next',$("#"+frmgr),npos[1][npos[0]+1]]);
- if($.isFunction(p.afterclickPgButtons)) {
- p.afterclickPgButtons.call($t,'next',$("#"+frmgr),npos[1][npos[0]+1]);
- }
- updateNav(npos[0]+1,npos);
- }
- focusaref();
- return false;
- });
- $("#pData", "#"+frmtb+"_2").click(function(){
- $("#FormError","#"+frmtb).hide();
- var ppos = getCurrPos();
- if(ppos[0] !== -1 && ppos[1][ppos[0]-1]) {
- $($t).triggerHandler("jqGridViewRowClickPgButtons", ['prev',$("#"+frmgr),ppos[1][ppos[0]]]);
- if($.isFunction(p.onclickPgButtons)) {
- p.onclickPgButtons.call($t,'prev',$("#"+frmgr),ppos[1][ppos[0]]);
- }
- fillData(ppos[1][ppos[0]-1],$t);
- $($t).jqGrid("setSelection",ppos[1][ppos[0]-1]);
- $($t).triggerHandler("jqGridViewRowAfterClickPgButtons", ['prev',$("#"+frmgr),ppos[1][ppos[0]-1]]);
- if($.isFunction(p.afterclickPgButtons)) {
- p.afterclickPgButtons.call($t,'prev',$("#"+frmgr),ppos[1][ppos[0]-1]);
- }
- updateNav(ppos[0]-1,ppos);
- }
- focusaref();
- return false;
- });
- var posInit =getCurrPos();
- updateNav(posInit[0],posInit);
- });
- },
- delGridRow : function(rowids,p) {
- var regional = $.jgrid.getRegional(this[0], 'del'),
- currstyle = this[0].p.styleUI,
- styles = $.jgrid.styleUI[currstyle].formedit,
- commonstyle = $.jgrid.styleUI[currstyle].common;
- p = $.extend(true, {
- top : 0,
- left: 0,
- width: 240,
- height: 'auto',
- dataheight : 'auto',
- modal: false,
- overlay: 30,
- drag: true,
- resize: true,
- url : '',
- mtype : "POST",
- reloadAfterSubmit: true,
- beforeShowForm: null,
- beforeInitData : null,
- afterShowForm: null,
- beforeSubmit: null,
- onclickSubmit: null,
- afterSubmit: null,
- jqModal : true,
- closeOnEscape : false,
- delData: {},
- delicon : [],
- cancelicon : [],
- onClose : null,
- ajaxDelOptions : {},
- processing : false,
- serializeDelData : null,
- useDataProxy : false
- }, regional, p ||{});
- rp_ge[$(this)[0].p.id] = p;
- return this.each(function(){
- var $t = this;
- if (!$t.grid ) {return;}
- if(!rowids) {return;}
- var gID = $t.p.id, onCS = {},
- showFrm = true,
- dtbl = "DelTbl_"+$.jgrid.jqID(gID),postd, idname, opers, oper,
- dtbl_id = "DelTbl_" + gID,
- IDs = {themodal:'delmod'+gID,modalhead:'delhd'+gID,modalcontent:'delcnt'+gID, scrollelm: dtbl};
- rp_ge[$t.p.id].styleUI = $t.p.styleUI || 'jQueryUI';
- if ($.isArray(rowids)) {rowids = rowids.join();}
- if ( $("#"+$.jgrid.jqID(IDs.themodal))[0] !== undefined ) {
- showFrm = $($t).triggerHandler("jqGridDelRowBeforeInitData", [$("#"+dtbl)]);
- if(showFrm === undefined) {
- showFrm = true;
- }
- if(showFrm && $.isFunction(rp_ge[$t.p.id].beforeInitData)) {
- showFrm = rp_ge[$t.p.id].beforeInitData.call($t, $("#"+dtbl));
- }
- if(showFrm === false) {return;}
- $("#DelData>td","#"+dtbl).text(rowids);
- $("#DelError","#"+dtbl).hide();
- if( rp_ge[$t.p.id].processing === true) {
- rp_ge[$t.p.id].processing=false;
- $("#dData", "#"+dtbl).removeClass( commonstyle.active );
- }
- $($t).triggerHandler("jqGridDelRowBeforeShowForm", [$("#"+dtbl)]);
- if($.isFunction( rp_ge[$t.p.id].beforeShowForm )) {
- rp_ge[$t.p.id].beforeShowForm.call($t,$("#"+dtbl));
- }
- $.jgrid.viewModal("#"+$.jgrid.jqID(IDs.themodal),{gbox:"#gbox_"+$.jgrid.jqID(gID),jqm:rp_ge[$t.p.id].jqModal, overlay: rp_ge[$t.p.id].overlay, modal:rp_ge[$t.p.id].modal});
- $($t).triggerHandler("jqGridDelRowAfterShowForm", [$("#"+dtbl)]);
- if($.isFunction( rp_ge[$t.p.id].afterShowForm )) {
- rp_ge[$t.p.id].afterShowForm.call($t, $("#"+dtbl));
- }
- } else {
- var dh = isNaN(rp_ge[$t.p.id].dataheight) ? rp_ge[$t.p.id].dataheight : rp_ge[$t.p.id].dataheight+"px",
- dw = isNaN(p.datawidth) ? p.datawidth : p.datawidth+"px",
- tbl = "<div id='"+dtbl_id+"' class='formdata' style='width:"+dw+";overflow:auto;position:relative;height:"+dh+";'>";
- tbl += "<table class='DelTable'><tbody>";
- // error data
- tbl += "<tr id='DelError' style='display:none'><td class='" + commonstyle.error +"'></td></tr>";
- tbl += "<tr id='DelData' style='display:none'><td >"+rowids+"</td></tr>";
- tbl += "<tr><td class=\"delmsg\" style=\"white-space:pre;\">"+rp_ge[$t.p.id].msg+"</td></tr><tr><td > </td></tr>";
- // buttons at footer
- tbl += "</tbody></table></div>";
- var bS = "<a id='dData' class='fm-button " + commonstyle.button + "'>"+p.bSubmit+"</a>",
- bC = "<a id='eData' class='fm-button " + commonstyle.button + "'>"+p.bCancel+"</a>",
- user_buttons = ( $.isArray( rp_ge[$t.p.id].buttons ) ? $.jgrid.buildButtons( rp_ge[$t.p.id].buttons, bS + bC, commonstyle ) : bS + bC ),
- fs = $('.ui-jqgrid').css('font-size') || '11px';
- tbl += "<table class='EditTable ui-common-table' id='"+dtbl+"_2'><tbody><tr><td><hr class='" + commonstyle.content + "' style='margin:1px'/></td></tr><tr><td class='DelButton EditButton'>"+ user_buttons +"</td></tr></tbody></table>";
- p.gbox = "#gbox_"+$.jgrid.jqID(gID);
- $.jgrid.createModal(IDs,tbl, rp_ge[$t.p.id] ,"#gview_"+$.jgrid.jqID($t.p.id),$("#gview_"+$.jgrid.jqID($t.p.id))[0], null, {"font-size": fs});
- $(".fm-button","#"+dtbl+"_2").hover(
- function(){$(this).addClass( commonstyle.hover );},
- function(){$(this).removeClass( commonstyle.hover );}
- );
- p.delicon = $.extend([true,"left", styles.icon_del ],rp_ge[$t.p.id].delicon);
- p.cancelicon = $.extend([true,"left", styles.icon_cancel ],rp_ge[$t.p.id].cancelicon);
- if(p.delicon[0]===true) {
- $("#dData","#"+dtbl+"_2").addClass(p.delicon[1] === "right" ? 'fm-button-icon-right' : 'fm-button-icon-left')
- .append("<span class='" + commonstyle.icon_base + " " + p.delicon[2]+"'></span>");
- }
- if(p.cancelicon[0]===true) {
- $("#eData","#"+dtbl+"_2").addClass(p.cancelicon[1] === "right" ? 'fm-button-icon-right' : 'fm-button-icon-left')
- .append("<span class='" + commonstyle.icon_base + " " + p.cancelicon[2]+"'></span>");
- }
- $("#dData","#"+dtbl+"_2").click(function(){
- var ret=[true,""], pk,
- postdata = $("#DelData>td","#"+dtbl).text(); //the pair is name=val1,val2,...
- onCS = {};
- onCS = $($t).triggerHandler("jqGridDelRowClickSubmit", [rp_ge[$t.p.id], postdata]);
- if(onCS === undefined && $.isFunction( rp_ge[$t.p.id].onclickSubmit ) ) {
- onCS = rp_ge[$t.p.id].onclickSubmit.call($t, rp_ge[$t.p.id], postdata) || {};
- }
- ret = $($t).triggerHandler("jqGridDelRowBeforeSubmit", [postdata]);
- if(ret === undefined) {
- ret = [true,"",""];
- }
- if( ret[0] && $.isFunction(rp_ge[$t.p.id].beforeSubmit)) {
- ret = rp_ge[$t.p.id].beforeSubmit.call($t, postdata);
- }
- if(ret[0] && !rp_ge[$t.p.id].processing) {
- rp_ge[$t.p.id].processing = true;
- opers = $t.p.prmNames;
- postd = $.extend({},rp_ge[$t.p.id].delData, onCS);
- oper = opers.oper;
- postd[oper] = opers.deloper;
- idname = opers.id;
- postdata = String(postdata).split(",");
- if(!postdata.length) { return false; }
- for(pk in postdata) {
- if(postdata.hasOwnProperty(pk)) {
- postdata[pk] = $.jgrid.stripPref($t.p.idPrefix, postdata[pk]);
- }
- }
- postd[idname] = postdata.join();
- $(this).addClass( commonstyle.active );
- var ajaxOptions = $.extend({
- url: rp_ge[$t.p.id].url || $($t).jqGrid('getGridParam','editurl'),
- type: rp_ge[$t.p.id].mtype,
- data: $.isFunction(rp_ge[$t.p.id].serializeDelData) ? rp_ge[$t.p.id].serializeDelData.call($t,postd) : postd,
- complete:function(data,status){
- var i;
- $("#dData", "#"+dtbl+"_2").removeClass( commonstyle.active );
- if(data.status >= 300 && data.status !== 304) {
- ret[0] = false;
- ret[1] = $($t).triggerHandler("jqGridDelRowErrorTextFormat", [data]);
- if ($.isFunction(rp_ge[$t.p.id].errorTextFormat)) {
- ret[1] = rp_ge[$t.p.id].errorTextFormat.call($t, data);
- }
- if(ret[1] === undefined) {
- ret[1] = status + " Status: '" + data.statusText + "'. Error code: " + data.status;
- }
- } else {
- // data is posted successful
- // execute aftersubmit with the returned data from server
- ret = $($t).triggerHandler("jqGridDelRowAfterSubmit", [data, postd]);
- if(ret === undefined) {
- ret = [true,"",""];
- }
- if( ret[0] && $.isFunction(rp_ge[$t.p.id].afterSubmit) ) {
- ret = rp_ge[$t.p.id].afterSubmit.call($t, data, postd);
- }
- }
- if(ret[0] === false) {
- $("#DelError>td","#"+dtbl).html(ret[1]);
- $("#DelError","#"+dtbl).show();
- } else {
- if(rp_ge[$t.p.id].reloadAfterSubmit && $t.p.datatype !== "local") {
- $($t).trigger("reloadGrid");
- } else {
- if($t.p.treeGrid===true){
- try {$($t).jqGrid("delTreeNode",$t.p.idPrefix+postdata[0]);} catch(e){}
- } else {
- for(i=0;i<postdata.length;i++) {
- $($t).jqGrid("delRowData",$t.p.idPrefix+ postdata[i]);
- }
- }
- $t.p.selrow = null;
- $t.p.selarrrow = [];
- }
- if($.isFunction(rp_ge[$t.p.id].afterComplete) || $._data( $($t)[0], 'events' ).hasOwnProperty('jqGridDelRowAfterComplete')) {
- var copydata = data;
- setTimeout(function(){
- $($t).triggerHandler("jqGridDelRowAfterComplete", [copydata, postd]);
- try {
- rp_ge[$t.p.id].afterComplete.call($t, copydata, postd);
- } catch(eacg) {
- // do nothing
- }
- },500);
- }
- }
- rp_ge[$t.p.id].processing=false;
- if(ret[0]) {$.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal, onClose: rp_ge[$t.p.id].onClose});}
- }
- }, $.jgrid.ajaxOptions, rp_ge[$t.p.id].ajaxDelOptions);
- if (!ajaxOptions.url && !rp_ge[$t.p.id].useDataProxy) {
- if ($.isFunction($t.p.dataProxy)) {
- rp_ge[$t.p.id].useDataProxy = true;
- } else {
- ret[0]=false;ret[1] += " "+$.jgrid.getRegional($t, 'errors.nourl');
- }
- }
- if (ret[0]) {
- if (rp_ge[$t.p.id].useDataProxy) {
- var dpret = $t.p.dataProxy.call($t, ajaxOptions, "del_"+$t.p.id);
- if(dpret === undefined) {
- dpret = [true, ""];
- }
- if(dpret[0] === false ) {
- ret[0] = false;
- ret[1] = dpret[1] || "Error deleting the selected row!" ;
- } else {
- $.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:"#gbox_"+$.jgrid.jqID(gID),jqm:p.jqModal, onClose: rp_ge[$t.p.id].onClose});
- }
- }
- else {
- if(ajaxOptions.url === "clientArray") {
- postd = ajaxOptions.data;
- ajaxOptions.complete({status:200, statusText:''},'');
- } else {
- $.ajax(ajaxOptions);
- }
- }
- }
- }
- if(ret[0] === false) {
- $("#DelError>td","#"+dtbl).html(ret[1]);
- $("#DelError","#"+dtbl).show();
- }
- return false;
- });
- $("#eData", "#"+dtbl+"_2").click(function(){
- $.jgrid.hideModal("#"+$.jgrid.jqID(IDs.themodal),{gb:"#gbox_"+$.jgrid.jqID(gID),jqm:rp_ge[$t.p.id].jqModal, onClose: rp_ge[$t.p.id].onClose});
- return false;
- });
- $("#"+dtbl+"_2").find("[data-index]").each(function(){
- var index = parseInt($(this).attr('data-index'),10);
- if(index >=0 ) {
- if( p.buttons[index].hasOwnProperty('click')) {
- $(this).on('click', function(e) {
- p.buttons[index].click.call($t, $("#"+dtbl_id)[0], rp_ge[$t.p.id], e);
- });
- }
- }
- });
- showFrm = $($t).triggerHandler("jqGridDelRowBeforeInitData", [$("#"+dtbl)]);
- if(showFrm === undefined) {
- showFrm = true;
- }
- if(showFrm && $.isFunction(rp_ge[$t.p.id].beforeInitData)) {
- showFrm = rp_ge[$t.p.id].beforeInitData.call($t, $("#"+dtbl));
- }
- if(showFrm === false) {return;}
- $($t).triggerHandler("jqGridDelRowBeforeShowForm", [$("#"+dtbl)]);
- if($.isFunction( rp_ge[$t.p.id].beforeShowForm )) {
- rp_ge[$t.p.id].beforeShowForm.call($t,$("#"+dtbl));
- }
- $.jgrid.viewModal("#"+$.jgrid.jqID(IDs.themodal),{gbox:"#gbox_"+$.jgrid.jqID(gID),jqm:rp_ge[$t.p.id].jqModal, overlay: rp_ge[$t.p.id].overlay, modal:rp_ge[$t.p.id].modal});
- $($t).triggerHandler("jqGridDelRowAfterShowForm", [$("#"+dtbl)]);
- if($.isFunction( rp_ge[$t.p.id].afterShowForm )) {
- rp_ge[$t.p.id].afterShowForm.call($t,$("#"+dtbl));
- }
- }
- if(rp_ge[$t.p.id].closeOnEscape===true) {
- setTimeout(function(){$(".ui-jqdialog-titlebar-close","#"+$.jgrid.jqID(IDs.modalhead)).attr("tabindex","-1").focus();},0);
- }
- });
- },
- navGrid : function (elem, p, pEdit, pAdd, pDel, pSearch, pView) {
- var regional = $.jgrid.getRegional(this[0], 'nav'),
- currstyle = this[0].p.styleUI,
- styles = $.jgrid.styleUI[currstyle].navigator,
- commonstyle = $.jgrid.styleUI[currstyle].common;
- p = $.extend({
- edit: true,
- editicon: styles.icon_edit_nav,
- add: true,
- addicon: styles.icon_add_nav,
- del: true,
- delicon: styles.icon_del_nav,
- search: true,
- searchicon: styles.icon_search_nav,
- refresh: true,
- refreshicon: styles.icon_refresh_nav,
- refreshstate: 'firstpage',
- view: false,
- viewicon : styles.icon_view_nav,
- position : "left",
- closeOnEscape : true,
- beforeRefresh : null,
- afterRefresh : null,
- cloneToTop : false,
- alertwidth : 200,
- alertheight : 'auto',
- alerttop: null,
- alertleft: null,
- alertzIndex : null,
- dropmenu : false,
- navButtonText : ''
- }, regional, p ||{});
- return this.each(function() {
- if(this.p.navGrid) {return;}
- var alertIDs = {themodal: 'alertmod_' + this.p.id, modalhead: 'alerthd_' + this.p.id,modalcontent: 'alertcnt_' + this.p.id},
- $t = this, twd, tdw, o;
- if(!$t.grid || typeof elem !== 'string') {return;}
- if(!$($t).data('navGrid')) {
- $($t).data('navGrid',p);
- }
- // speedoverhead, but usefull for future
- o = $($t).data('navGrid');
- if($t.p.force_regional) {
- o = $.extend(o, regional);
- }
- if ($("#"+alertIDs.themodal)[0] === undefined) {
- if(!o.alerttop && !o.alertleft) {
- if (window.innerWidth !== undefined) {
- o.alertleft = window.innerWidth;
- o.alerttop = window.innerHeight;
- } else if (document.documentElement !== undefined && document.documentElement.clientWidth !== undefined && document.documentElement.clientWidth !== 0) {
- o.alertleft = document.documentElement.clientWidth;
- o.alerttop = document.documentElement.clientHeight;
- } else {
- o.alertleft=1024;
- o.alerttop=768;
- }
- o.alertleft = o.alertleft/2 - parseInt(o.alertwidth,10)/2;
- o.alerttop = o.alerttop/2-25;
- }
- var fs = $('.ui-jqgrid').css('font-size') || '11px';
- $.jgrid.createModal(alertIDs,
- "<div>"+o.alerttext+"</div><span tabindex='0'><span tabindex='-1' id='jqg_alrt'></span></span>",
- {
- gbox:"#gbox_"+$.jgrid.jqID($t.p.id),
- jqModal:true,
- drag:true,
- resize:true,
- caption:o.alertcap,
- top:o.alerttop,
- left:o.alertleft,
- width:o.alertwidth,
- height: o.alertheight,
- closeOnEscape:o.closeOnEscape,
- zIndex: o.alertzIndex,
- styleUI: $t.p.styleUI
- },
- "#gview_"+$.jgrid.jqID($t.p.id),
- $("#gbox_"+$.jgrid.jqID($t.p.id))[0],
- true,
- {"font-size": fs}
- );
- }
- var clone = 1, i,
- onHoverIn = function () {
- if (!$(this).hasClass(commonstyle.disabled)) {
- $(this).addClass(commonstyle.hover);
- }
- },
- onHoverOut = function () {
- $(this).removeClass(commonstyle.hover);
- };
- if(o.cloneToTop && $t.p.toppager) {clone = 2;}
- for(i = 0; i<clone; i++) {
- var tbd,
- navtbl = $("<table class='ui-pg-table navtable ui-common-table'><tbody><tr></tr></tbody></table>"),
- sep = "<td class='ui-pg-button " +commonstyle.disabled + "' style='width:4px;'><span class='ui-separator'></span></td>",
- pgid, elemids;
- if(i===0) {
- pgid = elem;
- elemids = $t.p.id;
- if(pgid === $t.p.toppager) {
- elemids += "_top";
- clone = 1;
- }
- } else {
- pgid = $t.p.toppager;
- elemids = $t.p.id+"_top";
- }
- if($t.p.direction === "rtl") {
- $(navtbl).attr("dir","rtl").css("float","right");
- }
- pAdd = pAdd || {};
- if (o.add) {
- tbd = $("<td class='ui-pg-button "+commonstyle.cornerall+"'></td>");
- $(tbd).append("<div class='ui-pg-div'><span class='"+commonstyle.icon_base +" " +o.addicon+"'></span>"+o.addtext+"</div>");
- $("tr",navtbl).append(tbd);
- $(tbd,navtbl)
- .attr({"title":o.addtitle || "",id : pAdd.id || "add_"+elemids})
- .click(function(){
- if (!$(this).hasClass( commonstyle.disabled )) {
- if ($.isFunction( o.addfunc )) {
- o.addfunc.call($t);
- } else {
- $($t).jqGrid("editGridRow","new",pAdd);
- }
- }
- return false;
- }).hover(onHoverIn, onHoverOut);
- tbd = null;
- }
- pEdit = pEdit || {};
- if (o.edit) {
- tbd = $("<td class='ui-pg-button "+commonstyle.cornerall+"'></td>");
- $(tbd).append("<div class='ui-pg-div'><span class='"+commonstyle.icon_base+" "+o.editicon+"'></span>"+o.edittext+"</div>");
- $("tr",navtbl).append(tbd);
- $(tbd,navtbl)
- .attr({"title":o.edittitle || "",id: pEdit.id || "edit_"+elemids})
- .click(function(){
- if (!$(this).hasClass( commonstyle.disabled )) {
- var sr = $t.p.selrow;
- if (sr) {
- if($.isFunction( o.editfunc ) ) {
- o.editfunc.call($t, sr);
- } else {
- $($t).jqGrid("editGridRow",sr,pEdit);
- }
- } else {
- $.jgrid.viewModal("#"+alertIDs.themodal,{gbox:"#gbox_"+$.jgrid.jqID($t.p.id),jqm:true});
- $("#jqg_alrt").focus();
- }
- }
- return false;
- }).hover(onHoverIn, onHoverOut);
- tbd = null;
- }
- pView = pView || {};
- if (o.view) {
- tbd = $("<td class='ui-pg-button "+commonstyle.cornerall+"'></td>");
- $(tbd).append("<div class='ui-pg-div'><span class='"+commonstyle.icon_base+" "+o.viewicon+"'></span>"+o.viewtext+"</div>");
- $("tr",navtbl).append(tbd);
- $(tbd,navtbl)
- .attr({"title":o.viewtitle || "",id: pView.id || "view_"+elemids})
- .click(function(){
- if (!$(this).hasClass( commonstyle.disabled )) {
- var sr = $t.p.selrow;
- if (sr) {
- if($.isFunction( o.viewfunc ) ) {
- o.viewfunc.call($t, sr);
- } else {
- $($t).jqGrid("viewGridRow",sr,pView);
- }
- } else {
- $.jgrid.viewModal("#"+alertIDs.themodal,{gbox:"#gbox_"+$.jgrid.jqID($t.p.id),jqm:true});
- $("#jqg_alrt").focus();
- }
- }
- return false;
- }).hover(onHoverIn, onHoverOut);
- tbd = null;
- }
- pDel = pDel || {};
- if (o.del) {
- tbd = $("<td class='ui-pg-button "+commonstyle.cornerall+"'></td>");
- $(tbd).append("<div class='ui-pg-div'><span class='"+commonstyle.icon_base+" "+o.delicon+"'></span>"+o.deltext+"</div>");
- $("tr",navtbl).append(tbd);
- $(tbd,navtbl)
- .attr({"title":o.deltitle || "",id: pDel.id || "del_"+elemids})
- .click(function(){
- if (!$(this).hasClass( commonstyle.disabled )) {
- var dr;
- if($t.p.multiselect) {
- dr = $t.p.selarrrow;
- if(dr.length===0) {dr = null;}
- } else {
- dr = $t.p.selrow;
- }
- if(dr){
- if($.isFunction( o.delfunc )){
- o.delfunc.call($t, dr);
- }else{
- $($t).jqGrid("delGridRow",dr,pDel);
- }
- } else {
- $.jgrid.viewModal("#"+alertIDs.themodal,{gbox:"#gbox_"+$.jgrid.jqID($t.p.id),jqm:true});$("#jqg_alrt").focus();
- }
- }
- return false;
- }).hover(onHoverIn, onHoverOut);
- tbd = null;
- }
- if(o.add || o.edit || o.del || o.view) {$("tr",navtbl).append(sep);}
- pSearch = pSearch || {};
- if (o.search) {
- tbd = $("<td class='ui-pg-button "+commonstyle.cornerall+"'></td>");
- $(tbd).append("<div class='ui-pg-div'><span class='"+commonstyle.icon_base+" "+o.searchicon+"'></span>"+o.searchtext+"</div>");
- $("tr",navtbl).append(tbd);
- $(tbd,navtbl)
- .attr({"title":o.searchtitle || "",id:pSearch.id || "search_"+elemids})
- .click(function(){
- if (!$(this).hasClass( commonstyle.disabled )) {
- if($.isFunction( o.searchfunc )) {
- o.searchfunc.call($t, pSearch);
- } else {
- $($t).jqGrid("searchGrid",pSearch);
- }
- }
- return false;
- }).hover(onHoverIn, onHoverOut);
- if (pSearch.showOnLoad && pSearch.showOnLoad === true) {
- $(tbd,navtbl).click();
- }
- tbd = null;
- }
- if (o.refresh) {
- tbd = $("<td class='ui-pg-button "+commonstyle.cornerall+"'></td>");
- $(tbd).append("<div class='ui-pg-div'><span class='"+commonstyle.icon_base+" "+o.refreshicon+"'></span>"+o.refreshtext+"</div>");
- $("tr",navtbl).append(tbd);
- $(tbd,navtbl)
- .attr({"title":o.refreshtitle || "",id: "refresh_"+elemids})
- .click(function(){
- if (!$(this).hasClass( commonstyle.disabled )) {
- if($.isFunction(o.beforeRefresh)) {o.beforeRefresh.call($t);}
- $t.p.search = false;
- $t.p.resetsearch = true;
- try {
- if( o.refreshstate !== 'currentfilter') {
- var gID = $t.p.id;
- $t.p.postData.filters ="";
- try {
- $("#fbox_"+$.jgrid.jqID(gID)).jqFilter('resetFilter');
- } catch(ef) {}
- if($.isFunction($t.clearToolbar)) {$t.clearToolbar.call($t,false);}
- }
- } catch (e) {}
- switch (o.refreshstate) {
- case 'firstpage':
- $($t).trigger("reloadGrid", [{page:1}]);
- break;
- case 'current':
- case 'currentfilter':
- $($t).trigger("reloadGrid", [{current:true}]);
- break;
- }
- if($.isFunction(o.afterRefresh)) {o.afterRefresh.call($t);}
- }
- return false;
- }).hover(onHoverIn, onHoverOut);
- tbd = null;
- }
- tdw = $(".ui-jqgrid").css("font-size") || "11px";
- $('body').append("<div id='testpg2' class='ui-jqgrid "+$.jgrid.styleUI[currstyle].base.entrieBox+"' style='font-size:"+tdw+";visibility:hidden;' ></div>");
- twd = $(navtbl).clone().appendTo("#testpg2").width();
- $("#testpg2").remove();
-
- if($t.p._nvtd) {
- if(o.dropmenu) {
- navtbl = null;
- $($t).jqGrid('_buildNavMenu', pgid, elemids, p, pEdit, pAdd, pDel, pSearch, pView );
- } else if(twd > $t.p._nvtd[0] ) {
- if($t.p.responsive) {
- navtbl = null;
- $($t).jqGrid('_buildNavMenu', pgid, elemids, p, pEdit, pAdd, pDel, pSearch, pView );
- } else {
- $(pgid+"_"+o.position,pgid).append(navtbl).width(twd);
- }
- $t.p._nvtd[0] = twd;
- } else {
- $(pgid+"_"+o.position,pgid).append(navtbl);
- }
- $t.p._nvtd[1] = twd;
- }
- $t.p.navGrid = true;
- }
- if($t.p.storeNavOptions) {
- $t.p.navOptions = o;
- $t.p.editOptions = pEdit;
- $t.p.addOptions = pAdd;
- $t.p.delOptions = pDel;
- $t.p.searchOptions = pSearch;
- $t.p.viewOptions = pView;
- $t.p.navButtons =[];
- }
- });
- },
- navButtonAdd : function (elem, p) {
- var currstyle = this[0].p.styleUI,
- styles = $.jgrid.styleUI[currstyle].navigator;
- p = $.extend({
- caption : "newButton",
- title: '',
- buttonicon : styles.icon_newbutton_nav,
- onClickButton: null,
- position : "last",
- cursor : 'pointer',
- internal : false
- }, p ||{});
- return this.each(function() {
- if( !this.grid) {return;}
- if( typeof elem === "string" && elem.indexOf("#") !== 0) {elem = "#"+$.jgrid.jqID(elem);}
- var findnav = $(".navtable",elem)[0], $t = this,
- //getstyle = $.jgrid.getMethod("getStyleUI"),
- disabled = $.jgrid.styleUI[currstyle].common.disabled,
- hover = $.jgrid.styleUI[currstyle].common.hover,
- cornerall = $.jgrid.styleUI[currstyle].common.cornerall,
- iconbase = $.jgrid.styleUI[currstyle].common.icon_base;
- if ($t.p.storeNavOptions && !p.internal) {
- $t.p.navButtons.push([elem,p]);
- }
- if (findnav) {
- if( p.id && $("#"+$.jgrid.jqID(p.id), findnav)[0] !== undefined ) {return;}
- var tbd = $("<td></td>");
- if(p.buttonicon.toString().toUpperCase() === "NONE") {
- $(tbd).addClass('ui-pg-button '+cornerall).append("<div class='ui-pg-div'>"+p.caption+"</div>");
- } else {
- $(tbd).addClass('ui-pg-button '+cornerall).append("<div class='ui-pg-div'><span class='"+iconbase+" "+p.buttonicon+"'></span>"+p.caption+"</div>");
- }
- if(p.id) {$(tbd).attr("id",p.id);}
- if(p.position==='first'){
- if(findnav.rows[0].cells.length ===0 ) {
- $("tr",findnav).append(tbd);
- } else {
- $("tr td:eq(0)",findnav).before(tbd);
- }
- } else {
- $("tr",findnav).append(tbd);
- }
- $(tbd,findnav)
- .attr("title",p.title || "")
- .click(function(e){
- if (!$(this).hasClass(disabled)) {
- if ($.isFunction(p.onClickButton) ) {p.onClickButton.call($t,e);}
- }
- return false;
- })
- .hover(
- function () {
- if (!$(this).hasClass(disabled)) {
- $(this).addClass(hover);
- }
- },
- function () {$(this).removeClass(hover);}
- );
- } else {
- findnav = $(".dropdownmenu",elem)[0];
- if (findnav) {
- var id = $(findnav).val(),
- eid = p.id || $.jgrid.randId(),
- item = $('<li class="ui-menu-item" role="presentation"><a class="'+ cornerall+' g-menu-item" tabindex="0" role="menuitem" id="'+eid+'">'+(p.caption || p.title)+'</a></li>');
- if(id) {
- if(p.position === 'first') {
- $("#"+id).prepend( item );
- } else {
- $("#"+id).append( item );
- }
- $(item).on("click", function(e){
- if (!$(this).hasClass(disabled)) {
- $("#"+id).hide();
- if ($.isFunction(p.onClickButton) ) {
- p.onClickButton.call($t,e);
- }
- }
- return false;
- }).find("a")
- .hover(
- function () {
- if (!$(this).hasClass(disabled)) {
- $(this).addClass(hover);
- }
- },
- function () {$(this).removeClass(hover);}
- );
- }
- }
- }
- });
- },
- navSeparatorAdd:function (elem,p) {
- var currstyle = this[0].p.styleUI,
- commonstyle = $.jgrid.styleUI[currstyle].common;
- p = $.extend({
- sepclass : "ui-separator",
- sepcontent: '',
- position : "last"
- }, p ||{});
- return this.each(function() {
- if( !this.grid) {return;}
- if( typeof elem === "string" && elem.indexOf("#") !== 0) {elem = "#"+$.jgrid.jqID(elem);}
- var findnav = $(".navtable",elem)[0], sep, id;
- if ( this.p.storeNavOptions ) {
- this.p.navButtons.push([elem,p]);
- }
-
- if(findnav) {
- sep = "<td class='ui-pg-button "+ commonstyle.disabled +"' style='width:4px;'><span class='"+p.sepclass+"'></span>"+p.sepcontent+"</td>";
- if (p.position === 'first') {
- if (findnav.rows[0].cells.length === 0) {
- $("tr", findnav).append(sep);
- } else {
- $("tr td:eq(0)", findnav).before(sep);
- }
- } else {
- $("tr", findnav).append(sep);
- }
- } else {
- findnav = $(".dropdownmenu",elem)[0];
- sep = "<li class='ui-menu-item " +commonstyle.disabled + "' style='width:100%' role='presentation'><hr class='ui-separator-li'></li>";
- if(findnav) {
- id = $(findnav).val();
- if(id) {
- if(p.position === "first") {
- $("#"+id).prepend( sep );
- } else {
- $("#"+id).append( sep );
- }
- }
- }
- }
- });
- },
- _buildNavMenu : function ( elem, elemids, p, pEdit, pAdd, pDel, pSearch, pView ) {
- return this.each(function() {
- var $t = this,
- //actions = ['add','edit', 'del', 'view', 'search','refresh'],
- regional = $.jgrid.getRegional($t, 'nav'),
- currstyle = $t.p.styleUI,
- styles = $.jgrid.styleUI[currstyle].navigator,
- classes = $.jgrid.styleUI[currstyle].filter,
- commonstyle = $.jgrid.styleUI[currstyle].common,
- mid = "form_menu_"+$.jgrid.randId(),
- bt = p.navButtonText ? p.navButtonText : regional.selectcaption || 'Actions',
- act = "<button class='dropdownmenu "+commonstyle.button+"' value='"+mid+"'>" + bt +"</button>";
- $(elem+"_"+p.position, elem).append( act );
- var alertIDs = {themodal: 'alertmod_' + this.p.id, modalhead: 'alerthd_' + this.p.id,modalcontent: 'alertcnt_' + this.p.id},
- _buildMenu = function() {
- var fs = $('.ui-jqgrid').css('font-size') || '11px',
- eid, itm,
- str = $('<ul id="'+mid+'" class="ui-nav-menu modal-content" role="menu" tabindex="0" style="display:none;font-size:'+fs+'"></ul>');
- if( p.add ) {
- pAdd = pAdd || {};
- eid = pAdd.id || "add_"+elemids;
- itm = $('<li class="ui-menu-item" role="presentation"><a class="'+ commonstyle.cornerall+' g-menu-item" tabindex="0" role="menuitem" id="'+eid+'">'+(p.addtext || p.addtitle)+'</a></li>').click(function(){
- if (!$(this).hasClass( commonstyle.disabled )) {
- if ($.isFunction( p.addfunc )) {
- p.addfunc.call($t);
- } else {
- $($t).jqGrid("editGridRow","new",pAdd);
- }
- $(str).hide();
- }
- return false;
- });
- $(str).append(itm);
- }
- if( p.edit ) {
- pEdit = pEdit || {};
- eid = pEdit.id || "edit_"+elemids;
- itm = $('<li class="ui-menu-item" role="presentation"><a class="'+ commonstyle.cornerall+' g-menu-item" tabindex="0" role="menuitem" id="'+eid+'">'+(p.edittext || p.edittitle)+'</a></li>').click(function(){
- if (!$(this).hasClass( commonstyle.disabled )) {
- var sr = $t.p.selrow;
- if (sr) {
- if($.isFunction( p.editfunc ) ) {
- p.editfunc.call($t, sr);
- } else {
- $($t).jqGrid("editGridRow",sr,pEdit);
- }
- } else {
- $.jgrid.viewModal("#"+alertIDs.themodal,{gbox:"#gbox_"+$.jgrid.jqID($t.p.id),jqm:true});
- $("#jqg_alrt").focus();
- }
- $(str).hide();
- }
- return false;
- });
- $(str).append(itm);
- }
- if( p.view ) {
- pView = pView || {};
- eid = pView.id || "view_"+elemids;
- itm = $('<li class="ui-menu-item" role="presentation"><a class="'+ commonstyle.cornerall+' g-menu-item" tabindex="0" role="menuitem" id="'+eid+'">'+(p.viewtext || p.viewtitle)+'</a></li>').click(function(){
- if (!$(this).hasClass( commonstyle.disabled )) {
- var sr = $t.p.selrow;
- if (sr) {
- if($.isFunction( p.editfunc ) ) {
- p.viewfunc.call($t, sr);
- } else {
- $($t).jqGrid("viewGridRow",sr,pView);
- }
- } else {
- $.jgrid.viewModal("#"+alertIDs.themodal,{gbox:"#gbox_"+$.jgrid.jqID($t.p.id),jqm:true});
- $("#jqg_alrt").focus();
- }
- $(str).hide();
- }
- return false;
- });
- $(str).append(itm);
- }
- if( p.del ) {
- pDel = pDel || {};
- eid = pDel.id || "del_"+elemids;
- itm = $('<li class="ui-menu-item" role="presentation"><a class="'+ commonstyle.cornerall+' g-menu-item" tabindex="0" role="menuitem" id="'+eid+'">'+(p.deltext || p.deltitle)+'</a></li>').click(function(){
- if (!$(this).hasClass( commonstyle.disabled )) {
- var dr;
- if($t.p.multiselect) {
- dr = $t.p.selarrrow;
- if(dr.length===0) {dr = null;}
- } else {
- dr = $t.p.selrow;
- }
- if(dr){
- if($.isFunction( p.delfunc )){
- p.delfunc.call($t, dr);
- }else{
- $($t).jqGrid("delGridRow",dr,pDel);
- }
- } else {
- $.jgrid.viewModal("#"+alertIDs.themodal,{gbox:"#gbox_"+$.jgrid.jqID($t.p.id),jqm:true});$("#jqg_alrt").focus();
- }
- $(str).hide();
- }
- return false;
- });
- $(str).append(itm);
- }
- if(p.add || p.edit || p.del || p.view) {
- $(str).append("<li class='ui-menu-item " +commonstyle.disabled + "' style='width:100%' role='presentation'><hr class='ui-separator-li'></li>");
- }
- if( p.search ) {
- pSearch = pSearch || {};
- eid = pSearch.id || "search_"+elemids;
- itm = $('<li class="ui-menu-item" role="presentation"><a class="'+ commonstyle.cornerall+' g-menu-item" tabindex="0" role="menuitem" id="'+eid+'">'+(p.searchtext || p.searchtitle)+'</a></li>').click(function(){
- if (!$(this).hasClass( commonstyle.disabled )) {
- if($.isFunction( p.searchfunc )) {
- p.searchfunc.call($t, pSearch);
- } else {
- $($t).jqGrid("searchGrid",pSearch);
- }
- $(str).hide();
- }
- return false;
- });
- $(str).append(itm);
- if (pSearch.showOnLoad && pSearch.showOnLoad === true) {
- $( itm ).click();
- }
- }
- if( p.refresh ) {
- eid = pSearch.id || "search_"+elemids;
- itm = $('<li class="ui-menu-item" role="presentation"><a class="'+ commonstyle.cornerall+' g-menu-item" tabindex="0" role="menuitem" id="'+eid+'">'+(p.refreshtext || p.refreshtitle)+'</a></li>').click(function(){
- if (!$(this).hasClass( commonstyle.disabled )) {
- if($.isFunction(p.beforeRefresh)) {p.beforeRefresh.call($t);}
- $t.p.search = false;
- $t.p.resetsearch = true;
- try {
- if( p.refreshstate !== 'currentfilter') {
- var gID = $t.p.id;
- $t.p.postData.filters ="";
- try {
- $("#fbox_"+$.jgrid.jqID(gID)).jqFilter('resetFilter');
- } catch(ef) {}
- if($.isFunction($t.clearToolbar)) {$t.clearToolbar.call($t,false);}
- }
- } catch (e) {}
- switch (p.refreshstate) {
- case 'firstpage':
- $($t).trigger("reloadGrid", [{page:1}]);
- break;
- case 'current':
- case 'currentfilter':
- $($t).trigger("reloadGrid", [{current:true}]);
- break;
- }
- if($.isFunction(p.afterRefresh)) {p.afterRefresh.call($t);}
- $(str).hide();
- }
- return false;
- });
- $(str).append(itm);
- }
- $(str).hide();
- $('body').append(str);
- $("#"+mid).addClass("ui-menu " + classes.menu_widget);
- $("#"+mid+" > li > a").hover(
- function(){ $(this).addClass(commonstyle.hover); },
- function(){ $(this).removeClass(commonstyle.hover); }
- );
- };
- _buildMenu();
- $(".dropdownmenu", elem+"_"+p.position).on("click", function( e ){
- var offset = $(this).offset(),
- left = ( offset.left ),
- top = parseInt( offset.top),
- bid =$(this).val();
- //if( $("#"+mid)[0] === undefined) {
- //_buildMenu();
- //}
- $("#"+bid).show().css({"top":top - ($("#"+bid).height() +10)+"px", "left":left+"px"});
- e.stopPropagation();
- });
- $("body").on('click', function(e){
- if(!$(e.target).hasClass("dropdownmenu")) {
- $("#"+mid).hide();
- }
- });
- });
- },
- GridToForm : function( rowid, formid ) {
- return this.each(function(){
- var $t = this, i;
- if (!$t.grid) {return;}
- var rowdata = $($t).jqGrid("getRowData",rowid);
- if (rowdata) {
- for(i in rowdata) {
- if(rowdata.hasOwnProperty(i)) {
- if ( $("[name="+$.jgrid.jqID(i)+"]",formid).is("input:radio") || $("[name="+$.jgrid.jqID(i)+"]",formid).is("input:checkbox")) {
- $("[name="+$.jgrid.jqID(i)+"]",formid).each( function() {
- if( $(this).val() == rowdata[i] ) {
- $(this)[$t.p.useProp ? 'prop': 'attr']("checked",true);
- } else {
- $(this)[$t.p.useProp ? 'prop': 'attr']("checked", false);
- }
- });
- } else {
- // this is very slow on big table and form.
- $("[name="+$.jgrid.jqID(i)+"]",formid).val(rowdata[i]);
- }
- }
- }
- }
- });
- },
- FormToGrid : function(rowid, formid, mode, position){
- return this.each(function() {
- var $t = this;
- if(!$t.grid) {return;}
- if(!mode) {mode = 'set';}
- if(!position) {position = 'first';}
- var fields = $(formid).serializeArray();
- var griddata = {};
- $.each(fields, function(i, field){
- griddata[field.name] = field.value;
- });
- if(mode==='add') {$($t).jqGrid("addRowData",rowid,griddata, position);}
- else if(mode==='set') {$($t).jqGrid("setRowData",rowid,griddata);}
- });
- }
- });
- //module end
- }));
|