memo
- 两个
jQuery
的静态成员(插件)
$.messager
$.parser
其调用方法的格式:$.pluginName.methodName(...)
。
而原型成员$.fn.xxx
调用方法的格式为:${selector}.pluginName(methodName, ?args)
。
intro
- 50个自调用函数
EasyUI for jQuery 1.7.6
EasyUI源码中共有50个自调用函数,格式皆为:
(function($) {
// ...
})(jQuery);
其中:
第1个自调用函数:用于定义jQuery的静态成员 .fn.xxx。
第2个自调用函数:事件监听器eventListener相关。
第3~50个(共48个),每个自调用函数中,定义一种plugins的细节。
但是$.parser.plugins
数组中只定义了47种插件名称,
经过集合运算,过滤出自调用函数中多出来的一种插件是messager
。
区别:
$.messager
静态成员(插件)
$.fn.plugins
原型属性(插件)
- 第1个自调用函数
(function($) {
/** 定义了jQuery的两个g静态成员属性:$.easyui和$.parser。 */
$.easyui = {};
#.parser = {
/** $.parser.plugins定义了47种EasyUI插件的名称。如datagrid, pagination等 */
plugins: ["draggable", "droppable", "resizable", "pagination", "tooltip", "linkbutton", "menu", "sidemenu", "menubutton", "splitbutton", "switchbutton", "progressbar", "radiobutton", "checkbox", "tree", "textbox", "passwordbox", "maskedbox", "filebox", "combo", "combobox", "combotree", "combogrid", "combotreegrid", "tagbox", "numberbox", "validatebox", "searchbox", "spinner", "numberspinner", "timespinner", "datetimespinner", "calendar", "datebox", "datetimebox", "slider", "layout", "panel", "datagrid", "propertygrid", "treegrid", "datalist", "tabs", "accordion", "window", "dialog", "form"]
/** 其他成员 */
};
/** 一个匿名函数。。。也没有自调用。不知道在干什么 */
$(function() {});
/** jQuery的原型成员:
* 1个原型属性:$.fn._propAttr
* 4个原型方法:$.fn._outerWidth, $.fn._outerHeight, $.fn._scrollLeft, $.fn._size。
*/
$.fn._outerWidth = function() {};
$.fn._outerHeight = function() {};
$.fn._scrollLeft = function() {};
$.fn._propAttr = $.fn.prop || $.fn.attr;
$.fn._size = function() {};
})(jQuery);
-
第2个自调用函数
事件监听器eventListener
相关。 -
其余48个用于定义插件细节的自调用函数
插件名:xxx
,每个插件的自调用函数中都有的部分是:
$.fn.xxx = function() {...};
$.fn.xxx.methods = {};
$.fn.xxx.parseOptions = function() {...};
$.fn.xxx.defaults = {};
其中:
$.fn.xxx.methods
中定义了插件的方法methods
。$.fn.xxx.defaults
中定义了插件的属性Properties
和事件Events
。
插件的方法,属性和事件皆可扩展:jQuery.extend(target, ...sources)
。
将$.fn.pluginName.methods
对象作为target
,对齐进行扩展。
且新方法至少有一个参数,第一个参数为jquery
对象(主要是为了链式调用)。
$.extend($.fn.dialog.methods, {
mymove: function(jq, newposition){
return jq.each(function(){
$(this).dialog('move', newposition);
});
}
});
- 插件使用
- 修改插件属性|事件
$(selector).plugiinName({propertyList});
- 调用插件方法
$(selector).pluginName("funcName", parameter)
- 修改插件属性|事件
源码结构
(function($) {
$.easyui = {};
$.parser = {};
$(function() {});
$.fn._outerWidth = function() {};
$.fn._outerHeight = function() {};
$.fn._scrollLeft = function() {};
$.fn._propAttr = $.fn.prop || $.fn.attr;
$.fn._size = function() {};
})(jQuery);
/** 2. 事件处理器相关 */
(function($) {
/** ... */
})(jQuery);
/** 插件 1: draggable */
(function($) {
/** 几个_数值命名的function */
$.fn.draggable = function() {};
$.fn.draggable.methods = {};
$.fn.draggable.parseOptions = function() {};
$.fn.draggable.default = {};
$.fn.draggable.isDragging = false;
})(jQuery);
/** 插件 2: groppable */
(function($) {
/** 几个_数值命名的function */
$.fn.droppable = function() {};
$.fn.droppable.methods = {};
$.fn.droppable.parseOptions = function() {};
$.fn.droppable.defaults = {};
})(jQuery);
/** 插件 3: resizable */
(function($) {
/** 几个_数值命名的function */
$.fn.resizable = function() {};
$.fn.resizable.methods = {};
$.fn.resizable.parseOptions = function() {};
$.fn.resizable.defaults = {};
$.fn.resizable.isResizing = false;
})(jQuery);
/** 以上是3个插件(共5个自调用函数),
* 后面有格式相似的45个自调用函数,每个里面都是一个easyui plugins(顺序见后)
*/
48种$.fn.parser.plugins
细节会后续补充。
draggable
droppable
resizable
linkbutton
pagination
tree
progressbar
tooltip
panel
window
dialog
messager
accordion
tabs
layout
menu
sidemenu
menubutton
splitbutton
switchbutton
radiobutton
checkbox
validatebox
textbox
passwordbox
maskedbox
filebox
searchbox
form
numberbox
calendar
spinner
numberspinner
timespinner
datetimespinner
datagrid
propertygrid
treegrid
datalist
combo
combobox
combotree
combogrid
combotreegrid
tagbox
datebox
datetimebox
slider
jQuery EasyUI 文档
部分自调用函数源码
最典型的自调用函数:
第一个(用于向jQuery对象添加静态成员
$.xxx
和原型成员$.fn.xxx
)
第二个(eventListener
相关)
其余48种插件源码中的pagination
。
- 第一个
(function ($) {
$.easyui = {
indexOfArray: function (a, o, id) {
for (var i = 0, _1 = a.length; i < _1; i++) {
if (id == undefined) {
if (a[i] == o) {
return i;
}
} else {
if (a[i][o] == id) {
return i;
}
}
}
return -1;
}, removeArrayItem: function (a, o, id) {
if (typeof o == "string") {
for (var i = 0, _2 = a.length; i < _2; i++) {
if (a[i][o] == id) {
a.splice(i, 1);
return;
}
}
} else {
var _3 = this.indexOfArray(a, o);
if (_3 != -1) {
a.splice(_3, 1);
}
}
}, addArrayItem: function (a, o, r) {
var _4 = this.indexOfArray(a, o, r ? r[o] : undefined);
if (_4 == -1) {
a.push(r ? r : o);
} else {
a[_4] = r ? r : o;
}
}, getArrayItem: function (a, o, id) {
var _5 = this.indexOfArray(a, o, id);
return _5 == -1 ? null : a[_5];
}, forEach: function (_6, _7, _8) {
var _9 = [];
for (var i = 0; i < _6.length; i++) {
_9.push(_6[i]);
}
while (_9.length) {
var _a = _9.shift();
if (_8(_a) == false) {
return;
}
if (_7 && _a.children) {
for (var i = _a.children.length - 1; i >= 0; i--) {
_9.unshift(_a.children[i]);
}
}
}
}
};
$.parser = {
auto: true,
emptyFn: function () {
},
onComplete: function (_b) {
},
plugins: ["draggable", "droppable", "resizable", "pagination", "tooltip", "linkbutton", "menu", "sidemenu", "menubutton", "splitbutton", "switchbutton", "progressbar", "radiobutton", "checkbox", "tree", "textbox", "passwordbox", "maskedbox", "filebox", "combo", "combobox", "combotree", "combogrid", "combotreegrid", "tagbox", "numberbox", "validatebox", "searchbox", "spinner", "numberspinner", "timespinner", "datetimespinner", "calendar", "datebox", "datetimebox", "slider", "layout", "panel", "datagrid", "propertygrid", "treegrid", "datalist", "tabs", "accordion", "window", "dialog", "form"],
parse: function (_c) {
var aa = [];
for (var i = 0; i < $.parser.plugins.length; i++) {
var _d = $.parser.plugins[i];
var r = $(".easyui-" + _d, _c);
if (r.length) {
if (r[_d]) {
r.each(function () {
$(this)[_d]($.data(this, "options") || {});
});
} else {
aa.push({ name: _d, jq: r });
}
}
}
if (aa.length && window.easyloader) {
var _e = [];
for (var i = 0; i < aa.length; i++) {
_e.push(aa[i].name);
}
easyloader.load(_e, function () {
for (var i = 0; i < aa.length; i++) {
var _f = aa[i].name;
var jq = aa[i].jq;
jq.each(function () {
$(this)[_f]($.data(this, "options") || {});
});
}
$.parser.onComplete.call($.parser, _c);
});
} else {
$.parser.onComplete.call($.parser, _c);
}
}, parseValue: function (_10, _11, _12, _13) {
_13 = _13 || 0;
var v = $.trim(String(_11 || ""));
var _14 = v.substr(v.length - 1, 1);
if (_14 == "%") {
v = parseFloat(v.substr(0, v.length - 1));
if (_10.toLowerCase().indexOf("width") >= 0) {
_13 += _12[0].offsetWidth - _12[0].clientWidth;
v = Math.floor((_12.width() - _13) * v / 100);
} else {
_13 += _12[0].offsetHeight - _12[0].clientHeight;
v = Math.floor((_12.height() - _13) * v / 100);
}
} else {
v = parseInt(v) || undefined;
}
return v;
}, parseOptions: function (_15, _16) {
var t = $(_15);
var _17 = {};
var s = $.trim(t.attr("data-options"));
if (s) {
if (s.substring(0, 1) != "{") {
s = "{" + s + "}";
}
_17 = (new Function("return " + s))();
}
$.map(["width", "height", "left", "top", "minWidth", "maxWidth", "minHeight", "maxHeight"], function (p) {
var pv = $.trim(_15.style[p] || "");
if (pv) {
if (pv.indexOf("%") == -1) {
pv = parseInt(pv);
if (isNaN(pv)) {
pv = undefined;
}
}
_17[p] = pv;
}
});
if (_16) {
var _18 = {};
for (var i = 0; i < _16.length; i++) {
var pp = _16[i];
if (typeof pp == "string") {
_18[pp] = t.attr(pp);
} else {
for (var _19 in pp) {
var _1a = pp[_19];
if (_1a == "boolean") {
_18[_19] = t.attr(_19) ? (t.attr(_19) == "true") : undefined;
} else {
if (_1a == "number") {
_18[_19] = t.attr(_19) == "0" ? 0 : parseFloat(t.attr(_19)) || undefined;
}
}
}
}
}
$.extend(_17, _18);
}
return _17;
}
};
$(function () {
var d = $("<div style=\"position:absolute;top:-1000px;width:100px;height:100px;padding:5px\"></div>").appendTo("body");
$._boxModel = d.outerWidth() != 100;
d.remove();
d = $("<div style=\"position:fixed\"></div>").appendTo("body");
$._positionFixed = (d.css("position") == "fixed");
d.remove();
if (!window.easyloader && $.parser.auto) {
$.parser.parse();
}
});
$.fn._outerWidth = function (_1b) {
if (_1b == undefined) {
if (this[0] == window) {
return this.width() || document.body.clientWidth;
}
return this.outerWidth() || 0;
}
return this._size("width", _1b);
};
$.fn._outerHeight = function (_1c) {
if (_1c == undefined) {
if (this[0] == window) {
return this.height() || document.body.clientHeight;
}
return this.outerHeight() || 0;
}
return this._size("height", _1c);
};
$.fn._scrollLeft = function (_1d) {
if (_1d == undefined) {
return this.scrollLeft();
} else {
return this.each(function () {
$(this).scrollLeft(_1d);
});
}
};
$.fn._propAttr = $.fn.prop || $.fn.attr;
$.fn._size = function (_1e, _1f) {
if (typeof _1e == "string") {
if (_1e == "clear") {
return this.each(function () {
$(this).css({ width: "", minWidth: "", maxWidth: "", height: "", minHeight: "", maxHeight: "" });
});
} else {
if (_1e == "fit") {
return this.each(function () {
_20(this, this.tagName == "BODY" ? $("body") : $(this).parent(), true);
});
} else {
if (_1e == "unfit") {
return this.each(function () {
_20(this, $(this).parent(), false);
});
} else {
if (_1f == undefined) {
return _21(this[0], _1e);
} else {
return this.each(function () {
_21(this, _1e, _1f);
});
}
}
}
}
} else {
return this.each(function () {
_1f = _1f || $(this).parent();
$.extend(_1e, _20(this, _1f, _1e.fit) || {});
var r1 = _22(this, "width", _1f, _1e);
var r2 = _22(this, "height", _1f, _1e);
if (r1 || r2) {
$(this).addClass("easyui-fluid");
} else {
$(this).removeClass("easyui-fluid");
}
});
}
function _20(_23, _24, fit) {
if (!_24.length) {
return false;
}
var t = $(_23)[0];
var p = _24[0];
var _25 = p.fcount || 0;
if (fit) {
if (!t.fitted) {
t.fitted = true;
p.fcount = _25 + 1;
$(p).addClass("panel-noscroll");
if (p.tagName == "BODY") {
$("html").addClass("panel-fit");
}
}
return { width: ($(p).width() || 1), height: ($(p).height() || 1) };
} else {
if (t.fitted) {
t.fitted = false;
p.fcount = _25 - 1;
if (p.fcount == 0) {
$(p).removeClass("panel-noscroll");
if (p.tagName == "BODY") {
$("html").removeClass("panel-fit");
}
}
}
return false;
}
};
function _22(_26, _27, _28, _29) {
var t = $(_26);
var p = _27;
var p1 = p.substr(0, 1).toUpperCase() + p.substr(1);
var min = $.parser.parseValue("min" + p1, _29["min" + p1], _28);
var max = $.parser.parseValue("max" + p1, _29["max" + p1], _28);
var val = $.parser.parseValue(p, _29[p], _28);
var _2a = (String(_29[p] || "").indexOf("%") >= 0 ? true : false);
if (!isNaN(val)) {
var v = Math.min(Math.max(val, min || 0), max || 99999);
if (!_2a) {
_29[p] = v;
}
t._size("min" + p1, "");
t._size("max" + p1, "");
t._size(p, v);
} else {
t._size(p, "");
t._size("min" + p1, min);
t._size("max" + p1, max);
}
return _2a || _29.fit;
};
function _21(_2b, _2c, _2d) {
var t = $(_2b);
if (_2d == undefined) {
_2d = parseInt(_2b.style[_2c]);
if (isNaN(_2d)) {
return undefined;
}
if ($._boxModel) {
_2d += _2e();
}
return _2d;
} else {
if (_2d === "") {
t.css(_2c, "");
} else {
if ($._boxModel) {
_2d -= _2e();
if (_2d < 0) {
_2d = 0;
}
}
t.css(_2c, _2d + "px");
}
}
function _2e() {
if (_2c.toLowerCase().indexOf("width") >= 0) {
return t.outerWidth() - t.width();
} else {
return t.outerHeight() - t.height();
}
};
};
};
})(jQuery);
- 第二个
(function ($) {
var _2f = null;
var _30 = null;
var _31 = false;
function _32(e) {
if (e.touches.length != 1) {
return;
}
if (!_31) {
_31 = true;
dblClickTimer = setTimeout(function () {
_31 = false;
}, 500);
} else {
clearTimeout(dblClickTimer);
_31 = false;
_33(e, "dblclick");
}
_2f = setTimeout(function () {
_33(e, "contextmenu", 3);
}, 1000);
_33(e, "mousedown");
if ($.fn.draggable.isDragging || $.fn.resizable.isResizing) {
e.preventDefault();
}
};
function _34(e) {
if (e.touches.length != 1) {
return;
}
if (_2f) {
clearTimeout(_2f);
}
_33(e, "mousemove");
if ($.fn.draggable.isDragging || $.fn.resizable.isResizing) {
e.preventDefault();
}
};
function _35(e) {
if (_2f) {
clearTimeout(_2f);
}
_33(e, "mouseup");
if ($.fn.draggable.isDragging || $.fn.resizable.isResizing) {
e.preventDefault();
}
};
function _33(e, _36, _37) {
var _38 = new $.Event(_36);
_38.pageX = e.changedTouches[0].pageX;
_38.pageY = e.changedTouches[0].pageY;
_38.which = _37 || 1;
$(e.target).trigger(_38);
};
if (document.addEventListener) {
document.addEventListener("touchstart", _32, true);
document.addEventListener("touchmove", _34, true);
document.addEventListener("touchend", _35, true);
}
})(jQuery);(function ($) {
var _2f = null;
var _30 = null;
var _31 = false;
function _32(e) {
if (e.touches.length != 1) {
return;
}
if (!_31) {
_31 = true;
dblClickTimer = setTimeout(function () {
_31 = false;
}, 500);
} else {
clearTimeout(dblClickTimer);
_31 = false;
_33(e, "dblclick");
}
_2f = setTimeout(function () {
_33(e, "contextmenu", 3);
}, 1000);
_33(e, "mousedown");
if ($.fn.draggable.isDragging || $.fn.resizable.isResizing) {
e.preventDefault();
}
};
function _34(e) {
if (e.touches.length != 1) {
return;
}
if (_2f) {
clearTimeout(_2f);
}
_33(e, "mousemove");
if ($.fn.draggable.isDragging || $.fn.resizable.isResizing) {
e.preventDefault();
}
};
function _35(e) {
if (_2f) {
clearTimeout(_2f);
}
_33(e, "mouseup");
if ($.fn.draggable.isDragging || $.fn.resizable.isResizing) {
e.preventDefault();
}
};
function _33(e, _36, _37) {
var _38 = new $.Event(_36);
_38.pageX = e.changedTouches[0].pageX;
_38.pageY = e.changedTouches[0].pageY;
_38.which = _37 || 1;
$(e.target).trigger(_38);
};
if (document.addEventListener) {
document.addEventListener("touchstart", _32, true);
document.addEventListener("touchmove", _34, true);
document.addEventListener("touchend", _35, true);
}
})(jQuery);
pagination
插件
(function ($) {
function _ac(_ad) {
var _ae = $.data(_ad, "pagination");
var _af = _ae.options;
var bb = _ae.bb = {};
if (_af.buttons && !$.isArray(_af.buttons)) {
$(_af.buttons).insertAfter(_ad);
}
var _b0 = $(_ad).addClass("pagination").html("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tr></tr></table>");
var tr = _b0.find("tr");
var aa = $.extend([], _af.layout);
if (!_af.showPageList) {
_b1(aa, "list");
}
if (!_af.showPageInfo) {
_b1(aa, "info");
}
if (!_af.showRefresh) {
_b1(aa, "refresh");
}
if (aa[0] == "sep") {
aa.shift();
}
if (aa[aa.length - 1] == "sep") {
aa.pop();
}
for (var _b2 = 0; _b2 < aa.length; _b2++) {
var _b3 = aa[_b2];
if (_b3 == "list") {
var ps = $("<select class=\"pagination-page-list\"></select>");
ps.bind("change", function () {
_af.pageSize = parseInt($(this).val());
_af.onChangePageSize.call(_ad, _af.pageSize);
_b9(_ad, _af.pageNumber);
});
for (var i = 0; i < _af.pageList.length; i++) {
$("<option></option>").text(_af.pageList[i]).appendTo(ps);
}
$("<td></td>").append(ps).appendTo(tr);
} else {
if (_b3 == "sep") {
$("<td><div class=\"pagination-btn-separator\"></div></td>").appendTo(tr);
} else {
if (_b3 == "first") {
bb.first = _b4("first");
} else {
if (_b3 == "prev") {
bb.prev = _b4("prev");
} else {
if (_b3 == "next") {
bb.next = _b4("next");
} else {
if (_b3 == "last") {
bb.last = _b4("last");
} else {
if (_b3 == "manual") {
$("<span style=\"padding-left:6px;\"></span>").html(_af.beforePageText).appendTo(tr).wrap("<td></td>");
bb.num = $("<input class=\"pagination-num\" type=\"text\" value=\"1\" size=\"2\">").appendTo(tr).wrap("<td></td>");
bb.num.unbind(".pagination").bind("keydown.pagination", function (e) {
if (e.keyCode == 13) {
var _b5 = parseInt($(this).val()) || 1;
_b9(_ad, _b5);
return false;
}
});
bb.after = $("<span style=\"padding-right:6px;\"></span>").appendTo(tr).wrap("<td></td>");
} else {
if (_b3 == "refresh") {
bb.refresh = _b4("refresh");
} else {
if (_b3 == "links") {
$("<td class=\"pagination-links\"></td>").appendTo(tr);
} else {
if (_b3 == "info") {
if (_b2 == aa.length - 1) {
$("<div class=\"pagination-info\"></div>").appendTo(_b0);
} else {
$("<td><div class=\"pagination-info\"></div></td>").appendTo(tr);
}
}
}
}
}
}
}
}
}
}
}
}
if (_af.buttons) {
$("<td><div class=\"pagination-btn-separator\"></div></td>").appendTo(tr);
if ($.isArray(_af.buttons)) {
for (var i = 0; i < _af.buttons.length; i++) {
var btn = _af.buttons[i];
if (btn == "-") {
$("<td><div class=\"pagination-btn-separator\"></div></td>").appendTo(tr);
} else {
var td = $("<td></td>").appendTo(tr);
var a = $("<a href=\"javascript:;\"></a>").appendTo(td);
a[0].onclick = eval(btn.handler || function () {
});
a.linkbutton($.extend({}, btn, { plain: true }));
}
}
} else {
var td = $("<td></td>").appendTo(tr);
$(_af.buttons).appendTo(td).show();
}
}
$("<div style=\"clear:both;\"></div>").appendTo(_b0);
function _b4(_b6) {
var btn = _af.nav[_b6];
var a = $("<a href=\"javascript:;\"></a>").appendTo(tr);
a.wrap("<td></td>");
a.linkbutton({ iconCls: btn.iconCls, plain: true }).unbind(".pagination").bind("click.pagination", function () {
btn.handler.call(_ad);
});
return a;
};
function _b1(aa, _b7) {
var _b8 = $.inArray(_b7, aa);
if (_b8 >= 0) {
aa.splice(_b8, 1);
}
return aa;
};
};
function _b9(_ba, _bb) {
var _bc = $.data(_ba, "pagination").options;
_bd(_ba, { pageNumber: _bb });
_bc.onSelectPage.call(_ba, _bc.pageNumber, _bc.pageSize);
};
function _bd(_be, _bf) {
var _c0 = $.data(_be, "pagination");
var _c1 = _c0.options;
var bb = _c0.bb;
$.extend(_c1, _bf || {});
var ps = $(_be).find("select.pagination-page-list");
if (ps.length) {
ps.val(_c1.pageSize + "");
_c1.pageSize = parseInt(ps.val());
}
var _c2 = Math.ceil(_c1.total / _c1.pageSize) || 1;
if (_c1.pageNumber < 1) {
_c1.pageNumber = 1;
}
if (_c1.pageNumber > _c2) {
_c1.pageNumber = _c2;
}
if (_c1.total == 0) {
_c1.pageNumber = 0;
_c2 = 0;
}
if (bb.num) {
bb.num.val(_c1.pageNumber);
}
if (bb.after) {
bb.after.html(_c1.afterPageText.replace(/{pages}/, _c2));
}
var td = $(_be).find("td.pagination-links");
if (td.length) {
td.empty();
var _c3 = _c1.pageNumber - Math.floor(_c1.links / 2);
if (_c3 < 1) {
_c3 = 1;
}
var _c4 = _c3 + _c1.links - 1;
if (_c4 > _c2) {
_c4 = _c2;
}
_c3 = _c4 - _c1.links + 1;
if (_c3 < 1) {
_c3 = 1;
}
for (var i = _c3; i <= _c4; i++) {
var a = $("<a class=\"pagination-link\" href=\"javascript:;\"></a>").appendTo(td);
a.linkbutton({ plain: true, text: i });
if (i == _c1.pageNumber) {
a.linkbutton("select");
} else {
a.unbind(".pagination").bind("click.pagination", { pageNumber: i }, function (e) {
_b9(_be, e.data.pageNumber);
});
}
}
}
var _c5 = _c1.displayMsg;
_c5 = _c5.replace(/{from}/, _c1.total == 0 ? 0 : _c1.pageSize * (_c1.pageNumber - 1) + 1);
_c5 = _c5.replace(/{to}/, Math.min(_c1.pageSize * (_c1.pageNumber), _c1.total));
_c5 = _c5.replace(/{total}/, _c1.total);
$(_be).find("div.pagination-info").html(_c5);
if (bb.first) {
bb.first.linkbutton({ disabled: ((!_c1.total) || _c1.pageNumber == 1) });
}
if (bb.prev) {
bb.prev.linkbutton({ disabled: ((!_c1.total) || _c1.pageNumber == 1) });
}
if (bb.next) {
bb.next.linkbutton({ disabled: (_c1.pageNumber == _c2) });
}
if (bb.last) {
bb.last.linkbutton({ disabled: (_c1.pageNumber == _c2) });
}
_c6(_be, _c1.loading);
};
function _c6(_c7, _c8) {
var _c9 = $.data(_c7, "pagination");
var _ca = _c9.options;
_ca.loading = _c8;
if (_ca.showRefresh && _c9.bb.refresh) {
_c9.bb.refresh.linkbutton({ iconCls: (_ca.loading ? "pagination-loading" : "pagination-load") });
}
};
$.fn.pagination = function (_cb, _cc) {
if (typeof _cb == "string") {
return $.fn.pagination.methods[_cb](this, _cc);
}
_cb = _cb || {};
return this.each(function () {
var _cd;
var _ce = $.data(this, "pagination");
if (_ce) {
_cd = $.extend(_ce.options, _cb);
} else {
_cd = $.extend({}, $.fn.pagination.defaults, $.fn.pagination.parseOptions(this), _cb);
$.data(this, "pagination", { options: _cd });
}
_ac(this);
_bd(this);
});
};
$.fn.pagination.methods = {
options: function (jq) {
return $.data(jq[0], "pagination").options;
}, loading: function (jq) {
return jq.each(function () {
_c6(this, true);
});
}, loaded: function (jq) {
return jq.each(function () {
_c6(this, false);
});
}, refresh: function (jq, _cf) {
return jq.each(function () {
_bd(this, _cf);
});
}, select: function (jq, _d0) {
return jq.each(function () {
_b9(this, _d0);
});
}
};
$.fn.pagination.parseOptions = function (_d1) {
var t = $(_d1);
return $.extend({}, $.parser.parseOptions(_d1, [{ total: "number", pageSize: "number", pageNumber: "number", links: "number" }, { loading: "boolean", showPageList: "boolean", showPageInfo: "boolean", showRefresh: "boolean" }]), { pageList: (t.attr("pageList") ? eval(t.attr("pageList")) : undefined) });
};
$.fn.pagination.defaults = {
total: 1, pageSize: 10, pageNumber: 1, pageList: [10, 20, 30, 50], loading: false, buttons: null, showPageList: true, showPageInfo: true, showRefresh: true, links: 10, layout: ["list", "sep", "first", "prev", "sep", "manual", "sep", "next", "last", "sep", "refresh", "info"], onSelectPage: function (_d2, _d3) {
}, onBeforeRefresh: function (_d4, _d5) {
}, onRefresh: function (_d6, _d7) {
}, onChangePageSize: function (_d8) {
}, beforePageText: "Page", afterPageText: "of {pages}", displayMsg: "Displaying {from} to {to} of {total} items", nav: {
first: {
iconCls: "pagination-first", handler: function () {
var _d9 = $(this).pagination("options");
if (_d9.pageNumber > 1) {
$(this).pagination("select", 1);
}
}
}, prev: {
iconCls: "pagination-prev", handler: function () {
var _da = $(this).pagination("options");
if (_da.pageNumber > 1) {
$(this).pagination("select", _da.pageNumber - 1);
}
}
}, next: {
iconCls: "pagination-next", handler: function () {
var _db = $(this).pagination("options");
var _dc = Math.ceil(_db.total / _db.pageSize);
if (_db.pageNumber < _dc) {
$(this).pagination("select", _db.pageNumber + 1);
}
}
}, last: {
iconCls: "pagination-last", handler: function () {
var _dd = $(this).pagination("options");
var _de = Math.ceil(_dd.total / _dd.pageSize);
if (_dd.pageNumber < _de) {
$(this).pagination("select", _de);
}
}
}, refresh: {
iconCls: "pagination-refresh", handler: function () {
var _df = $(this).pagination("options");
if (_df.onBeforeRefresh.call(this, _df.pageNumber, _df.pageSize) != false) {
$(this).pagination("select", _df.pageNumber);
_df.onRefresh.call(this, _df.pageNumber, _df.pageSize);
}
}
}
}
};
})(jQuery);