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.
711 lines
21 KiB
711 lines
21 KiB
/*! |
|
Responsive 2.2.3 |
|
2014-2018 SpryMedia Ltd - datatables.net/license |
|
*/ |
|
(function (d) { |
|
"function" === typeof define && define.amd |
|
? define(["jquery", "datatables.net"], function (l) { |
|
return d(l, window, document); |
|
}) |
|
: "object" === typeof exports |
|
? (module.exports = function (l, j) { |
|
l || (l = window); |
|
if (!j || !j.fn.dataTable) j = require("datatables.net")(l, j).$; |
|
return d(j, l, l.document); |
|
}) |
|
: d(jQuery, window, document); |
|
})(function (d, l, j, q) { |
|
function t(a, b, c) { |
|
var e = b + "-" + c; |
|
if (n[e]) return n[e]; |
|
for ( |
|
var d = [], a = a.cell(b, c).node().childNodes, b = 0, c = a.length; |
|
b < c; |
|
b++ |
|
) |
|
d.push(a[b]); |
|
return (n[e] = d); |
|
} |
|
function r(a, b, d) { |
|
var e = b + "-" + d; |
|
if (n[e]) { |
|
for ( |
|
var a = a.cell(b, d).node(), |
|
d = n[e][0].parentNode.childNodes, |
|
b = [], |
|
f = 0, |
|
g = d.length; |
|
f < g; |
|
f++ |
|
) |
|
b.push(d[f]); |
|
d = 0; |
|
for (f = b.length; d < f; d++) a.appendChild(b[d]); |
|
n[e] = q; |
|
} |
|
} |
|
var o = d.fn.dataTable, |
|
i = function (a, b) { |
|
if (!o.versionCheck || !o.versionCheck("1.10.10")) |
|
throw "DataTables Responsive requires DataTables 1.10.10 or newer"; |
|
this.s = { dt: new o.Api(a), columns: [], current: [] }; |
|
this.s.dt.settings()[0].responsive || |
|
(b && "string" === typeof b.details |
|
? (b.details = { type: b.details }) |
|
: b && !1 === b.details |
|
? (b.details = { type: !1 }) |
|
: b && !0 === b.details && (b.details = { type: "inline" }), |
|
(this.c = d.extend(!0, {}, i.defaults, o.defaults.responsive, b)), |
|
(a.responsive = this), |
|
this._constructor()); |
|
}; |
|
d.extend(i.prototype, { |
|
_constructor: function () { |
|
var a = this, |
|
b = this.s.dt, |
|
c = b.settings()[0], |
|
e = d(l).width(); |
|
b.settings()[0]._responsive = this; |
|
d(l).on( |
|
"resize.dtr orientationchange.dtr", |
|
o.util.throttle(function () { |
|
var b = d(l).width(); |
|
b !== e && (a._resize(), (e = b)); |
|
}) |
|
); |
|
c.oApi._fnCallbackReg(c, "aoRowCreatedCallback", function (e) { |
|
-1 !== d.inArray(!1, a.s.current) && |
|
d(">td, >th", e).each(function (e) { |
|
e = b.column.index("toData", e); |
|
!1 === a.s.current[e] && d(this).css("display", "none"); |
|
}); |
|
}); |
|
b.on("destroy.dtr", function () { |
|
b.off(".dtr"); |
|
d(b.table().body()).off(".dtr"); |
|
d(l).off("resize.dtr orientationchange.dtr"); |
|
d.each(a.s.current, function (b, e) { |
|
!1 === e && a._setColumnVis(b, !0); |
|
}); |
|
}); |
|
this.c.breakpoints.sort(function (a, b) { |
|
return a.width < b.width ? 1 : a.width > b.width ? -1 : 0; |
|
}); |
|
this._classLogic(); |
|
this._resizeAuto(); |
|
c = this.c.details; |
|
!1 !== c.type && |
|
(a._detailsInit(), |
|
b.on("column-visibility.dtr", function () { |
|
a._timer && clearTimeout(a._timer); |
|
a._timer = setTimeout(function () { |
|
a._timer = null; |
|
a._classLogic(); |
|
a._resizeAuto(); |
|
a._resize(); |
|
a._redrawChildren(); |
|
}, 100); |
|
}), |
|
b.on("draw.dtr", function () { |
|
a._redrawChildren(); |
|
}), |
|
d(b.table().node()).addClass("dtr-" + c.type)); |
|
b.on("column-reorder.dtr", function () { |
|
a._classLogic(); |
|
a._resizeAuto(); |
|
a._resize(); |
|
}); |
|
b.on("column-sizing.dtr", function () { |
|
a._resizeAuto(); |
|
a._resize(); |
|
}); |
|
b.on("preXhr.dtr", function () { |
|
var e = []; |
|
b.rows().every(function () { |
|
this.child.isShown() && e.push(this.id(true)); |
|
}); |
|
b.one("draw.dtr", function () { |
|
a._resizeAuto(); |
|
a._resize(); |
|
b.rows(e).every(function () { |
|
a._detailsDisplay(this, false); |
|
}); |
|
}); |
|
}); |
|
b.on("init.dtr", function () { |
|
a._resizeAuto(); |
|
a._resize(); |
|
d.inArray(false, a.s.current) && b.columns.adjust(); |
|
}); |
|
this._resize(); |
|
}, |
|
_columnsVisiblity: function (a) { |
|
var b = this.s.dt, |
|
c = this.s.columns, |
|
e, |
|
f, |
|
g = c |
|
.map(function (a, b) { |
|
return { columnIdx: b, priority: a.priority }; |
|
}) |
|
.sort(function (a, b) { |
|
return a.priority !== b.priority |
|
? a.priority - b.priority |
|
: a.columnIdx - b.columnIdx; |
|
}), |
|
h = d.map(c, function (e, c) { |
|
return !1 === b.column(c).visible() |
|
? "not-visible" |
|
: e.auto && null === e.minWidth |
|
? !1 |
|
: !0 === e.auto |
|
? "-" |
|
: -1 !== d.inArray(a, e.includeIn); |
|
}), |
|
m = 0; |
|
e = 0; |
|
for (f = h.length; e < f; e++) !0 === h[e] && (m += c[e].minWidth); |
|
e = b.settings()[0].oScroll; |
|
e = e.sY || e.sX ? e.iBarWidth : 0; |
|
m = b.table().container().offsetWidth - e - m; |
|
e = 0; |
|
for (f = h.length; e < f; e++) c[e].control && (m -= c[e].minWidth); |
|
var s = !1; |
|
e = 0; |
|
for (f = g.length; e < f; e++) { |
|
var k = g[e].columnIdx; |
|
"-" === h[k] && |
|
!c[k].control && |
|
c[k].minWidth && |
|
(s || 0 > m - c[k].minWidth ? ((s = !0), (h[k] = !1)) : (h[k] = !0), |
|
(m -= c[k].minWidth)); |
|
} |
|
g = !1; |
|
e = 0; |
|
for (f = c.length; e < f; e++) |
|
if (!c[e].control && !c[e].never && !1 === h[e]) { |
|
g = !0; |
|
break; |
|
} |
|
e = 0; |
|
for (f = c.length; e < f; e++) |
|
c[e].control && (h[e] = g), "not-visible" === h[e] && (h[e] = !1); |
|
-1 === d.inArray(!0, h) && (h[0] = !0); |
|
return h; |
|
}, |
|
_classLogic: function () { |
|
var a = this, |
|
b = this.c.breakpoints, |
|
c = this.s.dt, |
|
e = c |
|
.columns() |
|
.eq(0) |
|
.map(function (a) { |
|
var b = this.column(a), |
|
e = b.header().className, |
|
a = c.settings()[0].aoColumns[a].responsivePriority; |
|
a === q && |
|
((b = d(b.header()).data("priority")), |
|
(a = b !== q ? 1 * b : 1e4)); |
|
return { |
|
className: e, |
|
includeIn: [], |
|
auto: !1, |
|
control: !1, |
|
never: e.match(/\bnever\b/) ? !0 : !1, |
|
priority: a, |
|
}; |
|
}), |
|
f = function (a, b) { |
|
var c = e[a].includeIn; |
|
-1 === d.inArray(b, c) && c.push(b); |
|
}, |
|
g = function (d, c, g, k) { |
|
if (g) |
|
if ("max-" === g) { |
|
k = a._find(c).width; |
|
c = 0; |
|
for (g = b.length; c < g; c++) b[c].width <= k && f(d, b[c].name); |
|
} else if ("min-" === g) { |
|
k = a._find(c).width; |
|
c = 0; |
|
for (g = b.length; c < g; c++) b[c].width >= k && f(d, b[c].name); |
|
} else { |
|
if ("not-" === g) { |
|
c = 0; |
|
for (g = b.length; c < g; c++) |
|
-1 === b[c].name.indexOf(k) && f(d, b[c].name); |
|
} |
|
} |
|
else e[d].includeIn.push(c); |
|
}; |
|
e.each(function (a, e) { |
|
for ( |
|
var c = a.className.split(" "), f = !1, i = 0, l = c.length; |
|
i < l; |
|
i++ |
|
) { |
|
var j = d.trim(c[i]); |
|
if ("all" === j) { |
|
f = !0; |
|
a.includeIn = d.map(b, function (a) { |
|
return a.name; |
|
}); |
|
return; |
|
} |
|
if ("none" === j || a.never) { |
|
f = !0; |
|
return; |
|
} |
|
if ("control" === j) { |
|
f = !0; |
|
a.control = !0; |
|
return; |
|
} |
|
d.each(b, function (a, b) { |
|
var d = b.name.split("-"), |
|
c = j.match( |
|
RegExp( |
|
"(min\\-|max\\-|not\\-)?(" + d[0] + ")(\\-[_a-zA-Z0-9])?" |
|
) |
|
); |
|
c && |
|
((f = !0), |
|
c[2] === d[0] && c[3] === "-" + d[1] |
|
? g(e, b.name, c[1], c[2] + c[3]) |
|
: c[2] === d[0] && !c[3] && g(e, b.name, c[1], c[2])); |
|
}); |
|
} |
|
f || (a.auto = !0); |
|
}); |
|
this.s.columns = e; |
|
}, |
|
_detailsDisplay: function (a, b) { |
|
var c = this, |
|
e = this.s.dt, |
|
f = this.c.details; |
|
if (f && !1 !== f.type) { |
|
var g = f.display(a, b, function () { |
|
return f.renderer(e, a[0], c._detailsObj(a[0])); |
|
}); |
|
(!0 === g || !1 === g) && |
|
d(e.table().node()).triggerHandler("responsive-display.dt", [ |
|
e, |
|
a, |
|
g, |
|
b, |
|
]); |
|
} |
|
}, |
|
_detailsInit: function () { |
|
var a = this, |
|
b = this.s.dt, |
|
c = this.c.details; |
|
"inline" === c.type && (c.target = "td:first-child, th:first-child"); |
|
b.on("draw.dtr", function () { |
|
a._tabIndexes(); |
|
}); |
|
a._tabIndexes(); |
|
d(b.table().body()).on("keyup.dtr", "td, th", function (a) { |
|
a.keyCode === 13 && d(this).data("dtr-keyboard") && d(this).click(); |
|
}); |
|
var e = c.target; |
|
d(b.table().body()).on( |
|
"click.dtr mousedown.dtr mouseup.dtr", |
|
"string" === typeof e ? e : "td, th", |
|
function (c) { |
|
if ( |
|
d(b.table().node()).hasClass("collapsed") && |
|
d.inArray( |
|
d(this).closest("tr").get(0), |
|
b.rows().nodes().toArray() |
|
) !== -1 |
|
) { |
|
if (typeof e === "number") { |
|
var g = e < 0 ? b.columns().eq(0).length + e : e; |
|
if (b.cell(this).index().column !== g) return; |
|
} |
|
g = b.row(d(this).closest("tr")); |
|
c.type === "click" |
|
? a._detailsDisplay(g, false) |
|
: c.type === "mousedown" |
|
? d(this).css("outline", "none") |
|
: c.type === "mouseup" && d(this).blur().css("outline", ""); |
|
} |
|
} |
|
); |
|
}, |
|
_detailsObj: function (a) { |
|
var b = this, |
|
c = this.s.dt; |
|
return d.map(this.s.columns, function (e, d) { |
|
if (!e.never && !e.control) |
|
return { |
|
title: c.settings()[0].aoColumns[d].sTitle, |
|
data: c.cell(a, d).render(b.c.orthogonal), |
|
hidden: c.column(d).visible() && !b.s.current[d], |
|
columnIndex: d, |
|
rowIndex: a, |
|
}; |
|
}); |
|
}, |
|
_find: function (a) { |
|
for (var b = this.c.breakpoints, c = 0, e = b.length; c < e; c++) |
|
if (b[c].name === a) return b[c]; |
|
}, |
|
_redrawChildren: function () { |
|
var a = this, |
|
b = this.s.dt; |
|
b.rows({ page: "current" }).iterator("row", function (c, e) { |
|
b.row(e); |
|
a._detailsDisplay(b.row(e), !0); |
|
}); |
|
}, |
|
_resize: function () { |
|
var a = this, |
|
b = this.s.dt, |
|
c = d(l).width(), |
|
e = this.c.breakpoints, |
|
f = e[0].name, |
|
g = this.s.columns, |
|
h, |
|
m = this.s.current.slice(); |
|
for (h = e.length - 1; 0 <= h; h--) |
|
if (c <= e[h].width) { |
|
f = e[h].name; |
|
break; |
|
} |
|
var i = this._columnsVisiblity(f); |
|
this.s.current = i; |
|
e = !1; |
|
h = 0; |
|
for (c = g.length; h < c; h++) |
|
if ( |
|
!1 === i[h] && |
|
!g[h].never && |
|
!g[h].control && |
|
!1 === !b.column(h).visible() |
|
) { |
|
e = !0; |
|
break; |
|
} |
|
d(b.table().node()).toggleClass("collapsed", e); |
|
var k = !1, |
|
j = 0; |
|
b.columns() |
|
.eq(0) |
|
.each(function (b, c) { |
|
!0 === i[c] && j++; |
|
i[c] !== m[c] && ((k = !0), a._setColumnVis(b, i[c])); |
|
}); |
|
k && |
|
(this._redrawChildren(), |
|
d(b.table().node()).trigger("responsive-resize.dt", [ |
|
b, |
|
this.s.current, |
|
]), |
|
0 === b.page.info().recordsDisplay && |
|
d("td", b.table().body()).eq(0).attr("colspan", j)); |
|
}, |
|
_resizeAuto: function () { |
|
var a = this.s.dt, |
|
b = this.s.columns; |
|
if ( |
|
this.c.auto && |
|
-1 !== |
|
d.inArray( |
|
!0, |
|
d.map(b, function (a) { |
|
return a.auto; |
|
}) |
|
) |
|
) { |
|
d.isEmptyObject(n) || |
|
d.each(n, function (b) { |
|
b = b.split("-"); |
|
r(a, 1 * b[0], 1 * b[1]); |
|
}); |
|
a.table().node(); |
|
var c = a.table().node().cloneNode(!1), |
|
e = d(a.table().header().cloneNode(!1)).appendTo(c), |
|
f = d(a.table().body()).clone(!1, !1).empty().appendTo(c), |
|
g = a |
|
.columns() |
|
.header() |
|
.filter(function (b) { |
|
return a.column(b).visible(); |
|
}) |
|
.to$() |
|
.clone(!1) |
|
.css("display", "table-cell") |
|
.css("min-width", 0); |
|
d(f) |
|
.append(d(a.rows({ page: "current" }).nodes()).clone(!1)) |
|
.find("th, td") |
|
.css("display", ""); |
|
if ((f = a.table().footer())) { |
|
var f = d(f.cloneNode(!1)).appendTo(c), |
|
h = a |
|
.columns() |
|
.footer() |
|
.filter(function (b) { |
|
return a.column(b).visible(); |
|
}) |
|
.to$() |
|
.clone(!1) |
|
.css("display", "table-cell"); |
|
d("<tr/>").append(h).appendTo(f); |
|
} |
|
d("<tr/>").append(g).appendTo(e); |
|
"inline" === this.c.details.type && |
|
d(c).addClass("dtr-inline collapsed"); |
|
d(c).find("[name]").removeAttr("name"); |
|
d(c).css("position", "relative"); |
|
c = d("<div/>") |
|
.css({ width: 1, height: 1, overflow: "hidden", clear: "both" }) |
|
.append(c); |
|
c.insertBefore(a.table().node()); |
|
g.each(function (c) { |
|
c = a.column.index("fromVisible", c); |
|
b[c].minWidth = this.offsetWidth || 0; |
|
}); |
|
c.remove(); |
|
} |
|
}, |
|
_setColumnVis: function (a, b) { |
|
var c = this.s.dt, |
|
e = b ? "" : "none"; |
|
d(c.column(a).header()).css("display", e); |
|
d(c.column(a).footer()).css("display", e); |
|
c.column(a).nodes().to$().css("display", e); |
|
d.isEmptyObject(n) || |
|
c |
|
.cells(null, a) |
|
.indexes() |
|
.each(function (a) { |
|
r(c, a.row, a.column); |
|
}); |
|
}, |
|
_tabIndexes: function () { |
|
var a = this.s.dt, |
|
b = a.cells({ page: "current" }).nodes().to$(), |
|
c = a.settings()[0], |
|
e = this.c.details.target; |
|
b.filter("[data-dtr-keyboard]").removeData("[data-dtr-keyboard]"); |
|
"number" === typeof e |
|
? a |
|
.cells(null, e, { page: "current" }) |
|
.nodes() |
|
.to$() |
|
.attr("tabIndex", c.iTabIndex) |
|
.data("dtr-keyboard", 1) |
|
: ("td:first-child, th:first-child" === e && |
|
(e = ">td:first-child, >th:first-child"), |
|
d(e, a.rows({ page: "current" }).nodes()) |
|
.attr("tabIndex", c.iTabIndex) |
|
.data("dtr-keyboard", 1)); |
|
}, |
|
}); |
|
i.breakpoints = [ |
|
{ name: "desktop", width: Infinity }, |
|
{ name: "tablet-l", width: 1024 }, |
|
{ name: "tablet-p", width: 768 }, |
|
{ name: "mobile-l", width: 480 }, |
|
{ name: "mobile-p", width: 320 }, |
|
]; |
|
i.display = { |
|
childRow: function (a, b, c) { |
|
if (b) { |
|
if (d(a.node()).hasClass("parent")) |
|
return a.child(c(), "child").show(), !0; |
|
} else { |
|
if (a.child.isShown()) |
|
return a.child(!1), d(a.node()).removeClass("parent"), !1; |
|
a.child(c(), "child").show(); |
|
d(a.node()).addClass("parent"); |
|
return !0; |
|
} |
|
}, |
|
childRowImmediate: function (a, b, c) { |
|
if ((!b && a.child.isShown()) || !a.responsive.hasHidden()) |
|
return a.child(!1), d(a.node()).removeClass("parent"), !1; |
|
a.child(c(), "child").show(); |
|
d(a.node()).addClass("parent"); |
|
return !0; |
|
}, |
|
modal: function (a) { |
|
return function (b, c, e) { |
|
if (c) d("div.dtr-modal-content").empty().append(e()); |
|
else { |
|
var f = function () { |
|
g.remove(); |
|
d(j).off("keypress.dtr"); |
|
}, |
|
g = d('<div class="dtr-modal"/>') |
|
.append( |
|
d('<div class="dtr-modal-display"/>') |
|
.append(d('<div class="dtr-modal-content"/>').append(e())) |
|
.append( |
|
d('<div class="dtr-modal-close">×</div>').click( |
|
function () { |
|
f(); |
|
} |
|
) |
|
) |
|
) |
|
.append( |
|
d('<div class="dtr-modal-background"/>').click(function () { |
|
f(); |
|
}) |
|
) |
|
.appendTo("body"); |
|
d(j).on("keyup.dtr", function (a) { |
|
27 === a.keyCode && (a.stopPropagation(), f()); |
|
}); |
|
} |
|
a && |
|
a.header && |
|
d("div.dtr-modal-content").prepend("<h2>" + a.header(b) + "</h2>"); |
|
}; |
|
}, |
|
}; |
|
var n = {}; |
|
i.renderer = { |
|
listHiddenNodes: function () { |
|
return function (a, b, c) { |
|
var e = d('<ul data-dtr-index="' + b + '" class="dtr-details"/>'), |
|
f = !1; |
|
d.each(c, function (b, c) { |
|
c.hidden && |
|
(d( |
|
'<li data-dtr-index="' + |
|
c.columnIndex + |
|
'" data-dt-row="' + |
|
c.rowIndex + |
|
'" data-dt-column="' + |
|
c.columnIndex + |
|
'"><span class="dtr-title">' + |
|
c.title + |
|
"</span> </li>" |
|
) |
|
.append( |
|
d('<span class="dtr-data"/>').append( |
|
t(a, c.rowIndex, c.columnIndex) |
|
) |
|
) |
|
.appendTo(e), |
|
(f = !0)); |
|
}); |
|
return f ? e : !1; |
|
}; |
|
}, |
|
listHidden: function () { |
|
return function (a, b, c) { |
|
return (a = d |
|
.map(c, function (a) { |
|
return a.hidden |
|
? '<li data-dtr-index="' + |
|
a.columnIndex + |
|
'" data-dt-row="' + |
|
a.rowIndex + |
|
'" data-dt-column="' + |
|
a.columnIndex + |
|
'"><span class="dtr-title">' + |
|
a.title + |
|
'</span> <span class="dtr-data">' + |
|
a.data + |
|
"</span></li>" |
|
: ""; |
|
}) |
|
.join("")) |
|
? d('<ul data-dtr-index="' + b + '" class="dtr-details"/>').append(a) |
|
: !1; |
|
}; |
|
}, |
|
tableAll: function (a) { |
|
a = d.extend({ tableClass: "" }, a); |
|
return function (b, c, e) { |
|
b = d |
|
.map(e, function (a) { |
|
return ( |
|
'<tr data-dt-row="' + |
|
a.rowIndex + |
|
'" data-dt-column="' + |
|
a.columnIndex + |
|
'"><td>' + |
|
a.title + |
|
":</td> <td>" + |
|
a.data + |
|
"</td></tr>" |
|
); |
|
}) |
|
.join(""); |
|
return d( |
|
'<table class="' + a.tableClass + ' dtr-details" width="100%"/>' |
|
).append(b); |
|
}; |
|
}, |
|
}; |
|
i.defaults = { |
|
breakpoints: i.breakpoints, |
|
auto: !0, |
|
details: { |
|
display: i.display.childRow, |
|
renderer: i.renderer.listHidden(), |
|
target: 0, |
|
type: "inline", |
|
}, |
|
orthogonal: "display", |
|
}; |
|
var p = d.fn.dataTable.Api; |
|
p.register("responsive()", function () { |
|
return this; |
|
}); |
|
p.register("responsive.index()", function (a) { |
|
a = d(a); |
|
return { column: a.data("dtr-index"), row: a.parent().data("dtr-index") }; |
|
}); |
|
p.register("responsive.rebuild()", function () { |
|
return this.iterator("table", function (a) { |
|
a._responsive && a._responsive._classLogic(); |
|
}); |
|
}); |
|
p.register("responsive.recalc()", function () { |
|
return this.iterator("table", function (a) { |
|
a._responsive && (a._responsive._resizeAuto(), a._responsive._resize()); |
|
}); |
|
}); |
|
p.register("responsive.hasHidden()", function () { |
|
var a = this.context[0]; |
|
return a._responsive ? -1 !== d.inArray(!1, a._responsive.s.current) : !1; |
|
}); |
|
p.registerPlural( |
|
"columns().responsiveHidden()", |
|
"column().responsiveHidden()", |
|
function () { |
|
return this.iterator( |
|
"column", |
|
function (a, b) { |
|
return a._responsive ? a._responsive.s.current[b] : !1; |
|
}, |
|
1 |
|
); |
|
} |
|
); |
|
i.version = "2.2.3"; |
|
d.fn.dataTable.Responsive = i; |
|
d.fn.DataTable.Responsive = i; |
|
d(j).on("preInit.dt.dtr", function (a, b) { |
|
if ( |
|
"dt" === a.namespace && |
|
(d(b.nTable).hasClass("responsive") || |
|
d(b.nTable).hasClass("dt-responsive") || |
|
b.oInit.responsive || |
|
o.defaults.responsive) |
|
) { |
|
var c = b.oInit.responsive; |
|
!1 !== c && new i(b, d.isPlainObject(c) ? c : {}); |
|
} |
|
}); |
|
return i; |
|
});
|
|
|