Changeset 5572


Ignore:
Timestamp:
06/08/10 19:02:34 (4 years ago)
Author:
garry.yao
Message:

#5268: Adding 'tableresize' as a default plugin, but load on demand.

Location:
CKEditor/branches/versions/3.4.x
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/branches/versions/3.4.x/CHANGES.html

    r5549 r5572  
    3636        </h1> 
    3737        <h3> 
    38                         CKEditor 3.3.1 (SVN)</h3> 
     38                        CKEditor 3.4 (SVN)</h3> 
    3939        <p> 
    4040                        New features:</p> 
    4141        <ul> 
    42                         <li></li> 
     42                <li><a href="http://dev.fckeditor.net/ticket/5628">#5628</a> : Port 'DragResizeTable' plugin from FCKEditor 2.x.</li> 
    4343        </ul> 
    4444        <p> 
  • CKEditor/branches/versions/3.4.x/_source/plugins/tabletools/plugin.js

    r5534 r5572  
    399399                } 
    400400                range.select( true ); 
    401         } 
    402  
    403         function buildTableMap( table ) 
    404         { 
    405  
    406                 var aRows = table.$.rows ; 
    407  
    408                 // Row and Column counters. 
    409                 var r = -1 ; 
    410  
    411                 var aMap = []; 
    412  
    413                 for ( var i = 0 ; i < aRows.length ; i++ ) 
    414                 { 
    415                         r++ ; 
    416                         !aMap[r] && ( aMap[r] = [] ); 
    417  
    418                         var c = -1 ; 
    419  
    420                         for ( var j = 0 ; j < aRows[i].cells.length ; j++ ) 
    421                         { 
    422                                 var oCell = aRows[i].cells[j] ; 
    423  
    424                                 c++ ; 
    425                                 while ( aMap[r][c] ) 
    426                                         c++ ; 
    427  
    428                                 var iColSpan = isNaN( oCell.colSpan ) ? 1 : oCell.colSpan ; 
    429                                 var iRowSpan = isNaN( oCell.rowSpan ) ? 1 : oCell.rowSpan ; 
    430  
    431                                 for ( var rs = 0 ; rs < iRowSpan ; rs++ ) 
    432                                 { 
    433                                         if ( !aMap[r + rs] ) 
    434                                                 aMap[r + rs] = new Array() ; 
    435  
    436                                         for ( var cs = 0 ; cs < iColSpan ; cs++ ) 
    437                                         { 
    438                                                 aMap[r + rs][c + cs] = aRows[i].cells[j] ; 
    439                                         } 
    440                                 } 
    441  
    442                                 c += iColSpan - 1 ; 
    443                         } 
    444                 } 
    445                 return aMap ; 
    446401        } 
    447402 
     
    499454                        firstCell = cells[ 0 ], 
    500455                        table = firstCell.getAscendant( 'table' ), 
    501                         map = buildTableMap( table ), 
     456                        map = CKEDITOR.tools.buildTableMap( table ), 
    502457                        mapHeight = map.length, 
    503458                        mapWidth = map[ 0 ].length, 
     
    634589                        tr = cell.getParent(), 
    635590                        table = tr.getAscendant( 'table' ), 
    636                         map = buildTableMap( table ), 
     591                        map = CKEDITOR.tools.buildTableMap( table ), 
    637592                        rowIndex = tr.$.rowIndex, 
    638593                        colIndex = cellInRow( map, rowIndex, cell ), 
     
    710665                        tr = cell.getParent(), 
    711666                        table = tr.getAscendant( 'table' ), 
    712                         map = buildTableMap( table ), 
     667                        map = CKEDITOR.tools.buildTableMap( table ), 
    713668                        rowIndex = tr.$.rowIndex, 
    714669                        colIndex = cellInRow( map, rowIndex, cell ), 
     
    11151070        CKEDITOR.plugins.add( 'tabletools', CKEDITOR.plugins.tabletools ); 
    11161071})(); 
     1072 
     1073/** 
     1074 * Create a two-dimension array that reflects the actual layout of table cells, 
     1075 * with cell spans, with mappings to the original td elements. 
     1076 * @param table {CKEDITOR.dom.element} 
     1077 */ 
     1078CKEDITOR.tools.buildTableMap = function ( table ) 
     1079{ 
     1080        var aRows = table.$.rows ; 
     1081 
     1082        // Row and Column counters. 
     1083        var r = -1 ; 
     1084 
     1085        var aMap = []; 
     1086 
     1087        for ( var i = 0 ; i < aRows.length ; i++ ) 
     1088        { 
     1089                r++ ; 
     1090                !aMap[r] && ( aMap[r] = [] ); 
     1091 
     1092                var c = -1 ; 
     1093 
     1094                for ( var j = 0 ; j < aRows[i].cells.length ; j++ ) 
     1095                { 
     1096                        var oCell = aRows[i].cells[j] ; 
     1097 
     1098                        c++ ; 
     1099                        while ( aMap[r][c] ) 
     1100                                c++ ; 
     1101 
     1102                        var iColSpan = isNaN( oCell.colSpan ) ? 1 : oCell.colSpan ; 
     1103                        var iRowSpan = isNaN( oCell.rowSpan ) ? 1 : oCell.rowSpan ; 
     1104 
     1105                        for ( var rs = 0 ; rs < iRowSpan ; rs++ ) 
     1106                        { 
     1107                                if ( !aMap[r + rs] ) 
     1108                                        aMap[r + rs] = []; 
     1109 
     1110                                for ( var cs = 0 ; cs < iColSpan ; cs++ ) 
     1111                                { 
     1112                                        aMap[r + rs][c + cs] = aRows[i].cells[j] ; 
     1113                                } 
     1114                        } 
     1115 
     1116                        c += iColSpan - 1 ; 
     1117                } 
     1118        } 
     1119        return aMap ; 
     1120}; 
     1121 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy