Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/**
* jqGrid extension for SubGrid Data
* Tony Tomov [email protected]
* http://trirand.com/blog/
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl-2.0.html
**/
(function (a) {
a.jgrid.extend({setSubGrid: function () {
return this.each(function () {
var e = this, b, d, c = {plusicon: "ui-icon-plus", minusicon: "ui-icon-minus", openicon: "ui-icon-carat-1-sw", expandOnLoad: false, delayOnLoad: 50, selectOnExpand: false, selectOnCollapse: false, reloadOnExpand: true};
e.p.subGridOptions = a.extend(c, e.p.subGridOptions || {});
e.p.colNames.unshift("");
e.p.colModel.unshift({name: "subgrid", width: a.jgrid.cell_width ? e.p.subGridWidth + e.p.cellLayout : e.p.subGridWidth, sortable: false, resizable: false, hidedlg: true, search: false, fixed: true});
b = e.p.subGridModel;
if (b[0]) {
b[0].align = a.extend([], b[0].align || []);
for (d = 0; d < b[0].name.length; d++) {
b[0].align[d] = b[0].align[d] || "left"
}
}
})
}, addSubGridCell: function (f, e) {
var d = "", b, c;
this.each(function () {
d = this.formatCol(f, e);
c = this.p.id;
b = this.p.subGridOptions.plusicon
});
return'
"
}, addSubGrid: function (c, b) {
return this.each(function () {
var n = this;
if (!n.grid) {
return
}
var f = function (r, i, t) {
var s = a("
").html(i);
a(r).append(s)
};
var e = function (s, y) {
var x, v, u, w = a("
"), r = a("
");
for (v = 0; v < n.p.subGridModel[0].name.length; v++) {
x = a("
");
a(x).html(n.p.subGridModel[0].name[v]);
a(x).width(n.p.subGridModel[0].width[v]);
a(r).append(x)
}
a(w).append(r);
if (s) {
u = n.p.xmlReader.subgrid;
a(u.root + " " + u.row, s).each(function () {
r = a("
");
if (u.repeatitems === true) {
a(u.cell, this).each(function (z) {
f(r, a(this).text() || " ", z)
})
} else {
var i = n.p.subGridModel[0].mapping || n.p.subGridModel[0].name;
if (i) {
for (v = 0; v < i.length; v++) {
f(r, a(i[v], this).text() || " ", v)
}
}
}
a(w).append(r)
})
}
var t = a("table:first", n.grid.bDiv).attr("id") + "_";
a("#" + a.jgrid.jqID(t + y)).append(w);
n.grid.hDiv.loading = false;
a("#load_" + a.jgrid.jqID(n.p.id)).hide();
return false
};
var g = function (y, v) {
var A, C, w, z, r, u, t = a("
"), s = a("
");
for (w = 0; w < n.p.subGridModel[0].name.length; w++) {
A = a("
");
a(A).html(n.p.subGridModel[0].name[w]);
a(A).width(n.p.subGridModel[0].width[w]);
a(s).append(A)
}
a(t).append(s);
if (y) {
r = n.p.jsonReader.subgrid;
C = a.jgrid.getAccessor(y, r.root);
if (C !== undefined) {
for (w = 0; w < C.length; w++) {
z = C[w];
s = a("
");
if (r.repeatitems === true) {
if (r.cell) {
z = z[r.cell]
}
for (u = 0; u < z.length; u++) {
f(s, z[u] || " ", u)
}
} else {
var x = n.p.subGridModel[0].mapping || n.p.subGridModel[0].name;
if (x.length) {
for (u = 0; u < x.length; u++) {
f(s, z[x[u]] || " ", u)
}
}
}
a(t).append(s)
}
}
}
var B = a("table:first", n.grid.bDiv).attr("id") + "_";
a("#" + a.jgrid.jqID(B + v)).append(t);
n.grid.hDiv.loading = false;
a("#load_" + a.jgrid.jqID(n.p.id)).hide();
return false
};
var o = function (u) {
var r, v, t, s;
r = a(u).attr("id");
v = {nd_: (new Date().getTime())};
v[n.p.prmNames.subgridid] = r;
if (!n.p.subGridModel[0]) {
return false
}
if (n.p.subGridModel[0].params) {
for (s = 0; s < n.p.subGridModel[0].params.length; s++) {
for (t = 0; t < n.p.colModel.length; t++) {
if (n.p.colModel[t].name === n.p.subGridModel[0].params[s]) {
v[n.p.colModel[t].name] = a("td:eq(" + t + ")", u).text().replace(/\ \;/ig, "")
}
}
}
}
if (!n.grid.hDiv.loading) {
n.grid.hDiv.loading = true;
a("#load_" + a.jgrid.jqID(n.p.id)).show();
if (!n.p.subgridtype) {
n.p.subgridtype = n.p.datatype
}
if (a.isFunction(n.p.subgridtype)) {
n.p.subgridtype.call(n, v)
} else {
n.p.subgridtype = n.p.subgridtype.toLowerCase()
}
switch (n.p.subgridtype) {
case"xml":
case"json":
a.ajax(a.extend({type: n.p.mtype, url: n.p.subGridUrl, dataType: n.p.subgridtype, data: a.isFunction(n.p.serializeSubGridData) ? n.p.serializeSubGridData.call(n, v) : v, complete: function (i) {
if (n.p.subgridtype === "xml") {
e(i.responseXML, r)
} else {
g(a.jgrid.parse(i.responseText), r)
}
i = null
}}, a.jgrid.ajaxOptions, n.p.ajaxSubgridOptions || {}));
break
}
}
return false
};
var p, q, j, l = 0, h, d;
a.each(n.p.colModel, function () {
if (this.hidden === true || this.name === "rn" || this.name === "cb") {
l++
}
});
var m = n.rows.length, k = 1;
if (b !== undefined && b > 0) {
k = b;
m = b + 1
}
while (k < m) {
if (a(n.rows[k]).hasClass("jqgrow")) {
a(n.rows[k].cells[c]).bind("click", function () {
var i = a(this).parent("tr")[0];
d = i.nextSibling;
if (a(this).hasClass("sgcollapsed")) {
q = n.p.id;
p = i.id;
if (n.p.subGridOptions.reloadOnExpand === true || (n.p.subGridOptions.reloadOnExpand === false && !a(d).hasClass("ui-subgrid"))) {
j = c >= 1 ? "
" : "";
h = a(n).triggerHandler("jqGridSubGridBeforeExpand", [q + "_" + p, p]);
h = (h === false || h === "stop") ? false : true;
if (h && a.isFunction(n.p.subGridBeforeExpand)) {
h = n.p.subGridBeforeExpand.call(n, q + "_" + p, p)
}
if (h === false) {
return false
}
a(i).after("
" + j + "
");
a(n).triggerHandler("jqGridSubGridRowExpanded", [q + "_" + p, p]);
if (a.isFunction(n.p.subGridRowExpanded)) {
n.p.subGridRowExpanded.call(n, q + "_" + p, p)
} else {
o(i)
}
} else {
a(d).show()
}
a(this).html("").removeClass("sgcollapsed").addClass("sgexpanded");
if (n.p.subGridOptions.selectOnExpand) {
a(n).jqGrid("setSelection", p)
}
} else {
if (a(this).hasClass("sgexpanded")) {
h = a(n).triggerHandler("jqGridSubGridRowColapsed", [q + "_" + p, p]);
h = (h === false || h === "stop") ? false : true;
p = i.id;
if (h && a.isFunction(n.p.subGridRowColapsed)) {
h = n.p.subGridRowColapsed.call(n, q + "_" + p, p)
}
if (h === false) {
return false
}
if (n.p.subGridOptions.reloadOnExpand === true) {
a(d).remove(".ui-subgrid")
} else {
if (a(d).hasClass("ui-subgrid")) {
a(d).hide()
}
}
a(this).html("").removeClass("sgexpanded").addClass("sgcollapsed");
if (n.p.subGridOptions.selectOnCollapse) {
a(n).jqGrid("setSelection", p)
}
}
}
return false
})
}
k++
}
if (n.p.subGridOptions.expandOnLoad === true) {
a(n.rows).filter(".jqgrow").each(function (i, r) {
a(r.cells[0]).click()
})
}
n.subGridXml = function (r, i) {
e(r, i)
};
n.subGridJson = function (r, i) {
g(r, i)
}
})
}, expandSubGridRow: function (b) {
return this.each(function () {
var e = this;
if (!e.grid && !b) {
return
}
if (e.p.subGrid === true) {
var c = a(this).jqGrid("getInd", b, true);
if (c) {
var d = a("td.sgcollapsed", c)[0];
if (d) {
a(d).trigger("click")
}
}
}
})
}, collapseSubGridRow: function (b) {
return this.each(function () {
var e = this;
if (!e.grid && !b) {
return
}
if (e.p.subGrid === true) {
var c = a(this).jqGrid("getInd", b, true);
if (c) {
var d = a("td.sgexpanded", c)[0];
if (d) {
a(d).trigger("click")
}
}
}
})
}, toggleSubGridRow: function (b) {
return this.each(function () {
var e = this;
if (!e.grid && !b) {
return
}
if (e.p.subGrid === true) {
var c = a(this).jqGrid("getInd", b, true);
if (c) {
var d = a("td.sgcollapsed", c)[0];
if (d) {
a(d).trigger("click")
} else {
d = a("td.sgexpanded", c)[0];
if (d) {
a(d).trigger("click")
}
}
}
}
})
}})
})(jQuery);