src/js/base/editing/Table.js
function addCellInfoToVirtual(row, cell) {
            var cellIndex = recoverCellIndex(row.rowIndex, cell.cellIndex);
            var cellHasColspan = (cell.colSpan > 1);
            var cellHasRowspan = (cell.rowSpan > 1);
            var isThisSelectedCell = (row.rowIndex === _startPoint.rowPos && cell.cellIndex === _startPoint.colPos);
            setVirtualTablePosition(row.rowIndex, cellIndex, row, cell, cellHasRowspan, cellHasColspan, false);

            // Add span rows to virtual Table.
            var rowspanNumber = cell.attributes.rowSpan ? parseInt(cell.attributes.rowSpan.value, 10) : 0;
            if (rowspanNumber > 1) {
                for (var rp = 1; rp < rowspanNumber; rp++) {
                    var rowspanIndex = row.rowIndex + rp;
                    adjustStartPoint(rowspanIndex, cellIndex, cell, isThisSelectedCell);
                    setVirtualTablePosition(rowspanIndex, cellIndex, row, cell, true, cellHasColspan, true);
                }
            }

            // Add span cols to virtual table.
            var colspanNumber = cell.attributes.colSpan ? parseInt(cell.attributes.colSpan.value, 10) : 0;
            if (colspanNumber > 1) {
                for (var cp = 1; cp < colspanNumber; cp++) {
                    var cellspanIndex = recoverCellIndex(row.rowIndex, (cellIndex + cp));
                    adjustStartPoint(row.rowIndex, cellspanIndex, cell, isThisSelectedCell);
                    setVirtualTablePosition(row.rowIndex, cellspanIndex, row, cell, cellHasRowspan, true, true);
                }
            }
        }
function addCellInfoToVirtual(row, cell) {
            var cellIndex = recoverCellIndex(row.rowIndex, cell.cellIndex);
            var cellHasColspan = (cell.colSpan > 1);
            var cellHasRowspan = (cell.rowSpan > 1);
            var isThisSelectedCell = (row.rowIndex === _startPoint.rowPos && cell.cellIndex === _startPoint.colPos);
            setVirtualTablePosition(row.rowIndex, cellIndex, row, cell, cellHasRowspan, cellHasColspan, false);

            // Add span rows to virtual Table.
            var rowspanNumber = cell.attributes.rowSpan ? parseInt(cell.attributes.rowSpan.value, 10) : 0;
            if (rowspanNumber > 1) {
                for (var rp = 1; rp < rowspanNumber; rp++) {
                    var rowspanIndex = row.rowIndex + rp;
                    adjustStartPoint(rowspanIndex, cellIndex, cell, isThisSelectedCell);
                    setVirtualTablePosition(rowspanIndex, cellIndex, row, cell, true, cellHasColspan, true);
                }
            }

            // Add span cols to virtual table.
            var colspanNumber = cell.attributes.colSpan ? parseInt(cell.attributes.colSpan.value, 10) : 0;
            if (colspanNumber > 1) {
                for (var cp = 1; cp < colspanNumber; cp++) {
                    var cellspanIndex = recoverCellIndex(row.rowIndex, (cellIndex + cp));
                    adjustStartPoint(row.rowIndex, cellspanIndex, cell, isThisSelectedCell);
                    setVirtualTablePosition(row.rowIndex, cellspanIndex, row, cell, cellHasRowspan, true, true);
                }
            }
        }
function addCellInfoToVirtual ( row , cell ) { var cellIndex = recoverCellIndex ( row . rowIndex , cell . cellIndex ) ; var cellHasColspan = ( cell . colSpan > 1 ) ; var cellHasRowspan = ( cell . rowSpan > 1 ) ; var isThisSelectedCell = ( row . rowIndex === _startPoint . rowPos && cell . cellIndex === _startPoint . colPos ) ; setVirtualTablePosition ( row . rowIndex , cellIndex , row , cell , cellHasRowspan , cellHasColspan , false ) ; // Add span rows to virtual Table. var rowspanNumber = cell . attributes . rowSpan ? parseInt ( cell . attributes . rowSpan . value , 10 ) : 0 ; if ( rowspanNumber > 1 ) { for ( var rp = 1 ; rp < rowspanNumber ; rp ++ ) { var rowspanIndex = row . rowIndex + rp ; adjustStartPoint ( rowspanIndex , cellIndex , cell , isThisSelectedCell ) ; setVirtualTablePosition ( rowspanIndex , cellIndex , row , cell , true , cellHasColspan , true ) ; } } // Add span cols to virtual table. var colspanNumber = cell . attributes . colSpan ? parseInt ( cell . attributes . colSpan . value , 10 ) : 0 ; if ( colspanNumber > 1 ) { for ( var cp = 1 ; cp < colspanNumber ; cp ++ ) { var cellspanIndex = recoverCellIndex ( row . rowIndex , ( cellIndex + cp ) ) ; adjustStartPoint ( row . rowIndex , cellspanIndex , cell , isThisSelectedCell ) ; setVirtualTablePosition ( row . rowIndex , cellspanIndex , row , cell , cellHasRowspan , true , true ) ; } } }
Recover info about row and cell and add information to virtual table.

@param {object} row Row to recover information.
@param {object} cell Cell to recover information.
Recover info about row and cell and add information to virtual table .