Ticket #1865: 1865_2.patch

File 1865_2.patch, 4.4 KB (added by Alfonso Martínez de Lizarrondo, 12 years ago)

Some simplifications

  • editor/_source/internals/fcktablehandler.js

     
    5252                //queue up the rows -- it's possible ( and likely ) that we may get duplicates
    5353                for ( var i = 0; i < aCells.length; i++ )
    5454                {
    55                         var oRow = FCKTools.GetElementAscensor( aCells[i],'TR' ) ;
     55                        var oRow = aCells[i].parentNode ;
    5656                        aRowsToDelete[oRow.rowIndex] = oRow ;
    5757                }
    5858                for ( var i = aRowsToDelete.length; i >= 0; i-- )
     
    118118
    119119        var iIndex = oCell.cellIndex ;
    120120
    121         // Loop throw all rows available in the table.
     121        // Loop through all rows available in the table.
    122122        for ( var i = 0 ; i < oTable.rows.length ; i++ )
    123123        {
    124124                // Get the row.
    125125                var oRow = oTable.rows[i] ;
    126126
    127                 // If the row doens't have enough cells, ignore it.
     127                // If the row doesn't have enough cells, ignore it.
    128128                if ( oRow.cells.length < ( iIndex + 1 ) )
    129129                        continue ;
    130130
     
    136136                // Get back the currently selected cell.
    137137                var oBaseCell = oRow.cells[iIndex] ;
    138138
    139                 if ( insertBefore )
    140                         oRow.insertBefore( oCell, oBaseCell ) ;
    141                 else if ( oBaseCell.nextSibling )
    142                         oRow.insertBefore( oCell, oBaseCell.nextSibling ) ;
    143                 else
    144                         oRow.appendChild( oCell ) ;
     139                oRow.insertBefore( oCell, ( insertBefore ? oBaseCell : oBaseCell.nextSibling ) ) ;
    145140        }
    146141}
    147142
     
    218213        if ( cell.parentNode.cells.length == 1 )
    219214        {
    220215                // Delete the entire row.
    221                 FCKTableHandler.DeleteRows( FCKTools.GetElementAscensor( cell, 'TR' ) ) ;
     216                FCKTableHandler.DeleteRows( cell.parentNode ) ;
    222217                return ;
    223218        }
    224219
     
    246241{
    247242        for ( var i = 0 ; i < cells.length ; i++ )
    248243        {
    249                 if ( FCKBrowserInfo.IsIE )
    250                         cells[i].removeAttribute( label ) ;
    251                 else
    252                         delete cells[i][label] ;
     244                FCKDomTools.ClearElementJSProperty(cells[i], label ) ;
    253245        }
    254246}
    255247
     
    385377                        }
    386378                }
    387379                if ( rowChildNodesCount > 0 )
    388                         cellContents.appendChild( FCKTools.GetElementDocument( refCell ).createElement( 'br' ) ) ;
     380                        cellContents.appendChild( FCK.EditorDocument.createElement( 'br' ) ) ;
    389381        }
    390382
    391383        this._ReplaceCellsByMarker( tableMap, '_SelectedCells', refCell ) ;
     
    434426        while ( nextCell && nextCell.childNodes && nextCell.childNodes.length > 0 )
    435427                cellContents.appendChild( nextCell.removeChild( nextCell.firstChild ) ) ;
    436428        if ( cellContents.firstChild )
    437                 cellContents.insertBefore( FCKTools.GetElementDocument( nextCell ).createElement( 'br' ), cellContents.firstChild ) ;
     429                cellContents.insertBefore( FCK.EditorDocument.createElement( 'br' ), cellContents.firstChild ) ;
    438430        refCell.appendChild( cellContents ) ;
    439431        this._MarkCells( [nextCell], '_Replace' ) ;
    440432        this._ReplaceCellsByMarker( tableMap, '_Replace', refCell ) ;
     
    619611        return null ;
    620612}
    621613
    622 // Get the cells available in a column of a TableMap.
    623 FCKTableHandler._GetColumnCells = function( tableMap, columnIndex )
    624 {
    625         var aCollCells = new Array() ;
    626 
    627         for ( var r = 0 ; r < tableMap.length ; r++ )
    628         {
    629                 var oCell = tableMap[r][columnIndex] ;
    630                 if ( oCell && ( aCollCells.length == 0 || aCollCells[ aCollCells.length - 1 ] != oCell ) )
    631                         aCollCells[ aCollCells.length ] = oCell ;
    632         }
    633 
    634         return aCollCells ;
    635 }
    636 
    637614// This function is quite hard to explain. It creates a matrix representing all cells in a table.
    638615// The difference here is that the "spanned" cells (colSpan and rowSpan) are duplicated on the matrix
    639616// cells that are "spanned". For example, a row with 3 cells where the second cell has colSpan=2 and rowSpan=3
     
    758735                for ( var j = 0 ; j < tableMap[i].length ; j++)
    759736                {
    760737                        var cell = tableMap[i][j] ;
    761                         if ( FCKBrowserInfo.IsIE )
    762                         {
    763                                 cell.removeAttribute( '_colScanned' ) ;
    764                                 cell.removeAttribute( '_rowScanned' ) ;
    765                         }
    766                         else
    767                         {
    768                                 delete cell._colScanned ;
    769                                 delete cell._rowScanned ;
    770                         }
     738                        FCKDomTools.ClearElementJSProperty(cell, '_colScanned' ) ;
     739                        FCKDomTools.ClearElementJSProperty(cell, '_rowScanned' ) ;
    771740                }
    772741        }
    773742
    774743        // Insert physical rows and columns to the table.
    775744        for ( var i = 0 ; i < tableMap.length ; i++ )
    776745        {
    777                 var rowObj = FCKTools.GetElementDocument( table ).createElement( 'tr' ) ;
     746                var rowObj = FCK.EditorDocument.createElement( 'tr' ) ;
    778747                for ( var j = 0 ; j < tableMap[i].length ; )
    779748                {
    780749                        var cell = tableMap[i][j] ;
© 2003 – 2021 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy