You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2771 lines
93 KiB

/*
* bootstrap-table - v1.12.2 - 2018-11-29
* https://github.com/wenzhixin/bootstrap-table
* Copyright (c) 2018 zhixin wen
* Licensed MIT License
*/
!(function (t) {
"use strict";
var i = 3;
try {
i = parseInt(t.fn.dropdown.Constructor.VERSION, 10);
} catch (t) {}
var e = {
3: {
buttonsClass: "default",
iconsPrefix: "glyphicon",
icons: {
paginationSwitchDown: "glyphicon-collapse-down icon-chevron-down",
paginationSwitchUp: "glyphicon-collapse-up icon-chevron-up",
refresh: "glyphicon-refresh icon-refresh",
toggleOff: "glyphicon-list-alt icon-list-alt",
toggleOn: "glyphicon-list-alt icon-list-alt",
columns: "fas fa-filter icon-th",
detailOpen: "glyphicon-plus icon-plus",
detailClose: "glyphicon-minus icon-minus",
fullscreen: "glyphicon-fullscreen",
},
pullClass: "pull",
toobarDropdowHtml: ['<ul class="dropdown-menu" role="menu">', "</ul>"],
toobarDropdowItemHtml:
'<li role="menuitem" class="dropdown-item"><label class="px-0">%s</label></li>',
pageDropdownHtml: ['<ul class="dropdown-menu" role="menu">', "</ul>"],
pageDropdownItemHtml:
'<li role="menuitem" class="%s"><a href="#" class="dropdown-item">%s</a></li>',
},
4: {
buttonsClass: "secondary",
iconsPrefix: "fa",
icons: {
paginationSwitchDown: "fa-toggle-down",
paginationSwitchUp: "fa-toggle-up",
refresh: "fa-refresh",
toggleOff: "fa-toggle-off",
toggleOn: "fa-toggle-on",
columns: "fa-th-list",
detailOpen: "fa-plus",
detailClose: "fa-minus",
fullscreen: "fa-arrows-alt",
},
pullClass: "float",
toobarDropdowHtml: [
'<div class="dropdown-menu dropdown-menu-right">',
"</div>",
],
toobarDropdowItemHtml: '<label class="dropdown-item">%s</label>',
pageDropdownHtml: ['<div class="dropdown-menu">', "</div>"],
pageDropdownItemHtml: '<a class="dropdown-item %s" href="#">%s</a>',
},
}[i],
o = null,
s = function (t) {
var i = arguments,
e = !0,
o = 1;
return (
(t = t.replace(/%s/g, function () {
var t = i[o++];
return void 0 === t ? ((e = !1), "") : t;
})),
e ? t : ""
);
},
n = function (i, e, o, s) {
var n = "";
return (
t.each(i, function (t, i) {
return i[e] !== s || ((n = i[o]), !1);
}),
n
);
},
a = function () {
if (null === o) {
var i,
e,
s = t("<p/>").addClass("fixed-table-scroll-inner"),
n = t("<div/>").addClass("fixed-table-scroll-outer");
n.append(s),
t("body").append(n),
(i = s[0].offsetWidth),
n.css("overflow", "scroll"),
i === (e = s[0].offsetWidth) && (e = n[0].clientWidth),
n.remove(),
(o = i - e);
}
return o;
},
r = function (i, e, o, n) {
var a = e;
if ("string" == typeof e) {
var r = e.split(".");
r.length > 1
? ((a = window),
t.each(r, function (t, i) {
a = a[i];
}))
: (a = window[e]);
}
return "object" == typeof a
? a
: "function" == typeof a
? a.apply(i, o || [])
: !a && "string" == typeof e && s.apply(this, [e].concat(o))
? s.apply(this, [e].concat(o))
: n;
},
l = function (i, e, o) {
var s =
Object.getOwnPropertyNames ||
function (t) {
var i = [];
for (var e in t) t.hasOwnProperty(e) && i.push(e);
return i;
},
n = s(i),
a = s(e),
r = "";
if (o && n.length !== a.length) return !1;
for (var l = 0; l < n.length; l++)
if (((r = n[l]), t.inArray(r, a) > -1 && i[r] !== e[r])) return !1;
return !0;
},
h = function (t) {
return "string" == typeof t
? t
.replace(/&/g, "&amp;")
.replace(/</g, "&lt;")
.replace(/>/g, "&gt;")
.replace(/"/g, "&quot;")
.replace(/'/g, "&#039;")
.replace(/`/g, "&#x60;")
: t;
},
p = function (t) {
for (var i in t) {
var e = i
.split(/(?=[A-Z])/)
.join("-")
.toLowerCase();
e !== i && ((t[e] = t[i]), delete t[i]);
}
return t;
},
c = function (t, i, e) {
var o = t;
if ("string" != typeof i || t.hasOwnProperty(i))
return e ? h(t[i]) : t[i];
var s = i.split(".");
for (var n in s) s.hasOwnProperty(n) && (o = o && o[s[n]]);
return e ? h(o) : o;
},
d = function () {
return !!(
navigator.userAgent.indexOf("MSIE ") > 0 ||
navigator.userAgent.match(/Trident.*rv\:11\./)
);
},
u = function (i, e) {
(this.options = e),
(this.$el = t(i)),
(this.$el_ = this.$el.clone()),
(this.timeoutId_ = 0),
(this.timeoutFooter_ = 0),
this.init();
};
(u.DEFAULTS = {
classes: "table table-hover",
sortClass: void 0,
locale: void 0,
height: void 0,
undefinedText: "-",
sortName: void 0,
sortOrder: "asc",
sortStable: !1,
rememberOrder: !1,
striped: !1,
columns: [[]],
data: [],
totalField: "total",
dataField: "rows",
method: "get",
url: void 0,
ajax: void 0,
cache: !0,
contentType: "application/json",
dataType: "json",
ajaxOptions: {},
queryParams: function (t) {
return t;
},
queryParamsType: "limit",
responseHandler: function (t) {
return t;
},
pagination: !1,
onlyInfoPagination: !1,
paginationLoop: !0,
sidePagination: "client",
totalRows: 0,
pageNumber: 1,
pageSize: 10,
pageList: [10, 25, 50, 100],
paginationHAlign: "right",
paginationVAlign: "bottom",
paginationDetailHAlign: "left",
paginationPreText: "&lsaquo;",
paginationNextText: "&rsaquo;",
search: !1,
searchOnEnterKey: !1,
strictSearch: !1,
searchAlign: "right",
selectItemName: "btSelectItem",
showHeader: !0,
showFooter: !1,
showColumns: !1,
showPaginationSwitch: !1,
showRefresh: !1,
showToggle: !1,
showFullscreen: !1,
smartDisplay: !0,
escape: !1,
minimumCountColumns: 1,
idField: void 0,
uniqueId: void 0,
cardView: !1,
detailView: !1,
detailFormatter: function (t, i) {
return "";
},
detailFilter: function (t, i) {
return !0;
},
trimOnSearch: !0,
clickToSelect: !1,
singleSelect: !1,
toolbar: void 0,
toolbarAlign: "left",
buttonsToolbar: void 0,
buttonsAlign: "right",
checkboxHeader: !0,
sortable: !0,
silentSort: !0,
maintainSelected: !1,
searchTimeOut: 500,
searchText: "",
iconSize: void 0,
buttonsClass: e.buttonsClass,
iconsPrefix: e.iconsPrefix,
icons: e.icons,
customSearch: t.noop,
customSort: t.noop,
ignoreClickToSelectOn: function (i) {
return t.inArray(i.tagName, ["A", "BUTTON"]);
},
rowStyle: function (t, i) {
return {};
},
rowAttributes: function (t, i) {
return {};
},
footerStyle: function (t, i) {
return {};
},
onAll: function (t, i) {
return !1;
},
onClickCell: function (t, i, e, o) {
return !1;
},
onDblClickCell: function (t, i, e, o) {
return !1;
},
onClickRow: function (t, i) {
return !1;
},
onDblClickRow: function (t, i) {
return !1;
},
onSort: function (t, i) {
return !1;
},
onCheck: function (t) {
return !1;
},
onUncheck: function (t) {
return !1;
},
onCheckAll: function (t) {
return !1;
},
onUncheckAll: function (t) {
return !1;
},
onCheckSome: function (t) {
return !1;
},
onUncheckSome: function (t) {
return !1;
},
onLoadSuccess: function (t) {
return !1;
},
onLoadError: function (t) {
return !1;
},
onColumnSwitch: function (t, i) {
return !1;
},
onPageChange: function (t, i) {
return !1;
},
onSearch: function (t) {
return !1;
},
onToggle: function (t) {
return !1;
},
onPreBody: function (t) {
return !1;
},
onPostBody: function () {
return !1;
},
onPostHeader: function () {
return !1;
},
onExpandRow: function (t, i, e) {
return !1;
},
onCollapseRow: function (t, i) {
return !1;
},
onRefreshOptions: function (t) {
return !1;
},
onRefresh: function (t) {
return !1;
},
onResetView: function () {
return !1;
},
onScrollBody: function () {
return !1;
},
}),
((u.LOCALES = {})["en-US"] = u.LOCALES.en =
{
formatLoadingMessage: function () {
return "Loading, please wait...";
},
formatRecordsPerPage: function (t) {
return s("%s rows per page", t);
},
formatShowingRows: function (t, i, e) {
return s("Showing %s to %s of %s rows", t, i, e);
},
formatDetailPagination: function (t) {
return s("Showing %s rows", t);
},
formatSearch: function () {
return "Search";
},
formatNoMatches: function () {
return "No matching records found";
},
formatPaginationSwitch: function () {
return "Hide/Show pagination";
},
formatRefresh: function () {
return "Refresh";
},
formatToggle: function () {
return "Toggle";
},
formatFullscreen: function () {
return "Fullscreen";
},
formatColumns: function () {
return "Columns";
},
formatAllRows: function () {
return "All";
},
}),
t.extend(u.DEFAULTS, u.LOCALES["en-US"]),
(u.COLUMN_DEFAULTS = {
radio: !1,
checkbox: !1,
checkboxEnabled: !0,
field: void 0,
title: void 0,
titleTooltip: void 0,
class: void 0,
align: void 0,
halign: void 0,
falign: void 0,
valign: void 0,
width: void 0,
sortable: !1,
order: "asc",
visible: !0,
switchable: !0,
clickToSelect: !0,
formatter: void 0,
footerFormatter: void 0,
events: void 0,
sorter: void 0,
sortName: void 0,
cellStyle: void 0,
searchable: !0,
searchFormatter: !0,
cardVisible: !0,
escape: !1,
showSelectTitle: !1,
}),
(u.EVENTS = {
"all.bs.table": "onAll",
"click-cell.bs.table": "onClickCell",
"dbl-click-cell.bs.table": "onDblClickCell",
"click-row.bs.table": "onClickRow",
"dbl-click-row.bs.table": "onDblClickRow",
"sort.bs.table": "onSort",
"check.bs.table": "onCheck",
"uncheck.bs.table": "onUncheck",
"check-all.bs.table": "onCheckAll",
"uncheck-all.bs.table": "onUncheckAll",
"check-some.bs.table": "onCheckSome",
"uncheck-some.bs.table": "onUncheckSome",
"load-success.bs.table": "onLoadSuccess",
"load-error.bs.table": "onLoadError",
"column-switch.bs.table": "onColumnSwitch",
"page-change.bs.table": "onPageChange",
"search.bs.table": "onSearch",
"toggle.bs.table": "onToggle",
"pre-body.bs.table": "onPreBody",
"post-body.bs.table": "onPostBody",
"post-header.bs.table": "onPostHeader",
"expand-row.bs.table": "onExpandRow",
"collapse-row.bs.table": "onCollapseRow",
"refresh-options.bs.table": "onRefreshOptions",
"reset-view.bs.table": "onResetView",
"refresh.bs.table": "onRefresh",
"scroll-body.bs.table": "onScrollBody",
}),
(u.prototype.init = function () {
this.initLocale(),
this.initContainer(),
this.initTable(),
this.initHeader(),
this.initData(),
this.initHiddenRows(),
this.initFooter(),
this.initToolbar(),
this.initPagination(),
this.initBody(),
this.initSearchText(),
this.initServer();
}),
(u.prototype.initLocale = function () {
if (this.options.locale) {
var i = this.options.locale.split(/-|_/);
i[0].toLowerCase(),
i[1] && i[1].toUpperCase(),
t.fn.bootstrapTable.locales[this.options.locale]
? t.extend(
this.options,
t.fn.bootstrapTable.locales[this.options.locale]
)
: t.fn.bootstrapTable.locales[i.join("-")]
? t.extend(this.options, t.fn.bootstrapTable.locales[i.join("-")])
: t.fn.bootstrapTable.locales[i[0]] &&
t.extend(this.options, t.fn.bootstrapTable.locales[i[0]]);
}
}),
(u.prototype.initContainer = function () {
(this.$container = t(
[
'<div class="bootstrap-table">',
'<div class="fixed-table-toolbar"></div>',
"top" === this.options.paginationVAlign ||
"both" === this.options.paginationVAlign
? '<div class="fixed-table-pagination" style="clear: both;"></div>'
: "",
'<div class="fixed-table-container">',
'<div class="fixed-table-header"><table></table></div>',
'<div class="fixed-table-body">',
'<div class="fixed-table-loading">',
this.options.formatLoadingMessage(),
"</div>",
"</div>",
'<div class="fixed-table-footer"><table><tr></tr></table></div>',
"</div>",
"bottom" === this.options.paginationVAlign ||
"both" === this.options.paginationVAlign
? '<div class="fixed-table-pagination"></div>'
: "",
"</div>",
].join("")
)),
this.$container.insertAfter(this.$el),
(this.$tableContainer = this.$container.find(".fixed-table-container")),
(this.$tableHeader = this.$container.find(".fixed-table-header")),
(this.$tableBody = this.$container.find(".fixed-table-body")),
(this.$tableLoading = this.$container.find(".fixed-table-loading")),
(this.$tableFooter = this.$container.find(".fixed-table-footer")),
this.options.buttonsToolbar
? (this.$toolbar = t("body").find(this.options.buttonsToolbar))
: (this.$toolbar = this.$container.find(".fixed-table-toolbar")),
(this.$pagination = this.$container.find(".fixed-table-pagination")),
this.$tableBody.append(this.$el),
this.$container.after('<div class="clearfix"></div>'),
this.$el.addClass(this.options.classes),
this.options.striped && this.$el.addClass("table-striped"),
-1 !==
t.inArray("table-no-bordered", this.options.classes.split(" ")) &&
this.$tableContainer.addClass("table-no-bordered");
}),
(u.prototype.initTable = function () {
var i = this,
e = [],
o = [];
if (
((this.$header = this.$el.find(">thead")),
this.$header.length ||
(this.$header = t("<thead></thead>").appendTo(this.$el)),
this.$header.find("tr").each(function () {
var i = [];
t(this)
.find("th")
.each(function () {
void 0 !== t(this).data("field") &&
t(this).data("field", t(this).data("field") + ""),
i.push(
t.extend(
{},
{
title: t(this).html(),
class: t(this).attr("class"),
titleTooltip: t(this).attr("title"),
rowspan: t(this).attr("rowspan")
? +t(this).attr("rowspan")
: void 0,
colspan: t(this).attr("colspan")
? +t(this).attr("colspan")
: void 0,
},
t(this).data()
)
);
}),
e.push(i);
}),
t.isArray(this.options.columns[0]) ||
(this.options.columns = [this.options.columns]),
(this.options.columns = t.extend(!0, [], e, this.options.columns)),
(this.columns = []),
(this.fieldsColumnsIndex = []),
(function (i) {
var e,
o,
s,
n = 0,
a = [];
for (e = 0; e < i[0].length; e++) n += i[0][e].colspan || 1;
for (e = 0; e < i.length; e++)
for (a[e] = [], o = 0; o < n; o++) a[e][o] = !1;
for (e = 0; e < i.length; e++)
for (o = 0; o < i[e].length; o++) {
var r = i[e][o],
l = r.rowspan || 1,
h = r.colspan || 1,
p = t.inArray(!1, a[e]);
for (
1 === h &&
((r.fieldIndex = p), void 0 === r.field && (r.field = p)),
s = 0;
s < l;
s++
)
a[e + s][p] = !0;
for (s = 0; s < h; s++) a[e][p + s] = !0;
}
})(this.options.columns),
t.each(this.options.columns, function (e, o) {
t.each(o, function (o, s) {
void 0 !== (s = t.extend({}, u.COLUMN_DEFAULTS, s)).fieldIndex &&
((i.columns[s.fieldIndex] = s),
(i.fieldsColumnsIndex[s.field] = s.fieldIndex)),
(i.options.columns[e][o] = s);
});
}),
!this.options.data.length)
) {
var s = [];
this.$el.find(">tbody>tr").each(function (e) {
var n = {};
(n._id = t(this).attr("id")),
(n._class = t(this).attr("class")),
(n._data = p(t(this).data())),
t(this)
.find(">td")
.each(function (o) {
for (
var a,
r,
l = t(this),
h = +l.attr("colspan") || 1,
c = +l.attr("rowspan") || 1;
s[e] && s[e][o];
o++
);
for (a = o; a < o + h; a++)
for (r = e; r < e + c; r++)
s[r] || (s[r] = []), (s[r][a] = !0);
var d = i.columns[o].field;
(n[d] = t(this).html()),
(n["_" + d + "_id"] = t(this).attr("id")),
(n["_" + d + "_class"] = t(this).attr("class")),
(n["_" + d + "_rowspan"] = t(this).attr("rowspan")),
(n["_" + d + "_colspan"] = t(this).attr("colspan")),
(n["_" + d + "_title"] = t(this).attr("title")),
(n["_" + d + "_data"] = p(t(this).data()));
}),
o.push(n);
}),
(this.options.data = o),
o.length && (this.fromHtml = !0);
}
}),
(u.prototype.initHeader = function () {
var i = this,
e = {},
o = [];
(this.header = {
fields: [],
styles: [],
classes: [],
formatters: [],
events: [],
sorters: [],
sortNames: [],
cellStyles: [],
searchables: [],
}),
t.each(this.options.columns, function (n, a) {
o.push("<tr>"),
0 === n &&
!i.options.cardView &&
i.options.detailView &&
o.push(
s(
'<th class="detail" rowspan="%s"><div class="fht-cell"></div></th>',
i.options.columns.length
)
),
t.each(a, function (t, n) {
var a,
r,
l = "",
p = "",
c = s(' class="%s"', n.class),
d = (i.options.sortOrder || n.order, "px"),
u = n.width;
if (
(void 0 === n.width ||
i.options.cardView ||
("string" == typeof n.width &&
-1 !== n.width.indexOf("%") &&
(d = "%")),
n.width &&
"string" == typeof n.width &&
(u = n.width.replace("%", "").replace("px", "")),
(a = s("text-align: %s; ", n.halign ? n.halign : n.align)),
(r = s("text-align: %s; ", n.align)),
(p = s("vertical-align: %s; ", n.valign)),
(p += s(
"width: %s; ",
(!n.checkbox && !n.radio) || u
? u
? u + d
: void 0
: n.showSelectTitle
? void 0
: "36px"
)),
void 0 !== n.fieldIndex)
) {
if (
((i.header.fields[n.fieldIndex] = n.field),
(i.header.styles[n.fieldIndex] = r + p),
(i.header.classes[n.fieldIndex] = c),
(i.header.formatters[n.fieldIndex] = n.formatter),
(i.header.events[n.fieldIndex] = n.events),
(i.header.sorters[n.fieldIndex] = n.sorter),
(i.header.sortNames[n.fieldIndex] = n.sortName),
(i.header.cellStyles[n.fieldIndex] = n.cellStyle),
(i.header.searchables[n.fieldIndex] = n.searchable),
!n.visible)
)
return;
if (i.options.cardView && !n.cardVisible) return;
e[n.field] = n;
}
o.push(
"<th" + s(' title="%s"', n.titleTooltip),
n.checkbox || n.radio
? s(' class="bs-checkbox %s"', n.class || "")
: c,
s(' style="%s"', a + p),
s(' rowspan="%s"', n.rowspan),
s(' colspan="%s"', n.colspan),
s(' data-field="%s"', n.field),
0 === t && n.fieldIndex ? " data-not-first-th" : "",
">"
),
o.push(
s(
'<div class="th-inner %s">',
i.options.sortable && n.sortable ? "sortable both" : ""
)
);
var f = (l = i.options.escape ? h(n.title) : n.title);
n.checkbox &&
((l = ""),
!i.options.singleSelect &&
i.options.checkboxHeader &&
(l = '<input name="btSelectAll" type="checkbox" />'),
(i.header.stateField = n.field)),
n.radio &&
((l = ""),
(i.header.stateField = n.field),
(i.options.singleSelect = !0)),
!l && n.showSelectTitle && (l += f),
o.push(l),
o.push("</div>"),
o.push('<div class="fht-cell"></div>'),
o.push("</div>"),
o.push("</th>");
}),
o.push("</tr>");
}),
this.$header.html(o.join("")),
this.$header.find("th[data-field]").each(function (i) {
t(this).data(e[t(this).data("field")]);
}),
this.$container
.off("click", ".th-inner")
.on("click", ".th-inner", function (e) {
var o = t(this);
if (
i.options.detailView &&
!o.parent().hasClass("bs-checkbox") &&
o.closest(".bootstrap-table")[0] !== i.$container[0]
)
return !1;
i.options.sortable && o.parent().data().sortable && i.onSort(e);
}),
this.$header
.children()
.children()
.off("keypress")
.on("keypress", function (e) {
i.options.sortable &&
t(this).data().sortable &&
13 == (e.keyCode || e.which) &&
i.onSort(e);
}),
t(window).off("resize.bootstrap-table"),
!this.options.showHeader || this.options.cardView
? (this.$header.hide(),
this.$tableHeader.hide(),
this.$tableLoading.css("top", 0))
: (this.$header.show(),
this.$tableHeader.show(),
this.$tableLoading.css("top", this.$header.outerHeight() + 1),
this.getCaret(),
t(window).on(
"resize.bootstrap-table",
t.proxy(this.resetWidth, this)
)),
(this.$selectAll = this.$header.find('[name="btSelectAll"]')),
this.$selectAll.off("click").on("click", function () {
var e = t(this).prop("checked");
i[e ? "checkAll" : "uncheckAll"](), i.updateSelected();
});
}),
(u.prototype.initFooter = function () {
!this.options.showFooter || this.options.cardView
? this.$tableFooter.hide()
: this.$tableFooter.show();
}),
(u.prototype.initData = function (t, i) {
(this.options.data =
"append" === i
? this.options.data.concat(t)
: "prepend" === i
? [].concat(t).concat(this.options.data)
: t || this.options.data),
(this.data = this.options.data),
"server" !== this.options.sidePagination && this.initSort();
}),
(u.prototype.initSort = function () {
var i = this,
e = this.options.sortName,
o = "desc" === this.options.sortOrder ? -1 : 1,
n = t.inArray(this.options.sortName, this.header.fields),
a = 0;
this.options.customSort === t.noop
? -1 !== n &&
(this.options.sortStable &&
t.each(this.data, function (t, i) {
i._position = t;
}),
this.data.sort(function (s, a) {
i.header.sortNames[n] && (e = i.header.sortNames[n]);
var l = c(s, e, i.options.escape),
h = c(a, e, i.options.escape),
p = r(i.header, i.header.sorters[n], [l, h, s, a]);
return void 0 !== p
? i.options.sortStable && 0 === p
? s._position - a._position
: o * p
: (null == l && (l = ""),
null == h && (h = ""),
i.options.sortStable && l === h
? ((l = s._position),
(h = a._position),
s._position - a._position)
: t.isNumeric(l) && t.isNumeric(h)
? (l = parseFloat(l)) < (h = parseFloat(h))
? -1 * o
: o
: l === h
? 0
: ("string" != typeof l && (l = l.toString()),
-1 === l.localeCompare(h) ? -1 * o : o));
}),
void 0 !== this.options.sortClass &&
(clearTimeout(a),
(a = setTimeout(function () {
i.$el.removeClass(i.options.sortClass);
var t = i.$header.find(
s('[data-field="%s"]', i.options.sortName).index() + 1
);
i.$el
.find(s("tr td:nth-child(%s)", t))
.addClass(i.options.sortClass);
}, 250))))
: this.options.customSort.apply(this, [
this.options.sortName,
this.options.sortOrder,
]);
}),
(u.prototype.onSort = function (i) {
var e =
"keypress" === i.type
? t(i.currentTarget)
: t(i.currentTarget).parent(),
o = this.$header.find("th").eq(e.index());
this.$header.add(this.$header_).find("span.order").remove(),
this.options.sortName === e.data("field")
? (this.options.sortOrder =
"asc" === this.options.sortOrder ? "desc" : "asc")
: ((this.options.sortName = e.data("field")),
this.options.rememberOrder
? (this.options.sortOrder =
"asc" === e.data("order") ? "desc" : "asc")
: (this.options.sortOrder =
this.columns[
this.fieldsColumnsIndex[e.data("field")]
].order)),
this.trigger("sort", this.options.sortName, this.options.sortOrder),
e.add(o).data("order", this.options.sortOrder),
this.getCaret(),
"server" !== this.options.sidePagination
? (this.initSort(), this.initBody())
: this.initServer(this.options.silentSort);
}),
(u.prototype.initToolbar = function () {
var i,
o,
n = this,
a = [],
l = 0,
h = 0;
this.$toolbar.find(".bs-bars").children().length &&
t("body").append(t(this.options.toolbar)),
this.$toolbar.html(""),
("string" != typeof this.options.toolbar &&
"object" != typeof this.options.toolbar) ||
t(
s(
'<div class="bs-bars %s-%s"></div>',
e.pullClass,
this.options.toolbarAlign
)
)
.appendTo(this.$toolbar)
.append(t(this.options.toolbar)),
(a = [
s(
'<div class="columns columns-%s btn-group %s-%s">',
this.options.buttonsAlign,
e.pullClass,
this.options.buttonsAlign
),
]),
"string" == typeof this.options.icons &&
(this.options.icons = r(null, this.options.icons)),
this.options.showPaginationSwitch &&
a.push(
s(
'<button class="btn' +
s(" btn-%s", this.options.buttonsClass) +
s(" btn-%s", this.options.iconSize) +
'" type="button" name="paginationSwitch" aria-label="pagination Switch" title="%s">',
this.options.formatPaginationSwitch()
),
s(
'<i class="%s %s"></i>',
this.options.iconsPrefix,
this.options.icons.paginationSwitchDown
),
"</button>"
),
this.options.showFullscreen &&
this.$toolbar
.find('button[name="fullscreen"]')
.off("click")
.on("click", t.proxy(this.toggleFullscreen, this)),
this.options.showRefresh &&
a.push(
s(
'<button class="btn' +
s(" btn-%s", this.options.buttonsClass) +
s(" btn-%s", this.options.iconSize) +
'" type="button" name="refresh" aria-label="refresh" title="%s">',
this.options.formatRefresh()
),
s(
'<i class="%s %s"></i>',
this.options.iconsPrefix,
this.options.icons.refresh
),
"</button>"
),
this.options.showToggle &&
a.push(
s(
'<button class="btn' +
s(" btn-%s", this.options.buttonsClass) +
s(" btn-%s", this.options.iconSize) +
'" type="button" name="toggle" aria-label="toggle" title="%s">',
this.options.formatToggle()
),
s(
'<i class="%s %s"></i>',
this.options.iconsPrefix,
this.options.icons.toggleOff
),
"</button>"
),
this.options.showFullscreen &&
a.push(
s(
'<button class="btn' +
s(" btn-%s", this.options.buttonsClass) +
s(" btn-%s", this.options.iconSize) +
'" type="button" name="fullscreen" aria-label="fullscreen" title="%s">',
this.options.formatFullscreen()
),
s(
'<i class="%s %s"></i>',
this.options.iconsPrefix,
this.options.icons.fullscreen
),
"</button>"
),
this.options.showColumns &&
(a.push(
s(
'<div class="keep-open btn-group" title="%s">',
this.options.formatColumns()
),
'<button type="button" aria-label="columns" class="btn' +
s(" btn-%s", this.options.buttonsClass) +
s(" btn-%s", this.options.iconSize) +
' dropdown-toggle" data-bs-toggle="dropdown">',
s(
'<i class="%s %s"></i>',
this.options.iconsPrefix,
this.options.icons.columns
),
' <span class="caret"></span>',
"</button>",
e.toobarDropdowHtml[0]
),
t.each(this.columns, function (t, i) {
if (
!i.radio &&
!i.checkbox &&
(!n.options.cardView || i.cardVisible)
) {
var o = i.visible ? ' checked="checked"' : "";
i.switchable &&
(a.push(
s(
e.toobarDropdowItemHtml,
s(
'<input type="checkbox" data-field="%s" value="%s"%s> %s',
i.field,
t,
o,
i.title
)
)
),
h++);
}
}),
a.push(e.toobarDropdowHtml[1], "</div>")),
a.push("</div>"),
(this.showToolbar || a.length > 2) && this.$toolbar.append(a.join("")),
this.options.showPaginationSwitch &&
this.$toolbar
.find('button[name="paginationSwitch"]')
.off("click")
.on("click", t.proxy(this.togglePagination, this)),
this.options.showRefresh &&
this.$toolbar
.find('button[name="refresh"]')
.off("click")
.on("click", t.proxy(this.refresh, this)),
this.options.showToggle &&
this.$toolbar
.find('button[name="toggle"]')
.off("click")
.on("click", function () {
n.toggleView();
}),
this.options.showColumns &&
((i = this.$toolbar.find(".keep-open")),
h <= this.options.minimumCountColumns &&
i.find("input").prop("disabled", !0),
i
.find("li")
.off("click")
.on("click", function (t) {
t.stopImmediatePropagation();
}),
i
.find("input")
.off("click")
.on("click", function () {
var i = t(this);
n.toggleColumn(t(this).val(), i.prop("checked"), !1),
n.trigger(
"column-switch",
t(this).data("field"),
i.prop("checked")
);
})),
this.options.search &&
((a = []).push(
s(
'<div class="%s-%s search">',
e.pullClass,
this.options.searchAlign
),
s(
'<input class="form-control' +
s(" input-%s", this.options.iconSize) +
'" type="text" placeholder="%s">',
this.options.formatSearch()
),
"</div>"
),
this.$toolbar.append(a.join("")),
(o = this.$toolbar.find(".search input"))
.off("keyup drop blur")
.on("keyup drop blur", function (i) {
(n.options.searchOnEnterKey && 13 !== i.keyCode) ||
t.inArray(i.keyCode, [37, 38, 39, 40]) > -1 ||
(clearTimeout(l),
(l = setTimeout(function () {
n.onSearch(i);
}, n.options.searchTimeOut)));
}),
d() &&
o.off("mouseup").on("mouseup", function (t) {
clearTimeout(l),
(l = setTimeout(function () {
n.onSearch(t);
}, n.options.searchTimeOut));
}));
}),
(u.prototype.onSearch = function (i) {
var e = t.trim(t(i.currentTarget).val());
this.options.trimOnSearch &&
t(i.currentTarget).val() !== e &&
t(i.currentTarget).val(e),
e !== this.searchText &&
((this.searchText = e),
(this.options.searchText = e),
(this.options.pageNumber = 1),
this.initSearch(),
i.firedByInitSearchText
? "client" === this.options.sidePagination &&
this.updatePagination()
: this.updatePagination(),
this.trigger("search", e));
}),
(u.prototype.initSearch = function () {
var i = this;
if ("server" !== this.options.sidePagination) {
if (this.options.customSearch !== t.noop)
return void window[this.options.customSearch].apply(this, [
this.searchText,
]);
var e =
this.searchText &&
(this.options.escape
? h(this.searchText)
: this.searchText
).toLowerCase(),
o = t.isEmptyObject(this.filterColumns) ? null : this.filterColumns;
(this.data = o
? t.grep(this.options.data, function (i, e) {
for (var s in o)
if (
(t.isArray(o[s]) && -1 === t.inArray(i[s], o[s])) ||
(!t.isArray(o[s]) && i[s] !== o[s])
)
return !1;
return !0;
})
: this.options.data),
(this.data = e
? t.grep(this.data, function (o, s) {
for (var n = 0; n < i.header.fields.length; n++)
if (i.header.searchables[n]) {
var a,
l = t.isNumeric(i.header.fields[n])
? parseInt(i.header.fields[n], 10)
: i.header.fields[n],
h = i.columns[i.fieldsColumnsIndex[l]];
if ("string" == typeof l) {
a = o;
for (var p = l.split("."), c = 0; c < p.length; c++)
null != a[p[c]] && (a = a[p[c]]);
h &&
h.searchFormatter &&
(a = r(h, i.header.formatters[n], [a, o, s], a));
} else a = o[l];
if ("string" == typeof a || "number" == typeof a)
if (i.options.strictSearch) {
if ((a + "").toLowerCase() === e) return !0;
} else if (-1 !== (a + "").toLowerCase().indexOf(e))
return !0;
}
return !1;
})
: this.data);
}
}),
(u.prototype.initPagination = function () {
if (this.options.pagination) {
this.$pagination.show();
var i,
o,
n,
a,
r,
l,
h,
p = this,
c = [],
d = !1,
u = this.getData(),
f = this.options.pageList;
if (
("server" !== this.options.sidePagination &&
(this.options.totalRows = u.length),
(this.totalPages = 0),
this.options.totalRows)
) {
if (this.options.pageSize === this.options.formatAllRows())
(this.options.pageSize = this.options.totalRows), (d = !0);
else if (this.options.pageSize === this.options.totalRows) {
var g =
"string" == typeof this.options.pageList
? this.options.pageList
.replace("[", "")
.replace("]", "")
.replace(/ /g, "")
.toLowerCase()
.split(",")
: this.options.pageList;
t.inArray(this.options.formatAllRows().toLowerCase(), g) > -1 &&
(d = !0);
}
(this.totalPages =
1 + ~~((this.options.totalRows - 1) / this.options.pageSize)),
(this.options.totalPages = this.totalPages);
}
if (
(this.totalPages > 0 &&
this.options.pageNumber > this.totalPages &&
(this.options.pageNumber = this.totalPages),
(this.pageFrom =
(this.options.pageNumber - 1) * this.options.pageSize + 1),
(this.pageTo = this.options.pageNumber * this.options.pageSize),
this.pageTo > this.options.totalRows &&
(this.pageTo = this.options.totalRows),
c.push(
s(
'<div class="%s-%s pagination-detail">',
e.pullClass,
this.options.paginationDetailHAlign
),
'<span class="pagination-info">',
this.options.onlyInfoPagination
? this.options.formatDetailPagination(this.options.totalRows)
: this.options.formatShowingRows(
this.pageFrom,
this.pageTo,
this.options.totalRows
),
"</span>"
),
!this.options.onlyInfoPagination)
) {
c.push('<span class="page-list">');
var b = [
s(
'<span class="btn-group %s">',
"top" === this.options.paginationVAlign ||
"both" === this.options.paginationVAlign
? "dropdown"
: "dropup"
),
'<button type="button" class="btn' +
s(" btn-%s", this.options.buttonsClass) +
s(" btn-%s", this.options.iconSize) +
' dropdown-toggle" data-bs-toggle="dropdown">',
'<span class="page-size">',
d ? this.options.formatAllRows() : this.options.pageSize,
"</span>",
' <span class="caret"></span>',
"</button>",
e.pageDropdownHtml[0],
];
if ("string" == typeof this.options.pageList) {
var m = this.options.pageList
.replace("[", "")
.replace("]", "")
.replace(/ /g, "")
.split(",");
(f = []),
t.each(m, function (t, i) {
f.push(
i.toUpperCase() === p.options.formatAllRows().toUpperCase() ||
"UNLIMITED" === i.toUpperCase()
? p.options.formatAllRows()
: +i
);
});
}
for (
t.each(f, function (t, i) {
var o;
(!p.options.smartDisplay ||
0 === t ||
f[t - 1] < p.options.totalRows) &&
((o = d
? i === p.options.formatAllRows()
? "active"
: ""
: i === p.options.pageSize
? "active"
: ""),
b.push(s(e.pageDropdownItemHtml, o, i)));
}),
b.push(e.pageDropdownHtml[1] + "</span>"),
c.push(this.options.formatRecordsPerPage(b.join(""))),
c.push("</span>"),
c.push(
"</div>",
s(
'<div class="%s-%s pagination">',
e.pullClass,
this.options.paginationHAlign
),
'<ul class="pagination' +
s(" pagination-%s", this.options.iconSize) +
'">',
s(
'<li class="page-item page-pre"><a class="page-link" href="#">%s</a></li>',
this.options.paginationPreText
)
),
this.totalPages < 5
? ((o = 1), (n = this.totalPages))
: ((n = (o = this.options.pageNumber - 2) + 4),
o < 1 && ((o = 1), (n = 5)),
n > this.totalPages && (o = (n = this.totalPages) - 4)),
this.totalPages >= 6 &&
(this.options.pageNumber >= 3 &&
(c.push(
s(
'<li class="page-item page-first%s">',
1 === this.options.pageNumber ? " active" : ""
),
'<a class="page-link" href="#">',
1,
"</a>",
"</li>"
),
o++),
this.options.pageNumber >= 4 &&
(4 == this.options.pageNumber ||
6 == this.totalPages ||
7 == this.totalPages
? o--
: c.push(
'<li class="page-item page-first-separator disabled">',
'<a class="page-link" href="#">...</a>',
"</li>"
),
n--)),
this.totalPages >= 7 &&
this.options.pageNumber >= this.totalPages - 2 &&
o--,
6 == this.totalPages
? this.options.pageNumber >= this.totalPages - 2 && n++
: this.totalPages >= 7 &&
(7 == this.totalPages ||
this.options.pageNumber >= this.totalPages - 3) &&
n++,
i = o;
i <= n;
i++
)
c.push(
s(
'<li class="page-item%s">',
i === this.options.pageNumber ? " active" : ""
),
'<a class="page-link" href="#">',
i,
"</a>",
"</li>"
);
this.totalPages >= 8 &&
this.options.pageNumber <= this.totalPages - 4 &&
c.push(
'<li class="page-item page-last-separator disabled">',
'<a class="page-link" href="#">...</a>',
"</li>"
),
this.totalPages >= 6 &&
this.options.pageNumber <= this.totalPages - 3 &&
c.push(
s(
'<li class="page-item page-last%s">',
this.totalPages === this.options.pageNumber ? " active" : ""
),
'<a class="page-link" href="#">',
this.totalPages,
"</a>",
"</li>"
),
c.push(
s(
'<li class="page-item page-next"><a class="page-link" href="#">%s</a></li>',
this.options.paginationNextText
),
"</ul>",
"</div>"
);
}
this.$pagination.html(c.join("")),
this.options.onlyInfoPagination ||
((a = this.$pagination.find(".page-list a")),
(r = this.$pagination.find(".page-pre")),
(l = this.$pagination.find(".page-next")),
(h = this.$pagination
.find(".page-item")
.not(".page-next, .page-pre")),
this.options.smartDisplay &&
(this.totalPages <= 1 &&
this.$pagination.find("div.pagination").hide(),
(f.length < 2 || this.options.totalRows <= f[0]) &&
this.$pagination.find("span.page-list").hide(),
this.$pagination[this.getData().length ? "show" : "hide"]()),
this.options.paginationLoop ||
(1 === this.options.pageNumber && r.addClass("disabled"),
this.options.pageNumber === this.totalPages &&
l.addClass("disabled")),
d && (this.options.pageSize = this.options.formatAllRows()),
a.off("click").on("click", t.proxy(this.onPageListChange, this)),
r.off("click").on("click", t.proxy(this.onPagePre, this)),
l.off("click").on("click", t.proxy(this.onPageNext, this)),
h.off("click").on("click", t.proxy(this.onPageNumber, this)));
} else this.$pagination.hide();
}),
(u.prototype.updatePagination = function (i) {
(i && t(i.currentTarget).hasClass("disabled")) ||
(this.options.maintainSelected || this.resetRows(),
this.initPagination(),
"server" === this.options.sidePagination
? this.initServer()
: this.initBody(),
this.trigger(
"page-change",
this.options.pageNumber,
this.options.pageSize
));
}),
(u.prototype.onPageListChange = function (i) {
i.preventDefault();
var e = t(i.currentTarget);
return (
e.parent().addClass("active").siblings().removeClass("active"),
(this.options.pageSize =
e.text().toUpperCase() === this.options.formatAllRows().toUpperCase()
? this.options.formatAllRows()
: +e.text()),
this.$toolbar.find(".page-size").text(this.options.pageSize),
this.updatePagination(i),
!1
);
}),
(u.prototype.onPagePre = function (t) {
return (
t.preventDefault(),
this.options.pageNumber - 1 == 0
? (this.options.pageNumber = this.options.totalPages)
: this.options.pageNumber--,
this.updatePagination(t),
!1
);
}),
(u.prototype.onPageNext = function (t) {
return (
t.preventDefault(),
this.options.pageNumber + 1 > this.options.totalPages
? (this.options.pageNumber = 1)
: this.options.pageNumber++,
this.updatePagination(t),
!1
);
}),
(u.prototype.onPageNumber = function (i) {
if (
(i.preventDefault(),
this.options.pageNumber !== +t(i.currentTarget).text())
)
return (
(this.options.pageNumber = +t(i.currentTarget).text()),
this.updatePagination(i),
!1
);
}),
(u.prototype.initRow = function (i, e, o, a) {
var l,
p = this,
d = [],
u = {},
f = [],
g = "",
b = {},
m = [];
if (!(t.inArray(i, this.hiddenRows) > -1)) {
if ((u = r(this.options, this.options.rowStyle, [i, e], u)) && u.css)
for (l in u.css) f.push(l + ": " + u.css[l]);
if ((b = r(this.options, this.options.rowAttributes, [i, e], b)))
for (l in b) m.push(s('%s="%s"', l, h(b[l])));
return (
i._data &&
!t.isEmptyObject(i._data) &&
t.each(i._data, function (t, i) {
"index" !== t && (g += s(' data-%s="%s"', t, i));
}),
d.push(
"<tr",
s(" %s", m.join(" ")),
s(' id="%s"', t.isArray(i) ? void 0 : i._id),
s(' class="%s"', u.classes || (t.isArray(i) ? void 0 : i._class)),
s(' data-index="%s"', e),
s(' data-uniqueid="%s"', i[this.options.uniqueId]),
s("%s", g),
">"
),
this.options.cardView &&
d.push(
s(
'<td colspan="%s"><div class="card-views">',
this.header.fields.length
)
),
!this.options.cardView &&
this.options.detailView &&
(d.push("<td>"),
r(null, this.options.detailFilter, [e, i]) &&
d.push(
'<a class="detail-icon" href="#">',
s(
'<i class="%s %s"></i>',
this.options.iconsPrefix,
this.options.icons.detailOpen
),
"</a>"
),
d.push("</td>")),
t.each(this.header.fields, function (o, a) {
var l = "",
g = c(i, a, p.options.escape),
b = "",
m = "",
y = {},
w = "",
v = p.header.classes[o],
x = "",
S = "",
$ = "",
k = "",
C = p.columns[o];
if (
(!p.fromHtml || void 0 !== g || C.checkbox || C.radio) &&
C.visible &&
(!p.options.cardView || C.cardVisible)
) {
if (
(C.escape && (g = h(g)),
(u = s('style="%s"', f.concat(p.header.styles[o]).join("; "))),
i["_" + a + "_id"] && (w = s(' id="%s"', i["_" + a + "_id"])),
i["_" + a + "_class"] &&
(v = s(' class="%s"', i["_" + a + "_class"])),
i["_" + a + "_rowspan"] &&
(S = s(' rowspan="%s"', i["_" + a + "_rowspan"])),
i["_" + a + "_colspan"] &&
($ = s(' colspan="%s"', i["_" + a + "_colspan"])),
i["_" + a + "_title"] &&
(k = s(' title="%s"', i["_" + a + "_title"])),
(y = r(p.header, p.header.cellStyles[o], [g, i, e, a], y))
.classes && (v = s(' class="%s"', y.classes)),
y.css)
) {
var P = [];
for (var T in y.css) P.push(T + ": " + y.css[T]);
u = s('style="%s"', P.concat(p.header.styles[o]).join("; "));
}
(b = r(C, p.header.formatters[o], [g, i, e, a], g)),
i["_" + a + "_data"] &&
!t.isEmptyObject(i["_" + a + "_data"]) &&
t.each(i["_" + a + "_data"], function (t, i) {
"index" !== t && (x += s(' data-%s="%s"', t, i));
}),
C.checkbox || C.radio
? ((m = C.checkbox ? "checkbox" : m),
(m = C.radio ? "radio" : m),
(l = [
s(
p.options.cardView
? '<div class="card-view %s">'
: '<td class="bs-checkbox %s">',
C.class || ""
),
"<input" +
s(' data-index="%s"', e) +
s(' name="%s"', p.options.selectItemName) +
s(' type="%s"', m) +
s(' value="%s"', i[p.options.idField]) +
s(
' checked="%s"',
!0 === b || g || (b && b.checked) ? "checked" : void 0
) +
s(
' disabled="%s"',
!C.checkboxEnabled || (b && b.disabled)
? "disabled"
: void 0
) +
" />",
p.header.formatters[o] && "string" == typeof b ? b : "",
p.options.cardView ? "</div>" : "</td>",
].join("")),
(i[p.header.stateField] =
!0 === b || !!g || (b && b.checked)))
: ((b = null == b ? p.options.undefinedText : b),
(l = p.options.cardView
? [
'<div class="card-view">',
p.options.showHeader
? s(
'<span class="title" %s>%s</span>',
u,
n(p.columns, "field", "title", a)
)
: "",
s('<span class="value">%s</span>', b),
"</div>",
].join("")
: [
s("<td%s %s %s %s %s %s %s>", w, v, u, x, S, $, k),
b,
"</td>",
].join("")),
p.options.cardView &&
p.options.smartDisplay &&
"" === b &&
(l = '<div class="card-view"></div>')),
d.push(l);
}
}),
this.options.cardView && d.push("</div></td>"),
d.push("</tr>"),
d.join(" ")
);
}
}),
(u.prototype.initBody = function (i) {
var e = this,
o = this.getData();
this.trigger("pre-body", o),
(this.$body = this.$el.find(">tbody")),
this.$body.length ||
(this.$body = t("<tbody></tbody>").appendTo(this.$el)),
(this.options.pagination && "server" !== this.options.sidePagination) ||
((this.pageFrom = 1), (this.pageTo = o.length));
for (
var n, a = t(document.createDocumentFragment()), l = this.pageFrom - 1;
l < this.pageTo;
l++
) {
var h = o[l],
p = this.initRow(h, l, o, a);
(n = n || !!p), p && !0 !== p && a.append(p);
}
n ||
a.append(
'<tr class="no-records-found">' +
s(
'<td colspan="%s">%s</td>',
this.$header.find("th").length,
this.options.formatNoMatches()
) +
"</tr>"
),
this.$body.html(a),
i || this.scrollTo(0),
this.$body
.find("> tr[data-index] > td")
.off("click dblclick")
.on("click dblclick", function (i) {
var o = t(this),
n = o.parent(),
a = e.data[n.data("index")],
r = o[0].cellIndex,
l =
e.getVisibleFields()[
e.options.detailView && !e.options.cardView ? r - 1 : r
],
h = e.columns[e.fieldsColumnsIndex[l]],
p = c(a, l, e.options.escape);
if (
!o.find(".detail-icon").length &&
(e.trigger(
"click" === i.type ? "click-cell" : "dbl-click-cell",
l,
p,
a,
o
),
e.trigger(
"click" === i.type ? "click-row" : "dbl-click-row",
a,
n,
l
),
"click" === i.type &&
e.options.clickToSelect &&
h.clickToSelect &&
e.options.ignoreClickToSelectOn(i.target))
) {
var d = n.find(s('[name="%s"]', e.options.selectItemName));
d.length && d[0].click();
}
}),
this.$body
.find("> tr[data-index] > td > .detail-icon")
.off("click")
.on("click", function (i) {
i.preventDefault();
var n = t(this),
a = n.parent().parent(),
l = a.data("index"),
h = o[l];
if (a.next().is("tr.detail-view"))
n
.find("i")
.attr(
"class",
s("%s %s", e.options.iconsPrefix, e.options.icons.detailOpen)
),
e.trigger("collapse-row", l, h, a.next()),
a.next().remove();
else {
n
.find("i")
.attr(
"class",
s("%s %s", e.options.iconsPrefix, e.options.icons.detailClose)
),
a.after(
s(
'<tr class="detail-view"><td colspan="%s"></td></tr>',
a.find("td").length
)
);
var p = a.next().find("td"),
c = r(e.options, e.options.detailFormatter, [l, h, p], "");
1 === p.length && p.append(c), e.trigger("expand-row", l, h, p);
}
return e.resetView(), !1;
}),
(this.$selectItem = this.$body.find(
s('[name="%s"]', this.options.selectItemName)
)),
this.$selectItem.off("click").on("click", function (i) {
i.stopImmediatePropagation();
var o = t(this),
s = o.prop("checked"),
n = e.data[o.data("index")];
(t(this).is(":radio") || e.options.singleSelect) &&
t.each(e.options.data, function (t, i) {
i[e.header.stateField] = !1;
}),
(n[e.header.stateField] = s),
e.options.singleSelect &&
(e.$selectItem.not(this).each(function () {
e.data[t(this).data("index")][e.header.stateField] = !1;
}),
e.$selectItem.filter(":checked").not(this).prop("checked", !1)),
e.updateSelected(),
e.trigger(s ? "check" : "uncheck", n, o);
}),
t.each(this.header.events, function (i, o) {
if (o) {
"string" == typeof o && (o = r(null, o));
var s = e.header.fields[i],
n = t.inArray(s, e.getVisibleFields());
if (-1 !== n)
for (var a in (e.options.detailView &&
!e.options.cardView &&
(n += 1),
o))
e.$body.find(">tr:not(.no-records-found)").each(function () {
var i = t(this),
r = i.find(e.options.cardView ? ".card-view" : "td").eq(n),
l = a.indexOf(" "),
h = a.substring(0, l),
p = a.substring(l + 1),
c = o[a];
r.find(p)
.off(h)
.on(h, function (t) {
var o = i.data("index"),
n = e.data[o],
a = n[s];
c.apply(this, [t, a, n, o]);
});
});
}
}),
this.updateSelected(),
this.resetView(),
this.trigger("post-body", o);
}),
(u.prototype.initServer = function (i, e, o) {
var s,
n = this,
a = {},
l = t.inArray(this.options.sortName, this.header.fields),
h = {
searchText: this.searchText,
sortName: this.options.sortName,
sortOrder: this.options.sortOrder,
};
this.header.sortNames[l] && (h.sortName = this.header.sortNames[l]),
this.options.pagination &&
"server" === this.options.sidePagination &&
((h.pageSize =
this.options.pageSize === this.options.formatAllRows()
? this.options.totalRows
: this.options.pageSize),
(h.pageNumber = this.options.pageNumber)),
(o || this.options.url || this.options.ajax) &&
("limit" === this.options.queryParamsType &&
((h = {
search: h.searchText,
sort: h.sortName,
order: h.sortOrder,
}),
this.options.pagination &&
"server" === this.options.sidePagination &&
((h.offset =
this.options.pageSize === this.options.formatAllRows()
? 0
: this.options.pageSize * (this.options.pageNumber - 1)),
(h.limit =
this.options.pageSize === this.options.formatAllRows()
? this.options.totalRows
: this.options.pageSize),
0 === h.limit && delete h.limit)),
t.isEmptyObject(this.filterColumnsPartial) ||
(h.filter = JSON.stringify(this.filterColumnsPartial, null)),
(a = r(this.options, this.options.queryParams, [h], a)),
t.extend(a, e || {}),
!1 !== a &&
(i || this.$tableLoading.show(),
(s = t.extend({}, r(null, this.options.ajaxOptions), {
type: this.options.method,
url: o || this.options.url,
data:
"application/json" === this.options.contentType &&
"post" === this.options.method
? JSON.stringify(a)
: a,
cache: this.options.cache,
contentType: this.options.contentType,
dataType: this.options.dataType,
success: function (t) {
(t = r(n.options, n.options.responseHandler, [t], t)),
n.load(t),
n.trigger("load-success", t),
i || n.$tableLoading.hide();
},
error: function (t) {
var e = [];
"server" === n.options.sidePagination &&
(((e = {})[n.options.totalField] = 0),
(e[n.options.dataField] = [])),
n.load(e),
n.trigger("load-error", t.status, t),
i || n.$tableLoading.hide();
},
})),
this.options.ajax
? r(this, this.options.ajax, [s], null)
: (this._xhr && 4 !== this._xhr.readyState && this._xhr.abort(),
(this._xhr = t.ajax(s)))));
}),
(u.prototype.initSearchText = function () {
if (
this.options.search &&
((this.searchText = ""), "" !== this.options.searchText)
) {
var t = this.$toolbar.find(".search input");
t.val(this.options.searchText),
this.onSearch({ currentTarget: t, firedByInitSearchText: !0 });
}
}),
(u.prototype.getCaret = function () {
var i = this;
t.each(this.$header.find("th"), function (e, o) {
t(o)
.find(".sortable")
.removeClass("desc asc")
.addClass(
t(o).data("field") === i.options.sortName
? i.options.sortOrder
: "both"
);
});
}),
(u.prototype.updateSelected = function () {
var i =
this.$selectItem.filter(":enabled").length &&
this.$selectItem.filter(":enabled").length ===
this.$selectItem.filter(":enabled").filter(":checked").length;
this.$selectAll.add(this.$selectAll_).prop("checked", i),
this.$selectItem.each(function () {
t(this)
.closest("tr")
[t(this).prop("checked") ? "addClass" : "removeClass"]("selected");
});
}),
(u.prototype.updateRows = function () {
var i = this;
this.$selectItem.each(function () {
i.data[t(this).data("index")][i.header.stateField] =
t(this).prop("checked");
});
}),
(u.prototype.resetRows = function () {
var i = this;
t.each(this.data, function (t, e) {
i.$selectAll.prop("checked", !1),
i.$selectItem.prop("checked", !1),
i.header.stateField && (e[i.header.stateField] = !1);
}),
this.initHiddenRows();
}),
(u.prototype.trigger = function (i) {
var e = Array.prototype.slice.call(arguments, 1);
(i += ".bs.table"),
this.options[u.EVENTS[i]].apply(this.options, e),
this.$el.trigger(t.Event(i), e),
this.options.onAll(i, e),
this.$el.trigger(t.Event("all.bs.table"), [i, e]);
}),
(u.prototype.resetHeader = function () {
clearTimeout(this.timeoutId_),
(this.timeoutId_ = setTimeout(
t.proxy(this.fitHeader, this),
this.$el.is(":hidden") ? 100 : 0
));
}),
(u.prototype.fitHeader = function () {
var i,
e,
o,
n,
r = this;
if (r.$el.is(":hidden"))
r.timeoutId_ = setTimeout(t.proxy(r.fitHeader, r), 100);
else {
if (
((e =
(i = this.$tableBody.get(0)).scrollWidth > i.clientWidth &&
i.scrollHeight > i.clientHeight + this.$header.outerHeight()
? a()
: 0),
this.$el.css("margin-top", -this.$header.outerHeight()),
(o = t(":focus")).length > 0)
) {
var l = o.parents("th");
if (l.length > 0) {
var h = l.attr("data-field");
if (void 0 !== h) {
var p = this.$header.find("[data-field='" + h + "']");
p.length > 0 && p.find(":input").addClass("focus-temp");
}
}
}
(this.$header_ = this.$header.clone(!0, !0)),
(this.$selectAll_ = this.$header_.find('[name="btSelectAll"]')),
this.$tableHeader
.css({ "margin-right": e })
.find("table")
.css("width", this.$el.outerWidth())
.html("")
.attr("class", this.$el.attr("class"))
.append(this.$header_),
(n = t(".focus-temp:visible:eq(0)")).length > 0 &&
(n.focus(),
this.$header.find(".focus-temp").removeClass("focus-temp")),
this.$header.find("th[data-field]").each(function (i) {
r.$header_
.find(s('th[data-field="%s"]', t(this).data("field")))
.data(t(this).data());
});
var c = this.getVisibleFields(),
d = this.$header_.find("th");
this.$body
.find(">tr:first-child:not(.no-records-found) > *")
.each(function (i) {
var e = t(this),
o = i;
if (
(r.options.detailView &&
!r.options.cardView &&
(0 === i &&
r.$header_
.find("th.detail")
.find(".fht-cell")
.width(e.innerWidth()),
(o = i - 1)),
-1 !== o)
) {
var n = r.$header_.find(s('th[data-field="%s"]', c[o]));
n.length > 1 && (n = t(d[e[0].cellIndex]));
var a = n.width() - n.find(".fht-cell").width();
n.find(".fht-cell").width(e.innerWidth() - a);
}
}),
this.horizontalScroll(),
this.trigger("post-header");
}
}),
(u.prototype.resetFooter = function () {
var i = this,
e = i.getData(),
o = [];
this.options.showFooter &&
!this.options.cardView &&
(!this.options.cardView &&
this.options.detailView &&
o.push(
'<td><div class="th-inner">&nbsp;</div><div class="fht-cell"></div></td>'
),
t.each(this.columns, function (t, n) {
var a,
l,
h,
p,
c = [],
d = s(' class="%s"', n.class);
if (n.visible && (!i.options.cardView || n.cardVisible)) {
if (
((l = s("text-align: %s; ", n.falign ? n.falign : n.align)),
(h = s("vertical-align: %s; ", n.valign)),
(p = r(null, i.options.footerStyle)) && p.css)
)
for (a in p.css) c.push(a + ": " + p.css[a]);
o.push(
"<td",
d,
s(' style="%s"', l + h + c.concat().join("; ")),
">"
),
o.push('<div class="th-inner">'),
o.push(r(n, n.footerFormatter, [e], "&nbsp;") || "&nbsp;"),
o.push("</div>"),
o.push('<div class="fht-cell"></div>'),
o.push("</div>"),
o.push("</td>");
}
}),
this.$tableFooter.find("tr").html(o.join("")),
this.$tableFooter.show(),
clearTimeout(this.timeoutFooter_),
(this.timeoutFooter_ = setTimeout(
t.proxy(this.fitFooter, this),
this.$el.is(":hidden") ? 100 : 0
)));
}),
(u.prototype.fitFooter = function () {
var i, e, o;
clearTimeout(this.timeoutFooter_),
this.$el.is(":hidden")
? (this.timeoutFooter_ = setTimeout(
t.proxy(this.fitFooter, this),
100
))
: ((o =
(e = this.$el.css("width")) > this.$tableBody.width() ? a() : 0),
this.$tableFooter
.css({ "margin-right": o })
.find("table")
.css("width", e)
.attr("class", this.$el.attr("class")),
(i = this.$tableFooter.find("td")),
this.$body
.find(">tr:first-child:not(.no-records-found) > *")
.each(function (e) {
var o = t(this);
i.eq(e).find(".fht-cell").width(o.innerWidth());
}),
this.horizontalScroll());
}),
(u.prototype.horizontalScroll = function () {
var i = this;
i.trigger("scroll-body"),
this.$tableBody.off("scroll").on("scroll", function () {
i.options.showHeader &&
i.options.height &&
i.$tableHeader.scrollLeft(t(this).scrollLeft()),
i.options.showFooter &&
!i.options.cardView &&
i.$tableFooter.scrollLeft(t(this).scrollLeft());
});
}),
(u.prototype.toggleColumn = function (t, i, e) {
if (
-1 !== t &&
((this.columns[t].visible = i),
this.initHeader(),
this.initSearch(),
this.initPagination(),
this.initBody(),
this.options.showColumns)
) {
var o = this.$toolbar.find(".keep-open input").prop("disabled", !1);
e && o.filter(s('[value="%s"]', t)).prop("checked", i),
o.filter(":checked").length <= this.options.minimumCountColumns &&
o.filter(":checked").prop("disabled", !0);
}
}),
(u.prototype.getVisibleFields = function () {
var i = this,
e = [];
return (
t.each(this.header.fields, function (t, o) {
i.columns[i.fieldsColumnsIndex[o]].visible && e.push(o);
}),
e
);
}),
(u.prototype.resetView = function (t) {
var i = 0;
if (
(t && t.height && (this.options.height = t.height),
this.$selectAll.prop(
"checked",
this.$selectItem.length > 0 &&
this.$selectItem.length ===
this.$selectItem.filter(":checked").length
),
this.options.height)
) {
var e = this.$toolbar.outerHeight(!0),
o = this.$pagination.outerHeight(!0),
s = this.options.height - e - o;
this.$tableContainer.css("height", s + "px");
}
if (this.options.cardView)
return (
this.$el.css("margin-top", "0"),
this.$tableContainer.css("padding-bottom", "0"),
void this.$tableFooter.hide()
);
this.options.showHeader && this.options.height
? (this.$tableHeader.show(),
this.resetHeader(),
(i += this.$header.outerHeight()))
: (this.$tableHeader.hide(), this.trigger("post-header")),
this.options.showFooter &&
(this.resetFooter(),
this.options.height && (i += this.$tableFooter.outerHeight() + 1)),
this.getCaret(),
this.$tableContainer.css("padding-bottom", i + "px"),
this.trigger("reset-view");
}),
(u.prototype.getData = function (i) {
var e = this.options.data;
return (
(!this.searchText &&
!this.options.sortName &&
t.isEmptyObject(this.filterColumns) &&
t.isEmptyObject(this.filterColumnsPartial)) ||
(e = this.data),
i ? e.slice(this.pageFrom - 1, this.pageTo) : e
);
}),
(u.prototype.load = function (i) {
var e = !1;
this.options.pagination && "server" === this.options.sidePagination
? ((this.options.totalRows = i[this.options.totalField]),
(e = i.fixedScroll),
(i = i[this.options.dataField]))
: t.isArray(i) || ((e = i.fixedScroll), (i = i.data)),
this.initData(i),
this.initSearch(),
this.initPagination(),
this.initBody(e);
}),
(u.prototype.append = function (t) {
this.initData(t, "append"),
this.initSearch(),
this.initPagination(),
this.initSort(),
this.initBody(!0);
}),
(u.prototype.prepend = function (t) {
this.initData(t, "prepend"),
this.initSearch(),
this.initPagination(),
this.initSort(),
this.initBody(!0);
}),
(u.prototype.remove = function (i) {
var e,
o,
s = this.options.data.length;
if (i.hasOwnProperty("field") && i.hasOwnProperty("values")) {
for (e = s - 1; e >= 0; e--)
(o = this.options.data[e]).hasOwnProperty(i.field) &&
-1 !== t.inArray(o[i.field], i.values) &&
(this.options.data.splice(e, 1),
"server" === this.options.sidePagination &&
(this.options.totalRows -= 1));
s !== this.options.data.length &&
(this.initSearch(),
this.initPagination(),
this.initSort(),
this.initBody(!0));
}
}),
(u.prototype.removeAll = function () {
this.options.data.length > 0 &&
(this.options.data.splice(0, this.options.data.length),
this.initSearch(),
this.initPagination(),
this.initBody(!0));
}),
(u.prototype.getRowByUniqueId = function (t) {
var i,
e,
o,
s = this.options.uniqueId,
n = null;
for (i = this.options.data.length - 1; i >= 0; i--) {
if ((e = this.options.data[i]).hasOwnProperty(s)) o = e[s];
else {
if (!e._data.hasOwnProperty(s)) continue;
o = e._data[s];
}
if (
("string" == typeof o
? (t = t.toString())
: "number" == typeof o &&
(Number(o) === o && o % 1 == 0
? (t = parseInt(t))
: o === Number(o) && 0 !== o && (t = parseFloat(t))),
o === t)
) {
n = e;
break;
}
}
return n;
}),
(u.prototype.removeByUniqueId = function (t) {
var i = this.options.data.length,
e = this.getRowByUniqueId(t);
e && this.options.data.splice(this.options.data.indexOf(e), 1),
i !== this.options.data.length &&
(this.initSearch(), this.initPagination(), this.initBody(!0));
}),
(u.prototype.updateByUniqueId = function (i) {
var e = this,
o = t.isArray(i) ? i : [i];
t.each(o, function (i, o) {
var s;
o.hasOwnProperty("id") &&
o.hasOwnProperty("row") &&
-1 !== (s = t.inArray(e.getRowByUniqueId(o.id), e.options.data)) &&
t.extend(e.options.data[s], o.row);
}),
this.initSearch(),
this.initPagination(),
this.initSort(),
this.initBody(!0);
}),
(u.prototype.refreshColumnTitle = function (i) {
i.hasOwnProperty("field") &&
i.hasOwnProperty("title") &&
((this.columns[this.fieldsColumnsIndex[i.field]].title = this.options
.escape
? h(i.title)
: i.title),
this.columns[this.fieldsColumnsIndex[i.field]].visible &&
(void 0 !== this.options.height ? this.$tableHeader : this.$header)
.find("th[data-field]")
.each(function (e) {
if (t(this).data("field") === i.field)
return t(t(this).find(".th-inner")[0]).text(i.title), !1;
}));
}),
(u.prototype.insertRow = function (t) {
t.hasOwnProperty("index") &&
t.hasOwnProperty("row") &&
(this.options.data.splice(t.index, 0, t.row),
this.initSearch(),
this.initPagination(),
this.initSort(),
this.initBody(!0));
}),
(u.prototype.updateRow = function (i) {
var e = this,
o = t.isArray(i) ? i : [i];
t.each(o, function (i, o) {
o.hasOwnProperty("index") &&
o.hasOwnProperty("row") &&
t.extend(e.options.data[o.index], o.row);
}),
this.initSearch(),
this.initPagination(),
this.initSort(),
this.initBody(!0);
}),
(u.prototype.initHiddenRows = function () {
this.hiddenRows = [];
}),
(u.prototype.showRow = function (t) {
this.toggleRow(t, !0);
}),
(u.prototype.hideRow = function (t) {
this.toggleRow(t, !1);
}),
(u.prototype.toggleRow = function (i, e) {
var o, s;
i.hasOwnProperty("index")
? (o = this.getData()[i.index])
: i.hasOwnProperty("uniqueId") &&
(o = this.getRowByUniqueId(i.uniqueId)),
o &&
((s = t.inArray(o, this.hiddenRows)),
e || -1 !== s
? e && s > -1 && this.hiddenRows.splice(s, 1)
: this.hiddenRows.push(o),
this.initBody(!0));
}),
(u.prototype.getHiddenRows = function (i) {
var e = this,
o = this.getData(),
s = [];
return (
t.each(o, function (i, o) {
t.inArray(o, e.hiddenRows) > -1 && s.push(o);
}),
(this.hiddenRows = s),
s
);
}),
(u.prototype.mergeCells = function (i) {
var e,
o,
s,
n = i.index,
a = t.inArray(i.field, this.getVisibleFields()),
r = i.rowspan || 1,
l = i.colspan || 1,
h = this.$body.find(">tr");
if (
(this.options.detailView && !this.options.cardView && (a += 1),
(s = h.eq(n).find(">td").eq(a)),
!(n < 0 || a < 0 || n >= this.data.length))
) {
for (e = n; e < n + r; e++)
for (o = a; o < a + l; o++) h.eq(e).find(">td").eq(o).hide();
s.attr("rowspan", r).attr("colspan", l).show();
}
}),
(u.prototype.updateCell = function (t) {
t.hasOwnProperty("index") &&
t.hasOwnProperty("field") &&
t.hasOwnProperty("value") &&
((this.data[t.index][t.field] = t.value),
!1 !== t.reinit && (this.initSort(), this.initBody(!0)));
}),
(u.prototype.updateCellById = function (i) {
var e = this;
if (
i.hasOwnProperty("id") &&
i.hasOwnProperty("field") &&
i.hasOwnProperty("value")
) {
var o = t.isArray(i) ? i : [i];
t.each(o, function (i, o) {
var s;
-1 !== (s = t.inArray(e.getRowByUniqueId(o.id), e.options.data)) &&
(e.data[s][o.field] = o.value);
}),
!1 !== i.reinit && (this.initSort(), this.initBody(!0));
}
}),
(u.prototype.getOptions = function () {
return t.extend(!0, {}, this.options);
}),
(u.prototype.getSelections = function () {
var i = this;
return t.grep(this.options.data, function (t) {
return !0 === t[i.header.stateField];
});
}),
(u.prototype.getAllSelections = function () {
var i = this;
return t.grep(this.options.data, function (t) {
return t[i.header.stateField];
});
}),
(u.prototype.checkAll = function () {
this.checkAll_(!0);
}),
(u.prototype.uncheckAll = function () {
this.checkAll_(!1);
}),
(u.prototype.checkInvert = function () {
var i = this.$selectItem.filter(":enabled"),
e = i.filter(":checked");
i.each(function () {
t(this).prop("checked", !t(this).prop("checked"));
}),
this.updateRows(),
this.updateSelected(),
this.trigger("uncheck-some", e),
(e = this.getSelections()),
this.trigger("check-some", e);
}),
(u.prototype.checkAll_ = function (t) {
var i;
t || (i = this.getSelections()),
this.$selectAll.add(this.$selectAll_).prop("checked", t),
this.$selectItem.filter(":enabled").prop("checked", t),
this.updateRows(),
t && (i = this.getSelections()),
this.trigger(t ? "check-all" : "uncheck-all", i);
}),
(u.prototype.check = function (t) {
this.check_(!0, t);
}),
(u.prototype.uncheck = function (t) {
this.check_(!1, t);
}),
(u.prototype.check_ = function (t, i) {
var e = this.$selectItem
.filter(s('[data-index="%s"]', i))
.prop("checked", t);
(this.data[i][this.header.stateField] = t),
this.updateSelected(),
this.trigger(t ? "check" : "uncheck", this.data[i], e);
}),
(u.prototype.checkBy = function (t) {
this.checkBy_(!0, t);
}),
(u.prototype.uncheckBy = function (t) {
this.checkBy_(!1, t);
}),
(u.prototype.checkBy_ = function (i, e) {
if (e.hasOwnProperty("field") && e.hasOwnProperty("values")) {
var o = this,
n = [];
t.each(this.options.data, function (a, r) {
if (!r.hasOwnProperty(e.field)) return !1;
if (-1 !== t.inArray(r[e.field], e.values)) {
var l = o.$selectItem
.filter(":enabled")
.filter(s('[data-index="%s"]', a))
.prop("checked", i);
(r[o.header.stateField] = i),
n.push(r),
o.trigger(i ? "check" : "uncheck", r, l);
}
}),
this.updateSelected(),
this.trigger(i ? "check-some" : "uncheck-some", n);
}
}),
(u.prototype.destroy = function () {
this.$el.insertBefore(this.$container),
t(this.options.toolbar).insertBefore(this.$el),
this.$container.next().remove(),
this.$container.remove(),
this.$el
.html(this.$el_.html())
.css("margin-top", "0")
.attr("class", this.$el_.attr("class") || "");
}),
(u.prototype.showLoading = function () {
this.$tableLoading.show();
}),
(u.prototype.hideLoading = function () {
this.$tableLoading.hide();
}),
(u.prototype.togglePagination = function () {
this.options.pagination = !this.options.pagination;
var t = this.$toolbar.find('button[name="paginationSwitch"] i');
this.options.pagination
? t.attr(
"class",
this.options.iconsPrefix +
" " +
this.options.icons.paginationSwitchDown
)
: t.attr(
"class",
this.options.iconsPrefix +
" " +
this.options.icons.paginationSwitchUp
),
this.updatePagination();
}),
(u.prototype.toggleFullscreen = function () {
this.$el.closest(".bootstrap-table").toggleClass("fullscreen");
}),
(u.prototype.refresh = function (t) {
t && t.url && (this.options.url = t.url),
t && t.pageNumber && (this.options.pageNumber = t.pageNumber),
t && t.pageSize && (this.options.pageSize = t.pageSize),
this.initServer(t && t.silent, t && t.query, t && t.url),
this.trigger("refresh", t);
}),
(u.prototype.resetWidth = function () {
this.options.showHeader && this.options.height && this.fitHeader(),
this.options.showFooter && !this.options.cardView && this.fitFooter();
}),
(u.prototype.showColumn = function (t) {
this.toggleColumn(this.fieldsColumnsIndex[t], !0, !0);
}),
(u.prototype.hideColumn = function (t) {
this.toggleColumn(this.fieldsColumnsIndex[t], !1, !0);
}),
(u.prototype.getHiddenColumns = function () {
return t.grep(this.columns, function (t) {
return !t.visible;
});
}),
(u.prototype.getVisibleColumns = function () {
return t.grep(this.columns, function (t) {
return t.visible;
});
}),
(u.prototype.toggleAllColumns = function (i) {
var e = this;
if (
(t.each(this.columns, function (t, o) {
e.columns[t].visible = i;
}),
this.initHeader(),
this.initSearch(),
this.initPagination(),
this.initBody(),
this.options.showColumns)
) {
var o = this.$toolbar.find(".keep-open input").prop("disabled", !1);
o.filter(":checked").length <= this.options.minimumCountColumns &&
o.filter(":checked").prop("disabled", !0);
}
}),
(u.prototype.showAllColumns = function () {
this.toggleAllColumns(!0);
}),
(u.prototype.hideAllColumns = function () {
this.toggleAllColumns(!1);
}),
(u.prototype.filterBy = function (i) {
(this.filterColumns = t.isEmptyObject(i) ? {} : i),
(this.options.pageNumber = 1),
this.initSearch(),
this.updatePagination();
}),
(u.prototype.scrollTo = function (t) {
if (
("string" == typeof t &&
(t = "bottom" === t ? this.$tableBody[0].scrollHeight : 0),
"number" == typeof t && this.$tableBody.scrollTop(t),
void 0 === t)
)
return this.$tableBody.scrollTop();
}),
(u.prototype.getScrollPosition = function () {
return this.scrollTo();
}),
(u.prototype.selectPage = function (t) {
t > 0 &&
t <= this.options.totalPages &&
((this.options.pageNumber = t), this.updatePagination());
}),
(u.prototype.prevPage = function () {
this.options.pageNumber > 1 &&
(this.options.pageNumber--, this.updatePagination());
}),
(u.prototype.nextPage = function () {
this.options.pageNumber < this.options.totalPages &&
(this.options.pageNumber++, this.updatePagination());
}),
(u.prototype.toggleView = function () {
(this.options.cardView = !this.options.cardView), this.initHeader();
var t = this.$toolbar.find('button[name="toggle"] i');
this.options.cardView
? (t.removeClass(this.options.icons.toggleOff),
t.addClass(this.options.icons.toggleOn))
: (t.removeClass(this.options.icons.toggleOn),
t.addClass(this.options.icons.toggleOff)),
this.initBody(),
this.trigger("toggle", this.options.cardView);
}),
(u.prototype.refreshOptions = function (i) {
l(this.options, i, !0) ||
((this.options = t.extend(this.options, i)),
this.trigger("refresh-options", this.options),
this.destroy(),
this.init());
}),
(u.prototype.resetSearch = function (t) {
var i = this.$toolbar.find(".search input");
i.val(t || ""), this.onSearch({ currentTarget: i });
}),
(u.prototype.expandRow_ = function (t, i) {
var e = this.$body.find(s('> tr[data-index="%s"]', i));
e.next().is("tr.detail-view") === !t &&
e.find("> td > .detail-icon").click();
}),
(u.prototype.expandRow = function (t) {
this.expandRow_(!0, t);
}),
(u.prototype.collapseRow = function (t) {
this.expandRow_(!1, t);
}),
(u.prototype.expandAllRows = function (i) {
if (i) {
var e = this.$body.find(s('> tr[data-index="%s"]', 0)),
o = this,
n = null,
a = !1,
r = -1;
if (
(e.next().is("tr.detail-view")
? e.next().next().is("tr.detail-view") ||
(e.next().find(".detail-icon").click(), (a = !0))
: (e.find("> td > .detail-icon").click(), (a = !0)),
a)
)
try {
r = setInterval(function () {
(n = o.$body.find("tr.detail-view").last().find(".detail-icon"))
.length > 0
? n.click()
: clearInterval(r);
}, 1);
} catch (t) {
clearInterval(r);
}
} else
for (var l = this.$body.children(), h = 0; h < l.length; h++)
this.expandRow_(!0, t(l[h]).data("index"));
}),
(u.prototype.collapseAllRows = function (i) {
if (i) this.expandRow_(!1, 0);
else
for (var e = this.$body.children(), o = 0; o < e.length; o++)
this.expandRow_(!1, t(e[o]).data("index"));
}),
(u.prototype.updateFormatText = function (t, i) {
this.options[s("format%s", t)] &&
("string" == typeof i
? (this.options[s("format%s", t)] = function () {
return i;
})
: "function" == typeof i && (this.options[s("format%s", t)] = i)),
this.initToolbar(),
this.initPagination(),
this.initBody();
});
var f = [
"getOptions",
"getSelections",
"getAllSelections",
"getData",
"load",
"append",
"prepend",
"remove",
"removeAll",
"insertRow",
"updateRow",
"updateCell",
"updateByUniqueId",
"removeByUniqueId",
"getRowByUniqueId",
"showRow",
"hideRow",
"getHiddenRows",
"mergeCells",
"refreshColumnTitle",
"checkAll",
"uncheckAll",
"checkInvert",
"check",
"uncheck",
"checkBy",
"uncheckBy",
"refresh",
"resetView",
"resetWidth",
"destroy",
"showLoading",
"hideLoading",
"showColumn",
"hideColumn",
"getHiddenColumns",
"getVisibleColumns",
"showAllColumns",
"hideAllColumns",
"filterBy",
"scrollTo",
"getScrollPosition",
"selectPage",
"prevPage",
"nextPage",
"togglePagination",
"toggleView",
"refreshOptions",
"resetSearch",
"expandRow",
"collapseRow",
"expandAllRows",
"collapseAllRows",
"updateFormatText",
"updateCellById",
];
(t.fn.bootstrapTable = function (i) {
var e,
o = Array.prototype.slice.call(arguments, 1);
return (
this.each(function () {
var s = t(this),
n = s.data("bootstrap.table"),
a = t.extend({}, u.DEFAULTS, s.data(), "object" == typeof i && i);
if ("string" == typeof i) {
if (t.inArray(i, f) < 0) throw new Error("Unknown method: " + i);
if (!n) return;
(e = n[i].apply(n, o)),
"destroy" === i && s.removeData("bootstrap.table");
}
n || s.data("bootstrap.table", (n = new u(this, a)));
}),
void 0 === e ? this : e
);
}),
(t.fn.bootstrapTable.Constructor = u),
(t.fn.bootstrapTable.defaults = u.DEFAULTS),
(t.fn.bootstrapTable.columnDefaults = u.COLUMN_DEFAULTS),
(t.fn.bootstrapTable.locales = u.LOCALES),
(t.fn.bootstrapTable.methods = f),
(t.fn.bootstrapTable.utils = {
bootstrapVersion: i,
sprintf: s,
compareObjects: l,
calculateObjectValue: r,
getItemField: c,
objectKeys: function () {
var t, i, e, o;
Object.keys ||
(Object.keys =
((t = Object.prototype.hasOwnProperty),
(i = !{ toString: null }.propertyIsEnumerable("toString")),
(o = (e = [
"toString",
"toLocaleString",
"valueOf",
"hasOwnProperty",
"isPrototypeOf",
"propertyIsEnumerable",
"constructor",
]).length),
function (s) {
if (
"object" != typeof s &&
("function" != typeof s || null === s)
)
throw new TypeError("Object.keys called on non-object");
var n,
a,
r = [];
for (n in s) t.call(s, n) && r.push(n);
if (i) for (a = 0; a < o; a++) t.call(s, e[a]) && r.push(e[a]);
return r;
}));
},
isIEBrowser: d,
}),
t(function () {
t('[data-bs-toggle="table"]').bootstrapTable();
});
})(jQuery);