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 ) ; |