{"version":3,"sources":["webpack:///./Scripts/jquery/tablesaw.jquery.js"],"names":["root","window","this","define","jQuery","Tablesaw","$","document","domContentLoadedTriggered","addEventListener","S","pluginName","methods","classes","data","attrs","Stack","toggleColumnsItemDataValue","attr","toggleColumnsTitle","i18n","modeStack","modeSwipe","modeToggle","modeSwitchColumnsAbbreviated","modeSwitchColumns","columnToggleButton","columnToggleError","sort","swipePreviousColumn","swipeNextColumn","mustard","blackberry","WebKitPoint","operamini","_init","element","trigger","init","on","TablesawConfig","extend","modes","documentElement","addClass","toolbar","events","create","destroy","refresh","resize","defaultMode","initSelector","initFilterSelector","defaultConfig","Table","Error","table","$table","$thead","children","filter","eq","$tbody","mode","$toolbar","attributes","subrow","ignorerow","prototype","length","find","Math","round","random","createToolbar","_initCells","getConfig","pluginSpecificConfig","configs","_getPrimaryHeaderRow","_getHeaderRows","is","_getRowIndex","$row","prevAll","_getHeaderRowIndeces","self","indeces","each","push","_getPrimaryHeaderCells","_$getCells","th","add","cells","$t","parent","hasColspan","_getVisibleColspan","colspan","css","parseInt","getColspanForCell","$cell","visibleColspan","visibleSiblingColumns","closest","siblings","colColspan","isCellInColumn","header","cell","updateColspanCells","cls","userAction","primaryHeaderRow","rowspan","next","undefined","maxColspan","_findPrimaryHeadersForCell","$headerRow","$headers","headerRowIndex","results","rowNumber","headerMapping","colNumber","getRows","getBodyRows","tbody","getHeaderCellIndex","lookup","colIndex","$rows","columnLookup","coltally","getAttribute","k","j","headerRowIndeces","headerIndex","rowCell","headerCol","_getToolbarAnchor","$parent","_getToolbar","$anchor","prev","insertBefore","className","replace","tableId","off","removeData","fn","$doc","e","target","scrollTimeout","resizeTimeout","isScrolling","clearTimeout","setTimeout","stackTable","cellLabels","cellContentLabels","key","labelless","hideempty","tablesaw","html","$newHeader","createElement","index","$header","cloneNode","$sortableButton","remove","$checkall","append","createTextNode","el","parentNode","firstChild","appendChild","wrapInner","$label","replaceWith","prepend","removeClass","childNodes","_create","oEl","sel","getElementsByTagName","_select","update","opts","label","found","setAttribute","innerHTML","opt","selected","text","i","l","nodeName","toUpperCase","replaceChild","arrg","a","b","c","call","ColumnToggle","btnTarget","set","columnToggleTable","columnBtnContain","columnBtn","popup","priorityPrefix","initSet","get","id","$menuButton","$popup","$menu","$btnContain","cfg","getColumnToggleLabelTemplate","hasNonPersistentHeaders","$this","priority","$cells","appendTo","onToggleCheckboxChange","checkbox","checked","closeTimeout","$btnTarget","event","preventDefault","closePopup","openPopup","timeout","$overflow","$div","refreshToggle","getHeaderFromCheckbox","getElementById","scrollWidth","scrollHeight","attrData","refreshPriority","getSortValue","$el","val","join","sortableSwitchSelector","sortCol","defaultCol","numericCol","subRow","ignoreRow","head","ascend","descend","switcher","tableToolbar","sortButton","o","heads","$switcher","tblsaw","addClassToHeads","h","v","makeHeadsActionable","col","clearOthers","headcells","removeAttr","headsOnAction","stopPropagation","headCell","newSortValue","handleDefault","idx","addSwitcher","isDefaultCol","isDescending","hasNumericAttribute","numericCount","numericCountMax","slice","isNaN","isNumeric","$firstChild","tablesawbtn","split","sortRows","rows","colNum","ascending","convertCells","cellArr","belongingToTbody","row","subrows","$next","ignored","getSortFxn","forceNumeric","regex","parseFloat","toLowerCase","convertToRows","sorted","newRows","customFn","makeColDefault","sortBy","tbl","sortedRows","map","returnVal","args","Array","arguments","apply","hideBtn","persistWidths","hiddenCol","persistCol","allColumnsVisible","disableTouchEvents","createSwipeTable","$btns","$prevBtn","$nextBtn","$headerCells","$headerCellsNoPersist","not","headerWidths","$head","initMinHeaderWidths","width","offsetWidth","showColumn","headerCell","hideColumn","persistColumn","isPersistent","unmaintainWidths","maintainWidths","newHash","prefix","styles","tableWidth","hash","$style","getNext","checkFound","isHidden","getPrev","nextpair","fwd","canAdvance","pair","matchesMedia","matchMedia","matches","fakeBreakpoints","containerWidth","persist","sum","sums","visibleNonPersistantCount","isPersist","needsNonPersistentColumn","advance","getCoord","touches","originalEvent","x","y","originX","originY","scrollTop","pageYOffset","swipeHorizontalThreshold","swipeVerticalThreshold","verticalThreshold","swipe","horizontalThreshold","isPageScrolled","abs","canGoPrev","canGoNext","MiniMap","show","mq","createMiniMap","$dotNav","hideDot","showHideNav","dots","selectors","excludeMode","main","isSelected","ignoreMode","dataMode","$otherToolbarItems","onModeChange","CheckAll","checkAllSelector","forceCheckedSelector","forceUncheckedSelector","checkboxSelector","$triggers","$checkboxes","_filterCells","getCheckboxesForButton","button","getCheckboxesForCheckbox","addCheckboxEvents","addButtonEvents","setChecked","allChecked","checkedCount","allSelected","indeterminate","factory"],"mappings":"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","file":"357.8bf427b7b4f88ce17a90.js","sourcesContent":["/*! Tablesaw - v3.0.9 - 2018-02-14\r\n* https://github.com/filamentgroup/tablesaw\r\n* Copyright (c) 2018 Filament Group; Licensed MIT */\r\n(function (root, factory) {\r\n\tif (typeof define === 'function' && define.amd) {\r\n\t\tdefine([\"./jquery\"], function (jQuery) {\r\n\t\t\treturn (root.Tablesaw = factory(jQuery, root));\r\n\t\t});\r\n\t} else if (typeof exports === 'object') {\r\n\t\tif (\"document\" in root) {\r\n\t\t\tmodule.exports = factory(require('./jquery'), root);\r\n\t\t} else {\r\n\t\t\t// special jQuery case for CommonJS (pass in a window)\r\n\t\t\tmodule.exports = factory(require('./jquery')(root), root);\r\n\t\t}\r\n\t} else {\r\n\t\troot.Tablesaw = factory(jQuery, root);\r\n\t}\r\n}(typeof window !== \"undefined\" ? window : this, function ($, window) {\r\n\t\"use strict\";\r\n\r\n\tvar document = window.document;\r\n\r\n\tvar domContentLoadedTriggered = false;\r\n\tdocument.addEventListener(\"DOMContentLoaded\", function () {\r\n\t\tdomContentLoadedTriggered = true;\r\n\t});\r\n\r\n\tvar toggleColumnsItemDataValue = $(\"#tablesaw-columntoggle-text\").attr(\"data-tablesaw-columntoggle-text\");\r\n\tvar toggleColumnsTitle = $(\"#tablesaw-columntoggle-title\").attr(\"data-tablesaw-columntoggle-title\");\r\n\tvar tablesawToggleColumnsTitle = toggleColumnsItemDataValue != null ?\r\n\t\ttoggleColumnsItemDataValue : \"Compare\";\r\n\r\n\tvar Tablesaw = {\r\n\t\ti18n: {\r\n\t\t\tmodeStack: \"Stack\",\r\n\t\t\tmodeSwipe: \"Swipe\",\r\n\t\t\tmodeToggle: \"Toggle\",\r\n\t\t\tmodeSwitchColumnsAbbreviated: \"Cols\",\r\n\t\t\tmodeSwitchColumns: \"Columns\",\r\n\t\t\tcolumnToggleButton: tablesawToggleColumnsTitle,\r\n\t\t\tcolumnToggleError: \"No eligible columns.\",\r\n\t\t\tsort: \"Sort\",\r\n\t\t\tswipePreviousColumn: \"Previous column\",\r\n\t\t\tswipeNextColumn: \"Next column\"\r\n\t\t},\r\n\t\t// cut the mustard\r\n\t\tmustard:\r\n\t\t\t\"head\" in document && // IE9+, Firefox 4+, Safari 5.1+, Mobile Safari 4.1+, Opera 11.5+, Android 2.3+\r\n\t\t\t(!window.blackberry || window.WebKitPoint) && // only WebKit Blackberry (OS 6+)\r\n\t\t\t!window.operamini,\r\n\t\t$: $,\r\n\t\t_init: function (element) {\r\n Tablesaw.$(element || document).trigger(\"enhance.tablesaw\");\r\n\t\t},\r\n\t\tinit: function (element) {\r\n\t\t\tif (!domContentLoadedTriggered) {\r\n\t\t\t\tif (\"addEventListener\" in document) {\r\n Tablesaw._init(element);\r\n\r\n\t\t\t\t\t// Use raw DOMContentLoaded instead of shoestring (may have issues in Android 2.3, exhibited by stack table)\r\n\t\t\t\t\tdocument.addEventListener(\"DOMContentLoaded\", function () {\r\n Tablesaw._init(element);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n Tablesaw._init(element);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t$(document).on(\"enhance.tablesaw\", function () {\r\n\t\t// Extend i18n config, if one exists.\r\n\t\tif (typeof TablesawConfig !== \"undefined\" && TablesawConfig.i18n) {\r\n\t\t\tTablesaw.i18n = $.extend(Tablesaw.i18n, TablesawConfig.i18n || {});\r\n\t\t}\r\n\r\n\t\tTablesaw.i18n.modes = [\r\n\t\t\tTablesaw.i18n.modeStack,\r\n\t\t\tTablesaw.i18n.modeSwipe,\r\n\t\t\tTablesaw.i18n.modeToggle\r\n\t\t];\r\n\t});\r\n\r\n\tif (Tablesaw.mustard) {\r\n\t\t$(document.documentElement).addClass(\"tablesaw-enhanced\");\r\n\t}\r\n\r\n\t(function () {\r\n\t\tvar pluginName = \"tablesaw\";\r\n\t\tvar classes = {\r\n\t\t\ttoolbar: \"tablesaw-bar\"\r\n\t\t};\r\n\t\tvar events = {\r\n\t\t\tcreate: \"tablesawcreate\",\r\n\t\t\tdestroy: \"tablesawdestroy\",\r\n\t\t\trefresh: \"tablesawrefresh\",\r\n\t\t\tresize: \"tablesawresize\"\r\n\t\t};\r\n\t\tvar defaultMode = \"stack\";\r\n\t\tvar initSelector = \"table\";\r\n\t\tvar initFilterSelector = \"[data-tablesaw],[data-tablesaw-mode],[data-tablesaw-sortable]\";\r\n\t\tvar defaultConfig = {};\r\n\r\n\t\tTablesaw.events = events;\r\n\r\n\t\tvar Table = function (element) {\r\n\t\t\tif (!element) {\r\n\t\t\t\tthrow new Error(\"Tablesaw requires an element.\");\r\n\t\t\t}\r\n\r\n\t\t\tthis.table = element;\r\n\t\t\tthis.$table = $(element);\r\n\r\n\t\t\t// only one and are allowed, per the specification\r\n\t\t\tthis.$thead = this.$table\r\n\t\t\t\t.children()\r\n\t\t\t\t.filter(\"thead\")\r\n\t\t\t\t.eq(0);\r\n\r\n\t\t\t// multiple are allowed, per the specification\r\n\t\t\tthis.$tbody = this.$table.children().filter(\"tbody\");\r\n\r\n\t\t\tthis.mode = this.$table.attr(\"data-tablesaw-mode\") || defaultMode;\r\n\r\n\t\t\tthis.$toolbar = null;\r\n\r\n\t\t\tthis.attributes = {\r\n\t\t\t\tsubrow: \"data-tablesaw-subrow\",\r\n\t\t\t\tignorerow: \"data-tablesaw-ignorerow\"\r\n\t\t\t};\r\n\r\n\t\t\tthis.init();\r\n\t\t};\r\n\r\n\t\tTable.prototype.init = function () {\r\n\t\t\tif (!this.$thead.length) {\r\n\t\t\t\tthrow new Error(\"tablesaw: a is required, but none was found.\");\r\n\t\t\t}\r\n\r\n\t\t\tif (!this.$thead.find(\"th\").length) {\r\n\t\t\t\tthrow new Error(\"tablesaw: no header cells found. Are you using inside of ?\");\r\n\t\t\t}\r\n\r\n\t\t\t// assign an id if there is none\r\n\t\t\tif (!this.$table.attr(\"id\")) {\r\n\t\t\t\tthis.$table.attr(\"id\", pluginName + \"-\" + Math.round(Math.random() * 10000));\r\n\t\t\t}\r\n\r\n\t\t\tthis.createToolbar();\r\n\r\n\t\t\tthis._initCells();\r\n\r\n\t\t\tthis.$table.data(pluginName, this);\r\n\r\n\t\t\tthis.$table.trigger(events.create, [this]);\r\n\t\t};\r\n\r\n\t\tTable.prototype.getConfig = function (pluginSpecificConfig) {\r\n\t\t\t// shoestring extend doesn�t support arbitrary args\r\n\t\t\tvar configs = $.extend(defaultConfig, pluginSpecificConfig || {});\r\n\t\t\treturn $.extend(configs, typeof TablesawConfig !== \"undefined\" ? TablesawConfig : {});\r\n\t\t};\r\n\r\n\t\tTable.prototype._getPrimaryHeaderRow = function () {\r\n\t\t\treturn this._getHeaderRows().eq(0);\r\n\t\t};\r\n\r\n\t\tTable.prototype._getHeaderRows = function () {\r\n\t\t\treturn this.$thead\r\n\t\t\t\t.children()\r\n\t\t\t\t.filter(\"tr\")\r\n\t\t\t\t.filter(function () {\r\n\t\t\t\t\treturn !$(this).is(\"[data-tablesaw-ignorerow]\");\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tTable.prototype._getRowIndex = function ($row) {\r\n\t\t\treturn $row.prevAll().length;\r\n\t\t};\r\n\r\n\t\tTable.prototype._getHeaderRowIndeces = function () {\r\n\t\t\tvar self = this;\r\n\t\t\tvar indeces = [];\r\n\t\t\tthis._getHeaderRows().each(function () {\r\n\t\t\t\tindeces.push(self._getRowIndex($(this)));\r\n\t\t\t});\r\n\t\t\treturn indeces;\r\n\t\t};\r\n\r\n\t\tTable.prototype._getPrimaryHeaderCells = function ($row) {\r\n\t\t\treturn ($row || this._getPrimaryHeaderRow()).find(\"th\");\r\n\t\t};\r\n\r\n\t\tTable.prototype._$getCells = function (th) {\r\n\t\t\tvar self = this;\r\n\t\t\treturn $(th)\r\n\t\t\t\t.add(th.cells)\r\n\t\t\t\t.filter(function () {\r\n\t\t\t\t\tvar $t = $(this);\r\n\t\t\t\t\tvar $row = $t.parent();\r\n\t\t\t\t\tvar hasColspan = $t.is(\"[colspan]\");\r\n\t\t\t\t\t// no subrows or ignored rows (keep cells in ignored rows that do not have a colspan)\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t!$row.is(\"[\" + self.attributes.subrow + \"]\") &&\r\n\t\t\t\t\t\t(!$row.is(\"[\" + self.attributes.ignorerow + \"]\") || !hasColspan)\r\n\t\t\t\t\t);\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tTable.prototype._getVisibleColspan = function () {\r\n\t\t\tvar colspan = 0;\r\n\t\t\tthis._getPrimaryHeaderCells().each(function () {\r\n\t\t\t\tvar $t = $(this);\r\n\t\t\t\tif ($t.css(\"display\") !== \"none\") {\r\n\t\t\t\t\tcolspan += parseInt($t.attr(\"colspan\"), 10) || 1;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn colspan;\r\n\t\t};\r\n\r\n\t\tTable.prototype.getColspanForCell = function ($cell) {\r\n\t\t\tvar visibleColspan = this._getVisibleColspan();\r\n\t\t\tvar visibleSiblingColumns = 0;\r\n\t\t\tif ($cell.closest(\"tr\").data(\"tablesaw-rowspanned\")) {\r\n\t\t\t\tvisibleSiblingColumns++;\r\n\t\t\t}\r\n\r\n\t\t\t$cell.siblings().each(function () {\r\n\t\t\t\tvar $t = $(this);\r\n\t\t\t\tvar colColspan = parseInt($t.attr(\"colspan\"), 10) || 1;\r\n\r\n\t\t\t\tif ($t.css(\"display\") !== \"none\") {\r\n\t\t\t\t\tvisibleSiblingColumns += colColspan;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn visibleColspan - visibleSiblingColumns;\r\n\t\t};\r\n\r\n\t\tTable.prototype.isCellInColumn = function (header, cell) {\r\n\t\t\treturn $(header)\r\n\t\t\t\t.add(header.cells)\r\n\t\t\t\t.filter(function () {\r\n\t\t\t\t\treturn this === cell;\r\n\t\t\t\t}).length;\r\n\t\t};\r\n\r\n\t\tTable.prototype.updateColspanCells = function (cls, header, userAction) {\r\n\t\t\tvar self = this;\r\n\t\t\tvar primaryHeaderRow = self._getPrimaryHeaderRow();\r\n\r\n\t\t\t// find persistent column rowspans\r\n\t\t\tthis.$table.find(\"[rowspan][data-tablesaw-priority]\").each(function () {\r\n\t\t\t\tvar $t = $(this);\r\n\t\t\t\tif ($t.attr(\"data-tablesaw-priority\") !== \"persist\") {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar $row = $t.closest(\"tr\");\r\n\t\t\t\tvar rowspan = parseInt($t.attr(\"rowspan\"), 10);\r\n\t\t\t\tif (rowspan > 1) {\r\n\t\t\t\t\t$row = $row.next();\r\n\r\n\t\t\t\t\t$row.data(\"tablesaw-rowspanned\", true);\r\n\r\n\t\t\t\t\trowspan--;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tthis.$table\r\n\t\t\t\t.find(\"[colspan],[data-tablesaw-maxcolspan]\")\r\n\t\t\t\t.filter(function () {\r\n\t\t\t\t\t// is not in primary header row\r\n\t\t\t\t\treturn $(this).closest(\"tr\")[0] !== primaryHeaderRow[0];\r\n\t\t\t\t})\r\n\t\t\t\t.each(function () {\r\n\t\t\t\t\tvar $cell = $(this);\r\n\r\n\t\t\t\t\tif (userAction === undefined || self.isCellInColumn(header, this)) {\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// if is not a user action AND the cell is not in the updating column, kill it\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar colspan = self.getColspanForCell($cell);\r\n\r\n\t\t\t\t\tif (cls && userAction !== undefined) {\r\n\t\t\t\t\t\t$cell[colspan === 0 ? \"addClass\" : \"removeClass\"](cls);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// cache original colspan\r\n\t\t\t\t\tvar maxColspan = parseInt($cell.attr(\"data-tablesaw-maxcolspan\"), 10);\r\n\t\t\t\t\tif (!maxColspan) {\r\n\t\t\t\t\t\t$cell.attr(\"data-tablesaw-maxcolspan\", $cell.attr(\"colspan\"));\r\n\t\t\t\t\t} else if (colspan > maxColspan) {\r\n\t\t\t\t\t\tcolspan = maxColspan;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t$cell.attr(\"colspan\", colspan);\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tTable.prototype._findPrimaryHeadersForCell = function (cell) {\r\n\t\t\tvar $headerRow = this._getPrimaryHeaderRow();\r\n\t\t\tvar $headers = this._getPrimaryHeaderCells($headerRow);\r\n\t\t\tvar headerRowIndex = this._getRowIndex($headerRow);\r\n\t\t\tvar results = [];\r\n\r\n\t\t\tfor (var rowNumber = 0; rowNumber < this.headerMapping.length; rowNumber++) {\r\n\t\t\t\tif (rowNumber === headerRowIndex) {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tfor (var colNumber = 0; colNumber < this.headerMapping[rowNumber].length; colNumber++) {\r\n\t\t\t\t\tif (this.headerMapping[rowNumber][colNumber] === cell) {\r\n\t\t\t\t\t\tresults.push($headers[colNumber]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn results;\r\n\t\t};\r\n\r\n\t\t// used by init cells\r\n\t\tTable.prototype.getRows = function () {\r\n\t\t\tvar self = this;\r\n\t\t\treturn this.$table.find(\"tr\").filter(function () {\r\n\t\t\t\treturn $(this)\r\n\t\t\t\t\t.closest(\"table\")\r\n\t\t\t\t\t.is(self.$table);\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\t// used by sortable\r\n\t\tTable.prototype.getBodyRows = function (tbody) {\r\n\t\t\treturn (tbody ? $(tbody) : this.$tbody).children().filter(\"tr\");\r\n\t\t};\r\n\r\n\t\tTable.prototype.getHeaderCellIndex = function (cell) {\r\n\t\t\tvar lookup = this.headerMapping[0];\r\n\t\t\tfor (var colIndex = 0; colIndex < lookup.length; colIndex++) {\r\n\t\t\t\tif (lookup[colIndex] === cell) {\r\n\t\t\t\t\treturn colIndex;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn -1;\r\n\t\t};\r\n\r\n\t\tTable.prototype._initCells = function () {\r\n\t\t\t// re-establish original colspans\r\n\t\t\tthis.$table.find(\"[data-tablesaw-maxcolspan]\").each(function () {\r\n\t\t\t\tvar $t = $(this);\r\n\t\t\t\t$t.attr(\"colspan\", $t.attr(\"data-tablesaw-maxcolspan\"));\r\n\t\t\t});\r\n\r\n\t\t\tvar $rows = this.getRows();\r\n\t\t\tvar columnLookup = [];\r\n\r\n\t\t\t$rows.each(function (rowNumber) {\r\n\t\t\t\tcolumnLookup[rowNumber] = [];\r\n\t\t\t});\r\n\r\n\t\t\t$rows.each(function (rowNumber) {\r\n\t\t\t\tvar coltally = 0;\r\n\t\t\t\tvar $t = $(this);\r\n\t\t\t\tvar children = $t.children();\r\n\r\n\t\t\t\tchildren.each(function () {\r\n\t\t\t\t\tvar colspan = parseInt(\r\n\t\t\t\t\t\tthis.getAttribute(\"data-tablesaw-maxcolspan\") || this.getAttribute(\"colspan\"),\r\n\t\t\t\t\t\t10\r\n\t\t\t\t\t);\r\n\t\t\t\t\tvar rowspan = parseInt(this.getAttribute(\"rowspan\"), 10);\r\n\r\n\t\t\t\t\t// set in a previous rowspan\r\n\t\t\t\t\twhile (columnLookup[rowNumber][coltally]) {\r\n\t\t\t\t\t\tcoltally++;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tcolumnLookup[rowNumber][coltally] = this;\r\n\r\n\t\t\t\t\t// TODO? both colspan and rowspan\r\n\t\t\t\t\tif (colspan) {\r\n\t\t\t\t\t\tfor (var k = 0; k < colspan - 1; k++) {\r\n\t\t\t\t\t\t\tcoltally++;\r\n\t\t\t\t\t\t\tcolumnLookup[rowNumber][coltally] = this;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (rowspan) {\r\n\t\t\t\t\t\tfor (var j = 1; j < rowspan; j++) {\r\n\t\t\t\t\t\t\tcolumnLookup[rowNumber + j][coltally] = this;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tcoltally++;\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\tvar headerRowIndeces = this._getHeaderRowIndeces();\r\n\t\t\tfor (var colNumber = 0; colNumber < columnLookup[0].length; colNumber++) {\r\n\t\t\t\tfor (var headerIndex = 0, k = headerRowIndeces.length; headerIndex < k; headerIndex++) {\r\n\t\t\t\t\tvar headerCol = columnLookup[headerRowIndeces[headerIndex]][colNumber];\r\n\r\n\t\t\t\t\tvar rowNumber = headerRowIndeces[headerIndex];\r\n\t\t\t\t\tvar rowCell;\r\n\r\n\t\t\t\t\tif (!headerCol.cells) {\r\n\t\t\t\t\t\theaderCol.cells = [];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twhile (rowNumber < columnLookup.length) {\r\n\t\t\t\t\t\trowCell = columnLookup[rowNumber][colNumber];\r\n\r\n\t\t\t\t\t\tif (headerCol !== rowCell) {\r\n\t\t\t\t\t\t\theaderCol.cells.push(rowCell);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\trowNumber++;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.headerMapping = columnLookup;\r\n\t\t};\r\n\r\n\t\tTable.prototype.refresh = function () {\r\n\t\t\tthis._initCells();\r\n\r\n\t\t\tthis.$table.trigger(events.refresh, [this]);\r\n\t\t};\r\n\r\n\t\tTable.prototype._getToolbarAnchor = function () {\r\n\t\t\tvar $parent = this.$table.parent();\r\n\t\t\tif ($parent.is(\".tablesaw-overflow\")) {\r\n\t\t\t\treturn $parent;\r\n\t\t\t}\r\n\t\t\treturn this.$table;\r\n\t\t};\r\n\r\n\t\tTable.prototype._getToolbar = function ($anchor) {\r\n\t\t\tif (!$anchor) {\r\n\t\t\t\t$anchor = this._getToolbarAnchor();\r\n\t\t\t}\r\n\t\t\treturn $anchor.prev().filter(\".\" + classes.toolbar);\r\n\t\t};\r\n\r\n\t\tTable.prototype.createToolbar = function () {\r\n\t\t\t// Insert the toolbar\r\n\t\t\t// TODO move this into a separate component\r\n\t\t\tvar $anchor = this._getToolbarAnchor();\r\n\t\t\tvar $toolbar = this._getToolbar($anchor);\r\n\t\t\tif (!$toolbar.length) {\r\n\t\t\t\t$toolbar = $(\"
\")\r\n\t\t\t\t\t.addClass(classes.toolbar)\r\n\t\t\t\t\t.insertBefore($anchor);\r\n\t\t\t}\r\n\t\t\tthis.$toolbar = $toolbar;\r\n\r\n\t\t\tif (this.mode) {\r\n\t\t\t\tthis.$toolbar.addClass(\"tablesaw-mode-\" + this.mode);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tTable.prototype.destroy = function () {\r\n\t\t\t// Don�t remove the toolbar, just erase the classes on it.\r\n\t\t\t// Some of the table features are not yet destroy-friendly.\r\n\t\t\tthis._getToolbar().each(function () {\r\n\t\t\t\tthis.className = this.className.replace(/\\btablesaw-mode\\-\\w*\\b/gi, \"\");\r\n\t\t\t});\r\n\r\n\t\t\tvar tableId = this.$table.attr(\"id\");\r\n\t\t\t$(document).off(\".\" + tableId);\r\n\t\t\t$(window).off(\".\" + tableId);\r\n\r\n\t\t\t// other plugins\r\n\t\t\tthis.$table.trigger(events.destroy, [this]);\r\n\r\n\t\t\tthis.$table.removeData(pluginName);\r\n\t\t};\r\n\r\n\t\t// Collection method.\r\n\t\t$.fn[pluginName] = function () {\r\n\t\t\treturn this.each(function () {\r\n\t\t\t\tvar $t = $(this);\r\n\r\n\t\t\t\tif ($t.data(pluginName)) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tnew Table(this);\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tvar $doc = $(document);\r\n\t\t$doc.on(\"enhance.tablesaw\", function (e) {\r\n\t\t\t// Cut the mustard\r\n\t\t\tif (Tablesaw.mustard) {\r\n\t\t\t\t$(e.target)\r\n\t\t\t\t\t.find(initSelector)\r\n\t\t\t\t\t.filter(initFilterSelector)\r\n\t\t\t\t[pluginName]();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Avoid a resize during scroll:\r\n\t\t// Some Mobile devices trigger a resize during scroll (sometimes when\r\n\t\t// doing elastic stretch at the end of the document or from the\r\n\t\t// location bar hide)\r\n\t\tvar isScrolling = false;\r\n\t\tvar scrollTimeout;\r\n\t\t$doc.on(\"scroll.tablesaw\", function () {\r\n\t\t\tisScrolling = true;\r\n\r\n\t\t\twindow.clearTimeout(scrollTimeout);\r\n\t\t\tscrollTimeout = window.setTimeout(function () {\r\n\t\t\t\tisScrolling = false;\r\n\t\t\t}, 300); // must be greater than the resize timeout below\r\n\t\t});\r\n\r\n\t\tvar resizeTimeout;\r\n\t\t$(window).on(\"resize\", function () {\r\n\t\t\tif (!isScrolling) {\r\n\t\t\t\twindow.clearTimeout(resizeTimeout);\r\n\t\t\t\tresizeTimeout = window.setTimeout(function () {\r\n\t\t\t\t\t$doc.trigger(events.resize);\r\n\t\t\t\t}, 150); // must be less than the scrolling timeout above.\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tTablesaw.Table = Table;\r\n\t})();\r\n\r\n\t(function () {\r\n\t\tvar classes = {\r\n\t\t\tstackTable: \"tablesaw-stack\",\r\n\t\t\tcellLabels: \"tablesaw-cell-label\",\r\n\t\t\tcellContentLabels: \"tablesaw-cell-content\"\r\n\t\t};\r\n\r\n\t\tvar data = {\r\n\t\t\tkey: \"tablesaw-stack\"\r\n\t\t};\r\n\r\n\t\tvar attrs = {\r\n\t\t\tlabelless: \"data-tablesaw-no-labels\",\r\n\t\t\thideempty: \"data-tablesaw-hide-empty\"\r\n\t\t};\r\n\r\n\t\tvar Stack = function (element, tablesaw) {\r\n\t\t\tthis.tablesaw = tablesaw;\r\n\t\t\tthis.$table = $(element);\r\n\r\n\t\t\tthis.labelless = this.$table.is(\"[\" + attrs.labelless + \"]\");\r\n\t\t\tthis.hideempty = this.$table.is(\"[\" + attrs.hideempty + \"]\");\r\n\r\n\t\t\tthis.$table.data(data.key, this);\r\n\t\t};\r\n\r\n\t\tStack.prototype.init = function () {\r\n\t\t\tthis.$table.addClass(classes.stackTable);\r\n\r\n\t\t\tif (this.labelless) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar self = this;\r\n\r\n\t\t\tthis.$table\r\n\t\t\t\t.find(\"th, td\")\r\n\t\t\t\t.filter(function () {\r\n\t\t\t\t\treturn !$(this).closest(\"thead\").length;\r\n\t\t\t\t})\r\n\t\t\t\t.filter(function () {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t!$(this)\r\n\t\t\t\t\t\t\t.closest(\"tr\")\r\n\t\t\t\t\t\t\t.is(\"[\" + attrs.labelless + \"]\") &&\r\n\t\t\t\t\t\t(!self.hideempty || !!$(this).html())\r\n\t\t\t\t\t);\r\n\t\t\t\t})\r\n\t\t\t\t.each(function () {\r\n\t\t\t\t\tvar $newHeader = $(document.createElement(\"b\")).addClass(classes.cellLabels);\r\n\t\t\t\t\tvar $cell = $(this);\r\n\r\n\t\t\t\t\t$(self.tablesaw._findPrimaryHeadersForCell(this)).each(function (index) {\r\n\t\t\t\t\t\tvar $header = $(this.cloneNode(true));\r\n\t\t\t\t\t\t// TODO decouple from sortable better\r\n\t\t\t\t\t\t// Changed from .text() in https://github.com/filamentgroup/tablesaw/commit/b9c12a8f893ec192830ec3ba2d75f062642f935b\r\n\t\t\t\t\t\t// to preserve structural html in headers, like \r\n\t\t\t\t\t\tvar $sortableButton = $header.find(\".tablesaw-sortable-btn\");\r\n\t\t\t\t\t\t$header.find(\".tablesaw-sortable-arrow\").remove();\r\n\r\n\t\t\t\t\t\t// TODO decouple from checkall better\r\n\t\t\t\t\t\tvar $checkall = $header.find(\"[data-tablesaw-checkall]\");\r\n\t\t\t\t\t\t$checkall.closest(\"label\").remove();\r\n\t\t\t\t\t\tif ($checkall.length) {\r\n\t\t\t\t\t\t\t$newHeader = $([]);\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (index > 0) {\r\n\t\t\t\t\t\t\t$newHeader.append(document.createTextNode(\", \"));\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tvar parentNode = $sortableButton.length ? $sortableButton[0] : $header[0];\r\n\t\t\t\t\t\tvar el;\r\n\t\t\t\t\t\twhile ((el = parentNode.firstChild)) {\r\n\t\t\t\t\t\t\t$newHeader[0].appendChild(el);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tif ($newHeader.length && !$cell.find(\".\" + classes.cellContentLabels).length) {\r\n\t\t\t\t\t\t$cell.wrapInner(\"\");\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Update if already exists.\r\n\t\t\t\t\tvar $label = $cell.find(\".\" + classes.cellLabels);\r\n\t\t\t\t\tif (!$label.length) {\r\n\t\t\t\t\t\t$cell.prepend($newHeader);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// only if changed\r\n\t\t\t\t\t\t$label.replaceWith($newHeader);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t};\r\n\r\n\t\tStack.prototype.destroy = function () {\r\n\t\t\tthis.$table.removeClass(classes.stackTable);\r\n\t\t\tthis.$table.find(\".\" + classes.cellLabels).remove();\r\n\t\t\tthis.$table.find(\".\" + classes.cellContentLabels).each(function () {\r\n\t\t\t\t$(this).replaceWith(this.childNodes);\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\t// on tablecreate, init\r\n\t\t$(document)\r\n\t\t\t.on(Tablesaw.events.create, function (e, tablesaw) {\r\n\t\t\t\tif (tablesaw.mode === \"stack\") {\r\n\t\t\t\t\tvar table = new Stack(tablesaw.table, tablesaw);\r\n\t\t\t\t\ttable.init();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.on(Tablesaw.events.refresh, function (e, tablesaw) {\r\n\t\t\t\tif (tablesaw.mode === \"stack\") {\r\n\t\t\t\t\t$(tablesaw.table)\r\n\t\t\t\t\t\t.data(data.key)\r\n\t\t\t\t\t\t.init();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.on(Tablesaw.events.destroy, function (e, tablesaw) {\r\n\t\t\t\tif (tablesaw.mode === \"stack\") {\r\n\t\t\t\t\t$(tablesaw.table)\r\n\t\t\t\t\t\t.data(data.key)\r\n\t\t\t\t\t\t.destroy();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\tTablesaw.Stack = Stack;\r\n\t})();\r\n\r\n\t(function () {\r\n\t\tvar pluginName = \"tablesawbtn\",\r\n\t\t\tmethods = {\r\n\t\t\t\t_create: function () {\r\n\t\t\t\t\treturn $(this).each(function () {\r\n\t\t\t\t\t\t$(this)\r\n\t\t\t\t\t\t\t.trigger(\"beforecreate.\" + pluginName)\r\n\t\t\t\t\t\t[pluginName](\"_init\")\r\n\t\t\t\t\t\t\t.trigger(\"create.\" + pluginName);\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\t_init: function () {\r\n\t\t\t\t\tvar oEl = $(this),\r\n\t\t\t\t\t\tsel = this.getElementsByTagName(\"select\")[0];\r\n\r\n\t\t\t\t\tif (sel) {\r\n\t\t\t\t\t\t// TODO next major version: remove .btn-select\r\n\t\t\t\t\t\t$(this)\r\n\t\t\t\t\t\t\t.addClass(\"btn-select tablesaw-btn-select\")\r\n\t\t\t\t\t\t[pluginName](\"_select\", sel);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn oEl;\r\n\t\t\t\t},\r\n\t\t\t\t_select: function (sel) {\r\n\t\t\t\t\tvar update = function (oEl, sel) {\r\n\t\t\t\t\t\tvar opts = $(sel).find(\"option\");\r\n\t\t\t\t\t\tvar label = document.createElement(\"span\");\r\n\t\t\t\t\t\tvar el;\r\n\t\t\t\t\t\tvar children;\r\n\t\t\t\t\t\tvar found = false;\r\n\r\n\t\t\t\t\t\tlabel.setAttribute(\"aria-hidden\", \"true\");\r\n\t\t\t\t\t\tlabel.innerHTML = \" \";\r\n\r\n\t\t\t\t\t\topts.each(function () {\r\n\t\t\t\t\t\t\tvar opt = this;\r\n\t\t\t\t\t\t\tif (opt.selected) {\r\n\t\t\t\t\t\t\t\tlabel.innerHTML = opt.text;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tchildren = oEl.childNodes;\r\n\t\t\t\t\t\tif (opts.length > 0) {\r\n\t\t\t\t\t\t\tfor (var i = 0, l = children.length; i < l; i++) {\r\n\t\t\t\t\t\t\t\tel = children[i];\r\n\r\n\t\t\t\t\t\t\t\tif (el && el.nodeName.toUpperCase() === \"SPAN\") {\r\n\t\t\t\t\t\t\t\t\toEl.replaceChild(label, el);\r\n\t\t\t\t\t\t\t\t\tfound = true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif (!found) {\r\n\t\t\t\t\t\t\t\toEl.insertBefore(label, oEl.firstChild);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tupdate(this, sel);\r\n\t\t\t\t\t// todo should this be tablesawrefresh?\r\n\t\t\t\t\t$(this).on(\"change refresh\", function () {\r\n\t\t\t\t\t\tupdate(this, sel);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t// Collection method.\r\n\t\t$.fn[pluginName] = function (arrg, a, b, c) {\r\n\t\t\treturn this.each(function () {\r\n\t\t\t\t// if it's a method\r\n\t\t\t\tif (arrg && typeof arrg === \"string\") {\r\n\t\t\t\t\treturn $.fn[pluginName].prototype[arrg].call(this, a, b, c);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// don't re-init\r\n\t\t\t\tif ($(this).data(pluginName + \"active\")) {\r\n\t\t\t\t\treturn $(this);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$(this).data(pluginName + \"active\", true);\r\n\r\n\t\t\t\t$.fn[pluginName].prototype._create.call(this);\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\t// add methods\r\n\t\t$.extend($.fn[pluginName].prototype, methods);\r\n\r\n\t\t// TODO OOP this and add to Tablesaw object\r\n\t})();\r\n\r\n\t(function () {\r\n\t\tvar data = {\r\n\t\t\tkey: \"tablesaw-coltoggle\"\r\n\t\t};\r\n\r\n\t\tvar ColumnToggle = function (element) {\r\n\t\t\tthis.$table = $(element);\r\n\r\n\t\t\tif (!this.$table.length) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.tablesaw = this.$table.data(\"tablesaw\");\r\n\r\n\t\t\tthis.attributes = {\r\n\t\t\t\tbtnTarget: \"data-tablesaw-columntoggle-btn-target\",\r\n\t\t\t\tset: \"data-tablesaw-columntoggle-set\"\r\n\t\t\t};\r\n\r\n\t\t\tthis.classes = {\r\n\t\t\t\tcolumnToggleTable: \"tablesaw-columntoggle\",\r\n\t\t\t\tcolumnBtnContain: \"tablesaw-columntoggle-btnwrap tablesaw-advance\",\r\n\t\t\t\tcolumnBtn: \"tablesaw-columntoggle-btn tablesaw-nav-btn down\",\r\n\t\t\t\tpopup: \"tablesaw-columntoggle-popup\",\r\n\t\t\t\tpriorityPrefix: \"tablesaw-priority-\"\r\n\t\t\t};\r\n\r\n\t\t\tthis.set = [];\r\n\t\t\tthis.$headers = this.tablesaw._getPrimaryHeaderCells();\r\n\r\n\t\t\tthis.$table.data(data.key, this);\r\n\t\t};\r\n\r\n\t\t// Column Toggle Sets (one column chooser can control multiple tables)\r\n\t\tColumnToggle.prototype.initSet = function () {\r\n\t\t\tvar set = this.$table.attr(this.attributes.set);\r\n\t\t\tif (set) {\r\n\t\t\t\t// Should not include the current table\r\n\t\t\t\tvar table = this.$table[0];\r\n\t\t\t\tthis.set = $(\"table[\" + this.attributes.set + \"='\" + set + \"']\")\r\n\t\t\t\t\t.filter(function () {\r\n\t\t\t\t\t\treturn this !== table;\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.get();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tColumnToggle.prototype.init = function () {\r\n\t\t\tif (!this.$table.length) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar tableId,\r\n\t\t\t\tid,\r\n\t\t\t\t$menuButton,\r\n\t\t\t\t$popup,\r\n\t\t\t\t$menu,\r\n\t\t\t\t$btnContain,\r\n\t\t\t\tself = this;\r\n\r\n\t\t\tvar cfg = this.tablesaw.getConfig({\r\n\t\t\t\tgetColumnToggleLabelTemplate: function (text) {\r\n\t\t\t\t\treturn \"\";\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tthis.$table.addClass(this.classes.columnToggleTable);\r\n\r\n\t\t\ttableId = this.$table.attr(\"id\");\r\n\t\t\tid = tableId + \"-popup\";\r\n\t\t\t$btnContain = $(\"
\");\r\n\t\t\t// TODO next major version: remove .btn\r\n\t\t\t$menuButton = $(\r\n\t\t\t\t\"
\" +\r\n\t\t\t\t\"\" +\r\n\t\t\t\tTablesaw.i18n.columnToggleButton +\r\n\t\t\t\t\"\"\r\n\t\t\t);\r\n\t\t\t$popup = $(\"
\");\r\n\t\t\t$menu = $(\"
\");\r\n\r\n\t\t\tthis.$popup = $popup;\r\n\r\n\t\t\tvar hasNonPersistentHeaders = false;\r\n\t\t\tthis.$headers.each(function () {\r\n\t\t\t\tvar $this = $(this),\r\n\t\t\t\t\tpriority = $this.attr(\"data-tablesaw-priority\"),\r\n\t\t\t\t\t$cells = self.tablesaw._$getCells(this);\r\n\r\n\t\t\t\tif (priority && priority !== \"persist\") {\r\n\t\t\t\t\t$cells.addClass(self.classes.priorityPrefix + priority);\r\n\r\n\t\t\t\t\t$(cfg.getColumnToggleLabelTemplate($this.text()))\r\n\t\t\t\t\t\t.appendTo($menu)\r\n\t\t\t\t\t\t.find('input[type=\"checkbox\"]')\r\n\t\t\t\t\t\t.data(\"tablesaw-header\", this);\r\n\r\n\t\t\t\t\thasNonPersistentHeaders = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tif (!hasNonPersistentHeaders) {\r\n\t\t\t\t$menu.append(\"\");\r\n\t\t\t}\r\n\r\n\t\t\t$menu.appendTo($popup);\r\n\r\n\t\t\tfunction onToggleCheckboxChange(checkbox) {\r\n\t\t\t\tvar checked = checkbox.checked;\r\n\r\n\t\t\t\tvar header = self.getHeaderFromCheckbox(checkbox);\r\n\t\t\t\tvar $cells = self.tablesaw._$getCells(header);\r\n\r\n\t\t\t\t$cells[!checked ? \"addClass\" : \"removeClass\"](\"tablesaw-toggle-cellhidden\");\r\n\t\t\t\t$cells[checked ? \"addClass\" : \"removeClass\"](\"tablesaw-toggle-cellvisible\");\r\n\r\n\t\t\t\t//var numberOfElements = $(\"#tblvariantshead .tablesaw-toggle-cellvisible\").length; \r\n\r\n\t\t\t\t//if (numberOfElements > 1) {\r\n\t\t\t\t//\tvar attrData = \"width:99%;table-layout: fixed;border-collapse: collapse;\";\r\n\r\n\t\t\t\t//\tdocument.getElementById(\"tblvariantshead\").setAttribute(\"style\", attrData);\r\n\t\t\t\t//}\r\n\r\n\t\t\t\tif (document.getElementById(\"tblvariantsbody\").scrollWidth <= 1281 && document.getElementById(\"tblvariantsbody\").scrollHeight > 520) {\r\n\t\t\t\t\tvar attrData = \"width:99%;table-layout: fixed;border-collapse: collapse;\";\r\n\r\n\t\t\t\t\tdocument.getElementById(\"tblvariantshead\").setAttribute(\"style\", attrData);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tself.updateColspanCells(header, checked);\r\n\r\n\t\t\t\tself.$table.trigger(\"tablesawcolumns\");\r\n\t\t\t}\r\n\r\n\t\t\t// bind change event listeners to inputs - TODO: move to a private method?\r\n\t\t\t$menu.find('input[type=\"checkbox\"]').on(\"change\", function (e) {\r\n\t\t\t\tonToggleCheckboxChange(e.target);\r\n\r\n\t\t\t\tif (self.set.length) {\r\n\t\t\t\t\tvar index;\r\n\t\t\t\t\t$(self.$popup)\r\n\t\t\t\t\t\t.find(\"input[type='checkbox']\")\r\n\t\t\t\t\t\t.each(function (j) {\r\n\t\t\t\t\t\t\tif (this === e.target) {\r\n\t\t\t\t\t\t\t\tindex = j;\r\n\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t$(self.set).each(function () {\r\n\t\t\t\t\t\tvar checkbox = $(this)\r\n\t\t\t\t\t\t\t.data(data.key)\r\n\t\t\t\t\t\t\t.$popup.find(\"input[type='checkbox']\")\r\n\t\t\t\t\t\t\t.get(index);\r\n\t\t\t\t\t\tif (checkbox) {\r\n\t\t\t\t\t\t\tcheckbox.checked = e.target.checked;\r\n\t\t\t\t\t\t\tonToggleCheckboxChange(checkbox);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t$menuButton.appendTo($btnContain);\r\n\r\n\t\t\t// Use a different target than the toolbar\r\n\t\t\tvar $btnTarget = $(this.$table.attr(this.attributes.btnTarget));\r\n\t\t\t$btnContain.appendTo($btnTarget.length ? $btnTarget : this.tablesaw.$toolbar);\r\n\r\n\t\t\tfunction closePopup(event) {\r\n\t\t\t\t// Click came from inside the popup, ignore.\r\n\t\t\t\tif (event && $(event.target).closest(\".\" + self.classes.popup).length) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$(document).off(\"click.\" + tableId);\r\n\t\t\t\t$menuButton.removeClass(\"up\").addClass(\"down\");\r\n\t\t\t\t$btnContain.removeClass(\"visible\");\r\n\t\t\t}\r\n\r\n\t\t\tvar closeTimeout;\r\n\t\t\tfunction openPopup() {\r\n\t\t\t\t$btnContain.addClass(\"visible\");\r\n\t\t\t\t$menuButton.removeClass(\"down\").addClass(\"up\");\r\n\r\n\t\t\t\t$(document).off(\"click.\" + tableId, closePopup);\r\n\r\n\t\t\t\twindow.clearTimeout(closeTimeout);\r\n\t\t\t\tcloseTimeout = window.setTimeout(function () {\r\n\t\t\t\t\t$(document).on(\"click.\" + tableId, closePopup);\r\n\t\t\t\t}, 15);\r\n\t\t\t}\r\n\r\n\t\t\t$menuButton.on(\"click.tablesaw\", function (event) {\r\n\t\t\t\tevent.preventDefault();\r\n\r\n\t\t\t\tif (!$btnContain.is(\".visible\")) {\r\n\t\t\t\t\topenPopup();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tclosePopup();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t$popup.appendTo($btnContain);\r\n\r\n\t\t\tthis.$menu = $menu;\r\n\r\n\t\t\t// Fix for iOS not rendering shadows correctly when using `-webkit-overflow-scrolling`\r\n\t\t\tvar $overflow = this.$table.closest(\".tablesaw-overflow\");\r\n\t\t\tif ($overflow.css(\"-webkit-overflow-scrolling\")) {\r\n\t\t\t\tvar timeout;\r\n\t\t\t\t$overflow.on(\"scroll\", function () {\r\n\t\t\t\t\tvar $div = $(this);\r\n\t\t\t\t\twindow.clearTimeout(timeout);\r\n\t\t\t\t\ttimeout = window.setTimeout(function () {\r\n\t\t\t\t\t\t$div.css(\"-webkit-overflow-scrolling\", \"auto\");\r\n\t\t\t\t\t\twindow.setTimeout(function () {\r\n\t\t\t\t\t\t\t$div.css(\"-webkit-overflow-scrolling\", \"touch\");\r\n\t\t\t\t\t\t}, 0);\r\n\t\t\t\t\t}, 100);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t$(window).on(Tablesaw.events.resize + \".\" + tableId, function () {\r\n\t\t\t\tself.refreshToggle();\r\n\t\t\t});\r\n\r\n\t\t\tthis.initSet();\r\n\t\t\tthis.refreshToggle();\r\n\t\t};\r\n\r\n\t\tColumnToggle.prototype.getHeaderFromCheckbox = function (checkbox) {\r\n\t\t\treturn $(checkbox).data(\"tablesaw-header\");\r\n\t\t};\r\n\r\n\t\tColumnToggle.prototype.refreshToggle = function () {\r\n\t\t\tvar self = this;\r\n\t\t\tvar invisibleColumns = 0;\r\n\t\t\tthis.$menu.find(\"input\").each(function () {\r\n\t\t\t\tvar header = self.getHeaderFromCheckbox(this);\r\n\t\t\t\tthis.checked =\r\n\t\t\t\t\tself.tablesaw\r\n\t\t\t\t\t\t._$getCells(header)\r\n\t\t\t\t\t\t.eq(0)\r\n\t\t\t\t\t\t.css(\"display\") === \"table-cell\";\r\n\t\t\t});\r\n\r\n\t\t\tthis.updateColspanCells();\r\n\t\t};\r\n\r\n\t\tColumnToggle.prototype.updateColspanCells = function (header, userAction) {\r\n\t\t\tthis.tablesaw.updateColspanCells(\"tablesaw-toggle-cellhidden\", header, userAction);\r\n\t\t};\r\n\r\n\t\tColumnToggle.prototype.destroy = function () {\r\n\t\t\tthis.$table.removeClass(this.classes.columnToggleTable);\r\n\t\t\tthis.$table.find(\"th, td\").each(function () {\r\n\t\t\t\tvar $cell = $(this);\r\n\t\t\t\t$cell.removeClass(\"tablesaw-toggle-cellhidden\").removeClass(\"tablesaw-toggle-cellvisible\");\r\n\r\n\t\t\t\tthis.className = this.className.replace(/\\bui\\-table\\-priority\\-\\d\\b/g, \"\");\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\t// on tablecreate, init\r\n\t\t$(document).on(Tablesaw.events.create, function (e, tablesaw) {\r\n\t\t\tif (tablesaw.mode === \"columntoggle\") {\r\n\t\t\t\tvar table = new ColumnToggle(tablesaw.table);\r\n\t\t\t\ttable.init();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$(document).on(Tablesaw.events.destroy, function (e, tablesaw) {\r\n\t\t\tif (tablesaw.mode === \"columntoggle\") {\r\n\t\t\t\t$(tablesaw.table)\r\n\t\t\t\t\t.data(data.key)\r\n\t\t\t\t\t.destroy();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t$(document).on(Tablesaw.events.refresh, function (e, tablesaw) {\r\n\t\t\tif (tablesaw.mode === \"columntoggle\") {\r\n\t\t\t\t$(tablesaw.table)\r\n\t\t\t\t\t.data(data.key)\r\n\t\t\t\t\t.refreshPriority();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tTablesaw.ColumnToggle = ColumnToggle;\r\n\t})();\r\n\r\n (function () {\r\n function getSortValue(cell) {\r\n var text = [];\r\n $(cell.childNodes).each(function () {\r\n var $el = $(this);\r\n if ($el.is(\"input, select\")) {\r\n text.push($el.val());\r\n } else if ($el.is(\".tablesaw-cell-label\")) {\r\n } else {\r\n text.push(($el.text() || \"\").replace(/^\\s+|\\s+$/g, \"\").replace(/,/g, \".\"));\r\n }\r\n });\r\n\r\n return text.join(\"\");\r\n }\r\n\r\n\t\tvar pluginName = \"tablesaw-sortable\",\r\n\t\t\tinitSelector = \"table[data-\" + pluginName + \"]\",\r\n\t\t\tsortableSwitchSelector = \"[data-\" + pluginName + \"-switch]\",\r\n\t\t\tattrs = {\r\n\t\t\t\tsortCol: \"data-tablesaw-sortable-col\",\r\n\t\t\t\tdefaultCol: \"data-tablesaw-sortable-default-col\",\r\n\t\t\t\tnumericCol: \"data-tablesaw-sortable-numeric\",\r\n\t\t\t\tsubRow: \"data-tablesaw-subrow\",\r\n\t\t\t\tignoreRow: \"data-tablesaw-ignorerow\"\r\n\t\t\t},\r\n\t\t\tclasses = {\r\n\t\t\t\thead: pluginName + \"-head\",\r\n\t\t\t\tascend: pluginName + \"-ascending\",\r\n\t\t\t\tdescend: pluginName + \"-descending\",\r\n\t\t\t\tswitcher: pluginName + \"-switch\",\r\n\t\t\t\ttableToolbar: \"tablesaw-bar-section\",\r\n\t\t\t\tsortButton: pluginName + \"-btn\"\r\n\t\t\t},\r\n\t\t\tmethods = {\r\n\t\t\t\t_create: function (o) {\r\n\t\t\t\t\treturn $(this).each(function () {\r\n\t\t\t\t\t\tvar init = $(this).data(pluginName + \"-init\");\r\n\t\t\t\t\t\tif (init) {\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t$(this)\r\n\t\t\t\t\t\t\t.data(pluginName + \"-init\", true)\r\n\t\t\t\t\t\t\t.trigger(\"beforecreate.\" + pluginName)\r\n\t\t\t\t\t\t[pluginName](\"_init\", o)\r\n\t\t\t\t\t\t\t.trigger(\"create.\" + pluginName);\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\t_init: function () {\r\n var el = $(this);\r\n\t\t\t\t\tvar tblsaw = el.data(\"tablesaw\");\r\n\t\t\t\t\tvar heads;\r\n\t\t\t\t\tvar $switcher;\r\n\r\n\t\t\t\t\tfunction addClassToHeads(h) {\r\n\t\t\t\t\t\t$.each(h, function (i, v) {\r\n\t\t\t\t\t\t\t$(v).addClass(classes.head);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tfunction makeHeadsActionable(h, fn) {\r\n\t\t\t\t\t\t$.each(h, function (i, col) {\r\n\t\t\t\t\t\t\tvar b = $(\"