Sha256: dc04246d03033e4bec2fdcbdea533d9ecfb375f5bf2dd6079d6d47c1731f0b0f

Contents?: true

Size: 1004 Bytes

Versions: 104

Compression:

Stored size: 1004 Bytes

Contents

/*global table */

/**
 * Converts a table to an Array of arrays, normalized for row and column spans
 * @method toGrid
 * @memberof axe.commons.table
 * @instance
 * @param  {HTMLTableElement} node The table to convert
 * @return {Array<HTMLTableCellElement>} Array of HTMLTableCellElements
 */
table.toGrid = function(node) {
	var table = [];
	var rows = node.rows;
	for (var i = 0, rowLength = rows.length; i < rowLength; i++) {
		var cells = rows[i].cells;
		table[i] = table[i] || [];

		var columnIndex = 0;

		for (var j = 0, cellLength = cells.length; j < cellLength; j++) {
			for (var colSpan = 0; colSpan < cells[j].colSpan; colSpan++) {
				for (var rowSpan = 0; rowSpan < cells[j].rowSpan; rowSpan++) {
					table[i + rowSpan] = table[i + rowSpan] || [];
					while (table[i + rowSpan][columnIndex]) {
						columnIndex++;
					}
					table[i + rowSpan][columnIndex] = cells[j];
				}
				columnIndex++;
			}
		}
	}

	return table;
};

// This was the old name
table.toArray = table.toGrid;

Version data entries

104 entries across 104 versions & 1 rubygems

Version Path
govuk_publishing_components-21.16.3 node_modules/axe-core/lib/commons/table/to-grid.js
govuk_publishing_components-21.16.2 node_modules/axe-core/lib/commons/table/to-grid.js
govuk_publishing_components-21.16.1 node_modules/axe-core/lib/commons/table/to-grid.js
govuk_publishing_components-21.16.0 node_modules/axe-core/lib/commons/table/to-grid.js
govuk_publishing_components-21.15.2 node_modules/axe-core/lib/commons/table/to-grid.js
govuk_publishing_components-21.15.1 node_modules/axe-core/lib/commons/table/to-grid.js
govuk_publishing_components-21.15.0 node_modules/axe-core/lib/commons/table/to-grid.js
govuk_publishing_components-21.14.0 node_modules/axe-core/lib/commons/table/to-grid.js
govuk_publishing_components-21.13.5 node_modules/axe-core/lib/commons/table/to-grid.js
govuk_publishing_components-21.13.4 node_modules/axe-core/lib/commons/table/to-grid.js
govuk_publishing_components-21.13.3 node_modules/axe-core/lib/commons/table/to-grid.js
govuk_publishing_components-21.13.2 node_modules/axe-core/lib/commons/table/to-grid.js
govuk_publishing_components-21.13.1 node_modules/axe-core/lib/commons/table/to-grid.js
govuk_publishing_components-21.13.0 node_modules/axe-core/lib/commons/table/to-grid.js
govuk_publishing_components-21.12.0 node_modules/axe-core/lib/commons/table/to-grid.js
govuk_publishing_components-21.11.0 node_modules/axe-core/lib/commons/table/to-grid.js
govuk_publishing_components-21.10.0 node_modules/axe-core/lib/commons/table/to-grid.js
govuk_publishing_components-21.9.0 node_modules/axe-core/lib/commons/table/to-grid.js
govuk_publishing_components-21.8.1 node_modules/axe-core/lib/commons/table/to-grid.js
govuk_publishing_components-21.8.0 node_modules/axe-core/lib/commons/table/to-grid.js