{"version":3,"sources":["webpack://website/./node_modules/table-to-json/lib/jquery.tabletojson.js"],"names":["$","TableToJSONCell","cell","index","options","this","$element","cachedRowSpan","extend","fn","tableToJSONCell","defaults","init","prototype","constructor","value","runOptions","trim","text","override","attr","textDataOverride","extractor","textExtractor","extractedValue","allowHTML","html","withColSpan","isFunction","colSpan","span","parseInt","rowSpan","arguments","length","response","push","proxy","triggerHandler","jQuery","TableToJSONRow","row","cells","tableToJSONRow","id","valuesWithHeadings","headers","values","isEmpty","empty","insert","splice","getRowSpans","spans","rows","cellIndex","insertRowSpans","spannedCell","rowSpans","cellValues","colSpanOffset","ignoreColumn","concat","valuesIndex","onlyColumns","indexOf","ignoreColumns","self","children","cellSelector","each","TableToJSON","table","tableToJSON","headings","rowValues","ignoreRow","includeRowId","rowIdHeader","$row","ignoreRows","data","ignoreHiddenRows","is","ignoreEmptyRows","addRow","newRow","rowParentSelector","rowSelector","rowIndex"],"mappings":"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","file":"183.js","sourcesContent":["/**\n * table-to-json\n * jQuery plugin that reads an HTML table and returns a javascript object representing the values and columns of the table\n *\n * @author Daniel White\n * @copyright Daniel White 2020\n * @license MIT \n * @link https://github.com/lightswitch05/table-to-json\n * @module table-to-json\n * @version 1.0.0\n */\n(function($) {\n 'use strict';\n\n var TableToJSONCell = function (cell, index, options) {\n this.$element = $(cell);\n this.index = index;\n this.cachedRowSpan = null;\n this.options = $.extend({}, $.fn.tableToJSONCell.defaults, options);\n this.init();\n };\n\n TableToJSONCell.prototype = {\n constructor: TableToJSONCell,\n\n value: function(options) {\n var runOptions = $.extend({}, this.options, options);\n var value = $.trim(this.$element.text());\n var override = this.$element.attr(this.options.textDataOverride);\n if (override) {\n value = override;\n } else if (runOptions.extractor || runOptions.textExtractor) {\n return this.extractedValue();\n } else if (runOptions.allowHTML) {\n value = $.trim(this.$element.html());\n }\n return this.withColSpan(value);\n },\n\n extractedValue: function() {\n var extractor = this.options.extractor || this.options.textExtractor;\n var value = null;\n if ( $.isFunction(extractor) ) {\n value = extractor(this.index, this.$element);\n } else if (typeof extractor === 'object' && $.isFunction(extractor[this.index])) {\n value = extractor[this.index](this.index, this.$element);\n }\n return typeof value === 'string' ? $.trim(value) : value;\n },\n\n /**\n * Gets the cell's colSpan attribute.\n * @returns {number}\n */\n colSpan: function() {\n var span = 1;\n if (this.$element.attr('colSpan')) {\n span = parseInt( this.$element.attr('colSpan'), 10 );\n }\n return span;\n },\n\n rowSpan: function(rowSpan) {\n if(arguments.length === 1){\n this.cachedRowSpan = rowSpan;\n } else if (!this.cachedRowSpan) {\n this.cachedRowSpan = 1;\n if (this.$element.attr('rowSpan')) {\n this.cachedRowSpan = parseInt( this.$element.attr('rowSpan'), 10 );\n }\n }\n return this.cachedRowSpan;\n },\n\n /**\n * Returns either the given value, or an array of the value for each header that owns this cell.\n * @param value\n * @returns []\n */\n withColSpan: function(value) {\n var response = value;\n if (this.$element.attr('colSpan')) {\n var span = this.colSpan();\n if(span > 1){\n response = [];\n for(var index=0; index < span; index++){\n // Dup the value for each header this cell belongs to\n response.push(value);\n }\n }\n }\n return response;\n },\n\n init: function () {\n $.proxy(function() {\n /**\n Fired when element was initialized by `$().tableToJSON()` method.\n Please note that you should setup `init` handler **before** applying `tableToJSON`.\n\n @event init\n @param {Object} event event object\n @param {Object} editable TableToJSONCell instance\n **/\n this.$element.triggerHandler('init', this);\n }, this);\n }\n };\n\n // Initialize cell\n $.fn.tableToJSONCell = function (index, options) {\n return new TableToJSONCell(this, index, options);\n };\n\n $.fn.tableToJSONCell.defaults = {\n /**\n * Boolean if HTML tags in table cells should be preserved.\n * @type boolean\n * @default false\n */\n allowHTML: false,\n\n /**\n * String of the data-* attribute name to use for the override value.\n * @type String\n * @default 'override'\n */\n textDataOverride: 'data-override',\n\n /**\n * Function that is used on all tbody cells to extract text from the cells.\n * Note: A value in `data-override` will prevent this function from being called.\n * @type Function|Object\n * @default null\n */\n extractor: null,\n\n /**\n * alias for extractor option.\n */\n textExtractor: null\n };\n})(jQuery);\n\n(function($) {\n 'use strict';\n\n var TableToJSONRow = function (row, options) {\n this.$element = $(row);\n this.cells = [];\n this.options = $.extend({}, $.fn.tableToJSONRow.defaults, options);\n this.init();\n };\n\n TableToJSONRow.prototype = {\n constructor: TableToJSONRow,\n\n id: function(){\n return this.$element.attr('id') ? this.$element.attr('id') : null;\n },\n\n valuesWithHeadings: function(headers){\n var valuesWithHeadings = {};\n var values = this.values();\n for(var index = 0; index < values.length; index++){\n valuesWithHeadings[headers[index]] = values[index];\n }\n return valuesWithHeadings;\n },\n\n isEmpty: function(){\n var empty = true;\n var values = this.values();\n for(var index = 0; empty && index < values.length; index++){\n if(values[index] !== ''){\n empty = false;\n }\n }\n return empty;\n },\n\n cell: function(index){\n if(index < this.cells.length){\n return this.cells[index];\n } else {\n return null;\n }\n },\n\n insert: function(index, cell){\n this.cells.splice(index, 0, cell);\n },\n\n getRowSpans: function(spans){\n var span, rows = [], cell;\n for(var cellIndex = 0; cellIndex < this.cells.length; cellIndex++){\n rows = [];\n cell = this.cells[cellIndex];\n if(cell){\n span = cell.rowSpan();\n while(span > 1){\n rows.push(cell);\n span--;\n }\n cell.rowSpan(1);\n }\n if(rows.length > 0){\n spans[cellIndex] = rows;\n }\n }\n return spans;\n },\n\n insertRowSpans: function(spans){\n for(var cellIndex = 0; cellIndex < spans.length; cellIndex++) {\n if (spans[cellIndex] && spans[cellIndex].length > 0) {\n var spannedCell = spans[cellIndex].splice(0, 1)[0];\n this.insert(cellIndex, spannedCell);\n }\n }\n return spans;\n },\n\n rowSpans: function(){\n var spans = [], span, rows = [], cell;\n for(var cellIndex = 0; cellIndex < this.cells.length; cellIndex++){\n rows = [];\n cell = this.cells[cellIndex];\n span = cell.rowSpan();\n while(span > 1){\n rows.push(cell);\n span--;\n }\n cell.rowSpan(1);\n if(rows.length > 0){\n spans[cellIndex] = rows;\n }\n }\n return spans;\n },\n\n values: function(options){\n var runOptions = $.extend({}, this.options, options);\n var cellValues = [], value = null, colSpanOffset = 0;\n for(var index = 0; index < this.cells.length; index++){\n value = this.cells[index].value(runOptions);\n\n if (this.cells[index].colSpan() === 1) {\n // simple case, either ignore it or not\n if(!this.ignoreColumn(colSpanOffset)){\n cellValues = cellValues.concat(value);\n }\n colSpanOffset++;\n } else {\n // this cell has a colSpan, ensure each\n // value match ignored columns\n for (var valuesIndex = 0; valuesIndex < value.length; valuesIndex++) {\n if (!this.ignoreColumn(colSpanOffset)) {\n cellValues = cellValues.concat(value[valuesIndex]);\n }\n colSpanOffset++;\n }\n }\n }\n return cellValues;\n },\n\n ignoreColumn: function(index){\n if( this.options.onlyColumns ) {\n return this.options.onlyColumns.indexOf(index) < 0;\n }\n return this.options.ignoreColumns.indexOf(index) > -1;\n },\n\n init: function () {\n // Init Cells\n var self = this;\n this.$element.children(this.options.cellSelector).each(function(cellIndex, cell) {\n self.cells.push( $(cell).tableToJSONCell(cellIndex, self.options) );\n });\n\n // Finalize init\n $.proxy(function() {\n /**\n Fired when row was initialized by `$().tableToJSON()` method.\n Please note that you should setup `init` handler **before** applying `tableToJSON`.\n\n @event init\n @param {Object} event event object\n @param {Object} editable TableToJSONRow instance\n **/\n this.$element.triggerHandler('init', this);\n }, this);\n }\n };\n\n // Initialize row\n $.fn.tableToJSONRow = function (options) {\n return new TableToJSONRow(this, options);\n };\n\n $.fn.tableToJSONRow.defaults = {\n /**\n Array of column indexes to include, all other columns are ignored. This takes precedence over ignoreColumns when provided.\n\n @type Array\n @default null\n **/\n onlyColumns: null,\n\n /**\n Array of column indexes to ignore.\n\n @type Array\n @default []\n **/\n ignoreColumns: [],\n cellSelector: 'td,th'\n };\n})(jQuery);\n\n(function( $ ) {\n 'use strict';\n\n var TableToJSON = function (table, options) {\n this.$element = $(table);\n this.rows = [];\n this.options = $.extend({}, $.fn.tableToJSON.defaults, options);\n this.init();\n };\n\n TableToJSON.prototype = {\n constructor: TableToJSON,\n\n headings: function() {\n if(this.rows.length > 0 && !this.options.headings){\n // have to disable the extractor for header rows\n return this.rows[0].values({extractor: null, textExtractor: null});\n } else if (this.options.headings){\n return this.options.headings;\n } else {\n return [];\n }\n },\n\n values: function() {\n var rowValues = [];\n var headings = this.headings();\n var index = (this.options.headings) ? 0 : 1; // Skip first row if heading are not supplied\n for(index; index < this.rows.length; index++){\n if(!this.ignoreRow(this.rows[index], index)){\n if(this.options.includeRowId){\n var rowIdHeader = (typeof this.options.includeRowId === 'string') ? this.options.includeRowId : 'rowId';\n var cellValues = this.rows[index].valuesWithHeadings(headings);\n cellValues[rowIdHeader] = this.rows[index].id();\n rowValues.push( cellValues );\n } else {\n rowValues.push( this.rows[index].valuesWithHeadings(headings) );\n }\n }\n }\n return rowValues;\n },\n\n ignoreRow: function($row, index) {\n return (\n this.options.ignoreRows && this.options.ignoreRows.indexOf(index) > -1) ||\n ($row.$element.data('ignore') && $row.$element.data('ignore') !== 'false') ||\n (this.options.ignoreHiddenRows && !$row.$element.is(':visible')) ||\n (this.options.ignoreEmptyRows && $row.isEmpty());\n },\n\n addRow: function($row, rowSpans) {\n $row.insertRowSpans(rowSpans);\n this.rows.push($row);\n return $row.getRowSpans(rowSpans);\n },\n\n init: function () {\n // Init Rows\n var self = this, rowSpans = [], newRow = null;\n this.$element.children(this.options.rowParentSelector).children(this.options.rowSelector).each(function(rowIndex, row) {\n newRow = $(row).tableToJSONRow(self.options);\n rowSpans = self.addRow( newRow, rowSpans );\n });\n\n $.proxy(function() {\n /**\n Fired when element was initialized by `$().tableToJSON()` method.\n Please note that you should setup `init` handler **before** applying `tableToJSON`.\n\n @event init\n @param {Object} event event object\n @param {Object} editable TableToJSON instance\n **/\n this.$element.triggerHandler('init', this);\n }, this);\n }\n };\n\n // Initialize\n $.fn.tableToJSON = function (options) {\n var table = new TableToJSON(this, options);\n return table.values();\n };\n\n $.fn.tableToJSON.defaults = {\n /**\n * Array of row indexes to ignore.\n * @type Array\n * @default []\n */\n ignoreRows: [],\n\n /**\n * Boolean if hidden rows should be ignored or not.\n * @type Boolean\n * @default true\n */\n ignoreHiddenRows: true,\n\n /**\n * Boolean if hidden rows should be ignored or not.\n * @type Boolean\n * @default false\n */\n ignoreEmptyRows: false,\n\n /**\n * Array of column headings to use. When supplied, all table rows are treated as values (no headings row).\n * @type Array\n * @default null\n */\n headings: null,\n\n /**\n * Determines if the `id` attribute of each `` element is included in the JSON.\n * @type Boolean\n * @default false\n */\n includeRowId: false,\n\n rowParentSelector: 'tbody,*',\n rowSelector: 'tr'\n };\n})( jQuery );\n"],"sourceRoot":""}