| 44 | | // If no row has been passed as a parameter, |
| 45 | | // then get the row( s ) containing the cells where the selection is placed in. |
| 46 | | // If user selected multiple rows ( by selecting multiple cells ), walk |
| 47 | | // the selected cell list and delete the rows containing the selected cells |
| 48 | | if ( ! row ) |
| 49 | | { |
| 50 | | var aCells = FCKTableHandler.GetSelectedCells() ; |
| 51 | | var aRowsToDelete = new Array() ; |
| 52 | | //queue up the rows -- it's possible ( and likely ) that we may get duplicates |
| 53 | | for ( var i = 0; i < aCells.length; i++ ) |
| 54 | | { |
| 55 | | var oRow = aCells[i].parentNode ; |
| 56 | | aRowsToDelete[oRow.rowIndex] = oRow ; |
| 57 | | } |
| 58 | | for ( var i = aRowsToDelete.length; i >= 0; i-- ) |
| 59 | | { |
| 60 | | if ( aRowsToDelete[i] ) |
| 61 | | FCKTableHandler.DeleteRows( aRowsToDelete[i] ); |
| 62 | | } |
| | 44 | // Get all selected cells. |
| | 45 | var cells = this.GetSelectedCells() ; |
| | 46 | if ( cells.length < 1 ) |
| 76 | | // Delete the row. |
| 77 | | row.parentNode.removeChild( row ) ; |
| | 67 | // Delete the row(s). |
| | 68 | for ( var i = aRows.length - 1; i >= 0; i-- ) |
| | 69 | oTable.rows[aRows[i]].parentNode.removeChild( oTable.rows[aRows[i]] ) ; |
| | 70 | |
| | 71 | // Build newTableMap. |
| | 72 | var newTableMap = new Array() ; |
| | 73 | for ( var i = 0 ; i < tableMap.length ; i++ ) |
| | 74 | { |
| | 75 | // Check if row has to be deleted. |
| | 76 | var delRow = 0 ; |
| | 77 | for ( var t = 0; t < aRows.length; t++ ) |
| | 78 | { |
| | 79 | if( i == aRows[t] ) |
| | 80 | delRow = 1 ; |
| | 81 | } |
| | 82 | |
| | 83 | if( delRow == 0 ) |
| | 84 | { |
| | 85 | var newRow = new Array() ; |
| | 86 | for ( var j = 0; j < tableMap[i].length ; j++ ) |
| | 87 | newRow.push( tableMap[i][j] ) ; |
| | 88 | |
| | 89 | newTableMap.push( newRow ) ; |
| | 90 | } |
| | 91 | } |
| | 92 | |
| | 93 | this._InstallTableMap( newTableMap, oTable ) ; |