(function (b) { b.jgrid = b.jgrid || {}; b.extend(b.jgrid, { version: "4.6.0", htmlDecode: function (b) { return b && (" " === b || " " === b || 1 === b.length && 160 === b.charCodeAt(0)) ? "" : b ? String(b).replace(/>/g, ">").replace(/</g, "<").replace(/"/g, '"').replace(/&/g, "&") : b }, htmlEncode: function (b) { return b ? String(b).replace(/&/g, "&").replace(/\"/g, """).replace(//g, ">") : b }, format: function (e) { var f = b.makeArray(arguments).slice(1); null == e && (e = ""); return e.replace(/\{(\d+)\}/g, function (b, d) { return f[d] }) }, msie: "Microsoft Internet Explorer" === navigator.appName, msiever: function () { var b = -1; null != /MSIE ([0-9]{1,}[.0-9]{0,})/.exec(navigator.userAgent) && (b = parseFloat(RegExp.$1)); return b }, getCellIndex: function (e) { e = b(e); if (e.is("tr")) return -1; e = (e.is("td") || e.is("th") ? e : e.closest("td,th"))[0]; return b.jgrid.msie ? b.inArray(e, e.parentNode.cells) : e.cellIndex }, stripHtml: function (b) { b = String(b); var f = /<("[^"]*"|'[^']*'|[^'">])*>/gi; return b ? (b = b.replace(f, "")) && " " !== b && " " !== b ? b.replace(/\"/g, "'") : "" : b }, stripPref: function (e, f) { var c = b.type(e); if ("string" === c || "number" === c) e = String(e), f = "" !== e ? String(f).replace(String(e), "") : f; return f }, parse: function (e) { "while(1);" === e.substr(0, 9) && (e = e.substr(9)); "/*" === e.substr(0, 2) && (e = e.substr(2, e.length - 4)); e || (e = "{}"); return !0 === b.jgrid.useJSON && "object" === typeof JSON && "function" === typeof JSON.parse ? JSON.parse(e) : eval("(" + e + ")") }, parseDate: function (e, f, c, d) { var a = /^\/Date\((([-+])?[0-9]+)(([-+])([0-9]{2})([0-9]{2}))?\)\/$/, l = "string" === typeof f ? f.match(a) : null, a = function (a, b) { a = String(a); for (b = parseInt(b, 10) || 2; a.length < b;) a = "0" + a; return a }, g = { m: 1, d: 1, y: 1970, h: 0, i: 0, s: 0, u: 0 }, h = 0, k, n, h = function (a, b) { 0 === a ? 12 === b && (b = 0) : 12 !== b && (b += 12); return b }; void 0 === d && (d = b.jgrid.formatter.date); void 0 === d.parseRe && (d.parseRe = /[#%\\\/:_;.,\t\s-]/); d.masks.hasOwnProperty(e) && (e = d.masks[e]); if (f && null != f) if (isNaN(f - 0) || "u" !== String(e).toLowerCase()) if (f.constructor === Date) h = f; else if (null !== l) { if (h = new Date(parseInt(l[1], 10)), l[3]) { var m = 60 * Number(l[5]) + Number(l[6]), m = m * ("-" === l[4] ? 1 : -1), m = m - h.getTimezoneOffset(); h.setTime(Number(Number(h) + 6E4 * m)) } } else { m = 0; "ISO8601Long" === d.srcformat && "Z" === f.charAt(f.length - 1) && (m -= (new Date).getTimezoneOffset()); f = String(f).replace(/\T/g, "#").replace(/\t/, "%").split(d.parseRe); e = e.replace(/\T/g, "#").replace(/\t/, "%").split(d.parseRe); k = 0; for (n = e.length; k < n; k++) "M" === e[k] && (l = b.inArray(f[k], d.monthNames), -1 !== l && 12 > l && (f[k] = l + 1, g.m = f[k])), "F" === e[k] && (l = b.inArray(f[k], d.monthNames, 12), -1 !== l && 11 < l && (f[k] = l + 1 - 12, g.m = f[k])), "a" === e[k] && (l = b.inArray(f[k], d.AmPm), -1 !== l && 2 > l && f[k] === d.AmPm[l] && (f[k] = l, g.h = h(f[k], g.h))), "A" === e[k] && (l = b.inArray(f[k], d.AmPm), -1 !== l && 1 < l && f[k] === d.AmPm[l] && (f[k] = l - 2, g.h = h(f[k], g.h))), "g" === e[k] && (g.h = parseInt(f[k], 10)), void 0 !== f[k] && (g[e[k].toLowerCase()] = parseInt(f[k], 10)); g.f && (g.m = g.f); if (0 === g.m && 0 === g.y && 0 === g.d) return " "; g.m = parseInt(g.m, 10) - 1; h = g.y; 70 <= h && 99 >= h ? g.y = 1900 + g.y : 0 <= h && 69 >= h && (g.y = 2E3 + g.y); h = new Date(g.y, g.m, g.d, g.h, g.i, g.s, g.u); 0 < m && h.setTime(Number(Number(h) + 6E4 * m)) } else h = new Date(1E3 * parseFloat(f)); else h = new Date(g.y, g.m, g.d, g.h, g.i, g.s, g.u); if (void 0 === c) return h; d.masks.hasOwnProperty(c) ? c = d.masks[c] : c || (c = "Y-m-d"); e = h.getHours(); f = h.getMinutes(); g = h.getDate(); m = h.getMonth() + 1; l = h.getTimezoneOffset(); k = h.getSeconds(); n = h.getMilliseconds(); var r = h.getDay(), p = h.getFullYear(), q = (r + 6) % 7 + 1, x = (new Date(p, m - 1, g) - new Date(p, 0, 1)) / 864E5, G = { d: a(g), D: d.dayNames[r], j: g, l: d.dayNames[r + 7], N: q, S: d.S(g), w: r, z: x, W: 5 > q ? Math.floor((x + q - 1) / 7) + 1 : Math.floor((x + q - 1) / 7) || (4 > ((new Date(p - 1, 0, 1)).getDay() + 6) % 7 ? 53 : 52), F: d.monthNames[m - 1 + 12], m: a(m), M: d.monthNames[m - 1], n: m, t: "?", L: "?", o: "?", Y: p, y: String(p).substring(2), a: 12 > e ? d.AmPm[0] : d.AmPm[1], A: 12 > e ? d.AmPm[2] : d.AmPm[3], B: "?", g: e % 12 || 12, G: e, h: a(e % 12 || 12), H: a(e), i: a(f), s: a(k), u: n, e: "?", I: "?", O: (0 < l ? "-" : "+") + a(100 * Math.floor(Math.abs(l) / 60) + Math.abs(l) % 60, 4), P: "?", T: (String(h).match(/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g) || [""]).pop().replace(/[^-+\dA-Z]/g, ""), Z: "?", c: "?", r: "?", U: Math.floor(h / 1E3) }; return c.replace(/\\.|[dDjlNSwzWFmMntLoYyaABgGhHisueIOPTZcrU]/g, function (a) { return G.hasOwnProperty(a) ? G[a] : a.substring(1) }) }, jqID: function (b) { return String(b).replace(/[!"#$%&'()*+,.\/:; <=>?@\[\\\]\^`{|}~]/g, "\\$&") }, guid: 1, uidPref: "jqg", randId: function (e) { return (e || b.jgrid.uidPref) + b.jgrid.guid++ }, getAccessor: function (b, f) { var c, d, a = [], l; if ("function" === typeof f) return f(b); c = b[f]; if (void 0 === c) try { if ("string" === typeof f && (a = f.split(".")), l = a.length) for (c = b; c && l--;) d = a.shift(), c = c[d] } catch (g) { } return c }, getXmlData: function (e, f, c) { var d = "string" === typeof f ? f.match(/^(.*)\[(\w+)\]$/) : null; if ("function" === typeof f) return f(e); if (d && d[2]) return d[1] ? b(d[1], e).attr(d[2]) : b(e).attr(d[2]); e = b(f, e); return c ? e : 0 < e.length ? b(e).text() : void 0 }, cellWidth: function () { var e = b("
"), f = e.appendTo("body").find("td").width(); e.remove(); return 0.1 < Math.abs(f - 5) }, cell_width: !0, ajaxOptions: {}, from: function (e) { return new function (e, c) { "string" === typeof e && (e = b.data(e)); var d = this, a = e, l = !0, g = !1, h = c, k = /[\$,%]/g, n = null, m = null, r = 0, p = !1, q = "", x = [], G = !0; if ("object" === typeof e && e.push) 0 < e.length && (G = "object" !== typeof e[0] ? !1 : !0); else throw "data provides is not an array"; this._hasData = function () { return null === a ? !1 : 0 === a.length ? !1 : !0 }; this._getStr = function (a) { var b = []; g && b.push("jQuery.trim("); b.push("String(" + a + ")"); g && b.push(")"); l || b.push(".toLowerCase()"); return b.join("") }; this._strComp = function (a) { return "string" === typeof a ? ".toString()" : "" }; this._group = function (a, b) { return { field: a.toString(), unique: b, items: [] } }; this._toStr = function (a) { g && (a = b.trim(a)); a = a.toString().replace(/\\/g, "\\\\").replace(/\"/g, '\\"'); return l ? a : a.toLowerCase() }; this._funcLoop = function (d) { var l = []; b.each(a, function (a, b) { l.push(d(b)) }); return l }; this._append = function (a) { var b; h = null === h ? "" : h + ("" === q ? " && " : q); for (b = 0; b < r; b++) h += "("; p && (h += "!"); h += "(" + a + ")"; p = !1; q = ""; r = 0 }; this._setCommand = function (a, b) { n = a; m = b }; this._resetNegate = function () { p = !1 }; this._repeatCommand = function (a, b) { return null === n ? d : null !== a && null !== b ? n(a, b) : null !== m && G ? n(m, a) : n(a) }; this._equals = function (a, b) { return 0 === d._compare(a, b, 1) }; this._compare = function (a, b, d) { var e = Object.prototype.toString; void 0 === d && (d = 1); void 0 === a && (a = null); void 0 === b && (b = null); if (null === a && null === b) return 0; if (null === a && null !== b) return 1; if (null !== a && null === b) return -1; if ("[object Date]" === e.call(a) && "[object Date]" === e.call(b)) return a < b ? -d : a > b ? d : 0; l || "number" === typeof a || "number" === typeof b || (a = String(a), b = String(b)); return a < b ? -d : a > b ? d : 0 }; this._performSort = function () { 0 !== x.length && (a = d._doSort(a, 0)) }; this._doSort = function (a, b) { var l = x[b].by, e = x[b].dir, g = x[b].type, c = x[b].datefmt, f = x[b].sfunc; if (b === x.length - 1) return d._getOrder(a, l, e, g, c, f); b++; l = d._getGroup(a, l, e, g, c); e = []; for (g = 0; g < l.length; g++) for (f = d._doSort(l[g].items, b), c = 0; c < f.length; c++) e.push(f[c]); return e }; this._getOrder = function (a, e, g, c, f, h) { var m = [], n = [], r = "a" === g ? 1 : -1, p, x; void 0 === c && (c = "text"); x = "float" === c || "number" === c || "currency" === c || "numeric" === c ? function (a) { a = parseFloat(String(a).replace(k, "")); return isNaN(a) ? 0 : a } : "int" === c || "integer" === c ? function (a) { return a ? parseFloat(String(a).replace(k, "")) : 0 } : "date" === c || "datetime" === c ? function (a) { return b.jgrid.parseDate(f, a).getTime() } : b.isFunction(c) ? c : function (a) { a = a ? b.trim(String(a)) : ""; return l ? a : a.toLowerCase() }; b.each(a, function (a, d) { p = "" !== e ? b.jgrid.getAccessor(d, e) : d; void 0 === p && (p = ""); p = x(p, d); n.push({ vSort: p, index: a }) }); b.isFunction(h) ? n.sort(function (a, b) { a = a.vSort; b = b.vSort; return h.call(this, a, b, r) }) : n.sort(function (a, b) { a = a.vSort; b = b.vSort; return d._compare(a, b, r) }); c = 0; for (var q = a.length; c < q;) g = n[c].index, m.push(a[g]), c++; return m }; this._getGroup = function (a, c, e, l, g) { var f = [], h = null, k = null, m; b.each(d._getOrder(a, c, e, l, g), function (a, e) { m = b.jgrid.getAccessor(e, c); null == m && (m = ""); d._equals(k, m) || (k = m, null !== h && f.push(h), h = d._group(c, m)); h.items.push(e) }); null !== h && f.push(h); return f }; this.ignoreCase = function () { l = !1; return d }; this.useCase = function () { l = !0; return d }; this.trim = function () { g = !0; return d }; this.noTrim = function () { g = !1; return d }; this.execute = function () { var c = h, e = []; if (null === c) return d; b.each(a, function () { eval(c) && e.push(this) }); a = e; return d }; this.data = function () { return a }; this.select = function (c) { d._performSort(); if (!d._hasData()) return []; d.execute(); if (b.isFunction(c)) { var e = []; b.each(a, function (a, b) { e.push(c(b)) }); return e } return a }; this.hasMatch = function () { if (!d._hasData()) return !1; d.execute(); return 0 < a.length }; this.andNot = function (a, b, c) { p = !p; return d.and(a, b, c) }; this.orNot = function (a, b, c) { p = !p; return d.or(a, b, c) }; this.not = function (a, b, c) { return d.andNot(a, b, c) }; this.and = function (a, b, c) { q = " && "; return void 0 === a ? d : d._repeatCommand(a, b, c) }; this.or = function (a, b, c) { q = " || "; return void 0 === a ? d : d._repeatCommand(a, b, c) }; this.orBegin = function () { r++; return d }; this.orEnd = function () { null !== h && (h += ")"); return d }; this.isNot = function (a) { p = !p; return d.is(a) }; this.is = function (a) { d._append("this." + a); d._resetNegate(); return d }; this._compareValues = function (a, c, e, l, g) { var f; f = G ? "jQuery.jgrid.getAccessor(this,'" + c + "')" : "this"; void 0 === e && (e = null); var h = e, m = void 0 === g.stype ? "text" : g.stype; if (null !== e) switch (m) { case "int": case "integer": h = isNaN(Number(h)) || "" === h ? "0" : h; f = "parseInt(" + f + ",10)"; h = "parseInt(" + h + ",10)"; break; case "float": case "number": case "numeric": h = String(h).replace(k, ""); h = isNaN(Number(h)) || "" === h ? "0" : h; f = "parseFloat(" + f + ")"; h = "parseFloat(" + h + ")"; break; case "date": case "datetime": h = String(b.jgrid.parseDate(g.newfmt || "Y-m-d", h).getTime()); f = 'jQuery.jgrid.parseDate("' + g.srcfmt + '",' + f + ").getTime()"; break; default: f = d._getStr(f), h = d._getStr('"' + d._toStr(h) + '"') } d._append(f + " " + l + " " + h); d._setCommand(a, c); d._resetNegate(); return d }; this.equals = function (a, b, c) { return d._compareValues(d.equals, a, b, "==", c) }; this.notEquals = function (a, b, c) { return d._compareValues(d.equals, a, b, "!==", c) }; this.isNull = function (a, b, c) { return d._compareValues(d.equals, a, null, "===", c) }; this.greater = function (a, b, c) { return d._compareValues(d.greater, a, b, ">", c) }; this.less = function (a, b, c) { return d._compareValues(d.less, a, b, "<", c) }; this.greaterOrEquals = function (a, b, c) { return d._compareValues(d.greaterOrEquals, a, b, ">=", c) }; this.lessOrEquals = function (a, b, c) { return d._compareValues(d.lessOrEquals, a, b, "<=", c) }; this.startsWith = function (a, c) { var e = null == c ? a : c, e = g ? b.trim(e.toString()).length : e.toString().length; G ? d._append(d._getStr("jQuery.jgrid.getAccessor(this,'" + a + "')") + ".substr(0," + e + ") == " + d._getStr('"' + d._toStr(c) + '"')) : (null != c && (e = g ? b.trim(c.toString()).length : c.toString().length), d._append(d._getStr("this") + ".substr(0," + e + ") == " + d._getStr('"' + d._toStr(a) + '"'))); d._setCommand(d.startsWith, a); d._resetNegate(); return d }; this.endsWith = function (a, c) { var e = null == c ? a : c, e = g ? b.trim(e.toString()).length : e.toString().length; G ? d._append(d._getStr("jQuery.jgrid.getAccessor(this,'" + a + "')") + ".substr(" + d._getStr("jQuery.jgrid.getAccessor(this,'" + a + "')") + ".length-" + e + "," + e + ') == "' + d._toStr(c) + '"') : d._append(d._getStr("this") + ".substr(" + d._getStr("this") + '.length-"' + d._toStr(a) + '".length,"' + d._toStr(a) + '".length) == "' + d._toStr(a) + '"'); d._setCommand(d.endsWith, a); d._resetNegate(); return d }; this.contains = function (a, b) { G ? d._append(d._getStr("jQuery.jgrid.getAccessor(this,'" + a + "')") + '.indexOf("' + d._toStr(b) + '",0) > -1') : d._append(d._getStr("this") + '.indexOf("' + d._toStr(a) + '",0) > -1'); d._setCommand(d.contains, a); d._resetNegate(); return d }; this.groupBy = function (b, c, e, l) { return d._hasData() ? d._getGroup(a, b, c, e, l) : null }; this.orderBy = function (a, c, e, l, g) { c = null == c ? "a" : b.trim(c.toString().toLowerCase()); null == e && (e = "text"); null == l && (l = "Y-m-d"); null == g && (g = !1); if ("desc" === c || "descending" === c) c = "d"; if ("asc" === c || "ascending" === c) c = "a"; x.push({ by: a, dir: c, type: e, datefmt: l, sfunc: g }); return d }; return d }(e, null) }, getMethod: function (e) { return this.getAccessor(b.fn.jqGrid, e) }, extend: function (e) { b.extend(b.fn.jqGrid, e); this.no_legacy_api || b.fn.extend(e) } }); b.fn.jqGrid = function (e) { if ("string" === typeof e) { var f = b.jgrid.getMethod(e); if (!f) throw "jqGrid - No such method: " + e; var c = b.makeArray(arguments).slice(1); return f.apply(this, c) } return this.each(function () { if (!this.grid) { var d = b.extend(!0, { unwritten: true, costtime: '000.1', url: "", height: 150, page: 1, rowNum: 20, rowTotal: null, records: 0, pager: "", pgbuttons: !0, pginput: !0, colModel: [], rowList: [], colNames: [], sortorder: "asc", sortname: "", datatype: "xml", mtype: "GET", altRows: !1, selarrrow: [], savedRow: [], shrinkToFit: !0, xmlReader: {}, jsonReader: {}, subGrid: !1, subGridModel: [], reccount: 0, lastpage: 0, lastsort: 0, selrow: null, beforeSelectRow: null, onSelectRow: null, onSortCol: null, ondblClickRow: null, onRightClickRow: null, onPaging: null, onSelectAll: null, onInitGrid: null, loadComplete: null, gridComplete: null, loadError: null, loadBeforeSend: null, afterInsertRow: null, beforeRequest: null, beforeProcessing: null, onHeaderClick: null, viewrecords: !1, loadonce: !1, multiselect: !1, multikey: !1, editurl: null, search: !1, caption: "", hidegrid: !0, hiddengrid: !1, postData: {}, userData: {}, treeGrid: !1, treeGridModel: "nested", treeReader: {}, treeANode: -1, ExpandColumn: null, tree_root_level: 0, prmNames: { page: "page", rows: "rows", sort: "sidx", order: "sord", search: "_search", nd: "nd", id: "id", oper: "oper", editoper: "edit", addoper: "add", deloper: "del", subgridid: "id", npage: null, totalrows: "totalrows" }, forceFit: !1, gridstate: "visible", cellEdit: !1, cellsubmit: "remote", nv: 0, loadui: "enable", toolbar: [!1, ""], scroll: !1, multiboxonly: !1, deselectAfterSort: !0, scrollrows: !1, autowidth: !1, scrollOffset: 18, cellLayout: 5, subGridWidth: 20, multiselectWidth: 20, gridview: !1, rownumWidth: 30, rownumbers: !1, pagerpos: "center", recordpos: "right", footerrow: !1, userDataOnFooter: !1, hoverrows: !0, altclass: "ui-priority-secondary", viewsortcols: [!1, "vertical", !0], resizeclass: "", autoencode: !1, remapColumns: [], ajaxGridOptions: {}, direction: "ltr", toppager: !1, headertitles: !1, scrollTimeout: 40, data: [], _index: {}, grouping: !1, groupingView: { groupField: [], groupOrder: [], groupText: [], groupColumnShow: [], groupSummary: [], showSummaryOnHide: !1, sortitems: [], sortnames: [], summary: [], summaryval: [], plusicon: "ui-icon-circlesmall-plus", minusicon: "ui-icon-circlesmall-minus", displayField: [], groupSummaryPos: [], formatDisplayField: [], _locgr: !1 }, ignoreCase: !1, cmTemplate: {}, idPrefix: "", multiSort: !1 }, b.jgrid.defaults, e || {}), a = this, c = { headers: [], cols: [], footers: [], dragStart: function (c, e, g) { var f = b(this.bDiv).offset().left; this.resizing = { idx: c, startX: e.clientX, sOL: e.clientX - f }; this.hDiv.style.cursor = "col-resize"; this.curGbox = b("#rs_m" + b.jgrid.jqID(d.id), "#gbox_" + b.jgrid.jqID(d.id)); this.curGbox.css({ display: "block", left: e.clientX - f, top: g[1], height: g[2] }); b(a).triggerHandler("jqGridResizeStart", [e, c]); b.isFunction(d.resizeStart) && d.resizeStart.call(a, e, c); document.onselectstart = function () { return !1 } }, dragMove: function (a) { if (this.resizing) { var b = a.clientX - this.resizing.startX; a = this.headers[this.resizing.idx]; var c = "ltr" === d.direction ? a.width + b : a.width - b, e; 33 < c && (this.curGbox.css({ left: this.resizing.sOL + b }), !0 === d.forceFit ? (e = this.headers[this.resizing.idx + d.nv], b = "ltr" === d.direction ? e.width - b : e.width + b, 33 < b && (a.newWidth = c, e.newWidth = b)) : (this.newWidth = "ltr" === d.direction ? d.tblwidth + b : d.tblwidth - b, a.newWidth = c)) } }, dragEnd: function () { this.hDiv.style.cursor = "default"; if (this.resizing) { var c = this.resizing.idx, e = this.headers[c].newWidth || this.headers[c].width, e = parseInt(e, 10); this.resizing = !1; b("#rs_m" + b.jgrid.jqID(d.id)).css("display", "none"); d.colModel[c].width = e; this.headers[c].width = e; this.headers[c].el.style.width = e + "px"; this.cols[c].style.width = e + "px"; 0 < this.footers.length && (this.footers[c].style.width = e + "px"); !0 === d.forceFit ? (e = this.headers[c + d.nv].newWidth || this.headers[c + d.nv].width, this.headers[c + d.nv].width = e, this.headers[c + d.nv].el.style.width = e + "px", this.cols[c + d.nv].style.width = e + "px", 0 < this.footers.length && (this.footers[c + d.nv].style.width = e + "px"), d.colModel[c + d.nv].width = e) : (d.tblwidth = this.newWidth || d.tblwidth, b("table:first", this.bDiv).css("width", d.tblwidth + "px"), b("table:first", this.hDiv).css("width", d.tblwidth + "px"), this.hDiv.scrollLeft = this.bDiv.scrollLeft, d.footerrow && (b("table:first", this.sDiv).css("width", d.tblwidth + "px"), this.sDiv.scrollLeft = this.bDiv.scrollLeft)); b(a).triggerHandler("jqGridResizeStop", [e, c]); b.isFunction(d.resizeStop) && d.resizeStop.call(a, e, c) } this.curGbox = null; document.onselectstart = function () { return !0 } }, populateVisible: function () { c.timer && clearTimeout(c.timer); c.timer = null; var a = b(c.bDiv).height(); if (a) { var e = b("table:first", c.bDiv), g, f; if (e[0].rows.length) try { f = (g = e[0].rows[1]) ? b(g).outerHeight() || c.prevRowHeight : c.prevRowHeight } catch (pa) { f = c.prevRowHeight } if (f) { c.prevRowHeight = f; var h = d.rowNum; g = c.scrollTop = c.bDiv.scrollTop; var k = Math.round(e.position().top) - g, m = k + e.height(); f *= h; var E, n, C; m < a && 0 >= k && (void 0 === d.lastpage || parseInt((m + g + f - 1) / f, 10) <= d.lastpage) && (n = parseInt((a - m + f - 1) / f, 10), 0 <= m || 2 > n || !0 === d.scroll ? (E = Math.round((m + g) / f) + 1, k = -1) : k = 1); 0 < k && (E = parseInt(g / f, 10) + 1, n = parseInt((g + a) / f, 10) + 2 - E, C = !0); !n || d.lastpage && (E > d.lastpage || 1 === d.lastpage || E === d.page && E === d.lastpage) || (c.hDiv.loading ? c.timer = setTimeout(c.populateVisible, d.scrollTimeout) : (d.page = E, C && (c.selectionPreserver(e[0]), c.emptyRows.call(e[0], !1, !1)), c.populate(n))) } } }, scrollGrid: function (a) { if (d.scroll) { var b = c.bDiv.scrollTop; void 0 === c.scrollTop && (c.scrollTop = 0); b !== c.scrollTop && (c.scrollTop = b, c.timer && clearTimeout(c.timer), c.timer = setTimeout(c.populateVisible, d.scrollTimeout)) } c.hDiv.scrollLeft = c.bDiv.scrollLeft; d.footerrow && (c.sDiv.scrollLeft = c.bDiv.scrollLeft); a && a.stopPropagation() }, selectionPreserver: function (a) { var c = a.p, d = c.selrow, e = c.selarrrow ? b.makeArray(c.selarrrow) : null, f = a.grid.bDiv.scrollLeft, g = function () { var h; c.selrow = null; c.selarrrow = []; if (c.multiselect && e && 0 < e.length) for (h = 0; h < e.length; h++) e[h] !== d && b(a).jqGrid("setSelection", e[h], !1, null); d && b(a).jqGrid("setSelection", d, !1, null); a.grid.bDiv.scrollLeft = f; b(a).unbind(".selectionPreserver", g) }; b(a).bind("jqGridGridComplete.selectionPreserver", g) } }; if ("TABLE" !== this.tagName.toUpperCase()) alert("Element is not a table"); else if (void 0 !== document.documentMode && 5 >= document.documentMode) alert("Grid can not be used in this ('quirks') mode!"); else { b(this).empty().attr("tabindex", "0"); this.p = d; this.p.useProp = !!b.fn.prop; var g, f; if (0 === this.p.colNames.length) for (g = 0; g < this.p.colModel.length; g++) this.p.colNames[g] = this.p.colModel[g].label || this.p.colModel[g].name; if (this.p.colNames.length !== this.p.colModel.length) alert(b.jgrid.errors.model); else { var k = b("
"), n = b.jgrid.msie; a.p.direction = b.trim(a.p.direction.toLowerCase()); -1 === b.inArray(a.p.direction, ["ltr", "rtl"]) && (a.p.direction = "ltr"); f = a.p.direction; b(k).insertBefore(this); b(this).removeClass("scroll").appendTo(k); var m = b("
"); b(m).attr({ id: "gbox_" + this.id, dir: f }).insertBefore(k); b(k).attr("id", "gview_" + this.id).appendTo(m); b("
").insertBefore(k); b("
" + this.p.loadtext + "
").insertBefore(k); b(this).attr({ cellspacing: "0", cellpadding: "0", border: "0", role: "grid", "aria-multiselectable": !!this.p.multiselect, "aria-labelledby": "gbox_" + this.id }); var r = function (a, b) { a = parseInt(a, 10); return isNaN(a) ? b || 0 : a }, p = function (d, e, f, g, i, h) { var k = a.p.colModel[d], m = k.align, E = 'style="', n = k.classes, C = k.name, A = []; m && (E += "text-align:" + m + ";"); !0 === k.hidden && (E += "display:none;"); if (0 === e) E += "width: " + c.headers[d].width + "px;"; else if (k.cellattr && b.isFunction(k.cellattr) && (d = k.cellattr.call(a, i, f, g, k, h)) && "string" === typeof d) if (d = d.replace(/style/i, "style").replace(/title/i, "title"), -1 < d.indexOf("title") && (k.title = !1), -1 < d.indexOf("class") && (n = void 0), A = d.replace("-style", "-sti").split(/style/), 2 === A.length) { A[1] = b.trim(A[1].replace("-sti", "-style").replace("=", "")); if (0 === A[1].indexOf("'") || 0 === A[1].indexOf('"')) A[1] = A[1].substring(1); E += A[1].replace(/'/gi, '"') } else E += '"'; A.length || (A[0] = "", E += '"'); E += (void 0 !== n ? ' class="' + n + '"' : "") + (k.title && f ? ' title="' + b.jgrid.stripHtml(f) + '"' : ""); E += ' aria-describedby="' + a.p.id + "_" + C + '"'; return E + A[0] }, q = function (c) { return null == c || "" === c ? " " : a.p.autoencode ? b.jgrid.htmlEncode(c) : String(c) }, x = function (c, d, e, f, g) { var h = a.p.colModel[e]; void 0 !== h.formatter ? (c = "" !== String(a.p.idPrefix) ? b.jgrid.stripPref(a.p.idPrefix, c) : c, c = { rowId: c, colModel: h, gid: a.p.id, pos: e }, d = b.isFunction(h.formatter) ? h.formatter.call(a, d, c, f, g) : b.fmatter ? b.fn.fmatter.call(a, h.formatter, d, c, f, g) : q(d)) : d = q(d); return d }, G = function (a, b, c, d, e, f) { b = x(a, b, c, e, "add"); return '" + b + "" }, U = function (b, c, d, e) { e = '"; return '" + e + "" }, M = function (a, b, c, d) { c = (parseInt(c, 10) - 1) * parseInt(d, 10) + 1 + b; return '" + c + "" }, ea = function (b) { var c, d = [], e = 0, f; for (f = 0; f < a.p.colModel.length; f++) c = a.p.colModel[f], "cb" !== c.name && "subgrid" !== c.name && "rn" !== c.name && (d[e] = "local" === b ? c.name : "xml" === b || "xmlstring" === b ? c.xmlmap || c.name : c.jsonmap || c.name, !1 !== a.p.keyIndex && !0 === c.key && (a.p.keyName = d[e]), e++); return d }, W = function (c) { var d = a.p.remapColumns; d && d.length || (d = b.map(a.p.colModel, function (a, b) { return b })); c && (d = b.map(d, function (a) { return a < c ? null : a - c })); return d }, X = function (a, c) { var d; this.p.deepempty ? b(this.rows).slice(1).remove() : (d = 0 < this.rows.length ? this.rows[0] : null, b(this.firstChild).empty().append(d)); a && this.p.scroll && (b(this.grid.bDiv.firstChild).css({ height: "auto" }), b(this.grid.bDiv.firstChild.firstChild).css({ height: 0, display: "none" }), 0 !== this.grid.bDiv.scrollTop && (this.grid.bDiv.scrollTop = 0)); !0 === c && this.p.treeGrid && (this.p.data = [], this.p._index = {}) }, O = function () { var c = a.p.data.length, d, e, f; d = !0 === a.p.rownumbers ? 1 : 0; e = !0 === a.p.multiselect ? 1 : 0; f = !0 === a.p.subGrid ? 1 : 0; d = !1 === a.p.keyIndex || !0 === a.p.loadonce ? a.p.localReader.id : a.p.colModel[a.p.keyIndex + e + f + d].name; for (e = 0; e < c; e++) f = b.jgrid.getAccessor(a.p.data[e], d), void 0 === f && (f = String(e + 1)), a.p._index[f] = e }, $ = function (c, d, e, f, g, h) { var l = "-1", k = "", m; d = d ? "display:none;" : ""; e = "ui-widget-content jqgrow ui-row-" + a.p.direction + (e ? " " + e : "") + (h ? " ui-state-highlight" : ""); h = b(a).triggerHandler("jqGridRowAttr", [f, g, c]); "object" !== typeof h && (h = b.isFunction(a.p.rowattr) ? a.p.rowattr.call(a, f, g, c) : {}); if (!b.isEmptyObject(h)) { h.hasOwnProperty("id") && (c = h.id, delete h.id); h.hasOwnProperty("tabindex") && (l = h.tabindex, delete h.tabindex); h.hasOwnProperty("style") && (d += h.style, delete h.style); h.hasOwnProperty("class") && (e += " " + h["class"], delete h["class"]); try { delete h.role } catch (n) { } for (m in h) h.hasOwnProperty(m) && (k += " " + m + "=" + h[m]) } return '" }, K = function (c, d, e, f, g) { var h = new Date, l = "local" !== a.p.datatype && a.p.loadonce || "xmlstring" === a.p.datatype, k = a.p.xmlReader, m = "local" === a.p.datatype ? "local" : "xml"; l && (a.p.data = [], a.p._index = {}, a.p.localReader.id = "_id_"); a.p.reccount = 0; if (b.isXMLDoc(c)) { -1 !== a.p.treeANode || a.p.scroll ? e = 1 < e ? e : 1 : (X.call(a, !1, !0), e = 1); var n = b(a), C, A, R = 0, p, u = !0 === a.p.multiselect ? 1 : 0, z = 0, x, q = !0 === a.p.rownumbers ? 1 : 0, t, Z = [], aa, v = {}, w, H, s = [], L = !0 === a.p.altRows ? a.p.altclass : "", ia; !0 === a.p.subGrid && (z = 1, x = b.jgrid.getMethod("addSubGridCell")); k.repeatitems || (Z = ea(m)); t = !1 === a.p.keyIndex ? b.isFunction(k.id) ? k.id.call(a, c) : k.id : a.p.keyIndex; 0 < Z.length && !isNaN(t) && (t = a.p.keyName); m = -1 === String(t).indexOf("[") ? Z.length ? function (a, c) { return b(t, a).text() || c } : function (a, c) { return b(k.cell, a).eq(t).text() || c } : function (a, b) { return a.getAttribute(t.replace(/[\[\]]/g, "")) || b }; a.p.userData = {}; a.p.page = r(b.jgrid.getXmlData(c, k.page), a.p.page); a.p.lastpage = r(b.jgrid.getXmlData(c, k.total), 1); a.p.records = r(b.jgrid.getXmlData(c, k.records)); b.isFunction(k.userdata) ? a.p.userData = k.userdata.call(a, c) || {} : b.jgrid.getXmlData(c, k.userdata, !0).each(function () { a.p.userData[this.getAttribute("name")] = b(this).text() }); c = b.jgrid.getXmlData(c, k.root, !0); (c = b.jgrid.getXmlData(c, k.row, !0)) || (c = []); var S = c.length, I = 0, y = [], D = parseInt(a.p.rowNum, 10), B = a.p.scroll ? b.jgrid.randId() : 1; 0 < S && 0 >= a.p.page && (a.p.page = 1); if (c && S) { g && (D *= g + 1); g = b.isFunction(a.p.afterInsertRow); var F = !1, J; a.p.grouping && (F = !0 === a.p.groupingView.groupCollapse, J = b.jgrid.getMethod("groupingPrepare")); for (; I < S;) { w = c[I]; H = m(w, B + I); H = a.p.idPrefix + H; C = 0 === e ? 0 : e + 1; ia = 1 === (C + I) % 2 ? L : ""; var K = s.length; s.push(""); q && s.push(M(0, I, a.p.page, a.p.rowNum)); u && s.push(U(H, q, I, !1)); z && s.push(x.call(n, u + q, I + e)); if (k.repeatitems) { aa || (aa = W(u + z + q)); var N = b.jgrid.getXmlData(w, k.cell, !0); b.each(aa, function (b) { var c = N[this]; if (!c) return !1; p = c.textContent || c.text; v[a.p.colModel[b + u + z + q].name] = p; s.push(G(H, p, b + u + z + q, I + e, w, v)) }) } else for (C = 0; C < Z.length; C++) p = b.jgrid.getXmlData(w, Z[C]), v[a.p.colModel[C + u + z + q].name] = p, s.push(G(H, p, C + u + z + q, I + e, w, v)); s[K] = $(H, F, ia, v, w, !1); s.push(""); a.p.grouping && (y.push(s), a.p.groupingView._locgr || J.call(n, v, I), s = []); if (l || !0 === a.p.treeGrid) v._id_ = b.jgrid.stripPref(a.p.idPrefix, H), a.p.data.push(v), a.p._index[v._id_] = a.p.data.length - 1; !1 === a.p.gridview && (b("tbody:first", d).append(s.join("")), n.triggerHandler("jqGridAfterInsertRow", [H, v, w]), g && a.p.afterInsertRow.call(a, H, v, w), s = []); v = {}; R++; I++; if (R === D) break } } !0 === a.p.gridview && (A = -1 < a.p.treeANode ? a.p.treeANode : 0, a.p.grouping ? (l || n.jqGrid("groupingRender", y, a.p.colModel.length, a.p.page, D), y = null) : !0 === a.p.treeGrid && 0 < A ? b(a.rows[A]).after(s.join("")) : b("tbody:first", d).append(s.join(""))); if (!0 === a.p.subGrid) try { n.jqGrid("addSubGrid", u + q) } catch (Q) { } a.p.totaltime = new Date - h; 0 < R && 0 === a.p.records && (a.p.records = S); s = null; if (!0 === a.p.treeGrid) try { n.jqGrid("setTreeNode", A + 1, R + A + 1) } catch (O) { } a.p.treeGrid || a.p.scroll || (a.grid.bDiv.scrollTop = 0); a.p.reccount = R; a.p.treeANode = -1; a.p.userDataOnFooter && n.jqGrid("footerData", "set", a.p.userData, !0); l && (a.p.records = S, a.p.lastpage = Math.ceil(S / D)); f || a.updatepager(!1, !0); if (l) { for (; R < S;) { w = c[R]; H = m(w, R + B); H = a.p.idPrefix + H; if (k.repeatitems) { aa || (aa = W(u + z + q)); var P = b.jgrid.getXmlData(w, k.cell, !0); b.each(aa, function (b) { var c = P[this]; if (!c) return !1; p = c.textContent || c.text; v[a.p.colModel[b + u + z + q].name] = p }) } else for (C = 0; C < Z.length; C++) p = b.jgrid.getXmlData(w, Z[C]), v[a.p.colModel[C + u + z + q].name] = p; v._id_ = b.jgrid.stripPref(a.p.idPrefix, H); a.p.grouping && J.call(n, v, R); a.p.data.push(v); a.p._index[v._id_] = a.p.data.length - 1; v = {}; R++ } a.p.grouping && (a.p.groupingView._locgr = !0, n.jqGrid("groupingRender", y, a.p.colModel.length, a.p.page, D), y = null) } } }, Y = function (c, d, e, f, g) { var h = new Date; if (c) { -1 !== a.p.treeANode || a.p.scroll ? e = 1 < e ? e : 1 : (X.call(a, !1, !0), e = 1); var k, l = "local" !== a.p.datatype && a.p.loadonce || "jsonstring" === a.p.datatype; l && (a.p.data = [], a.p._index = {}, a.p.localReader.id = "_id_"); a.p.reccount = 0; "local" === a.p.datatype ? (d = a.p.localReader, k = "local") : (d = a.p.jsonReader, k = "json"); var m = b(a), n = 0, C, A, p, q = [], u = a.p.multiselect ? 1 : 0, z = !0 === a.p.subGrid ? 1 : 0, x, t = !0 === a.p.rownumbers ? 1 : 0, D = W(u + z + t); k = ea(k); var y, B, v, w = {}, H, s, L = [], ia = !0 === a.p.altRows ? a.p.altclass : "", S; a.p.page = r(b.jgrid.getAccessor(c, d.page), a.p.page); a.p.lastpage = r(b.jgrid.getAccessor(c, d.total), 1); a.p.records = r(b.jgrid.getAccessor(c, d.records)); a.p.userData = b.jgrid.getAccessor(c, d.userdata) || {}; z && (x = b.jgrid.getMethod("addSubGridCell")); v = !1 === a.p.keyIndex ? b.isFunction(d.id) ? d.id.call(a, c) : d.id : a.p.keyIndex; d.repeatitems || (q = k, 0 < q.length && !isNaN(v) && (v = a.p.keyName)); B = b.jgrid.getAccessor(c, d.root); null == B && b.isArray(c) && (B = c); B || (B = []); c = B.length; A = 0; 0 < c && 0 >= a.p.page && (a.p.page = 1); var I = parseInt(a.p.rowNum, 10), F = a.p.scroll ? b.jgrid.randId() : 1, J = !1, K; g && (I *= g + 1); "local" !== a.p.datatype || a.p.deselectAfterSort || (J = !0); var N = b.isFunction(a.p.afterInsertRow), P = [], Q = !1, O; a.p.grouping && (Q = !0 === a.p.groupingView.groupCollapse, O = b.jgrid.getMethod("groupingPrepare")); for (; A < c;) { g = B[A]; s = b.jgrid.getAccessor(g, v); void 0 === s && ("number" === typeof v && null != a.p.colModel[v + u + z + t] && (s = b.jgrid.getAccessor(g, a.p.colModel[v + u + z + t].name)), void 0 === s && (s = F + A, 0 === q.length && d.cell && (C = b.jgrid.getAccessor(g, d.cell) || g, s = null != C && void 0 !== C[v] ? C[v] : s))); s = a.p.idPrefix + s; C = 1 === e ? 0 : e; S = 1 === (C + A) % 2 ? ia : ""; J && (K = a.p.multiselect ? -1 !== b.inArray(s, a.p.selarrrow) : s === a.p.selrow); var T = L.length; L.push(""); t && L.push(M(0, A, a.p.page, a.p.rowNum)); u && L.push(U(s, t, A, K)); z && L.push(x.call(m, u + t, A + e)); y = k; d.repeatitems && (d.cell && (g = b.jgrid.getAccessor(g, d.cell) || g), b.isArray(g) && (y = D)); for (p = 0; p < y.length; p++) C = b.jgrid.getAccessor(g, y[p]), w[a.p.colModel[p + u + z + t].name] = C, L.push(G(s, C, p + u + z + t, A + e, g, w)); L[T] = $(s, Q, S, w, g, K); L.push(""); a.p.grouping && (P.push(L), a.p.groupingView._locgr || O.call(m, w, A), L = []); if (l || !0 === a.p.treeGrid) w._id_ = b.jgrid.stripPref(a.p.idPrefix, s), a.p.data.push(w), a.p._index[w._id_] = a.p.data.length - 1; !1 === a.p.gridview && (b("#" + b.jgrid.jqID(a.p.id) + " tbody:first").append(L.join("")), m.triggerHandler("jqGridAfterInsertRow", [s, w, g]), N && a.p.afterInsertRow.call(a, s, w, g), L = []); w = {}; n++; A++; if (n === I) break } !0 === a.p.gridview && (H = -1 < a.p.treeANode ? a.p.treeANode : 0, a.p.grouping ? l || (m.jqGrid("groupingRender", P, a.p.colModel.length, a.p.page, I), P = null) : !0 === a.p.treeGrid && 0 < H ? b(a.rows[H]).after(L.join("")) : b("#" + b.jgrid.jqID(a.p.id) + " tbody:first").append(L.join(""))); if (!0 === a.p.subGrid) try { m.jqGrid("addSubGrid", u + t) } catch (V) { } a.p.totaltime = new Date - h; 0 < n && 0 === a.p.records && (a.p.records = c); if (!0 === a.p.treeGrid) try { m.jqGrid("setTreeNode", H + 1, n + H + 1) } catch (Y) { } a.p.treeGrid || a.p.scroll || (a.grid.bDiv.scrollTop = 0); a.p.reccount = n; a.p.treeANode = -1; a.p.userDataOnFooter && m.jqGrid("footerData", "set", a.p.userData, !0); l && (a.p.records = c, a.p.lastpage = Math.ceil(c / I)); f || a.updatepager(!1, !0); if (l) { for (; n < c && B[n];) { g = B[n]; s = b.jgrid.getAccessor(g, v); void 0 === s && ("number" === typeof v && null != a.p.colModel[v + u + z + t] && (s = b.jgrid.getAccessor(g, a.p.colModel[v + u + z + t].name)), void 0 === s && (s = F + n, 0 === q.length && d.cell && (e = b.jgrid.getAccessor(g, d.cell) || g, s = null != e && void 0 !== e[v] ? e[v] : s))); if (g) { s = a.p.idPrefix + s; y = k; d.repeatitems && (d.cell && (g = b.jgrid.getAccessor(g, d.cell) || g), b.isArray(g) && (y = D)); for (p = 0; p < y.length; p++) w[a.p.colModel[p + u + z + t].name] = b.jgrid.getAccessor(g, y[p]); w._id_ = b.jgrid.stripPref(a.p.idPrefix, s); a.p.grouping && O.call(m, w, n); a.p.data.push(w); a.p._index[w._id_] = a.p.data.length - 1; w = {} } n++ } a.p.grouping && (a.p.groupingView._locgr = !0, m.jqGrid("groupingRender", P, a.p.colModel.length, a.p.page, I)) } } }, oa = function () { function c(a) { var b = 0, d, e, g, h, k; if (null != a.groups) { (e = a.groups.length && "OR" === a.groupOp.toString().toUpperCase()) && u.orBegin(); for (d = 0; d < a.groups.length; d++) { 0 < b && e && u.or(); try { c(a.groups[d]) } catch (l) { alert(l) } b++ } e && u.orEnd() } if (null != a.rules) try { (g = a.rules.length && "OR" === a.groupOp.toString().toUpperCase()) && u.orBegin(); for (d = 0; d < a.rules.length; d++) k = a.rules[d], h = a.groupOp.toString().toUpperCase(), q[k.op] && k.field && (0 < b && h && "OR" === h && (u = u.or()), u = q[k.op](u, h)(k.field, k.data, f[k.field])), b++; g && u.orEnd() } catch (m) { alert(m) } } var d = a.p.multiSort ? [] : "", e = [], g = !1, f = {}, h = [], k = [], l, m, n; if (b.isArray(a.p.data)) { var p = a.p.grouping ? a.p.groupingView : !1, A, r; b.each(a.p.colModel, function () { m = this.sorttype || "text"; "date" === m || "datetime" === m ? (this.formatter && "string" === typeof this.formatter && "date" === this.formatter ? (l = this.formatoptions && this.formatoptions.srcformat ? this.formatoptions.srcformat : b.jgrid.formatter.date.srcformat, n = this.formatoptions && this.formatoptions.newformat ? this.formatoptions.newformat : b.jgrid.formatter.date.newformat) : l = n = this.datefmt || "Y-m-d", f[this.name] = { stype: m, srcfmt: l, newfmt: n, sfunc: this.sortfunc || null }) : f[this.name] = { stype: m, srcfmt: "", newfmt: "", sfunc: this.sortfunc || null }; if (a.p.grouping) for (r = 0, A = p.groupField.length; r < A; r++) if (this.name === p.groupField[r]) { var c = this.name; this.index && (c = this.index); h[r] = f[c]; k[r] = c } a.p.multiSort ? this.lso && (d.push(this.name), c = this.lso.split("-"), e.push(c[c.length - 1])) : g || this.index !== a.p.sortname && this.name !== a.p.sortname || (d = this.name, g = !0) }); if (a.p.treeGrid) b(a).jqGrid("SortTree", d, a.p.sortorder, f[d].stype || "text", f[d].srcfmt || ""); else { var q = { eq: function (a) { return a.equals }, ne: function (a) { return a.notEquals }, lt: function (a) { return a.less }, le: function (a) { return a.lessOrEquals }, gt: function (a) { return a.greater }, ge: function (a) { return a.greaterOrEquals }, cn: function (a) { return a.contains }, nc: function (a, b) { return "OR" === b ? a.orNot().contains : a.andNot().contains }, bw: function (a) { return a.startsWith }, bn: function (a, b) { return "OR" === b ? a.orNot().startsWith : a.andNot().startsWith }, en: function (a, b) { return "OR" === b ? a.orNot().endsWith : a.andNot().endsWith }, ew: function (a) { return a.endsWith }, ni: function (a, b) { return "OR" === b ? a.orNot().equals : a.andNot().equals }, "in": function (a) { return a.equals }, nu: function (a) { return a.isNull }, nn: function (a, b) { return "OR" === b ? a.orNot().isNull : a.andNot().isNull } }, u = b.jgrid.from(a.p.data); a.p.ignoreCase && (u = u.ignoreCase()); if (!0 === a.p.search) { var z = a.p.postData.filters; if (z) "string" === typeof z && (z = b.jgrid.parse(z)), c(z); else try { u = q[a.p.postData.searchOper](u)(a.p.postData.searchField, a.p.postData.searchString, f[a.p.postData.searchField]) } catch (t) { } } if (a.p.grouping) for (r = 0; r < A; r++) u.orderBy(k[r], p.groupOrder[r], h[r].stype, h[r].srcfmt); a.p.multiSort ? b.each(d, function (a) { u.orderBy(this, e[a], f[this].stype, f[this].srcfmt, f[this].sfunc) }) : d && a.p.sortorder && g && ("DESC" === a.p.sortorder.toUpperCase() ? u.orderBy(a.p.sortname, "d", f[d].stype, f[d].srcfmt, f[d].sfunc) : u.orderBy(a.p.sortname, "a", f[d].stype, f[d].srcfmt, f[d].sfunc)); var z = u.select(), x = parseInt(a.p.rowNum, 10), y = z.length, B = parseInt(a.p.page, 10), D = Math.ceil(y / x), v = {}; if ((a.p.search || a.p.resetsearch) && a.p.grouping && a.p.groupingView._locgr) { a.p.groupingView.groups = []; var w, G = b.jgrid.getMethod("groupingPrepare"), s, F; if (a.p.footerrow && a.p.userDataOnFooter) { for (s in a.p.userData) a.p.userData.hasOwnProperty(s) && (a.p.userData[s] = 0); F = !0 } for (w = 0; w < y; w++) { if (F) for (s in a.p.userData) a.p.userData[s] += parseFloat(z[w][s] || 0); G.call(b(a), z[w], w, x) } } z = z.slice((B - 1) * x, B * x); f = u = null; v[a.p.localReader.total] = D; v[a.p.localReader.page] = B; v[a.p.localReader.records] = y; v[a.p.localReader.root] = z; v[a.p.localReader.userdata] = a.p.userData; z = null; return v } } }, P = function () { a.grid.hDiv.loading = !0; if (!a.p.hiddengrid) switch (a.p.loadui) { case "enable": window.setTimeout(function () { Loading(true); top.$("#loading_manage").attr('isTableLoading', 'true') }, 0); b("#load_" + b.jgrid.jqID(a.p.id)).next().find('.ui-jqgrid-bdiv').find("span").remove(); break; case "block": b("#lui_" + b.jgrid.jqID(a.p.id)).show(), b("#load_" + b.jgrid.jqID(a.p.id)).show() } }, T = function () { a.grid.hDiv.loading = !1; switch (a.p.loadui) { case "enable": window.setTimeout(function () { top.$("#loading_manage").removeAttr('isTableLoading'); Loading(false) }, 100); if (a.p.unwritten) { var c = b.jgrid.jqID(a.p.id); b("#load_" + c).next().find('.ui-jqgrid-bdiv').find(".unwritten").remove(); var d = b("#load_" + c).next().find('.ui-jqgrid-bdiv').find('table tr').length; if (d == 1) { b("#load_" + c).next().find('.ui-jqgrid-bdiv').append('
没有找到您要的相关数据!
') } } break; case "block": b("#lui_" + b.jgrid.jqID(a.p.id)).hide(), b("#load_" + b.jgrid.jqID(a.p.id)).hide() } }, Q = function (c) { if (!a.grid.hDiv.loading) { var d = a.p.scroll && !1 === c, e = {}, g, f = a.p.prmNames; 0 >= a.p.page && (a.p.page = Math.min(1, a.p.lastpage)); null !== f.search && (e[f.search] = a.p.search); null !== f.nd && (e[f.nd] = (new Date).getTime()); null !== f.rows && (e[f.rows] = a.p.rowNum); null !== f.page && (e[f.page] = a.p.page); null !== f.sort && (e[f.sort] = a.p.sortname); null !== f.order && (e[f.order] = a.p.sortorder); null !== a.p.rowTotal && null !== f.totalrows && (e[f.totalrows] = a.p.rowTotal); var h = b.isFunction(a.p.loadComplete), k = h ? a.p.loadComplete : null, l = 0; c = c || 1; 1 < c ? null !== f.npage ? (e[f.npage] = c, l = c - 1, c = 1) : k = function (b) { a.p.page++; a.grid.hDiv.loading = !1; h && a.p.loadComplete.call(a, b); Q(c - 1) } : null !== f.npage && delete a.p.postData[f.npage]; if (a.p.grouping) { b(a).jqGrid("groupingSetup"); var m = a.p.groupingView, n, p = ""; for (n = 0; n < m.groupField.length; n++) { var r = m.groupField[n]; b.each(a.p.colModel, function (a, b) { b.name === r && b.index && (r = b.index) }); p += r + " " + m.groupOrder[n] + ", " } e[f.sort] = p + e[f.sort] } b.extend(a.p.postData, e); var q = a.p.scroll ? a.rows.length - 1 : 1, e = b(a).triggerHandler("jqGridBeforeRequest"); if (!1 !== e && "stop" !== e) if (b.isFunction(a.p.datatype)) a.p.datatype.call(a, a.p.postData, "load_" + a.p.id, q, c, l); else { if (b.isFunction(a.p.beforeRequest) && (e = a.p.beforeRequest.call(a), void 0 === e && (e = !0), !1 === e)) return; g = a.p.datatype.toLowerCase(); switch (g) { case "json": case "jsonp": case "xml": case "script": b.ajax(b.extend({ url: a.p.url, type: a.p.mtype, dataType: g, data: b.isFunction(a.p.serializeGridData) ? a.p.serializeGridData.call(a, a.p.postData) : a.p.postData, success: function (e, f, h) { if (e != null && e.costtime != null) { a.p.costtime = e.costtime } if (b.isFunction(a.p.beforeProcessing) && !1 === a.p.beforeProcessing.call(a, e, f, h)) T(); else { "xml" === g ? K(e, a.grid.bDiv, q, 1 < c, l) : Y(e, a.grid.bDiv, q, 1 < c, l); b(a).triggerHandler("jqGridLoadComplete", [e]); k && k.call(a, e); b(a).triggerHandler("jqGridAfterLoadComplete", [e]); d && a.grid.populateVisible(); if (a.p.loadonce || a.p.treeGrid) a.p.datatype = "local"; 1 === c && T() } }, error: function (d, e, f) { b.isFunction(a.p.loadError) && a.p.loadError.call(a, d, e, f); 1 === c && T() }, beforeSend: function (c, d) { var e = !0; b.isFunction(a.p.loadBeforeSend) && (e = a.p.loadBeforeSend.call(a, c, d)); void 0 === e && (e = !0); if (!1 === e) return !1; P() } }, b.jgrid.ajaxOptions, a.p.ajaxGridOptions)); break; case "xmlstring": P(); e = "string" !== typeof a.p.datastr ? a.p.datastr : b.parseXML(a.p.datastr); K(e, a.grid.bDiv); b(a).triggerHandler("jqGridLoadComplete", [e]); h && a.p.loadComplete.call(a, e); b(a).triggerHandler("jqGridAfterLoadComplete", [e]); a.p.datatype = "local"; a.p.datastr = null; T(); break; case "jsonstring": P(); e = "string" === typeof a.p.datastr ? b.jgrid.parse(a.p.datastr) : a.p.datastr; Y(e, a.grid.bDiv); b(a).triggerHandler("jqGridLoadComplete", [e]); h && a.p.loadComplete.call(a, e); b(a).triggerHandler("jqGridAfterLoadComplete", [e]); a.p.datatype = "local"; a.p.datastr = null; T(); break; case "local": case "clientside": P(), a.p.datatype = "local", e = oa(), Y(e, a.grid.bDiv, q, 1 < c, l), b(a).triggerHandler("jqGridLoadComplete", [e]), k && k.call(a, e), b(a).triggerHandler("jqGridAfterLoadComplete", [e]), d && a.grid.populateVisible(), T() } } } }, ha = function (c) { b("#cb_" + b.jgrid.jqID(a.p.id), a.grid.hDiv)[a.p.useProp ? "prop" : "attr"]("checked", c); if (a.p.frozenColumns && a.p.id + "_frozen") b("#cb_" + b.jgrid.jqID(a.p.id), a.grid.fhDiv)[a.p.useProp ? "prop" : "attr"]("checked", c) }, qa = function (c, e) { var d = "", g = "", k = "", l, m, n, p, q = function (c) { var e; b.isFunction(a.p.onPaging) && (e = a.p.onPaging.call(a, c)); if ("stop" === e) return !1; a.p.selrow = null; a.p.multiselect && (a.p.selarrrow = [], ha(!1)); a.p.savedRow = []; return !0 }; c = c.substr(1); e += "_" + c; l = "pg_" + c; m = c + "_left"; n = c + "_center"; p = c + "_right"; b("#" + b.jgrid.jqID(c)).append("
").attr("dir", "ltr"); if (0 < a.p.rowList.length) { k = ""; k += "" } "rtl" === f && (g += k); !0 === a.p.pginput && (d = "" + b.jgrid.format(a.p.pgtext || "", "", "") + ""); !0 === a.p.pgbuttons ? (m = ["first" + e, "prev" + e, "next" + e, "last" + e], "rtl" === f && m.reverse(), g += "", g += "", g = g + ("" !== d ? "" + d + "" : "") + (""), g += "") : "" !== d && (g += d); "ltr" === f && (g += k); g += ""; !0 === a.p.viewrecords && b("td#" + c + "_" + a.p.recordpos, "#" + l).append("
"); b("td#" + c + "_" + a.p.pagerpos, "#" + l).append(g); k = b(".ui-jqgrid").css("font-size") || "11px"; b(document.body).append(""); g = b(g).clone().appendTo("#testpg").width(); b("#testpg").remove(); 0 < g && ("" !== d && (g += 50), b("td#" + c + "_" + a.p.pagerpos, "#" + l).width(g - 25)); a.p._nvtd = []; a.p._nvtd[0] = g ? Math.floor((a.p.width - g) / 2) : Math.floor(a.p.width / 3); a.p._nvtd[1] = 0; g = null; b(".ui-pg-selbox", "#" + l).bind("change", function () { if (!q("records")) return !1; a.p.page = Math.round(a.p.rowNum * (a.p.page - 1) / this.value - 0.5) + 1; a.p.rowNum = this.value; a.p.pager && b(".ui-pg-selbox", a.p.pager).val(this.value); a.p.toppager && b(".ui-pg-selbox", a.p.toppager).val(this.value); Q(); return !1 }); !0 === a.p.pgbuttons && (b(".ui-pg-button", "#" + l).hover(function () { b(this).hasClass("ui-state-disabled") ? this.style.cursor = "default" : (b(this).addClass("ui-state-hover"), this.style.cursor = "pointer") }, function () { b(this).hasClass("ui-state-disabled") || (b(this).removeClass("ui-state-hover"), this.style.cursor = "default") }), b("#first" + b.jgrid.jqID(e) + ", #prev" + b.jgrid.jqID(e) + ", #next" + b.jgrid.jqID(e) + ", #last" + b.jgrid.jqID(e)).click(function () { if (b(this).hasClass("ui-state-disabled")) return !1; var c = r(a.p.page, 1), d = r(a.p.lastpage, 1), g = !1, f = !0, h = !0, k = !0, l = !0; 0 === d || 1 === d ? l = k = h = f = !1 : 1 < d && 1 <= c ? 1 === c ? h = f = !1 : c === d && (l = k = !1) : 1 < d && 0 === c && (l = k = !1, c = d - 1); if (!q(this.id)) return !1; this.id === "first" + e && f && (a.p.page = 1, g = !0); this.id === "prev" + e && h && (a.p.page = c - 1, g = !0); this.id === "next" + e && k && (a.p.page = c + 1, g = !0); this.id === "last" + e && l && (a.p.page = d, g = !0); g && Q(); return !1 })); !0 === a.p.pginput && b("input.ui-pg-input", "#" + l).keypress(function (c) { if (13 === (c.charCode || c.keyCode || 0)) { if (!q("user")) return !1; b(this).val(r(b(this).val(), 1)); a.p.page = 0 < b(this).val() ? b(this).val() : a.p.page; Q(); return !1 } return this }) }, wa = function (c, e) { var d, g = "", f = a.p.colModel, h = !1, k; k = a.p.frozenColumns ? e : a.grid.headers[c].el; var l = ""; b("span.ui-grid-ico-sort", k).addClass("ui-state-disabled"); b(k).attr("aria-selected", "false"); if (f[c].lso) if ("asc" === f[c].lso) f[c].lso += "-desc", l = "desc"; else if ("desc" === f[c].lso) f[c].lso += "-asc", l = "asc"; else { if ("asc-desc" === f[c].lso || "desc-asc" === f[c].lso) f[c].lso = "" } else f[c].lso = l = f[c].firstsortorder || "asc"; l ? (b("span.s-ico", k).show(), b("span.ui-icon-" + l, k).removeClass("ui-state-disabled"), b(k).attr("aria-selected", "true")) : a.p.viewsortcols[0] || b("span.s-ico", k).hide(); a.p.sortorder = ""; b.each(f, function (b) { this.lso && (0 < b && h && (g += ", "), d = this.lso.split("-"), g += f[b].index || f[b].name, g += " " + d[d.length - 1], h = !0, a.p.sortorder = d[d.length - 1]) }); k = g.lastIndexOf(a.p.sortorder); g = g.substring(0, k); a.p.sortname = g }, ra = function (c, d, e, g, f) { if (a.p.colModel[d].sortable && !(0 < a.p.savedRow.length)) { e || (a.p.lastsort === d ? "asc" === a.p.sortorder ? a.p.sortorder = "desc" : "desc" === a.p.sortorder && (a.p.sortorder = "asc") : a.p.sortorder = a.p.colModel[d].firstsortorder || "asc", a.p.page = 1); if (a.p.multiSort) wa(d, f); else { if (g) { if (a.p.lastsort === d && a.p.sortorder === g && !e) return; a.p.sortorder = g } e = a.grid.headers[a.p.lastsort].el; f = a.p.frozenColumns ? f : a.grid.headers[d].el; b("span.ui-grid-ico-sort", e).addClass("ui-state-disabled"); b(e).attr("aria-selected", "false"); a.p.frozenColumns && (a.grid.fhDiv.find("span.ui-grid-ico-sort").addClass("ui-state-disabled"), a.grid.fhDiv.find("th").attr("aria-selected", "false")); b("span.ui-icon-" + a.p.sortorder, f).removeClass("ui-state-disabled"); b(f).attr("aria-selected", "true"); a.p.viewsortcols[0] || a.p.lastsort === d || (a.p.frozenColumns && a.grid.fhDiv.find("span.s-ico").hide(), b("span.s-ico", e).hide(), b("span.s-ico", f).show()); c = c.substring(5 + a.p.id.length + 1); a.p.sortname = a.p.colModel[d].index || c } "stop" === b(a).triggerHandler("jqGridSortCol", [a.p.sortname, d, a.p.sortorder]) ? a.p.lastsort = d : b.isFunction(a.p.onSortCol) && "stop" === a.p.onSortCol.call(a, a.p.sortname, d, a.p.sortorder) ? a.p.lastsort = d : ("local" === a.p.datatype ? a.p.deselectAfterSort && b(a).jqGrid("resetSelection") : (a.p.selrow = null, a.p.multiselect && ha(!1), a.p.selarrrow = [], a.p.savedRow = []), a.p.scroll && (f = a.grid.bDiv.scrollLeft, X.call(a, !0, !1), a.grid.hDiv.scrollLeft = f), a.p.subGrid && "local" === a.p.datatype && b("td.sgexpanded", "#" + b.jgrid.jqID(a.p.id)).each(function () { b(this).trigger("click") }), Q(), a.p.lastsort = d, a.p.sortname !== c && d && (a.p.lastsort = d)) } }, xa = function (c) { c = b(a.grid.headers[c].el); c = [c.position().left + c.outerWidth()]; "rtl" === a.p.direction && (c[0] = a.p.width - c[0]); c[0] -= a.grid.bDiv.scrollLeft; c.push(b(a.grid.hDiv).position().top); c.push(b(a.grid.bDiv).offset().top - b(a.grid.hDiv).offset().top + b(a.grid.bDiv).height()); return c }, sa = function (c) { var d, e = a.grid.headers, g = b.jgrid.getCellIndex(c); for (d = 0; d < e.length; d++) if (c === e[d].el) { g = d; break } return g }; this.p.id = this.id; -1 === b.inArray(a.p.multikey, ["shiftKey", "altKey", "ctrlKey"]) && (a.p.multikey = !1); a.p.keyIndex = !1; a.p.keyName = !1; for (g = 0; g < a.p.colModel.length; g++) a.p.colModel[g] = b.extend(!0, {}, a.p.cmTemplate, a.p.colModel[g].template || {}, a.p.colModel[g]), !1 === a.p.keyIndex && !0 === a.p.colModel[g].key && (a.p.keyIndex = g); a.p.sortorder = a.p.sortorder.toLowerCase(); b.jgrid.cell_width = b.jgrid.cellWidth(); !0 === a.p.grouping && (a.p.scroll = !1, a.p.rownumbers = !1, a.p.treeGrid = !1, a.p.gridview = !0); if (!0 === this.p.treeGrid) { try { b(this).jqGrid("setTreeGrid") } catch (za) { } "local" !== a.p.datatype && (a.p.localReader = { id: "_id_" }) } if (this.p.subGrid) try { b(a).jqGrid("setSubGrid") } catch (Aa) { } this.p.multiselect && (this.p.colNames.unshift(""), this.p.colModel.unshift({ name: "cb", width: b.jgrid.cell_width ? a.p.multiselectWidth + a.p.cellLayout : a.p.multiselectWidth, sortable: !1, resizable: !1, hidedlg: !0, search: !1, align: "center", fixed: !0 })); this.p.rownumbers && (this.p.colNames.unshift(""), this.p.colModel.unshift({ name: "rn", width: a.p.rownumWidth, sortable: !1, resizable: !1, hidedlg: !0, search: !1, align: "center", fixed: !0 })); a.p.xmlReader = b.extend(!0, { root: "rows", row: "row", page: "rows>page", total: "rows>total", records: "rows>records", repeatitems: !0, cell: "cell", id: "[id]", userdata: "userdata", subgrid: { root: "rows", row: "row", repeatitems: !0, cell: "cell" } }, a.p.xmlReader); a.p.jsonReader = b.extend(!0, { root: "rows", page: "page", total: "total", records: "records", repeatitems: !0, cell: "cell", id: "id", userdata: "userdata", subgrid: { root: "rows", repeatitems: !0, cell: "cell" } }, a.p.jsonReader); a.p.localReader = b.extend(!0, { root: "rows", page: "page", total: "total", records: "records", repeatitems: !1, cell: "cell", id: "id", userdata: "userdata", subgrid: { root: "rows", repeatitems: !0, cell: "cell" } }, a.p.localReader); a.p.scroll && (a.p.pgbuttons = !1, a.p.pginput = !1, a.p.rowList = []); a.p.data.length && O(); var D = "", ta, F, ja, fa, ka, y, t, ba, ua = ba = "", ga = [], va = []; F = []; if (!0 === a.p.shrinkToFit && !0 === a.p.forceFit) for (g = a.p.colModel.length - 1; 0 <= g; g--) if (!a.p.colModel[g].hidden) { a.p.colModel[g].resizable = !1; break } "horizontal" === a.p.viewsortcols[1] && (ba = " ui-i-asc", ua = " ui-i-desc"); ta = n ? "class='ui-th-div-ie'" : ""; ba = ""); if (a.p.multiSort) for (ga = a.p.sortname.split(","), g = 0; g < ga.length; g++) F = b.trim(ga[g]).split(" "), ga[g] = b.trim(F[0]), va[g] = F[1] ? b.trim(F[1]) : a.p.sortorder || "asc"; var j = 0; var o = 0; for (g = 0; g < this.p.colNames.length; g++) { var bb = a.p.colModel[g].hidden; if (a.p.colModel[g].autowidth == true) { o = g; break } if (bb == undefined) { o = g } } for (g = 0; g < this.p.colNames.length; g++) { var bb = a.p.colModel[g].hidden; var bc = a.p.colModel[g].width; if (bb != undefined) { bc = 0 } else { j += bc } if (g == o) { if (b("#gview_" + a.p.id).width() > j) { if (a.p.colModel[g].autowidth == true || a.p.colModel[g].autowidth == undefined) { bc = bc + b("#gview_" + a.p.id).width() - j - 20 } } } F = a.p.headertitles ? ' title="' + b.jgrid.stripHtml(a.p.colNames[g]) + '"' : "", //D += "", D += "", F = a.p.colModel[g].index || a.p.colModel[g].name, D += "
" + a.p.colNames[g], a.p.colModel[g].width = bc ? parseInt(bc, 10) : 150, "boolean" !== typeof a.p.colModel[g].title && (a.p.colModel[g].title = !0), a.p.colModel[g].lso = "", F === a.p.sortname && (a.p.lastsort = g), a.p.multiSort && (F = b.inArray(F, ga), -1 !== F && (a.p.colModel[g].lso = va[F])), D += ba + "
" } D += ""; ba = null; b(this).append(D); function widthCount(a, b) { return a }; b("thead tr:first th", this).hover(function () { }, function () { b(this).removeClass("ui-state-hover") }); if (this.p.multiselect) { var bd = [], ca; b("#cb_" + b.jgrid.jqID(a.p.id), this).bind("click", function () { a.p.selarrrow = []; var c = !0 === a.p.frozenColumns ? a.p.id + "_frozen" : ""; this.checked ? (b(a.rows).each(function (d) { 0 < d && !b(this).hasClass("ui-subgrid") && !b(this).hasClass("jqgroup") && !b(this).hasClass("ui-state-disabled") && (b("#jqg_" + b.jgrid.jqID(a.p.id) + "_" + b.jgrid.jqID(this.id))[a.p.useProp ? "prop" : "attr"]("checked", !0), b(this).addClass("ui-state-highlight").attr("aria-selected", "true"), a.p.selarrrow.push(this.id), a.p.selrow = this.id, c && (b("#jqg_" + b.jgrid.jqID(a.p.id) + "_" + b.jgrid.jqID(this.id), a.grid.fbDiv)[a.p.useProp ? "prop" : "attr"]("checked", !0), b("#" + b.jgrid.jqID(this.id), a.grid.fbDiv).addClass("ui-state-highlight"))) }), ca = !0, bd = []) : (b(a.rows).each(function (d) { 0 < d && !b(this).hasClass("ui-subgrid") && !b(this).hasClass("ui-state-disabled") && (b("#jqg_" + b.jgrid.jqID(a.p.id) + "_" + b.jgrid.jqID(this.id))[a.p.useProp ? "prop" : "attr"]("checked", !1), b(this).removeClass("ui-state-highlight").attr("aria-selected", "false"), bd.push(this.id), c && (b("#jqg_" + b.jgrid.jqID(a.p.id) + "_" + b.jgrid.jqID(this.id), a.grid.fbDiv)[a.p.useProp ? "prop" : "attr"]("checked", !1), b("#" + b.jgrid.jqID(this.id), a.grid.fbDiv).removeClass("ui-state-highlight"))) }), a.p.selrow = null, ca = !1); b(a).triggerHandler("jqGridSelectAll", [ca ? a.p.selarrrow : bd, ca]); b.isFunction(a.p.onSelectAll) && a.p.onSelectAll.call(a, ca ? a.p.selarrrow : bd, ca) }) } !0 === a.p.autowidth && (D = b(m).innerWidth(), a.p.width = 0 < D ? D : "nw"); (function () { var d = 0, e = b.jgrid.cell_width ? 0 : r(a.p.cellLayout, 0), g = 0, f, h = r(a.p.scrollOffset, 0), k, m = !1, n, p = 0, q; b.each(a.p.colModel, function () { void 0 === this.hidden && (this.hidden = !1); if (a.p.grouping && a.p.autowidth) { var c = b.inArray(this.name, a.p.groupingView.groupField); 0 <= c && a.p.groupingView.groupColumnShow.length > c && (this.hidden = !a.p.groupingView.groupColumnShow[c]) } this.widthOrg = k = r(this.width, 0); !1 === this.hidden && (d += k + e, this.fixed ? p += k + e : g++) }); isNaN(a.p.width) && (a.p.width = d + (!1 !== a.p.shrinkToFit || isNaN(a.p.height) ? 0 : h)); c.width = a.p.width; a.p.tblwidth = d; !1 === a.p.shrinkToFit && !0 === a.p.forceFit && (a.p.forceFit = !1); !0 === a.p.shrinkToFit && 0 < g && (n = c.width - e * g - p, isNaN(a.p.height) || (n -= h, m = !0), d = 0, b.each(a.p.colModel, function (b) { !1 !== this.hidden || this.fixed || (this.width = k = Math.round(n * this.width / (a.p.tblwidth - e * g - p)), d += k, f = b) }), q = 0, m ? c.width - p - (d + e * g) !== h && (q = c.width - p - (d + e * g) - h) : m || 1 === Math.abs(c.width - p - (d + e * g)) || (q = c.width - p - (d + e * g)), a.p.colModel[f].width += q, a.p.tblwidth = d + q + e * g + p, a.p.tblwidth > a.p.width && (a.p.colModel[f].width -= a.p.tblwidth - parseInt(a.p.width, 10), a.p.tblwidth = a.p.width)) })(); b(m).css("width", c.width + "px").append("
 
"); b(k).css("width", c.width + "px"); var D = b("thead:first", a).get(0), V = ""; a.p.footerrow && (V += ""); var k = b("tr:first", D), be = ""; a.p.disableClick = !1; b("th", k).each(function (d) { ja = a.p.colModel[d].width; void 0 === a.p.colModel[d].resizable && (a.p.colModel[d].resizable = !0); a.p.colModel[d].resizable ? (fa = document.createElement("span"), b(fa).html(" ").addClass("ui-jqgrid-resize ui-jqgrid-resize-" + f).css("cursor", "col-resize"), b(this).addClass(a.p.resizeclass)) : fa = ""; b(this).css("width", ja + "px").prepend(fa); fa = null; var e = ""; a.p.colModel[d].hidden && (b(this).css("display", "none"), e = "display:none;"); be += ""; c.headers[d] = { width: ja, el: this }; ka = a.p.colModel[d].sortable; "boolean" !== typeof ka && (ka = a.p.colModel[d].sortable = !0); e = a.p.colModel[d].name; "cb" !== e && "subgrid" !== e && "rn" !== e && a.p.viewsortcols[2] && b(">div", this).addClass("ui-jqgrid-sortable"); ka && (a.p.multiSort ? a.p.viewsortcols[0] ? (b("div span.s-ico", this).show(), a.p.colModel[d].lso && b("div span.ui-icon-" + a.p.colModel[d].lso, this).removeClass("ui-state-disabled")) : a.p.colModel[d].lso && (b("div span.s-ico", this).show(), b("div span.ui-icon-" + a.p.colModel[d].lso, this).removeClass("ui-state-disabled")) : a.p.viewsortcols[0] ? (b("div span.s-ico", this).show(), d === a.p.lastsort && b("div span.ui-icon-" + a.p.sortorder, this).removeClass("ui-state-disabled")) : d === a.p.lastsort && (b("div span.s-ico", this).show(), b("div span.ui-icon-" + a.p.sortorder, this).removeClass("ui-state-disabled"))); a.p.footerrow && (V += "") }).mousedown(function (d) { if (1 === b(d.target).closest("th>span.ui-jqgrid-resize").length) { var e = sa(this); if (!0 === a.p.forceFit) { var g = a.p, f = e, h; for (h = e + 1; h < a.p.colModel.length; h++) if (!0 !== a.p.colModel[h].hidden) { f = h; break } g.nv = f - e } c.dragStart(e, d, xa(e)); return !1 } }).click(function (c) { if (a.p.disableClick) return a.p.disableClick = !1; var d = "th>div.ui-jqgrid-sortable", e, g; a.p.viewsortcols[2] || (d = "th>div>span>span.ui-grid-ico-sort"); c = b(c.target).closest(d); if (1 === c.length) { var f; if (a.p.frozenColumns) { var h = b(this)[0].id.substring(a.p.id.length + 1); b(a.p.colModel).each(function (a) { if (this.name === h) return f = a, !1 }) } else f = sa(this); a.p.viewsortcols[2] || (e = !0, g = c.attr("sort")); null != f && ra(b("div", this)[0].id, f, e, g, this); return !1 } }); if (a.p.sortable && b.fn.sortable) try { b(a).jqGrid("sortableColumns", k) } catch (Ba) { } a.p.footerrow && (V += "
 
"); be += ""; k = document.createElement("tbody"); this.appendChild(k); b(this).addClass("ui-jqgrid-btable").append(be); var be = null, k = b("
").append(D), J = a.p.caption && !0 === a.p.hiddengrid ? !0 : !1; g = b("
...
"); D = null; c.hDiv = document.createElement("div"); b(c.hDiv).css({ width: c.width + "px" }).addClass("ui-state-default ui-jqgrid-hdiv").append(g); b(g).append(k); k = null; J && b(c.hDiv).hide(); a.p.pager && ("string" === typeof a.p.pager ? "#" !== a.p.pager.substr(0, 1) && (a.p.pager = "#" + a.p.pager) : a.p.pager = "#" + b(a.p.pager).attr("id"), b(a.p.pager).css({ width: c.width + "px" }).addClass("ui-state-default ui-jqgrid-pager ui-corner-bottom").appendTo(m), J && b(a.p.pager).hide(), qa(a.p.pager, "")); !1 === a.p.cellEdit && !0 === a.p.hoverrows && b(a).bind("mouseover", function (a) { t = b(a.target).closest("tr.jqgrow"); "ui-subgrid" !== b(t).attr("class") && b(t).addClass("ui-state-hover") }).bind("mouseout", function (a) { t = b(a.target).closest("tr.jqgrow"); b(t).removeClass("ui-state-hover") }); var B, N, ma; b(a).before(c.hDiv).click(function (c) { y = c.target; t = b(y, a.rows).closest("tr.jqgrow"); if (0 === b(t).length || -1 < t[0].className.indexOf("ui-state-disabled") || (b(y, a).closest("table.ui-jqgrid-btable").attr("id") || "").replace("_frozen", "") !== a.id) return this; var d = b(y).hasClass("cbox"), e = b(a).triggerHandler("jqGridBeforeSelectRow", [t[0].id, c]); (e = !1 === e || "stop" === e ? !1 : !0) && b.isFunction(a.p.beforeSelectRow) && (e = a.p.beforeSelectRow.call(a, t[0].id, c)); if ("A" !== y.tagName && ("INPUT" !== y.tagName && "TEXTAREA" !== y.tagName && "OPTION" !== y.tagName && "SELECT" !== y.tagName || d) && !0 === e) if (B = t[0].id, N = b.jgrid.getCellIndex(y), ma = b(y).closest("td,th").html(), b(a).triggerHandler("jqGridCellSelect", [B, N, ma, c]), b.isFunction(a.p.onCellSelect) && a.p.onCellSelect.call(a, B, N, ma, c), !0 === a.p.cellEdit) if (a.p.multiselect && d) b(a).jqGrid("setSelection", B, !0, c); else { B = t[0].rowIndex; try { b(a).jqGrid("editCell", B, N, !0) } catch (g) { } } else if (a.p.multikey) c[a.p.multikey] ? b(a).jqGrid("setSelection", B, !0, c) : a.p.multiselect && d && (d = b("#jqg_" + b.jgrid.jqID(a.p.id) + "_" + B).is(":checked"), b("#jqg_" + b.jgrid.jqID(a.p.id) + "_" + B)[a.p.useProp ? "prop" : "attr"]("checked", d)); else { if (a.p.multiselect && a.p.multiboxonly && !d) { var f = a.p.frozenColumns ? a.p.id + "_frozen" : ""; b(a.p.selarrrow).each(function (c, d) { var e = b(a).jqGrid("getGridRowById", d); b(e).removeClass("ui-state-highlight"); b("#jqg_" + b.jgrid.jqID(a.p.id) + "_" + b.jgrid.jqID(d))[a.p.useProp ? "prop" : "attr"]("checked", !1); f && (b("#" + b.jgrid.jqID(d), "#" + b.jgrid.jqID(f)).removeClass("ui-state-highlight"), b("#jqg_" + b.jgrid.jqID(a.p.id) + "_" + b.jgrid.jqID(d), "#" + b.jgrid.jqID(f))[a.p.useProp ? "prop" : "attr"]("checked", !1)) }); a.p.selarrrow = [] } b(a).jqGrid("setSelection", B, !0, c) } }).bind("reloadGrid", function (c, d) { !0 === a.p.treeGrid && (a.p.datatype = a.p.treedatatype); d && d.current && a.grid.selectionPreserver(a); "local" === a.p.datatype ? (b(a).jqGrid("resetSelection"), a.p.data.length && O()) : a.p.treeGrid || (a.p.selrow = null, a.p.multiselect && (a.p.selarrrow = [], ha(!1)), a.p.savedRow = []); a.p.scroll && X.call(a, !0, !1); if (d && d.page) { var e = d.page; e > a.p.lastpage && (e = a.p.lastpage); 1 > e && (e = 1); a.p.page = e; a.grid.bDiv.scrollTop = a.grid.prevRowHeight ? (e - 1) * a.grid.prevRowHeight * a.p.rowNum : 0 } a.grid.prevRowHeight && a.p.scroll ? (delete a.p.lastpage, a.grid.populateVisible()) : a.grid.populate(); !0 === a.p._inlinenav && b(a).jqGrid("showAddEditButtons"); return !1 }).dblclick(function (c) { y = c.target; t = b(y, a.rows).closest("tr.jqgrow"); 0 !== b(t).length && (B = t[0].rowIndex, N = b.jgrid.getCellIndex(y), b(a).triggerHandler("jqGridDblClickRow", [b(t).attr("id"), B, N, c]), b.isFunction(a.p.ondblClickRow) && a.p.ondblClickRow.call(a, b(t).attr("id"), B, N, c)) }).bind("contextmenu", function (c) { }); c.bDiv = document.createElement("div"); n && "auto" === String(a.p.height).toLowerCase() && (a.p.height = "100%"); b(c.bDiv).append(b('
').append("
").append(this)).addClass("ui-jqgrid-bdiv").css({ height: a.p.height + (isNaN(a.p.height) ? "" : "px"), width: c.width + "px" }).scroll(c.scrollGrid); b("table:first", c.bDiv).css({ width: a.p.tblwidth + "px" }); b.support.tbody || 2 === b("tbody", this).length && b("tbody:gt(0)", this).remove(); a.p.multikey && (b.jgrid.msie ? b(c.bDiv).bind("selectstart", function () { return !1 }) : b(c.bDiv).bind("mousedown", function () { return !1 })); J && b(c.bDiv).hide(); c.cDiv = document.createElement("div"); var bf = !0 === a.p.hidegrid ? b("").hover(function () { bf.addClass("ui-state-hover") }, function () { bf.removeClass("ui-state-hover") }).append("").css("rtl" === f ? "left" : "right", "0px") : ""; b(c.cDiv).append(bf).append("" + a.p.caption + "").addClass("ui-jqgrid-titlebar ui-jqgrid-caption" + ("rtl" === f ? "-rtl" : "") + " ui-widget-header ui-corner-top ui-helper-clearfix"); b(c.cDiv).insertBefore(c.hDiv); a.p.toolbar[0] && (c.uDiv = document.createElement("div"), "top" === a.p.toolbar[1] ? b(c.uDiv).insertBefore(c.hDiv) : "bottom" === a.p.toolbar[1] && b(c.uDiv).insertAfter(c.hDiv), "both" === a.p.toolbar[1] ? (c.ubDiv = document.createElement("div"), b(c.uDiv).addClass("ui-userdata ui-state-default").attr("id", "t_" + this.id).insertBefore(c.hDiv), b(c.ubDiv).addClass("ui-userdata ui-state-default").attr("id", "tb_" + this.id).insertAfter(c.hDiv), J && b(c.ubDiv).hide()) : b(c.uDiv).width(c.width).addClass("ui-userdata ui-state-default").attr("id", "t_" + this.id), J && b(c.uDiv).hide()); a.p.toppager && (a.p.toppager = b.jgrid.jqID(a.p.id) + "_toppager", c.topDiv = b("
")[0], a.p.toppager = "#" + a.p.toppager, b(c.topDiv).addClass("ui-state-default ui-jqgrid-toppager").width(c.width).insertBefore(c.hDiv), qa(a.p.toppager, "_t")); a.p.footerrow && (c.sDiv = b("
")[0], g = b("
"), b(c.sDiv).append(g).width(c.width).insertAfter(c.hDiv), b(g).append(V), c.footers = b(".ui-jqgrid-ftable", c.sDiv)[0].rows[0].cells, a.p.rownumbers && (c.footers[0].className = "ui-state-default jqgrid-rownum"), J && b(c.sDiv).hide()); g = null; if (a.p.caption) { var bg = a.p.datatype; !0 === a.p.hidegrid && (b(".ui-jqgrid-titlebar-close", c.cDiv).click(function (d) { var e = b.isFunction(a.p.onHeaderClick), g = ".ui-jqgrid-bdiv, .ui-jqgrid-hdiv, .ui-jqgrid-pager, .ui-jqgrid-sdiv", f, h = this; !0 === a.p.toolbar[0] && ("both" === a.p.toolbar[1] && (g += ", #" + b(c.ubDiv).attr("id")), g += ", #" + b(c.uDiv).attr("id")); f = b(g, "#gview_" + b.jgrid.jqID(a.p.id)).length; "visible" === a.p.gridstate ? b(g, "#gbox_" + b.jgrid.jqID(a.p.id)).slideUp("fast", function () { f--; 0 === f && (b("span", h).removeClass("ui-icon-circle-triangle-n").addClass("ui-icon-circle-triangle-s"), a.p.gridstate = "hidden", b("#gbox_" + b.jgrid.jqID(a.p.id)).hasClass("ui-resizable") && b(".ui-resizable-handle", "#gbox_" + b.jgrid.jqID(a.p.id)).hide(), b(a).triggerHandler("jqGridHeaderClick", [a.p.gridstate, d]), e && (J || a.p.onHeaderClick.call(a, a.p.gridstate, d))) }) : "hidden" === a.p.gridstate && b(g, "#gbox_" + b.jgrid.jqID(a.p.id)).slideDown("fast", function () { f--; 0 === f && (b("span", h).removeClass("ui-icon-circle-triangle-s").addClass("ui-icon-circle-triangle-n"), J && (a.p.datatype = bg, Q(), J = !1), a.p.gridstate = "visible", b("#gbox_" + b.jgrid.jqID(a.p.id)).hasClass("ui-resizable") && b(".ui-resizable-handle", "#gbox_" + b.jgrid.jqID(a.p.id)).show(), b(a).triggerHandler("jqGridHeaderClick", [a.p.gridstate, d]), e && (J || a.p.onHeaderClick.call(a, a.p.gridstate, d))) }); return !1 }), J && (a.p.datatype = "local", b(".ui-jqgrid-titlebar-close", c.cDiv).trigger("click"))) } else b(c.cDiv).hide(); b(c.hDiv).after(c.bDiv).mousemove(function (a) { if (c.resizing) return c.dragMove(a), !1 }); b(".ui-jqgrid-labels", c.hDiv).bind("selectstart", function () { return !1 }); b(document).bind("mouseup.jqGrid" + a.p.id, function () { return c.resizing ? (c.dragEnd(), !1) : !0 }); a.formatCol = p; a.sortData = ra; a.updatepager = function (c, d) { var e, g, f, h, k, l, m, n = "", p = a.p.pager ? "_" + b.jgrid.jqID(a.p.pager.substr(1)) : "", q = a.p.toppager ? "_" + a.p.toppager.substr(1) : ""; f = parseInt(a.p.page, 10) - 1; 0 > f && (f = 0); f *= parseInt(a.p.rowNum, 10); k = f + a.p.reccount; if (a.p.scroll) { e = b("tbody:first > tr:gt(0)", a.grid.bDiv); f = k - e.length; a.p.reccount = e.length; if (e = e.outerHeight() || a.grid.prevRowHeight) g = f * e, m = parseInt(a.p.records, 10) * e, b(">div:first", a.grid.bDiv).css({ height: m }).children("div:first").css({ height: g, display: g ? "" : "none" }), 0 == a.grid.bDiv.scrollTop && 1 < a.p.page && (a.grid.bDiv.scrollTop = a.p.rowNum * (a.p.page - 1) * e); a.grid.bDiv.scrollLeft = a.grid.hDiv.scrollLeft } n = a.p.pager || ""; if (n += a.p.toppager ? n ? "," + a.p.toppager : a.p.toppager : "") m = b.jgrid.formatter.integer || {}, e = r(a.p.page), g = r(a.p.lastpage), b(".selbox", n)[this.p.useProp ? "prop" : "attr"]("disabled", !1), !0 === a.p.pginput && (b(".ui-pg-input", n).val(a.p.page), h = a.p.toppager ? "#sp_1" + p + ",#sp_1" + q : "#sp_1" + p, b(h).html(b.fmatter ? b.fmatter.util.NumberFormat(a.p.lastpage, m) : a.p.lastpage)), a.p.viewrecords && (0 === a.p.reccount ? b(".ui-paging-info", n).html(a.p.emptyrecords) : (h = f + 1, l = a.p.records, b.fmatter && (h = b.fmatter.util.NumberFormat(h, m), k = b.fmatter.util.NumberFormat(k, m), l = b.fmatter.util.NumberFormat(l, m)), b(".ui-paging-info", n).html(b.jgrid.format(a.p.recordtext, h.replace(/ /g, ''), k.replace(/ /g, ''), l.replace(/ /g, ''), (Number(a.p.totaltime) + Number(a.p.costtime)))))), !0 === a.p.pgbuttons && (0 >= e && (e = g = 0), 1 === e || 0 === e ? (b("#first" + p + ", #prev" + p).addClass("ui-state-disabled").removeClass("ui-state-hover"), a.p.toppager && b("#first_t" + q + ", #prev_t" + q).addClass("ui-state-disabled").removeClass("ui-state-hover")) : (b("#first" + p + ", #prev" + p).removeClass("ui-state-disabled"), a.p.toppager && b("#first_t" + q + ", #prev_t" + q).removeClass("ui-state-disabled")), e === g || 0 === e ? (b("#next" + p + ", #last" + p).addClass("ui-state-disabled").removeClass("ui-state-hover"), a.p.toppager && b("#next_t" + q + ", #last_t" + q).addClass("ui-state-disabled").removeClass("ui-state-hover")) : (b("#next" + p + ", #last" + p).removeClass("ui-state-disabled"), a.p.toppager && b("#next_t" + q + ", #last_t" + q).removeClass("ui-state-disabled"))); !0 === c && !0 === a.p.rownumbers && b(">td.jqgrid-rownum", a.rows).each(function (a) { b(this).html(f + 1 + a) }); d && a.p.jqgdnd && b(a).jqGrid("gridDnD", "updateDnD"); b(a).triggerHandler("jqGridGridComplete"); b.isFunction(a.p.gridComplete) && a.p.gridComplete.call(a); b(a).triggerHandler("jqGridAfterGridComplete") }; a.refreshIndex = O; a.setHeadCheckBox = ha; a.constructTr = $; a.formatter = function (a, b, c, d, e) { return x(a, b, c, d, e) }; b.extend(c, { populate: Q, emptyRows: X, beginReq: P, endReq: T }); this.grid = c; a.addXmlData = function (b) { K(b, a.grid.bDiv) }; a.addJSONData = function (b) { Y(b, a.grid.bDiv) }; this.grid.cols = this.rows[0].cells; b(a).triggerHandler("jqGridInitGrid"); b.isFunction(a.p.onInitGrid) && a.p.onInitGrid.call(a); Q(); a.p.hiddengrid = !1 } } } }) }; b.jgrid.extend({ getGridParam: function (b) { var f = this[0]; if (f && f.grid) return b ? void 0 !== f.p[b] ? f.p[b] : null : f.p }, setGridParam: function (e) { return this.each(function () { this.grid && "object" === typeof e && b.extend(!0, this.p, e) }) }, getGridRowById: function (e) { var f; this.each(function () { try { for (var c = this.rows.length; c--;) if (e.toString() === this.rows[c].id) { f = this.rows[c]; break } } catch (d) { f = b(this.grid.bDiv).find("#" + b.jgrid.jqID(e)) } }); return f }, getDataIDs: function () { var e = [], f = 0, c, d = 0; this.each(function () { if ((c = this.rows.length) && 0 < c) for (; f < c;) b(this.rows[f]).hasClass("jqgrow") && (e[d] = this.rows[f].id, d++), f++ }); return e }, setSelection: function (e, f, c) { return this.each(function () { var d, a, l, g, h, k; void 0 !== e && (f = !1 === f ? !1 : !0, !(a = b(this).jqGrid("getGridRowById", e)) || !a.className || -1 < a.className.indexOf("ui-state-disabled") || (!0 === this.p.scrollrows && (l = b(this).jqGrid("getGridRowById", e).rowIndex, 0 <= l && (d = b(this.grid.bDiv)[0].clientHeight, g = b(this.grid.bDiv)[0].scrollTop, h = b(this.rows[l]).position().top, l = this.rows[l].clientHeight, h + l >= d + g ? b(this.grid.bDiv)[0].scrollTop = h - (d + g) + l + g : h < d + g && h < g && (b(this.grid.bDiv)[0].scrollTop = h))), !0 === this.p.frozenColumns && (k = this.p.id + "_frozen"), this.p.multiselect ? (this.setHeadCheckBox(!1), this.p.selrow = a.id, g = b.inArray(this.p.selrow, this.p.selarrrow), -1 === g ? ("ui-subgrid" !== a.className && b(a).addClass("ui-state-highlight").attr("aria-selected", "true"), d = !0, this.p.selarrrow.push(this.p.selrow)) : ("ui-subgrid" !== a.className && b(a).removeClass("ui-state-highlight").attr("aria-selected", "false"), d = !1, this.p.selarrrow.splice(g, 1), h = this.p.selarrrow[0], this.p.selrow = void 0 === h ? null : h), b("#jqg_" + b.jgrid.jqID(this.p.id) + "_" + b.jgrid.jqID(a.id))[this.p.useProp ? "prop" : "attr"]("checked", d), k && (-1 === g ? b("#" + b.jgrid.jqID(e), "#" + b.jgrid.jqID(k)).addClass("ui-state-highlight") : b("#" + b.jgrid.jqID(e), "#" + b.jgrid.jqID(k)).removeClass("ui-state-highlight"), b("#jqg_" + b.jgrid.jqID(this.p.id) + "_" + b.jgrid.jqID(e), "#" + b.jgrid.jqID(k))[this.p.useProp ? "prop" : "attr"]("checked", d)), f && (b(this).triggerHandler("jqGridSelectRow", [a.id, d, c]), this.p.onSelectRow && this.p.onSelectRow.call(this, a.id, d, c))) : "ui-subgrid" !== a.className && (this.p.selrow !== a.id ? (b(b(this).jqGrid("getGridRowById", this.p.selrow)).removeClass("ui-state-highlight").attr({ "aria-selected": "false", tabindex: "-1" }), b(a).addClass("ui-state-highlight").attr({ "aria-selected": "true", tabindex: "0" }), k && (b("#" + b.jgrid.jqID(this.p.selrow), "#" + b.jgrid.jqID(k)).removeClass("ui-state-highlight"), b("#" + b.jgrid.jqID(e), "#" + b.jgrid.jqID(k)).addClass("ui-state-highlight")), d = !0) : d = !1, this.p.selrow = a.id, f && (b(this).triggerHandler("jqGridSelectRow", [a.id, d, c]), this.p.onSelectRow && this.p.onSelectRow.call(this, a.id, d, c))))) }) }, resetSelection: function (e) { return this.each(function () { var f = this, c, d; !0 === f.p.frozenColumns && (d = f.p.id + "_frozen"); if (void 0 !== e) { c = e === f.p.selrow ? f.p.selrow : e; b("#" + b.jgrid.jqID(f.p.id) + " tbody:first tr#" + b.jgrid.jqID(c)).removeClass("ui-state-highlight").attr("aria-selected", "false"); d && b("#" + b.jgrid.jqID(c), "#" + b.jgrid.jqID(d)).removeClass("ui-state-highlight"); if (f.p.multiselect) { b("#jqg_" + b.jgrid.jqID(f.p.id) + "_" + b.jgrid.jqID(c), "#" + b.jgrid.jqID(f.p.id))[f.p.useProp ? "prop" : "attr"]("checked", !1); if (d) b("#jqg_" + b.jgrid.jqID(f.p.id) + "_" + b.jgrid.jqID(c), "#" + b.jgrid.jqID(d))[f.p.useProp ? "prop" : "attr"]("checked", !1); f.setHeadCheckBox(!1) } c = null } else f.p.multiselect ? (b(f.p.selarrrow).each(function (a, c) { b(b(f).jqGrid("getGridRowById", c)).removeClass("ui-state-highlight").attr("aria-selected", "false"); b("#jqg_" + b.jgrid.jqID(f.p.id) + "_" + b.jgrid.jqID(c))[f.p.useProp ? "prop" : "attr"]("checked", !1); d && (b("#" + b.jgrid.jqID(c), "#" + b.jgrid.jqID(d)).removeClass("ui-state-highlight"), b("#jqg_" + b.jgrid.jqID(f.p.id) + "_" + b.jgrid.jqID(c), "#" + b.jgrid.jqID(d))[f.p.useProp ? "prop" : "attr"]("checked", !1)) }), f.setHeadCheckBox(!1), f.p.selarrrow = [], f.p.selrow = null) : f.p.selrow && (b("#" + b.jgrid.jqID(f.p.id) + " tbody:first tr#" + b.jgrid.jqID(f.p.selrow)).removeClass("ui-state-highlight").attr("aria-selected", "false"), d && b("#" + b.jgrid.jqID(f.p.selrow), "#" + b.jgrid.jqID(d)).removeClass("ui-state-highlight"), f.p.selrow = null); !0 === f.p.cellEdit && 0 <= parseInt(f.p.iCol, 10) && 0 <= parseInt(f.p.iRow, 10) && (b("td:eq(" + f.p.iCol + ")", f.rows[f.p.iRow]).removeClass("edit-cell ui-state-highlight"), b(f.rows[f.p.iRow]).removeClass("selected-row ui-state-hover")); f.p.savedRow = [] }) }, getRowData: function (e) { var f = {}, c, d = !1, a, l = 0; this.each(function () { var g = this, h, k; if (void 0 === e) d = !0, c = [], a = g.rows.length; else { k = b(g).jqGrid("getGridRowById", e); if (!k) return f; a = 2 } for (; l < a;) d && (k = g.rows[l]), b(k).hasClass("jqgrow") && (b('td[role="gridcell"]', k).each(function (a) { h = g.p.colModel[a].name; if ("cb" !== h && "subgrid" !== h && "rn" !== h) if (!0 === g.p.treeGrid && h === g.p.ExpandColumn) f[h] = b.jgrid.htmlDecode(b("span:first", this).html()); else try { f[h] = b.unformat.call(g, this, { rowId: k.id, colModel: g.p.colModel[a] }, a) } catch (c) { f[h] = b.jgrid.htmlDecode(b(this).html()) } }), d && (c.push(f), f = {})), l++ }); return c || f }, delRowData: function (e) { var f = !1, c, d; this.each(function () { c = b(this).jqGrid("getGridRowById", e); if (!c) return !1; b(c).remove(); this.p.records--; this.p.reccount--; this.updatepager(!0, !1); f = !0; this.p.multiselect && (d = b.inArray(e, this.p.selarrrow), -1 !== d && this.p.selarrrow.splice(d, 1)); this.p.selrow = this.p.multiselect && 0 < this.p.selarrrow.length ? this.p.selarrrow[this.p.selarrrow.length - 1] : null; if ("local" === this.p.datatype) { var a = b.jgrid.stripPref(this.p.idPrefix, e), a = this.p._index[a]; void 0 !== a && (this.p.data.splice(a, 1), this.refreshIndex()) } if (!0 === this.p.altRows && f) { var l = this.p.altclass; b(this.rows).each(function (a) { 1 === a % 2 ? b(this).addClass(l) : b(this).removeClass(l) }) } }); return f }, setRowData: function (e, f, c) { var d, a = !0, l; this.each(function () { if (!this.grid) return !1; var g = this, h, k, n = typeof c, m = {}; k = b(this).jqGrid("getGridRowById", e); if (!k) return !1; if (f) try { if (b(this.p.colModel).each(function (a) { d = this.name; var c = b.jgrid.getAccessor(f, d); void 0 !== c && (m[d] = this.formatter && "string" === typeof this.formatter && "date" === this.formatter ? b.unformat.date.call(g, c, this) : c, h = g.formatter(e, c, a, f, "edit"), l = this.title ? { title: b.jgrid.stripHtml(h) } : {}, !0 === g.p.treeGrid && d === g.p.ExpandColumn ? b("td[role='gridcell']:eq(" + a + ") > span:first", k).html(h).attr(l) : b("td[role='gridcell']:eq(" + a + ")", k).html(h).attr(l)) }), "local" === g.p.datatype) { var r = b.jgrid.stripPref(g.p.idPrefix, e), p = g.p._index[r], q; if (g.p.treeGrid) for (q in g.p.treeReader) g.p.treeReader.hasOwnProperty(q) && delete m[g.p.treeReader[q]]; void 0 !== p && (g.p.data[p] = b.extend(!0, g.p.data[p], m)); m = null } } catch (x) { a = !1 } a && ("string" === n ? b(k).addClass(c) : null !== c && "object" === n && b(k).css(c), b(g).triggerHandler("jqGridAfterGridComplete")) }); return a }, addRowData: function (e, f, c, d) { c || (c = "last"); var a = !1, l, g, h, k, n, m, r, p, q = "", x, G, U, M, ea, W; f && (b.isArray(f) ? (x = !0, c = "last", G = e) : (f = [f], x = !1), this.each(function () { var X = f.length; n = !0 === this.p.rownumbers ? 1 : 0; h = !0 === this.p.multiselect ? 1 : 0; k = !0 === this.p.subGrid ? 1 : 0; x || (void 0 !== e ? e = String(e) : (e = b.jgrid.randId(), !1 !== this.p.keyIndex && (G = this.p.colModel[this.p.keyIndex + h + k + n].name, void 0 !== f[0][G] && (e = f[0][G])))); U = this.p.altclass; for (var O = 0, $ = "", K = {}, Y = b.isFunction(this.p.afterInsertRow) ? !0 : !1; O < X;) { M = f[O]; g = []; if (x) { try { e = M[G], void 0 === e && (e = b.jgrid.randId()) } catch (oa) { e = b.jgrid.randId() } $ = !0 === this.p.altRows ? 0 === (this.rows.length - 1) % 2 ? U : "" : "" } W = e; e = this.p.idPrefix + e; n && (q = this.formatCol(0, 1, "", null, e, !0), g[g.length] = '0"); h && (p = '', q = this.formatCol(n, 1, "", null, e, !0), g[g.length] = '" + p + ""); k && (g[g.length] = b(this).jqGrid("addSubGridCell", h + n, 1)); for (r = h + k + n; r < this.p.colModel.length; r++) ea = this.p.colModel[r], l = ea.name, K[l] = M[l], p = this.formatter(e, b.jgrid.getAccessor(M, l), r, M), q = this.formatCol(r, 1, p, M, e, K), g[g.length] = '" + p + ""; g.unshift(this.constructTr(e, !1, $, K, M, !1)); g[g.length] = ""; if (0 === this.rows.length) b("table:first", this.grid.bDiv).append(g.join("")); else switch (c) { case "last": b(this.rows[this.rows.length - 1]).after(g.join("")); m = this.rows.length - 1; break; case "first": b(this.rows[0]).after(g.join("")); m = 1; break; case "after": if (m = b(this).jqGrid("getGridRowById", d)) b(this.rows[m.rowIndex + 1]).hasClass("ui-subgrid") ? b(this.rows[m.rowIndex + 1]).after(g) : b(m).after(g.join("")), m = m.rowIndex + 1; break; case "before": if (m = b(this).jqGrid("getGridRowById", d)) b(m).before(g.join("")), m = m.rowIndex - 1 } !0 === this.p.subGrid && b(this).jqGrid("addSubGrid", h + n, m); this.p.records++; this.p.reccount++; b(this).triggerHandler("jqGridAfterInsertRow", [e, M, M]); Y && this.p.afterInsertRow.call(this, e, M, M); O++; "local" === this.p.datatype && (K[this.p.localReader.id] = W, this.p._index[W] = this.p.data.length, this.p.data.push(K), K = {}) } !0 !== this.p.altRows || x || ("last" === c ? 1 === (this.rows.length - 1) % 2 && b(this.rows[this.rows.length - 1]).addClass(U) : b(this.rows).each(function (a) { 1 === a % 2 ? b(this).addClass(U) : b(this).removeClass(U) })); this.updatepager(!0, !0); a = !0 })); return a }, footerData: function (e, f, c) { function d(a) { for (var b in a) if (a.hasOwnProperty(b)) return !1; return !0 } var a, l = !1, g = {}, h; void 0 == e && (e = "get"); "boolean" !== typeof c && (c = !0); e = e.toLowerCase(); this.each(function () { var k = this, n; if (!k.grid || !k.p.footerrow || "set" === e && d(f)) return !1; l = !0; b(this.p.colModel).each(function (d) { a = this.name; "set" === e ? void 0 !== f[a] && (n = c ? k.formatter("", f[a], d, f, "edit") : f[a], h = this.title ? { title: b.jgrid.stripHtml(n) } : {}, b("tr.footrow td:eq(" + d + ")", k.grid.sDiv).html(n).attr(h), l = !0) : "get" === e && (g[a] = b("tr.footrow td:eq(" + d + ")", k.grid.sDiv).html()) }) }); return "get" === e ? g : l }, showHideCol: function (e, f) { return this.each(function () { var c = this, d = !1, a = b.jgrid.cell_width ? 0 : c.p.cellLayout, l; if (c.grid) { "string" === typeof e && (e = [e]); f = "none" !== f ? "" : "none"; var g = "" === f ? !0 : !1, h = c.p.groupHeader && ("object" === typeof c.p.groupHeader || b.isFunction(c.p.groupHeader)); h && b(c).jqGrid("destroyGroupHeader", !1); b(this.p.colModel).each(function (h) { if (-1 !== b.inArray(this.name, e) && this.hidden === g) { if (!0 === c.p.frozenColumns && !0 === this.frozen) return !0; b("tr[role=rowheader]", c.grid.hDiv).each(function () { b(this.cells[h]).css("display", f) }); b(c.rows).each(function () { b(this).hasClass("jqgroup") || b(this.cells[h]).css("display", f) }); c.p.footerrow && b("tr.footrow td:eq(" + h + ")", c.grid.sDiv).css("display", f); l = parseInt(this.width, 10); c.p.tblwidth = "none" === f ? c.p.tblwidth - (l + a) : c.p.tblwidth + (l + a); this.hidden = !g; d = !0; b(c).triggerHandler("jqGridShowHideCol", [g, this.name, h]) } }); !0 === d && (!0 !== c.p.shrinkToFit || isNaN(c.p.height) || (c.p.tblwidth += parseInt(c.p.scrollOffset, 10)), b(c).jqGrid("setGridWidth", !0 === c.p.shrinkToFit ? c.p.tblwidth : c.p.width)); h && b(c).jqGrid("setGroupHeaders", c.p.groupHeader) } }) }, hideCol: function (e) { return this.each(function () { b(this).jqGrid("showHideCol", e, "none") }) }, showCol: function (e) { return this.each(function () { b(this).jqGrid("showHideCol", e, "") }) }, remapColumns: function (e, f, c) { function d(a) { var c; c = a.length ? b.makeArray(a) : b.extend({}, a); b.each(e, function (b) { a[b] = c[this] }) } function a(a, c) { b(">tr" + (c || ""), a).each(function () { var a = this, c = b.makeArray(a.cells); b.each(e, function () { var b = c[this]; b && a.appendChild(b) }) }) } var l = this.get(0); d(l.p.colModel); d(l.p.colNames); d(l.grid.headers); a(b("thead:first", l.grid.hDiv), c && ":not(.ui-jqgrid-labels)"); f && a(b("#" + b.jgrid.jqID(l.p.id) + " tbody:first"), ".jqgfirstrow, tr.jqgrow, tr.jqfoot"); l.p.footerrow && a(b("tbody:first", l.grid.sDiv)); l.p.remapColumns && (l.p.remapColumns.length ? d(l.p.remapColumns) : l.p.remapColumns = b.makeArray(e)); l.p.lastsort = b.inArray(l.p.lastsort, e); l.p.treeGrid && (l.p.expColInd = b.inArray(l.p.expColInd, e)); b(l).triggerHandler("jqGridRemapColumns", [e, f, c]) }, setGridWidth: function (e, f) { return this.each(function () { if (this.grid) { var c = this, d, a = 0, l = b.jgrid.cell_width ? 0 : c.p.cellLayout, g, h = 0, k = !1, n = c.p.scrollOffset, m, r = 0, p; "boolean" !== typeof f && (f = c.p.shrinkToFit); if (!isNaN(e)) { e = parseInt(e, 10); c.grid.width = c.p.width = e; b("#gbox_" + b.jgrid.jqID(c.p.id)).css("width", e + "px"); b("#gview_" + b.jgrid.jqID(c.p.id)).css("width", e + "px"); b(c.grid.bDiv).css("width", e + "px"); b(c.grid.hDiv).css("width", e + "px"); c.p.pager && b(c.p.pager).css("width", e + "px"); c.p.toppager && b(c.p.toppager).css("width", e + "px"); !0 === c.p.toolbar[0] && (b(c.grid.uDiv).css("width", e + "px"), "both" === c.p.toolbar[1] && b(c.grid.ubDiv).css("width", e + "px")); c.p.footerrow && b(c.grid.sDiv).css("width", e + "px"); !1 === f && !0 === c.p.forceFit && (c.p.forceFit = !1); if (!0 === f) { b.each(c.p.colModel, function () { !1 === this.hidden && (d = this.widthOrg, a += d + l, this.fixed ? r += d + l : h++) }); if (0 === h) return; c.p.tblwidth = a; m = e - l * h - r; !isNaN(c.p.height) && (b(c.grid.bDiv)[0].clientHeight < b(c.grid.bDiv)[0].scrollHeight || 1 === c.rows.length) && (k = !0, m -= n); var a = 0, q = 0 < c.grid.cols.length; b.each(c.p.colModel, function (b) { !1 !== this.hidden || this.fixed || (d = this.widthOrg, d = Math.round(m * d / (c.p.tblwidth - l * h - r)), 0 > d || (this.width = d, a += d, c.grid.headers[b].width = d, c.grid.headers[b].el.style.width = d + "px", c.p.footerrow && (c.grid.footers[b].style.width = d + "px"), q && (c.grid.cols[b].style.width = d + "px"), g = b)) }); if (!g) return; p = 0; k ? e - r - (a + l * h) !== n && (p = e - r - (a + l * h) - n) : 1 !== Math.abs(e - r - (a + l * h)) && (p = e - r - (a + l * h)); c.p.colModel[g].width += p; c.p.tblwidth = a + p + l * h + r; c.p.tblwidth > e ? (k = c.p.tblwidth - parseInt(e, 10), c.p.tblwidth = e, d = c.p.colModel[g].width -= k) : d = c.p.colModel[g].width; c.grid.headers[g].width = d; c.grid.headers[g].el.style.width = d + "px"; q && (c.grid.cols[g].style.width = d + "px"); c.p.footerrow && (c.grid.footers[g].style.width = d + "px") } c.p.tblwidth && (b("table:first", c.grid.bDiv).css("width", c.p.tblwidth + "px"), b("table:first", c.grid.hDiv).css("width", c.p.tblwidth + "px"), c.grid.hDiv.scrollLeft = c.grid.bDiv.scrollLeft, c.p.footerrow && b("table:first", c.grid.sDiv).css("width", c.p.tblwidth + "px")) } } }) }, setGridHeight: function (e) { return this.each(function () { if (this.grid) { var f = b(this.grid.bDiv); f.css({ height: e + (isNaN(e) ? "" : "px") }); !0 === this.p.frozenColumns && b("#" + b.jgrid.jqID(this.p.id) + "_frozen").parent().height(f.height() - 16); this.p.height = e; this.p.scroll && this.grid.populateVisible() } }) }, setCaption: function (e) { return this.each(function () { this.p.caption = e; b("span.ui-jqgrid-title, span.ui-jqgrid-title-rtl", this.grid.cDiv).html(e); b(this.grid.cDiv).show() }) }, setLabel: function (e, f, c, d) { return this.each(function () { var a = -1; if (this.grid && void 0 !== e && (b(this.p.colModel).each(function (b) { if (this.name === e) return a = b, !1 }), 0 <= a)) { var l = b("tr.ui-jqgrid-labels th:eq(" + a + ")", this.grid.hDiv); if (f) { var g = b(".s-ico", l); b("[id^=jqgh_]", l).empty().html(f).append(g); this.p.colNames[a] = f } c && ("string" === typeof c ? b(l).addClass(c) : b(l).css(c)); "object" === typeof d && b(l).attr(d) } }) }, setCell: function (e, f, c, d, a, l) { return this.each(function () { var g = -1, h, k; if (this.grid && (isNaN(f) ? b(this.p.colModel).each(function (a) { if (this.name === f) return g = a, !1 }) : g = parseInt(f, 10), 0 <= g && (h = b(this).jqGrid("getGridRowById", e)))) { var n = b("td:eq(" + g + ")", h); if ("" !== c || !0 === l) h = this.formatter(e, c, g, h, "edit"), k = this.p.colModel[g].title ? { title: b.jgrid.stripHtml(h) } : {}, this.p.treeGrid && 0 < b(".tree-wrap", b(n)).length ? b("span", b(n)).html(h).attr(k) : b(n).html(h).attr(k), "local" === this.p.datatype && (h = this.p.colModel[g], c = h.formatter && "string" === typeof h.formatter && "date" === h.formatter ? b.unformat.date.call(this, c, h) : c, k = this.p._index[b.jgrid.stripPref(this.p.idPrefix, e)], void 0 !== k && (this.p.data[k][h.name] = c)); "string" === typeof d ? b(n).addClass(d) : d && b(n).css(d); "object" === typeof a && b(n).attr(a) } }) }, getCell: function (e, f) { var c = !1; this.each(function () { var d = -1; if (this.grid && (isNaN(f) ? b(this.p.colModel).each(function (a) { if (this.name === f) return d = a, !1 }) : d = parseInt(f, 10), 0 <= d)) { var a = b(this).jqGrid("getGridRowById", e); if (a) try { c = b.unformat.call(this, b("td:eq(" + d + ")", a), { rowId: a.id, colModel: this.p.colModel[d] }, d) } catch (l) { c = b.jgrid.htmlDecode(b("td:eq(" + d + ")", a).html()) } } }); return c }, getCol: function (e, f, c) { var d = [], a, l = 0, g, h, k; f = "boolean" !== typeof f ? !1 : f; void 0 === c && (c = !1); this.each(function () { var n = -1; if (this.grid && (isNaN(e) ? b(this.p.colModel).each(function (a) { if (this.name === e) return n = a, !1 }) : n = parseInt(e, 10), 0 <= n)) { var m = this.rows.length, r = 0, p = 0; if (m && 0 < m) { for (; r < m;) { if (b(this.rows[r]).hasClass("jqgrow")) { try { a = b.unformat.call(this, b(this.rows[r].cells[n]), { rowId: this.rows[r].id, colModel: this.p.colModel[n] }, n) } catch (q) { a = b.jgrid.htmlDecode(this.rows[r].cells[n].innerHTML) } c ? (k = parseFloat(a), isNaN(k) || (l += k, void 0 === h && (h = g = k), g = Math.min(g, k), h = Math.max(h, k), p++)) : f ? d.push({ id: this.rows[r].id, value: a }) : d.push(a) } r++ } if (c) switch (c.toLowerCase()) { case "sum": d = l; break; case "avg": d = l / p; break; case "count": d = m - 1; break; case "min": d = g; break; case "max": d = h } } } }); return d }, clearGridData: function (e) { return this.each(function () { if (this.grid) { "boolean" !== typeof e && (e = !1); if (this.p.deepempty) b("#" + b.jgrid.jqID(this.p.id) + " tbody:first tr:gt(0)").remove(); else { var f = b("#" + b.jgrid.jqID(this.p.id) + " tbody:first tr:first")[0]; b("#" + b.jgrid.jqID(this.p.id) + " tbody:first").empty().append(f) } this.p.footerrow && e && b(".ui-jqgrid-ftable td", this.grid.sDiv).html(" "); this.p.selrow = null; this.p.selarrrow = []; this.p.savedRow = []; this.p.records = 0; this.p.page = 1; this.p.lastpage = 0; this.p.reccount = 0; this.p.data = []; this.p._index = {}; this.updatepager(!0, !1) } }) }, getInd: function (e, f) { var c = !1, d; this.each(function () { (d = b(this).jqGrid("getGridRowById", e)) && (c = !0 === f ? d : d.rowIndex) }); return c }, bindKeys: function (e) { var f = b.extend({ onEnter: null, onSpace: null, onLeftKey: null, onRightKey: null, scrollingRows: !0 }, e || {}); return this.each(function () { var c = this; b("body").is("[role]") || b("body").attr("role", "application"); c.p.scrollrows = f.scrollingRows; b(c).keydown(function (d) { var a = b(c).find("tr[tabindex=0]")[0], e, g, h, k = c.p.treeReader.expanded_field; if (a) if (h = c.p._index[b.jgrid.stripPref(c.p.idPrefix, a.id)], 37 === d.keyCode || 38 === d.keyCode || 39 === d.keyCode || 40 === d.keyCode) { if (38 === d.keyCode) { g = a.previousSibling; e = ""; if (g) if (b(g).is(":hidden")) for (; g;) { if (g = g.previousSibling, !b(g).is(":hidden") && b(g).hasClass("jqgrow")) { e = g.id; break } } else e = g.id; b(c).jqGrid("setSelection", e, !0, d); d.preventDefault() } if (40 === d.keyCode) { g = a.nextSibling; e = ""; if (g) if (b(g).is(":hidden")) for (; g;) { if (g = g.nextSibling, !b(g).is(":hidden") && b(g).hasClass("jqgrow")) { e = g.id; break } } else e = g.id; b(c).jqGrid("setSelection", e, !0, d); d.preventDefault() } 37 === d.keyCode && (c.p.treeGrid && c.p.data[h][k] && b(a).find("div.treeclick").trigger("click"), b(c).triggerHandler("jqGridKeyLeft", [c.p.selrow]), b.isFunction(f.onLeftKey) && f.onLeftKey.call(c, c.p.selrow)); 39 === d.keyCode && (c.p.treeGrid && !c.p.data[h][k] && b(a).find("div.treeclick").trigger("click"), b(c).triggerHandler("jqGridKeyRight", [c.p.selrow]), b.isFunction(f.onRightKey) && f.onRightKey.call(c, c.p.selrow)) } else 13 === d.keyCode ? (b(c).triggerHandler("jqGridKeyEnter", [c.p.selrow]), b.isFunction(f.onEnter) && f.onEnter.call(c, c.p.selrow)) : 32 === d.keyCode && (b(c).triggerHandler("jqGridKeySpace", [c.p.selrow]), b.isFunction(f.onSpace) && f.onSpace.call(c, c.p.selrow)) }) }) }, unbindKeys: function () { return this.each(function () { b(this).unbind("keydown") }) }, getLocalRow: function (e) { var f = !1, c; this.each(function () { void 0 !== e && (c = this.p._index[b.jgrid.stripPref(this.p.idPrefix, e)], 0 <= c && (f = this.p.data[c])) }); return f } }) })(jQuery); (function (a) { a.fmatter = {}; a.extend(a.fmatter, { isBoolean: function (a) { return "boolean" === typeof a }, isObject: function (c) { return c && ("object" === typeof c || a.isFunction(c)) || !1 }, isString: function (a) { return "string" === typeof a }, isNumber: function (a) { return "number" === typeof a && isFinite(a) }, isValue: function (a) { return this.isObject(a) || this.isString(a) || this.isNumber(a) || this.isBoolean(a) }, isEmpty: function (c) { if (!this.isString(c) && this.isValue(c)) return !1; if (!this.isValue(c)) return !0; c = a.trim(c).replace(/\ \;/ig, "").replace(/\ \;/ig, ""); return "" === c } }); a.fn.fmatter = function (c, b, d, e, f) { var g = b; d = a.extend({}, a.jgrid.formatter, d); try { g = a.fn.fmatter[c].call(this, b, d, e, f) } catch (h) { } return g }; a.fmatter.util = { NumberFormat: function (c, b) { a.fmatter.isNumber(c) || (c *= 1); if (a.fmatter.isNumber(c)) { var d = 0 > c, e = String(c), f = b.decimalSeparator || ".", g; if (a.fmatter.isNumber(b.decimalPlaces)) { var h = b.decimalPlaces, e = Math.pow(10, h), e = String(Math.round(c * e) / e); g = e.lastIndexOf("."); if (0 < h) for (0 > g ? (e += f, g = e.length - 1) : "." !== f && (e = e.replace(".", f)) ; e.length - 1 - g < h;) e += "0" } if (b.thousandsSeparator) { h = b.thousandsSeparator; g = e.lastIndexOf(f); g = -1 < g ? g : e.length; var f = e.substring(g), l = -1, k; for (k = g; 0 < k; k--) l++, 0 === l % 3 && k !== g && (!d || 1 < k) && (f = h + f), f = e.charAt(k - 1) + f; e = f } e = b.prefix ? b.prefix + e : e; return e = b.suffix ? e + b.suffix : e } return c } }; a.fn.fmatter.defaultFormat = function (c, b) { return a.fmatter.isValue(c) && "" !== c ? c : b.defaultValue || " " }; a.fn.fmatter.email = function (c, b) { return a.fmatter.isEmpty(c) ? a.fn.fmatter.defaultFormat(c, b) : '
' + c + "" }; a.fn.fmatter.checkbox = function (c, b) { var d = a.extend({}, b.checkbox), e; void 0 !== b.colModel && void 0 !== b.colModel.formatoptions && (d = a.extend({}, d, b.colModel.formatoptions)); e = !0 === d.disabled ? 'disabled="disabled"' : ""; if (a.fmatter.isEmpty(c) || void 0 === c) c = a.fn.fmatter.defaultFormat(c, d); c = String(c); c = (c + "").toLowerCase(); return ' c.search(/(false|f|0|no|n|off|undefined)/i) ? " checked='checked' " : "") + ' value="' + c + '" offval="no" ' + e + "/>" }; a.fn.fmatter.link = function (c, b) { var d = { target: b.target }, e = ""; void 0 !== b.colModel && void 0 !== b.colModel.formatoptions && (d = a.extend({}, d, b.colModel.formatoptions)); d.target && (e = "target=" + d.target); return a.fmatter.isEmpty(c) ? a.fn.fmatter.defaultFormat(c, b) : "' + c + "" }; a.fn.fmatter.showlink = function (c, b) { var d = { baseLinkUrl: b.baseLinkUrl, showAction: b.showAction, addParam: b.addParam || "", target: b.target, idName: b.idName }, e = ""; void 0 !== b.colModel && void 0 !== b.colModel.formatoptions && (d = a.extend({}, d, b.colModel.formatoptions)); d.target && (e = "target=" + d.target); d = d.baseLinkUrl + d.showAction + "?" + d.idName + "=" + b.rowId + d.addParam; return a.fmatter.isString(c) || a.fmatter.isNumber(c) ? "' + c + "" : a.fn.fmatter.defaultFormat(c, b) }; a.fn.fmatter.integer = function (c, b) { var d = a.extend({}, b.integer); void 0 !== b.colModel && void 0 !== b.colModel.formatoptions && (d = a.extend({}, d, b.colModel.formatoptions)); return a.fmatter.isEmpty(c) ? d.defaultValue : a.fmatter.util.NumberFormat(c, d) }; a.fn.fmatter.number = function (c, b) { var d = a.extend({}, b.number); void 0 !== b.colModel && void 0 !== b.colModel.formatoptions && (d = a.extend({}, d, b.colModel.formatoptions)); return a.fmatter.isEmpty(c) ? d.defaultValue : a.fmatter.util.NumberFormat(c, d) }; a.fn.fmatter.currency = function (c, b) { var d = a.extend({}, b.currency); void 0 !== b.colModel && void 0 !== b.colModel.formatoptions && (d = a.extend({}, d, b.colModel.formatoptions)); return a.fmatter.isEmpty(c) ? d.defaultValue : a.fmatter.util.NumberFormat(c, d) }; a.fn.fmatter.date = function (c, b, d, e) { d = a.extend({}, b.date); void 0 !== b.colModel && void 0 !== b.colModel.formatoptions && (d = a.extend({}, d, b.colModel.formatoptions)); return d.reformatAfterEdit || "edit" !== e ? a.fmatter.isEmpty(c) ? a.fn.fmatter.defaultFormat(c, b) : a.jgrid.parseDate(d.srcformat, c, d.newformat, d) : a.fn.fmatter.defaultFormat(c, b) }; a.fn.fmatter.select = function (c, b) { c = String(c); var d = !1, e = [], f, g; void 0 !== b.colModel.formatoptions ? (d = b.colModel.formatoptions.value, f = void 0 === b.colModel.formatoptions.separator ? ":" : b.colModel.formatoptions.separator, g = void 0 === b.colModel.formatoptions.delimiter ? ";" : b.colModel.formatoptions.delimiter) : void 0 !== b.colModel.editoptions && (d = b.colModel.editoptions.value, f = void 0 === b.colModel.editoptions.separator ? ":" : b.colModel.editoptions.separator, g = void 0 === b.colModel.editoptions.delimiter ? ";" : b.colModel.editoptions.delimiter); if (d) { var h = !0 === b.colModel.editoptions.multiple ? !0 : !1, l = []; h && (l = c.split(","), l = a.map(l, function (b) { return a.trim(b) })); if (a.fmatter.isString(d)) { var k = d.split(g), m = 0, n; for (n = 0; n < k.length; n++) if (g = k[n].split(f), 2 < g.length && (g[1] = a.map(g, function (a, b) { if (0 < b) return a }).join(f)), h) -1 < a.inArray(g[0], l) && (e[m] = g[1], m++); else if (a.trim(g[0]) === a.trim(c)) { e[0] = g[1]; break } } else a.fmatter.isObject(d) && (h ? e = a.map(l, function (a) { return d[a] }) : e[0] = d[c] || "") } c = e.join(", "); return "" === c ? a.fn.fmatter.defaultFormat(c, b) : c }; a.fn.fmatter.rowactions = function (c) { var b = a(this).closest("tr.jqgrow"), d = b.attr("id"), e = a(this).closest("table.ui-jqgrid-btable").attr("id").replace(/_frozen([^_]*)$/, "$1"), e = a("#" + e), f = e[0], g = f.p, h = g.colModel[a.jgrid.getCellIndex(this)], l = h.frozen ? a("tr#" + d + " td:eq(" + a.jgrid.getCellIndex(this) + ") > div", e) : a(this).parent(), k = { extraparam: {} }, m = function (b) { a.isFunction(k.afterRestore) && k.afterRestore.call(f, b); l.find("div.ui-inline-edit,div.ui-inline-del").show(); l.find("div.ui-inline-save,div.ui-inline-cancel").hide() }; void 0 !== h.formatoptions && (k = a.extend(k, h.formatoptions)); void 0 !== g.editOptions && (k.editOptions = g.editOptions); void 0 !== g.delOptions && (k.delOptions = g.delOptions); b.hasClass("jqgrid-new-row") && (k.extraparam[g.prmNames.oper] = g.prmNames.addoper); b = { keys: k.keys, oneditfunc: k.onEdit, successfunc: k.onSuccess, url: k.url, extraparam: k.extraparam, aftersavefunc: function (b, c) { a.isFunction(k.afterSave) && k.afterSave.call(f, b, c); l.find("div.ui-inline-edit,div.ui-inline-del").show(); l.find("div.ui-inline-save,div.ui-inline-cancel").hide() }, errorfunc: k.onError, afterrestorefunc: m, restoreAfterError: k.restoreAfterError, mtype: k.mtype }; switch (c) { case "edit": e.jqGrid("editRow", d, b); l.find("div.ui-inline-edit,div.ui-inline-del").hide(); l.find("div.ui-inline-save,div.ui-inline-cancel").show(); e.triggerHandler("jqGridAfterGridComplete"); break; case "save": e.jqGrid("saveRow", d, b) && (l.find("div.ui-inline-edit,div.ui-inline-del").show(), l.find("div.ui-inline-save,div.ui-inline-cancel").hide(), e.triggerHandler("jqGridAfterGridComplete")); break; case "cancel": e.jqGrid("restoreRow", d, m); l.find("div.ui-inline-edit,div.ui-inline-del").show(); l.find("div.ui-inline-save,div.ui-inline-cancel").hide(); e.triggerHandler("jqGridAfterGridComplete"); break; case "del": e.jqGrid("delGridRow", d, k.delOptions); break; case "formedit": e.jqGrid("setSelection", d), e.jqGrid("editGridRow", d, k.editOptions) } }; a.fn.fmatter.actions = function (c, b) { var d = { keys: !1, editbutton: !0, delbutton: !0, editformbutton: !1 }, e = b.rowId, f = ""; void 0 !== b.colModel.formatoptions && (d = a.extend(d, b.colModel.formatoptions)); if (void 0 === e || a.fmatter.isEmpty(e)) return ""; d.editformbutton ? f += "
" : d.editbutton && (f += "
"); d.delbutton && (f += "
"); f += ""; f += ""; return "
" + f + "
" }; a.unformat = function (c, b, d, e) { var f, g = b.colModel.formatter, h = b.colModel.formatoptions || {}, l = /([\.\*\_\'\(\)\{\}\+\?\\])/g, k = b.colModel.unformat || a.fn.fmatter[g] && a.fn.fmatter[g].unformat; if (void 0 !== k && a.isFunction(k)) f = k.call(this, a(c).text(), b, c); else if (void 0 !== g && a.fmatter.isString(g)) switch (f = a.jgrid.formatter || {}, g) { case "integer": h = a.extend({}, f.integer, h); b = h.thousandsSeparator.replace(l, "\\$1"); b = RegExp(b, "g"); f = a(c).text().replace(b, ""); break; case "number": h = a.extend({}, f.number, h); b = h.thousandsSeparator.replace(l, "\\$1"); b = RegExp(b, "g"); f = a(c).text().replace(b, "").replace(h.decimalSeparator, "."); break; case "currency": h = a.extend({}, f.currency, h); b = h.thousandsSeparator.replace(l, "\\$1"); b = RegExp(b, "g"); f = a(c).text(); h.prefix && h.prefix.length && (f = f.substr(h.prefix.length)); h.suffix && h.suffix.length && (f = f.substr(0, f.length - h.suffix.length)); f = f.replace(b, "").replace(h.decimalSeparator, "."); break; case "checkbox": h = b.colModel.editoptions ? b.colModel.editoptions.value.split(":") : ["Yes", "No"]; f = a("input", c).is(":checked") ? h[0] : h[1]; break; case "select": f = a.unformat.select(c, b, d, e); break; case "actions": return ""; default: f = a(c).text() } return void 0 !== f ? f : !0 === e ? a(c).text() : a.jgrid.htmlDecode(a(c).html()) }; a.unformat.select = function (c, b, d, e) { d = []; c = a(c).text(); if (!0 === e) return c; e = a.extend({}, void 0 !== b.colModel.formatoptions ? b.colModel.formatoptions : b.colModel.editoptions); b = void 0 === e.separator ? ":" : e.separator; var f = void 0 === e.delimiter ? ";" : e.delimiter; if (e.value) { var g = e.value; e = !0 === e.multiple ? !0 : !1; var h = []; e && (h = c.split(","), h = a.map(h, function (b) { return a.trim(b) })); if (a.fmatter.isString(g)) { var l = g.split(f), k = 0, m; for (m = 0; m < l.length; m++) if (f = l[m].split(b), 2 < f.length && (f[1] = a.map(f, function (a, b) { if (0 < b) return a }).join(b)), e) -1 < a.inArray(f[1], h) && (d[k] = f[0], k++); else if (a.trim(f[1]) === a.trim(c)) { d[0] = f[0]; break } } else if (a.fmatter.isObject(g) || a.isArray(g)) e || (h[0] = c), d = a.map(h, function (b) { var c; a.each(g, function (a, d) { if (d === b) return c = a, !1 }); if (void 0 !== c) return c }); return d.join(", ") } return c || "" }; a.unformat.date = function (c, b) { var d = a.jgrid.formatter.date || {}; void 0 !== b.formatoptions && (d = a.extend({}, d, b.formatoptions)); return a.fmatter.isEmpty(c) ? a.fn.fmatter.defaultFormat(c, b) : a.jgrid.parseDate(d.newformat, c, d.srcformat, d) } })(jQuery); (function (a) { a.jgrid.extend({ getColProp: function (a) { var c = {}, d = this[0]; if (!d.grid) return !1; var d = d.p.colModel, h; for (h = 0; h < d.length; h++) if (d[h].name === a) { c = d[h]; break } return c }, setColProp: function (b, c) { return this.each(function () { if (this.grid && c) { var d = this.p.colModel, h; for (h = 0; h < d.length; h++) if (d[h].name === b) { a.extend(!0, this.p.colModel[h], c); break } } }) }, sortGrid: function (a, c, d) { return this.each(function () { var h = -1, k, e = !1; if (this.grid) { a || (a = this.p.sortname); for (k = 0; k < this.p.colModel.length; k++) if (this.p.colModel[k].index === a || this.p.colModel[k].name === a) { h = k; !0 === this.p.frozenColumns && !0 === this.p.colModel[k].frozen && (e = this.grid.fhDiv.find("#" + this.p.id + "_" + a)); break } -1 !== h && (k = this.p.colModel[h].sortable, e || (e = this.grid.headers[h].el), "boolean" !== typeof k && (k = !0), "boolean" !== typeof c && (c = !1), k && this.sortData("jqgh_" + this.p.id + "_" + a, h, c, d, e)) } }) }, clearBeforeUnload: function () { return this.each(function () { var b = this.grid; a.isFunction(b.emptyRows) && b.emptyRows.call(this, !0, !0); a(document).unbind("mouseup.jqGrid" + this.p.id); a(b.hDiv).unbind("mousemove"); a(this).unbind(); b.dragEnd = null; b.dragMove = null; b.dragStart = null; b.emptyRows = null; b.populate = null; b.populateVisible = null; b.scrollGrid = null; b.selectionPreserver = null; b.bDiv = null; b.cDiv = null; b.hDiv = null; b.cols = null; var c, d = b.headers.length; for (c = 0; c < d; c++) b.headers[c].el = null; this.grid = this.addJSONData = this.addXmlData = this.formatter = this.constructTr = this.setHeadCheckBox = this.refreshIndex = this.updatepager = this.sortData = this.formatCol = null }) }, GridDestroy: function () { return this.each(function () { if (this.grid) { this.p.pager && a(this.p.pager).remove(); try { a(this).jqGrid("clearBeforeUnload"), a("#gbox_" + a.jgrid.jqID(this.id)).remove() } catch (b) { } } }) }, GridUnload: function () { return this.each(function () { if (this.grid) { var b = a(this).attr("id"), c = a(this).attr("class"); this.p.pager && a(this.p.pager).empty().removeClass("ui-state-default ui-jqgrid-pager ui-corner-bottom"); var d = document.createElement("table"); a(d).attr({ id: b }); d.className = c; b = a.jgrid.jqID(this.id); a(d).removeClass("ui-jqgrid-btable"); 1 === a(this.p.pager).parents("#gbox_" + b).length ? (a(d).insertBefore("#gbox_" + b).show(), a(this.p.pager).insertBefore("#gbox_" + b)) : a(d).insertBefore("#gbox_" + b).show(); a(this).jqGrid("clearBeforeUnload"); a("#gbox_" + b).remove() } }) }, setGridState: function (b) { return this.each(function () { this.grid && ("hidden" === b ? (a(".ui-jqgrid-bdiv, .ui-jqgrid-hdiv", "#gview_" + a.jgrid.jqID(this.p.id)).slideUp("fast"), this.p.pager && a(this.p.pager).slideUp("fast"), this.p.toppager && a(this.p.toppager).slideUp("fast"), !0 === this.p.toolbar[0] && ("both" === this.p.toolbar[1] && a(this.grid.ubDiv).slideUp("fast"), a(this.grid.uDiv).slideUp("fast")), this.p.footerrow && a(".ui-jqgrid-sdiv", "#gbox_" + a.jgrid.jqID(this.p.id)).slideUp("fast"), a(".ui-jqgrid-titlebar-close span", this.grid.cDiv).removeClass("ui-icon-circle-triangle-n").addClass("ui-icon-circle-triangle-s"), this.p.gridstate = "hidden") : "visible" === b && (a(".ui-jqgrid-hdiv, .ui-jqgrid-bdiv", "#gview_" + a.jgrid.jqID(this.p.id)).slideDown("fast"), this.p.pager && a(this.p.pager).slideDown("fast"), this.p.toppager && a(this.p.toppager).slideDown("fast"), !0 === this.p.toolbar[0] && ("both" === this.p.toolbar[1] && a(this.grid.ubDiv).slideDown("fast"), a(this.grid.uDiv).slideDown("fast")), this.p.footerrow && a(".ui-jqgrid-sdiv", "#gbox_" + a.jgrid.jqID(this.p.id)).slideDown("fast"), a(".ui-jqgrid-titlebar-close span", this.grid.cDiv).removeClass("ui-icon-circle-triangle-s").addClass("ui-icon-circle-triangle-n"), this.p.gridstate = "visible")) }) }, filterToolbar: function (b) { b = a.extend({ autosearch: !0, searchOnEnter: !0, beforeSearch: null, afterSearch: null, beforeClear: null, afterClear: null, searchurl: "", stringResult: !1, groupOp: "AND", defaultSearch: "bw", searchOperators: !1, resetIcon: "x", operands: { eq: "==", ne: "!", lt: "<", le: "<=", gt: ">", ge: ">=", bw: "^", bn: "!^", "in": "=", ni: "!=", ew: "|", en: "!@", cn: "~", nc: "!~", nu: "#", nn: "!#" } }, a.jgrid.search, b || {}); return this.each(function () { var c = this; if (!this.ftoolbar) { var d = function () { var d = {}, f = 0, g, m, e = {}, q; a.each(c.p.colModel, function () { var l = a("#gs_" + a.jgrid.jqID(this.name), !0 === this.frozen && !0 === c.p.frozenColumns ? c.grid.fhDiv : c.grid.hDiv); m = this.index || this.name; q = b.searchOperators ? l.parent().prev().children("a").attr("soper") || b.defaultSearch : this.searchoptions && this.searchoptions.sopt ? this.searchoptions.sopt[0] : "select" === this.stype ? "eq" : b.defaultSearch; if ((g = "custom" === this.stype && a.isFunction(this.searchoptions.custom_value) && 0 < l.length && "SPAN" === l[0].nodeName.toUpperCase() ? this.searchoptions.custom_value.call(c, l.children(".customelement:first"), "get") : l.val()) || "nu" === q || "nn" === q) d[m] = g, e[m] = q, f++; else try { delete c.p.postData[m] } catch (k) { } }); var k = 0 < f ? !0 : !1; if (!0 === b.stringResult || "local" === c.p.datatype) { var l = '{"groupOp":"' + b.groupOp + '","rules":[', n = 0; a.each(d, function (a, b) { 0 < n && (l += ","); l += '{"field":"' + a + '",'; l += '"op":"' + e[a] + '",'; l += '"data":"' + (b + "").replace(/\\/g, "\\\\").replace(/\"/g, '\\"') + '"}'; n++ }); l += "]}"; a.extend(c.p.postData, { filters: l }); a.each(["searchField", "searchString", "searchOper"], function (a, b) { c.p.postData.hasOwnProperty(b) && delete c.p.postData[b] }) } else a.extend(c.p.postData, d); var r; c.p.searchurl && (r = c.p.url, a(c).jqGrid("setGridParam", { url: c.p.searchurl })); var h = "stop" === a(c).triggerHandler("jqGridToolbarBeforeSearch") ? !0 : !1; !h && a.isFunction(b.beforeSearch) && (h = b.beforeSearch.call(c)); h || a(c).jqGrid("setGridParam", { search: k }).trigger("reloadGrid", [{ page: 1 }]); r && a(c).jqGrid("setGridParam", { url: r }); a(c).triggerHandler("jqGridToolbarAfterSearch"); a.isFunction(b.afterSearch) && b.afterSearch.call(c) }, h = function (e, f, g) { a("#sopt_menu").remove(); f = parseInt(f, 10); g = parseInt(g, 10) + 18; f = '"; a("body").append(f); a("#sopt_menu").addClass("ui-menu ui-widget ui-widget-content ui-corner-all"); a("#sopt_menu > li > a").hover(function () { a(this).addClass("ui-state-hover") }, function () { a(this).removeClass("ui-state-hover") }).click(function (f) { f = a(this).attr("value"); var g = a(this).attr("oper"); a(c).triggerHandler("jqGridToolbarSelectOper", [f, g, e]); a("#sopt_menu").hide(); a(e).text(g).attr("soper", f); !0 === b.autosearch && (g = a(e).parent().next().children()[0], (a(g).val() || "nu" === f || "nn" === f) && d()) }) }, k = a(""), e; a.each(c.p.colModel, function (h) { var f = this, g, m; m = ""; var x = "=", q, p = a(""), l = a("
"), n = a("
"); !0 === this.hidden && a(p).css("display", "none"); this.search = !1 === this.search ? !1 : !0; void 0 === this.stype && (this.stype = "text"); g = a.extend({}, this.searchoptions || {}); if (this.search) { if (b.searchOperators) { m = g.sopt ? g.sopt[0] : "select" === f.stype ? "eq" : b.defaultSearch; for (q = 0; q < b.odata.length; q++) if (b.odata[q].oper === m) { x = b.operands[m] || ""; break } m = "" + x + "" } a("td:eq(0)", n).attr("colindex", h).append(m); void 0 === g.clearSearch && (g.clearSearch = !0); g.clearSearch ? (m = b.resetTitle || "Clear Search Value", a("td:eq(2)", n).append("" + b.resetIcon + "")) : a("td:eq(2)", n).hide(); switch (this.stype) { case "select": if (m = this.surl || g.dataUrl) a(l).append(n), a.ajax(a.extend({ url: m, dataType: "html", success: function (e) { void 0 !== g.buildSelect ? (e = g.buildSelect(e)) && a("td:eq(1)", n).append(e) : a("td:eq(1)", n).append(e); void 0 !== g.defaultValue && a("select", l).val(g.defaultValue); a("select", l).attr({ name: f.index || f.name, id: "gs_" + f.name }); g.attr && a("select", l).attr(g.attr); a("select", l).css({ width: "100%" }); a.jgrid.bindEv.call(c, a("select", l)[0], g); !0 === b.autosearch && a("select", l).change(function () { d(); return !1 }); e = null } }, a.jgrid.ajaxOptions, c.p.ajaxSelectOptions || {})); else { var r, w, u; f.searchoptions ? (r = void 0 === f.searchoptions.value ? "" : f.searchoptions.value, w = void 0 === f.searchoptions.separator ? ":" : f.searchoptions.separator, u = void 0 === f.searchoptions.delimiter ? ";" : f.searchoptions.delimiter) : f.editoptions && (r = void 0 === f.editoptions.value ? "" : f.editoptions.value, w = void 0 === f.editoptions.separator ? ":" : f.editoptions.separator, u = void 0 === f.editoptions.delimiter ? ";" : f.editoptions.delimiter); if (r) { var t = document.createElement("select"); t.style.width = "100%"; a(t).attr({ name: f.index || f.name, id: "gs_" + f.name }); var v; if ("string" === typeof r) for (m = r.split(u), v = 0; v < m.length; v++) r = m[v].split(w), u = document.createElement("option"), u.value = r[0], u.innerHTML = r[1], t.appendChild(u); else if ("object" === typeof r) for (v in r) r.hasOwnProperty(v) && (u = document.createElement("option"), u.value = v, u.innerHTML = r[v], t.appendChild(u)); void 0 !== g.defaultValue && a(t).val(g.defaultValue); g.attr && a(t).attr(g.attr); a(l).append(n); a.jgrid.bindEv.call(c, t, g); a("td:eq(1)", n).append(t); !0 === b.autosearch && a(t).change(function () { d(); return !1 }) } } break; case "text": w = void 0 !== g.defaultValue ? g.defaultValue : ""; a("td:eq(1)", n).append(""); a(l).append(n); g.attr && a("input", l).attr(g.attr); a.jgrid.bindEv.call(c, a("input", l)[0], g); !0 === b.autosearch && (b.searchOnEnter ? a("input", l).keypress(function (a) { return 13 === (a.charCode || a.keyCode || 0) ? (d(), !1) : this }) : a("input", l).keydown(function (a) { switch (a.which) { case 13: return !1; case 9: case 16: case 37: case 38: case 39: case 40: case 27: break; default: e && clearTimeout(e), e = setTimeout(function () { d() }, 500) } })); break; case "custom": a("td:eq(1)", n).append(""); a(l).append(n); try { if (a.isFunction(g.custom_element)) if (t = g.custom_element.call(c, void 0 !== g.defaultValue ? g.defaultValue : "", g)) t = a(t).addClass("customelement"), a(l).find(">span").append(t); else throw "e2"; else throw "e1"; } catch (y) { "e1" === y && a.jgrid.info_dialog(a.jgrid.errors.errcap, "function 'custom_element' " + a.jgrid.edit.msg.nodefined, a.jgrid.edit.bClose), "e2" === y ? a.jgrid.info_dialog(a.jgrid.errors.errcap, "function 'custom_element' " + a.jgrid.edit.msg.novalue, a.jgrid.edit.bClose) : a.jgrid.info_dialog(a.jgrid.errors.errcap, "string" === typeof y ? y : y.message, a.jgrid.edit.bClose) } } } a(p).append(l); a(k).append(p); b.searchOperators || a("td:eq(0)", n).hide() }); a("table thead", c.grid.hDiv).append(k); b.searchOperators && (a(".soptclass", k).click(function (b) { var c = a(this).offset(); h(this, c.left, c.top); b.stopPropagation() }), a("body").on("click", function (b) { "soptclass" !== b.target.className && a("#sopt_menu").hide() })); a(".clearsearchclass", k).click(function (e) { e = a(this).parents("tr:first"); var f = parseInt(a("td.ui-search-oper", e).attr("colindex"), 10), g = a.extend({}, c.p.colModel[f].searchoptions || {}), g = g.defaultValue ? g.defaultValue : ""; "select" === c.p.colModel[f].stype ? g ? a("td.ui-search-input select", e).val(g) : a("td.ui-search-input select", e)[0].selectedIndex = 0 : a("td.ui-search-input input", e).val(g); !0 === b.autosearch && d() }); this.ftoolbar = !0; this.triggerToolbar = d; this.clearToolbar = function (d) { var f = {}, g = 0, e; d = "boolean" !== typeof d ? !0 : d; a.each(c.p.colModel, function () { var b, d = a("#gs_" + a.jgrid.jqID(this.name), !0 === this.frozen && !0 === c.p.frozenColumns ? c.grid.fhDiv : c.grid.hDiv); this.searchoptions && void 0 !== this.searchoptions.defaultValue && (b = this.searchoptions.defaultValue); e = this.index || this.name; switch (this.stype) { case "select": d.find("option").each(function (c) { 0 === c && (this.selected = !0); if (a(this).val() === b) return this.selected = !0, !1 }); if (void 0 !== b) f[e] = b, g++; else try { delete c.p.postData[e] } catch (h) { } break; case "text": d.val(b || ""); if (void 0 !== b) f[e] = b, g++; else try { delete c.p.postData[e] } catch (k) { } break; case "custom": a.isFunction(this.searchoptions.custom_value) && 0 < d.length && "SPAN" === d[0].nodeName.toUpperCase() && this.searchoptions.custom_value.call(c, d.children(".customelement:first"), "set", b || "") } }); var k = 0 < g ? !0 : !1; c.p.resetsearch = !0; if (!0 === b.stringResult || "local" === c.p.datatype) { var h = '{"groupOp":"' + b.groupOp + '","rules":[', p = 0; a.each(f, function (a, b) { 0 < p && (h += ","); h += '{"field":"' + a + '",'; h += '"op":"eq",'; h += '"data":"' + (b + "").replace(/\\/g, "\\\\").replace(/\"/g, '\\"') + '"}'; p++ }); h += "]}"; a.extend(c.p.postData, { filters: h }); a.each(["searchField", "searchString", "searchOper"], function (a, b) { c.p.postData.hasOwnProperty(b) && delete c.p.postData[b] }) } else a.extend(c.p.postData, f); var l; c.p.searchurl && (l = c.p.url, a(c).jqGrid("setGridParam", { url: c.p.searchurl })); var n = "stop" === a(c).triggerHandler("jqGridToolbarBeforeClear") ? !0 : !1; !n && a.isFunction(b.beforeClear) && (n = b.beforeClear.call(c)); n || d && a(c).jqGrid("setGridParam", { search: k }).trigger("reloadGrid", [{ page: 1 }]); l && a(c).jqGrid("setGridParam", { url: l }); a(c).triggerHandler("jqGridToolbarAfterClear"); a.isFunction(b.afterClear) && b.afterClear() }; this.toggleToolbar = function () { var b = a("tr.ui-search-toolbar", c.grid.hDiv), d = !0 === c.p.frozenColumns ? a("tr.ui-search-toolbar", c.grid.fhDiv) : !1; "none" === b.css("display") ? (b.show(), d && d.show()) : (b.hide(), d && d.hide()) } } }) }, destroyFilterToolbar: function () { return this.each(function () { this.ftoolbar && (this.toggleToolbar = this.clearToolbar = this.triggerToolbar = null, this.ftoolbar = !1, a(this.grid.hDiv).find("table thead tr.ui-search-toolbar").remove()) }) }, destroyGroupHeader: function (b) { void 0 === b && (b = !0); return this.each(function () { var c, d, h, k, e, s; d = this.grid; var f = a("table.ui-jqgrid-htable thead", d.hDiv), g = this.p.colModel; if (d) { a(this).unbind(".setGroupHeaders"); c = a("", { role: "rowheader" }).addClass("ui-jqgrid-labels"); k = d.headers; d = 0; for (h = k.length; d < h; d++) { e = g[d].hidden ? "none" : ""; e = a(k[d].el).width(k[d].width).css("display", e); try { e.removeAttr("rowSpan") } catch (m) { e.attr("rowSpan", 1) } c.append(e); s = e.children("span.ui-jqgrid-resize"); 0 < s.length && (s[0].style.height = ""); e.children("div")[0].style.top = "" } a(f).children("tr.ui-jqgrid-labels").remove(); a(f).prepend(c); !0 === b && a(this).jqGrid("setGridParam", { groupHeader: null }) } }) }, setGroupHeaders: function (b) { b = a.extend({ useColSpanStyle: !1, groupHeaders: [] }, b || {}); return this.each(function () { this.p.groupHeader = b; var c, d, h = 0, k, e, s, f, g, m = this.p.colModel, x = m.length, q = this.grid.headers, p = a("table.ui-jqgrid-htable", this.grid.hDiv), l = p.children("thead").children("tr.ui-jqgrid-labels:last").addClass("jqg-second-row-header"); k = p.children("thead"); var n = p.find(".jqg-first-row-header"); void 0 === n[0] ? n = a("", { role: "row", "aria-hidden": "true" }).addClass("jqg-first-row-header").css("height", "auto") : n.empty(); var r, w = function (a, b) { var c = b.length, d; for (d = 0; d < c; d++) if (b[d].startColumnName === a) return d; return -1 }; a(this).prepend(k); k = a("", { role: "rowheader" }).addClass("ui-jqgrid-labels jqg-third-row-header"); for (c = 0; c < x; c++) if (s = q[c].el, f = a(s), d = m[c], e = { height: "0px", width: q[c].width + "px", display: d.hidden ? "none" : "" }, a("", { role: "gridcell" }).css(e).addClass("ui-first-th-" + this.p.direction).appendTo(n), s.style.width = "", e = w(d.name, b.groupHeaders), 0 <= e) { e = b.groupHeaders[e]; h = e.numberOfColumns; g = e.titleText; for (e = d = 0; e < h && c + e < x; e++) m[c + e].hidden || d++; e = a("").attr({ role: "columnheader" }).addClass("ui-state-default ui-th-column-header ui-th-" + this.p.direction).css({ height: "28px", "border-top": "0 none" }).html(g); 0 < d && e.attr("colspan", String(d)); this.p.headertitles && e.attr("title", e.text()); 0 === d && e.hide(); f.before(e); k.append(s); h -= 1 } else 0 === h ? b.useColSpanStyle ? f.attr("rowspan", "2") : (a("", { role: "columnheader" }).addClass("ui-state-default ui-th-column-header ui-th-" + this.p.direction).css({ display: d.hidden ? "none" : "", "border-top": "0 none" }).insertBefore(f), k.append(s)) : (k.append(s), h--); m = a(this).children("thead"); m.prepend(n); k.insertAfter(l); p.append(m); b.useColSpanStyle && (p.find("span.ui-jqgrid-resize").each(function () { var b = a(this).parent(); b.is(":visible") && (this.style.cssText = "height: " + b.height() + "px !important; cursor: col-resize;") }), p.find("div.ui-jqgrid-sortable").each(function () { var b = a(this), c = b.parent(); c.is(":visible") && c.is(":has(span.ui-jqgrid-resize)") && b.css("top", (c.height() - b.outerHeight()) / 2 - 2 + "px") })); r = m.find("tr.jqg-first-row-header"); a(this).bind("jqGridResizeStop.setGroupHeaders", function (a, b, c) { r.find("th").eq(c).width(b) }) }) }, setFrozenColumns: function () { return this.each(function () { if (this.grid) { var b = this, c = b.p.colModel, d = 0, h = c.length, k = -1, e = !1; if (!0 !== b.p.subGrid && !0 !== b.p.treeGrid && !0 !== b.p.cellEdit && !b.p.sortable && !b.p.scroll) { b.p.rownumbers && d++; for (b.p.multiselect && d++; d < h;) { if (!0 === c[d].frozen) e = !0, k = d; else break; d++ } if (0 <= k && e) { c = b.p.caption ? a(b.grid.cDiv).outerHeight() : 0; d = a(".ui-jqgrid-htable", "#gview_" + a.jgrid.jqID(b.p.id)).height(); b.p.toppager && (c += a(b.grid.topDiv).outerHeight()); !0 === b.p.toolbar[0] && "bottom" !== b.p.toolbar[1] && (c += a(b.grid.uDiv).outerHeight()); b.grid.fhDiv = a('
'); b.grid.fbDiv = a('
'); a("#gview_" + a.jgrid.jqID(b.p.id)).append(b.grid.fhDiv); c = a(".ui-jqgrid-htable", "#gview_" + a.jgrid.jqID(b.p.id)).clone(!0); if (b.p.groupHeader) { a("tr.jqg-first-row-header, tr.jqg-third-row-header", c).each(function () { a("th:gt(" + k + ")", this).remove() }); var s = -1, f = -1, g, m; a("tr.jqg-second-row-header th", c).each(function () { g = parseInt(a(this).attr("colspan"), 10); if (m = parseInt(a(this).attr("rowspan"), 10)) s++, f++; g && (s += g, f++); if (s === k) return !1 }); s !== k && (f = k); a("tr.jqg-second-row-header", c).each(function () { a("th:gt(" + f + ")", this).remove() }) } else a("tr", c).each(function () { a("th:gt(" + k + ")", this).remove() }); a(c).width(1); a(b.grid.fhDiv).append(c).mousemove(function (a) { if (b.grid.resizing) return b.grid.dragMove(a), !1 }); a(b).bind("jqGridResizeStop.setFrozenColumns", function (c, d, e) { c = a(".ui-jqgrid-htable", b.grid.fhDiv); a("th:eq(" + e + ")", c).width(d); c = a(".ui-jqgrid-btable", b.grid.fbDiv); a("tr:first td:eq(" + e + ")", c).width(d) }); a(b).bind("jqGridSortCol.setFrozenColumns", function (c, d, e) { c = a("tr.ui-jqgrid-labels:last th:eq(" + b.p.lastsort + ")", b.grid.fhDiv); d = a("tr.ui-jqgrid-labels:last th:eq(" + e + ")", b.grid.fhDiv); a("span.ui-grid-ico-sort", c).addClass("ui-state-disabled"); a(c).attr("aria-selected", "false"); a("span.ui-icon-" + b.p.sortorder, d).removeClass("ui-state-disabled"); a(d).attr("aria-selected", "true"); b.p.viewsortcols[0] || b.p.lastsort === e || (a("span.s-ico", c).hide(), a("span.s-ico", d).show()) }); a("#gview_" + a.jgrid.jqID(b.p.id)).append(b.grid.fbDiv); a(b.grid.bDiv).scroll(function () { a(b.grid.fbDiv).scrollTop(a(this).scrollTop()) }); !0 === b.p.hoverrows && a("#" + a.jgrid.jqID(b.p.id)).unbind("mouseover").unbind("mouseout"); a(b).bind("jqGridAfterGridComplete.setFrozenColumns", function () { a("#" + a.jgrid.jqID(b.p.id) + "_frozen").remove(); a(b.grid.fbDiv).height(a(b.grid.bDiv).height() - 16); var c = a("#" + a.jgrid.jqID(b.p.id)).clone(!0); a("tr[role=row]", c).each(function () { a("td[role=gridcell]:gt(" + k + ")", this).remove() }); a(c).width(1).attr("id", b.p.id + "_frozen"); a(b.grid.fbDiv).append(c); !0 === b.p.hoverrows && (a("tr.jqgrow", c).hover(function () { a(this).addClass("ui-state-hover"); a("#" + a.jgrid.jqID(this.id), "#" + a.jgrid.jqID(b.p.id)).addClass("ui-state-hover") }, function () { a(this).removeClass("ui-state-hover"); a("#" + a.jgrid.jqID(this.id), "#" + a.jgrid.jqID(b.p.id)).removeClass("ui-state-hover") }), a("tr.jqgrow", "#" + a.jgrid.jqID(b.p.id)).hover(function () { a(this).addClass("ui-state-hover"); a("#" + a.jgrid.jqID(this.id), "#" + a.jgrid.jqID(b.p.id) + "_frozen").addClass("ui-state-hover") }, function () { a(this).removeClass("ui-state-hover"); a("#" + a.jgrid.jqID(this.id), "#" + a.jgrid.jqID(b.p.id) + "_frozen").removeClass("ui-state-hover") })); c = null }); b.grid.hDiv.loading || a(b).triggerHandler("jqGridAfterGridComplete"); b.p.frozenColumns = !0 } } } }) }, destroyFrozenColumns: function () { return this.each(function () { if (this.grid && !0 === this.p.frozenColumns) { a(this.grid.fhDiv).remove(); a(this.grid.fbDiv).remove(); this.grid.fhDiv = null; this.grid.fbDiv = null; a(this).unbind(".setFrozenColumns"); if (!0 === this.p.hoverrows) { var b; a("#" + a.jgrid.jqID(this.p.id)).bind("mouseover", function (c) { b = a(c.target).closest("tr.jqgrow"); "ui-subgrid" !== a(b).attr("class") && a(b).addClass("ui-state-hover") }).bind("mouseout", function (c) { b = a(c.target).closest("tr.jqgrow"); a(b).removeClass("ui-state-hover") }) } this.p.frozenColumns = !1 } }) } }) })(jQuery); (function (a) { a.extend(a.jgrid, { showModal: function (a) { a.w.show() }, closeModal: function (a) { a.w.hide().attr("aria-hidden", "true"); a.o && a.o.remove() }, hideModal: function (d, b) { b = a.extend({ jqm: !0, gb: "" }, b || {}); if (b.onClose) { var c = b.gb && "string" === typeof b.gb && "#gbox_" === b.gb.substr(0, 6) ? b.onClose.call(a("#" + b.gb.substr(6))[0], d) : b.onClose(d); if ("boolean" === typeof c && !c) return } if (a.fn.jqm && !0 === b.jqm) a(d).attr("aria-hidden", "true").jqmHide(); else { if ("" !== b.gb) try { a(".jqgrid-overlay:first", b.gb).hide() } catch (g) { } a(d).hide().attr("aria-hidden", "true") } }, findPos: function (a) { var b = 0, c = 0; if (a.offsetParent) { do b += a.offsetLeft, c += a.offsetTop; while (a = a.offsetParent) } return [b, c] }, createModal: function (d, b, c, g, e, h, f) { c = a.extend(!0, {}, a.jgrid.jqModal || {}, c); var k = document.createElement("div"), l, m = this; f = a.extend({}, f || {}); l = "rtl" === a(c.gbox).attr("dir") ? !0 : !1; k.className = "ui-widget ui-widget-content ui-corner-all ui-jqdialog"; k.id = d.themodal; var n = document.createElement("div"); n.className = "ui-jqdialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix"; n.id = d.modalhead; a(n).append("" + c.caption + ""); var q = a("").hover(function () { q.addClass("ui-state-hover") }, function () { q.removeClass("ui-state-hover") }).append(""); a(n).append(q); l ? (k.dir = "rtl", a(".ui-jqdialog-title", n).css("float", "right"), a(".ui-jqdialog-titlebar-close", n).css("left", "0.3em")) : (k.dir = "ltr", a(".ui-jqdialog-title", n).css("float", "left"), a(".ui-jqdialog-titlebar-close", n).css("right", "0.3em")); var p = document.createElement("div"); a(p).addClass("ui-jqdialog-content ui-widget-content").attr("id", d.modalcontent); a(p).append(b); k.appendChild(p); a(k).prepend(n); !0 === h ? a("body").append(k) : "string" === typeof h ? a(h).append(k) : a(k).insertBefore(g); a(k).css(f); void 0 === c.jqModal && (c.jqModal = !0); b = {}; if (a.fn.jqm && !0 === c.jqModal) 0 === c.left && 0 === c.top && c.overlay && (f = [], f = a.jgrid.findPos(e), c.left = f[0] + 4, c.top = f[1] + 4), b.top = c.top + "px", b.left = c.left; else if (0 !== c.left || 0 !== c.top) b.left = c.left, b.top = c.top + "px"; a("a.ui-jqdialog-titlebar-close", n).click(function () { var b = a("#" + a.jgrid.jqID(d.themodal)).data("onClose") || c.onClose, e = a("#" + a.jgrid.jqID(d.themodal)).data("gbox") || c.gbox; m.hideModal("#" + a.jgrid.jqID(d.themodal), { gb: e, jqm: c.jqModal, onClose: b }); return !1 }); 0 !== c.width && c.width || (c.width = 300); 0 !== c.height && c.height || (c.height = 200); c.zIndex || (g = a(g).parents("*[role=dialog]").filter(":first").css("z-index"), c.zIndex = g ? parseInt(g, 10) + 2 : 950); g = 0; l && b.left && !h && (g = a(c.gbox).width() - (isNaN(c.width) ? 0 : parseInt(c.width, 10)) - 8, b.left = parseInt(b.left, 10) + parseInt(g, 10)); b.left && (b.left += "px"); a(k).css(a.extend({ width: isNaN(c.width) ? "auto" : c.width + "px", height: isNaN(c.height) ? "auto" : c.height + "px", zIndex: c.zIndex, overflow: "hidden" }, b)).attr({ tabIndex: "-1", role: "dialog", "aria-labelledby": d.modalhead, "aria-hidden": "true" }); void 0 === c.drag && (c.drag = !0); void 0 === c.resize && (c.resize = !0); if (c.drag) if (a(n).css("cursor", "move"), a.fn.jqDrag) a(k).jqDrag(n); else try { a(k).draggable({ handle: a("#" + a.jgrid.jqID(n.id)) }) } catch (r) { } if (c.resize) if (a.fn.jqResize) a(k).append("
"), a("#" + a.jgrid.jqID(d.themodal)).jqResize(".jqResize", d.scrollelm ? "#" + a.jgrid.jqID(d.scrollelm) : !1); else try { a(k).resizable({ handles: "se, sw", alsoResize: d.scrollelm ? "#" + a.jgrid.jqID(d.scrollelm) : !1 }) } catch (s) { } !0 === c.closeOnEscape && a(k).keydown(function (b) { 27 == b.which && (b = a("#" + a.jgrid.jqID(d.themodal)).data("onClose") || c.onClose, m.hideModal("#" + a.jgrid.jqID(d.themodal), { gb: c.gbox, jqm: c.jqModal, onClose: b })) }) }, viewModal: function (d, b) { b = a.extend({ toTop: !0, overlay: 10, modal: !1, overlayClass: "ui-widget-overlay", onShow: a.jgrid.showModal, onHide: a.jgrid.closeModal, gbox: "", jqm: !0, jqM: !0 }, b || {}); if (a.fn.jqm && !0 === b.jqm) b.jqM ? a(d).attr("aria-hidden", "false").jqm(b).jqmShow() : a(d).attr("aria-hidden", "false").jqmShow(); else { "" !== b.gbox && (a(".jqgrid-overlay:first", b.gbox).show(), a(d).data("gbox", b.gbox)); a(d).show().attr("aria-hidden", "false"); try { a(":input:visible", d)[0].focus() } catch (c) { } } }, info_dialog: function (d, b, c, g) { var e = { width: 290, height: "auto", dataheight: "auto", drag: !0, resize: !1, left: 250, top: 170, zIndex: 1E3, jqModal: !0, modal: !1, closeOnEscape: !0, align: "center", buttonalign: "center", buttons: [] }; a.extend(!0, e, a.jgrid.jqModal || {}, { caption: "" + d + "" }, g || {}); var h = e.jqModal, f = this; a.fn.jqm && !h && (h = !1); d = ""; if (0 < e.buttons.length) for (g = 0; g < e.buttons.length; g++) void 0 === e.buttons[g].id && (e.buttons[g].id = "info_button_" + g), d += "" + e.buttons[g].text + ""; g = isNaN(e.dataheight) ? e.dataheight : e.dataheight + "px"; b = "
" + ("
" + b + "
"); b += c ? "
" + c + "" + d + "
" : "" !== d ? "
" + d + "
" : ""; b += "
"; try { "false" === a("#info_dialog").attr("aria-hidden") && a.jgrid.hideModal("#info_dialog", { jqm: h }), a("#info_dialog").remove() } catch (k) { } a.jgrid.createModal({ themodal: "info_dialog", modalhead: "info_head", modalcontent: "info_content", scrollelm: "infocnt" }, b, e, "", "", !0); d && a.each(e.buttons, function (b) { a("#" + a.jgrid.jqID(this.id), "#info_id").bind("click", function () { e.buttons[b].onClick.call(a("#info_dialog")); return !1 }) }); a("#closedialog", "#info_id").click(function () { f.hideModal("#info_dialog", { jqm: h, onClose: a("#info_dialog").data("onClose") || e.onClose, gb: a("#info_dialog").data("gbox") || e.gbox }); return !1 }); a(".fm-button", "#info_dialog").hover(function () { a(this).addClass("ui-state-hover") }, function () { a(this).removeClass("ui-state-hover") }); a.isFunction(e.beforeOpen) && e.beforeOpen(); a.jgrid.viewModal("#info_dialog", { onHide: function (a) { a.w.hide().remove(); a.o && a.o.remove() }, modal: e.modal, jqm: h }); a.isFunction(e.afterOpen) && e.afterOpen(); try { a("#info_dialog").focus() } catch (l) { } }, bindEv: function (d, b) { a.isFunction(b.dataInit) && b.dataInit.call(this, d, b); b.dataEvents && a.each(b.dataEvents, function () { void 0 !== this.data ? a(d).bind(this.type, this.data, this.fn) : a(d).bind(this.type, this.fn) }) }, createEl: function (d, b, c, g, e) { function h(b, d, c) { var e = "dataInit dataEvents dataUrl buildSelect sopt searchhidden defaultValue attr custom_element custom_value".split(" "); void 0 !== c && a.isArray(c) && a.merge(e, c); a.each(d, function (d, c) { -1 === a.inArray(d, e) && a(b).attr(d, c) }); d.hasOwnProperty("id") || a(b).attr("id", a.jgrid.randId()) } var f = "", k = this; switch (d) { case "textarea": f = document.createElement("textarea"); g ? b.cols || a(f).css({ width: "100%" }) : b.cols || (b.cols = 20); b.rows || (b.rows = 2); if (" " === c || " " === c || 1 === c.length && 160 === c.charCodeAt(0)) c = ""; f.value = c; h(f, b); a(f).attr({ role: "textbox", multiline: "true" }); break; case "checkbox": f = document.createElement("input"); f.type = "checkbox"; b.value ? (d = b.value.split(":"), c === d[0] && (f.checked = !0, f.defaultChecked = !0), f.value = d[0], a(f).attr("offval", d[1])) : (d = (c + "").toLowerCase(), 0 > d.search(/(false|f|0|no|n|off|undefined)/i) && "" !== d ? (f.checked = !0, f.defaultChecked = !0, f.value = c) : f.value = "on", a(f).attr("offval", "off")); h(f, b, ["value"]); a(f).attr("role", "checkbox"); break; case "select": f = document.createElement("select"); f.setAttribute("role", "select"); g = []; !0 === b.multiple ? (d = !0, f.multiple = "multiple", a(f).attr("aria-multiselectable", "true")) : d = !1; if (void 0 !== b.dataUrl) { d = b.name ? String(b.id).substring(0, String(b.id).length - String(b.name).length - 1) : String(b.id); var l = b.postData || e.postData; k.p && k.p.idPrefix && (d = a.jgrid.stripPref(k.p.idPrefix, d)); a.ajax(a.extend({ url: a.isFunction(b.dataUrl) ? b.dataUrl.call(k, d, c, String(b.name)) : b.dataUrl, type: "GET", dataType: "html", data: a.isFunction(l) ? l.call(k, d, c, String(b.name)) : l, context: { elem: f, options: b, vl: c }, success: function (b) { var d = [], c = this.elem, e = this.vl, f = a.extend({}, this.options), g = !0 === f.multiple; b = a.isFunction(f.buildSelect) ? f.buildSelect.call(k, b) : b; "string" === typeof b && (b = a(a.trim(b)).html()); b && (a(c).append(b), h(c, f, l ? ["postData"] : void 0), void 0 === f.size && (f.size = g ? 3 : 1), g ? (d = e.split(","), d = a.map(d, function (b) { return a.trim(b) })) : d[0] = a.trim(e), setTimeout(function () { a("option", c).each(function (b) { 0 === b && c.multiple && (this.selected = !1); a(this).attr("role", "option"); if (-1 < a.inArray(a.trim(a(this).text()), d) || -1 < a.inArray(a.trim(a(this).val()), d)) this.selected = "selected" }) }, 0)) } }, e || {})) } else if (b.value) { var m; void 0 === b.size && (b.size = d ? 3 : 1); d && (g = c.split(","), g = a.map(g, function (b) { return a.trim(b) })); "function" === typeof b.value && (b.value = b.value()); var n, q, p = void 0 === b.separator ? ":" : b.separator; e = void 0 === b.delimiter ? ";" : b.delimiter; if ("string" === typeof b.value) for (n = b.value.split(e), m = 0; m < n.length; m++) q = n[m].split(p), 2 < q.length && (q[1] = a.map(q, function (a, b) { if (0 < b) return a }).join(p)), e = document.createElement("option"), e.setAttribute("role", "option"), e.value = q[0], e.innerHTML = q[1], f.appendChild(e), d || a.trim(q[0]) !== a.trim(c) && a.trim(q[1]) !== a.trim(c) || (e.selected = "selected"), d && (-1 < a.inArray(a.trim(q[1]), g) || -1 < a.inArray(a.trim(q[0]), g)) && (e.selected = "selected"); else if ("object" === typeof b.value) for (m in p = b.value, p) p.hasOwnProperty(m) && (e = document.createElement("option"), e.setAttribute("role", "option"), e.value = m, e.innerHTML = p[m], f.appendChild(e), d || a.trim(m) !== a.trim(c) && a.trim(p[m]) !== a.trim(c) || (e.selected = "selected"), d && (-1 < a.inArray(a.trim(p[m]), g) || -1 < a.inArray(a.trim(m), g)) && (e.selected = "selected")); h(f, b, ["value"]) } break; case "text": case "password": case "button": m = "button" === d ? "button" : "textbox"; f = document.createElement("input"); f.type = d; f.value = c; h(f, b); "button" !== d && (g ? b.size || a(f).css({ width: "100%" }) : b.size || (b.size = 20)); a(f).attr("role", m); break; case "image": case "file": f = document.createElement("input"); f.type = d; h(f, b); break; case "custom": f = document.createElement("span"); try { if (a.isFunction(b.custom_element)) if (p = b.custom_element.call(k, c, b)) p = a(p).addClass("customelement").attr({ id: b.id, name: b.name }), a(f).empty().append(p); else throw "e2"; else throw "e1"; } catch (r) { "e1" === r && a.jgrid.info_dialog(a.jgrid.errors.errcap, "function 'custom_element' " + a.jgrid.edit.msg.nodefined, a.jgrid.edit.bClose), "e2" === r ? a.jgrid.info_dialog(a.jgrid.errors.errcap, "function 'custom_element' " + a.jgrid.edit.msg.novalue, a.jgrid.edit.bClose) : a.jgrid.info_dialog(a.jgrid.errors.errcap, "string" === typeof r ? r : r.message, a.jgrid.edit.bClose) } } return f }, checkDate: function (a, b) { var c = {}, g; a = a.toLowerCase(); g = -1 !== a.indexOf("/") ? "/" : -1 !== a.indexOf("-") ? "-" : -1 !== a.indexOf(".") ? "." : "/"; a = a.split(g); b = b.split(g); if (3 !== b.length) return !1; var e = -1, h, f = g = -1, k; for (k = 0; k < a.length; k++) h = isNaN(b[k]) ? 0 : parseInt(b[k], 10), c[a[k]] = h, h = a[k], -1 !== h.indexOf("y") && (e = k), -1 !== h.indexOf("m") && (f = k), -1 !== h.indexOf("d") && (g = k); h = "y" === a[e] || "yyyy" === a[e] ? 4 : "yy" === a[e] ? 2 : -1; k = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; var l; if (-1 === e) return !1; l = c[a[e]].toString(); 2 === h && 1 === l.length && (h = 1); if (l.length !== h || 0 === c[a[e]] && "00" !== b[e] || -1 === f) return !1; l = c[a[f]].toString(); if (1 > l.length || 1 > c[a[f]] || 12 < c[a[f]] || -1 === g) return !1; l = c[a[g]].toString(); if (!(h = 1 > l.length) && !(h = 1 > c[a[g]]) && !(h = 31 < c[a[g]])) { if (h = 2 === c[a[f]]) e = c[a[e]], h = c[a[g]] > (0 !== e % 4 || 0 === e % 100 && 0 !== e % 400 ? 28 : 29); h = h || c[a[g]] > k[c[a[f]]] } return h ? !1 : !0 }, isEmpty: function (a) { return a.match(/^\s+$/) || "" === a ? !0 : !1 }, checkTime: function (d) { var b = /^(\d{1,2}):(\d{2})([apAP][Mm])?$/; if (!a.jgrid.isEmpty(d)) if (d = d.match(b)) { if (d[3]) { if (1 > d[1] || 12 < d[1]) return !1 } else if (23 < d[1]) return !1; if (59 < d[2]) return !1 } else return !1; return !0 }, checkValues: function (d, b, c, g) { var e, h, f; f = this.p.colModel; if (void 0 === c) if ("string" === typeof b) for (c = 0, g = f.length; c < g; c++) { if (f[c].name === b) { e = f[c].editrules; b = c; null != f[c].formoptions && (h = f[c].formoptions.label); break } } else 0 <= b && (e = f[b].editrules); else e = c, h = void 0 === g ? "_" : g; if (e) { h || (h = null != this.p.colNames ? this.p.colNames[b] : f[b].label); if (!0 === e.required && a.jgrid.isEmpty(d)) return [!1, h + ": " + a.jgrid.edit.msg.required, ""]; c = !1 === e.required ? !1 : !0; if (!0 === e.number && (!1 !== c || !a.jgrid.isEmpty(d)) && isNaN(d)) return [!1, h + ": " + a.jgrid.edit.msg.number, ""]; if (void 0 !== e.minValue && !isNaN(e.minValue) && parseFloat(d) < parseFloat(e.minValue)) return [!1, h + ": " + a.jgrid.edit.msg.minValue + " " + e.minValue, ""]; if (void 0 !== e.maxValue && !isNaN(e.maxValue) && parseFloat(d) > parseFloat(e.maxValue)) return [!1, h + ": " + a.jgrid.edit.msg.maxValue + " " + e.maxValue, ""]; if (!(!0 !== e.email || !1 === c && a.jgrid.isEmpty(d) || (g = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, g.test(d)))) return [!1, h + ": " + a.jgrid.edit.msg.email, ""]; if (!(!0 !== e.integer || !1 === c && a.jgrid.isEmpty(d) || !isNaN(d) && 0 === d % 1 && -1 === d.indexOf("."))) return [!1, h + ": " + a.jgrid.edit.msg.integer, ""]; if (!(!0 !== e.date || !1 === c && a.jgrid.isEmpty(d) || (f[b].formatoptions && f[b].formatoptions.newformat ? (f = f[b].formatoptions.newformat, a.jgrid.formatter.date.masks.hasOwnProperty(f) && (f = a.jgrid.formatter.date.masks[f])) : f = f[b].datefmt || "Y-m-d", a.jgrid.checkDate(f, d)))) return [!1, h + ": " + a.jgrid.edit.msg.date + " - " + f, ""]; if (!0 === e.time && !(!1 === c && a.jgrid.isEmpty(d) || a.jgrid.checkTime(d))) return [!1, h + ": " + a.jgrid.edit.msg.date + " - hh:mm (am/pm)", ""]; if (!(!0 !== e.url || !1 === c && a.jgrid.isEmpty(d) || (g = /^(((https?)|(ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i, g.test(d)))) return [!1, h + ": " + a.jgrid.edit.msg.url, ""]; if (!0 === e.custom && (!1 !== c || !a.jgrid.isEmpty(d))) return a.isFunction(e.custom_func) ? (d = e.custom_func.call(this, d, h, b), a.isArray(d) ? d : [!1, a.jgrid.edit.msg.customarray, ""]) : [!1, a.jgrid.edit.msg.customfcheck, ""] } return [!0, "", ""] } }) })(jQuery); (function (a) { var b = {}; a.jgrid.extend({ searchGrid: function (b) { b = a.extend(!0, { recreateFilter: !1, drag: !0, sField: "searchField", sValue: "searchString", sOper: "searchOper", sFilter: "filters", loadDefaults: !0, beforeShowSearch: null, afterShowSearch: null, onInitializeSearch: null, afterRedraw: null, afterChange: null, closeAfterSearch: !1, closeAfterReset: !1, closeOnEscape: !1, searchOnEnter: !1, multipleSearch: !1, multipleGroup: !1, top: 0, left: 0, jqModal: !0, modal: !1, resize: !0, width: 450, height: "auto", dataheight: "auto", showQuery: !1, errorcheck: !0, sopt: null, stringResult: void 0, onClose: null, onSearch: null, onReset: null, toTop: !0, overlay: 30, columns: [], tmplNames: null, tmplFilters: null, tmplLabel: " Template: ", showOnLoad: !1, layer: null, operands: { eq: "=", ne: "<>", lt: "<", le: "<=", gt: ">", ge: ">=", bw: "LIKE", bn: "NOT LIKE", "in": "IN", ni: "NOT IN", ew: "LIKE", en: "NOT LIKE", cn: "LIKE", nc: "NOT LIKE", nu: "IS NULL", nn: "ISNOT NULL" } }, a.jgrid.search, b || {}); return this.each(function () { function c(c) { w = a(e).triggerHandler("jqGridFilterBeforeShow", [c]); void 0 === w && (w = !0); w && a.isFunction(b.beforeShowSearch) && (w = b.beforeShowSearch.call(e, c)); w && (a.jgrid.viewModal("#" + a.jgrid.jqID(s.themodal), { gbox: "#gbox_" + a.jgrid.jqID(h), jqm: b.jqModal, modal: b.modal, overlay: b.overlay, toTop: b.toTop }), a(e).triggerHandler("jqGridFilterAfterShow", [c]), a.isFunction(b.afterShowSearch) && b.afterShowSearch.call(e, c)) } var e = this; if (e.grid) { var h = "fbox_" + e.p.id, w = !0, t = !0, s = { themodal: "searchmod" + h, modalhead: "searchhd" + h, modalcontent: "searchcnt" + h, scrollelm: h }, r = e.p.postData[b.sFilter]; "string" === typeof r && (r = a.jgrid.parse(r)); !0 === b.recreateFilter && a("#" + a.jgrid.jqID(s.themodal)).remove(); if (void 0 !== a("#" + a.jgrid.jqID(s.themodal))[0]) c(a("#fbox_" + a.jgrid.jqID(+e.p.id))); else { var f = a("
").insertBefore("#gview_" + a.jgrid.jqID(e.p.id)), k = "left", u = ""; "rtl" === e.p.direction && (k = "right", u = " style='text-align:left'", f.attr("dir", "rtl")); var x = a.extend([], e.p.colModel), d = "" + b.Find + "", v = "" + b.Reset + "", g = "", m = "", p, q = !1, y = -1; b.showQuery && (g = "Query"); b.columns.length ? (x = b.columns, y = 0, p = x[0].index || x[0].name) : a.each(x, function (a, b) { b.label || (b.label = e.p.colNames[a]); if (!q) { var c = void 0 === b.search ? !0 : b.search, d = !0 === b.hidden; if (b.searchoptions && !0 === b.searchoptions.searchhidden && c || c && !d) q = !0, p = b.index || b.name, y = a } }); if (!r && p || !1 === b.multipleSearch) { var D = "eq"; 0 <= y && x[y].searchoptions && x[y].searchoptions.sopt ? D = x[y].searchoptions.sopt[0] : b.sopt && b.sopt.length && (D = b.sopt[0]); r = { groupOp: "AND", rules: [{ field: p, op: D, data: "" }] } } q = !1; b.tmplNames && b.tmplNames.length && (q = !0, m = b.tmplLabel, m += ""); k = "

" + v + m + "" + g + d + "
"; h = a.jgrid.jqID(h); a("#" + h).jqFilter({ columns: x, filter: b.loadDefaults ? r : null, showQuery: b.showQuery, errorcheck: b.errorcheck, sopt: b.sopt, groupButton: b.multipleGroup, ruleButtons: b.multipleSearch, afterRedraw: b.afterRedraw, ops: b.odata, operands: b.operands, ajaxSelectOptions: e.p.ajaxSelectOptions, groupOps: b.groupOps, onChange: function () { this.p.showQuery && a(".query", this).html(this.toUserFriendlyString()); a.isFunction(b.afterChange) && b.afterChange.call(e, a("#" + h), b) }, direction: e.p.direction, id: e.p.id }); f.append(k); q && b.tmplFilters && b.tmplFilters.length && a(".ui-template", f).bind("change", function () { var c = a(this).val(); "default" === c ? a("#" + h).jqFilter("addFilter", r) : a("#" + h).jqFilter("addFilter", b.tmplFilters[parseInt(c, 10)]); return !1 }); !0 === b.multipleGroup && (b.multipleSearch = !0); a(e).triggerHandler("jqGridFilterInitialize", [a("#" + h)]); a.isFunction(b.onInitializeSearch) && b.onInitializeSearch.call(e, a("#" + h)); b.gbox = "#gbox_" + h; b.layer ? a.jgrid.createModal(s, f, b, "#gview_" + a.jgrid.jqID(e.p.id), a("#gbox_" + a.jgrid.jqID(e.p.id))[0], "#" + a.jgrid.jqID(b.layer), { position: "relative" }) : a.jgrid.createModal(s, f, b, "#gview_" + a.jgrid.jqID(e.p.id), a("#gbox_" + a.jgrid.jqID(e.p.id))[0]); (b.searchOnEnter || b.closeOnEscape) && a("#" + a.jgrid.jqID(s.themodal)).keydown(function (c) { var d = a(c.target); if (b.searchOnEnter && 13 === c.which && !(d.hasClass("add-group") || d.hasClass("add-rule") || d.hasClass("delete-group") || d.hasClass("delete-rule") || d.hasClass("fm-button") && d.is("[id$=_query]"))) return a("#" + h + "_search").click(), !1; if (b.closeOnEscape && 27 === c.which) return a("#" + a.jgrid.jqID(s.modalhead)).find(".ui-jqdialog-titlebar-close").click(), !1 }); g && a("#" + h + "_query").bind("click", function () { a(".queryresult", f).toggle(); return !1 }); void 0 === b.stringResult && (b.stringResult = b.multipleSearch); a("#" + h + "_search").bind("click", function () { var c = a("#" + h), d = {}, n, g; c.find(".input-elm:focus").change(); g = c.jqFilter("filterData"); if (b.errorcheck && (c[0].hideError(), b.showQuery || c.jqFilter("toSQLString"), c[0].p.error)) return c[0].showError(), !1; if (b.stringResult) { try { n = xmlJsonClass.toJson(g, "", "", !1) } catch (f) { try { n = JSON.stringify(g) } catch (k) { } } "string" === typeof n && (d[b.sFilter] = n, a.each([b.sField, b.sValue, b.sOper], function () { d[this] = "" })) } else b.multipleSearch ? (d[b.sFilter] = g, a.each([b.sField, b.sValue, b.sOper], function () { d[this] = "" })) : (d[b.sField] = g.rules[0].field, d[b.sValue] = g.rules[0].data, d[b.sOper] = g.rules[0].op, d[b.sFilter] = ""); e.p.search = !0; a.extend(e.p.postData, d); t = a(e).triggerHandler("jqGridFilterSearch"); void 0 === t && (t = !0); t && a.isFunction(b.onSearch) && (t = b.onSearch.call(e, e.p.filters)); !1 !== t && a(e).trigger("reloadGrid", [{ page: 1 }]); b.closeAfterSearch && a.jgrid.hideModal("#" + a.jgrid.jqID(s.themodal), { gb: "#gbox_" + a.jgrid.jqID(e.p.id), jqm: b.jqModal, onClose: b.onClose }); return !1 }); a("#" + h + "_reset").bind("click", function () { var c = {}, d = a("#" + h); e.p.search = !1; e.p.resetsearch = !0; !1 === b.multipleSearch ? c[b.sField] = c[b.sValue] = c[b.sOper] = "" : c[b.sFilter] = ""; d[0].resetFilter(); q && a(".ui-template", f).val("default"); a.extend(e.p.postData, c); t = a(e).triggerHandler("jqGridFilterReset"); void 0 === t && (t = !0); t && a.isFunction(b.onReset) && (t = b.onReset.call(e)); !1 !== t && a(e).trigger("reloadGrid", [{ page: 1 }]); b.closeAfterReset && a.jgrid.hideModal("#" + a.jgrid.jqID(s.themodal), { gb: "#gbox_" + a.jgrid.jqID(e.p.id), jqm: b.jqModal, onClose: b.onClose }); return !1 }); c(a("#" + h)); a(".fm-button:not(.ui-state-disabled)", f).hover(function () { a(this).addClass("ui-state-hover") }, function () { a(this).removeClass("ui-state-hover") }) } } }) }, editGridRow: function (z, c) { c = a.extend(!0, { top: 0, left: 0, width: 300, datawidth: "auto", height: "auto", dataheight: "auto", modal: !1, overlay: 30, drag: !0, resize: !0, url: null, mtype: "POST", clearAfterAdd: !0, closeAfterEdit: !1, reloadAfterSubmit: !0, onInitializeForm: null, beforeInitData: null, beforeShowForm: null, afterShowForm: null, beforeSubmit: null, afterSubmit: null, onclickSubmit: null, afterComplete: null, onclickPgButtons: null, afterclickPgButtons: null, editData: {}, recreateForm: !1, jqModal: !0, closeOnEscape: !1, addedrow: "first", topinfo: "", bottominfo: "", saveicon: [], closeicon: [], savekey: [!1, 13], navkeys: [!1, 38, 40], checkOnSubmit: !1, checkOnUpdate: !1, _savedData: {}, processing: !1, onClose: null, ajaxEditOptions: {}, serializeEditData: null, viewPagerButtons: !0, overlayClass: "ui-widget-overlay" }, a.jgrid.edit, c || {}); b[a(this)[0].p.id] = c; return this.each(function () { function e() { a(p + " > tbody > tr > td > .FormElement").each(function () { var b = a(".customelement", this); if (b.length) { var c = a(b[0]).attr("name"); a.each(d.p.colModel, function () { if (this.name === c && this.editoptions && a.isFunction(this.editoptions.custom_value)) { try { if (l[c] = this.editoptions.custom_value.call(d, a("#" + a.jgrid.jqID(c), p), "get"), void 0 === l[c]) throw "e1"; } catch (b) { "e1" === b ? a.jgrid.info_dialog(a.jgrid.errors.errcap, "function 'custom_value' " + a.jgrid.edit.msg.novalue, a.jgrid.edit.bClose) : a.jgrid.info_dialog(a.jgrid.errors.errcap, b.message, a.jgrid.edit.bClose) } return !0 } }) } else { switch (a(this).get(0).type) { case "checkbox": a(this).is(":checked") ? l[this.name] = a(this).val() : (b = a(this).attr("offval"), l[this.name] = b); break; case "select-one": l[this.name] = a("option:selected", this).val(); break; case "select-multiple": l[this.name] = a(this).val(); l[this.name] = l[this.name] ? l[this.name].join(",") : ""; a("option:selected", this).each(function (b, c) { a(c).text() }); break; case "password": case "text": case "textarea": case "button": l[this.name] = a(this).val() } d.p.autoencode && (l[this.name] = a.jgrid.htmlEncode(l[this.name])) } }); return !0 } function h(c, e, n, f) { var k, l, p, h = 0, q, m, r, C = [], u = !1, z = "", t; for (t = 1; t <= f; t++) z += "  "; "_empty" !== c && (u = a(e).jqGrid("getInd", c)); a(e.p.colModel).each(function (t) { k = this.name; m = (l = this.editrules && !0 === this.editrules.edithidden ? !1 : !0 === this.hidden ? !0 : !1) ? "style='display:none'" : ""; if ("cb" !== k && "subgrid" !== k && !0 === this.editable && "rn" !== k) { if (!1 === u) q = ""; else if (k === e.p.ExpandColumn && !0 === e.p.treeGrid) q = a("td[role='gridcell']:eq(" + t + ")", e.rows[u]).text(); else { try { q = a.unformat.call(e, a("td[role='gridcell']:eq(" + t + ")", e.rows[u]), { rowId: c, colModel: this }, t) } catch (w) { q = this.edittype && "textarea" === this.edittype ? a("td[role='gridcell']:eq(" + t + ")", e.rows[u]).text() : a("td[role='gridcell']:eq(" + t + ")", e.rows[u]).html() } if (!q || " " === q || " " === q || 1 === q.length && 160 === q.charCodeAt(0)) q = "" } var s = a.extend({}, this.editoptions || {}, { id: k, name: k }), y = a.extend({}, { elmprefix: "", elmsuffix: "", rowabove: !1, rowcontent: "" }, this.formoptions || {}), v = parseInt(y.rowpos, 10) || h + 1, A = parseInt(2 * (parseInt(y.colpos, 10) || 1), 10); "_empty" === c && s.defaultValue && (q = a.isFunction(s.defaultValue) ? s.defaultValue.call(d) : s.defaultValue); this.edittype || (this.edittype = "text"); d.p.autoencode && (q = a.jgrid.htmlDecode(q)); r = a.jgrid.createEl.call(d, this.edittype, s, q, !1, a.extend({}, a.jgrid.ajaxOptions, e.p.ajaxSelectOptions || {})); if (b[d.p.id].checkOnSubmit || b[d.p.id].checkOnUpdate) b[d.p.id]._savedData[k] = q; a(r).addClass("FormElement"); -1 < a.inArray(this.edittype, ["text", "textarea", "password", "select"]) && a(r).addClass("ui-widget-content ui-corner-all"); p = a(n).find("tr[rowpos=" + v + "]"); if (y.rowabove) { var x = a("" + y.rowcontent + ""); a(n).append(x); x[0].rp = v } 0 === p.length && (p = a("").addClass("FormData").attr("id", "tr_" + k), a(p).append(z), a(n).append(p), p[0].rp = v); a("td:eq(" + (A - 2) + ")", p[0]).html(void 0 === y.label ? e.p.colNames[t] : y.label); a("td:eq(" + (A - 1) + ")", p[0]).append(y.elmprefix).append(r).append(y.elmsuffix); "custom" === this.edittype && a.isFunction(s.custom_value) && s.custom_value.call(d, a("#" + k, "#" + g), "set", q); a.jgrid.bindEv.call(d, r, s); C[h] = t; h++ } }); 0 < h && (t = a(""), t[0].rp = h + 999, a(n).append(t), b[d.p.id].checkOnSubmit || b[d.p.id].checkOnUpdate) && (b[d.p.id]._savedData[e.p.id + "_id"] = c); return C } function w(c, e, n) { var g, k = 0, f, l, q, h, r; if (b[d.p.id].checkOnSubmit || b[d.p.id].checkOnUpdate) b[d.p.id]._savedData = {}, b[d.p.id]._savedData[e.p.id + "_id"] = c; var m = e.p.colModel; if ("_empty" === c) a(m).each(function () { g = this.name; q = a.extend({}, this.editoptions || {}); (l = a("#" + a.jgrid.jqID(g), "#" + n)) && l.length && null !== l[0] && (h = "", "custom" === this.edittype && a.isFunction(q.custom_value) ? q.custom_value.call(d, a("#" + g, "#" + n), "set", h) : q.defaultValue ? (h = a.isFunction(q.defaultValue) ? q.defaultValue.call(d) : q.defaultValue, "checkbox" === l[0].type ? (r = h.toLowerCase(), 0 > r.search(/(false|f|0|no|n|off|undefined)/i) && "" !== r ? (l[0].checked = !0, l[0].defaultChecked = !0, l[0].value = h) : (l[0].checked = !1, l[0].defaultChecked = !1)) : l.val(h)) : "checkbox" === l[0].type ? (l[0].checked = !1, l[0].defaultChecked = !1, h = a(l).attr("offval")) : l[0].type && "select" === l[0].type.substr(0, 6) ? l[0].selectedIndex = 0 : l.val(h), !0 === b[d.p.id].checkOnSubmit || b[d.p.id].checkOnUpdate) && (b[d.p.id]._savedData[g] = h) }), a("#id_g", "#" + n).val(c); else { var t = a(e).jqGrid("getInd", c, !0); t && (a('td[role="gridcell"]', t).each(function (l) { g = m[l].name; if ("cb" !== g && "subgrid" !== g && "rn" !== g && !0 === m[l].editable) { if (g === e.p.ExpandColumn && !0 === e.p.treeGrid) f = a(this).text(); else try { f = a.unformat.call(e, a(this), { rowId: c, colModel: m[l] }, l) } catch (q) { f = "textarea" === m[l].edittype ? a(this).text() : a(this).html() } d.p.autoencode && (f = a.jgrid.htmlDecode(f)); if (!0 === b[d.p.id].checkOnSubmit || b[d.p.id].checkOnUpdate) b[d.p.id]._savedData[g] = f; g = a.jgrid.jqID(g); switch (m[l].edittype) { case "password": case "text": case "button": case "image": case "textarea": if (" " === f || " " === f || 1 === f.length && 160 === f.charCodeAt(0)) f = ""; a("#" + g, "#" + n).val(f); break; case "select": var h = f.split(","), h = a.map(h, function (b) { return a.trim(b) }); a("#" + g + " option", "#" + n).each(function () { m[l].editoptions.multiple || a.trim(f) !== a.trim(a(this).text()) && h[0] !== a.trim(a(this).text()) && h[0] !== a.trim(a(this).val()) ? m[l].editoptions.multiple ? -1 < a.inArray(a.trim(a(this).text()), h) || -1 < a.inArray(a.trim(a(this).val()), h) ? this.selected = !0 : this.selected = !1 : this.selected = !1 : this.selected = !0 }); break; case "checkbox": f = String(f); if (m[l].editoptions && m[l].editoptions.value) if (m[l].editoptions.value.split(":")[0] === f) a("#" + g, "#" + n)[d.p.useProp ? "prop" : "attr"]({ checked: !0, defaultChecked: !0 }); else a("#" + g, "#" + n)[d.p.useProp ? "prop" : "attr"]({ checked: !1, defaultChecked: !1 }); else f = f.toLowerCase(), 0 > f.search(/(false|f|0|no|n|off|undefined)/i) && "" !== f ? (a("#" + g, "#" + n)[d.p.useProp ? "prop" : "attr"]("checked", !0), a("#" + g, "#" + n)[d.p.useProp ? "prop" : "attr"]("defaultChecked", !0)) : (a("#" + g, "#" + n)[d.p.useProp ? "prop" : "attr"]("checked", !1), a("#" + g, "#" + n)[d.p.useProp ? "prop" : "attr"]("defaultChecked", !1)); break; case "custom": try { if (m[l].editoptions && a.isFunction(m[l].editoptions.custom_value)) m[l].editoptions.custom_value.call(d, a("#" + g, "#" + n), "set", f); else throw "e1"; } catch (p) { "e1" === p ? a.jgrid.info_dialog(a.jgrid.errors.errcap, "function 'custom_value' " + a.jgrid.edit.msg.nodefined, a.jgrid.edit.bClose) : a.jgrid.info_dialog(a.jgrid.errors.errcap, p.message, a.jgrid.edit.bClose) } } k++ } }), 0 < k && a("#id_g", p).val(c)) } } function t() { a.each(d.p.colModel, function (a, b) { b.editoptions && !0 === b.editoptions.NullIfEmpty && l.hasOwnProperty(b.name) && "" === l[b.name] && (l[b.name] = "null") }) } function s() { var e, n = [!0, "", ""], f = {}, k = d.p.prmNames, h, m, r, u, s, C = a(d).triggerHandler("jqGridAddEditBeforeCheckValues", [a("#" + g), B]); C && "object" === typeof C && (l = C); a.isFunction(b[d.p.id].beforeCheckValues) && (C = b[d.p.id].beforeCheckValues.call(d, l, a("#" + g), B)) && "object" === typeof C && (l = C); for (r in l) if (l.hasOwnProperty(r) && (n = a.jgrid.checkValues.call(d, l[r], r), !1 === n[0])) break; t(); n[0] && (f = a(d).triggerHandler("jqGridAddEditClickSubmit", [b[d.p.id], l, B]), void 0 === f && a.isFunction(b[d.p.id].onclickSubmit) && (f = b[d.p.id].onclickSubmit.call(d, b[d.p.id], l, B) || {}), n = a(d).triggerHandler("jqGridAddEditBeforeSubmit", [l, a("#" + g), B]), void 0 === n && (n = [!0, "", ""]), n[0] && a.isFunction(b[d.p.id].beforeSubmit) && (n = b[d.p.id].beforeSubmit.call(d, l, a("#" + g), B))); if (n[0] && !b[d.p.id].processing) { b[d.p.id].processing = !0; a("#sData", p + "_2").addClass("ui-state-active"); m = k.oper; h = k.id; l[m] = "_empty" === a.trim(l[d.p.id + "_id"]) ? k.addoper : k.editoper; l[m] !== k.addoper ? l[h] = l[d.p.id + "_id"] : void 0 === l[h] && (l[h] = l[d.p.id + "_id"]); delete l[d.p.id + "_id"]; l = a.extend(l, b[d.p.id].editData, f); if (!0 === d.p.treeGrid) for (s in l[m] === k.addoper && (u = a(d).jqGrid("getGridParam", "selrow"), l["adjacency" === d.p.treeGridModel ? d.p.treeReader.parent_id_field : "parent_id"] = u), d.p.treeReader) d.p.treeReader.hasOwnProperty(s) && (f = d.p.treeReader[s], !l.hasOwnProperty(f) || l[m] === k.addoper && "parent_id_field" === s || delete l[f]); l[h] = a.jgrid.stripPref(d.p.idPrefix, l[h]); s = a.extend({ url: b[d.p.id].url || a(d).jqGrid("getGridParam", "editurl"), type: b[d.p.id].mtype, data: a.isFunction(b[d.p.id].serializeEditData) ? b[d.p.id].serializeEditData.call(d, l) : l, complete: function (f, r) { var s; l[h] = d.p.idPrefix + l[h]; 300 <= f.status && 304 !== f.status ? (n[0] = !1, n[1] = a(d).triggerHandler("jqGridAddEditErrorTextFormat", [f, B]), a.isFunction(b[d.p.id].errorTextFormat) ? n[1] = b[d.p.id].errorTextFormat.call(d, f, B) : n[1] = r + " Status: '" + f.statusText + "'. Error code: " + f.status) : (n = a(d).triggerHandler("jqGridAddEditAfterSubmit", [f, l, B]), void 0 === n && (n = [!0, "", ""]), n[0] && a.isFunction(b[d.p.id].afterSubmit) && (n = b[d.p.id].afterSubmit.call(d, f, l, B))); if (!1 === n[0]) a("#FormError>td", p).html(n[1]), a("#FormError", p).show(); else if (d.p.autoencode && a.each(l, function (b, c) { l[b] = a.jgrid.htmlDecode(c) }), l[m] === k.addoper ? (n[2] || (n[2] = a.jgrid.randId()), l[h] = n[2], b[d.p.id].reloadAfterSubmit ? a(d).trigger("reloadGrid") : !0 === d.p.treeGrid ? a(d).jqGrid("addChildNode", n[2], u, l) : a(d).jqGrid("addRowData", n[2], l, c.addedrow), b[d.p.id].closeAfterAdd ? (!0 !== d.p.treeGrid && a(d).jqGrid("setSelection", n[2]), a.jgrid.hideModal("#" + a.jgrid.jqID(q.themodal), { gb: "#gbox_" + a.jgrid.jqID(v), jqm: c.jqModal, onClose: b[d.p.id].onClose })) : b[d.p.id].clearAfterAdd && w("_empty", d, g)) : (b[d.p.id].reloadAfterSubmit ? (a(d).trigger("reloadGrid"), b[d.p.id].closeAfterEdit || setTimeout(function () { a(d).jqGrid("setSelection", l[h]) }, 1E3)) : !0 === d.p.treeGrid ? a(d).jqGrid("setTreeRow", l[h], l) : a(d).jqGrid("setRowData", l[h], l), b[d.p.id].closeAfterEdit && a.jgrid.hideModal("#" + a.jgrid.jqID(q.themodal), { gb: "#gbox_" + a.jgrid.jqID(v), jqm: c.jqModal, onClose: b[d.p.id].onClose })), a.isFunction(b[d.p.id].afterComplete) && (e = f, setTimeout(function () { a(d).triggerHandler("jqGridAddEditAfterComplete", [e, l, a("#" + g), B]); b[d.p.id].afterComplete.call(d, e, l, a("#" + g), B); e = null }, 500)), b[d.p.id].checkOnSubmit || b[d.p.id].checkOnUpdate) if (a("#" + g).data("disabled", !1), "_empty" !== b[d.p.id]._savedData[d.p.id + "_id"]) for (s in b[d.p.id]._savedData) b[d.p.id]._savedData.hasOwnProperty(s) && l[s] && (b[d.p.id]._savedData[s] = l[s]); b[d.p.id].processing = !1; a("#sData", p + "_2").removeClass("ui-state-active"); try { a(":input:visible", "#" + g)[0].focus() } catch (t) { } } }, a.jgrid.ajaxOptions, b[d.p.id].ajaxEditOptions); s.url || b[d.p.id].useDataProxy || (a.isFunction(d.p.dataProxy) ? b[d.p.id].useDataProxy = !0 : (n[0] = !1, n[1] += " " + a.jgrid.errors.nourl)); n[0] && (b[d.p.id].useDataProxy ? (f = d.p.dataProxy.call(d, s, "set_" + d.p.id), void 0 === f && (f = [!0, ""]), !1 === f[0] ? (n[0] = !1, n[1] = f[1] || "Error deleting the selected row!") : (s.data.oper === k.addoper && b[d.p.id].closeAfterAdd && a.jgrid.hideModal("#" + a.jgrid.jqID(q.themodal), { gb: "#gbox_" + a.jgrid.jqID(v), jqm: c.jqModal, onClose: b[d.p.id].onClose }), s.data.oper === k.editoper && b[d.p.id].closeAfterEdit && a.jgrid.hideModal("#" + a.jgrid.jqID(q.themodal), { gb: "#gbox_" + a.jgrid.jqID(v), jqm: c.jqModal, onClose: b[d.p.id].onClose }))) : a.ajax(s)) } !1 === n[0] && (a("#FormError>td", p).html(n[1]), a("#FormError", p).show()) } function r(a, b) { var c = !1, d; for (d in a) if (a.hasOwnProperty(d) && a[d] != b[d]) { c = !0; break } return c } function f() { var c = !0; a("#FormError", p).hide(); b[d.p.id].checkOnUpdate && (l = {}, e(), M = r(l, b[d.p.id]._savedData)) && (a("#" + g).data("disabled", !0), a(".confirm", "#" + q.themodal).show(), c = !1); return c } function k() { var b; if ("_empty" !== z && void 0 !== d.p.savedRow && 0 < d.p.savedRow.length && a.isFunction(a.fn.jqGrid.restoreRow)) for (b = 0; b < d.p.savedRow.length; b++) if (d.p.savedRow[b].id == z) { a(d).jqGrid("restoreRow", z); break } } function u(b, c) { var d = c[1].length - 1; 0 === b ? a("#pData", p + "_2").addClass("ui-state-disabled") : void 0 !== c[1][b - 1] && a("#" + a.jgrid.jqID(c[1][b - 1])).hasClass("ui-state-disabled") ? a("#pData", p + "_2").addClass("ui-state-disabled") : a("#pData", p + "_2").removeClass("ui-state-disabled"); b === d ? a("#nData", p + "_2").addClass("ui-state-disabled") : void 0 !== c[1][b + 1] && a("#" + a.jgrid.jqID(c[1][b + 1])).hasClass("ui-state-disabled") ? a("#nData", p + "_2").addClass("ui-state-disabled") : a("#nData", p + "_2").removeClass("ui-state-disabled") } function x() { var b = a(d).jqGrid("getDataIDs"), c = a("#id_g", p).val(); return [a.inArray(c, b), b] } var d = this; if (d.grid && z) { var v = d.p.id, g = "FrmGrid_" + v, m = "TblGrid_" + v, p = "#" + a.jgrid.jqID(m), q = { themodal: "editmod" + v, modalhead: "edithd" + v, modalcontent: "editcnt" + v, scrollelm: g }, y = a.isFunction(b[d.p.id].beforeShowForm) ? b[d.p.id].beforeShowForm : !1, D = a.isFunction(b[d.p.id].afterShowForm) ? b[d.p.id].afterShowForm : !1, A = a.isFunction(b[d.p.id].beforeInitData) ? b[d.p.id].beforeInitData : !1, E = a.isFunction(b[d.p.id].onInitializeForm) ? b[d.p.id].onInitializeForm : !1, n = !0, C = 1, I = 0, l, M, B, g = a.jgrid.jqID(g); "new" === z ? (z = "_empty", B = "add", c.caption = b[d.p.id].addCaption) : (c.caption = b[d.p.id].editCaption, B = "edit"); c.recreateForm || a(d).data("formProp") && a.extend(b[a(this)[0].p.id], a(d).data("formProp")); var N = !0; c.checkOnUpdate && c.jqModal && !c.modal && (N = !1); var H = isNaN(b[a(this)[0].p.id].dataheight) ? b[a(this)[0].p.id].dataheight : b[a(this)[0].p.id].dataheight + "px", n = isNaN(b[a(this)[0].p.id].datawidth) ? b[a(this)[0].p.id].datawidth : b[a(this)[0].p.id].datawidth + "px", H = a("
").data("disabled", !1), F = a("
"), n = a(d).triggerHandler("jqGridAddEditBeforeInitData", [a("#" + g), B]); void 0 === n && (n = !0); n && A && (n = A.call(d, a("#" + g), B)); if (!1 !== n) { k(); a(d.p.colModel).each(function () { var a = this.formoptions; C = Math.max(C, a ? a.colpos || 0 : 0); I = Math.max(I, a ? a.rowpos || 0 : 0) }); a(H).append(F); A = a(""); A[0].rp = 0; a(F).append(A); A = a("" + b[d.p.id].topinfo + ""); A[0].rp = 0; a(F).append(A); var n = (A = "rtl" === d.p.direction ? !0 : !1) ? "nData" : "pData", G = A ? "pData" : "nData"; h(z, d, F, C); var n = "", G = "", J = "" + c.bSubmit + "", K = "" + c.bCancel + "", m = "" + (""), m = m + "

" + J + K + "
"; if (0 < I) { var L = []; a.each(a(F)[0].rows, function (a, b) { L[a] = b }); L.sort(function (a, b) { return a.rp > b.rp ? 1 : a.rp < b.rp ? -1 : 0 }); a.each(L, function (b, c) { a("tbody", F).append(c) }) } c.gbox = "#gbox_" + a.jgrid.jqID(v); var O = !1; !0 === c.closeOnEscape && (c.closeOnEscape = !1, O = !0); m = a("
").append(H).append(m); a.jgrid.createModal(q, m, b[a(this)[0].p.id], "#gview_" + a.jgrid.jqID(d.p.id), a("#gbox_" + a.jgrid.jqID(d.p.id))[0]); A && (a("#pData, #nData", p + "_2").css("float", "right"), a(".EditButton", p + "_2").css("text-align", "left")); b[d.p.id].topinfo && a(".tinfo", p).show(); b[d.p.id].bottominfo && a(".binfo", p + "_2").show(); m = m = null; a("#" + a.jgrid.jqID(q.themodal)).keydown(function (e) { var n = e.target; if (!0 === a("#" + g).data("disabled")) return !1; if (!0 === b[d.p.id].savekey[0] && e.which === b[d.p.id].savekey[1] && "TEXTAREA" !== n.tagName) return a("#sData", p + "_2").trigger("click"), !1; if (27 === e.which) { if (!f()) return !1; O && a.jgrid.hideModal("#" + a.jgrid.jqID(q.themodal), { gb: c.gbox, jqm: c.jqModal, onClose: b[d.p.id].onClose }); return !1 } if (!0 === b[d.p.id].navkeys[0]) { if ("_empty" === a("#id_g", p).val()) return !0; if (e.which === b[d.p.id].navkeys[1]) return a("#pData", p + "_2").trigger("click"), !1; if (e.which === b[d.p.id].navkeys[2]) return a("#nData", p + "_2").trigger("click"), !1 } }); c.checkOnUpdate && (a("a.ui-jqdialog-titlebar-close span", "#" + a.jgrid.jqID(q.themodal)).removeClass("jqmClose"), a("a.ui-jqdialog-titlebar-close", "#" + a.jgrid.jqID(q.themodal)).unbind("click").click(function () { if (!f()) return !1; a.jgrid.hideModal("#" + a.jgrid.jqID(q.themodal), { gb: "#gbox_" + a.jgrid.jqID(v), jqm: c.jqModal, onClose: b[d.p.id].onClose }); return !1 })); c.saveicon = a.extend([!0, "left", "ui-icon-disk"], c.saveicon); c.closeicon = a.extend([!0, "left", "ui-icon-close"], c.closeicon); !0 === c.saveicon[0] && a("#sData", p + "_2").addClass("right" === c.saveicon[1] ? "fm-button-icon-right" : "fm-button-icon-left").append(""); !0 === c.closeicon[0] && a("#cData", p + "_2").addClass("right" === c.closeicon[1] ? "fm-button-icon-right" : "fm-button-icon-left").append(""); if (b[d.p.id].checkOnSubmit || b[d.p.id].checkOnUpdate) J = "" + c.bYes + "", G = "" + c.bNo + "", K = "" + c.bExit + "", m = c.zIndex || 999, m++, a("
" + c.saveData + "

" + J + G + K + "
").insertAfter("#" + g), a("#sNew", "#" + a.jgrid.jqID(q.themodal)).click(function () { s(); a("#" + g).data("disabled", !1); a(".confirm", "#" + a.jgrid.jqID(q.themodal)).hide(); return !1 }), a("#nNew", "#" + a.jgrid.jqID(q.themodal)).click(function () { a(".confirm", "#" + a.jgrid.jqID(q.themodal)).hide(); a("#" + g).data("disabled", !1); setTimeout(function () { a(":input:visible", "#" + g)[0].focus() }, 0); return !1 }), a("#cNew", "#" + a.jgrid.jqID(q.themodal)).click(function () { a(".confirm", "#" + a.jgrid.jqID(q.themodal)).hide(); a("#" + g).data("disabled", !1); a.jgrid.hideModal("#" + a.jgrid.jqID(q.themodal), { gb: "#gbox_" + a.jgrid.jqID(v), jqm: c.jqModal, onClose: b[d.p.id].onClose }); return !1 }); a(d).triggerHandler("jqGridAddEditInitializeForm", [a("#" + g), B]); E && E.call(d, a("#" + g), B); "_empty" !== z && b[d.p.id].viewPagerButtons ? a("#pData,#nData", p + "_2").show() : a("#pData,#nData", p + "_2").hide(); a(d).triggerHandler("jqGridAddEditBeforeShowForm", [a("#" + g), B]); y && y.call(d, a("#" + g), B); a("#" + a.jgrid.jqID(q.themodal)).data("onClose", b[d.p.id].onClose); a.jgrid.viewModal("#" + a.jgrid.jqID(q.themodal), { gbox: "#gbox_" + a.jgrid.jqID(v), jqm: c.jqModal, overlay: c.overlay, modal: c.modal, overlayClass: c.overlayClass, onHide: function (b) { a(d).data("formProp", { top: parseFloat(a(b.w).css("top")), left: parseFloat(a(b.w).css("left")), width: a(b.w).width(), height: a(b.w).height(), dataheight: a("#" + g).height(), datawidth: a("#" + g).width() }); b.w.remove(); b.o && b.o.remove() } }); N || a("." + a.jgrid.jqID(c.overlayClass)).click(function () { if (!f()) return !1; a.jgrid.hideModal("#" + a.jgrid.jqID(q.themodal), { gb: "#gbox_" + a.jgrid.jqID(v), jqm: c.jqModal, onClose: b[d.p.id].onClose }); return !1 }); a(".fm-button", "#" + a.jgrid.jqID(q.themodal)).hover(function () { a(this).addClass("ui-state-hover") }, function () { a(this).removeClass("ui-state-hover") }); a("#sData", p + "_2").click(function () { l = {}; a("#FormError", p).hide(); e(); "_empty" === l[d.p.id + "_id"] ? s() : !0 === c.checkOnSubmit ? (M = r(l, b[d.p.id]._savedData)) ? (a("#" + g).data("disabled", !0), a(".confirm", "#" + a.jgrid.jqID(q.themodal)).show()) : s() : s(); return !1 }); a("#cData", p + "_2").click(function () { if (!f()) return !1; a.jgrid.hideModal("#" + a.jgrid.jqID(q.themodal), { gb: "#gbox_" + a.jgrid.jqID(v), jqm: c.jqModal, onClose: b[d.p.id].onClose }); return !1 }); a("#nData", p + "_2").click(function () { if (!f()) return !1; a("#FormError", p).hide(); var b = x(); b[0] = parseInt(b[0], 10); if (-1 !== b[0] && b[1][b[0] + 1]) { a(d).triggerHandler("jqGridAddEditClickPgButtons", ["next", a("#" + g), b[1][b[0]]]); var e; if (a.isFunction(c.onclickPgButtons) && (e = c.onclickPgButtons.call(d, "next", a("#" + g), b[1][b[0]]), void 0 !== e && !1 === e) || a("#" + a.jgrid.jqID(b[1][b[0] + 1])).hasClass("ui-state-disabled")) return !1; w(b[1][b[0] + 1], d, g); a(d).jqGrid("setSelection", b[1][b[0] + 1]); a(d).triggerHandler("jqGridAddEditAfterClickPgButtons", ["next", a("#" + g), b[1][b[0]]]); a.isFunction(c.afterclickPgButtons) && c.afterclickPgButtons.call(d, "next", a("#" + g), b[1][b[0] + 1]); u(b[0] + 1, b) } return !1 }); a("#pData", p + "_2").click(function () { if (!f()) return !1; a("#FormError", p).hide(); var b = x(); if (-1 !== b[0] && b[1][b[0] - 1]) { a(d).triggerHandler("jqGridAddEditClickPgButtons", ["prev", a("#" + g), b[1][b[0]]]); var e; if (a.isFunction(c.onclickPgButtons) && (e = c.onclickPgButtons.call(d, "prev", a("#" + g), b[1][b[0]]), void 0 !== e && !1 === e) || a("#" + a.jgrid.jqID(b[1][b[0] - 1])).hasClass("ui-state-disabled")) return !1; w(b[1][b[0] - 1], d, g); a(d).jqGrid("setSelection", b[1][b[0] - 1]); a(d).triggerHandler("jqGridAddEditAfterClickPgButtons", ["prev", a("#" + g), b[1][b[0]]]); a.isFunction(c.afterclickPgButtons) && c.afterclickPgButtons.call(d, "prev", a("#" + g), b[1][b[0] - 1]); u(b[0] - 1, b) } return !1 }); a(d).triggerHandler("jqGridAddEditAfterShowForm", [a("#" + g), B]); D && D.call(d, a("#" + g), B); y = x(); u(y[0], y) } } }) }, viewGridRow: function (z, c) { c = a.extend(!0, { top: 0, left: 0, width: 0, datawidth: "auto", height: "auto", dataheight: "auto", modal: !1, overlay: 30, drag: !0, resize: !0, jqModal: !0, closeOnEscape: !1, labelswidth: "30%", closeicon: [], navkeys: [!1, 38, 40], onClose: null, beforeShowForm: null, beforeInitData: null, viewPagerButtons: !0, recreateForm: !1 }, a.jgrid.view, c || {}); b[a(this)[0].p.id] = c; return this.each(function () { function e() { !0 !== b[r.p.id].closeOnEscape && !0 !== b[r.p.id].navkeys[0] || setTimeout(function () { a(".ui-jqdialog-titlebar-close", "#" + a.jgrid.jqID(v.modalhead)).focus() }, 0) } function h(b, d, e, f) { var g, k, h, q = 0, m, p, r = [], s = !1, t, u = "  ", y = "", z = ["integer", "number", "currency"], v = 0, w = 0, A, x, D; for (t = 1; t <= f; t++) y += 1 === t ? u : "  "; a(d.p.colModel).each(function () { (k = this.editrules && !0 === this.editrules.edithidden ? !1 : !0 === this.hidden ? !0 : !1) || "right" !== this.align || (this.formatter && -1 !== a.inArray(this.formatter, z) ? v = Math.max(v, parseInt(this.width, 10)) : w = Math.max(w, parseInt(this.width, 10))) }); A = 0 !== v ? v : 0 !== w ? w : 0; s = a(d).jqGrid("getInd", b); a(d.p.colModel).each(function (b) { g = this.name; x = !1; p = (k = this.editrules && !0 === this.editrules.edithidden ? !1 : !0 === this.hidden ? !0 : !1) ? "style='display:none'" : ""; D = "boolean" !== typeof this.viewable ? !0 : this.viewable; if ("cb" !== g && "subgrid" !== g && "rn" !== g && D) { m = !1 === s ? "" : g === d.p.ExpandColumn && !0 === d.p.treeGrid ? a("td:eq(" + b + ")", d.rows[s]).text() : a("td:eq(" + b + ")", d.rows[s]).html(); x = "right" === this.align && 0 !== A ? !0 : !1; var c = a.extend({}, { rowabove: !1, rowcontent: "" }, this.formoptions || {}), n = parseInt(c.rowpos, 10) || q + 1, t = parseInt(2 * (parseInt(c.colpos, 10) || 1), 10); if (c.rowabove) { var u = a("" + c.rowcontent + ""); a(e).append(u); u[0].rp = n } h = a(e).find("tr[rowpos=" + n + "]"); 0 === h.length && (h = a("").addClass("FormData").attr("id", "trv_" + g), a(h).append(y), a(e).append(h), h[0].rp = n); a("td:eq(" + (t - 2) + ")", h[0]).html("" + (void 0 === c.label ? d.p.colNames[b] : c.label) + ""); a("td:eq(" + (t - 1) + ")", h[0]).append("" + m + "").attr("id", "v_" + g); x && a("td:eq(" + (t - 1) + ") span", h[0]).css({ "text-align": "right", width: A + "px" }); r[q] = b; q++ } }); 0 < q && (b = a(""), b[0].rp = q + 99, a(e).append(b)); return r } function w(b, c) { var d, e, f = 0, g, k; if (k = a(c).jqGrid("getInd", b, !0)) a("td", k).each(function (b) { d = c.p.colModel[b].name; e = c.p.colModel[b].editrules && !0 === c.p.colModel[b].editrules.edithidden ? !1 : !0 === c.p.colModel[b].hidden ? !0 : !1; "cb" !== d && "subgrid" !== d && "rn" !== d && (g = d === c.p.ExpandColumn && !0 === c.p.treeGrid ? a(this).text() : a(this).html(), d = a.jgrid.jqID("v_" + d), a("#" + d + " span", "#" + u).html(g), e && a("#" + d, "#" + u).parents("tr:first").hide(), f++) }), 0 < f && a("#id_g", "#" + u).val(b) } function t(b, c) { var d = c[1].length - 1; 0 === b ? a("#pData", "#" + u + "_2").addClass("ui-state-disabled") : void 0 !== c[1][b - 1] && a("#" + a.jgrid.jqID(c[1][b - 1])).hasClass("ui-state-disabled") ? a("#pData", u + "_2").addClass("ui-state-disabled") : a("#pData", "#" + u + "_2").removeClass("ui-state-disabled"); b === d ? a("#nData", "#" + u + "_2").addClass("ui-state-disabled") : void 0 !== c[1][b + 1] && a("#" + a.jgrid.jqID(c[1][b + 1])).hasClass("ui-state-disabled") ? a("#nData", u + "_2").addClass("ui-state-disabled") : a("#nData", "#" + u + "_2").removeClass("ui-state-disabled") } function s() { var b = a(r).jqGrid("getDataIDs"), c = a("#id_g", "#" + u).val(); return [a.inArray(c, b), b] } var r = this; if (r.grid && z) { var f = r.p.id, k = "ViewGrid_" + a.jgrid.jqID(f), u = "ViewTbl_" + a.jgrid.jqID(f), x = "ViewGrid_" + f, d = "ViewTbl_" + f, v = { themodal: "viewmod" + f, modalhead: "viewhd" + f, modalcontent: "viewcnt" + f, scrollelm: k }, g = a.isFunction(b[r.p.id].beforeInitData) ? b[r.p.id].beforeInitData : !1, m = !0, p = 1, q = 0; c.recreateForm || a(r).data("viewProp") && a.extend(b[a(this)[0].p.id], a(r).data("viewProp")); var y = isNaN(b[a(this)[0].p.id].dataheight) ? b[a(this)[0].p.id].dataheight : b[a(this)[0].p.id].dataheight + "px", D = isNaN(b[a(this)[0].p.id].datawidth) ? b[a(this)[0].p.id].datawidth : b[a(this)[0].p.id].datawidth + "px", x = a("
"), A = a("
"); g && (m = g.call(r, a("#" + k)), void 0 === m && (m = !0)); if (!1 !== m) { a(r.p.colModel).each(function () { var a = this.formoptions; p = Math.max(p, a ? a.colpos || 0 : 0); q = Math.max(q, a ? a.rowpos || 0 : 0) }); a(x).append(A); h(z, r, A, p); d = "rtl" === r.p.direction ? !0 : !1; g = ""; m = ""; y = "" + c.bClose + ""; if (0 < q) { var E = []; a.each(a(A)[0].rows, function (a, b) { E[a] = b }); E.sort(function (a, b) { return a.rp > b.rp ? 1 : a.rp < b.rp ? -1 : 0 }); a.each(E, function (b, c) { a("tbody", A).append(c) }) } c.gbox = "#gbox_" + a.jgrid.jqID(f); x = a("
").append(x).append("
" + y + "
"); a.jgrid.createModal(v, x, c, "#gview_" + a.jgrid.jqID(r.p.id), a("#gview_" + a.jgrid.jqID(r.p.id))[0]); d && (a("#pData, #nData", "#" + u + "_2").css("float", "right"), a(".EditButton", "#" + u + "_2").css("text-align", "left")); c.viewPagerButtons || a("#pData, #nData", "#" + u + "_2").hide(); x = null; a("#" + v.themodal).keydown(function (d) { if (27 === d.which) return b[r.p.id].closeOnEscape && a.jgrid.hideModal("#" + a.jgrid.jqID(v.themodal), { gb: c.gbox, jqm: c.jqModal, onClose: c.onClose }), !1; if (!0 === c.navkeys[0]) { if (d.which === c.navkeys[1]) return a("#pData", "#" + u + "_2").trigger("click"), !1; if (d.which === c.navkeys[2]) return a("#nData", "#" + u + "_2").trigger("click"), !1 } }); c.closeicon = a.extend([!0, "left", "ui-icon-close"], c.closeicon); !0 === c.closeicon[0] && a("#cData", "#" + u + "_2").addClass("right" === c.closeicon[1] ? "fm-button-icon-right" : "fm-button-icon-left").append(""); a.isFunction(c.beforeShowForm) && c.beforeShowForm.call(r, a("#" + k)); a.jgrid.viewModal("#" + a.jgrid.jqID(v.themodal), { gbox: "#gbox_" + a.jgrid.jqID(f), jqm: c.jqModal, overlay: c.overlay, modal: c.modal, onHide: function (b) { a(r).data("viewProp", { top: parseFloat(a(b.w).css("top")), left: parseFloat(a(b.w).css("left")), width: a(b.w).width(), height: a(b.w).height(), dataheight: a("#" + k).height(), datawidth: a("#" + k).width() }); b.w.remove(); b.o && b.o.remove() } }); a(".fm-button:not(.ui-state-disabled)", "#" + u + "_2").hover(function () { a(this).addClass("ui-state-hover") }, function () { a(this).removeClass("ui-state-hover") }); e(); a("#cData", "#" + u + "_2").click(function () { a.jgrid.hideModal("#" + a.jgrid.jqID(v.themodal), { gb: "#gbox_" + a.jgrid.jqID(f), jqm: c.jqModal, onClose: c.onClose }); return !1 }); a("#nData", "#" + u + "_2").click(function () { a("#FormError", "#" + u).hide(); var b = s(); b[0] = parseInt(b[0], 10); -1 !== b[0] && b[1][b[0] + 1] && (a.isFunction(c.onclickPgButtons) && c.onclickPgButtons.call(r, "next", a("#" + k), b[1][b[0]]), w(b[1][b[0] + 1], r), a(r).jqGrid("setSelection", b[1][b[0] + 1]), a.isFunction(c.afterclickPgButtons) && c.afterclickPgButtons.call(r, "next", a("#" + k), b[1][b[0] + 1]), t(b[0] + 1, b)); e(); return !1 }); a("#pData", "#" + u + "_2").click(function () { a("#FormError", "#" + u).hide(); var b = s(); -1 !== b[0] && b[1][b[0] - 1] && (a.isFunction(c.onclickPgButtons) && c.onclickPgButtons.call(r, "prev", a("#" + k), b[1][b[0]]), w(b[1][b[0] - 1], r), a(r).jqGrid("setSelection", b[1][b[0] - 1]), a.isFunction(c.afterclickPgButtons) && c.afterclickPgButtons.call(r, "prev", a("#" + k), b[1][b[0] - 1]), t(b[0] - 1, b)); e(); return !1 }); x = s(); t(x[0], x) } } }) }, delGridRow: function (z, c) { c = a.extend(!0, { top: 0, left: 0, width: 240, height: "auto", dataheight: "auto", modal: !1, overlay: 30, drag: !0, resize: !0, url: "", mtype: "POST", reloadAfterSubmit: !0, beforeShowForm: null, beforeInitData: null, afterShowForm: null, beforeSubmit: null, onclickSubmit: null, afterSubmit: null, jqModal: !0, closeOnEscape: !1, delData: {}, delicon: [], cancelicon: [], onClose: null, ajaxDelOptions: {}, processing: !1, serializeDelData: null, useDataProxy: !1 }, a.jgrid.del, c || {}); b[a(this)[0].p.id] = c; return this.each(function () { var e = this; if (e.grid && z) { var h = a.isFunction(b[e.p.id].beforeShowForm), w = a.isFunction(b[e.p.id].afterShowForm), t = a.isFunction(b[e.p.id].beforeInitData) ? b[e.p.id].beforeInitData : !1, s = e.p.id, r = {}, f = !0, k = "DelTbl_" + a.jgrid.jqID(s), u, x, d, v, g = "DelTbl_" + s, m = { themodal: "delmod" + s, modalhead: "delhd" + s, modalcontent: "delcnt" + s, scrollelm: k }; a.isArray(z) && (z = z.join()); if (void 0 !== a("#" + a.jgrid.jqID(m.themodal))[0]) { t && (f = t.call(e, a("#" + k)), void 0 === f && (f = !0)); if (!1 === f) return; a("#DelData>td", "#" + k).text(z); a("#DelError", "#" + k).hide(); !0 === b[e.p.id].processing && (b[e.p.id].processing = !1, a("#dData", "#" + k).removeClass("ui-state-active")); h && b[e.p.id].beforeShowForm.call(e, a("#" + k)); a.jgrid.viewModal("#" + a.jgrid.jqID(m.themodal), { gbox: "#gbox_" + a.jgrid.jqID(s), jqm: b[e.p.id].jqModal, jqM: !1, overlay: b[e.p.id].overlay, modal: b[e.p.id].modal }) } else { var p = isNaN(b[e.p.id].dataheight) ? b[e.p.id].dataheight : b[e.p.id].dataheight + "px", q = isNaN(c.datawidth) ? c.datawidth : c.datawidth + "px", g = "
", g = g + "", g = g + (""), g = g + ('"), g = g + "
' + b[e.p.id].msg + "
 
", g = g + ("

" + ("" + c.bSubmit + "") + " " + ("" + c.bCancel + "") + "
"); c.gbox = "#gbox_" + a.jgrid.jqID(s); a.jgrid.createModal(m, g, c, "#gview_" + a.jgrid.jqID(e.p.id), a("#gview_" + a.jgrid.jqID(e.p.id))[0]); t && (f = t.call(e, a("#" + k)), void 0 === f && (f = !0)); if (!1 === f) return; a(".fm-button", "#" + k + "_2").hover(function () { a(this).addClass("ui-state-hover") }, function () { a(this).removeClass("ui-state-hover") }); c.delicon = a.extend([!0, "left", "ui-icon-scissors"], b[e.p.id].delicon); c.cancelicon = a.extend([!0, "left", "ui-icon-cancel"], b[e.p.id].cancelicon); !0 === c.delicon[0] && a("#dData", "#" + k + "_2").addClass("right" === c.delicon[1] ? "fm-button-icon-right" : "fm-button-icon-left").append(""); !0 === c.cancelicon[0] && a("#eData", "#" + k + "_2").addClass("right" === c.cancelicon[1] ? "fm-button-icon-right" : "fm-button-icon-left").append(""); a("#dData", "#" + k + "_2").click(function () { var f = [!0, ""], g, h = a("#DelData>td", "#" + k).text(); r = {}; a.isFunction(b[e.p.id].onclickSubmit) && (r = b[e.p.id].onclickSubmit.call(e, b[e.p.id], h) || {}); a.isFunction(b[e.p.id].beforeSubmit) && (f = b[e.p.id].beforeSubmit.call(e, h)); if (f[0] && !b[e.p.id].processing) { b[e.p.id].processing = !0; d = e.p.prmNames; u = a.extend({}, b[e.p.id].delData, r); v = d.oper; u[v] = d.deloper; x = d.id; h = String(h).split(","); if (!h.length) return !1; for (g in h) h.hasOwnProperty(g) && (h[g] = a.jgrid.stripPref(e.p.idPrefix, h[g])); u[x] = h.join(); a(this).addClass("ui-state-active"); g = a.extend({ url: b[e.p.id].url || a(e).jqGrid("getGridParam", "editurl"), type: b[e.p.id].mtype, data: a.isFunction(b[e.p.id].serializeDelData) ? b[e.p.id].serializeDelData.call(e, u) : u, complete: function (d, g) { var q; 300 <= d.status && 304 !== d.status ? (f[0] = !1, a.isFunction(b[e.p.id].errorTextFormat) ? f[1] = b[e.p.id].errorTextFormat.call(e, d) : f[1] = g + " Status: '" + d.statusText + "'. Error code: " + d.status) : a.isFunction(b[e.p.id].afterSubmit) && (f = b[e.p.id].afterSubmit.call(e, d, u)); if (!1 === f[0]) a("#DelError>td", "#" + k).html(f[1]), a("#DelError", "#" + k).show(); else { if (b[e.p.id].reloadAfterSubmit && "local" !== e.p.datatype) a(e).trigger("reloadGrid"); else { if (!0 === e.p.treeGrid) try { a(e).jqGrid("delTreeNode", e.p.idPrefix + h[0]) } catch (p) { } else for (q = 0; q < h.length; q++) a(e).jqGrid("delRowData", e.p.idPrefix + h[q]); e.p.selrow = null; e.p.selarrrow = [] } a.isFunction(b[e.p.id].afterComplete) && setTimeout(function () { b[e.p.id].afterComplete.call(e, d, h) }, 500) } b[e.p.id].processing = !1; a("#dData", "#" + k + "_2").removeClass("ui-state-active"); f[0] && a.jgrid.hideModal("#" + a.jgrid.jqID(m.themodal), { gb: "#gbox_" + a.jgrid.jqID(s), jqm: c.jqModal, onClose: b[e.p.id].onClose }) } }, a.jgrid.ajaxOptions, b[e.p.id].ajaxDelOptions); g.url || b[e.p.id].useDataProxy || (a.isFunction(e.p.dataProxy) ? b[e.p.id].useDataProxy = !0 : (f[0] = !1, f[1] += " " + a.jgrid.errors.nourl)); f[0] && (b[e.p.id].useDataProxy ? (g = e.p.dataProxy.call(e, g, "del_" + e.p.id), void 0 === g && (g = [!0, ""]), !1 === g[0] ? (f[0] = !1, f[1] = g[1] || "Error deleting the selected row!") : a.jgrid.hideModal("#" + a.jgrid.jqID(m.themodal), { gb: "#gbox_" + a.jgrid.jqID(s), jqm: c.jqModal, onClose: b[e.p.id].onClose })) : a.ajax(g)) } !1 === f[0] && (a("#DelError>td", "#" + k).html(f[1]), a("#DelError", "#" + k).show()); return !1 }); a("#eData", "#" + k + "_2").click(function () { a.jgrid.hideModal("#" + a.jgrid.jqID(m.themodal), { gb: "#gbox_" + a.jgrid.jqID(s), jqm: b[e.p.id].jqModal, onClose: b[e.p.id].onClose }); return !1 }); h && b[e.p.id].beforeShowForm.call(e, a("#" + k)); a.jgrid.viewModal("#" + a.jgrid.jqID(m.themodal), { gbox: "#gbox_" + a.jgrid.jqID(s), jqm: b[e.p.id].jqModal, overlay: b[e.p.id].overlay, modal: b[e.p.id].modal }) } w && b[e.p.id].afterShowForm.call(e, a("#" + k)); !0 === b[e.p.id].closeOnEscape && setTimeout(function () { a(".ui-jqdialog-titlebar-close", "#" + a.jgrid.jqID(m.modalhead)).focus() }, 0) } }) }, navGrid: function (b, c, e, h, w, t, s) { c = a.extend({ edit: !0, editicon: "ui-icon-pencil", add: !0, addicon: "ui-icon-plus", del: !0, delicon: "ui-icon-trash", search: !0, searchicon: "ui-icon-search", refresh: !0, refreshicon: "ui-icon-refresh", refreshstate: "firstpage", view: !1, viewicon: "ui-icon-document", position: "left", closeOnEscape: !0, beforeRefresh: null, afterRefresh: null, cloneToTop: !1, alertwidth: 200, alertheight: "auto", alerttop: null, alertleft: null, alertzIndex: null }, a.jgrid.nav, c || {}); return this.each(function () { if (!this.nav) { var r = { themodal: "alertmod_" + this.p.id, modalhead: "alerthd_" + this.p.id, modalcontent: "alertcnt_" + this.p.id }, f = this, k; if (f.grid && "string" === typeof b) { void 0 === a("#" + r.themodal)[0] && (c.alerttop || c.alertleft || (void 0 !== window.innerWidth ? (c.alertleft = window.innerWidth, c.alerttop = window.innerHeight) : void 0 !== document.documentElement && void 0 !== document.documentElement.clientWidth && 0 !== document.documentElement.clientWidth ? (c.alertleft = document.documentElement.clientWidth, c.alerttop = document.documentElement.clientHeight) : (c.alertleft = 1024, c.alerttop = 768), c.alertleft = c.alertleft / 2 - parseInt(c.alertwidth, 10) / 2, c.alerttop = c.alerttop / 2 - 25), a.jgrid.createModal(r, "
" + c.alerttext + "
", { gbox: "#gbox_" + a.jgrid.jqID(f.p.id), jqModal: !0, drag: !0, resize: !0, caption: c.alertcap, top: c.alerttop, left: c.alertleft, width: c.alertwidth, height: c.alertheight, closeOnEscape: c.closeOnEscape, zIndex: c.alertzIndex }, "#gview_" + a.jgrid.jqID(f.p.id), a("#gbox_" + a.jgrid.jqID(f.p.id))[0], !0)); var u = 1, x, d = function () { a(this).hasClass("ui-state-disabled") || a(this).addClass("ui-state-hover") }, v = function () { a(this).removeClass("ui-state-hover") }; c.cloneToTop && f.p.toppager && (u = 2); for (x = 0; x < u; x++) { var g = a(""), m, p; 0 === x ? (m = b, p = f.p.id, m === f.p.toppager && (p += "_top", u = 1)) : (m = f.p.toppager, p = f.p.id + "_top"); "rtl" === f.p.direction && a(g).attr("dir", "rtl").css("float", "right"); c.add && (h = h || {}, k = a(""), a(k).append("
" + c.addtext + "
"), a("tr", g).append(k), a(k, g).attr({ title: c.addtitle || "", id: h.id || "add_" + p }).click(function () { a(this).hasClass("ui-state-disabled") || (a.isFunction(c.addfunc) ? c.addfunc.call(f) : a(f).jqGrid("editGridRow", "new", h)); return !1 }).hover(d, v), k = null); c.edit && (k = a(""), e = e || {}, a(k).append("
" + c.edittext + "
"), a("tr", g).append(k), a(k, g).attr({ title: c.edittitle || "", id: e.id || "edit_" + p }).click(function () { if (!a(this).hasClass("ui-state-disabled")) { var b = f.p.selrow; b ? a.isFunction(c.editfunc) ? c.editfunc.call(f, b) : a(f).jqGrid("editGridRow", b, e) : (a.jgrid.viewModal("#" + r.themodal, { gbox: "#gbox_" + a.jgrid.jqID(f.p.id), jqm: !0 }), a("#jqg_alrt").focus()) } return !1 }).hover(d, v), k = null); c.view && (k = a(""), s = s || {}, a(k).append("
" + c.viewtext + "
"), a("tr", g).append(k), a(k, g).attr({ title: c.viewtitle || "", id: s.id || "view_" + p }).click(function () { if (!a(this).hasClass("ui-state-disabled")) { var b = f.p.selrow; b ? a.isFunction(c.viewfunc) ? c.viewfunc.call(f, b) : a(f).jqGrid("viewGridRow", b, s) : (a.jgrid.viewModal("#" + r.themodal, { gbox: "#gbox_" + a.jgrid.jqID(f.p.id), jqm: !0 }), a("#jqg_alrt").focus()) } return !1 }).hover(d, v), k = null); c.del && (k = a(""), w = w || {}, a(k).append("
" + c.deltext + "
"), a("tr", g).append(k), a(k, g).attr({ title: c.deltitle || "", id: w.id || "del_" + p }).click(function () { if (!a(this).hasClass("ui-state-disabled")) { var b; f.p.multiselect ? (b = f.p.selarrrow, 0 === b.length && (b = null)) : b = f.p.selrow; b ? a.isFunction(c.delfunc) ? c.delfunc.call(f, b) : a(f).jqGrid("delGridRow", b, w) : (a.jgrid.viewModal("#" + r.themodal, { gbox: "#gbox_" + a.jgrid.jqID(f.p.id), jqm: !0 }), a("#jqg_alrt").focus()) } return !1 }).hover(d, v), k = null); (c.add || c.edit || c.del || c.view) && a("tr", g).append(""); c.search && (k = a(""), t = t || {}, a(k).append("
" + c.searchtext + "
"), a("tr", g).append(k), a(k, g).attr({ title: c.searchtitle || "", id: t.id || "search_" + p }).click(function () { a(this).hasClass("ui-state-disabled") || (a.isFunction(c.searchfunc) ? c.searchfunc.call(f, t) : a(f).jqGrid("searchGrid", t)); return !1 }).hover(d, v), t.showOnLoad && !0 === t.showOnLoad && a(k, g).click(), k = null); c.refresh && (k = a(""), a(k).append("
" + c.refreshtext + "
"), a("tr", g).append(k), a(k, g).attr({ title: c.refreshtitle || "", id: "refresh_" + p }).click(function () { if (!a(this).hasClass("ui-state-disabled")) { a.isFunction(c.beforeRefresh) && c.beforeRefresh.call(f); f.p.search = !1; f.p.resetsearch = !0; try { var b = f.p.id; f.p.postData.filters = ""; try { a("#fbox_" + a.jgrid.jqID(b)).jqFilter("resetFilter") } catch (d) { } a.isFunction(f.clearToolbar) && f.clearToolbar.call(f, !1) } catch (e) { } switch (c.refreshstate) { case "firstpage": a(f).trigger("reloadGrid", [{ page: 1 }]); break; case "current": a(f).trigger("reloadGrid", [{ current: !0 }]) } a.isFunction(c.afterRefresh) && c.afterRefresh.call(f) } return !1 }).hover(d, v), k = null); k = a(".ui-jqgrid").css("font-size") || "11px"; a("body").append(""); k = a(g).clone().appendTo("#testpg2").width(); a("#testpg2").remove(); a(m + "_" + c.position, m).append(g); f.p._nvtd && (k > f.p._nvtd[0] && (a(m + "_" + c.position, m).width(k), f.p._nvtd[0] = k), f.p._nvtd[1] = k); g = k = k = null; this.nav = !0 } } } }) }, navButtonAdd: function (b, c) { c = a.extend({ caption: "newButton", title: "", buttonicon: "ui-icon-newwin", onClickButton: null, position: "last", cursor: "pointer" }, c || {}); return this.each(function () { if (this.grid) { "string" === typeof b && 0 !== b.indexOf("#") && (b = "#" + a.jgrid.jqID(b)); var e = a(".navtable", b)[0], h = this; if (e && (!c.id || void 0 === a("#" + a.jgrid.jqID(c.id), e)[0])) { var w = a(""); "NONE" === c.buttonicon.toString().toUpperCase() ? a(w).addClass("ui-pg-button ui-corner-all").append("
" + c.caption + "
") : a(w).addClass("ui-pg-button ui-corner-all").append("
" + c.caption + "
"); c.id && a(w).attr("id", c.id); "first" === c.position ? 0 === e.rows[0].cells.length ? a("tr", e).append(w) : a("tr td:eq(0)", e).before(w) : a("tr", e).append(w); a(w, e).attr("title", c.title || "").click(function (b) { a(this).hasClass("ui-state-disabled") || a.isFunction(c.onClickButton) && c.onClickButton.call(h, b); return !1 }).hover(function () { a(this).hasClass("ui-state-disabled") || a(this).addClass("ui-state-hover") }, function () { a(this).removeClass("ui-state-hover") }) } } }) }, navSeparatorAdd: function (b, c) { c = a.extend({ sepclass: "ui-separator", sepcontent: "", position: "last" }, c || {}); return this.each(function () { if (this.grid) { "string" === typeof b && 0 !== b.indexOf("#") && (b = "#" + a.jgrid.jqID(b)); var e = a(".navtable", b)[0]; if (e) { var h = "" + c.sepcontent + ""; "first" === c.position ? 0 === e.rows[0].cells.length ? a("tr", e).append(h) : a("tr td:eq(0)", e).before(h) : a("tr", e).append(h) } } }) }, GridToForm: function (b, c) { return this.each(function () { var e = this, h; if (e.grid) { var w = a(e).jqGrid("getRowData", b); if (w) for (h in w) w.hasOwnProperty(h) && (a("[name=" + a.jgrid.jqID(h) + "]", c).is("input:radio") || a("[name=" + a.jgrid.jqID(h) + "]", c).is("input:checkbox") ? a("[name=" + a.jgrid.jqID(h) + "]", c).each(function () { if (a(this).val() == w[h]) a(this)[e.p.useProp ? "prop" : "attr"]("checked", !0); else a(this)[e.p.useProp ? "prop" : "attr"]("checked", !1) }) : a("[name=" + a.jgrid.jqID(h) + "]", c).val(w[h])) } }) }, FormToGrid: function (b, c, e, h) { return this.each(function () { if (this.grid) { e || (e = "set"); h || (h = "first"); var w = a(c).serializeArray(), t = {}; a.each(w, function (a, b) { t[b.name] = b.value }); "add" === e ? a(this).jqGrid("addRowData", b, t, h) : "set" === e && a(this).jqGrid("setRowData", b, t) } }) } }) })(jQuery); (function (a) { a.fn.jqFilter = function (d) { if ("string" === typeof d) { var q = a.fn.jqFilter[d]; if (!q) throw "jqFilter - No such method: " + d; var x = a.makeArray(arguments).slice(1); return q.apply(this, x) } var n = a.extend(!0, { filter: null, columns: [], onChange: null, afterRedraw: null, checkValues: null, error: !1, errmsg: "", errorcheck: !0, showQuery: !0, sopt: null, ops: [], operands: null, numopts: "eq ne lt le gt ge nu nn in ni".split(" "), stropts: "eq ne bw bn ew en cn nc nu nn in ni".split(" "), strarr: ["text", "string", "blob"], groupOps: [{ op: "AND", text: "AND" }, { op: "OR", text: "OR" }], groupButton: !0, ruleButtons: !0, direction: "ltr" }, a.jgrid.filter, d || {}); return this.each(function () { if (!this.filter) { this.p = n; if (null === this.p.filter || void 0 === this.p.filter) this.p.filter = { groupOp: this.p.groupOps[0].op, rules: [], groups: [] }; var d, q = this.p.columns.length, f, w = /msie/i.test(navigator.userAgent) && !window.opera; this.p.initFilter = a.extend(!0, {}, this.p.filter); if (q) { for (d = 0; d < q; d++) f = this.p.columns[d], f.stype ? f.inputtype = f.stype : f.inputtype || (f.inputtype = "text"), f.sorttype ? f.searchtype = f.sorttype : f.searchtype || (f.searchtype = "string"), void 0 === f.hidden && (f.hidden = !1), f.label || (f.label = f.name), f.index && (f.name = f.index), f.hasOwnProperty("searchoptions") || (f.searchoptions = {}), f.hasOwnProperty("searchrules") || (f.searchrules = {}); this.p.showQuery && a(this).append("
"); var u = function (g, l) { var b = [!0, ""], c = a("#" + a.jgrid.jqID(n.id))[0] || null; if (a.isFunction(l.searchrules)) b = l.searchrules.call(c, g, l); else if (a.jgrid && a.jgrid.checkValues) try { b = a.jgrid.checkValues.call(c, g, -1, l.searchrules, l.label) } catch (m) { } b && b.length && !1 === b[0] && (n.error = !b[0], n.errmsg = b[1]) }; this.onchange = function () { this.p.error = !1; this.p.errmsg = ""; return a.isFunction(this.p.onChange) ? this.p.onChange.call(this, this.p) : !1 }; this.reDraw = function () { a("table.group:first", this).remove(); var g = this.createTableForGroup(n.filter, null); a(this).append(g); a.isFunction(this.p.afterRedraw) && this.p.afterRedraw.call(this, this.p) }; this.createTableForGroup = function (g, l) { var b = this, c, m = a("
"), e = "left"; "rtl" === this.p.direction && (e = "right", m.attr("dir", "rtl")); null === l && m.append(""); var h = a(""); m.append(h); e = a(""); h.append(e); if (!0 === this.p.ruleButtons) { var d = a(""); e.append(d); var h = "", k; for (c = 0; c < n.groupOps.length; c++) k = g.groupOp === b.p.groupOps[c].op ? " selected='selected'" : "", h += ""; d.append(h).bind("change", function () { g.groupOp = a(d).val(); b.onchange() }) } h = ""; this.p.groupButton && (h = a(""), h.bind("click", function () { void 0 === g.groups && (g.groups = []); g.groups.push({ groupOp: n.groupOps[0].op, rules: [], groups: [] }); b.reDraw(); b.onchange(); return !1 })); e.append(h); if (!0 === this.p.ruleButtons) { var h = a(""), f; h.bind("click", function () { void 0 === g.rules && (g.rules = []); for (c = 0; c < b.p.columns.length; c++) { var e = void 0 === b.p.columns[c].search ? !0 : b.p.columns[c].search, l = !0 === b.p.columns[c].hidden; if (!0 === b.p.columns[c].searchoptions.searchhidden && e || e && !l) { f = b.p.columns[c]; break } } e = f.searchoptions.sopt ? f.searchoptions.sopt : b.p.sopt ? b.p.sopt : -1 !== a.inArray(f.searchtype, b.p.strarr) ? b.p.stropts : b.p.numopts; g.rules.push({ field: f.name, op: e[0], data: "" }); b.reDraw(); return !1 }); e.append(h) } null !== l && (h = a(""), e.append(h), h.bind("click", function () { for (c = 0; c < l.groups.length; c++) if (l.groups[c] === g) { l.groups.splice(c, 1); break } b.reDraw(); b.onchange(); return !1 })); if (void 0 !== g.groups) for (c = 0; c < g.groups.length; c++) e = a(""), m.append(e), h = a(""), e.append(h), h = a(""), h.append(this.createTableForGroup(g.groups[c], g)), e.append(h); void 0 === g.groupOp && (g.groupOp = b.p.groupOps[0].op); if (void 0 !== g.rules) for (c = 0; c < g.rules.length; c++) m.append(this.createTableRowForRule(g.rules[c], g)); return m }; this.createTableRowForRule = function (g, l) { var b = this, c = a("#" + a.jgrid.jqID(n.id))[0] || null, m = a(""), e, h, f, k, d = "", s; m.append(""); var p = a(""); m.append(p); var q = a(""), r, t = []; p.append(q); q.bind("change", function () { g.field = a(q).val(); f = a(this).parents("tr:first"); for (e = 0; e < b.p.columns.length; e++) if (b.p.columns[e].name === g.field) { k = b.p.columns[e]; break } if (k) { k.searchoptions.id = a.jgrid.randId(); w && "text" === k.inputtype && !k.searchoptions.size && (k.searchoptions.size = 10); var d = a.jgrid.createEl.call(c, k.inputtype, k.searchoptions, "", !0, b.p.ajaxSelectOptions || {}, !0); a(d).addClass("input-elm"); h = k.searchoptions.sopt ? k.searchoptions.sopt : b.p.sopt ? b.p.sopt : -1 !== a.inArray(k.searchtype, b.p.strarr) ? b.p.stropts : b.p.numopts; var l = "", m = 0; t = []; a.each(b.p.ops, function () { t.push(this.oper) }); for (e = 0; e < h.length; e++) r = a.inArray(h[e], t), -1 !== r && (0 === m && (g.op = b.p.ops[r].oper), l += "", m++); a(".selectopts", f).empty().append(l); a(".selectopts", f)[0].selectedIndex = 0; a.jgrid.msie && 9 > a.jgrid.msiever() && (l = parseInt(a("select.selectopts", f)[0].offsetWidth, 10) + 1, a(".selectopts", f).width(l), a(".selectopts", f).css("width", "auto")); a(".data", f).empty().append(d); a.jgrid.bindEv.call(c, d, k.searchoptions); a(".input-elm", f).bind("change", function (e) { e = e.target; g.data = "SPAN" === e.nodeName.toUpperCase() && k.searchoptions && a.isFunction(k.searchoptions.custom_value) ? k.searchoptions.custom_value.call(c, a(e).children(".customelement:first"), "get") : e.value; b.onchange() }); setTimeout(function () { g.data = a(d).val(); b.onchange() }, 0) } }); for (e = p = 0; e < b.p.columns.length; e++) { s = void 0 === b.p.columns[e].search ? !0 : b.p.columns[e].search; var u = !0 === b.p.columns[e].hidden; if (!0 === b.p.columns[e].searchoptions.searchhidden && s || s && !u) s = "", g.field === b.p.columns[e].name && (s = " selected='selected'", p = e), d += "" } q.append(d); d = a(""); m.append(d); k = n.columns[p]; k.searchoptions.id = a.jgrid.randId(); w && "text" === k.inputtype && !k.searchoptions.size && (k.searchoptions.size = 10); p = a.jgrid.createEl.call(c, k.inputtype, k.searchoptions, g.data, !0, b.p.ajaxSelectOptions || {}, !0); if ("nu" === g.op || "nn" === g.op) a(p).attr("readonly", "true"), a(p).attr("disabled", "true"); var v = a(""); d.append(v); v.bind("change", function () { g.op = a(v).val(); f = a(this).parents("tr:first"); var c = a(".input-elm", f)[0]; "nu" === g.op || "nn" === g.op ? (g.data = "", "SELECT" !== c.tagName.toUpperCase() && (c.value = ""), c.setAttribute("readonly", "true"), c.setAttribute("disabled", "true")) : ("SELECT" === c.tagName.toUpperCase() && (g.data = c.value), c.removeAttribute("readonly"), c.removeAttribute("disabled")); b.onchange() }); h = k.searchoptions.sopt ? k.searchoptions.sopt : b.p.sopt ? b.p.sopt : -1 !== a.inArray(k.searchtype, b.p.strarr) ? b.p.stropts : b.p.numopts; d = ""; a.each(b.p.ops, function () { t.push(this.oper) }); for (e = 0; e < h.length; e++) r = a.inArray(h[e], t), -1 !== r && (s = g.op === b.p.ops[r].oper ? " selected='selected'" : "", d += ""); v.append(d); d = a(""); m.append(d); d.append(p); a.jgrid.bindEv.call(c, p, k.searchoptions); a(p).addClass("input-elm").bind("change", function () { g.data = "custom" === k.inputtype ? k.searchoptions.custom_value.call(c, a(this).children(".customelement:first"), "get") : a(this).val(); b.onchange() }); d = a(""); m.append(d); !0 === this.p.ruleButtons && (p = a(""), d.append(p), p.bind("click", function () { for (e = 0; e < l.rules.length; e++) if (l.rules[e] === g) { l.rules.splice(e, 1); break } b.reDraw(); b.onchange(); return !1 })); return m }; this.getStringForGroup = function (a) { var d = "(", b; if (void 0 !== a.groups) for (b = 0; b < a.groups.length; b++) { 1 < d.length && (d += " " + a.groupOp + " "); try { d += this.getStringForGroup(a.groups[b]) } catch (c) { alert(c) } } if (void 0 !== a.rules) try { for (b = 0; b < a.rules.length; b++) 1 < d.length && (d += " " + a.groupOp + " "), d += this.getStringForRule(a.rules[b]) } catch (f) { alert(f) } d += ")"; return "()" === d ? "" : d }; this.getStringForRule = function (d) { var f = "", b = "", c, m; for (c = 0; c < this.p.ops.length; c++) if (this.p.ops[c].oper === d.op) { f = this.p.operands.hasOwnProperty(d.op) ? this.p.operands[d.op] : ""; b = this.p.ops[c].oper; break } for (c = 0; c < this.p.columns.length; c++) if (this.p.columns[c].name === d.field) { m = this.p.columns[c]; break } if (void 0 == m) return ""; c = d.data; if ("bw" === b || "bn" === b) c += "%"; if ("ew" === b || "en" === b) c = "%" + c; if ("cn" === b || "nc" === b) c = "%" + c + "%"; if ("in" === b || "ni" === b) c = " (" + c + ")"; n.errorcheck && u(d.data, m); return -1 !== a.inArray(m.searchtype, ["int", "integer", "float", "number", "currency"]) || "nn" === b || "nu" === b ? d.field + " " + f + " " + c : d.field + " " + f + ' "' + c + '"' }; this.resetFilter = function () { this.p.filter = a.extend(!0, {}, this.p.initFilter); this.reDraw(); this.onchange() }; this.hideError = function () { a("th.ui-state-error", this).html(""); a("tr.error", this).hide() }; this.showError = function () { a("th.ui-state-error", this).html(this.p.errmsg); a("tr.error", this).show() }; this.toUserFriendlyString = function () { return this.getStringForGroup(n.filter) }; this.toString = function () { function a(b) { var c = "(", f; if (void 0 !== b.groups) for (f = 0; f < b.groups.length; f++) 1 < c.length && (c = "OR" === b.groupOp ? c + " || " : c + " && "), c += a(b.groups[f]); if (void 0 !== b.rules) for (f = 0; f < b.rules.length; f++) { 1 < c.length && (c = "OR" === b.groupOp ? c + " || " : c + " && "); var e = b.rules[f]; if (d.p.errorcheck) { for (var h = void 0, n = void 0, h = 0; h < d.p.columns.length; h++) if (d.p.columns[h].name === e.field) { n = d.p.columns[h]; break } n && u(e.data, n) } c += e.op + "(item." + e.field + ",'" + e.data + "')" } c += ")"; return "()" === c ? "" : c } var d = this; return a(this.p.filter) }; this.reDraw(); if (this.p.showQuery) this.onchange(); this.filter = !0 } } }) }; a.extend(a.fn.jqFilter, { toSQLString: function () { var a = ""; this.each(function () { a = this.toUserFriendlyString() }); return a }, filterData: function () { var a; this.each(function () { a = this.p.filter }); return a }, getParameter: function (a) { return void 0 !== a && this.p.hasOwnProperty(a) ? this.p[a] : this.p }, resetFilter: function () { return this.each(function () { this.resetFilter() }) }, addFilter: function (d) { "string" === typeof d && (d = a.jgrid.parse(d)); this.each(function () { this.p.filter = d; this.reDraw(); this.onchange() }) } }) })(jQuery); (function (a) { a.jgrid.inlineEdit = a.jgrid.inlineEdit || {}; a.jgrid.extend({ editRow: function (c, e, b, l, h, n, p, g, f) { var m = {}, d = a.makeArray(arguments).slice(1); "object" === a.type(d[0]) ? m = d[0] : (void 0 !== e && (m.keys = e), a.isFunction(b) && (m.oneditfunc = b), a.isFunction(l) && (m.successfunc = l), void 0 !== h && (m.url = h), void 0 !== n && (m.extraparam = n), a.isFunction(p) && (m.aftersavefunc = p), a.isFunction(g) && (m.errorfunc = g), a.isFunction(f) && (m.afterrestorefunc = f)); m = a.extend(!0, { keys: !1, oneditfunc: null, successfunc: null, url: null, extraparam: {}, aftersavefunc: null, errorfunc: null, afterrestorefunc: null, restoreAfterError: !0, mtype: "POST" }, a.jgrid.inlineEdit, m); return this.each(function () { var d = this, f, e, b, g = 0, h = null, n = {}, l, q; d.grid && (l = a(d).jqGrid("getInd", c, !0), !1 !== l && (b = a.isFunction(m.beforeEditRow) ? m.beforeEditRow.call(d, m, c) : void 0, void 0 === b && (b = !0), b && (b = a(l).attr("editable") || "0", "0" !== b || a(l).hasClass("not-editable-row") || (q = d.p.colModel, a('td[role="gridcell"]', l).each(function (b) { f = q[b].name; var l = !0 === d.p.treeGrid && f === d.p.ExpandColumn; if (l) e = a("span:first", this).html(); else try { e = a.unformat.call(d, this, { rowId: c, colModel: q[b] }, b) } catch (m) { e = q[b].edittype && "textarea" === q[b].edittype ? a(this).text() : a(this).html() } if ("cb" !== f && "subgrid" !== f && "rn" !== f && (d.p.autoencode && (e = a.jgrid.htmlDecode(e)), n[f] = e, !0 === q[b].editable)) { null === h && (h = b); l ? a("span:first", this).html("") : a(this).html(""); var p = a.extend({}, q[b].editoptions || {}, { id: c + "_" + f, name: f }); q[b].edittype || (q[b].edittype = "text"); if (" " === e || " " === e || 1 === e.length && 160 === e.charCodeAt(0)) e = ""; var x = a.jgrid.createEl.call(d, q[b].edittype, p, e, !0, a.extend({}, a.jgrid.ajaxOptions, d.p.ajaxSelectOptions || {})); a(x).addClass("editable"); l ? a("span:first", this).append(x) : a(this).append(x); a.jgrid.bindEv.call(d, x, p); "select" === q[b].edittype && void 0 !== q[b].editoptions && !0 === q[b].editoptions.multiple && void 0 === q[b].editoptions.dataUrl && a.jgrid.msie && a(x).width(a(x).width()); g++ } }), 0 < g && (n.id = c, d.p.savedRow.push(n), a(l).attr("editable", "1"), setTimeout(function () { a("td:eq(" + h + ") input", l).focus() }, 0), !0 === m.keys && a(l).bind("keydown", function (b) { if (27 === b.keyCode) { a(d).jqGrid("restoreRow", c, m.afterrestorefunc); if (d.p._inlinenav) try { a(d).jqGrid("showAddEditButtons") } catch (f) { } return !1 } if (13 === b.keyCode) { if ("TEXTAREA" === b.target.tagName) return !0; if (a(d).jqGrid("saveRow", c, m) && d.p._inlinenav) try { a(d).jqGrid("showAddEditButtons") } catch (e) { } return !1 } }), a(d).triggerHandler("jqGridInlineEditRow", [c, m]), a.isFunction(m.oneditfunc) && m.oneditfunc.call(d, c)))))) }) }, saveRow: function (c, e, b, l, h, n, p) { var g = a.makeArray(arguments).slice(1), f = {}; "object" === a.type(g[0]) ? f = g[0] : (a.isFunction(e) && (f.successfunc = e), void 0 !== b && (f.url = b), void 0 !== l && (f.extraparam = l), a.isFunction(h) && (f.aftersavefunc = h), a.isFunction(n) && (f.errorfunc = n), a.isFunction(p) && (f.afterrestorefunc = p)); var f = a.extend(!0, { successfunc: null, url: null, extraparam: {}, aftersavefunc: null, errorfunc: null, afterrestorefunc: null, restoreAfterError: !0, mtype: "POST" }, a.jgrid.inlineEdit, f), m = !1, d = this[0], r, k = {}, y = {}, v = {}, w, z, u; if (!d.grid) return m; u = a(d).jqGrid("getInd", c, !0); if (!1 === u) return m; g = a.isFunction(f.beforeSaveRow) ? f.beforeSaveRow.call(d, f, c) : void 0; void 0 === g && (g = !0); if (g) { g = a(u).attr("editable"); f.url = f.url || d.p.editurl; if ("1" === g) { var t; a('td[role="gridcell"]', u).each(function (c) { t = d.p.colModel[c]; r = t.name; if ("cb" !== r && "subgrid" !== r && !0 === t.editable && "rn" !== r && !a(this).hasClass("not-editable-cell")) { switch (t.edittype) { case "checkbox": var b = ["Yes", "No"]; t.editoptions && (b = t.editoptions.value.split(":")); k[r] = a("input", this).is(":checked") ? b[0] : b[1]; break; case "text": case "password": case "textarea": case "button": k[r] = a("input, textarea", this).val(); break; case "select": if (t.editoptions.multiple) { var b = a("select", this), e = []; k[r] = a(b).val(); k[r] = k[r] ? k[r].join(",") : ""; a("select option:selected", this).each(function (d, b) { e[d] = a(b).text() }); y[r] = e.join(",") } else k[r] = a("select option:selected", this).val(), y[r] = a("select option:selected", this).text(); t.formatter && "select" === t.formatter && (y = {}); break; case "custom": try { if (t.editoptions && a.isFunction(t.editoptions.custom_value)) { if (k[r] = t.editoptions.custom_value.call(d, a(".customelement", this), "get"), void 0 === k[r]) throw "e2"; } else throw "e1"; } catch (g) { "e1" === g && a.jgrid.info_dialog(a.jgrid.errors.errcap, "function 'custom_value' " + a.jgrid.edit.msg.nodefined, a.jgrid.edit.bClose), "e2" === g ? a.jgrid.info_dialog(a.jgrid.errors.errcap, "function 'custom_value' " + a.jgrid.edit.msg.novalue, a.jgrid.edit.bClose) : a.jgrid.info_dialog(a.jgrid.errors.errcap, g.message, a.jgrid.edit.bClose) } } z = a.jgrid.checkValues.call(d, k[r], c); if (!1 === z[0]) return !1; d.p.autoencode && (k[r] = a.jgrid.htmlEncode(k[r])); "clientArray" !== f.url && t.editoptions && !0 === t.editoptions.NullIfEmpty && "" === k[r] && (v[r] = "null") } }); if (!1 === z[0]) { try { var q = a(d).jqGrid("getGridRowById", c), s = a.jgrid.findPos(q); a.jgrid.info_dialog(a.jgrid.errors.errcap, z[1], a.jgrid.edit.bClose, { left: s[0], top: s[1] + a(q).outerHeight() }) } catch (A) { alert(z[1]) } return m } g = d.p.prmNames; q = c; s = !1 === d.p.keyIndex ? g.id : d.p.colModel[d.p.keyIndex + (!0 === d.p.rownumbers ? 1 : 0) + (!0 === d.p.multiselect ? 1 : 0) + (!0 === d.p.subGrid ? 1 : 0)].name; k && (k[g.oper] = g.editoper, void 0 === k[s] || "" === k[s] ? k[s] = c : u.id !== d.p.idPrefix + k[s] && (g = a.jgrid.stripPref(d.p.idPrefix, c), void 0 !== d.p._index[g] && (d.p._index[k[s]] = d.p._index[g], delete d.p._index[g]), c = d.p.idPrefix + k[s], a(u).attr("id", c), d.p.selrow === q && (d.p.selrow = c), a.isArray(d.p.selarrrow) && (g = a.inArray(q, d.p.selarrrow), 0 <= g && (d.p.selarrrow[g] = c)), d.p.multiselect && (g = "jqg_" + d.p.id + "_" + c, a("input.cbox", u).attr("id", g).attr("name", g))), void 0 === d.p.inlineData && (d.p.inlineData = {}), k = a.extend({}, k, d.p.inlineData, f.extraparam)); if ("clientArray" === f.url) { k = a.extend({}, k, y); d.p.autoencode && a.each(k, function (d, b) { k[d] = a.jgrid.htmlDecode(b) }); g = a(d).jqGrid("setRowData", c, k); a(u).attr("editable", "0"); for (s = 0; s < d.p.savedRow.length; s++) if (String(d.p.savedRow[s].id) === String(q)) { w = s; break } 0 <= w && d.p.savedRow.splice(w, 1); a(d).triggerHandler("jqGridInlineAfterSaveRow", [c, g, k, f]); a.isFunction(f.aftersavefunc) && f.aftersavefunc.call(d, c, g, f); m = !0; a(u).removeClass("jqgrid-new-row").unbind("keydown") } else a("#lui_" + a.jgrid.jqID(d.p.id)).show(), v = a.extend({}, k, v), v[s] = a.jgrid.stripPref(d.p.idPrefix, v[s]), a.ajax(a.extend({ url: f.url, data: a.isFunction(d.p.serializeRowData) ? d.p.serializeRowData.call(d, v) : v, type: f.mtype, async: !1, complete: function (b, e) { a("#lui_" + a.jgrid.jqID(d.p.id)).hide(); if ("success" === e) { var g = !0, h; h = a(d).triggerHandler("jqGridInlineSuccessSaveRow", [b, c, f]); a.isArray(h) || (h = [!0, k]); h[0] && a.isFunction(f.successfunc) && (h = f.successfunc.call(d, b)); a.isArray(h) ? (g = h[0], k = h[1] || k) : g = h; if (!0 === g) { d.p.autoencode && a.each(k, function (b, d) { k[b] = a.jgrid.htmlDecode(d) }); k = a.extend({}, k, y); a(d).jqGrid("setRowData", c, k); a(u).attr("editable", "0"); for (g = 0; g < d.p.savedRow.length; g++) if (String(d.p.savedRow[g].id) === String(c)) { w = g; break } 0 <= w && d.p.savedRow.splice(w, 1); a(d).triggerHandler("jqGridInlineAfterSaveRow", [c, b, k, f]); a.isFunction(f.aftersavefunc) && f.aftersavefunc.call(d, c, b); m = !0; a(u).removeClass("jqgrid-new-row").unbind("keydown") } else a(d).triggerHandler("jqGridInlineErrorSaveRow", [c, b, e, null, f]), a.isFunction(f.errorfunc) && f.errorfunc.call(d, c, b, e, null), !0 === f.restoreAfterError && a(d).jqGrid("restoreRow", c, f.afterrestorefunc) } }, error: function (b, e, g) { a("#lui_" + a.jgrid.jqID(d.p.id)).hide(); a(d).triggerHandler("jqGridInlineErrorSaveRow", [c, b, e, g, f]); if (a.isFunction(f.errorfunc)) f.errorfunc.call(d, c, b, e, g); else { b = b.responseText || b.statusText; try { a.jgrid.info_dialog(a.jgrid.errors.errcap, '
' + b + "
", a.jgrid.edit.bClose, { buttonalign: "right" }) } catch (h) { alert(b) } } !0 === f.restoreAfterError && a(d).jqGrid("restoreRow", c, f.afterrestorefunc) } }, a.jgrid.ajaxOptions, d.p.ajaxRowOptions || {})) } return m } }, restoreRow: function (c, e) { var b = a.makeArray(arguments).slice(1), l = {}; "object" === a.type(b[0]) ? l = b[0] : a.isFunction(e) && (l.afterrestorefunc = e); l = a.extend(!0, {}, a.jgrid.inlineEdit, l); return this.each(function () { var b = this, e = -1, p, g = {}, f; if (b.grid && (p = a(b).jqGrid("getInd", c, !0), !1 !== p && (f = a.isFunction(l.beforeCancelRow) ? l.beforeCancelRow.call(b, l, sr) : void 0, void 0 === f && (f = !0), f))) { for (f = 0; f < b.p.savedRow.length; f++) if (String(b.p.savedRow[f].id) === String(c)) { e = f; break } if (0 <= e) { if (a.isFunction(a.fn.datepicker)) try { a("input.hasDatepicker", "#" + a.jgrid.jqID(p.id)).datepicker("hide") } catch (m) { } a.each(b.p.colModel, function () { !0 === this.editable && b.p.savedRow[e].hasOwnProperty(this.name) && (g[this.name] = b.p.savedRow[e][this.name]) }); a(b).jqGrid("setRowData", c, g); a(p).attr("editable", "0").unbind("keydown"); b.p.savedRow.splice(e, 1); a("#" + a.jgrid.jqID(c), "#" + a.jgrid.jqID(b.p.id)).hasClass("jqgrid-new-row") && setTimeout(function () { a(b).jqGrid("delRowData", c); a(b).jqGrid("showAddEditButtons") }, 0) } a(b).triggerHandler("jqGridInlineAfterRestoreRow", [c]); a.isFunction(l.afterrestorefunc) && l.afterrestorefunc.call(b, c) } }) }, addRow: function (c) { c = a.extend(!0, { rowID: null, initdata: {}, position: "first", useDefValues: !0, useFormatter: !1, addRowParams: { extraparam: {} } }, c || {}); return this.each(function () { if (this.grid) { var e = this, b = a.isFunction(c.beforeAddRow) ? c.beforeAddRow.call(e, c.addRowParams) : void 0; void 0 === b && (b = !0); b && (c.rowID = a.isFunction(c.rowID) ? c.rowID.call(e, c) : null != c.rowID ? c.rowID : a.jgrid.randId(), !0 === c.useDefValues && a(e.p.colModel).each(function () { if (this.editoptions && this.editoptions.defaultValue) { var b = this.editoptions.defaultValue, b = a.isFunction(b) ? b.call(e) : b; c.initdata[this.name] = b } }), a(e).jqGrid("addRowData", c.rowID, c.initdata, c.position), c.rowID = e.p.idPrefix + c.rowID, a("#" + a.jgrid.jqID(c.rowID), "#" + a.jgrid.jqID(e.p.id)).addClass("jqgrid-new-row"), c.useFormatter ? a("#" + a.jgrid.jqID(c.rowID) + " .ui-inline-edit", "#" + a.jgrid.jqID(e.p.id)).click() : (b = e.p.prmNames, c.addRowParams.extraparam[b.oper] = b.addoper, a(e).jqGrid("editRow", c.rowID, c.addRowParams), a(e).jqGrid("setSelection", c.rowID))) } }) }, inlineNav: function (c, e) { e = a.extend(!0, { edit: !0, editicon: "ui-icon-pencil", add: !0, addicon: "ui-icon-plus", save: !0, saveicon: "ui-icon-disk", cancel: !0, cancelicon: "ui-icon-cancel", addParams: { addRowParams: { extraparam: {} } }, editParams: {}, restoreAfterSelect: !0 }, a.jgrid.nav, e || {}); return this.each(function () { if (this.grid) { var b = this, l, h = a.jgrid.jqID(b.p.id); b.p._inlinenav = !0; if (!0 === e.addParams.useFormatter) { var n = b.p.colModel, p; for (p = 0; p < n.length; p++) if (n[p].formatter && "actions" === n[p].formatter) { n[p].formatoptions && (n = a.extend({ keys: !1, onEdit: null, onSuccess: null, afterSave: null, onError: null, afterRestore: null, extraparam: {}, url: null }, n[p].formatoptions), e.addParams.addRowParams = { keys: n.keys, oneditfunc: n.onEdit, successfunc: n.onSuccess, url: n.url, extraparam: n.extraparam, aftersavefunc: n.afterSave, errorfunc: n.onError, afterrestorefunc: n.afterRestore }); break } } e.add && a(b).jqGrid("navButtonAdd", c, { caption: e.addtext, title: e.addtitle, buttonicon: e.addicon, id: b.p.id + "_iladd", onClickButton: function () { a(b).jqGrid("addRow", e.addParams); e.addParams.useFormatter || (a("#" + h + "_ilsave").removeClass("ui-state-disabled"), a("#" + h + "_ilcancel").removeClass("ui-state-disabled"), a("#" + h + "_iladd").addClass("ui-state-disabled"), a("#" + h + "_iledit").addClass("ui-state-disabled")) } }); e.edit && a(b).jqGrid("navButtonAdd", c, { caption: e.edittext, title: e.edittitle, buttonicon: e.editicon, id: b.p.id + "_iledit", onClickButton: function () { var c = a(b).jqGrid("getGridParam", "selrow"); c ? (a(b).jqGrid("editRow", c, e.editParams), a("#" + h + "_ilsave").removeClass("ui-state-disabled"), a("#" + h + "_ilcancel").removeClass("ui-state-disabled"), a("#" + h + "_iladd").addClass("ui-state-disabled"), a("#" + h + "_iledit").addClass("ui-state-disabled")) : (a.jgrid.viewModal("#alertmod", { gbox: "#gbox_" + h, jqm: !0 }), a("#jqg_alrt").focus()) } }); e.save && (a(b).jqGrid("navButtonAdd", c, { caption: e.savetext || "", title: e.savetitle || "Save row", buttonicon: e.saveicon, id: b.p.id + "_ilsave", onClickButton: function () { var c = b.p.savedRow[0].id; if (c) { var f = b.p.prmNames, m = f.oper, d = e.editParams; a("#" + a.jgrid.jqID(c), "#" + h).hasClass("jqgrid-new-row") ? (e.addParams.addRowParams.extraparam[m] = f.addoper, d = e.addParams.addRowParams) : (e.editParams.extraparam || (e.editParams.extraparam = {}), e.editParams.extraparam[m] = f.editoper); a(b).jqGrid("saveRow", c, d) && a(b).jqGrid("showAddEditButtons") } else a.jgrid.viewModal("#alertmod", { gbox: "#gbox_" + h, jqm: !0 }), a("#jqg_alrt").focus() } }), a("#" + h + "_ilsave").addClass("ui-state-disabled")); e.cancel && (a(b).jqGrid("navButtonAdd", c, { caption: e.canceltext || "", title: e.canceltitle || "Cancel row editing", buttonicon: e.cancelicon, id: b.p.id + "_ilcancel", onClickButton: function () { var c = b.p.savedRow[0].id, f = e.editParams; c ? (a("#" + a.jgrid.jqID(c), "#" + h).hasClass("jqgrid-new-row") && (f = e.addParams.addRowParams), a(b).jqGrid("restoreRow", c, f), a(b).jqGrid("showAddEditButtons")) : (a.jgrid.viewModal("#alertmod", { gbox: "#gbox_" + h, jqm: !0 }), a("#jqg_alrt").focus()) } }), a("#" + h + "_ilcancel").addClass("ui-state-disabled")); !0 === e.restoreAfterSelect && (l = a.isFunction(b.p.beforeSelectRow) ? b.p.beforeSelectRow : !1, b.p.beforeSelectRow = function (c, f) { var h = !0; 0 < b.p.savedRow.length && !0 === b.p._inlinenav && c !== b.p.selrow && null !== b.p.selrow && (b.p.selrow === e.addParams.rowID ? a(b).jqGrid("delRowData", b.p.selrow) : a(b).jqGrid("restoreRow", b.p.selrow, e.editParams), a(b).jqGrid("showAddEditButtons")); l && (h = l.call(b, c, f)); return h }) } }) }, showAddEditButtons: function () { return this.each(function () { if (this.grid) { var c = a.jgrid.jqID(this.p.id); a("#" + c + "_ilsave").addClass("ui-state-disabled"); a("#" + c + "_ilcancel").addClass("ui-state-disabled"); a("#" + c + "_iladd").removeClass("ui-state-disabled"); a("#" + c + "_iledit").removeClass("ui-state-disabled") } }) } }) })(jQuery); (function (b) { b.jgrid.extend({ editCell: function (d, f, a) { return this.each(function () { var c = this, g, e, h, k; if (c.grid && !0 === c.p.cellEdit) { f = parseInt(f, 10); c.p.selrow = c.rows[d].id; c.p.knv || b(c).jqGrid("GridNav"); if (0 < c.p.savedRow.length) { if (!0 === a && d == c.p.iRow && f == c.p.iCol) return; b(c).jqGrid("saveCell", c.p.savedRow[0].id, c.p.savedRow[0].ic) } else window.setTimeout(function () { b("#" + b.jgrid.jqID(c.p.knv)).attr("tabindex", "-1").focus() }, 0); k = c.p.colModel[f]; g = k.name; if ("subgrid" !== g && "cb" !== g && "rn" !== g) { h = b("td:eq(" + f + ")", c.rows[d]); if (!0 !== k.editable || !0 !== a || h.hasClass("not-editable-cell")) 0 <= parseInt(c.p.iCol, 10) && 0 <= parseInt(c.p.iRow, 10) && (b("td:eq(" + c.p.iCol + ")", c.rows[c.p.iRow]).removeClass("edit-cell ui-state-highlight"), b(c.rows[c.p.iRow]).removeClass("selected-row ui-state-hover")), h.addClass("edit-cell ui-state-highlight"), b(c.rows[d]).addClass("selected-row ui-state-hover"), e = h.html().replace(/\ \;/ig, ""), b(c).triggerHandler("jqGridSelectCell", [c.rows[d].id, g, e, d, f]), b.isFunction(c.p.onSelectCell) && c.p.onSelectCell.call(c, c.rows[d].id, g, e, d, f); else { 0 <= parseInt(c.p.iCol, 10) && 0 <= parseInt(c.p.iRow, 10) && (b("td:eq(" + c.p.iCol + ")", c.rows[c.p.iRow]).removeClass("edit-cell ui-state-highlight"), b(c.rows[c.p.iRow]).removeClass("selected-row ui-state-hover")); b(h).addClass("edit-cell ui-state-highlight"); b(c.rows[d]).addClass("selected-row ui-state-hover"); try { e = b.unformat.call(c, h, { rowId: c.rows[d].id, colModel: k }, f) } catch (m) { e = k.edittype && "textarea" === k.edittype ? b(h).text() : b(h).html() } c.p.autoencode && (e = b.jgrid.htmlDecode(e)); k.edittype || (k.edittype = "text"); c.p.savedRow.push({ id: d, ic: f, name: g, v: e }); if (" " === e || " " === e || 1 === e.length && 160 === e.charCodeAt(0)) e = ""; if (b.isFunction(c.p.formatCell)) { var l = c.p.formatCell.call(c, c.rows[d].id, g, e, d, f); void 0 !== l && (e = l) } b(c).triggerHandler("jqGridBeforeEditCell", [c.rows[d].id, g, e, d, f]); b.isFunction(c.p.beforeEditCell) && c.p.beforeEditCell.call(c, c.rows[d].id, g, e, d, f); var l = b.extend({}, k.editoptions || {}, { id: d + "_" + g, name: g }), q = b.jgrid.createEl.call(c, k.edittype, l, e, !0, b.extend({}, b.jgrid.ajaxOptions, c.p.ajaxSelectOptions || {})); b(h).html("").append(q).attr("tabindex", "0"); b.jgrid.bindEv.call(c, q, l); window.setTimeout(function () { b(q).focus() }, 0); b("input, select, textarea", h).bind("keydown", function (a) { 27 === a.keyCode && (0 < b("input.hasDatepicker", h).length ? b(".ui-datepicker").is(":hidden") ? b(c).jqGrid("restoreCell", d, f) : b("input.hasDatepicker", h).datepicker("hide") : b(c).jqGrid("restoreCell", d, f)); if (13 === a.keyCode) return b(c).jqGrid("saveCell", d, f), !1; if (9 === a.keyCode) { if (c.grid.hDiv.loading) return !1; a.shiftKey ? b(c).jqGrid("prevCell", d, f) : b(c).jqGrid("nextCell", d, f) } a.stopPropagation() }); b(c).triggerHandler("jqGridAfterEditCell", [c.rows[d].id, g, e, d, f]); b.isFunction(c.p.afterEditCell) && c.p.afterEditCell.call(c, c.rows[d].id, g, e, d, f) } c.p.iCol = f; c.p.iRow = d } } }) }, saveCell: function (d, f) { return this.each(function () { var a = this, c; if (a.grid && !0 === a.p.cellEdit) { c = 1 <= a.p.savedRow.length ? 0 : null; if (null !== c) { var g = b("td:eq(" + f + ")", a.rows[d]), e, h, k = a.p.colModel[f], m = k.name, l = b.jgrid.jqID(m); switch (k.edittype) { case "select": if (k.editoptions.multiple) { var l = b("#" + d + "_" + l, a.rows[d]), q = []; (e = b(l).val()) ? e.join(",") : e = ""; b("option:selected", l).each(function (a, c) { q[a] = b(c).text() }); h = q.join(",") } else e = b("#" + d + "_" + l + " option:selected", a.rows[d]).val(), h = b("#" + d + "_" + l + " option:selected", a.rows[d]).text(); k.formatter && (h = e); break; case "checkbox": var n = ["Yes", "No"]; k.editoptions && (n = k.editoptions.value.split(":")); h = e = b("#" + d + "_" + l, a.rows[d]).is(":checked") ? n[0] : n[1]; break; case "password": case "text": case "textarea": case "button": h = e = b("#" + d + "_" + l, a.rows[d]).val(); break; case "custom": try { if (k.editoptions && b.isFunction(k.editoptions.custom_value)) { e = k.editoptions.custom_value.call(a, b(".customelement", g), "get"); if (void 0 === e) throw "e2"; h = e } else throw "e1"; } catch (r) { "e1" === r && b.jgrid.info_dialog(b.jgrid.errors.errcap, "function 'custom_value' " + b.jgrid.edit.msg.nodefined, b.jgrid.edit.bClose), "e2" === r ? b.jgrid.info_dialog(b.jgrid.errors.errcap, "function 'custom_value' " + b.jgrid.edit.msg.novalue, b.jgrid.edit.bClose) : b.jgrid.info_dialog(b.jgrid.errors.errcap, r.message, b.jgrid.edit.bClose) } } if (h !== a.p.savedRow[c].v) { if (c = b(a).triggerHandler("jqGridBeforeSaveCell", [a.rows[d].id, m, e, d, f])) h = e = c; b.isFunction(a.p.beforeSaveCell) && (c = a.p.beforeSaveCell.call(a, a.rows[d].id, m, e, d, f)) && (h = e = c); var s = b.jgrid.checkValues.call(a, e, f); if (!0 === s[0]) { c = b(a).triggerHandler("jqGridBeforeSubmitCell", [a.rows[d].id, m, e, d, f]) || {}; b.isFunction(a.p.beforeSubmitCell) && ((c = a.p.beforeSubmitCell.call(a, a.rows[d].id, m, e, d, f)) || (c = {})); 0 < b("input.hasDatepicker", g).length && b("input.hasDatepicker", g).datepicker("hide"); if ("remote" === a.p.cellsubmit) if (a.p.cellurl) { var p = {}; a.p.autoencode && (e = b.jgrid.htmlEncode(e)); p[m] = e; n = a.p.prmNames; k = n.id; l = n.oper; p[k] = b.jgrid.stripPref(a.p.idPrefix, a.rows[d].id); p[l] = n.editoper; p = b.extend(c, p); b("#lui_" + b.jgrid.jqID(a.p.id)).show(); a.grid.hDiv.loading = !0; b.ajax(b.extend({ url: a.p.cellurl, data: b.isFunction(a.p.serializeCellData) ? a.p.serializeCellData.call(a, p) : p, type: "POST", complete: function (c, k) { b("#lui_" + a.p.id).hide(); a.grid.hDiv.loading = !1; if ("success" === k) { var l = b(a).triggerHandler("jqGridAfterSubmitCell", [a, c, p.id, m, e, d, f]) || [!0, ""]; !0 === l[0] && b.isFunction(a.p.afterSubmitCell) && (l = a.p.afterSubmitCell.call(a, c, p.id, m, e, d, f)); !0 === l[0] ? (b(g).empty(), b(a).jqGrid("setCell", a.rows[d].id, f, h, !1, !1, !0), b(g).addClass("dirty-cell"), b(a.rows[d]).addClass("edited"), b(a).triggerHandler("jqGridAfterSaveCell", [a.rows[d].id, m, e, d, f]), b.isFunction(a.p.afterSaveCell) && a.p.afterSaveCell.call(a, a.rows[d].id, m, e, d, f), a.p.savedRow.splice(0, 1)) : (b.jgrid.info_dialog(b.jgrid.errors.errcap, l[1], b.jgrid.edit.bClose), b(a).jqGrid("restoreCell", d, f)) } }, error: function (c, e, h) { b("#lui_" + b.jgrid.jqID(a.p.id)).hide(); a.grid.hDiv.loading = !1; b(a).triggerHandler("jqGridErrorCell", [c, e, h]); b.isFunction(a.p.errorCell) ? a.p.errorCell.call(a, c, e, h) : b.jgrid.info_dialog(b.jgrid.errors.errcap, c.status + " : " + c.statusText + "
" + e, b.jgrid.edit.bClose); b(a).jqGrid("restoreCell", d, f) } }, b.jgrid.ajaxOptions, a.p.ajaxCellOptions || {})) } else try { b.jgrid.info_dialog(b.jgrid.errors.errcap, b.jgrid.errors.nourl, b.jgrid.edit.bClose), b(a).jqGrid("restoreCell", d, f) } catch (t) { } "clientArray" === a.p.cellsubmit && (b(g).empty(), b(a).jqGrid("setCell", a.rows[d].id, f, h, !1, !1, !0), b(g).addClass("dirty-cell"), b(a.rows[d]).addClass("edited"), b(a).triggerHandler("jqGridAfterSaveCell", [a.rows[d].id, m, e, d, f]), b.isFunction(a.p.afterSaveCell) && a.p.afterSaveCell.call(a, a.rows[d].id, m, e, d, f), a.p.savedRow.splice(0, 1)) } else try { window.setTimeout(function () { b.jgrid.info_dialog(b.jgrid.errors.errcap, e + " " + s[1], b.jgrid.edit.bClose) }, 100), b(a).jqGrid("restoreCell", d, f) } catch (u) { } } else b(a).jqGrid("restoreCell", d, f) } window.setTimeout(function () { b("#" + b.jgrid.jqID(a.p.knv)).attr("tabindex", "-1").focus() }, 0) } }) }, restoreCell: function (d, f) { return this.each(function () { var a = this, c; if (a.grid && !0 === a.p.cellEdit) { c = 1 <= a.p.savedRow.length ? 0 : null; if (null !== c) { var g = b("td:eq(" + f + ")", a.rows[d]); if (b.isFunction(b.fn.datepicker)) try { b("input.hasDatepicker", g).datepicker("hide") } catch (e) { } b(g).empty().attr("tabindex", "-1"); b(a).jqGrid("setCell", a.rows[d].id, f, a.p.savedRow[c].v, !1, !1, !0); b(a).triggerHandler("jqGridAfterRestoreCell", [a.rows[d].id, a.p.savedRow[c].v, d, f]); b.isFunction(a.p.afterRestoreCell) && a.p.afterRestoreCell.call(a, a.rows[d].id, a.p.savedRow[c].v, d, f); a.p.savedRow.splice(0, 1) } window.setTimeout(function () { b("#" + a.p.knv).attr("tabindex", "-1").focus() }, 0) } }) }, nextCell: function (d, f) { return this.each(function () { var a = !1, c; if (this.grid && !0 === this.p.cellEdit) { for (c = f + 1; c < this.p.colModel.length; c++) if (!0 === this.p.colModel[c].editable) { a = c; break } !1 !== a ? b(this).jqGrid("editCell", d, a, !0) : 0 < this.p.savedRow.length && b(this).jqGrid("saveCell", d, f) } }) }, prevCell: function (d, f) { return this.each(function () { var a = !1, c; if (this.grid && !0 === this.p.cellEdit) { for (c = f - 1; 0 <= c; c--) if (!0 === this.p.colModel[c].editable) { a = c; break } !1 !== a ? b(this).jqGrid("editCell", d, a, !0) : 0 < this.p.savedRow.length && b(this).jqGrid("saveCell", d, f) } }) }, GridNav: function () { return this.each(function () { function d(c, d, e) { if ("v" === e.substr(0, 1)) { var f = b(a.grid.bDiv)[0].clientHeight, g = b(a.grid.bDiv)[0].scrollTop, n = a.rows[c].offsetTop + a.rows[c].clientHeight, r = a.rows[c].offsetTop; "vd" === e && n >= f && (b(a.grid.bDiv)[0].scrollTop = b(a.grid.bDiv)[0].scrollTop + a.rows[c].clientHeight); "vu" === e && r < g && (b(a.grid.bDiv)[0].scrollTop = b(a.grid.bDiv)[0].scrollTop - a.rows[c].clientHeight) } "h" === e && (e = b(a.grid.bDiv)[0].clientWidth, f = b(a.grid.bDiv)[0].scrollLeft, g = a.rows[c].cells[d].offsetLeft, a.rows[c].cells[d].offsetLeft + a.rows[c].cells[d].clientWidth >= e + parseInt(f, 10) ? b(a.grid.bDiv)[0].scrollLeft = b(a.grid.bDiv)[0].scrollLeft + a.rows[c].cells[d].clientWidth : g < f && (b(a.grid.bDiv)[0].scrollLeft = b(a.grid.bDiv)[0].scrollLeft - a.rows[c].cells[d].clientWidth)) } function f(b, c) { var d, e; if ("lft" === c) for (d = b + 1, e = b; 0 <= e; e--) if (!0 !== a.p.colModel[e].hidden) { d = e; break } if ("rgt" === c) for (d = b - 1, e = b; e < a.p.colModel.length; e++) if (!0 !== a.p.colModel[e].hidden) { d = e; break } return d } var a = this; if (a.grid && !0 === a.p.cellEdit) { a.p.knv = a.p.id + "_kn"; var c = b("
"), g, e; b(c).insertBefore(a.grid.cDiv); b("#" + a.p.knv).focus().keydown(function (c) { e = c.keyCode; "rtl" === a.p.direction && (37 === e ? e = 39 : 39 === e && (e = 37)); switch (e) { case 38: 0 < a.p.iRow - 1 && (d(a.p.iRow - 1, a.p.iCol, "vu"), b(a).jqGrid("editCell", a.p.iRow - 1, a.p.iCol, !1)); break; case 40: a.p.iRow + 1 <= a.rows.length - 1 && (d(a.p.iRow + 1, a.p.iCol, "vd"), b(a).jqGrid("editCell", a.p.iRow + 1, a.p.iCol, !1)); break; case 37: 0 <= a.p.iCol - 1 && (g = f(a.p.iCol - 1, "lft"), d(a.p.iRow, g, "h"), b(a).jqGrid("editCell", a.p.iRow, g, !1)); break; case 39: a.p.iCol + 1 <= a.p.colModel.length - 1 && (g = f(a.p.iCol + 1, "rgt"), d(a.p.iRow, g, "h"), b(a).jqGrid("editCell", a.p.iRow, g, !1)); break; case 13: 0 <= parseInt(a.p.iCol, 10) && 0 <= parseInt(a.p.iRow, 10) && b(a).jqGrid("editCell", a.p.iRow, a.p.iCol, !0); break; default: return !0 } return !1 }) } }) }, getChangedCells: function (d) { var f = []; d || (d = "all"); this.each(function () { var a = this, c; a.grid && !0 === a.p.cellEdit && b(a.rows).each(function (g) { var e = {}; b(this).hasClass("edited") && (b("td", this).each(function (f) { c = a.p.colModel[f].name; if ("cb" !== c && "subgrid" !== c) if ("dirty" === d) { if (b(this).hasClass("dirty-cell")) try { e[c] = b.unformat.call(a, this, { rowId: a.rows[g].id, colModel: a.p.colModel[f] }, f) } catch (k) { e[c] = b.jgrid.htmlDecode(b(this).html()) } } else try { e[c] = b.unformat.call(a, this, { rowId: a.rows[g].id, colModel: a.p.colModel[f] }, f) } catch (m) { e[c] = b.jgrid.htmlDecode(b(this).html()) } }), e.id = this.id, f.push(e)) }) }); return f } }) })(jQuery); (function (c) { c.fn.jqm = function (a) { var k = { overlay: 50, closeoverlay: !0, overlayClass: "jqmOverlay", closeClass: "jqmClose", trigger: ".jqModal", ajax: d, ajaxText: "", target: d, modal: d, toTop: d, onShow: d, onHide: d, onLoad: d }; return this.each(function () { if (this._jqm) return l[this._jqm].c = c.extend({}, l[this._jqm].c, a); n++; this._jqm = n; l[n] = { c: c.extend(k, c.jqm.params, a), a: d, w: c(this).addClass("jqmID" + n), s: n }; k.trigger && c(this).jqmAddTrigger(k.trigger) }) }; c.fn.jqmAddClose = function (a) { return r(this, a, "jqmHide") }; c.fn.jqmAddTrigger = function (a) { return r(this, a, "jqmShow") }; c.fn.jqmShow = function (a) { return this.each(function () { c.jqm.open(this._jqm, a) }) }; c.fn.jqmHide = function (a) { return this.each(function () { c.jqm.close(this._jqm, a) }) }; c.jqm = { hash: {}, open: function (a, k) { var b = l[a], e = b.c, h = "." + e.closeClass, f = parseInt(b.w.css("z-index")), f = 0 < f ? f : 3E3, g = c("
").css({ height: "100%", width: "100%", position: "fixed", left: 0, top: 0, "z-index": f - 1, opacity: e.overlay / 100 }); if (b.a) return d; b.t = k; b.a = !0; b.w.css("z-index", f); e.modal ? (m[0] || setTimeout(function () { s("bind") }, 1), m.push(a)) : 0 < e.overlay ? e.closeoverlay && b.w.jqmAddClose(g) : g = d; b.o = g ? g.addClass(e.overlayClass).prependTo("body") : d; e.ajax ? (f = e.target || b.w, g = e.ajax, f = "string" == typeof f ? c(f, b.w) : c(f), g = "@" == g.substr(0, 1) ? c(k).attr(g.substring(1)) : g, f.html(e.ajaxText).load(g, function () { e.onLoad && e.onLoad.call(this, b); h && b.w.jqmAddClose(c(h, b.w)); p(b) })) : h && b.w.jqmAddClose(c(h, b.w)); e.toTop && b.o && b.w.before('').insertAfter(b.o); e.onShow ? e.onShow(b) : b.w.show(); p(b); return d }, close: function (a) { a = l[a]; if (!a.a) return d; a.a = d; m[0] && (m.pop(), m[0] || s("unbind")); a.c.toTop && a.o && c("#jqmP" + a.w[0]._jqm).after(a.w).remove(); if (a.c.onHide) a.c.onHide(a); else a.w.hide(), a.o && a.o.remove(); return d }, params: {} }; var n = 0, l = c.jqm.hash, m = [], d = !1, p = function (a) { try { c(":input:visible", a.w)[0].focus() } catch (d) { } }, s = function (a) { c(document)[a]("keypress", q)[a]("keydown", q)[a]("mousedown", q) }, q = function (a) { var d = l[m[m.length - 1]], b = !c(a.target).parents(".jqmID" + d.s)[0]; b && (c(".jqmID" + d.s).each(function () { var d = c(this), h = d.offset(); if (h.top <= a.pageY && a.pageY <= h.top + d.height() && h.left <= a.pageX && a.pageX <= h.left + d.width()) return b = !1 }), p(d)); return !b }, r = function (a, k, b) { return a.each(function () { var a = this._jqm; c(k).each(function () { this[b] || (this[b] = [], c(this).click(function () { for (var a in { jqmShow: 1, jqmHide: 1 }) for (var b in this[a]) if (l[this[a][b]]) l[this[a][b]].w[a](this); return d })); this[b].push(a) }) }) } })(jQuery); (function (b) { b.fn.jqDrag = function (a) { return h(this, a, "d") }; b.fn.jqResize = function (a, b) { return h(this, a, "r", b) }; b.jqDnR = { dnr: {}, e: 0, drag: function (a) { "d" == d.k ? e.css({ left: d.X + a.pageX - d.pX, top: d.Y + a.pageY - d.pY }) : (e.css({ width: Math.max(a.pageX - d.pX + d.W, 0), height: Math.max(a.pageY - d.pY + d.H, 0) }), f && g.css({ width: Math.max(a.pageX - f.pX + f.W, 0), height: Math.max(a.pageY - f.pY + f.H, 0) })); return !1 }, stop: function () { b(document).unbind("mousemove", c.drag).unbind("mouseup", c.stop) } }; var c = b.jqDnR, d = c.dnr, e = c.e, g, f, h = function (a, c, h, n) { return a.each(function () { c = c ? b(c, a) : a; c.bind("mousedown", { e: a, k: h }, function (a) { var c = a.data, k = {}; e = c.e; g = n ? b(n) : !1; if ("relative" != e.css("position")) try { e.position(k) } catch (h) { } d = { X: k.left || l("left") || 0, Y: k.top || l("top") || 0, W: l("width") || e[0].scrollWidth || 0, H: l("height") || e[0].scrollHeight || 0, pX: a.pageX, pY: a.pageY, k: c.k }; f = g && "d" != c.k ? { X: k.left || m("left") || 0, Y: k.top || m("top") || 0, W: g[0].offsetWidth || m("width") || 0, H: g[0].offsetHeight || m("height") || 0, pX: a.pageX, pY: a.pageY, k: c.k } : !1; if (b("input.hasDatepicker", e[0])[0]) try { b("input.hasDatepicker", e[0]).datepicker("hide") } catch (p) { } b(document).mousemove(b.jqDnR.drag).mouseup(b.jqDnR.stop); return !1 }) }) }, l = function (a) { return parseInt(e.css(a), 10) || !1 }, m = function (a) { return parseInt(g.css(a), 10) || !1 } })(jQuery); (function (b) { b.jgrid.extend({ setSubGrid: function () { return this.each(function () { var d, c; this.p.subGridOptions = b.extend({ plusicon: "ui-icon-plus", minusicon: "ui-icon-minus", openicon: "ui-icon-carat-1-sw", expandOnLoad: !1, delayOnLoad: 50, selectOnExpand: !1, selectOnCollapse: !1, reloadOnExpand: !0 }, this.p.subGridOptions || {}); this.p.colNames.unshift(""); this.p.colModel.unshift({ name: "subgrid", width: b.jgrid.cell_width ? this.p.subGridWidth + this.p.cellLayout : this.p.subGridWidth, sortable: !1, resizable: !1, hidedlg: !0, search: !1, fixed: !0 }); d = this.p.subGridModel; if (d[0]) for (d[0].align = b.extend([], d[0].align || []), c = 0; c < d[0].name.length; c++) d[0].align[c] = d[0].align[c] || "left" }) }, addSubGridCell: function (b, c) { var a = "", p, n; this.each(function () { a = this.formatCol(b, c); n = this.p.id; p = this.p.subGridOptions.plusicon }); return '" }, addSubGrid: function (d, c) { return this.each(function () { var a = this; if (a.grid) { var p = function (c, d, h) { d = b("").html(d); b(c).append(d) }, n = function (c, d) { var h, f, e, g = b("
"), k = b(""); for (f = 0; f < a.p.subGridModel[0].name.length; f++) h = b(""), b(h).html(a.p.subGridModel[0].name[f]), b(h).width(a.p.subGridModel[0].width[f]), b(k).append(h); b(g).append(k); c && (e = a.p.xmlReader.subgrid, b(e.root + " " + e.row, c).each(function () { k = b(""); if (!0 === e.repeatitems) b(e.cell, this).each(function (a) { p(k, b(this).text() || " ", a) }); else { var c = a.p.subGridModel[0].mapping || a.p.subGridModel[0].name; if (c) for (f = 0; f < c.length; f++) p(k, b(c[f], this).text() || " ", f) } b(g).append(k) })); h = b("table:first", a.grid.bDiv).attr("id") + "_"; b("#" + b.jgrid.jqID(h + d)).append(g); a.grid.hDiv.loading = !1; b("#load_" + b.jgrid.jqID(a.p.id)).hide(); return !1 }, r = function (c, d) { var h, f, e, g, k, m = b("
"), l = b(""); for (f = 0; f < a.p.subGridModel[0].name.length; f++) h = b(""), b(h).html(a.p.subGridModel[0].name[f]), b(h).width(a.p.subGridModel[0].width[f]), b(l).append(h); b(m).append(l); if (c && (g = a.p.jsonReader.subgrid, h = b.jgrid.getAccessor(c, g.root), void 0 !== h)) for (f = 0; f < h.length; f++) { e = h[f]; l = b(""); if (!0 === g.repeatitems) for (g.cell && (e = e[g.cell]), k = 0; k < e.length; k++) p(l, e[k] || " ", k); else { var n = a.p.subGridModel[0].mapping || a.p.subGridModel[0].name; if (n.length) for (k = 0; k < n.length; k++) p(l, e[n[k]] || " ", k) } b(m).append(l) } f = b("table:first", a.grid.bDiv).attr("id") + "_"; b("#" + b.jgrid.jqID(f + d)).append(m); a.grid.hDiv.loading = !1; b("#load_" + b.jgrid.jqID(a.p.id)).hide(); return !1 }, v = function (c) { var e, d, f, g; e = b(c).attr("id"); d = { nd_: (new Date).getTime() }; d[a.p.prmNames.subgridid] = e; if (!a.p.subGridModel[0]) return !1; if (a.p.subGridModel[0].params) for (g = 0; g < a.p.subGridModel[0].params.length; g++) for (f = 0; f < a.p.colModel.length; f++) a.p.colModel[f].name === a.p.subGridModel[0].params[g] && (d[a.p.colModel[f].name] = b("td:eq(" + f + ")", c).text().replace(/\ \;/ig, "")); if (!a.grid.hDiv.loading) switch (a.grid.hDiv.loading = !0, b("#load_" + b.jgrid.jqID(a.p.id)).show(), a.p.subgridtype || (a.p.subgridtype = a.p.datatype), b.isFunction(a.p.subgridtype) ? a.p.subgridtype.call(a, d) : a.p.subgridtype = a.p.subgridtype.toLowerCase(), a.p.subgridtype) { case "xml": case "json": b.ajax(b.extend({ type: a.p.mtype, url: a.p.subGridUrl, dataType: a.p.subgridtype, data: b.isFunction(a.p.serializeSubGridData) ? a.p.serializeSubGridData.call(a, d) : d, complete: function (c) { "xml" === a.p.subgridtype ? n(c.responseXML, e) : r(b.jgrid.parse(c.responseText), e) } }, b.jgrid.ajaxOptions, a.p.ajaxSubgridOptions || {})) } return !1 }, e, m, s, t = 0, g, l; b.each(a.p.colModel, function () { !0 !== this.hidden && "rn" !== this.name && "cb" !== this.name || t++ }); var u = a.rows.length, q = 1; void 0 !== c && 0 < c && (q = c, u = c + 1); for (; q < u;) b(a.rows[q]).hasClass("jqgrow") && b(a.rows[q].cells[d]).bind("click", function () { var c = b(this).parent("tr")[0]; l = c.nextSibling; if (b(this).hasClass("sgcollapsed")) { m = a.p.id; e = c.id; if (!0 === a.p.subGridOptions.reloadOnExpand || !1 === a.p.subGridOptions.reloadOnExpand && !b(l).hasClass("ui-subgrid")) { s = 1 <= d ? " " : ""; g = b(a).triggerHandler("jqGridSubGridBeforeExpand", [m + "_" + e, e]); (g = !1 === g || "stop" === g ? !1 : !0) && b.isFunction(a.p.subGridBeforeExpand) && (g = a.p.subGridBeforeExpand.call(a, m + "_" + e, e)); if (!1 === g) return !1; b(c).after("" + s + "
"); b(a).triggerHandler("jqGridSubGridRowExpanded", [m + "_" + e, e]); b.isFunction(a.p.subGridRowExpanded) ? a.p.subGridRowExpanded.call(a, m + "_" + e, e) : v(c) } else b(l).show(); b(this).html("").removeClass("sgcollapsed").addClass("sgexpanded"); a.p.subGridOptions.selectOnExpand && b(a).jqGrid("setSelection", e) } else if (b(this).hasClass("sgexpanded")) { g = b(a).triggerHandler("jqGridSubGridRowColapsed", [m + "_" + e, e]); g = !1 === g || "stop" === g ? !1 : !0; e = c.id; g && b.isFunction(a.p.subGridRowColapsed) && (g = a.p.subGridRowColapsed.call(a, m + "_" + e, e)); if (!1 === g) return !1; !0 === a.p.subGridOptions.reloadOnExpand ? b(l).remove(".ui-subgrid") : b(l).hasClass("ui-subgrid") && b(l).hide(); b(this).html("").removeClass("sgexpanded").addClass("sgcollapsed"); a.p.subGridOptions.selectOnCollapse && b(a).jqGrid("setSelection", e) } return !1 }), q++; !0 === a.p.subGridOptions.expandOnLoad && b(a.rows).filter(".jqgrow").each(function (a, c) { b(c.cells[0]).click() }); a.subGridXml = function (a, b) { n(a, b) }; a.subGridJson = function (a, b) { r(a, b) } } }) }, expandSubGridRow: function (d) { return this.each(function () { if ((this.grid || d) && !0 === this.p.subGrid) { var c = b(this).jqGrid("getInd", d, !0); c && (c = b("td.sgcollapsed", c)[0]) && b(c).trigger("click") } }) }, collapseSubGridRow: function (d) { return this.each(function () { if ((this.grid || d) && !0 === this.p.subGrid) { var c = b(this).jqGrid("getInd", d, !0); c && (c = b("td.sgexpanded", c)[0]) && b(c).trigger("click") } }) }, toggleSubGridRow: function (d) { return this.each(function () { if ((this.grid || d) && !0 === this.p.subGrid) { var c = b(this).jqGrid("getInd", d, !0); if (c) { var a = b("td.sgcollapsed", c)[0]; a ? b(a).trigger("click") : (a = b("td.sgexpanded", c)[0]) && b(a).trigger("click") } } }) } }) })(jQuery); (function (d) { d.extend(d.jgrid, { template: function (b) { var k = d.makeArray(arguments).slice(1), a, c = k.length; null == b && (b = ""); return b.replace(/\{([\w\-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g, function (b, m) { if (!isNaN(parseInt(m, 10))) return k[parseInt(m, 10)]; for (a = 0; a < c; a++) if (d.isArray(k[a])) for (var e = k[a], f = e.length; f--;) if (m === e[f].nm) return e[f].v }) } }); d.jgrid.extend({ groupingSetup: function () { return this.each(function () { var b, k, a = this.p.colModel, c = this.p.groupingView; if (null === c || "object" !== typeof c && !d.isFunction(c)) this.p.grouping = !1; else if (c.groupField.length) { void 0 === c.visibiltyOnNextGrouping && (c.visibiltyOnNextGrouping = []); c.lastvalues = []; c._locgr || (c.groups = []); c.counters = []; for (b = 0; b < c.groupField.length; b++) c.groupOrder[b] || (c.groupOrder[b] = "asc"), c.groupText[b] || (c.groupText[b] = "{0}"), "boolean" !== typeof c.groupColumnShow[b] && (c.groupColumnShow[b] = !0), "boolean" !== typeof c.groupSummary[b] && (c.groupSummary[b] = !1), c.groupSummaryPos[b] || (c.groupSummaryPos[b] = "footer"), !0 === c.groupColumnShow[b] ? (c.visibiltyOnNextGrouping[b] = !0, d(this).jqGrid("showCol", c.groupField[b])) : (c.visibiltyOnNextGrouping[b] = d("#" + d.jgrid.jqID(this.p.id + "_" + c.groupField[b])).is(":visible"), d(this).jqGrid("hideCol", c.groupField[b])); c.summary = []; c.hideFirstGroupCol && (c.formatDisplayField[0] = function (a) { return a }); b = 0; for (k = a.length; b < k; b++) c.hideFirstGroupCol && !a[b].hidden && c.groupField[0] === a[b].name && (a[b].formatter = function () { return "" }), a[b].summaryType && (a[b].summaryDivider ? c.summary.push({ nm: a[b].name, st: a[b].summaryType, v: "", sd: a[b].summaryDivider, vd: "", sr: a[b].summaryRound, srt: a[b].summaryRoundType || "round" }) : c.summary.push({ nm: a[b].name, st: a[b].summaryType, v: "", sr: a[b].summaryRound, srt: a[b].summaryRoundType || "round" })) } else this.p.grouping = !1 }) }, groupingPrepare: function (b, k) { this.each(function () { var a = this.p.groupingView, c = this, g, m = a.groupField.length, e, f, h, p = 0; for (g = 0; g < m; g++) e = a.groupField[g], h = a.displayField[g], f = b[e], h = null == h ? null : b[h], null == h && (h = f), void 0 !== f && (0 === k ? (a.groups.push({ idx: g, dataIndex: e, value: f, displayValue: h, startRow: k, cnt: 1, summary: [] }), a.lastvalues[g] = f, a.counters[g] = { cnt: 1, pos: a.groups.length - 1, summary: d.extend(!0, [], a.summary) }) : "object" === typeof f || (d.isArray(a.isInTheSameGroup) && d.isFunction(a.isInTheSameGroup[g]) ? a.isInTheSameGroup[g].call(c, a.lastvalues[g], f, g, a) : a.lastvalues[g] === f) ? 1 === p ? (a.groups.push({ idx: g, dataIndex: e, value: f, displayValue: h, startRow: k, cnt: 1, summary: [] }), a.lastvalues[g] = f, a.counters[g] = { cnt: 1, pos: a.groups.length - 1, summary: d.extend(!0, [], a.summary) }) : (a.counters[g].cnt += 1, a.groups[a.counters[g].pos].cnt = a.counters[g].cnt) : (a.groups.push({ idx: g, dataIndex: e, value: f, displayValue: h, startRow: k, cnt: 1, summary: [] }), a.lastvalues[g] = f, p = 1, a.counters[g] = { cnt: 1, pos: a.groups.length - 1, summary: d.extend(!0, [], a.summary) }), d.each(a.counters[g].summary, function () { d.isFunction(this.st) ? this.v = this.st.call(c, this.v, this.nm, b) : (this.v = d(c).jqGrid("groupingCalculations.handler", this.st, this.v, this.nm, this.sr, this.srt, b), "avg" === this.st.toLowerCase() && this.sd && (this.vd = d(c).jqGrid("groupingCalculations.handler", this.st, this.vd, this.sd, this.sr, this.srt, b))) }), a.groups[a.counters[g].pos].summary = a.counters[g].summary) }); return this }, groupingToggle: function (b) { this.each(function () { var k = this.p.groupingView, a = b.split("_"), c = parseInt(a[a.length - 2], 10); a.splice(a.length - 2, 2); var g = a.join("_"), a = k.minusicon, m = k.plusicon, e = d("#" + d.jgrid.jqID(b)), e = e.length ? e[0].nextSibling : null, f = d("#" + d.jgrid.jqID(b) + " span.tree-wrap-" + this.p.direction), h = function (a) { a = d.map(a.split(" "), function (a) { if (a.substring(0, g.length + 1) === g + "_") return parseInt(a.substring(g.length + 1), 10) }); return 0 < a.length ? a[0] : void 0 }, p, r = !1, q = this.p.frozenColumns ? this.p.id + "_frozen" : !1, n = q ? d("#" + d.jgrid.jqID(b), "#" + d.jgrid.jqID(q)) : !1, n = n && n.length ? n[0].nextSibling : null; if (f.hasClass(a)) { if (k.showSummaryOnHide) { if (e) for (; e && !(d(e).hasClass("jqfoot") && parseInt(d(e).attr("jqfootlevel"), 10) <= c) ;) d(e).hide(), e = e.nextSibling, q && (d(n).hide(), n = n.nextSibling) } else if (e) for (; e;) { k = h(e.className); if (void 0 !== k && k <= c) break; d(e).hide(); e = e.nextSibling; q && (d(n).hide(), n = n.nextSibling) } f.removeClass(a).addClass(m); r = !0 } else { if (e) for (p = void 0; e;) { k = h(e.className); void 0 === p && (p = void 0 === k); if (void 0 !== k) { if (k <= c) break; k === c + 1 && (d(e).show().find(">td>span.tree-wrap-" + this.p.direction).removeClass(a).addClass(m), q && d(n).show().find(">td>span.tree-wrap-" + this.p.direction).removeClass(a).addClass(m)) } else p && (d(e).show(), q && d(n).show()); e = e.nextSibling; q && (n = n.nextSibling) } f.removeClass(m).addClass(a) } d(this).triggerHandler("jqGridGroupingClickGroup", [b, r]); d.isFunction(this.p.onClickGroup) && this.p.onClickGroup.call(this, b, r) }); return !1 }, groupingRender: function (b, k, a, c) { return this.each(function () { function g(a, b, c) { var d = !1; if (0 === b) d = c[a]; else { var e = c[a].idx; if (0 === e) d = c[a]; else for (; 0 <= a; a--) if (c[a].idx === e - b) { d = c[a]; break } } return d } function m(a, b, c, f) { var h = g(a, b, c), m = e.p.colModel, n, q = h.cnt; a = ""; var p; for (p = f; p < k; p++) { var r = " ", t = "{0}"; d.each(h.summary, function () { if (this.nm === m[p].name) { m[p].summaryTpl && (t = m[p].summaryTpl); "string" === typeof this.st && "avg" === this.st.toLowerCase() && (this.sd && this.vd ? this.v /= this.vd : this.v && 0 < q && (this.v /= q)); try { this.groupCount = h.cnt, this.groupIndex = h.dataIndex, this.groupValue = h.value, n = e.formatter("", this.v, p, this) } catch (a) { n = this.v } r = "" + d.jgrid.format(t, n) + ""; return !1 } }); a += r } return a } var e = this, f = e.p.groupingView, h = "", p = "", r, q, n = f.groupCollapse ? f.plusicon : f.minusicon, t, y = [], z = f.groupField.length, n = n + (" tree-wrap-" + e.p.direction); d.each(e.p.colModel, function (a, b) { var c; for (c = 0; c < z; c++) if (f.groupField[c] === b.name) { y[c] = a; break } }); var x = 0, A = d.makeArray(f.groupSummary); A.reverse(); d.each(f.groups, function (g, l) { if (f._locgr && !(l.startRow + l.cnt > (a - 1) * c && l.startRow < a * c)) return !0; x++; q = e.p.id + "ghead_" + l.idx; r = q + "_" + g; p = ""; try { d.isArray(f.formatDisplayField) && d.isFunction(f.formatDisplayField[l.idx]) ? (l.displayValue = f.formatDisplayField[l.idx].call(e, l.displayValue, l.value, e.p.colModel[y[l.idx]], l.idx, f), t = l.displayValue) : t = e.formatter(r, l.displayValue, y[l.idx], l.value) } catch (C) { t = l.displayValue } "header" === f.groupSummaryPos[l.idx] ? (h += '' + p + d.jgrid.template(f.groupText[l.idx], t, l.cnt, l.summary) + "", h += m(g, l.idx - 1, f.groups, 1), h += "") : h += '' + p + d.jgrid.template(f.groupText[l.idx], t, l.cnt, l.summary) + ""; if (z - 1 === l.idx) { var s = f.groups[g + 1], v, u = 0; v = l.startRow; var B = void 0 !== s ? f.groups[g + 1].startRow : b.length; f._locgr && (u = (a - 1) * c, u > l.startRow && (v = u)); for (; v < B && b[v - u]; v++) h += b[v - u].join(""); if ("header" !== f.groupSummaryPos[l.idx]) { var w; if (void 0 !== s) { for (w = 0; w < f.groupField.length && s.dataIndex !== f.groupField[w]; w++); x = f.groupField.length - w } for (s = 0; s < x; s++) A[s] && (u = "", f.groupCollapse && !f.showSummaryOnHide && (u = ' style="display:none;"'), h += "', h += m(g, s, f.groups, 0), h += ""); x = w } } }); d("#" + d.jgrid.jqID(e.p.id) + " tbody:first").append(h); h = null }) }, groupingGroupBy: function (b, k) { return this.each(function () { "string" === typeof b && (b = [b]); var a = this.p.groupingView; this.p.grouping = !0; void 0 === a.visibiltyOnNextGrouping && (a.visibiltyOnNextGrouping = []); var c; for (c = 0; c < a.groupField.length; c++) !a.groupColumnShow[c] && a.visibiltyOnNextGrouping[c] && d(this).jqGrid("showCol", a.groupField[c]); for (c = 0; c < b.length; c++) a.visibiltyOnNextGrouping[c] = d("#" + d.jgrid.jqID(this.p.id) + "_" + d.jgrid.jqID(b[c])).is(":visible"); this.p.groupingView = d.extend(this.p.groupingView, k || {}); a.groupField = b; d(this).trigger("reloadGrid") }) }, groupingRemove: function (b) { return this.each(function () { void 0 === b && (b = !0); this.p.grouping = !1; if (!0 === b) { var k = this.p.groupingView, a; for (a = 0; a < k.groupField.length; a++) !k.groupColumnShow[a] && k.visibiltyOnNextGrouping[a] && d(this).jqGrid("showCol", k.groupField); d("tr.jqgroup, tr.jqfoot", "#" + d.jgrid.jqID(this.p.id) + " tbody:first").remove(); d("tr.jqgrow:hidden", "#" + d.jgrid.jqID(this.p.id) + " tbody:first").show() } else d(this).trigger("reloadGrid") }) }, groupingCalculations: { handler: function (b, d, a, c, g, m) { var e = { sum: function () { return parseFloat(d || 0) + parseFloat(m[a] || 0) }, min: function () { return "" === d ? parseFloat(m[a] || 0) : Math.min(parseFloat(d), parseFloat(m[a] || 0)) }, max: function () { return "" === d ? parseFloat(m[a] || 0) : Math.max(parseFloat(d), parseFloat(m[a] || 0)) }, count: function () { "" === d && (d = 0); return m.hasOwnProperty(a) ? d + 1 : 0 }, avg: function () { return e.sum() } }; if (!e[b]) throw "jqGrid Grouping No such method: " + b; b = e[b](); null != c && ("fixed" === g ? b = b.toFixed(c) : (c = Math.pow(10, c), b = Math.round(b * c) / c)); return b } } }) })(jQuery); (function (d) { d.jgrid.extend({ setTreeNode: function (b, c) { return this.each(function () { var a = this; if (a.grid && a.p.treeGrid) for (var h = a.p.expColInd, e = a.p.treeReader.expanded_field, k = a.p.treeReader.leaf_field, g = a.p.treeReader.level_field, f = a.p.treeReader.icon_field, n = a.p.treeReader.loaded, m, p, q, l; b < c;) l = d.jgrid.stripPref(a.p.idPrefix, a.rows[b].id), l = a.p.data[a.p._index[l]], "nested" !== a.p.treeGridModel || l[k] || (m = parseInt(l[a.p.treeReader.left_field], 10), p = parseInt(l[a.p.treeReader.right_field], 10), l[k] = p === m + 1 ? "true" : "false", a.rows[b].cells[a.p._treeleafpos].innerHTML = l[k]), m = parseInt(l[g], 10), 0 === a.p.tree_root_level ? (q = m + 1, p = m) : (q = m, p = m - 1), q = "
", q += "
").prepend(q), m !== parseInt(a.p.tree_root_level, 10) && ((l = (l = d(a).jqGrid("getNodeParent", l)) && l.hasOwnProperty(e) ? l[e] : !0) || d(a.rows[b]).css("display", "none")), d(a.rows[b].cells[h]).find("div.treeclick").bind("click", function (b) { b = d.jgrid.stripPref(a.p.idPrefix, d(b.target || b.srcElement, a.rows).closest("tr.jqgrow")[0].id); b = a.p._index[b]; a.p.data[b][k] || (a.p.data[b][e] ? (d(a).jqGrid("collapseRow", a.p.data[b]), d(a).jqGrid("collapseNode", a.p.data[b])) : (d(a).jqGrid("expandRow", a.p.data[b]), d(a).jqGrid("expandNode", a.p.data[b]))); return !1 }), !0 === a.p.ExpandColClick && d(a.rows[b].cells[h]).find("span.cell-wrapper").css("cursor", "pointer").bind("click", function (b) { b = d.jgrid.stripPref(a.p.idPrefix, d(b.target || b.srcElement, a.rows).closest("tr.jqgrow")[0].id); var c = a.p._index[b]; a.p.data[c][k] || (a.p.data[c][e] ? (d(a).jqGrid("collapseRow", a.p.data[c]), d(a).jqGrid("collapseNode", a.p.data[c])) : (d(a).jqGrid("expandRow", a.p.data[c]), d(a).jqGrid("expandNode", a.p.data[c]))); d(a).jqGrid("setSelection", b); return !1 }), b++ }) }, setTreeGrid: function () { return this.each(function () { var b = this, c = 0, a, h = !1, e, k, g = []; if (b.p.treeGrid) { b.p.treedatatype || d.extend(b.p, { treedatatype: b.p.datatype }); b.p.subGrid = !1; b.p.altRows = !1; b.p.pgbuttons = !1; b.p.pginput = !1; b.p.gridview = !0; null === b.p.rowTotal && (b.p.rowNum = 1E4); b.p.multiselect = !1; b.p.rowList = []; b.p.expColInd = 0; a = "ui-icon-triangle-1-" + ("rtl" === b.p.direction ? "w" : "e"); b.p.treeIcons = d.extend({ plus: a, minus: "ui-icon-triangle-1-s", leaf: "ui-icon-radio-off" }, b.p.treeIcons || {}); "nested" === b.p.treeGridModel ? b.p.treeReader = d.extend({ level_field: "level", left_field: "lft", right_field: "rgt", leaf_field: "isLeaf", expanded_field: "expanded", loaded: "loaded", icon_field: "icon" }, b.p.treeReader) : "adjacency" === b.p.treeGridModel && (b.p.treeReader = d.extend({ level_field: "level", parent_id_field: "parent", leaf_field: "isLeaf", expanded_field: "expanded", loaded: "loaded", icon_field: "icon" }, b.p.treeReader)); for (e in b.p.colModel) if (b.p.colModel.hasOwnProperty(e)) for (k in a = b.p.colModel[e].name, a !== b.p.ExpandColumn || h || (h = !0, b.p.expColInd = c), c++, b.p.treeReader) b.p.treeReader.hasOwnProperty(k) && b.p.treeReader[k] === a && g.push(a); d.each(b.p.treeReader, function (a, e) { e && -1 === d.inArray(e, g) && ("leaf_field" === a && (b.p._treeleafpos = c), c++, b.p.colNames.push(e), b.p.colModel.push({ name: e, width: 1, hidden: !0, sortable: !1, resizable: !1, hidedlg: !0, editable: !0, search: !1 })) }) } }) }, expandRow: function (b) { this.each(function () { var c = this; if (c.grid && c.p.treeGrid) { var a = d(c).jqGrid("getNodeChildren", b), h = c.p.treeReader.expanded_field; d(a).each(function () { var a = c.p.idPrefix + d.jgrid.getAccessor(this, c.p.localReader.id); d(d(c).jqGrid("getGridRowById", a)).css("display", ""); this[h] && d(c).jqGrid("expandRow", this) }) } }) }, collapseRow: function (b) { this.each(function () { var c = this; if (c.grid && c.p.treeGrid) { var a = d(c).jqGrid("getNodeChildren", b), h = c.p.treeReader.expanded_field; d(a).each(function () { var a = c.p.idPrefix + d.jgrid.getAccessor(this, c.p.localReader.id); d(d(c).jqGrid("getGridRowById", a)).css("display", "none"); this[h] && d(c).jqGrid("collapseRow", this) }) } }) }, getRootNodes: function () { var b = []; this.each(function () { var c = this; if (c.grid && c.p.treeGrid) switch (c.p.treeGridModel) { case "nested": var a = c.p.treeReader.level_field; d(c.p.data).each(function () { parseInt(this[a], 10) === parseInt(c.p.tree_root_level, 10) && b.push(this) }); break; case "adjacency": var h = c.p.treeReader.parent_id_field; d(c.p.data).each(function () { null !== this[h] && "null" !== String(this[h]).toLowerCase() || b.push(this) }) } }); return b }, getNodeDepth: function (b) { var c = null; this.each(function () { if (this.grid && this.p.treeGrid) switch (this.p.treeGridModel) { case "nested": c = parseInt(b[this.p.treeReader.level_field], 10) - parseInt(this.p.tree_root_level, 10); break; case "adjacency": c = d(this).jqGrid("getNodeAncestors", b).length } }); return c }, getNodeParent: function (b) { var c = null; this.each(function () { var a = this; if (a.grid && a.p.treeGrid) switch (a.p.treeGridModel) { case "nested": var h = a.p.treeReader.left_field, e = a.p.treeReader.right_field, k = a.p.treeReader.level_field, g = parseInt(b[h], 10), f = parseInt(b[e], 10), n = parseInt(b[k], 10); d(this.p.data).each(function () { if (parseInt(this[k], 10) === n - 1 && parseInt(this[h], 10) < g && parseInt(this[e], 10) > f) return c = this, !1 }); break; case "adjacency": var m = a.p.treeReader.parent_id_field, p = a.p.localReader.id; d(this.p.data).each(function () { if (this[p] === d.jgrid.stripPref(a.p.idPrefix, b[m])) return c = this, !1 }) } }); return c }, getNodeChildren: function (b) { var c = []; this.each(function () { var a = this; if (a.grid && a.p.treeGrid) switch (a.p.treeGridModel) { case "nested": var h = a.p.treeReader.left_field, e = a.p.treeReader.right_field, k = a.p.treeReader.level_field, g = parseInt(b[h], 10), f = parseInt(b[e], 10), n = parseInt(b[k], 10); d(this.p.data).each(function () { parseInt(this[k], 10) === n + 1 && parseInt(this[h], 10) > g && parseInt(this[e], 10) < f && c.push(this) }); break; case "adjacency": var m = a.p.treeReader.parent_id_field, p = a.p.localReader.id; d(this.p.data).each(function () { this[m] == d.jgrid.stripPref(a.p.idPrefix, b[p]) && c.push(this) }) } }); return c }, getFullTreeNode: function (b) { var c = []; this.each(function () { var a = this, h; if (a.grid && a.p.treeGrid) switch (a.p.treeGridModel) { case "nested": var e = a.p.treeReader.left_field, k = a.p.treeReader.right_field, g = a.p.treeReader.level_field, f = parseInt(b[e], 10), n = parseInt(b[k], 10), m = parseInt(b[g], 10); d(this.p.data).each(function () { parseInt(this[g], 10) >= m && parseInt(this[e], 10) >= f && parseInt(this[e], 10) <= n && c.push(this) }); break; case "adjacency": if (b) { c.push(b); var p = a.p.treeReader.parent_id_field, q = a.p.localReader.id; d(this.p.data).each(function (b) { h = c.length; for (b = 0; b < h; b++) if (d.jgrid.stripPref(a.p.idPrefix, c[b][q]) === this[p]) { c.push(this); break } }) } } }); return c }, getNodeAncestors: function (b) { var c = []; this.each(function () { if (this.grid && this.p.treeGrid) for (var a = d(this).jqGrid("getNodeParent", b) ; a;) c.push(a), a = d(this).jqGrid("getNodeParent", a) }); return c }, isVisibleNode: function (b) { var c = !0; this.each(function () { if (this.grid && this.p.treeGrid) { var a = d(this).jqGrid("getNodeAncestors", b), h = this.p.treeReader.expanded_field; d(a).each(function () { c = c && this[h]; if (!c) return !1 }) } }); return c }, isNodeLoaded: function (b) { var c; this.each(function () { if (this.grid && this.p.treeGrid) { var a = this.p.treeReader.leaf_field, h = this.p.treeReader.loaded; c = void 0 !== b ? void 0 !== b[h] ? b[h] : b[a] || 0 < d(this).jqGrid("getNodeChildren", b).length ? !0 : !1 : !1 } }); return c }, expandNode: function (b) { return this.each(function () { if (this.grid && this.p.treeGrid) { var c = this.p.treeReader.expanded_field, a = this.p.treeReader.parent_id_field, h = this.p.treeReader.loaded, e = this.p.treeReader.level_field, k = this.p.treeReader.left_field, g = this.p.treeReader.right_field; if (!b[c]) { var f = d.jgrid.getAccessor(b, this.p.localReader.id), n = d("#" + this.p.idPrefix + d.jgrid.jqID(f), this.grid.bDiv)[0], m = this.p._index[f]; d(this).jqGrid("isNodeLoaded", this.p.data[m]) ? (b[c] = !0, d("div.treeclick", n).removeClass(this.p.treeIcons.plus + " tree-plus").addClass(this.p.treeIcons.minus + " tree-minus")) : this.grid.hDiv.loading || (b[c] = !0, d("div.treeclick", n).removeClass(this.p.treeIcons.plus + " tree-plus").addClass(this.p.treeIcons.minus + " tree-minus"), this.p.treeANode = n.rowIndex, this.p.datatype = this.p.treedatatype, "nested" === this.p.treeGridModel ? d(this).jqGrid("setGridParam", { postData: { nodeid: f, n_left: b[k], n_right: b[g], n_level: b[e] } }) : d(this).jqGrid("setGridParam", { postData: { nodeid: f, parentid: b[a], n_level: b[e] } }), d(this).trigger("reloadGrid"), b[h] = !0, "nested" === this.p.treeGridModel ? d(this).jqGrid("setGridParam", { postData: { nodeid: "", n_left: "", n_right: "", n_level: "" } }) : d(this).jqGrid("setGridParam", { postData: { nodeid: "", parentid: "", n_level: "" } })) } } }) }, collapseNode: function (b) { return this.each(function () { if (this.grid && this.p.treeGrid) { var c = this.p.treeReader.expanded_field; b[c] && (b[c] = !1, c = d.jgrid.getAccessor(b, this.p.localReader.id), c = d("#" + this.p.idPrefix + d.jgrid.jqID(c), this.grid.bDiv)[0], d("div.treeclick", c).removeClass(this.p.treeIcons.minus + " tree-minus").addClass(this.p.treeIcons.plus + " tree-plus")) } }) }, SortTree: function (b, c, a, h) { return this.each(function () { if (this.grid && this.p.treeGrid) { var e, k, g, f = [], n = this, m; e = d(this).jqGrid("getRootNodes"); e = d.jgrid.from(e); e.orderBy(b, c, a, h); m = e.select(); e = 0; for (k = m.length; e < k; e++) g = m[e], f.push(g), d(this).jqGrid("collectChildrenSortTree", f, g, b, c, a, h); d.each(f, function (a) { var b = d.jgrid.getAccessor(this, n.p.localReader.id); d("#" + d.jgrid.jqID(n.p.id) + " tbody tr:eq(" + a + ")").after(d("tr#" + d.jgrid.jqID(b), n.grid.bDiv)) }); f = m = e = null } }) }, collectChildrenSortTree: function (b, c, a, h, e, k) { return this.each(function () { if (this.grid && this.p.treeGrid) { var g, f, n, m; g = d(this).jqGrid("getNodeChildren", c); g = d.jgrid.from(g); g.orderBy(a, h, e, k); m = g.select(); g = 0; for (f = m.length; g < f; g++) n = m[g], b.push(n), d(this).jqGrid("collectChildrenSortTree", b, n, a, h, e, k) } }) }, setTreeRow: function (b, c) { var a = !1; this.each(function () { this.grid && this.p.treeGrid && (a = d(this).jqGrid("setRowData", b, c)) }); return a }, delTreeNode: function (b) { return this.each(function () { var c = this.p.localReader.id, a, h = this.p.treeReader.left_field, e = this.p.treeReader.right_field, k, g, f; if (this.grid && this.p.treeGrid && (a = this.p._index[b], void 0 !== a)) { k = parseInt(this.p.data[a][e], 10); g = k - parseInt(this.p.data[a][h], 10) + 1; var n = d(this).jqGrid("getFullTreeNode", this.p.data[a]); if (0 < n.length) for (a = 0; a < n.length; a++) d(this).jqGrid("delRowData", n[a][c]); if ("nested" === this.p.treeGridModel) { c = d.jgrid.from(this.p.data).greater(h, k, { stype: "integer" }).select(); if (c.length) for (f in c) c.hasOwnProperty(f) && (c[f][h] = parseInt(c[f][h], 10) - g); c = d.jgrid.from(this.p.data).greater(e, k, { stype: "integer" }).select(); if (c.length) for (f in c) c.hasOwnProperty(f) && (c[f][e] = parseInt(c[f][e], 10) - g) } } }) }, addChildNode: function (b, c, a, h) { var e = this[0]; if (a) { var k = e.p.treeReader.expanded_field, g = e.p.treeReader.leaf_field, f = e.p.treeReader.level_field, n = e.p.treeReader.parent_id_field, m = e.p.treeReader.left_field, p = e.p.treeReader.right_field, q = e.p.treeReader.loaded, l, u, t, w, s; l = 0; var v = c, x; void 0 === h && (h = !1); if (void 0 === b || null === b) { s = e.p.data.length - 1; if (0 <= s) for (; 0 <= s;) l = Math.max(l, parseInt(e.p.data[s][e.p.localReader.id], 10)), s--; b = l + 1 } var y = d(e).jqGrid("getInd", c); x = !1; void 0 === c || null === c || "" === c ? (v = c = null, l = "last", w = e.p.tree_root_level, s = e.p.data.length + 1) : (l = "after", u = e.p._index[c], t = e.p.data[u], c = t[e.p.localReader.id], w = parseInt(t[f], 10) + 1, s = d(e).jqGrid("getFullTreeNode", t), s.length ? (v = s = s[s.length - 1][e.p.localReader.id], s = d(e).jqGrid("getInd", v) + 1) : s = d(e).jqGrid("getInd", c) + 1, t[g] && (x = !0, t[k] = !0, d(e.rows[y]).find("span.cell-wrapperleaf").removeClass("cell-wrapperleaf").addClass("cell-wrapper").end().find("div.tree-leaf").removeClass(e.p.treeIcons.leaf + " tree-leaf").addClass(e.p.treeIcons.minus + " tree-minus"), e.p.data[u][g] = !1, t[q] = !0)); u = s + 1; void 0 === a[k] && (a[k] = !1); void 0 === a[q] && (a[q] = !1); a[f] = w; void 0 === a[g] && (a[g] = !0); "adjacency" === e.p.treeGridModel && (a[n] = c); if ("nested" === e.p.treeGridModel) { var r; if (null !== c) { g = parseInt(t[p], 10); f = d.jgrid.from(e.p.data); f = f.greaterOrEquals(p, g, { stype: "integer" }); f = f.select(); if (f.length) for (r in f) f.hasOwnProperty(r) && (f[r][m] = f[r][m] > g ? parseInt(f[r][m], 10) + 2 : f[r][m], f[r][p] = f[r][p] >= g ? parseInt(f[r][p], 10) + 2 : f[r][p]); a[m] = g; a[p] = g + 1 } else { g = parseInt(d(e).jqGrid("getCol", p, !1, "max"), 10); f = d.jgrid.from(e.p.data).greater(m, g, { stype: "integer" }).select(); if (f.length) for (r in f) f.hasOwnProperty(r) && (f[r][m] = parseInt(f[r][m], 10) + 2); f = d.jgrid.from(e.p.data).greater(p, g, { stype: "integer" }).select(); if (f.length) for (r in f) f.hasOwnProperty(r) && (f[r][p] = parseInt(f[r][p], 10) + 2); a[m] = g + 1; a[p] = g + 2 } } if (null === c || d(e).jqGrid("isNodeLoaded", t) || x) d(e).jqGrid("addRowData", b, a, l, v), d(e).jqGrid("setTreeNode", s, u); t && !t[k] && h && d(e.rows[y]).find("div.treeclick").click() } } }) })(jQuery); (function (d) { function I(d, n) { var h, e, v = [], r; if (!this || "function" !== typeof d || d instanceof RegExp) throw new TypeError; r = this.length; for (h = 0; h < r; h++) if (this.hasOwnProperty(h) && (e = this[h], d.call(n, e, h, this))) { v.push(e); break } return v } d.assocArraySize = function (d) { var n = 0, h; for (h in d) d.hasOwnProperty(h) && n++; return n }; d.jgrid.extend({ pivotSetup: function (q, n) { var h = [], e = [], v = [], r = [], b = { grouping: !0, groupingView: { groupField: [], groupSummary: [], groupSummaryPos: [] } }, f = [], c = d.extend({ rowTotals: !1, rowTotalsText: "Total", colTotals: !1, groupSummary: !0, groupSummaryPos: "header", frozenStaticCols: !1 }, n || {}); this.each(function () { function n(C, c, a) { C = I.call(C, c, a); return 0 < C.length ? C[0] : null } function J(c, a) { var d = 0, f = !0, h; for (h in c) { if (c[h] != this[d]) { f = !1; break } d++; if (d >= this.length) break } f && (D = a); return f } function E(c, a, f, h) { var g = a.length, b, k, e, l; l = d.isArray(f) ? f.length : 1; r = []; for (e = r.root = 0; e < l; e++) { var n = [], m; for (b = 0; b < g; b++) { if (null == f) m = k = d.trim(a[b].member) + "_" + a[b].aggregator; else { m = f[e].replace(/\s+/g, ""); try { k = 1 === g ? m : m + "_" + a[b].aggregator + "_" + b } catch (v) { } } var t = h, u = k, x = n, y = k, w = h[k], p = a[b].member, q = c, s = void 0; switch (a[b].aggregator) { case "sum": s = parseFloat(w || 0) + parseFloat(q[p] || 0); break; case "count": if ("" === w || null == w) w = 0; s = q.hasOwnProperty(p) ? w + 1 : 0; break; case "min": s = "" === w || null == w ? parseFloat(q[p] || 0) : Math.min(parseFloat(w), parseFloat(q[p] || 0)); break; case "max": s = "" === w || null == w ? parseFloat(q[p] || 0) : Math.max(parseFloat(w), parseFloat(q[p] || 0)) } t[u] = x[y] = s } r[m] = n } return h } function H(a) { var d, b, g, k, e; for (g in a) if (a.hasOwnProperty(g)) { if ("object" !== typeof a[g] && ("level" === g && (void 0 === F[a.level] && (F[a.level] = "", 0 < a.level && "_r_Totals" !== a.text && (f[a.level - 1] = { useColSpanStyle: !1, groupHeaders: [] })), F[a.level] !== a.text && a.children.length && "_r_Totals" !== a.text && 0 < a.level && (f[a.level - 1].groupHeaders.push({ titleText: a.text }), b = f[a.level - 1].groupHeaders.length, e = 1 === b ? K : G + (b - 1) * z, f[a.level - 1].groupHeaders[b - 1].startColumnName = h[e].name, f[a.level - 1].groupHeaders[b - 1].numberOfColumns = h.length - e, G = h.length), F[a.level] = a.text), a.level === l && "level" === g && 0 < l)) if (1 < z) { b = 1; for (d in a.fields) 1 === b && f[l - 1].groupHeaders.push({ startColumnName: d, numberOfColumns: 1, titleText: a.text }), b++; f[l - 1].groupHeaders[f[l - 1].groupHeaders.length - 1].numberOfColumns = b - 1 } else f.splice(l - 1, 1); null != a[g] && "object" === typeof a[g] && H(a[g]); if ("level" === g && 0 < a.level) for (d in b = 0, a.fields) { e = {}; for (k in c.aggregates[b]) if (c.aggregates[b].hasOwnProperty(k)) switch (k) { case "member": case "label": case "aggregator": break; default: e[k] = c.aggregates[b][k] } 1 < z ? (e.name = d, e.label = c.aggregates[b].label || d) : (e.name = a.text, e.label = "_r_Totals" === a.text ? c.rowTotalsText : a.text); h.push(e); b++ } } } var m, D, a, y = q.length, s, l, z, k, p = 0; c.rowTotals && 0 < c.yDimension.length && (c.yDimension.splice(0, 0, { dataName: c.yDimension[0].dataName }), c.yDimension[0].converter = function () { return "_r_Totals" }); s = d.isArray(c.xDimension) ? c.xDimension.length : 0; l = c.yDimension.length; z = d.isArray(c.aggregates) ? c.aggregates.length : 0; if (0 === s || 0 === z) throw "xDimension or aggregates optiona are not set!"; var x; for (a = 0; a < s; a++) x = { name: c.xDimension[a].dataName, frozen: c.frozenStaticCols }, x = d.extend(!0, x, c.xDimension[a]), h.push(x); x = s - 1; for (var A = {}; p < y;) { m = q[p]; var t = [], u = []; k = {}; a = 0; do t[a] = d.trim(m[c.xDimension[a].dataName]), k[c.xDimension[a].dataName] = t[a], a++; while (a < s); var g = 0; D = -1; a = n(e, J, t); if (!a) { g = 0; if (1 <= l) { for (g = 0; g < l; g++) u[g] = d.trim(m[c.yDimension[g].dataName]), c.yDimension[g].converter && d.isFunction(c.yDimension[g].converter) && (u[g] = c.yDimension[g].converter.call(this, u[g], t, u)); k = E(m, c.aggregates, u, k) } else 0 === l && (k = E(m, c.aggregates, null, k)); e.push(k) } else if (0 <= D) { g = 0; if (1 <= l) { for (g = 0; g < l; g++) u[g] = d.trim(m[c.yDimension[g].dataName]), c.yDimension[g].converter && d.isFunction(c.yDimension[g].converter) && (u[g] = c.yDimension[g].converter.call(this, u[g], t, u)); a = E(m, c.aggregates, u, a) } else 0 === l && (a = E(m, c.aggregates, null, a)); e[D] = a } m = 0; var t = k = null, B; for (B in r) { if (0 === m) A.children && void 0 !== A.children || (A = { text: B, level: 0, children: [] }), k = A.children; else { t = null; for (a = 0; a < k.length; a++) if (k[a].text === B) { t = k[a]; break } t ? k = t.children : (k.push({ children: [], text: B, level: m, fields: r[B] }), k = k[k.length - 1].children) } m++ } p++ } var F = [], G = h.length, K = G; 0 < l && (f[l - 1] = { useColSpanStyle: !1, groupHeaders: [] }); H(A, 0); if (c.colTotals) for (p = e.length; p--;) for (a = s; a < h.length; a++) y = h[a].name, v[y] = v[y] ? v[y] + parseFloat(e[p][y] || 0) : parseFloat(e[p][y] || 0); if (0 < x) for (a = 0; a < x; a++) b.groupingView.groupField[a] = h[a].name, b.groupingView.groupSummary[a] = c.groupSummary, b.groupingView.groupSummaryPos[a] = c.groupSummaryPos; else b.grouping = !1; b.sortname = h[x].name; b.groupingView.hideFirstGroupCol = !0 }); return { colModel: h, rows: e, groupOptions: b, groupHeaders: f, summary: v } }, jqPivot: function (q, n, h, e) { return this.each(function () { function v(b) { var f = jQuery(r).jqGrid("pivotSetup", b, n), c = 0 < d.assocArraySize(f.summary) ? !0 : !1, e = d.jgrid.from(f.rows); for (b = 0; b < f.groupOptions.groupingView.groupField.length; b++) e.orderBy(f.groupOptions.groupingView.groupField[b], "a", "text", ""); jQuery(r).jqGrid(d.extend({ datastr: d.extend(e.select(), c ? { userdata: f.summary } : {}), datatype: "jsonstring", footerrow: c, userDataOnFooter: c, colModel: f.colModel, viewrecords: !0, sortname: n.xDimension[0].dataName }, h || {}, f.groupOptions)); f = f.groupHeaders; if (f.length) for (b = 0; b < f.length; b++) f[b] && f[b].groupHeaders.length && jQuery(r).jqGrid("setGroupHeaders", f[b]); n.frozenStaticCols && jQuery(r).jqGrid("setFrozenColumns") } var r = this; "string" === typeof q ? d.ajax(d.extend({ url: q, dataType: "json", success: function (b) { v(d.jgrid.getAccessor(b, e && e.reader ? e.reader : "rows")) } }, e || {})) : v(q) }) } }) })(jQuery); (function (c) { c.jgrid.extend({ jqGridImport: function (a) { a = c.extend({ imptype: "xml", impstring: "", impurl: "", mtype: "GET", impData: {}, xmlGrid: { config: "roots>grid", data: "roots>rows" }, jsonGrid: { config: "grid", data: "data" }, ajaxOptions: {} }, a || {}); return this.each(function () { var d = this, f = function (a, b) { var e = c(b.xmlGrid.config, a)[0], h = c(b.xmlGrid.data, a)[0], f, g; if (xmlJsonClass.xml2json && c.jgrid.parse) { e = xmlJsonClass.xml2json(e, " "); e = c.jgrid.parse(e); for (g in e) e.hasOwnProperty(g) && (f = e[g]); h ? (h = e.grid.datatype, e.grid.datatype = "xmlstring", e.grid.datastr = a, c(d).jqGrid(f).jqGrid("setGridParam", { datatype: h })) : c(d).jqGrid(f) } else alert("xml2json or parse are not present") }, b = function (a, b) { if (a && "string" === typeof a) { var e = !1; c.jgrid.useJSON && (c.jgrid.useJSON = !1, e = !0); var f = c.jgrid.parse(a); e && (c.jgrid.useJSON = !0); e = f[b.jsonGrid.config]; if (f = f[b.jsonGrid.data]) { var g = e.datatype; e.datatype = "jsonstring"; e.datastr = f; c(d).jqGrid(e).jqGrid("setGridParam", { datatype: g }) } else c(d).jqGrid(e) } }; switch (a.imptype) { case "xml": c.ajax(c.extend({ url: a.impurl, type: a.mtype, data: a.impData, dataType: "xml", complete: function (b, g) { "success" === g && (f(b.responseXML, a), c(d).triggerHandler("jqGridImportComplete", [b, a]), c.isFunction(a.importComplete) && a.importComplete(b)) } }, a.ajaxOptions)); break; case "xmlstring": if (a.impstring && "string" === typeof a.impstring) { var g = c.parseXML(a.impstring); g && (f(g, a), c(d).triggerHandler("jqGridImportComplete", [g, a]), c.isFunction(a.importComplete) && a.importComplete(g), a.impstring = null); g = null } break; case "json": c.ajax(c.extend({ url: a.impurl, type: a.mtype, data: a.impData, dataType: "json", complete: function (f) { try { b(f.responseText, a), c(d).triggerHandler("jqGridImportComplete", [f, a]), c.isFunction(a.importComplete) && a.importComplete(f) } catch (g) { } } }, a.ajaxOptions)); break; case "jsonstring": a.impstring && "string" === typeof a.impstring && (b(a.impstring, a), c(d).triggerHandler("jqGridImportComplete", [a.impstring, a]), c.isFunction(a.importComplete) && a.importComplete(a.impstring), a.impstring = null) } }) }, jqGridExport: function (a) { a = c.extend({ exptype: "xmlstring", root: "grid", ident: "\t" }, a || {}); var d = null; this.each(function () { if (this.grid) { var f, b = c.extend(!0, {}, c(this).jqGrid("getGridParam")); b.rownumbers && (b.colNames.splice(0, 1), b.colModel.splice(0, 1)); b.multiselect && (b.colNames.splice(0, 1), b.colModel.splice(0, 1)); b.subGrid && (b.colNames.splice(0, 1), b.colModel.splice(0, 1)); b.knv = null; if (b.treeGrid) for (f in b.treeReader) b.treeReader.hasOwnProperty(f) && (b.colNames.splice(b.colNames.length - 1), b.colModel.splice(b.colModel.length - 1)); switch (a.exptype) { case "xmlstring": d = "<" + a.root + ">" + xmlJsonClass.json2xml(b, a.ident) + ""; break; case "jsonstring": d = "{" + xmlJsonClass.toJson(b, a.root, a.ident, !1) + "}", void 0 !== b.postData.filters && (d = d.replace(/filters":"/, 'filters":'), d = d.replace(/}]}"/, "}]}")) } } }); return d }, excelExport: function (a) { a = c.extend({ exptype: "remote", url: null, oper: "oper", tag: "excel", exportOptions: {} }, a || {}); return this.each(function () { if (this.grid) { var d; "remote" === a.exptype && (d = c.extend({}, this.p.postData), d[a.oper] = a.tag, d = jQuery.param(d), d = -1 !== a.url.indexOf("?") ? a.url + "&" + d : a.url + "?" + d, window.location = d) } }) } }) })(jQuery); var xmlJsonClass = { xml2json: function (a, b) { 9 === a.nodeType && (a = a.documentElement); var g = this.removeWhite(a), g = this.toObj(g), g = this.toJson(g, a.nodeName, "\t"); return "{\n" + b + (b ? g.replace(/\t/g, b) : g.replace(/\t|\n/g, "")) + "\n}" }, json2xml: function (a, b) { var g = function (a, b, e) { var d = "", f, k; if (a instanceof Array) if (0 === a.length) d += e + "<" + b + ">__EMPTY_ARRAY_\n"; else for (f = 0, k = a.length; f < k; f += 1) var n = e + g(a[f], b, e + "\t") + "\n", d = d + n; else if ("object" === typeof a) { f = !1; d += e + "<" + b; for (k in a) a.hasOwnProperty(k) && ("@" === k.charAt(0) ? d += " " + k.substr(1) + '="' + a[k].toString() + '"' : f = !0); d += f ? ">" : "/>"; if (f) { for (k in a) a.hasOwnProperty(k) && ("#text" === k ? d += a[k] : "#cdata" === k ? d += "" } } else "function" === typeof a ? d += e + "<" + b + ">" : (void 0 === a && (a = ""), d = '""' === a.toString() || 0 === a.toString().length ? d + (e + "<" + b + ">__EMPTY_STRING_") : d + (e + "<" + b + ">" + a.toString() + "")); return d }, f = "", e; for (e in a) a.hasOwnProperty(e) && (f += g(a[e], e, "")); return b ? f.replace(/\t/g, b) : f.replace(/\t|\n/g, "") }, toObj: function (a) { var b = {}, g = /function/i; if (1 === a.nodeType) { if (a.attributes.length) { var f; for (f = 0; f < a.attributes.length; f += 1) b["@" + a.attributes[f].nodeName] = (a.attributes[f].nodeValue || "").toString() } if (a.firstChild) { var e = f = 0, h = !1, c; for (c = a.firstChild; c; c = c.nextSibling) 1 === c.nodeType ? h = !0 : 3 === c.nodeType && c.nodeValue.match(/[^ \f\n\r\t\v]/) ? f += 1 : 4 === c.nodeType && (e += 1); if (h) if (2 > f && 2 > e) for (this.removeWhite(a), c = a.firstChild; c; c = c.nextSibling) 3 === c.nodeType ? b["#text"] = this.escape(c.nodeValue) : 4 === c.nodeType ? g.test(c.nodeValue) ? b[c.nodeName] = [b[c.nodeName], c.nodeValue] : b["#cdata"] = this.escape(c.nodeValue) : b[c.nodeName] ? b[c.nodeName] instanceof Array ? b[c.nodeName][b[c.nodeName].length] = this.toObj(c) : b[c.nodeName] = [b[c.nodeName], this.toObj(c)] : b[c.nodeName] = this.toObj(c); else a.attributes.length ? b["#text"] = this.escape(this.innerXml(a)) : b = this.escape(this.innerXml(a)); else if (f) a.attributes.length ? b["#text"] = this.escape(this.innerXml(a)) : (b = this.escape(this.innerXml(a)), "__EMPTY_ARRAY_" === b ? b = "[]" : "__EMPTY_STRING_" === b && (b = "")); else if (e) if (1 < e) b = this.escape(this.innerXml(a)); else for (c = a.firstChild; c; c = c.nextSibling) if (g.test(a.firstChild.nodeValue)) { b = a.firstChild.nodeValue; break } else b["#cdata"] = this.escape(c.nodeValue) } a.attributes.length || a.firstChild || (b = null) } else 9 === a.nodeType ? b = this.toObj(a.documentElement) : alert("unhandled node type: " + a.nodeType); return b }, toJson: function (a, b, g, f) { void 0 === f && (f = !0); var e = b ? '"' + b + '"' : "", h = "\t", c = "\n"; f || (c = h = ""); if ("[]" === a) e += b ? ":[]" : "[]"; else if (a instanceof Array) { var l, d, m = []; d = 0; for (l = a.length; d < l; d += 1) m[d] = this.toJson(a[d], "", g + h, f); e += (b ? ":[" : "[") + (1 < m.length ? c + g + h + m.join("," + c + g + h) + c + g : m.join("")) + "]" } else if (null === a) e += (b && ":") + "null"; else if ("object" === typeof a) { l = []; for (d in a) a.hasOwnProperty(d) && (l[l.length] = this.toJson(a[d], d, g + h, f)); e += (b ? ":{" : "{") + (1 < l.length ? c + g + h + l.join("," + c + g + h) + c + g : l.join("")) + "}" } else e = "string" === typeof a ? e + ((b && ":") + '"' + a.replace(/\\/g, "\\\\").replace(/\"/g, '\\"') + '"') : e + ((b && ":") + a.toString()); return e }, innerXml: function (a) { var b = ""; if ("innerHTML" in a) b = a.innerHTML; else { var g = function (a) { var b = "", h; if (1 === a.nodeType) { b += "<" + a.nodeName; for (h = 0; h < a.attributes.length; h += 1) b += " " + a.attributes[h].nodeName + '="' + (a.attributes[h].nodeValue || "").toString() + '"'; if (a.firstChild) { b += ">"; for (h = a.firstChild; h; h = h.nextSibling) b += g(h); b += "" } else b += "/>" } else 3 === a.nodeType ? b += a.nodeValue : 4 === a.nodeType && (b += " tr", jQuery(this)).each(function () { var b = {}, a = 0; jQuery("td", jQuery(this)).each(function () { if (0 === a && k) { var c = jQuery("input", jQuery(this)), e = c.attr("value"); g.push(e || f.length); c.is(":checked") && h.push(e); b[d[a].name] = c.attr("value") } else b[d[a].name] = jQuery(this).html(); a++ }); 0 < a && f.push(b) }); jQuery(this).empty(); jQuery(this).addClass("scroll"); jQuery(this).jqGrid(jQuery.extend({ datatype: "local", width: b, colNames: e, colModel: d, multiselect: c }, m || {})); for (b = 0; b < f.length; b++) a = null, 0 < g.length && (a = g[b]) && a.replace && (a = encodeURIComponent(a).replace(/[.\-%]/g, "_")), null === a && (a = b + 1), jQuery(this).jqGrid("addRowData", a, f[b]); for (b = 0; b < h.length; b++) jQuery(this).jqGrid("setSelection", h[b]) } }) }; (function (b) { b.jgrid.msie && 8 === b.jgrid.msiever() && (b.expr[":"].hidden = function (b) { return 0 === b.offsetWidth || 0 === b.offsetHeight || "none" === b.style.display }); b.jgrid._multiselect = !1; if (b.ui && b.ui.multiselect) { if (b.ui.multiselect.prototype._setSelected) { var r = b.ui.multiselect.prototype._setSelected; b.ui.multiselect.prototype._setSelected = function (a, d) { var c = r.call(this, a, d); if (d && this.selectedList) { var e = this.element; this.selectedList.find("li").each(function () { b(this).data("optionLink") && b(this).data("optionLink").remove().appendTo(e) }) } return c } } b.ui.multiselect.prototype.destroy && (b.ui.multiselect.prototype.destroy = function () { this.element.show(); this.container.remove(); void 0 === b.Widget ? b.widget.prototype.destroy.apply(this, arguments) : b.Widget.prototype.destroy.apply(this, arguments) }); b.jgrid._multiselect = !0 } b.jgrid.extend({ sortableColumns: function (a) { return this.each(function () { function d() { c.p.disableClick = !0 } var c = this, e = b.jgrid.jqID(c.p.id), e = { tolerance: "pointer", axis: "x", scrollSensitivity: "1", items: ">th:not(:has(#jqgh_" + e + "_cb,#jqgh_" + e + "_rn,#jqgh_" + e + "_subgrid),:hidden)", placeholder: { element: function (a) { return b(document.createElement(a[0].nodeName)).addClass(a[0].className + " ui-sortable-placeholder ui-state-highlight").removeClass("ui-sortable-helper")[0] }, update: function (b, a) { a.height(b.currentItem.innerHeight() - parseInt(b.currentItem.css("paddingTop") || 0, 10) - parseInt(b.currentItem.css("paddingBottom") || 0, 10)); a.width(b.currentItem.innerWidth() - parseInt(b.currentItem.css("paddingLeft") || 0, 10) - parseInt(b.currentItem.css("paddingRight") || 0, 10)) } }, update: function (a, e) { var d = b(e.item).parent(), d = b(">th", d), f = {}, g = c.p.id + "_"; b.each(c.p.colModel, function (b) { f[this.name] = b }); var l = []; d.each(function () { var a = b(">div", this).get(0).id.replace(/^jqgh_/, "").replace(g, ""); f.hasOwnProperty(a) && l.push(f[a]) }); b(c).jqGrid("remapColumns", l, !0, !0); b.isFunction(c.p.sortable.update) && c.p.sortable.update(l); setTimeout(function () { c.p.disableClick = !1 }, 50) } }; c.p.sortable.options ? b.extend(e, c.p.sortable.options) : b.isFunction(c.p.sortable) && (c.p.sortable = { update: c.p.sortable }); if (e.start) { var g = e.start; e.start = function (b, a) { d(); g.call(this, b, a) } } else e.start = d; c.p.sortable.exclude && (e.items += ":not(" + c.p.sortable.exclude + ")"); a.sortable(e).data("sortable").floating = !0 }) }, columnChooser: function (a) { function d(a, c) { a && ("string" === typeof a ? b.fn[a] && b.fn[a].apply(c, b.makeArray(arguments).slice(2)) : b.isFunction(a) && a.apply(c, b.makeArray(arguments).slice(2))) } var c = this; if (!b("#colchooser_" + b.jgrid.jqID(c[0].p.id)).length) { var e = b('
'), g = b("select", e); a = b.extend({ width: 420, height: 240, classname: null, done: function (b) { b && c.jqGrid("remapColumns", b, !0) }, msel: "multiselect", dlog: "dialog", dialog_opts: { minWidth: 470 }, dlog_opts: function (a) { var c = {}; c[a.bSubmit] = function () { a.apply_perm(); a.cleanup(!1) }; c[a.bCancel] = function () { a.cleanup(!0) }; return b.extend(!0, { buttons: c, close: function () { a.cleanup(!0) }, modal: a.modal || !1, resizable: a.resizable || !0, width: a.width + 20 }, a.dialog_opts || {}) }, apply_perm: function () { b("option", g).each(function () { this.selected ? c.jqGrid("showCol", k[this.value].name) : c.jqGrid("hideCol", k[this.value].name) }); var e = []; b("option:selected", g).each(function () { e.push(parseInt(this.value, 10)) }); b.each(e, function () { delete p[k[parseInt(this, 10)].name] }); b.each(p, function () { var b = parseInt(this, 10); var a = e, c = b; if (0 <= c) { var d = a.slice(), k = d.splice(c, Math.max(a.length - c, c)); c > a.length && (c = a.length); d[c] = b; e = d.concat(k) } else e = void 0 }); a.done && a.done.call(c, e) }, cleanup: function (b) { d(a.dlog, e, "destroy"); d(a.msel, g, "destroy"); e.remove(); b && a.done && a.done.call(c) }, msel_opts: {} }, b.jgrid.col, a || {}); if (b.ui && b.ui.multiselect && "multiselect" === a.msel) { if (!b.jgrid._multiselect) { alert("Multiselect plugin loaded after jqGrid. Please load the plugin before the jqGrid!"); return } a.msel_opts = b.extend(b.ui.multiselect.defaults, a.msel_opts) } a.caption && e.attr("title", a.caption); a.classname && (e.addClass(a.classname), g.addClass(a.classname)); a.width && (b(">div", e).css({ width: a.width, margin: "0 auto" }), g.css("width", a.width)); a.height && (b(">div", e).css("height", a.height), g.css("height", a.height - 10)); var k = c.jqGrid("getGridParam", "colModel"), t = c.jqGrid("getGridParam", "colNames"), p = {}, f = []; g.empty(); b.each(k, function (a) { p[this.name] = a; this.hidedlg ? this.hidden || f.push(a) : g.append("") }); var q = b.isFunction(a.dlog_opts) ? a.dlog_opts.call(c, a) : a.dlog_opts; d(a.dlog, e, q); q = b.isFunction(a.msel_opts) ? a.msel_opts.call(c, a) : a.msel_opts; d(a.msel, g, q) } }, sortableRows: function (a) { return this.each(function () { var d = this; d.grid && !d.p.treeGrid && b.fn.sortable && (a = b.extend({ cursor: "move", axis: "y", items: ".jqgrow" }, a || {}), a.start && b.isFunction(a.start) ? (a._start_ = a.start, delete a.start) : a._start_ = !1, a.update && b.isFunction(a.update) ? (a._update_ = a.update, delete a.update) : a._update_ = !1, a.start = function (c, e) { b(e.item).css("border-width", "0"); b("td", e.item).each(function (b) { this.style.width = d.grid.cols[b].style.width }); if (d.p.subGrid) { var g = b(e.item).attr("id"); try { b(d).jqGrid("collapseSubGridRow", g) } catch (k) { } } a._start_ && a._start_.apply(this, [c, e]) }, a.update = function (c, e) { b(e.item).css("border-width", ""); !0 === d.p.rownumbers && b("td.jqgrid-rownum", d.rows).each(function (a) { b(this).html(a + 1 + (parseInt(d.p.page, 10) - 1) * parseInt(d.p.rowNum, 10)) }); a._update_ && a._update_.apply(this, [c, e]) }, b("tbody:first", d).sortable(a), b("tbody:first", d).disableSelection()) }) }, gridDnD: function (a) { return this.each(function () { function d() { var a = b.data(c, "dnd"); b("tr.jqgrow:not(.ui-draggable)", c).draggable(b.isFunction(a.drag) ? a.drag.call(b(c), a) : a.drag) } var c = this, e, g; if (c.grid && !c.p.treeGrid && b.fn.draggable && b.fn.droppable) if (void 0 === b("#jqgrid_dnd")[0] && b("body").append("
"), "string" === typeof a && "updateDnD" === a && !0 === c.p.jqgdnd) d(); else if (a = b.extend({ drag: function (a) { return b.extend({ start: function (e, d) { var f; if (c.p.subGrid) { f = b(d.helper).attr("id"); try { b(c).jqGrid("collapseSubGridRow", f) } catch (g) { } } for (f = 0; f < b.data(c, "dnd").connectWith.length; f++) 0 === b(b.data(c, "dnd").connectWith[f]).jqGrid("getGridParam", "reccount") && b(b.data(c, "dnd").connectWith[f]).jqGrid("addRowData", "jqg_empty_row", {}); d.helper.addClass("ui-state-highlight"); b("td", d.helper).each(function (b) { this.style.width = c.grid.headers[b].width + "px" }); a.onstart && b.isFunction(a.onstart) && a.onstart.call(b(c), e, d) }, stop: function (e, d) { var f; d.helper.dropped && !a.dragcopy && (f = b(d.helper).attr("id"), void 0 === f && (f = b(this).attr("id")), b(c).jqGrid("delRowData", f)); for (f = 0; f < b.data(c, "dnd").connectWith.length; f++) b(b.data(c, "dnd").connectWith[f]).jqGrid("delRowData", "jqg_empty_row"); a.onstop && b.isFunction(a.onstop) && a.onstop.call(b(c), e, d) } }, a.drag_opts || {}) }, drop: function (a) { return b.extend({ accept: function (a) { if (!b(a).hasClass("jqgrow")) return a; a = b(a).closest("table.ui-jqgrid-btable"); return 0 < a.length && void 0 !== b.data(a[0], "dnd") ? (a = b.data(a[0], "dnd").connectWith, -1 !== b.inArray("#" + b.jgrid.jqID(this.id), a) ? !0 : !1) : !1 }, drop: function (e, d) { if (b(d.draggable).hasClass("jqgrow")) { var f = b(d.draggable).attr("id"), f = d.draggable.parent().parent().jqGrid("getRowData", f); if (!a.dropbyname) { var g = 0, l = {}, h, n, s = b("#" + b.jgrid.jqID(this.id)).jqGrid("getGridParam", "colModel"); try { for (n in f) f.hasOwnProperty(n) && (h = s[g].name, "cb" !== h && "rn" !== h && "subgrid" !== h && f.hasOwnProperty(n) && s[g] && (l[h] = f[n]), g++); f = l } catch (r) { } } d.helper.dropped = !0; a.beforedrop && b.isFunction(a.beforedrop) && (h = a.beforedrop.call(this, e, d, f, b("#" + b.jgrid.jqID(c.p.id)), b(this)), void 0 !== h && null !== h && "object" === typeof h && (f = h)); if (d.helper.dropped) { var m; a.autoid && (b.isFunction(a.autoid) ? m = a.autoid.call(this, f) : (m = Math.ceil(1E3 * Math.random()), m = a.autoidprefix + m)); b("#" + b.jgrid.jqID(this.id)).jqGrid("addRowData", m, f, a.droppos) } a.ondrop && b.isFunction(a.ondrop) && a.ondrop.call(this, e, d, f) } } }, a.drop_opts || {}) }, onstart: null, onstop: null, beforedrop: null, ondrop: null, drop_opts: { activeClass: "ui-state-active", hoverClass: "ui-state-hover" }, drag_opts: { revert: "invalid", helper: "clone", cursor: "move", appendTo: "#jqgrid_dnd", zIndex: 5E3 }, dragcopy: !1, dropbyname: !1, droppos: "first", autoid: !0, autoidprefix: "dnd_" }, a || {}), a.connectWith) for (a.connectWith = a.connectWith.split(","), a.connectWith = b.map(a.connectWith, function (a) { return b.trim(a) }), b.data(c, "dnd", a), 0 === c.p.reccount || c.p.jqgdnd || d(), c.p.jqgdnd = !0, e = 0; e < a.connectWith.length; e++) g = a.connectWith[e], b(g).droppable(b.isFunction(a.drop) ? a.drop.call(b(c), a) : a.drop) }) }, gridResize: function (a) { return this.each(function () { var d = this, c = b.jgrid.jqID(d.p.id); d.grid && b.fn.resizable && (a = b.extend({}, a || {}), a.alsoResize ? (a._alsoResize_ = a.alsoResize, delete a.alsoResize) : a._alsoResize_ = !1, a.stop && b.isFunction(a.stop) ? (a._stop_ = a.stop, delete a.stop) : a._stop_ = !1, a.stop = function (e, g) { b(d).jqGrid("setGridParam", { height: b("#gview_" + c + " .ui-jqgrid-bdiv").height() }); b(d).jqGrid("setGridWidth", g.size.width, a.shrinkToFit); a._stop_ && a._stop_.call(d, e, g) }, a.alsoResize = a._alsoResize_ ? eval("(" + ("{'#gview_" + c + " .ui-jqgrid-bdiv':true,'" + a._alsoResize_ + "':true}") + ")") : b(".ui-jqgrid-bdiv", "#gview_" + c), delete a._alsoResize_, b("#gbox_" + c).resizable(a)) }) } }) })(jQuery);