Subversion Repositories SmartDukaan

Rev

View as "text/plain" | Blame | Last modification | View Log | RSS feed

/*!
   Copyright 2010-2020 SpryMedia Ltd.

 This source file is free software, available under the following license:
   MIT license - http://datatables.net/license/mit

 This source file is distributed in the hope that it will be useful, but
 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.

 For details please refer to: http://www.datatables.net
 FixedColumns 3.3.2
 ©2010-2020 SpryMedia Ltd - datatables.net/license
*/
var $jscomp = $jscomp || {}; $jscomp.scope = {}; $jscomp.findInternal = function(c, h, k) { c instanceof String && (c = String(c)); for (var t = c.length, n = 0; n < t; n++) { var z = c[n]; if (h.call(k, z, n, c)) return { i: n, v: z } } return { i: -1, v: void 0 } }; $jscomp.ASSUME_ES5 = !1; $jscomp.ASSUME_NO_NATIVE_MAP = !1; $jscomp.ASSUME_NO_NATIVE_SET = !1; $jscomp.SIMPLE_FROUND_POLYFILL = !1; $jscomp.ISOLATE_POLYFILLS = !1;
$jscomp.defineProperty = $jscomp.ASSUME_ES5 || "function" == typeof Object.defineProperties ? Object.defineProperty : function(c, h, k) { if (c == Array.prototype || c == Object.prototype) return c; c[h] = k.value; return c }; $jscomp.getGlobal = function(c) { c = ["object" == typeof globalThis && globalThis, c, "object" == typeof window && window, "object" == typeof self && self, "object" == typeof global && global]; for (var h = 0; h < c.length; ++h) { var k = c[h]; if (k && k.Math == Math) return k } throw Error("Cannot find global object"); }; $jscomp.global = $jscomp.getGlobal(this);
$jscomp.IS_SYMBOL_NATIVE = "function" === typeof Symbol && "symbol" === typeof Symbol("x"); $jscomp.TRUST_ES6_POLYFILLS = !$jscomp.ISOLATE_POLYFILLS || $jscomp.IS_SYMBOL_NATIVE; $jscomp.polyfills = {}; $jscomp.propertyToPolyfillSymbol = {}; $jscomp.POLYFILL_PREFIX = "$jscp$"; var $jscomp$lookupPolyfilledValue = function(c, h) { var k = $jscomp.propertyToPolyfillSymbol[h]; if (null == k) return c[h]; k = c[k]; return void 0 !== k ? k : c[h] };
$jscomp.polyfill = function(c, h, k, t) { h && ($jscomp.ISOLATE_POLYFILLS ? $jscomp.polyfillIsolated(c, h, k, t) : $jscomp.polyfillUnisolated(c, h, k, t)) }; $jscomp.polyfillUnisolated = function(c, h, k, t) { k = $jscomp.global; c = c.split("."); for (t = 0; t < c.length - 1; t++) { var n = c[t]; if (!(n in k)) return; k = k[n] } c = c[c.length - 1]; t = k[c]; h = h(t); h != t && null != h && $jscomp.defineProperty(k, c, { configurable: !0, writable: !0, value: h }) };
$jscomp.polyfillIsolated = function(c, h, k, t) {
        var n = c.split("."); c = 1 === n.length; t = n[0]; t = !c && t in $jscomp.polyfills ? $jscomp.polyfills : $jscomp.global; for (var z = 0; z < n.length - 1; z++) { var u = n[z]; if (!(u in t)) return; t = t[u] } n = n[n.length - 1]; k = $jscomp.IS_SYMBOL_NATIVE && "es6" === k ? t[n] : null; h = h(k); null != h && (c ? $jscomp.defineProperty($jscomp.polyfills, n, { configurable: !0, writable: !0, value: h }) : h !== k && ($jscomp.propertyToPolyfillSymbol[n] = $jscomp.IS_SYMBOL_NATIVE ? $jscomp.global.Symbol(n) : $jscomp.POLYFILL_PREFIX + n, n =
                $jscomp.propertyToPolyfillSymbol[n], $jscomp.defineProperty(t, n, { configurable: !0, writable: !0, value: h })))
}; $jscomp.polyfill("Array.prototype.find", function(c) { return c ? c : function(h, k) { return $jscomp.findInternal(this, h, k).v } }, "es6", "es3");
(function(c) { "function" === typeof define && define.amd ? define(["jquery", "datatables.net"], function(h) { return c(h, window, document) }) : "object" === typeof exports ? module.exports = function(h, k) { h || (h = window); k && k.fn.dataTable || (k = require("datatables.net")(h, k).$); return c(k, h, h.document) } : c(jQuery, window, document) })(function(c, h, k, t) {
        var n = c.fn.dataTable, z, u = function(a, b) {
                var d = this; if (this instanceof u) {
                        if (b === t || !0 === b) b = {}; var f = c.fn.dataTable.camelToHungarian; f && (f(u.defaults, u.defaults, !0), f(u.defaults,
                                b)); a = (new c.fn.dataTable.Api(a)).settings()[0]; this.s = { dt: a, iTableColumns: a.aoColumns.length, aiOuterWidths: [], aiInnerWidths: [], rtl: "rtl" === c(a.nTable).css("direction") }; this.dom = { scroller: null, header: null, body: null, footer: null, grid: { wrapper: null, dt: null, left: { wrapper: null, head: null, body: null, foot: null }, right: { wrapper: null, head: null, body: null, foot: null } }, clone: { left: { header: null, body: null, footer: null }, right: { header: null, body: null, footer: null } } }; if (a._oFixedColumns) throw "FixedColumns already initialised on this table";
                        a._oFixedColumns = this; a._bInitComplete ? this._fnConstruct(b) : a.oApi._fnCallbackReg(a, "aoInitComplete", function() { d._fnConstruct(b) }, "FixedColumns")
                } else alert("FixedColumns warning: FixedColumns must be initialised with the 'new' keyword.")
        }; c.extend(u.prototype, {
                fnUpdate: function() { this._fnDraw(!0) }, fnRedrawLayout: function() { this._fnColCalc(); this._fnGridLayout(); this.fnUpdate() }, fnRecalculateHeight: function(a) { delete a._DTTC_iHeight; a.style.height = "auto" }, fnSetRowHeight: function(a, b) {
                        a.style.height =
                                b + "px"
                }, fnGetPosition: function(a) { var b = this.s.dt.oInstance; if (c(a).parents(".DTFC_Cloned").length) { if ("tr" === a.nodeName.toLowerCase()) return a = c(a).index(), b.fnGetPosition(c("tr", this.s.dt.nTBody)[a]); var d = c(a).index(); a = c(a.parentNode).index(); return [b.fnGetPosition(c("tr", this.s.dt.nTBody)[a]), d, b.oApi._fnVisibleToColumnIndex(this.s.dt, d)] } return b.fnGetPosition(a) }, fnToFixedNode: function(a, b) {
                        var d; b < this.s.iLeftColumns ? d = c(this.dom.clone.left.body).find("[data-dt-row=" + a + "][data-dt-column=" +
                                b + "]") : b >= this.s.iRightColumns && (d = c(this.dom.clone.right.body).find("[data-dt-row=" + a + "][data-dt-column=" + b + "]")); return d && d.length ? d[0] : (new c.fn.dataTable.Api(this.s.dt)).cell(a, b).node()
                }, _fnConstruct: function(a) {
                        var b = this; if ("function" != typeof this.s.dt.oInstance.fnVersionCheck || !0 !== this.s.dt.oInstance.fnVersionCheck("1.8.0")) alert("FixedColumns " + u.VERSION + " required DataTables 1.8.0 or later. Please upgrade your DataTables installation"); else if ("" === this.s.dt.oScroll.sX) this.s.dt.oInstance.oApi._fnLog(this.s.dt,
                                1, "FixedColumns is not needed (no x-scrolling in DataTables enabled), so no action will be taken. Use 'FixedHeader' for column fixing when scrolling is not enabled"); else {
                                this.s = c.extend(!0, this.s, u.defaults, a); a = this.s.dt.oClasses; this.dom.grid.dt = c(this.s.dt.nTable).parents("div." + a.sScrollWrapper)[0]; this.dom.scroller = c("div." + a.sScrollBody, this.dom.grid.dt)[0]; this._fnColCalc(); this._fnGridSetup(); var d, f = !1; c(this.s.dt.nTableWrapper).on("mousedown.DTFC", function(g) {
                                        0 === g.button && (f = !0, c(k).one("mouseup",
                                                function() { f = !1 }))
                                }); c(this.dom.scroller).on("mouseover.DTFC touchstart.DTFC", function() { f || (d = "main") }).on("scroll.DTFC", function(g) { !d && g.originalEvent && (d = "main"); if ("main" === d || "key" === d) 0 < b.s.iLeftColumns && (b.dom.grid.left.liner.scrollTop = b.dom.scroller.scrollTop), 0 < b.s.iRightColumns && (b.dom.grid.right.liner.scrollTop = b.dom.scroller.scrollTop) }); var e = "onwheel" in k.createElement("div") ? "wheel.DTFC" : "mousewheel.DTFC"; 0 < b.s.iLeftColumns && (c(b.dom.grid.left.liner).on("mouseover.DTFC touchstart.DTFC",
                                        function() { f || "key" === d || (d = "left") }).on("scroll.DTFC", function(g) { !d && g.originalEvent && (d = "left"); "left" === d && (b.dom.scroller.scrollTop = b.dom.grid.left.liner.scrollTop, 0 < b.s.iRightColumns && (b.dom.grid.right.liner.scrollTop = b.dom.grid.left.liner.scrollTop)) }).on(e, function(g) { d = "left"; b.dom.scroller.scrollLeft -= "wheel" === g.type ? -g.originalEvent.deltaX : g.originalEvent.wheelDeltaX }), c(b.dom.grid.left.head).on("mouseover.DTFC touchstart.DTFC", function() { d = "main" })); 0 < b.s.iRightColumns && (c(b.dom.grid.right.liner).on("mouseover.DTFC touchstart.DTFC",
                                                function() { f || "key" === d || (d = "right") }).on("scroll.DTFC", function(g) { !d && g.originalEvent && (d = "right"); "right" === d && (b.dom.scroller.scrollTop = b.dom.grid.right.liner.scrollTop, 0 < b.s.iLeftColumns && (b.dom.grid.left.liner.scrollTop = b.dom.grid.right.liner.scrollTop)) }).on(e, function(g) { d = "right"; b.dom.scroller.scrollLeft -= "wheel" === g.type ? -g.originalEvent.deltaX : g.originalEvent.wheelDeltaX }), c(b.dom.grid.right.head).on("mouseover.DTFC touchstart.DTFC", function() { d = "main" })); c(h).on("resize.DTFC", function() { b._fnGridLayout.call(b) });
                                var l = !0, m = c(this.s.dt.nTable); m.on("draw.dt.DTFC", function() { b._fnColCalc(); b._fnDraw.call(b, l); l = !1 }).on("key-focus.dt.DTFC", function() { d = "key" }).on("column-sizing.dt.DTFC", function() { b._fnColCalc(); b._fnGridLayout(b) }).on("column-visibility.dt.DTFC", function(g, q, p, r, w) { if (w === t || w) b._fnColCalc(), b._fnGridLayout(b), b._fnDraw(!0) }).on("select.dt.DTFC deselect.dt.DTFC", function(g, q, p, r) { "dt" === g.namespace && b._fnDraw(!1) }).on("position.dts.dt.DTFC", function(g, q) {
                                        b.dom.grid.left.body && c(b.dom.grid.left.body).find("table").eq(0).css("top",
                                                q); b.dom.grid.right.body && c(b.dom.grid.right.body).find("table").eq(0).css("top", q)
                                }).on("destroy.dt.DTFC", function() { m.off(".DTFC"); c(b.dom.scroller).off(".DTFC"); c(h).off(".DTFC"); c(b.s.dt.nTableWrapper).off(".DTFC"); c(b.dom.grid.left.liner).off(".DTFC " + e); c(b.dom.grid.left.wrapper).remove(); c(b.dom.grid.right.liner).off(".DTFC " + e); c(b.dom.grid.right.wrapper).remove() }); this._fnGridLayout(); this.s.dt.oInstance.fnDraw(!1)
                        }
                }, _fnColCalc: function() {
                        var a = this, b = 0, d = 0; this.s.aiInnerWidths = []; this.s.aiOuterWidths =
                                []; c.each(this.s.dt.aoColumns, function(f, e) {
                                        e = c(e.nTh); if (e.filter(":visible").length) {
                                                var l = e.outerWidth(); if (0 === a.s.aiOuterWidths.length) { var m = c(a.s.dt.nTable).css("border-left-width"); l += "string" === typeof m && -1 === m.indexOf("px") ? 1 : parseInt(m, 10) } a.s.aiOuterWidths.length === a.s.dt.aoColumns.length - 1 && (m = c(a.s.dt.nTable).css("border-right-width"), l += "string" === typeof m && -1 === m.indexOf("px") ? 1 : parseInt(m, 10)); a.s.aiOuterWidths.push(l); a.s.aiInnerWidths.push(e.width()); f < a.s.iLeftColumns && (b += l);
                                                a.s.iTableColumns - a.s.iRightColumns <= f && (d += l)
                                        } else a.s.aiInnerWidths.push(0), a.s.aiOuterWidths.push(0)
                                }); this.s.iLeftWidth = b; this.s.iRightWidth = d
                }, _fnGridSetup: function() {
                        var a = this._fnDTOverflow(); this.dom.body = this.s.dt.nTable; this.dom.header = this.s.dt.nTHead.parentNode; this.dom.header.parentNode.parentNode.style.position = "relative"; var b = c('<div class="DTFC_ScrollWrapper" style="position:relative; clear:both;"><div class="DTFC_LeftWrapper" style="position:absolute; top:0; left:0;" aria-hidden="true"><div class="DTFC_LeftHeadWrapper" style="position:relative; top:0; left:0; overflow:hidden;"></div><div class="DTFC_LeftBodyWrapper" style="position:relative; top:0; left:0; height:0; overflow:hidden;"><div class="DTFC_LeftBodyLiner" style="position:relative; top:0; left:0; overflow-y:scroll;"></div></div><div class="DTFC_LeftFootWrapper" style="position:relative; top:0; left:0; overflow:hidden;"></div></div><div class="DTFC_RightWrapper" style="position:absolute; top:0; right:0;" aria-hidden="true"><div class="DTFC_RightHeadWrapper" style="position:relative; top:0; left:0;"><div class="DTFC_RightHeadBlocker DTFC_Blocker" style="position:absolute; top:0; bottom:0;"></div></div><div class="DTFC_RightBodyWrapper" style="position:relative; top:0; left:0; height:0; overflow:hidden;"><div class="DTFC_RightBodyLiner" style="position:relative; top:0; left:0; overflow-y:scroll;"></div></div><div class="DTFC_RightFootWrapper" style="position:relative; top:0; left:0;"><div class="DTFC_RightFootBlocker DTFC_Blocker" style="position:absolute; top:0; bottom:0;"></div></div></div></div>')[0],
                                d = b.childNodes[0], f = b.childNodes[1]; this.dom.grid.dt.parentNode.insertBefore(b, this.dom.grid.dt); b.appendChild(this.dom.grid.dt); this.dom.grid.wrapper = b; 0 < this.s.iLeftColumns && (this.dom.grid.left.wrapper = d, this.dom.grid.left.head = d.childNodes[0], this.dom.grid.left.body = d.childNodes[1], this.dom.grid.left.liner = c("div.DTFC_LeftBodyLiner", b)[0], b.appendChild(d)); if (0 < this.s.iRightColumns) {
                                        this.dom.grid.right.wrapper = f; this.dom.grid.right.head = f.childNodes[0]; this.dom.grid.right.body = f.childNodes[1];
                                        this.dom.grid.right.liner = c("div.DTFC_RightBodyLiner", b)[0]; f.style.right = a.bar + "px"; var e = c("div.DTFC_RightHeadBlocker", b)[0]; e.style.width = a.bar + "px"; e.style.right = -a.bar + "px"; this.dom.grid.right.headBlock = e; e = c("div.DTFC_RightFootBlocker", b)[0]; e.style.width = a.bar + "px"; e.style.right = -a.bar + "px"; this.dom.grid.right.footBlock = e; b.appendChild(f)
                                } this.s.dt.nTFoot && (this.dom.footer = this.s.dt.nTFoot.parentNode, 0 < this.s.iLeftColumns && (this.dom.grid.left.foot = d.childNodes[2]), 0 < this.s.iRightColumns && (this.dom.grid.right.foot =
                                        f.childNodes[2])); this.s.rtl && c("div.DTFC_RightHeadBlocker", b).css({ left: -a.bar + "px", right: "" })
                }, _fnGridLayout: function() {
                        var a = this, b = this.dom.grid; c(b.wrapper).width(); var d = this.s.dt.nTable.parentNode.offsetHeight, f = this.s.dt.nTable.parentNode.parentNode.offsetHeight, e = this._fnDTOverflow(), l = this.s.iLeftWidth, m = this.s.iRightWidth, g = "rtl" === c(this.dom.body).css("direction"), q = function(p, r) {
                                e.bar ? a._firefoxScrollError() ? 34 < c(p).height() && (p.style.width = r + e.bar + "px") : p.style.width = r + e.bar + "px" : (p.style.width =
                                        r + 20 + "px", p.style.paddingRight = "20px", p.style.boxSizing = "border-box")
                        }; e.x && (d -= e.bar); b.wrapper.style.height = f + "px"; 0 < this.s.iLeftColumns && (f = b.left.wrapper, f.style.width = l + "px", f.style.height = "1px", g ? (f.style.left = "", f.style.right = 0) : (f.style.left = 0, f.style.right = ""), b.left.body.style.height = d + "px", b.left.foot && (b.left.foot.style.top = (e.x ? e.bar : 0) + "px"), q(b.left.liner, l), b.left.liner.style.height = d + "px", b.left.liner.style.maxHeight = d + "px"); 0 < this.s.iRightColumns && (f = b.right.wrapper, f.style.width =
                                m + "px", f.style.height = "1px", this.s.rtl ? (f.style.left = e.y ? e.bar + "px" : 0, f.style.right = "") : (f.style.left = "", f.style.right = e.y ? e.bar + "px" : 0), b.right.body.style.height = d + "px", b.right.foot && (b.right.foot.style.top = (e.x ? e.bar : 0) + "px"), q(b.right.liner, m), b.right.liner.style.height = d + "px", b.right.liner.style.maxHeight = d + "px", b.right.headBlock.style.display = e.y ? "block" : "none", b.right.footBlock.style.display = e.y ? "block" : "none")
                }, _fnDTOverflow: function() {
                        var a = this.s.dt.nTable, b = a.parentNode, d = { x: !1, y: !1, bar: this.s.dt.oScroll.iBarWidth };
                        a.offsetWidth > b.clientWidth && (d.x = !0); a.offsetHeight > b.clientHeight && (d.y = !0); return d
                }, _fnDraw: function(a) { this._fnGridLayout(); this._fnCloneLeft(a); this._fnCloneRight(a); c(this.dom.scroller).trigger("scroll"); null !== this.s.fnDrawCallback && this.s.fnDrawCallback.call(this, this.dom.clone.left, this.dom.clone.right); c(this).trigger("draw.dtfc", { leftClone: this.dom.clone.left, rightClone: this.dom.clone.right }) }, _fnCloneRight: function(a) {
                        if (!(0 >= this.s.iRightColumns)) {
                                var b, d = []; for (b = this.s.iTableColumns -
                                        this.s.iRightColumns; b < this.s.iTableColumns; b++)this.s.dt.aoColumns[b].bVisible && d.push(b); this._fnClone(this.dom.clone.right, this.dom.grid.right, d, a)
                        }
                }, _fnCloneLeft: function(a) { if (!(0 >= this.s.iLeftColumns)) { var b, d = []; for (b = 0; b < this.s.iLeftColumns; b++)this.s.dt.aoColumns[b].bVisible && d.push(b); this._fnClone(this.dom.clone.left, this.dom.grid.left, d, a) } }, _fnCopyLayout: function(a, b, d) {
                        for (var f = [], e = [], l = [], m = 0, g = a.length; m < g; m++) {
                                var q = []; q.nTr = c(a[m].nTr).clone(d, !1)[0]; for (var p = 0, r = this.s.iTableColumns; p <
                                        r; p++)if (-1 !== c.inArray(p, b)) { var w = c.inArray(a[m][p].cell, l); -1 === w ? (w = c(a[m][p].cell).clone(d, !1)[0], e.push(w), l.push(a[m][p].cell), q.push({ cell: w, unique: a[m][p].unique })) : q.push({ cell: e[w], unique: a[m][p].unique }) } f.push(q)
                        } return f
                }, _fnClone: function(a, b, d, f) {
                        var e = this, l, m, g = this.s.dt; if (f) {
                                c(a.header).remove(); a.header = c(this.dom.header).clone(!0, !1)[0]; a.header.className += " DTFC_Cloned"; a.header.style.width = "100%"; b.head.appendChild(a.header); var q = this._fnCopyLayout(g.aoHeader, d, !0); var p =
                                        c(">thead", a.header); p.empty(); var r = 0; for (l = q.length; r < l; r++)p[0].appendChild(q[r].nTr); g.oApi._fnDrawHead(g, q, !0)
                        } else { q = this._fnCopyLayout(g.aoHeader, d, !1); var w = []; g.oApi._fnDetectHeader(w, c(">thead", a.header)[0]); r = 0; for (l = q.length; r < l; r++) { var x = 0; for (p = q[r].length; x < p; x++)w[r][x].cell.className = q[r][x].cell.className, c("span.DataTables_sort_icon", w[r][x].cell).each(function() { this.className = c("span.DataTables_sort_icon", q[r][x].cell)[0].className }) } } this._fnEqualiseHeights("thead", this.dom.header,
                                a.header); "auto" == this.s.sHeightMatch && c(">tbody>tr", e.dom.body).css("height", "auto"); null !== a.body && (c(a.body).remove(), a.body = null); a.body = c(this.dom.body).clone(!0)[0]; a.body.className += " DTFC_Cloned"; a.body.style.paddingBottom = g.oScroll.iBarWidth + "px"; a.body.style.marginBottom = 2 * g.oScroll.iBarWidth + "px"; null !== a.body.getAttribute("id") && a.body.removeAttribute("id"); c(">thead>tr", a.body).empty(); c(">tfoot", a.body).remove(); var C = c("tbody", a.body)[0]; c(C).empty(); if (0 < g.aiDisplay.length) {
                                        l = c(">thead>tr",
                                                a.body)[0]; for (m = 0; m < d.length; m++) { var A = d[m]; var v = c(g.aoColumns[A].nTh).clone(!0)[0]; v.innerHTML = ""; p = v.style; p.paddingTop = "0"; p.paddingBottom = "0"; p.borderTopWidth = "0"; p.borderBottomWidth = "0"; p.height = 0; p.width = e.s.aiInnerWidths[A] + "px"; l.appendChild(v) } c(">tbody>tr", e.dom.body).each(function(y) {
                                                        y = !1 === e.s.dt.oFeatures.bServerSide ? e.s.dt.aiDisplay[e.s.dt._iDisplayStart + y] : y; var D = e.s.dt.aoData[y].anCells || c(this).children("td, th"), B = this.cloneNode(!1); B.removeAttribute("id"); B.setAttribute("data-dt-row",
                                                                y); for (m = 0; m < d.length; m++)A = d[m], 0 < D.length && (v = c(D[A]).clone(!0, !0)[0], v.removeAttribute("id"), v.setAttribute("data-dt-row", y), v.setAttribute("data-dt-column", A), B.appendChild(v)); C.appendChild(B)
                                                })
                                } else c(">tbody>tr", e.dom.body).each(function(y) { v = this.cloneNode(!0); v.className += " DTFC_NoData"; c("td", v).html(""); C.appendChild(v) }); a.body.style.width = "100%"; a.body.style.margin = "0"; a.body.style.padding = "0"; g.oScroller !== t && (l = g.oScroller.dom.force, b.forcer ? b.forcer.style.height = l.style.height : (b.forcer =
                                        l.cloneNode(!0), b.liner.appendChild(b.forcer))); b.liner.appendChild(a.body); this._fnEqualiseHeights("tbody", e.dom.body, a.body); if (null !== g.nTFoot) {
                                                if (f) { null !== a.footer && a.footer.parentNode.removeChild(a.footer); a.footer = c(this.dom.footer).clone(!0, !0)[0]; a.footer.className += " DTFC_Cloned"; a.footer.style.width = "100%"; b.foot.appendChild(a.footer); q = this._fnCopyLayout(g.aoFooter, d, !0); b = c(">tfoot", a.footer); b.empty(); r = 0; for (l = q.length; r < l; r++)b[0].appendChild(q[r].nTr); g.oApi._fnDrawHead(g, q, !0) } else for (q =
                                                        this._fnCopyLayout(g.aoFooter, d, !1), b = [], g.oApi._fnDetectHeader(b, c(">tfoot", a.footer)[0]), r = 0, l = q.length; r < l; r++)for (x = 0, p = q[r].length; x < p; x++)b[r][x].cell.className = q[r][x].cell.className; this._fnEqualiseHeights("tfoot", this.dom.footer, a.footer)
                                        } b = g.oApi._fnGetUniqueThs(g, c(">thead", a.header)[0]); c(b).each(function(y) { A = d[y]; this.style.width = e.s.aiInnerWidths[A] + "px" }); null !== e.s.dt.nTFoot && (b = g.oApi._fnGetUniqueThs(g, c(">tfoot", a.footer)[0]), c(b).each(function(y) {
                                                A = d[y]; this.style.width = e.s.aiInnerWidths[A] +
                                                        "px"
                                        }))
                }, _fnGetTrNodes: function(a) { for (var b = [], d = 0, f = a.childNodes.length; d < f; d++)"TR" == a.childNodes[d].nodeName.toUpperCase() && b.push(a.childNodes[d]); return b }, _fnEqualiseHeights: function(a, b, d) {
                        if ("none" != this.s.sHeightMatch || "thead" === a || "tfoot" === a) {
                                var f = b.getElementsByTagName(a)[0]; d = d.getElementsByTagName(a)[0]; a = c(">" + a + ">tr:eq(0)", b).children(":first"); a.outerHeight(); a.height(); f = this._fnGetTrNodes(f); b = this._fnGetTrNodes(d); var e = []; d = 0; for (a = b.length; d < a; d++) {
                                        var l = f[d].offsetHeight;
                                        var m = b[d].offsetHeight; l = m > l ? m : l; "semiauto" == this.s.sHeightMatch && (f[d]._DTTC_iHeight = l); e.push(l)
                                } d = 0; for (a = b.length; d < a; d++)b[d].style.height = e[d] + "px", f[d].style.height = e[d] + "px"
                        }
                }, _firefoxScrollError: function() { if (z === t) { var a = c("<div/>").css({ position: "absolute", top: 0, left: 0, height: 10, width: 50, overflow: "scroll" }).appendTo("body"); z = a[0].clientWidth === a[0].offsetWidth && 0 !== this._fnDTOverflow().bar; a.remove() } return z }
        }); u.defaults = { iLeftColumns: 1, iRightColumns: 0, fnDrawCallback: null, sHeightMatch: "semiauto" };
        u.version = "3.3.2"; n.Api.register("fixedColumns()", function() { return this }); n.Api.register("fixedColumns().update()", function() { return this.iterator("table", function(a) { a._oFixedColumns && a._oFixedColumns.fnUpdate() }) }); n.Api.register("fixedColumns().relayout()", function() { return this.iterator("table", function(a) { a._oFixedColumns && a._oFixedColumns.fnRedrawLayout() }) }); n.Api.register("rows().recalcHeight()", function() { return this.iterator("row", function(a, b) { a._oFixedColumns && a._oFixedColumns.fnRecalculateHeight(this.row(b).node()) }) });
        n.Api.register("fixedColumns().rowIndex()", function(a) { a = c(a); return a.parents(".DTFC_Cloned").length ? this.rows({ page: "current" }).indexes()[a.index()] : this.row(a).index() }); n.Api.register("fixedColumns().cellIndex()", function(a) {
                a = c(a); if (a.parents(".DTFC_Cloned").length) {
                        var b = a.parent().index(); b = this.rows({ page: "current" }).indexes()[b]; a = a.parents(".DTFC_LeftWrapper").length ? a.index() : this.columns().flatten().length - this.context[0]._oFixedColumns.s.iRightColumns + a.index(); return {
                                row: b, column: this.column.index("toData",
                                        a), columnVisible: a
                        }
                } return this.cell(a).index()
        }); n.Api.registerPlural("cells().fixedNodes()", "cell().fixedNode()", function() { return this.iterator("cell", function(a, b, d) { return a._oFixedColumns ? a._oFixedColumns.fnToFixedNode(b, d) : this.cell(b, d).node() }, 1) }); c(k).on("init.dt.fixedColumns", function(a, b) { if ("dt" === a.namespace) { a = b.oInit.fixedColumns; var d = n.defaults.fixedColumns; if (a || d) d = c.extend({}, a, d), !1 !== a && new u(b, d) } }); c.fn.dataTable.FixedColumns = u; return c.fn.DataTable.FixedColumns = u
});