2679 lines
102 KiB
JavaScript
2679 lines
102 KiB
JavaScript
/**
|
||
* jQuery EasyUI 1.3.3
|
||
*
|
||
* Copyright (c) 2009-2013 www.jeasyui.com. All rights reserved.
|
||
*
|
||
* Licensed under the GPL or commercial licenses
|
||
* To use it on other terms please contact us: info@jeasyui.com
|
||
* http://www.gnu.org/licenses/gpl.txt
|
||
* http://www.jeasyui.com/license_commercial.php
|
||
*
|
||
*/
|
||
(function ($) {
|
||
var _1 = 0;
|
||
function _2(a, o) {
|
||
for (var i = 0, _3 = a.length; i < _3; i++) {
|
||
if (a[i] == o) {
|
||
return i;
|
||
}
|
||
}
|
||
return -1;
|
||
};
|
||
function _4(a, o, id) {
|
||
if (typeof o == "string") {
|
||
for (var i = 0, _5 = a.length; i < _5; i++) {
|
||
if (a[i][o] == id) {
|
||
a.splice(i, 1);
|
||
return;
|
||
}
|
||
}
|
||
} else {
|
||
var _6 = _2(a, o);
|
||
if (_6 != -1) {
|
||
a.splice(_6, 1);
|
||
}
|
||
}
|
||
};
|
||
function _7(a, o, r) {
|
||
for (var i = 0, _8 = a.length; i < _8; i++) {
|
||
if (a[i][o] == r[o]) {
|
||
return;
|
||
}
|
||
}
|
||
a.push(r);
|
||
};
|
||
function _9(_a) {
|
||
var cc = _a || $("head");
|
||
var _b = $.data(cc[0], "ss");
|
||
if (!_b) {
|
||
_b = $.data(cc[0], "ss", {
|
||
cache: {},
|
||
dirty: []
|
||
});
|
||
}
|
||
return {
|
||
add: function (_c) {
|
||
var ss = ["<style type=\"text/css\">"];
|
||
for (var i = 0; i < _c.length; i++) {
|
||
_b.cache[_c[i][0]] = {
|
||
width: _c[i][1]
|
||
};
|
||
}
|
||
var _d = 0;
|
||
for (var s in _b.cache) {
|
||
var _e = _b.cache[s];
|
||
_e.index = _d++;
|
||
ss.push(s + "{width:" + _e.width + "}");
|
||
}
|
||
ss.push("</style>");
|
||
$(ss.join("\n")).appendTo(cc);
|
||
setTimeout(function () {
|
||
cc.children("style:not(:last)").remove();
|
||
}, 0);
|
||
},
|
||
getRule: function (_f) {
|
||
var _10 = cc.children("style:last")[0];
|
||
var _11 = _10.styleSheet ? _10.styleSheet : (_10.sheet || document.styleSheets[document.styleSheets.length - 1]);
|
||
var _12 = _11.cssRules || _11.rules;
|
||
return _12[_f];
|
||
},
|
||
set: function (_13, _14) {
|
||
var _15 = _b.cache[_13];
|
||
if (_15) {
|
||
_15.width = _14;
|
||
var _16 = this.getRule(_15.index);
|
||
if (_16) {
|
||
_16.style["width"] = _14;
|
||
}
|
||
}
|
||
},
|
||
remove: function (_17) {
|
||
var tmp = [];
|
||
for (var s in _b.cache) {
|
||
if (s.indexOf(_17) == -1) {
|
||
tmp.push([s, _b.cache[s].width]);
|
||
}
|
||
}
|
||
_b.cache = {};
|
||
this.add(tmp);
|
||
},
|
||
dirty: function (_18) {
|
||
if (_18) {
|
||
_b.dirty.push(_18);
|
||
}
|
||
},
|
||
clean: function () {
|
||
for (var i = 0; i < _b.dirty.length; i++) {
|
||
this.remove(_b.dirty[i]);
|
||
}
|
||
_b.dirty = [];
|
||
}
|
||
};
|
||
};
|
||
function _19(_1a, _1b) {
|
||
var _1c = $.data(_1a, "datagrid").options;
|
||
var _1d = $.data(_1a, "datagrid").panel;
|
||
if (_1b) {
|
||
if (_1b.width) {
|
||
_1c.width = _1b.width;
|
||
}
|
||
if (_1b.height) {
|
||
_1c.height = _1b.height;
|
||
}
|
||
}
|
||
if (_1c.fit == true) {
|
||
var p = _1d.panel("panel").parent();
|
||
_1c.width = p.width();
|
||
_1c.height = p.height();
|
||
}
|
||
_1d.panel("resize", {
|
||
width: _1c.width,
|
||
height: _1c.height
|
||
});
|
||
};
|
||
function _1e(_1f) {
|
||
var _20 = $.data(_1f, "datagrid").options;
|
||
var dc = $.data(_1f, "datagrid").dc;
|
||
var _21 = $.data(_1f, "datagrid").panel;
|
||
var _22 = _21.width();
|
||
var _23 = _21.height();
|
||
var _24 = dc.view;
|
||
var _25 = dc.view1;
|
||
var _26 = dc.view2;
|
||
var _27 = _25.children("div.datagrid-header");
|
||
var _28 = _26.children("div.datagrid-header");
|
||
var _29 = _27.find("table");
|
||
var _2a = _28.find("table");
|
||
_24.width(_22);
|
||
var _2b = _27.children("div.datagrid-header-inner").show();
|
||
_25.width(_2b.find("table").width());
|
||
if (!_20.showHeader) {
|
||
_2b.hide();
|
||
}
|
||
_26.width(_22 - _25._outerWidth());
|
||
_25.children("div.datagrid-header,div.datagrid-body,div.datagrid-footer").width(_25.width());
|
||
_26.children("div.datagrid-header,div.datagrid-body,div.datagrid-footer").width(_26.width());
|
||
var hh;
|
||
_27.css("height", "");
|
||
_28.css("height", "");
|
||
_29.css("height", "");
|
||
_2a.css("height", "");
|
||
hh = Math.max(_29.height(), _2a.height());
|
||
_29.height(hh);
|
||
_2a.height(hh);
|
||
_27.add(_28)._outerHeight(hh);
|
||
if (_20.height != "auto") {
|
||
var _2c = _23 - _26.children("div.datagrid-header")._outerHeight() - _26.children("div.datagrid-footer")._outerHeight() - _21.children("div.datagrid-toolbar")._outerHeight();
|
||
_21.children("div.datagrid-pager").each(function () {
|
||
_2c -= $(this)._outerHeight();
|
||
});
|
||
dc.body1.add(dc.body2).children("table.datagrid-btable-frozen").css({
|
||
position: "absolute",
|
||
top: dc.header2._outerHeight()
|
||
});
|
||
var _2d = dc.body2.children("table.datagrid-btable-frozen")._outerHeight();
|
||
_25.add(_26).children("div.datagrid-body").css({
|
||
marginTop: _2d,
|
||
height: (_2c - _2d)
|
||
});
|
||
}
|
||
_24.height(_26.height());
|
||
};
|
||
function _2e(_2f, _30, _31) {
|
||
var _32 = $.data(_2f, "datagrid").data.rows;
|
||
var _33 = $.data(_2f, "datagrid").options;
|
||
var dc = $.data(_2f, "datagrid").dc;
|
||
if (!dc.body1.is(":empty") && (!_33.nowrap || _33.autoRowHeight || _31)) {
|
||
if (_30 != undefined) {
|
||
var tr1 = _33.finder.getTr(_2f, _30, "body", 1);
|
||
var tr2 = _33.finder.getTr(_2f, _30, "body", 2);
|
||
_34(tr1, tr2);
|
||
} else {
|
||
var tr1 = _33.finder.getTr(_2f, 0, "allbody", 1);
|
||
var tr2 = _33.finder.getTr(_2f, 0, "allbody", 2);
|
||
_34(tr1, tr2);
|
||
if (_33.showFooter) {
|
||
var tr1 = _33.finder.getTr(_2f, 0, "allfooter", 1);
|
||
var tr2 = _33.finder.getTr(_2f, 0, "allfooter", 2);
|
||
_34(tr1, tr2);
|
||
}
|
||
}
|
||
}
|
||
_1e(_2f);
|
||
if (_33.height == "auto") {
|
||
var _35 = dc.body1.parent();
|
||
var _36 = dc.body2;
|
||
var _37 = _38(_36);
|
||
var _39 = _37.height;
|
||
if (_37.width > _36.width()) {
|
||
_39 += 18;
|
||
}
|
||
_35.height(_39);
|
||
_36.height(_39);
|
||
dc.view.height(dc.view2.height());
|
||
}
|
||
dc.body2.triggerHandler("scroll");
|
||
function _34(_3a, _3b) {
|
||
for (var i = 0; i < _3b.length; i++) {
|
||
var tr1 = $(_3a[i]);
|
||
var tr2 = $(_3b[i]);
|
||
tr1.css("height", "");
|
||
tr2.css("height", "");
|
||
var _3c = Math.max(tr1.height(), tr2.height());
|
||
tr1.css("height", _3c);
|
||
tr2.css("height", _3c);
|
||
}
|
||
};
|
||
function _38(cc) {
|
||
var _3d = 0;
|
||
var _3e = 0;
|
||
$(cc).children().each(function () {
|
||
var c = $(this);
|
||
if (c.is(":visible")) {
|
||
_3e += c._outerHeight();
|
||
if (_3d < c._outerWidth()) {
|
||
_3d = c._outerWidth();
|
||
}
|
||
}
|
||
});
|
||
return {
|
||
width: _3d,
|
||
height: _3e
|
||
};
|
||
};
|
||
};
|
||
function _3f(_40, _41) {
|
||
var _42 = $.data(_40, "datagrid");
|
||
var _43 = _42.options;
|
||
var dc = _42.dc;
|
||
if (!dc.body2.children("table.datagrid-btable-frozen").length) {
|
||
dc.body1.add(dc.body2).prepend("<table class=\"datagrid-btable datagrid-btable-frozen\" cellspacing=\"0\" cellpadding=\"0\"></table>");
|
||
}
|
||
_44(true);
|
||
_44(false);
|
||
_1e(_40);
|
||
function _44(_45) {
|
||
var _46 = _45 ? 1 : 2;
|
||
var tr = _43.finder.getTr(_40, _41, "body", _46);
|
||
(_45 ? dc.body1 : dc.body2).children("table.datagrid-btable-frozen").append(tr);
|
||
};
|
||
};
|
||
function _47(_48, _49) {
|
||
function _4a() {
|
||
var _4b = [];
|
||
var _4c = [];
|
||
$(_48).children("thead").each(function () {
|
||
var opt = $.parser.parseOptions(this, [{
|
||
frozen: "boolean"
|
||
}
|
||
]);
|
||
$(this).find("tr").each(function () {
|
||
var _4d = [];
|
||
$(this).find("th").each(function () {
|
||
var th = $(this);
|
||
var col = $.extend({}, $.parser.parseOptions(this, ["field", "align", "halign", "order", {
|
||
sortable: "boolean",
|
||
checkbox: "boolean",
|
||
resizable: "boolean",
|
||
fixed: "boolean"
|
||
}, {
|
||
rowspan: "number",
|
||
colspan: "number",
|
||
width: "number"
|
||
}
|
||
]), {
|
||
title: (th.html() || undefined),
|
||
hidden: (th.attr("hidden") ? true : undefined),
|
||
formatter: (th.attr("formatter") ? eval(th.attr("formatter")) : undefined),
|
||
styler: (th.attr("styler") ? eval(th.attr("styler")) : undefined),
|
||
sorter: (th.attr("sorter") ? eval(th.attr("sorter")) : undefined)
|
||
});
|
||
if (th.attr("editor")) {
|
||
var s = $.trim(th.attr("editor"));
|
||
if (s.substr(0, 1) == "{") {
|
||
col.editor = eval("(" + s + ")");
|
||
} else {
|
||
col.editor = s;
|
||
}
|
||
}
|
||
_4d.push(col);
|
||
});
|
||
opt.frozen ? _4b.push(_4d) : _4c.push(_4d);
|
||
});
|
||
});
|
||
return [_4b, _4c];
|
||
};
|
||
var _4e = $("<div class=\"datagrid-wrap\">" + "<div class=\"datagrid-view\">" + "<div class=\"datagrid-view1\">" + "<div class=\"datagrid-header\">" + "<div class=\"datagrid-header-inner\"></div>" + "</div>" + "<div class=\"datagrid-body\">" + "<div class=\"datagrid-body-inner\"></div>" + "</div>" + "<div class=\"datagrid-footer\">" + "<div class=\"datagrid-footer-inner\"></div>" + "</div>" + "</div>" + "<div class=\"datagrid-view2\">" + "<div class=\"datagrid-header\">" + "<div class=\"datagrid-header-inner\"></div>" + "</div>" + "<div class=\"datagrid-body\"></div>" + "<div class=\"datagrid-footer\">" + "<div class=\"datagrid-footer-inner\"></div>" + "</div>" + "</div>" + "</div>" + "</div>").insertAfter(_48);
|
||
_4e.panel({
|
||
doSize: false
|
||
});
|
||
_4e.panel("panel").addClass("datagrid").bind("_resize", function (e, _4f) {
|
||
var _50 = $.data(_48, "datagrid").options;
|
||
if (_50.fit == true || _4f) {
|
||
_19(_48);
|
||
setTimeout(function () {
|
||
if ($.data(_48, "datagrid")) {
|
||
_51(_48);
|
||
}
|
||
}, 0);
|
||
}
|
||
return false;
|
||
});
|
||
$(_48).hide().appendTo(_4e.children("div.datagrid-view"));
|
||
var cc = _4a();
|
||
var _52 = _4e.children("div.datagrid-view");
|
||
var _53 = _52.children("div.datagrid-view1");
|
||
var _54 = _52.children("div.datagrid-view2");
|
||
var _55 = _4e.closest("div.datagrid-view");
|
||
if (!_55.length) {
|
||
_55 = _52;
|
||
}
|
||
var ss = _9(_55);
|
||
return {
|
||
panel: _4e,
|
||
frozenColumns: cc[0],
|
||
columns: cc[1],
|
||
dc: {
|
||
view: _52,
|
||
view1: _53,
|
||
view2: _54,
|
||
header1: _53.children("div.datagrid-header").children("div.datagrid-header-inner"),
|
||
header2: _54.children("div.datagrid-header").children("div.datagrid-header-inner"),
|
||
body1: _53.children("div.datagrid-body").children("div.datagrid-body-inner"),
|
||
body2: _54.children("div.datagrid-body"),
|
||
footer1: _53.children("div.datagrid-footer").children("div.datagrid-footer-inner"),
|
||
footer2: _54.children("div.datagrid-footer").children("div.datagrid-footer-inner")
|
||
},
|
||
ss: ss
|
||
};
|
||
};
|
||
function _56(_57) {
|
||
var _58 = $.data(_57, "datagrid");
|
||
var _59 = _58.options;
|
||
var dc = _58.dc;
|
||
var _5a = _58.panel;
|
||
_5a.panel($.extend({}, _59, {
|
||
id: null,
|
||
doSize: false,
|
||
onResize: function (_5b, _5c) {
|
||
setTimeout(function () {
|
||
if ($.data(_57, "datagrid")) {
|
||
_1e(_57);
|
||
_87(_57);
|
||
_59.onResize.call(_5a, _5b, _5c);
|
||
}
|
||
}, 0);
|
||
},
|
||
onExpand: function () {
|
||
_2e(_57);
|
||
_59.onExpand.call(_5a);
|
||
}
|
||
}));
|
||
_58.rowIdPrefix = "datagrid-row-r" + (++_1);
|
||
_58.cellClassPrefix = "datagrid-cell-c" + _1;
|
||
_5d(dc.header1, _59.frozenColumns, true);
|
||
_5d(dc.header2, _59.columns, false);
|
||
_5e();
|
||
dc.header1.add(dc.header2).css("display", _59.showHeader ? "block" : "none");
|
||
dc.footer1.add(dc.footer2).css("display", _59.showFooter ? "block" : "none");
|
||
if (_59.toolbar) {
|
||
if (typeof _59.toolbar == "string") {
|
||
$(_59.toolbar).addClass("datagrid-toolbar").prependTo(_5a);
|
||
$(_59.toolbar).show();
|
||
} else {
|
||
$("div.datagrid-toolbar", _5a).remove();
|
||
var tb = $("<div class=\"datagrid-toolbar\"><table cellspacing=\"0\" cellpadding=\"0\"><tr></tr></table></div>").prependTo(_5a);
|
||
var tr = tb.find("tr");
|
||
for (var i = 0; i < _59.toolbar.length; i++) {
|
||
var btn = _59.toolbar[i];
|
||
if (btn == "-") {
|
||
$("<td><div class=\"datagrid-btn-separator\"></div></td>").appendTo(tr);
|
||
} else {
|
||
var td = $("<td></td>").appendTo(tr);
|
||
var _5f = $("<a href=\"javascript:void(0)\"></a>").appendTo(td);
|
||
_5f[0].onclick = eval(btn.handler || function () { });
|
||
_5f.linkbutton($.extend({}, btn, {
|
||
plain: true
|
||
}));
|
||
}
|
||
}
|
||
}
|
||
} else {
|
||
$("div.datagrid-toolbar", _5a).remove();
|
||
}
|
||
$("div.datagrid-pager", _5a).remove();
|
||
if (_59.pagination) {
|
||
var _60 = $("<div class=\"datagrid-pager\"></div>");
|
||
if (_59.pagePosition == "bottom") {
|
||
_60.appendTo(_5a);
|
||
} else {
|
||
if (_59.pagePosition == "top") {
|
||
_60.addClass("datagrid-pager-top").prependTo(_5a);
|
||
} else {
|
||
var _61 = $("<div class=\"datagrid-pager datagrid-pager-top\"></div>").prependTo(_5a);
|
||
_60.appendTo(_5a);
|
||
_60 = _60.add(_61);
|
||
}
|
||
}
|
||
_60.pagination({
|
||
total: 0,
|
||
pageNumber: _59.pageNumber,
|
||
pageSize: _59.pageSize,
|
||
pageList: _59.pageList,
|
||
onSelectPage: function (_62, _63) {
|
||
_59.pageNumber = _62;
|
||
_59.pageSize = _63;
|
||
_60.pagination("refresh", {
|
||
pageNumber: _62,
|
||
pageSize: _63
|
||
});
|
||
_160(_57);
|
||
}
|
||
});
|
||
_59.pageSize = _60.pagination("options").pageSize;
|
||
}
|
||
function _5d(_64, _65, _66) {
|
||
if (!_65) {
|
||
return;
|
||
}
|
||
$(_64).show();
|
||
$(_64).empty();
|
||
var t = $("<table class=\"datagrid-htable\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tbody></tbody></table>").appendTo(_64);
|
||
for (var i = 0; i < _65.length; i++) {
|
||
var tr = $("<tr class=\"datagrid-header-row\"></tr>").appendTo($("tbody", t));
|
||
var _67 = _65[i];
|
||
for (var j = 0; j < _67.length; j++) {
|
||
var col = _67[j];
|
||
var _68 = "";
|
||
if (col.rowspan) {
|
||
_68 += "rowspan=\"" + col.rowspan + "\" ";
|
||
}
|
||
if (col.colspan) {
|
||
_68 += "colspan=\"" + col.colspan + "\" ";
|
||
}
|
||
var td = $("<td " + _68 + "></td>").appendTo(tr);
|
||
if (col.checkbox) {
|
||
td.attr("field", col.field);
|
||
$("<div class=\"datagrid-header-check\"></div>").html("<input type=\"checkbox\"/>").appendTo(td);
|
||
} else {
|
||
if (col.field) {
|
||
td.attr("field", col.field);
|
||
td.append("<div class=\"datagrid-cell\"><span></span><span class=\"datagrid-sort-icon\"></span></div>");
|
||
$("span", td).html(col.title);
|
||
$("span.datagrid-sort-icon", td).html(" ");
|
||
var _69 = td.find("div.datagrid-cell");
|
||
if (_59.sortName == col.field) {
|
||
_69.addClass("datagrid-sort-" + _59.sortOrder);
|
||
}
|
||
if (col.resizable == false) {
|
||
_69.attr("resizable", "false");
|
||
}
|
||
if (col.width) {
|
||
_69._outerWidth(col.width);
|
||
col.boxWidth = parseInt(_69[0].style.width);
|
||
} else {
|
||
col.auto = true;
|
||
}
|
||
_69.css("text-align", (col.halign || col.align || ""));
|
||
col.cellClass = _58.cellClassPrefix + "-" + col.field.replace(/[\.|\s]/g, "-");
|
||
} else {
|
||
$("<div class=\"datagrid-cell-group\"></div>").html(col.title).appendTo(td);
|
||
}
|
||
}
|
||
if (col.hidden) {
|
||
td.hide();
|
||
}
|
||
}
|
||
}
|
||
if (_66 && _59.rownumbers) {
|
||
var td = $("<td rowspan=\"" + _59.frozenColumns.length + "\"><div class=\"datagrid-header-rownumber\"></div></td>");
|
||
if ($("tr", t).length == 0) {
|
||
td.wrap("<tr class=\"datagrid-header-row\"></tr>").parent().appendTo($("tbody", t));
|
||
} else {
|
||
td.prependTo($("tr:first", t));
|
||
}
|
||
}
|
||
};
|
||
function _5e() {
|
||
var _6a = [];
|
||
var _6b = _6c(_57, true).concat(_6c(_57));
|
||
for (var i = 0; i < _6b.length; i++) {
|
||
var col = _6d(_57, _6b[i]);
|
||
if (col && !col.checkbox) {
|
||
_6a.push(["." + col.cellClass, col.boxWidth ? col.boxWidth + "px" : "auto"]);
|
||
}
|
||
}
|
||
_58.ss.add(_6a);
|
||
_58.ss.dirty(_58.cellSelectorPrefix);
|
||
_58.cellSelectorPrefix = "." + _58.cellClassPrefix;
|
||
};
|
||
};
|
||
function _6e(_6f) {
|
||
var _70 = $.data(_6f, "datagrid");
|
||
var _71 = _70.panel;
|
||
var _72 = _70.options;
|
||
var dc = _70.dc;
|
||
var _73 = dc.header1.add(dc.header2);
|
||
_73.find("input[type=checkbox]").unbind(".datagrid").bind("click.datagrid", function (e) {
|
||
if (_72.singleSelect && _72.selectOnCheck) {
|
||
return false;
|
||
}
|
||
if ($(this).is(":checked")) {
|
||
_checkAll(_6f);
|
||
} else {
|
||
_uncheckAll(_6f);
|
||
}
|
||
e.stopPropagation();
|
||
});
|
||
var _74 = _73.find("div.datagrid-cell");
|
||
_74.closest("td").unbind(".datagrid").bind("mouseenter.datagrid", function () {
|
||
if (_70.resizing) {
|
||
return;
|
||
}
|
||
$(this).addClass("datagrid-header-over");
|
||
}).bind("mouseleave.datagrid", function () {
|
||
$(this).removeClass("datagrid-header-over");
|
||
}).bind("contextmenu.datagrid", function (e) {
|
||
var _75 = $(this).attr("field");
|
||
_72.onHeaderContextMenu.call(_6f, e, _75);
|
||
});
|
||
_74.unbind(".datagrid").bind("click.datagrid", function (e) {
|
||
var p1 = $(this).offset().left + 5;
|
||
var p2 = $(this).offset().left + $(this)._outerWidth() - 5;
|
||
if (e.pageX < p2 && e.pageX > p1) {
|
||
var _76 = $(this).parent().attr("field");
|
||
var col = _6d(_6f, _76);
|
||
if (!col.sortable || _70.resizing) {
|
||
return;
|
||
}
|
||
_72.sortName = _76;
|
||
_72.sortOrder = col.order || "asc";
|
||
var cls = "datagrid-sort-" + _72.sortOrder;
|
||
if ($(this).hasClass("datagrid-sort-asc")) {
|
||
cls = "datagrid-sort-desc";
|
||
_72.sortOrder = "desc";
|
||
} else {
|
||
if ($(this).hasClass("datagrid-sort-desc")) {
|
||
cls = "datagrid-sort-asc";
|
||
_72.sortOrder = "asc";
|
||
}
|
||
}
|
||
_74.removeClass("datagrid-sort-asc datagrid-sort-desc");
|
||
$(this).addClass(cls);
|
||
if (_72.remoteSort) {
|
||
_160(_6f);
|
||
} else {
|
||
var _77 = $.data(_6f, "datagrid").data;
|
||
_bc(_6f, _77);
|
||
}
|
||
_72.onSortColumn.call(_6f, _72.sortName, _72.sortOrder);
|
||
}
|
||
}).bind("dblclick.datagrid", function (e) {
|
||
var p1 = $(this).offset().left + 5;
|
||
var p2 = $(this).offset().left + $(this)._outerWidth() - 5;
|
||
var _78 = _72.resizeHandle == "right" ? (e.pageX > p2) : (_72.resizeHandle == "left" ? (e.pageX < p1) : (e.pageX < p1 || e.pageX > p2));
|
||
if (_78) {
|
||
var _79 = $(this).parent().attr("field");
|
||
var col = _6d(_6f, _79);
|
||
if (col.resizable == false) {
|
||
return;
|
||
}
|
||
$(_6f).datagrid("autoSizeColumn", _79);
|
||
col.auto = false;
|
||
}
|
||
});
|
||
var _7a = _72.resizeHandle == "right" ? "e" : (_72.resizeHandle == "left" ? "w" : "e,w");
|
||
_74.each(function () {
|
||
$(this).resizable({
|
||
handles: _7a,
|
||
disabled: ($(this).attr("resizable") ? $(this).attr("resizable") == "false" : false),
|
||
minWidth: 25,
|
||
onStartResize: function (e) {
|
||
_70.resizing = true;
|
||
_73.css("cursor", $("body").css("cursor"));
|
||
if (!_70.proxy) {
|
||
_70.proxy = $("<div class=\"datagrid-resize-proxy\"></div>").appendTo(dc.view);
|
||
}
|
||
_70.proxy.css({
|
||
left: e.pageX - $(_71).offset().left - 1,
|
||
display: "none"
|
||
});
|
||
setTimeout(function () {
|
||
if (_70.proxy) {
|
||
_70.proxy.show();
|
||
}
|
||
}, 500);
|
||
},
|
||
onResize: function (e) {
|
||
_70.proxy.css({
|
||
left: e.pageX - $(_71).offset().left - 1,
|
||
display: "block"
|
||
});
|
||
return false;
|
||
},
|
||
onStopResize: function (e) {
|
||
_73.css("cursor", "");
|
||
$(this).css("height", "");
|
||
var _7b = $(this).parent().attr("field");
|
||
var col = _6d(_6f, _7b);
|
||
col.width = $(this)._outerWidth();
|
||
col.boxWidth = parseInt(this.style.width);
|
||
col.auto = undefined;
|
||
_51(_6f, _7b);
|
||
_70.proxy.remove();
|
||
_70.proxy = null;
|
||
if ($(this).parents("div:first.datagrid-header").parent().hasClass("datagrid-view1")) {
|
||
_1e(_6f);
|
||
}
|
||
_87(_6f);
|
||
_72.onResizeColumn.call(_6f, _7b, col.width);
|
||
setTimeout(function () {
|
||
_70.resizing = false;
|
||
}, 0);
|
||
}
|
||
});
|
||
});
|
||
dc.body1.add(dc.body2).unbind().bind("mouseover", function (e) {
|
||
if (_70.resizing) {
|
||
return;
|
||
}
|
||
var tr = $(e.target).closest("tr.datagrid-row");
|
||
if (!_7c(tr)) {
|
||
return;
|
||
}
|
||
var _7d = _7e(tr);
|
||
_de(_6f, _7d);
|
||
e.stopPropagation();
|
||
}).bind("mouseout", function (e) {
|
||
var tr = $(e.target).closest("tr.datagrid-row");
|
||
if (!_7c(tr)) {
|
||
return;
|
||
}
|
||
var _7f = _7e(tr);
|
||
_72.finder.getTr(_6f, _7f).removeClass("datagrid-row-over");
|
||
e.stopPropagation();
|
||
}).bind("click", function (e) {
|
||
var tt = $(e.target);
|
||
var tr = tt.closest("tr.datagrid-row");
|
||
if (!_7c(tr)) {
|
||
return;
|
||
}
|
||
var _80 = _7e(tr);
|
||
if (tt.parent().hasClass("datagrid-cell-check")) {
|
||
if (_72.singleSelect && _72.selectOnCheck) {
|
||
if (!_72.checkOnSelect) {
|
||
_uncheckAll(_6f, true);
|
||
}
|
||
_checkRow(_6f, _80);
|
||
} else {
|
||
if (tt.is(":checked")) {
|
||
_checkRow(_6f, _80);
|
||
} else {
|
||
_uncheckRow(_6f, _80);
|
||
}
|
||
}
|
||
} else {
|
||
var row = _72.finder.getRow(_6f, _80);
|
||
var td = tt.closest("td[field]", tr);
|
||
if (td.length) {
|
||
var _81 = td.attr("field");
|
||
_72.onClickCell.call(_6f, _80, _81, row[_81]);
|
||
}
|
||
if (_72.singleSelect == true) {
|
||
_selectRow(_6f, _80);
|
||
} else {
|
||
if (tr.hasClass("datagrid-row-selected")) {
|
||
_unselectRow(_6f, _80);
|
||
} else {
|
||
_selectRow(_6f, _80);
|
||
}
|
||
}
|
||
_72.onClickRow.call(_6f, _80, row);
|
||
}
|
||
e.stopPropagation();
|
||
}).bind("dblclick", function (e) {
|
||
var tt = $(e.target);
|
||
var tr = tt.closest("tr.datagrid-row");
|
||
if (!_7c(tr)) {
|
||
return;
|
||
}
|
||
var _82 = _7e(tr);
|
||
var row = _72.finder.getRow(_6f, _82);
|
||
var td = tt.closest("td[field]", tr);
|
||
if (td.length) {
|
||
var _83 = td.attr("field");
|
||
_72.onDblClickCell.call(_6f, _82, _83, row[_83]);
|
||
}
|
||
_72.onDblClickRow.call(_6f, _82, row);
|
||
e.stopPropagation();
|
||
}).bind("contextmenu", function (e) {
|
||
var tr = $(e.target).closest("tr.datagrid-row");
|
||
if (!_7c(tr)) {
|
||
return;
|
||
}
|
||
var _84 = _7e(tr);
|
||
var row = _72.finder.getRow(_6f, _84);
|
||
_72.onRowContextMenu.call(_6f, e, _84, row);
|
||
e.stopPropagation();
|
||
});
|
||
dc.body2.bind("scroll", function () {
|
||
var b1 = dc.view1.children("div.datagrid-body");
|
||
b1.scrollTop($(this).scrollTop());
|
||
var c1 = dc.body1.children(":first");
|
||
var c2 = dc.body2.children(":first");
|
||
if (c1.length && c2.length) {
|
||
var _85 = c1.offset().top;
|
||
var _86 = c2.offset().top;
|
||
if (_85 != _86) {
|
||
b1.scrollTop(b1.scrollTop() + _85 - _86);
|
||
}
|
||
}
|
||
dc.view2.children("div.datagrid-header,div.datagrid-footer")._scrollLeft($(this)._scrollLeft());
|
||
dc.body2.children("table.datagrid-btable-frozen").css("left", -$(this)._scrollLeft());
|
||
});
|
||
function _7e(tr) {
|
||
if (tr.attr("datagrid-row-index")) {
|
||
return parseInt(tr.attr("datagrid-row-index"));
|
||
} else {
|
||
return tr.attr("node-id");
|
||
}
|
||
};
|
||
function _7c(tr) {
|
||
return tr.length && tr.parent().length;
|
||
};
|
||
};
|
||
function _87(_88) {
|
||
var _89 = $.data(_88, "datagrid").options;
|
||
var dc = $.data(_88, "datagrid").dc;
|
||
dc.body2.css("overflow-x", _89.fitColumns ? "hidden" : "");
|
||
if (!_89.fitColumns) {
|
||
return;
|
||
}
|
||
var _8a = dc.view2.children("div.datagrid-header");
|
||
var _8b = 0;
|
||
var _8c;
|
||
var _8d = _6c(_88, false);
|
||
for (var i = 0; i < _8d.length; i++) {
|
||
var col = _6d(_88, _8d[i]);
|
||
if (_8e(col)) {
|
||
_8b += col.width;
|
||
_8c = col;
|
||
}
|
||
}
|
||
var _8f = _8a.children("div.datagrid-header-inner").show();
|
||
var _90 = _8a.width() - _8a.find("table").width() - _89.scrollbarSize;
|
||
var _91 = _90 / _8b;
|
||
if (!_89.showHeader) {
|
||
_8f.hide();
|
||
}
|
||
for (var i = 0; i < _8d.length; i++) {
|
||
var col = _6d(_88, _8d[i]);
|
||
if (_8e(col)) {
|
||
var _92 = Math.floor(col.width * _91);
|
||
_93(col, _92);
|
||
_90 -= _92;
|
||
}
|
||
}
|
||
if (_90 && _8c) {
|
||
_93(_8c, _90);
|
||
}
|
||
_51(_88);
|
||
function _93(col, _94) {
|
||
col.width += _94;
|
||
col.boxWidth += _94;
|
||
_8a.find("td[field=\"" + col.field + "\"] div.datagrid-cell").width(col.boxWidth);
|
||
};
|
||
function _8e(col) {
|
||
if (!col.hidden && !col.checkbox && !col.auto && !col.fixed) {
|
||
return true;
|
||
}
|
||
};
|
||
};
|
||
function _95(_96, _97) {
|
||
var _98 = $.data(_96, "datagrid").options;
|
||
var dc = $.data(_96, "datagrid").dc;
|
||
if (_97) {
|
||
_19(_97);
|
||
if (_98.fitColumns) {
|
||
_1e(_96);
|
||
_87(_96);
|
||
}
|
||
} else {
|
||
var _99 = false;
|
||
var _9a = _6c(_96, true).concat(_6c(_96, false));
|
||
for (var i = 0; i < _9a.length; i++) {
|
||
var _97 = _9a[i];
|
||
var col = _6d(_96, _97);
|
||
if (col.auto) {
|
||
_19(_97);
|
||
_99 = true;
|
||
}
|
||
}
|
||
if (_99 && _98.fitColumns) {
|
||
_1e(_96);
|
||
_87(_96);
|
||
}
|
||
}
|
||
function _19(_9b) {
|
||
var _9c = dc.view.find("div.datagrid-header td[field=\"" + _9b + "\"] div.datagrid-cell");
|
||
_9c.css("width", "");
|
||
var col = $(_96).datagrid("getColumnOption", _9b);
|
||
col.width = undefined;
|
||
col.boxWidth = undefined;
|
||
col.auto = true;
|
||
$(_96).datagrid("fixColumnSize", _9b);
|
||
var _9d = Math.max(_9c._outerWidth(), _9e("allbody"), _9e("allfooter"));
|
||
_9c._outerWidth(_9d);
|
||
col.width = _9d;
|
||
col.boxWidth = parseInt(_9c[0].style.width);
|
||
$(_96).datagrid("fixColumnSize", _9b);
|
||
_98.onResizeColumn.call(_96, _9b, col.width);
|
||
function _9e(_9f) {
|
||
var _a0 = 0;
|
||
_98.finder.getTr(_96, 0, _9f).find("td[field=\"" + _9b + "\"] div.datagrid-cell").each(function () {
|
||
var w = $(this)._outerWidth();
|
||
if (_a0 < w) {
|
||
_a0 = w;
|
||
}
|
||
});
|
||
return _a0;
|
||
};
|
||
};
|
||
};
|
||
function _51(_a1, _a2) {
|
||
var _a3 = $.data(_a1, "datagrid");
|
||
var _a4 = _a3.options;
|
||
var dc = _a3.dc;
|
||
var _a5 = dc.view.find("table.datagrid-btable,table.datagrid-ftable");
|
||
_a5.css("table-layout", "fixed");
|
||
if (_a2) {
|
||
fix(_a2);
|
||
} else {
|
||
var ff = _6c(_a1, true).concat(_6c(_a1, false));
|
||
for (var i = 0; i < ff.length; i++) {
|
||
fix(ff[i]);
|
||
}
|
||
}
|
||
_a5.css("table-layout", "auto");
|
||
_a6(_a1);
|
||
setTimeout(function () {
|
||
_2e(_a1);
|
||
_ab(_a1);
|
||
}, 0);
|
||
function fix(_a7) {
|
||
var col = _6d(_a1, _a7);
|
||
if (!col.checkbox) {
|
||
_a3.ss.set("." + col.cellClass, col.boxWidth ? col.boxWidth + "px" : "auto");
|
||
}
|
||
};
|
||
};
|
||
function _a6(_a8) {
|
||
var dc = $.data(_a8, "datagrid").dc;
|
||
dc.body1.add(dc.body2).find("td.datagrid-td-merged").each(function () {
|
||
var td = $(this);
|
||
var _a9 = td.attr("colspan") || 1;
|
||
var _aa = _6d(_a8, td.attr("field")).width;
|
||
for (var i = 1; i < _a9; i++) {
|
||
td = td.next();
|
||
_aa += _6d(_a8, td.attr("field")).width + 1;
|
||
}
|
||
$(this).children("div.datagrid-cell")._outerWidth(_aa);
|
||
});
|
||
};
|
||
function _ab(_ac) {
|
||
var dc = $.data(_ac, "datagrid").dc;
|
||
dc.view.find("div.datagrid-editable").each(function () {
|
||
var _ad = $(this);
|
||
var _ae = _ad.parent().attr("field");
|
||
var col = $(_ac).datagrid("getColumnOption", _ae);
|
||
_ad._outerWidth(col.width);
|
||
var ed = $.data(this, "datagrid.editor");
|
||
if (ed.actions.resize) {
|
||
ed.actions.resize(ed.target, _ad.width());
|
||
}
|
||
});
|
||
};
|
||
function _6d(_af, _b0) {
|
||
function _b1(_b2) {
|
||
if (_b2) {
|
||
for (var i = 0; i < _b2.length; i++) {
|
||
var cc = _b2[i];
|
||
for (var j = 0; j < cc.length; j++) {
|
||
var c = cc[j];
|
||
if (c.field == _b0) {
|
||
return c;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
return null;
|
||
};
|
||
var _b3 = $.data(_af, "datagrid").options;
|
||
var col = _b1(_b3.columns);
|
||
if (!col) {
|
||
col = _b1(_b3.frozenColumns);
|
||
}
|
||
return col;
|
||
};
|
||
function _6c(_b4, _b5) {
|
||
var _b6 = $.data(_b4, "datagrid").options;
|
||
var _b7 = (_b5 == true) ? (_b6.frozenColumns || [[]]) : _b6.columns;
|
||
if (_b7.length == 0) {
|
||
return [];
|
||
}
|
||
var _b8 = [];
|
||
function _b9(_ba) {
|
||
var c = 0;
|
||
var i = 0;
|
||
while (true) {
|
||
if (_b8[i] == undefined) {
|
||
if (c == _ba) {
|
||
return i;
|
||
}
|
||
c++;
|
||
}
|
||
i++;
|
||
}
|
||
};
|
||
function _bb(r) {
|
||
var ff = [];
|
||
var c = 0;
|
||
for (var i = 0; i < _b7[r].length; i++) {
|
||
var col = _b7[r][i];
|
||
if (col.field) {
|
||
ff.push([c, col.field]);
|
||
}
|
||
c += parseInt(col.colspan || "1");
|
||
}
|
||
for (var i = 0; i < ff.length; i++) {
|
||
ff[i][0] = _b9(ff[i][0]);
|
||
}
|
||
for (var i = 0; i < ff.length; i++) {
|
||
var f = ff[i];
|
||
_b8[f[0]] = f[1];
|
||
}
|
||
};
|
||
for (var i = 0; i < _b7.length; i++) {
|
||
_bb(i);
|
||
}
|
||
return _b8;
|
||
};
|
||
function _bc(_bd, _be) {
|
||
var _bf = $.data(_bd, "datagrid");
|
||
var _c0 = _bf.options;
|
||
var dc = _bf.dc;
|
||
//clear checkTrsBody1å’ŒcheckTrsBody2
|
||
_bf.checkedTrsBody1 = _bf.checkedTrsBody2 = undefined;
|
||
|
||
_be = _c0.loadFilter.call(_bd, _be);
|
||
_be.total = parseInt(_be.total);
|
||
_bf.data = _be;
|
||
if (_be.footer) {
|
||
_bf.footer = _be.footer;
|
||
}
|
||
if (!_c0.remoteSort) {
|
||
var opt = _6d(_bd, _c0.sortName);
|
||
if (opt) {
|
||
var _c1 = opt.sorter || function (a, b) {
|
||
return (a > b ? 1 : -1);
|
||
};
|
||
_be.rows.sort(function (r1, r2) {
|
||
return _c1(r1[_c0.sortName], r2[_c0.sortName]) * (_c0.sortOrder == "asc" ? 1 : -1);
|
||
});
|
||
}
|
||
}
|
||
if (_c0.view.onBeforeRender) {
|
||
_c0.view.onBeforeRender.call(_c0.view, _bd, _be.rows);
|
||
}
|
||
_c0.view.render.call(_c0.view, _bd, dc.body2, false);
|
||
_c0.view.render.call(_c0.view, _bd, dc.body1, true);
|
||
if (_c0.showFooter) {
|
||
_c0.view.renderFooter.call(_c0.view, _bd, dc.footer2, false);
|
||
_c0.view.renderFooter.call(_c0.view, _bd, dc.footer1, true);
|
||
}
|
||
if (_c0.view.onAfterRender) {
|
||
_c0.view.onAfterRender.call(_c0.view, _bd);
|
||
}
|
||
_bf.ss.clean();
|
||
_c0.onLoadSuccess.call(_bd, _be);
|
||
var _c2 = $(_bd).datagrid("getPager");
|
||
if (_c2.length) {
|
||
if (_c2.pagination("options").total != _be.total) {
|
||
_c2.pagination("refresh", {
|
||
total: _be.total
|
||
});
|
||
}
|
||
}
|
||
_2e(_bd);
|
||
dc.body2.triggerHandler("scroll");
|
||
_c3();
|
||
$(_bd).datagrid("autoSizeColumn");
|
||
function _c3() {
|
||
if (_c0.idField) {
|
||
for (var i = 0; i < _be.rows.length; i++) {
|
||
var row = _be.rows[i];
|
||
if (_c4(_bf.selectedRows, row)) {
|
||
_c0.finder.getTr(_bd, i).addClass("datagrid-row-selected");
|
||
}
|
||
if (_c4(_bf.checkedRows, row)) {
|
||
_c0.finder.getTr(_bd, i).find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked", true);
|
||
}
|
||
}
|
||
}
|
||
function _c4(a, r) {
|
||
for (var i = 0; i < a.length; i++) {
|
||
if (a[i][_c0.idField] == r[_c0.idField]) {
|
||
a[i] = r;
|
||
return true;
|
||
}
|
||
}
|
||
return false;
|
||
};
|
||
};
|
||
};
|
||
function _c5(_c6, row) {
|
||
var _c7 = $.data(_c6, "datagrid");
|
||
var _c8 = _c7.options;
|
||
var _c9 = _c7.data.rows;
|
||
if (typeof row == "object") {
|
||
return _2(_c9, row);
|
||
} else {
|
||
for (var i = 0; i < _c9.length; i++) {
|
||
if (_c9[i][_c8.idField] == row) {
|
||
return i;
|
||
}
|
||
}
|
||
return -1;
|
||
}
|
||
};
|
||
function _ca(_cb) {
|
||
var _cc = $.data(_cb, "datagrid");
|
||
var _cd = _cc.options;
|
||
var _ce = _cc.data;
|
||
if (_cd.idField) {
|
||
return _cc.selectedRows;
|
||
} else {
|
||
var _cf = [];
|
||
_cd.finder.getTr(_cb, "", "selected", 2).each(function () {
|
||
var _d0 = parseInt($(this).attr("datagrid-row-index"));
|
||
_cf.push(_ce.rows[_d0]);
|
||
});
|
||
return _cf;
|
||
}
|
||
};
|
||
function _getChecked(target) {
|
||
var state = $.data(target, "datagrid");
|
||
var opts = state.options;
|
||
if (opts.idField) {
|
||
return state.checkedRows;
|
||
} else {
|
||
var _d5 = [];
|
||
opts.finder.getTr(target, "", "checked").each(function () {
|
||
_d5.push(opts.finder.getRow(target, $(this)));
|
||
});
|
||
return _d5;
|
||
}
|
||
};
|
||
function _d6(_d7, _d8) {
|
||
var _d9 = $.data(_d7, "datagrid");
|
||
var dc = _d9.dc;
|
||
var _da = _d9.options;
|
||
var tr = _da.finder.getTr(_d7, _d8);
|
||
if (tr.length) {
|
||
if (tr.closest("table").hasClass("datagrid-btable-frozen")) {
|
||
return;
|
||
}
|
||
var _db = dc.view2.children("div.datagrid-header").outerHeight();
|
||
var _dc = dc.body2;
|
||
var _dd = _dc.outerHeight(true) - _dc.outerHeight();
|
||
var top = tr.position().top - _db - _dd;
|
||
if (top < 0) {
|
||
_dc.scrollTop(_dc.scrollTop() + top);
|
||
} else {
|
||
if (top + tr._outerHeight() > _dc.height() - 18) {
|
||
_dc.scrollTop(_dc.scrollTop() + top + tr._outerHeight() - _dc.height() + 18);
|
||
}
|
||
}
|
||
}
|
||
};
|
||
function _de(_df, _e0) {
|
||
var _e1 = $.data(_df, "datagrid");
|
||
var _e2 = _e1.options;
|
||
_e2.finder.getTr(_df, _e1.highlightIndex).removeClass("datagrid-row-over");
|
||
_e2.finder.getTr(_df, _e0).addClass("datagrid-row-over");
|
||
_e1.highlightIndex = _e0;
|
||
};
|
||
function _selectRow(target, index, checked) {
|
||
var state = $.data(target, "datagrid");
|
||
var dc = state.dc;
|
||
var opts = state.options;
|
||
var rows = state.selectedRows;
|
||
if (opts.singleSelect) {
|
||
_unselectAll(target);
|
||
rows.splice(0, rows.length);
|
||
}
|
||
if (!checked && opts.checkOnSelect) {
|
||
_checkRow(target, index, true);
|
||
}
|
||
var row = opts.finder.getRow(target, index);
|
||
if (opts.idField) {
|
||
_7(rows, opts.idField, row);
|
||
}
|
||
|
||
var trBody1 = opts.finder.getTr(target, index, "body", 1);
|
||
var trBody2 = opts.finder.getTr(target, index, "body", 2);
|
||
var tr = opts.finder.getTr(target, index);
|
||
tr.addClass("datagrid-row-selected");
|
||
|
||
if (state.selectedTrsBody1 && state.selectedTrsBody1.length) {
|
||
state.selectedTrsBody1 = state.selectedTrsBody1.add(trBody1);
|
||
} else {
|
||
state.selectedTrsBody1 = trBody1;
|
||
}
|
||
if (state.selectedTrsBody2 && state.selectedTrsBody2.length) {
|
||
state.selectedTrsBody2 = state.selectedTrsBody2.add(trBody2);
|
||
} else {
|
||
state.selectedTrsBody2 = trBody2;
|
||
}
|
||
opts.onSelect.call(target, index, row);
|
||
_d6(target, index);
|
||
};
|
||
function _unselectRow(target, index, unchecked) {
|
||
var state = $.data(target, "datagrid");
|
||
var dc = state.dc;
|
||
var opts = state.options;
|
||
var selectedRows = $.data(target, "datagrid").selectedRows;
|
||
if (!unchecked && opts.checkOnSelect) {
|
||
_uncheckRow(target, index, true);
|
||
}
|
||
opts.finder.getTr(target, index).removeClass("datagrid-row-selected");
|
||
var row = opts.finder.getRow(target, index);
|
||
if (opts.idField) {
|
||
_4(selectedRows, opts.idField, row[opts.idField]);
|
||
}
|
||
|
||
var trBody1 = opts.finder.getTr(target, index, 'body', 1);
|
||
var trBody2 = opts.finder.getTr(target, index, 'body', 2);
|
||
spliceTrs(1, trBody1);
|
||
spliceTrs(2, trBody2);
|
||
|
||
function spliceTrs(type, trBody) {
|
||
var bodyType = type === 1 ? "seletedTrsBody1" : "selectedTrsBody2";
|
||
var trBodyPos = 0;
|
||
if (state[bodyType] && state[bodyType].length) {
|
||
for (var i = 0; i < state[bodyType].length; i++) {
|
||
if (state[bodyType][i] == trBody[0]) {
|
||
trBodyPos = i;
|
||
break;
|
||
}
|
||
}
|
||
if ((trBodyPos + 1) === state[bodyType].length) {
|
||
state[bodyType] = state[bodyType].slice(0, trBodyPos)
|
||
} else {
|
||
state[bodyType] = state[bodyType].slice(0, trBodyPos).add(state[bodyType].slice(trBodyPos + 1));
|
||
}
|
||
}
|
||
}
|
||
opts.onUnselect.call(target, index, row);
|
||
};
|
||
function _selectAll(target, checked) {
|
||
var state = $.data(target, "datagrid");
|
||
var opts = state.options;
|
||
var rows = state.data.rows;
|
||
var selectedRows = $.data(target, "datagrid").selectedRows;
|
||
if (!checked && opts.checkOnSelect) {
|
||
_checkAll(target, true);
|
||
}
|
||
opts.finder.getTr(target, "", "allbody").addClass("datagrid-row-selected");
|
||
if (opts.idField) {
|
||
for (var _fc = 0; _fc < rows.length; _fc++) {
|
||
_7(selectedRows, opts.idField, rows[_fc]);
|
||
}
|
||
}
|
||
|
||
var b1Select = opts.finder.getTr(target, "", "allbody", 1);
|
||
var b2Select = opts.finder.getTr(target, "", "allbody", 2);
|
||
//store the reference of trs
|
||
state.selectedTrsBody1 = b1Select;
|
||
state.selectedTrsBody2 = b2Select;
|
||
|
||
opts.onSelectAll.call(target, rows);
|
||
};
|
||
function _unselectAll(_fd, _fe) {
|
||
var state = $.data(_fd, "datagrid");
|
||
var opts = state.options;
|
||
var rows = state.data.rows;
|
||
var _100 = $.data(_fd, "datagrid").selectedRows;
|
||
if (!_fe && opts.checkOnSelect) {
|
||
_uncheckAll(_fd, true);
|
||
}
|
||
opts.finder.getTr(_fd, "", "selected").removeClass("datagrid-row-selected");
|
||
if (opts.idField) {
|
||
for (var _102 = 0; _102 < rows.length; _102++) {
|
||
_4(_100, opts.idField, rows[_102][opts.idField]);
|
||
}
|
||
}
|
||
if (state.selectedTrsBody1) {
|
||
state.selectedTrsBody1 = undefined;
|
||
}
|
||
if (state.selectedTrsBody2) {
|
||
state.selectedTrsBody2 = undefined;
|
||
}
|
||
opts.onUnselectAll.call(_fd, rows);
|
||
};
|
||
function _checkRow(target, index, selected) {
|
||
var state = $.data(target, "datagrid");
|
||
var opts = state.options;
|
||
if (!selected && opts.selectOnCheck) {
|
||
_selectRow(target, index, true);
|
||
}
|
||
var ckTr = opts.finder.getTr(target, index);
|
||
var ck = ckTr.find("div.datagrid-cell-check input[type=checkbox]");
|
||
var ckTrBody1 = opts.finder.getTr(target, index, 'body', 1);
|
||
var ckTrBody2 = opts.finder.getTr(target, index, 'body', 2);
|
||
ckTr.addClass('datagrid-row-checked');
|
||
if (state.checkedTrsBody1 && state.checkedTrsBody1.length) {
|
||
state.checkedTrsBody1 = state.checkedTrsBody1.add(ckTrBody1);
|
||
} else {
|
||
state.checkedTrsBody1 = ckTrBody1;
|
||
}
|
||
if (state.checkedTrsBody2 && state.checkedTrsBody2.length) {
|
||
state.checkedTrsBody2 = state.checkedTrsBody2.add(ckTrBody2);
|
||
} else {
|
||
state.checkedTrsBody2 = ckTrBody2;
|
||
}
|
||
ck._propAttr("checked", true);
|
||
var ck = opts.finder.getTr(target, "", "checked");
|
||
if (ck.length == state.data.rows.length) {
|
||
var dc = state.dc;
|
||
var _107 = dc.header1.add(dc.header2);
|
||
_107.find("input[type=checkbox]")._propAttr("checked", true);
|
||
}
|
||
var row = opts.finder.getRow(target, index);
|
||
if (opts.idField) {
|
||
_7(state.checkedRows, opts.idField, row);
|
||
}
|
||
opts.onCheck.call(target, index, row);
|
||
};
|
||
function _uncheckRow(target, index, unchecked) {
|
||
var state = $.data(target, "datagrid");
|
||
var opts = state.options;
|
||
if (!unchecked && opts.selectOnCheck) {
|
||
_unselectRow(target, index, true);
|
||
}
|
||
var ckTr = opts.finder.getTr(target, index);
|
||
var ck = ckTr.find("div.datagrid-cell-check input[type=checkbox]");
|
||
var ckTrBody1 = opts.finder.getTr(target, index, 'body', 1);
|
||
var ckTrBody2 = opts.finder.getTr(target, index, 'body', 2);
|
||
spliceTrs(1, ckTrBody1);
|
||
spliceTrs(2, ckTrBody2);
|
||
ckTr.removeClass('datagrid-row-checked');
|
||
ck._propAttr("checked", false);
|
||
var dc = state.dc;
|
||
var _10c = dc.header1.add(dc.header2);
|
||
_10c.find("input[type=checkbox]")._propAttr("checked", false);
|
||
var row = opts.finder.getRow(target, index);
|
||
if (opts.idField) {
|
||
_4(state.checkedRows, opts.idField, row[opts.idField]);
|
||
}
|
||
opts.onUncheck.call(target, index, row);
|
||
|
||
function spliceTrs(type, ckBody) {
|
||
var bodyType = type === 1 ? "checkedTrsBody1" : "checkedTrsBody2";
|
||
var ckBodyPos = 0;
|
||
if (state[bodyType] && state[bodyType].length) {
|
||
for (var i = 0; i < state[bodyType].length; i++) {
|
||
if (state[bodyType][i] == ckBody[0]) {
|
||
ckBodyPos = i;
|
||
break;
|
||
}
|
||
}
|
||
if ((ckBodyPos + 1) === state[bodyType].length) {
|
||
state[bodyType] = state[bodyType].slice(0, ckBodyPos)
|
||
} else {
|
||
state[bodyType] = state[bodyType].slice(0, ckBodyPos).add(state[bodyType].slice(ckBodyPos + 1));
|
||
}
|
||
}
|
||
}
|
||
};
|
||
function _checkAll(target, selected) {
|
||
var state = $.data(target, "datagrid");
|
||
var opts = state.options;
|
||
var rows = state.data.rows;
|
||
if (!selected && opts.selectOnCheck) {
|
||
_selectAll(target, true);
|
||
}
|
||
var dc = state.dc;
|
||
var hck = dc.header1.add(dc.header2).find("input[type=checkbox]");
|
||
var b1ck = opts.finder.getTr(target, "", "allbody", 1);
|
||
var b2ck = opts.finder.getTr(target, "", "allbody", 2);
|
||
//store the reference of trs
|
||
state.checkedTrsBody1 = b1ck;
|
||
state.checkedTrsBody2 = b2ck;
|
||
var bckTr = opts.finder.getTr(target, "", "allbody");
|
||
bckTr.addClass("datagrid-row-checked");
|
||
var bck = bckTr.find("div.datagrid-cell-check input[type=checkbox]");
|
||
hck.add(bck)._propAttr("checked", true);
|
||
if (opts.idField) {
|
||
for (var i = 0; i < rows.length; i++) {
|
||
_7(state.checkedRows, opts.idField, rows[i]);
|
||
}
|
||
}
|
||
opts.onCheckAll.call(target, rows);
|
||
};
|
||
function _uncheckAll(target, _111) {
|
||
var state = $.data(target, "datagrid");
|
||
var opts = state.options;
|
||
var rows = state.data.rows;
|
||
if (!_111 && opts.selectOnCheck) {
|
||
_unselectAll(target, true);
|
||
}
|
||
var dc = state.dc;
|
||
var hck = dc.header1.add(dc.header2).find("input[type=checkbox]");
|
||
var bckTr = opts.finder.getTr(target, "", "allbody");
|
||
bckTr.removeClass("datagrid-row-checked");
|
||
var b1ck = state.checkedTrsBody1 ? state.checkedTrsBody1.find("div.datagrid-cell-check input[type=checkbox]") : $(undefined);
|
||
var b2ck = state.checkedTrsBody2 ? state.checkedTrsBody2.find("div.datagrid-cell-check input[type=checkbox]") : $(undefined);
|
||
if (state.checkedTrsBody1) {
|
||
state.checkedTrsBody1 = undefined;
|
||
}
|
||
if (state.checkedTrsBody2) {
|
||
state.checkedTrsBody2 = undefined;
|
||
}
|
||
hck.add(b1ck).add(b2ck)._propAttr("checked", false);
|
||
if (opts.idField) {
|
||
for (var i = 0; i < rows.length; i++) {
|
||
_4(state.checkedRows, opts.idField, rows[i][opts.idField]);
|
||
}
|
||
}
|
||
opts.onUncheckAll.call(target, rows);
|
||
};
|
||
function _113(_114, _115) {
|
||
var opts = $.data(_114, "datagrid").options;
|
||
var tr = opts.finder.getTr(_114, _115);
|
||
var row = opts.finder.getRow(_114, _115);
|
||
if (tr.hasClass("datagrid-row-editing")) {
|
||
return;
|
||
}
|
||
if (opts.onBeforeEdit.call(_114, _115, row) == false) {
|
||
return;
|
||
}
|
||
tr.addClass("datagrid-row-editing");
|
||
_116(_114, _115);
|
||
_ab(_114);
|
||
tr.find("div.datagrid-editable").each(function () {
|
||
var _117 = $(this).parent().attr("field");
|
||
var ed = $.data(this, "datagrid.editor");
|
||
ed.actions.setValue(ed.target, row[_117]);
|
||
});
|
||
_118(_114, _115);
|
||
};
|
||
function _119(_11a, _11b, _11c) {
|
||
var opts = $.data(_11a, "datagrid").options;
|
||
var _11d = $.data(_11a, "datagrid").updatedRows;
|
||
var _11e = $.data(_11a, "datagrid").insertedRows;
|
||
var tr = opts.finder.getTr(_11a, _11b);
|
||
var row = opts.finder.getRow(_11a, _11b);
|
||
if (!tr.hasClass("datagrid-row-editing")) {
|
||
return;
|
||
}
|
||
if (!_11c) {
|
||
if (!_118(_11a, _11b)) {
|
||
return;
|
||
}
|
||
var _11f = false;
|
||
var _120 = {};
|
||
tr.find("div.datagrid-editable").each(function () {
|
||
var _121 = $(this).parent().attr("field");
|
||
var ed = $.data(this, "datagrid.editor");
|
||
var _122 = ed.actions.getValue(ed.target);
|
||
if (row[_121] != _122) {
|
||
row[_121] = _122;
|
||
_11f = true;
|
||
_120[_121] = _122;
|
||
}
|
||
});
|
||
if (_11f) {
|
||
if (_2(_11e, row) == -1) {
|
||
if (_2(_11d, row) == -1) {
|
||
_11d.push(row);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
tr.removeClass("datagrid-row-editing");
|
||
_123(_11a, _11b);
|
||
$(_11a).datagrid("refreshRow", _11b);
|
||
if (!_11c) {
|
||
opts.onAfterEdit.call(_11a, _11b, row, _120);
|
||
} else {
|
||
opts.onCancelEdit.call(_11a, _11b, row);
|
||
}
|
||
};
|
||
function _124(_125, _126) {
|
||
var opts = $.data(_125, "datagrid").options;
|
||
var tr = opts.finder.getTr(_125, _126);
|
||
var _127 = [];
|
||
tr.children("td").each(function () {
|
||
var cell = $(this).find("div.datagrid-editable");
|
||
if (cell.length) {
|
||
var ed = $.data(cell[0], "datagrid.editor");
|
||
_127.push(ed);
|
||
}
|
||
});
|
||
return _127;
|
||
};
|
||
function _128(_129, _12a) {
|
||
var _12b = _124(_129, _12a.index);
|
||
for (var i = 0; i < _12b.length; i++) {
|
||
if (_12b[i].field == _12a.field) {
|
||
return _12b[i];
|
||
}
|
||
}
|
||
return null;
|
||
};
|
||
function _116(_12c, _12d) {
|
||
var opts = $.data(_12c, "datagrid").options;
|
||
var tr = opts.finder.getTr(_12c, _12d);
|
||
tr.children("td").each(function () {
|
||
var cell = $(this).find("div.datagrid-cell");
|
||
var _12e = $(this).attr("field");
|
||
var col = _6d(_12c, _12e);
|
||
if (col && col.editor) {
|
||
var _12f,
|
||
_130;
|
||
if (typeof col.editor == "string") {
|
||
_12f = col.editor;
|
||
} else {
|
||
_12f = col.editor.type;
|
||
_130 = col.editor.options;
|
||
}
|
||
var _131 = opts.editors[_12f];
|
||
if (_131) {
|
||
var _132 = cell.html();
|
||
var _133 = cell._outerWidth();
|
||
cell.addClass("datagrid-editable");
|
||
cell._outerWidth(_133);
|
||
cell.html("<table border=\"0\" cellspacing=\"0\" cellpadding=\"1\"><tr><td></td></tr></table>");
|
||
cell.children("table").bind("click dblclick contextmenu", function (e) {
|
||
e.stopPropagation();
|
||
});
|
||
$.data(cell[0], "datagrid.editor", {
|
||
actions: _131,
|
||
target: _131.init(cell.find("td"), _130),
|
||
field: _12e,
|
||
type: _12f,
|
||
oldHtml: _132
|
||
});
|
||
}
|
||
}
|
||
});
|
||
_2e(_12c, _12d, true);
|
||
};
|
||
function _123(_134, _135) {
|
||
var opts = $.data(_134, "datagrid").options;
|
||
var tr = opts.finder.getTr(_134, _135);
|
||
tr.children("td").each(function () {
|
||
var cell = $(this).find("div.datagrid-editable");
|
||
if (cell.length) {
|
||
var ed = $.data(cell[0], "datagrid.editor");
|
||
if (ed.actions.destroy) {
|
||
ed.actions.destroy(ed.target);
|
||
}
|
||
cell.html(ed.oldHtml);
|
||
$.removeData(cell[0], "datagrid.editor");
|
||
cell.removeClass("datagrid-editable");
|
||
cell.css("width", "");
|
||
}
|
||
});
|
||
};
|
||
function _118(_136, _137) {
|
||
var tr = $.data(_136, "datagrid").options.finder.getTr(_136, _137);
|
||
if (!tr.hasClass("datagrid-row-editing")) {
|
||
return true;
|
||
}
|
||
var vbox = tr.find(".validatebox-text");
|
||
vbox.validatebox("validate");
|
||
vbox.trigger("mouseleave");
|
||
var _138 = tr.find(".validatebox-invalid");
|
||
return _138.length == 0;
|
||
};
|
||
function _139(_13a, _13b) {
|
||
var _13c = $.data(_13a, "datagrid").insertedRows;
|
||
var _13d = $.data(_13a, "datagrid").deletedRows;
|
||
var _13e = $.data(_13a, "datagrid").updatedRows;
|
||
if (!_13b) {
|
||
var rows = [];
|
||
rows = rows.concat(_13c);
|
||
rows = rows.concat(_13d);
|
||
rows = rows.concat(_13e);
|
||
return rows;
|
||
} else {
|
||
if (_13b == "inserted") {
|
||
return _13c;
|
||
} else {
|
||
if (_13b == "deleted") {
|
||
return _13d;
|
||
} else {
|
||
if (_13b == "updated") {
|
||
return _13e;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
return [];
|
||
};
|
||
function _deleteRow(target, index) {
|
||
var state = $.data(target, "datagrid");
|
||
var opts = state.options;
|
||
var data = state.data;
|
||
var insertedRows = state.insertedRows;
|
||
var deletedRows = state.deletedRows;
|
||
$(target).datagrid("cancelEdit", index);
|
||
var row = data.rows[index];
|
||
if (_2(insertedRows, row) >= 0) {
|
||
_4(insertedRows, row);
|
||
} else {
|
||
deletedRows.push(row);
|
||
}
|
||
_4(state.selectedRows, opts.idField, data.rows[index][opts.idField]);
|
||
_4(state.checkedRows, opts.idField, data.rows[index][opts.idField]);
|
||
|
||
var trBody1 = opts.finder.getTr(target, index, 'body', 1);
|
||
var trBody2 = opts.finder.getTr(target, index, 'body', 2);
|
||
spliceTrs(1, trBody1, "selected");
|
||
spliceTrs(1, trBody1, "checked");
|
||
spliceTrs(2, trBody2, "selected");
|
||
spliceTrs(2, trBody2, "checked");
|
||
|
||
function spliceTrs(type, trBody, mode) {
|
||
var bodyType = (mode === "selected") ? (type === 1 ? "seletedTrsBody1" : "selectedTrsBody2") : (type === 1 ? "checkedTrsBody1" : "checkedTrsBody2");
|
||
var trBodyPos = 0;
|
||
if (state[bodyType] && state[bodyType].length) {
|
||
for (var i = 0; i < state[bodyType].length; i++) {
|
||
if (state[bodyType][i] == trBody[0]) {
|
||
trBodyPos = i;
|
||
break;
|
||
}
|
||
}
|
||
if ((trBodyPos + 1) === state[bodyType].length) {
|
||
state[bodyType] = state[bodyType].slice(0, trBodyPos)
|
||
} else {
|
||
state[bodyType] = state[bodyType].slice(0, trBodyPos).add(state[bodyType].slice(trBodyPos + 1));
|
||
}
|
||
}
|
||
}
|
||
|
||
opts.view.deleteRow.call(opts.view, target, index);
|
||
if (opts.height == "auto") {
|
||
_2e(target);
|
||
}
|
||
$(target).datagrid("getPager").pagination("refresh", {
|
||
total: data.total
|
||
});
|
||
};
|
||
function _145(_146, _147) {
|
||
var data = $.data(_146, "datagrid").data;
|
||
var view = $.data(_146, "datagrid").options.view;
|
||
var _148 = $.data(_146, "datagrid").insertedRows;
|
||
view.insertRow.call(view, _146, _147.index, _147.row);
|
||
_148.push(_147.row);
|
||
$(_146).datagrid("getPager").pagination("refresh", {
|
||
total: data.total
|
||
});
|
||
};
|
||
function _149(_14a, row) {
|
||
var data = $.data(_14a, "datagrid").data;
|
||
var view = $.data(_14a, "datagrid").options.view;
|
||
var _14b = $.data(_14a, "datagrid").insertedRows;
|
||
view.insertRow.call(view, _14a, null, row);
|
||
_14b.push(row);
|
||
$(_14a).datagrid("getPager").pagination("refresh", {
|
||
total: data.total
|
||
});
|
||
};
|
||
function _14c(_14d) {
|
||
var _14e = $.data(_14d, "datagrid");
|
||
var data = _14e.data;
|
||
var rows = data.rows;
|
||
var _14f = [];
|
||
for (var i = 0; i < rows.length; i++) {
|
||
_14f.push($.extend({}, rows[i]));
|
||
}
|
||
_14e.originalRows = _14f;
|
||
_14e.updatedRows = [];
|
||
_14e.insertedRows = [];
|
||
_14e.deletedRows = [];
|
||
};
|
||
function _150(_151) {
|
||
var data = $.data(_151, "datagrid").data;
|
||
var ok = true;
|
||
for (var i = 0, len = data.rows.length; i < len; i++) {
|
||
if (_118(_151, i)) {
|
||
_119(_151, i, false);
|
||
} else {
|
||
ok = false;
|
||
}
|
||
}
|
||
if (ok) {
|
||
_14c(_151);
|
||
}
|
||
};
|
||
function _152(_153) {
|
||
var _154 = $.data(_153, "datagrid");
|
||
var opts = _154.options;
|
||
var _155 = _154.originalRows;
|
||
var _156 = _154.insertedRows;
|
||
var _157 = _154.deletedRows;
|
||
var _158 = _154.selectedRows;
|
||
var _159 = _154.checkedRows;
|
||
var data = _154.data;
|
||
function _15a(a) {
|
||
var ids = [];
|
||
for (var i = 0; i < a.length; i++) {
|
||
ids.push(a[i][opts.idField]);
|
||
}
|
||
return ids;
|
||
};
|
||
function _15b(ids, _15c) {
|
||
for (var i = 0; i < ids.length; i++) {
|
||
var _15d = _c5(_153, ids[i]);
|
||
if (_15d >= 0) {
|
||
(_15c == "s" ? _selectRow : _checkRow)(_153, _15d, true);
|
||
}
|
||
}
|
||
};
|
||
for (var i = 0; i < data.rows.length; i++) {
|
||
_119(_153, i, true);
|
||
}
|
||
var _15e = _15a(_158);
|
||
var _15f = _15a(_159);
|
||
_158.splice(0, _158.length);
|
||
_159.splice(0, _159.length);
|
||
data.total += _157.length - _156.length;
|
||
data.rows = _155;
|
||
_bc(_153, data);
|
||
_15b(_15e, "s");
|
||
_15b(_15f, "c");
|
||
_14c(_153);
|
||
};
|
||
function _160(_161, _162) {
|
||
var opts = $.data(_161, "datagrid").options;
|
||
if (_162) {
|
||
opts.queryParams = _162;
|
||
}
|
||
var _163 = $.extend({}, opts.queryParams);
|
||
if (opts.pagination) {
|
||
$.extend(_163, {
|
||
page: opts.pageNumber,
|
||
rows: opts.pageSize
|
||
});
|
||
}
|
||
if (opts.sortName) {
|
||
$.extend(_163, {
|
||
sort: opts.sortName,
|
||
order: opts.sortOrder
|
||
});
|
||
}
|
||
if (opts.onBeforeLoad.call(_161, _163) == false) {
|
||
return;
|
||
}
|
||
$(_161).datagrid("loading");
|
||
setTimeout(function () {
|
||
_164();
|
||
}, 0);
|
||
function _164() {
|
||
var _165 = opts.loader.call(_161, _163, function (data) {
|
||
setTimeout(function () {
|
||
$(_161).datagrid("loaded");
|
||
}, 0);
|
||
_bc(_161, data);
|
||
setTimeout(function () {
|
||
_14c(_161);
|
||
}, 0);
|
||
}, function () {
|
||
setTimeout(function () {
|
||
$(_161).datagrid("loaded");
|
||
}, 0);
|
||
opts.onLoadError.apply(_161, arguments);
|
||
});
|
||
if (_165 == false) {
|
||
$(_161).datagrid("loaded");
|
||
}
|
||
};
|
||
};
|
||
function _166(_167, _168) {
|
||
var opts = $.data(_167, "datagrid").options;
|
||
_168.rowspan = _168.rowspan || 1;
|
||
_168.colspan = _168.colspan || 1;
|
||
if (_168.rowspan == 1 && _168.colspan == 1) {
|
||
return;
|
||
}
|
||
var tr = opts.finder.getTr(_167, (_168.index != undefined ? _168.index : _168.id));
|
||
if (!tr.length) {
|
||
return;
|
||
}
|
||
var row = opts.finder.getRow(_167, tr);
|
||
var _169 = row[_168.field];
|
||
var td = tr.find("td[field=\"" + _168.field + "\"]");
|
||
td.attr("rowspan", _168.rowspan).attr("colspan", _168.colspan);
|
||
td.addClass("datagrid-td-merged");
|
||
for (var i = 1; i < _168.colspan; i++) {
|
||
td = td.next();
|
||
td.hide();
|
||
row[td.attr("field")] = _169;
|
||
}
|
||
for (var i = 1; i < _168.rowspan; i++) {
|
||
tr = tr.next();
|
||
if (!tr.length) {
|
||
break;
|
||
}
|
||
var row = opts.finder.getRow(_167, tr);
|
||
var td = tr.find("td[field=\"" + _168.field + "\"]").hide();
|
||
row[td.attr("field")] = _169;
|
||
for (var j = 1; j < _168.colspan; j++) {
|
||
td = td.next();
|
||
td.hide();
|
||
row[td.attr("field")] = _169;
|
||
}
|
||
}
|
||
_a6(_167);
|
||
};
|
||
$.fn.datagrid = function (_16a, _16b) {
|
||
if (typeof _16a == "string") {
|
||
return $.fn.datagrid.methods[_16a](this, _16b);
|
||
}
|
||
_16a = _16a || {};
|
||
return this.each(function () {
|
||
var _16c = $.data(this, "datagrid");
|
||
var opts;
|
||
if (_16c) {
|
||
opts = $.extend(_16c.options, _16a);
|
||
_16c.options = opts;
|
||
} else {
|
||
opts = $.extend({}, $.extend({}, $.fn.datagrid.defaults, {
|
||
queryParams: {}
|
||
|
||
}), $.fn.datagrid.parseOptions(this), _16a);
|
||
$(this).css("width", "").css("height", "");
|
||
var _16d = _47(this, opts.rownumbers);
|
||
if (!opts.columns) {
|
||
opts.columns = _16d.columns;
|
||
}
|
||
if (!opts.frozenColumns) {
|
||
opts.frozenColumns = _16d.frozenColumns;
|
||
}
|
||
opts.columns = $.extend(true, [], opts.columns);
|
||
opts.frozenColumns = $.extend(true, [], opts.frozenColumns);
|
||
opts.view = $.extend({}, opts.view);
|
||
$.data(this, "datagrid", {
|
||
options: opts,
|
||
panel: _16d.panel,
|
||
dc: _16d.dc,
|
||
ss: _16d.ss,
|
||
selectedRows: [],
|
||
checkedRows: [],
|
||
data: {
|
||
total: 0,
|
||
rows: []
|
||
},
|
||
originalRows: [],
|
||
updatedRows: [],
|
||
insertedRows: [],
|
||
deletedRows: []
|
||
});
|
||
}
|
||
_56(this);
|
||
if (opts.data) {
|
||
_bc(this, opts.data);
|
||
_14c(this);
|
||
} else {
|
||
var data = $.fn.datagrid.parseData(this);
|
||
if (data.total > 0) {
|
||
_bc(this, data);
|
||
_14c(this);
|
||
}
|
||
}
|
||
_19(this);
|
||
_160(this);
|
||
_6e(this);
|
||
});
|
||
};
|
||
var _16e = {
|
||
text: {
|
||
init: function (_16f, _170) {
|
||
var _171 = $("<input type=\"text\" class=\"datagrid-editable-input\">").appendTo(_16f);
|
||
return _171;
|
||
},
|
||
getValue: function (_172) {
|
||
return $(_172).val();
|
||
},
|
||
setValue: function (_173, _174) {
|
||
$(_173).val(_174);
|
||
},
|
||
resize: function (_175, _176) {
|
||
$(_175)._outerWidth(_176);
|
||
}
|
||
},
|
||
textarea: {
|
||
init: function (_177, _178) {
|
||
var _179 = $("<textarea class=\"datagrid-editable-input\"></textarea>").appendTo(_177);
|
||
return _179;
|
||
},
|
||
getValue: function (_17a) {
|
||
return $(_17a).val();
|
||
},
|
||
setValue: function (_17b, _17c) {
|
||
$(_17b).val(_17c);
|
||
},
|
||
resize: function (_17d, _17e) {
|
||
$(_17d)._outerWidth(_17e);
|
||
}
|
||
},
|
||
checkbox: {
|
||
init: function (_17f, _180) {
|
||
var _181 = $("<input type=\"checkbox\">").appendTo(_17f);
|
||
_181.val(_180.on);
|
||
_181.attr("offval", _180.off);
|
||
return _181;
|
||
},
|
||
getValue: function (_182) {
|
||
if ($(_182).is(":checked")) {
|
||
return $(_182).val();
|
||
} else {
|
||
return $(_182).attr("offval");
|
||
}
|
||
},
|
||
setValue: function (_183, _184) {
|
||
var _185 = false;
|
||
if ($(_183).val() == _184) {
|
||
_185 = true;
|
||
}
|
||
$(_183)._propAttr("checked", _185);
|
||
}
|
||
},
|
||
numberbox: {
|
||
init: function (_186, _187) {
|
||
var _188 = $("<input type=\"text\" class=\"datagrid-editable-input\">").appendTo(_186);
|
||
_188.numberbox(_187);
|
||
return _188;
|
||
},
|
||
destroy: function (_189) {
|
||
$(_189).numberbox("destroy");
|
||
},
|
||
getValue: function (_18a) {
|
||
$(_18a).blur();
|
||
return $(_18a).numberbox("getValue");
|
||
},
|
||
setValue: function (_18b, _18c) {
|
||
$(_18b).numberbox("setValue", _18c);
|
||
},
|
||
resize: function (_18d, _18e) {
|
||
$(_18d)._outerWidth(_18e);
|
||
}
|
||
},
|
||
validatebox: {
|
||
init: function (_18f, _190) {
|
||
var _191 = $("<input type=\"text\" class=\"datagrid-editable-input\">").appendTo(_18f);
|
||
_191.validatebox(_190);
|
||
return _191;
|
||
},
|
||
destroy: function (_192) {
|
||
$(_192).validatebox("destroy");
|
||
},
|
||
getValue: function (_193) {
|
||
return $(_193).val();
|
||
},
|
||
setValue: function (_194, _195) {
|
||
$(_194).val(_195);
|
||
},
|
||
resize: function (_196, _197) {
|
||
$(_196)._outerWidth(_197);
|
||
}
|
||
},
|
||
datebox: {
|
||
init: function (_198, _199) {
|
||
var _19a = $("<input type=\"text\">").appendTo(_198);
|
||
_19a.datebox(_199);
|
||
return _19a;
|
||
},
|
||
destroy: function (_19b) {
|
||
$(_19b).datebox("destroy");
|
||
},
|
||
getValue: function (_19c) {
|
||
return $(_19c).datebox("getValue");
|
||
},
|
||
setValue: function (_19d, _19e) {
|
||
$(_19d).datebox("setValue", _19e);
|
||
},
|
||
resize: function (_19f, _1a0) {
|
||
$(_19f).datebox("resize", _1a0);
|
||
}
|
||
},
|
||
combobox: {
|
||
init: function (_1a1, _1a2) {
|
||
var _1a3 = $("<input type=\"text\">").appendTo(_1a1);
|
||
_1a3.combobox(_1a2 || {});
|
||
return _1a3;
|
||
},
|
||
destroy: function (_1a4) {
|
||
$(_1a4).combobox("destroy");
|
||
},
|
||
getValue: function (_1a5) {
|
||
return $(_1a5).combobox("getValue");
|
||
},
|
||
setValue: function (_1a6, _1a7) {
|
||
$(_1a6).combobox("setValue", _1a7);
|
||
},
|
||
resize: function (_1a8, _1a9) {
|
||
$(_1a8).combobox("resize", _1a9);
|
||
}
|
||
},
|
||
combotree: {
|
||
init: function (_1aa, _1ab) {
|
||
var _1ac = $("<input type=\"text\">").appendTo(_1aa);
|
||
_1ac.combotree(_1ab);
|
||
return _1ac;
|
||
},
|
||
destroy: function (_1ad) {
|
||
$(_1ad).combotree("destroy");
|
||
},
|
||
getValue: function (_1ae) {
|
||
return $(_1ae).combotree("getValue");
|
||
},
|
||
setValue: function (_1af, _1b0) {
|
||
$(_1af).combotree("setValue", _1b0);
|
||
},
|
||
resize: function (_1b1, _1b2) {
|
||
$(_1b1).combotree("resize", _1b2);
|
||
}
|
||
}
|
||
};
|
||
$.fn.datagrid.methods = {
|
||
options: function (jq) {
|
||
var _1b3 = $.data(jq[0], "datagrid").options;
|
||
var _1b4 = $.data(jq[0], "datagrid").panel.panel("options");
|
||
var opts = $.extend(_1b3, {
|
||
width: _1b4.width,
|
||
height: _1b4.height,
|
||
closed: _1b4.closed,
|
||
collapsed: _1b4.collapsed,
|
||
minimized: _1b4.minimized,
|
||
maximized: _1b4.maximized
|
||
});
|
||
return opts;
|
||
},
|
||
getPanel: function (jq) {
|
||
return $.data(jq[0], "datagrid").panel;
|
||
},
|
||
getPager: function (jq) {
|
||
return $.data(jq[0], "datagrid").panel.children("div.datagrid-pager");
|
||
},
|
||
getColumnFields: function (jq, _1b5) {
|
||
return _6c(jq[0], _1b5);
|
||
},
|
||
getColumnOption: function (jq, _1b6) {
|
||
return _6d(jq[0], _1b6);
|
||
},
|
||
resize: function (jq, _1b7) {
|
||
return jq.each(function () {
|
||
_19(this, _1b7);
|
||
});
|
||
},
|
||
load: function (jq, _1b8) {
|
||
return jq.each(function () {
|
||
var opts = $(this).datagrid("options");
|
||
opts.pageNumber = 1;
|
||
var _1b9 = $(this).datagrid("getPager");
|
||
_1b9.pagination({
|
||
pageNumber: 1
|
||
});
|
||
_160(this, _1b8);
|
||
});
|
||
},
|
||
reload: function (jq, _1ba) {
|
||
return jq.each(function () {
|
||
_160(this, _1ba);
|
||
});
|
||
},
|
||
reloadFooter: function (jq, _1bb) {
|
||
return jq.each(function () {
|
||
var opts = $.data(this, "datagrid").options;
|
||
var dc = $.data(this, "datagrid").dc;
|
||
if (_1bb) {
|
||
$.data(this, "datagrid").footer = _1bb;
|
||
}
|
||
if (opts.showFooter) {
|
||
opts.view.renderFooter.call(opts.view, this, dc.footer2, false);
|
||
opts.view.renderFooter.call(opts.view, this, dc.footer1, true);
|
||
if (opts.view.onAfterRender) {
|
||
opts.view.onAfterRender.call(opts.view, this);
|
||
}
|
||
$(this).datagrid("fixRowHeight");
|
||
}
|
||
});
|
||
},
|
||
loading: function (jq) {
|
||
return jq.each(function () {
|
||
var opts = $.data(this, "datagrid").options;
|
||
$(this).datagrid("getPager").pagination("loading");
|
||
if (opts.loadMsg) {
|
||
var _1bc = $(this).datagrid("getPanel");
|
||
$("<div class=\"datagrid-mask\" style=\"display:block\"></div>").appendTo(_1bc);
|
||
var msg = $("<div class=\"datagrid-mask-msg\" style=\"display:block;left:50%\"></div>").html(opts.loadMsg).appendTo(_1bc);
|
||
msg.css("marginLeft", -msg.outerWidth() / 2);
|
||
}
|
||
});
|
||
},
|
||
loaded: function (jq) {
|
||
return jq.each(function () {
|
||
$(this).datagrid("getPager").pagination("loaded");
|
||
var _1bd = $(this).datagrid("getPanel");
|
||
_1bd.children("div.datagrid-mask-msg").remove();
|
||
_1bd.children("div.datagrid-mask").remove();
|
||
});
|
||
},
|
||
fitColumns: function (jq) {
|
||
return jq.each(function () {
|
||
_87(this);
|
||
});
|
||
},
|
||
fixColumnSize: function (jq, _1be) {
|
||
return jq.each(function () {
|
||
_51(this, _1be);
|
||
});
|
||
},
|
||
fixRowHeight: function (jq, _1bf) {
|
||
return jq.each(function () {
|
||
_2e(this, _1bf);
|
||
});
|
||
},
|
||
freezeRow: function (jq, _1c0) {
|
||
return jq.each(function () {
|
||
_3f(this, _1c0);
|
||
});
|
||
},
|
||
autoSizeColumn: function (jq, _1c1) {
|
||
return jq.each(function () {
|
||
_95(this, _1c1);
|
||
});
|
||
},
|
||
loadData: function (jq, data) {
|
||
return jq.each(function () {
|
||
_bc(this, data);
|
||
_14c(this);
|
||
});
|
||
},
|
||
getData: function (jq) {
|
||
return $.data(jq[0], "datagrid").data;
|
||
},
|
||
getRows: function (jq) {
|
||
return $.data(jq[0], "datagrid").data.rows;
|
||
},
|
||
getFooterRows: function (jq) {
|
||
return $.data(jq[0], "datagrid").footer;
|
||
},
|
||
getRowIndex: function (jq, id) {
|
||
return _c5(jq[0], id);
|
||
},
|
||
getChecked: function (jq) {
|
||
return _getChecked(jq[0]);
|
||
},
|
||
getSelected: function (jq) {
|
||
var rows = _ca(jq[0]);
|
||
return rows.length > 0 ? rows[0] : null;
|
||
},
|
||
getSelections: function (jq) {
|
||
return _ca(jq[0]);
|
||
},
|
||
clearSelections: function (jq) {
|
||
return jq.each(function () {
|
||
var _1c2 = $.data(this, "datagrid").selectedRows;
|
||
_1c2.splice(0, _1c2.length);
|
||
_unselectAll(this);
|
||
});
|
||
},
|
||
clearChecked: function (jq) {
|
||
return jq.each(function () {
|
||
var _1c3 = $.data(this, "datagrid").checkedRows;
|
||
_1c3.splice(0, _1c3.length);
|
||
_uncheckAll(this);
|
||
});
|
||
},
|
||
scrollTo: function (jq, _1c4) {
|
||
return jq.each(function () {
|
||
_d6(this, _1c4);
|
||
});
|
||
},
|
||
highlightRow: function (jq, _1c5) {
|
||
return jq.each(function () {
|
||
_de(this, _1c5);
|
||
_d6(this, _1c5);
|
||
});
|
||
},
|
||
selectAll: function (jq) {
|
||
return jq.each(function () {
|
||
_selectAll(this);
|
||
});
|
||
},
|
||
unselectAll: function (jq) {
|
||
return jq.each(function () {
|
||
_unselectAll(this);
|
||
});
|
||
},
|
||
selectRow: function (jq, index) {
|
||
return jq.each(function () {
|
||
_selectRow(this, index);
|
||
});
|
||
},
|
||
selectRecord: function (jq, id) {
|
||
return jq.each(function () {
|
||
var opts = $.data(this, "datagrid").options;
|
||
if (opts.idField) {
|
||
var _1c7 = _c5(this, id);
|
||
if (_1c7 >= 0) {
|
||
$(this).datagrid("selectRow", _1c7);
|
||
}
|
||
}
|
||
});
|
||
},
|
||
unselectRow: function (jq, index) {
|
||
return jq.each(function () {
|
||
_unselectRow(this, index);
|
||
});
|
||
},
|
||
checkRow: function (jq, index) {
|
||
return jq.each(function () {
|
||
_checkRow(this, index);
|
||
});
|
||
},
|
||
uncheckRow: function (jq, index) {
|
||
return jq.each(function () {
|
||
_uncheckRow(this, index);
|
||
});
|
||
},
|
||
checkAll: function (jq) {
|
||
return jq.each(function () {
|
||
_checkAll(this);
|
||
});
|
||
},
|
||
uncheckAll: function (jq) {
|
||
return jq.each(function () {
|
||
_uncheckAll(this);
|
||
});
|
||
},
|
||
beginEdit: function (jq, _1cb) {
|
||
return jq.each(function () {
|
||
_113(this, _1cb);
|
||
});
|
||
},
|
||
endEdit: function (jq, _1cc) {
|
||
return jq.each(function () {
|
||
_119(this, _1cc, false);
|
||
});
|
||
},
|
||
cancelEdit: function (jq, _1cd) {
|
||
return jq.each(function () {
|
||
_119(this, _1cd, true);
|
||
});
|
||
},
|
||
getEditors: function (jq, _1ce) {
|
||
return _124(jq[0], _1ce);
|
||
},
|
||
getEditor: function (jq, _1cf) {
|
||
return _128(jq[0], _1cf);
|
||
},
|
||
refreshRow: function (jq, _1d0) {
|
||
return jq.each(function () {
|
||
var opts = $.data(this, "datagrid").options;
|
||
opts.view.refreshRow.call(opts.view, this, _1d0);
|
||
});
|
||
},
|
||
validateRow: function (jq, _1d1) {
|
||
return _118(jq[0], _1d1);
|
||
},
|
||
updateRow: function (jq, _1d2) {
|
||
return jq.each(function () {
|
||
var opts = $.data(this, "datagrid").options;
|
||
opts.view.updateRow.call(opts.view, this, _1d2.index, _1d2.row);
|
||
});
|
||
},
|
||
appendRow: function (jq, row) {
|
||
return jq.each(function () {
|
||
_149(this, row);
|
||
});
|
||
},
|
||
insertRow: function (jq, _1d3) {
|
||
return jq.each(function () {
|
||
_145(this, _1d3);
|
||
});
|
||
},
|
||
deleteRow: function (jq, index) {
|
||
return jq.each(function () {
|
||
_deleteRow(this, index);
|
||
});
|
||
},
|
||
getChanges: function (jq, _1d5) {
|
||
return _139(jq[0], _1d5);
|
||
},
|
||
acceptChanges: function (jq) {
|
||
return jq.each(function () {
|
||
_150(this);
|
||
});
|
||
},
|
||
rejectChanges: function (jq) {
|
||
return jq.each(function () {
|
||
_152(this);
|
||
});
|
||
},
|
||
mergeCells: function (jq, _1d6) {
|
||
return jq.each(function () {
|
||
_166(this, _1d6);
|
||
});
|
||
},
|
||
showColumn: function (jq, _1d7) {
|
||
return jq.each(function () {
|
||
var _1d8 = $(this).datagrid("getPanel");
|
||
_1d8.find("td[field=\"" + _1d7 + "\"]").show();
|
||
$(this).datagrid("getColumnOption", _1d7).hidden = false;
|
||
$(this).datagrid("fitColumns");
|
||
});
|
||
},
|
||
hideColumn: function (jq, _1d9) {
|
||
return jq.each(function () {
|
||
var _1da = $(this).datagrid("getPanel");
|
||
_1da.find("td[field=\"" + _1d9 + "\"]").hide();
|
||
$(this).datagrid("getColumnOption", _1d9).hidden = true;
|
||
$(this).datagrid("fitColumns");
|
||
});
|
||
}
|
||
};
|
||
$.fn.datagrid.parseOptions = function (_1db) {
|
||
var t = $(_1db);
|
||
return $.extend({}, $.fn.panel.parseOptions(_1db), $.parser.parseOptions(_1db, ["url", "toolbar", "idField", "sortName", "sortOrder", "pagePosition", "resizeHandle", {
|
||
fitColumns: "boolean",
|
||
autoRowHeight: "boolean",
|
||
striped: "boolean",
|
||
nowrap: "boolean"
|
||
}, {
|
||
rownumbers: "boolean",
|
||
singleSelect: "boolean",
|
||
checkOnSelect: "boolean",
|
||
selectOnCheck: "boolean"
|
||
}, {
|
||
pagination: "boolean",
|
||
pageSize: "number",
|
||
pageNumber: "number"
|
||
}, {
|
||
remoteSort: "boolean",
|
||
showHeader: "boolean",
|
||
showFooter: "boolean"
|
||
}, {
|
||
scrollbarSize: "number"
|
||
}
|
||
]), {
|
||
pageList: (t.attr("pageList") ? eval(t.attr("pageList")) : undefined),
|
||
loadMsg: (t.attr("loadMsg") != undefined ? t.attr("loadMsg") : undefined),
|
||
rowStyler: (t.attr("rowStyler") ? eval(t.attr("rowStyler")) : undefined)
|
||
});
|
||
};
|
||
$.fn.datagrid.parseData = function (_1dc) {
|
||
var t = $(_1dc);
|
||
var data = {
|
||
total: 0,
|
||
rows: []
|
||
};
|
||
var _1dd = t.datagrid("getColumnFields", true).concat(t.datagrid("getColumnFields", false));
|
||
t.find("tbody tr").each(function () {
|
||
data.total++;
|
||
var row = {};
|
||
$.extend(row, $.parser.parseOptions(this, ["iconCls", "state"]));
|
||
for (var i = 0; i < _1dd.length; i++) {
|
||
row[_1dd[i]] = $(this).find("td:eq(" + i + ")").html();
|
||
}
|
||
data.rows.push(row);
|
||
});
|
||
return data;
|
||
};
|
||
var _1de = {
|
||
render: function (_1df, _1e0, _1e1) {
|
||
var _1e2 = $.data(_1df, "datagrid");
|
||
var opts = _1e2.options;
|
||
var rows = _1e2.data.rows;
|
||
var _1e3 = $(_1df).datagrid("getColumnFields", _1e1);
|
||
if (_1e1) {
|
||
if (!(opts.rownumbers || (opts.frozenColumns && opts.frozenColumns.length))) {
|
||
return;
|
||
}
|
||
}
|
||
var _1e4 = ["<table class=\"datagrid-btable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"];
|
||
var start = new Date().getTime();
|
||
for (var i = 0; i < rows.length; i++) {
|
||
var cls = (i % 2 && opts.striped) ? "class=\"datagrid-row datagrid-row-alt\"" : "class=\"datagrid-row\"";
|
||
var _1e5 = opts.rowStyler ? opts.rowStyler.call(_1df, i, rows[i]) : "";
|
||
var _1e6 = _1e5 ? "style=\"" + _1e5 + "\"" : "";
|
||
var _1e7 = _1e2.rowIdPrefix + "-" + (_1e1 ? 1 : 2) + "-" + i;
|
||
_1e4.push("<tr id=\"" + _1e7 + "\" datagrid-row-index=\"" + i + "\" " + cls + " " + _1e6 + ">");
|
||
_1e4.push(this.renderRow.call(this, _1df, _1e3, _1e1, i, rows[i]));
|
||
_1e4.push("</tr>");
|
||
}
|
||
_1e4.push("</tbody></table>");
|
||
//var end = new Date().getTime();
|
||
//alert("执行了 " + (end-start) + " 毫秒");
|
||
//$(_1e0).html(_1e4.join(""));
|
||
$(_1e0)[0].innerHTML = _1e4.join("");
|
||
var third = new Date().getTime();
|
||
//alert("执行了 " + (third-end) + " 毫秒");
|
||
},
|
||
renderFooter: function (_1e8, _1e9, _1ea) {
|
||
var opts = $.data(_1e8, "datagrid").options;
|
||
var rows = $.data(_1e8, "datagrid").footer || [];
|
||
var _1eb = $(_1e8).datagrid("getColumnFields", _1ea);
|
||
var _1ec = ["<table class=\"datagrid-ftable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"];
|
||
for (var i = 0; i < rows.length; i++) {
|
||
_1ec.push("<tr class=\"datagrid-row\" datagrid-row-index=\"" + i + "\">");
|
||
_1ec.push(this.renderRow.call(this, _1e8, _1eb, _1ea, i, rows[i]));
|
||
_1ec.push("</tr>");
|
||
}
|
||
_1ec.push("</tbody></table>");
|
||
$(_1e9).html(_1ec.join(""));
|
||
},
|
||
renderRow: function (_1ed, _1ee, _1ef, _1f0, _1f1) {
|
||
var opts = $.data(_1ed, "datagrid").options;
|
||
var cc = [];
|
||
if (_1ef && opts.rownumbers) {
|
||
var _1f2 = _1f0 + 1;
|
||
if (opts.pagination) {
|
||
_1f2 += (opts.pageNumber - 1) * opts.pageSize;
|
||
}
|
||
cc.push("<td class=\"datagrid-td-rownumber\"><div class=\"datagrid-cell-rownumber\">" + _1f2 + "</div></td>");
|
||
}
|
||
for (var i = 0; i < _1ee.length; i++) {
|
||
var _1f3 = _1ee[i];
|
||
var col = $(_1ed).datagrid("getColumnOption", _1f3);
|
||
if (col) {
|
||
var _1f4 = _1f1[_1f3];
|
||
var _1f5 = col.styler ? (col.styler(_1f4, _1f1, _1f0) || "") : "";
|
||
var _1f6 = col.hidden ? "style=\"display:none;" + _1f5 + "\"" : (_1f5 ? "style=\"" + _1f5 + "\"" : "");
|
||
cc.push("<td field=\"" + _1f3 + "\" " + _1f6 + ">");
|
||
if (col.checkbox) {
|
||
var _1f6 = "";
|
||
} else {
|
||
var _1f6 = _1f5;
|
||
if (col.align) {
|
||
_1f6 += ";text-align:" + col.align + ";";
|
||
}
|
||
if (!opts.nowrap) {
|
||
_1f6 += ";white-space:normal;height:auto;";
|
||
} else {
|
||
if (opts.autoRowHeight) {
|
||
_1f6 += ";height:auto;";
|
||
}
|
||
}
|
||
}
|
||
cc.push("<div style=\"" + _1f6 + "\" ");
|
||
if (col.checkbox) {
|
||
cc.push("class=\"datagrid-cell-check ");
|
||
} else {
|
||
cc.push("class=\"datagrid-cell " + col.cellClass);
|
||
}
|
||
cc.push("\">");
|
||
if (col.checkbox) {
|
||
cc.push("<input type=\"checkbox\" name=\"" + _1f3 + "\" value=\"" + (_1f4 != undefined ? _1f4 : "") + "\"/>");
|
||
} else {
|
||
if (col.formatter) {
|
||
cc.push(col.formatter(_1f4, _1f1, _1f0));
|
||
} else {
|
||
cc.push(_1f4);
|
||
}
|
||
}
|
||
cc.push("</div>");
|
||
cc.push("</td>");
|
||
}
|
||
}
|
||
return cc.join("");
|
||
},
|
||
refreshRow: function (_1f7, _1f8) {
|
||
this.updateRow.call(this, _1f7, _1f8, {});
|
||
},
|
||
updateRow: function (_1f9, _1fa, row) {
|
||
var opts = $.data(_1f9, "datagrid").options;
|
||
var rows = $(_1f9).datagrid("getRows");
|
||
$.extend(rows[_1fa], row);
|
||
var _1fb = opts.rowStyler ? opts.rowStyler.call(_1f9, _1fa, rows[_1fa]) : "";
|
||
function _1fc(_1fd) {
|
||
var _1fe = $(_1f9).datagrid("getColumnFields", _1fd);
|
||
var tr = opts.finder.getTr(_1f9, _1fa, "body", (_1fd ? 1 : 2));
|
||
var _1ff = tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked");
|
||
tr.html(this.renderRow.call(this, _1f9, _1fe, _1fd, _1fa, rows[_1fa]));
|
||
tr.attr("style", _1fb || "");
|
||
if (_1ff) {
|
||
tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked", true);
|
||
}
|
||
};
|
||
_1fc.call(this, true);
|
||
_1fc.call(this, false);
|
||
$(_1f9).datagrid("fixRowHeight", _1fa);
|
||
},
|
||
insertRow: function (_200, _201, row) {
|
||
var _202 = $.data(_200, "datagrid");
|
||
var opts = _202.options;
|
||
var dc = _202.dc;
|
||
var data = _202.data;
|
||
if (_201 == undefined || _201 == null) {
|
||
_201 = data.rows.length;
|
||
}
|
||
if (_201 > data.rows.length) {
|
||
_201 = data.rows.length;
|
||
}
|
||
function _203(_204) {
|
||
var _205 = _204 ? 1 : 2;
|
||
for (var i = data.rows.length - 1; i >= _201; i--) {
|
||
var tr = opts.finder.getTr(_200, i, "body", _205);
|
||
tr.attr("datagrid-row-index", i + 1);
|
||
tr.attr("id", _202.rowIdPrefix + "-" + _205 + "-" + (i + 1));
|
||
if (_204 && opts.rownumbers) {
|
||
var _206 = i + 2;
|
||
if (opts.pagination) {
|
||
_206 += (opts.pageNumber - 1) * opts.pageSize;
|
||
}
|
||
tr.find("div.datagrid-cell-rownumber").html(_206);
|
||
}
|
||
}
|
||
};
|
||
function _207(_208) {
|
||
var _209 = _208 ? 1 : 2;
|
||
var _20a = $(_200).datagrid("getColumnFields", _208);
|
||
var _20b = _202.rowIdPrefix + "-" + _209 + "-" + _201;
|
||
var tr = "<tr id=\"" + _20b + "\" class=\"datagrid-row\" datagrid-row-index=\"" + _201 + "\"></tr>";
|
||
if (_201 >= data.rows.length) {
|
||
if (data.rows.length) {
|
||
opts.finder.getTr(_200, "", "last", _209).after(tr);
|
||
} else {
|
||
var cc = _208 ? dc.body1 : dc.body2;
|
||
cc.html("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>" + tr + "</tbody></table>");
|
||
}
|
||
} else {
|
||
opts.finder.getTr(_200, _201 + 1, "body", _209).before(tr);
|
||
}
|
||
};
|
||
_203.call(this, true);
|
||
_203.call(this, false);
|
||
_207.call(this, true);
|
||
_207.call(this, false);
|
||
data.total += 1;
|
||
data.rows.splice(_201, 0, row);
|
||
this.refreshRow.call(this, _200, _201);
|
||
},
|
||
deleteRow: function (_20c, _20d) {
|
||
var _20e = $.data(_20c, "datagrid");
|
||
var opts = _20e.options;
|
||
var data = _20e.data;
|
||
function _20f(_210) {
|
||
var _211 = _210 ? 1 : 2;
|
||
for (var i = _20d + 1; i < data.rows.length; i++) {
|
||
var tr = opts.finder.getTr(_20c, i, "body", _211);
|
||
tr.attr("datagrid-row-index", i - 1);
|
||
tr.attr("id", _20e.rowIdPrefix + "-" + _211 + "-" + (i - 1));
|
||
if (_210 && opts.rownumbers) {
|
||
var _212 = i;
|
||
if (opts.pagination) {
|
||
_212 += (opts.pageNumber - 1) * opts.pageSize;
|
||
}
|
||
tr.find("div.datagrid-cell-rownumber").html(_212);
|
||
}
|
||
}
|
||
};
|
||
opts.finder.getTr(_20c, _20d).remove();
|
||
_20f.call(this, true);
|
||
_20f.call(this, false);
|
||
data.total -= 1;
|
||
data.rows.splice(_20d, 1);
|
||
},
|
||
onBeforeRender: function (_213, rows) { },
|
||
onAfterRender: function (_214) {
|
||
var opts = $.data(_214, "datagrid").options;
|
||
if (opts.showFooter) {
|
||
var _215 = $(_214).datagrid("getPanel").find("div.datagrid-footer");
|
||
_215.find("div.datagrid-cell-rownumber,div.datagrid-cell-check").css("visibility", "hidden");
|
||
}
|
||
}
|
||
};
|
||
$.fn.datagrid.defaults = $.extend({}, $.fn.panel.defaults, {
|
||
frozenColumns: undefined,
|
||
columns: undefined,
|
||
fitColumns: false,
|
||
resizeHandle: "right",
|
||
autoRowHeight: true,
|
||
toolbar: null,
|
||
striped: false,
|
||
method: "post",
|
||
nowrap: true,
|
||
idField: null,
|
||
url: null,
|
||
data: null,
|
||
loadMsg: "Processing, please wait ...",
|
||
rownumbers: false,
|
||
singleSelect: false,
|
||
selectOnCheck: true,
|
||
checkOnSelect: true,
|
||
pagination: false,
|
||
pagePosition: "bottom",
|
||
pageNumber: 1,
|
||
pageSize: 10,
|
||
pageList: [10, 20, 30, 40, 50],
|
||
queryParams: {},
|
||
sortName: null,
|
||
sortOrder: "asc",
|
||
remoteSort: true,
|
||
showHeader: true,
|
||
showFooter: false,
|
||
scrollbarSize: 18,
|
||
rowStyler: function (_216, _217) { },
|
||
loader: function (_218, _219, _21a) {
|
||
var opts = $(this).datagrid("options");
|
||
if (!opts.url) {
|
||
return false;
|
||
}
|
||
$.ajax({
|
||
type: opts.method,
|
||
url: opts.url,
|
||
data: _218,
|
||
dataType: "json",
|
||
success: function (data) {
|
||
_219(data);
|
||
},
|
||
error: function () {
|
||
_21a.apply(this, arguments);
|
||
}
|
||
});
|
||
},
|
||
loadFilter: function (data) {
|
||
if (typeof data.length == "number" && typeof data.splice == "function") {
|
||
return {
|
||
total: data.length,
|
||
rows: data
|
||
};
|
||
} else {
|
||
return data;
|
||
}
|
||
},
|
||
editors: _16e,
|
||
finder: {
|
||
getTr: function (_21b, _21c, type, _21d) {
|
||
type = type || "body";
|
||
_21d = _21d || 0;
|
||
var _21e = $.data(_21b, "datagrid");
|
||
var dc = _21e.dc;
|
||
var opts = _21e.options;
|
||
if (_21d == 0) {
|
||
var tr1 = opts.finder.getTr(_21b, _21c, type, 1);
|
||
var tr2 = opts.finder.getTr(_21b, _21c, type, 2);
|
||
return tr1.add(tr2);
|
||
} else {
|
||
if (type == "body") {
|
||
var tr = $("#" + _21e.rowIdPrefix + "-" + _21d + "-" + _21c);
|
||
if (!tr.length) {
|
||
tr = (_21d == 1 ? dc.body1 : dc.body2).find(">table>tbody>tr[datagrid-row-index=" + _21c + "]");
|
||
}
|
||
return tr;
|
||
} else {
|
||
if (type == "footer") {
|
||
return (_21d == 1 ? dc.footer1 : dc.footer2).find(">table>tbody>tr[datagrid-row-index=" + _21c + "]");
|
||
} else {
|
||
if (type == "selected") {
|
||
//return (_21d == 1 ? dc.body1 : dc.body2).find(">table>tbody>tr.datagrid-row-selected");
|
||
var $trs;
|
||
if (_21d == 1) {
|
||
if (_21e.selectedTrsBody1 && _21e.selectedTrsBody1.hasClass("datagrid-row-selected")) {
|
||
$trs = _21e.selectedTrsBody1;
|
||
}
|
||
} else if (_21d == 2) {
|
||
if (_21e.selectedTrsBody2 && _21e.selectedTrsBody2.hasClass("datagrid-row-selected")) {
|
||
$trs = _21e.selectedTrsBody2;
|
||
}
|
||
}
|
||
//如果是未定义,则返回一个jQueru空对象,确ä¿add函数ä¸ä¼šæŠ¥é”™
|
||
$trs = $trs || $(undefined);
|
||
return $trs;
|
||
} else {
|
||
if (type == "highlight") {
|
||
return (_21d == 1 ? dc.body1 : dc.body2).find(">table>tbody>tr.datagrid-row-over");
|
||
} else {
|
||
if (type == "checked") {
|
||
//return (_21d == 1 ? dc.body1 : dc.body2).find(">table>tbody>tr.datagrid-row:has(div.datagrid-cell-check input:checked)");
|
||
var $trs;
|
||
|
||
if (_21d == 1) {
|
||
if (_21e.checkedTrsBody1 && _21e.checkedTrsBody1.hasClass("datagrid-row-checked")) {
|
||
$trs = _21e.checkedTrsBody1;
|
||
}
|
||
} else if (_21d == 2) {
|
||
if (_21e.checkedTrsBody2 && _21e.checkedTrsBody2.hasClass("datagrid-row-checked")) {
|
||
$trs = _21e.checkedTrsBody2;
|
||
}
|
||
}
|
||
/*
|
||
if(_21d == 1){
|
||
if(_21e.checkedTrsBody1 && _21e.checkedTrsBody1.find(">td>div.datagrid-cell-check").length){
|
||
$trs = _21e.checkedTrsBody1;
|
||
}
|
||
}else if(_21d == 2){
|
||
if(_21e.checkedTrsBody2 && _21e.checkedTrsBody2.find(">td>div.datagrid-cell-check").length){
|
||
$trs = _21e.checkedTrsBody2;
|
||
}
|
||
}
|
||
*/
|
||
//如果是未定义,则返回一个jQueru空对象,确ä¿add函数ä¸ä¼šæŠ¥é”™
|
||
$trs = $trs || $(undefined);
|
||
return $trs;
|
||
} else {
|
||
if (type == "last") {
|
||
return (_21d == 1 ? dc.body1 : dc.body2).find(">table>tbody>tr[datagrid-row-index]:last");
|
||
} else {
|
||
if (type == "allbody") {
|
||
return (_21d == 1 ? dc.body1 : dc.body2).find(">table>tbody>tr[datagrid-row-index]");
|
||
} else {
|
||
if (type == "allfooter") {
|
||
return (_21d == 1 ? dc.footer1 : dc.footer2).find(">table>tbody>tr[datagrid-row-index]");
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
getRow: function (_21f, p) {
|
||
var _220 = (typeof p == "object") ? p.attr("datagrid-row-index") : p;
|
||
return $.data(_21f, "datagrid").data.rows[parseInt(_220)];
|
||
}
|
||
},
|
||
view: _1de,
|
||
onBeforeLoad: function (_221) { },
|
||
onLoadSuccess: function () { },
|
||
onLoadError: function () { },
|
||
onClickRow: function (_222, _223) { },
|
||
onDblClickRow: function (_224, _225) { },
|
||
onClickCell: function (_226, _227, _228) { },
|
||
onDblClickCell: function (_229, _22a, _22b) { },
|
||
onSortColumn: function (sort, _22c) { },
|
||
onResizeColumn: function (_22d, _22e) { },
|
||
onSelect: function (_22f, _230) { },
|
||
onUnselect: function (_231, _232) { },
|
||
onSelectAll: function (rows) { },
|
||
onUnselectAll: function (rows) { },
|
||
onCheck: function (_233, _234) { },
|
||
onUncheck: function (_235, _236) { },
|
||
onCheckAll: function (rows) { },
|
||
onUncheckAll: function (rows) { },
|
||
onBeforeEdit: function (_237, _238) { },
|
||
onAfterEdit: function (_239, _23a, _23b) { },
|
||
onCancelEdit: function (_23c, _23d) { },
|
||
onHeaderContextMenu: function (e, _23e) { },
|
||
onRowContextMenu: function (e, _23f, _240) { }
|
||
|
||
});
|
||
})(jQuery); |