Changeset 771

Show
Ignore:
Timestamp:
2007-09-04 08:57:39 (12 months ago)
Author:
martinkou
Message:

Undo experimental code changes wrongly committed with [770].

Location:
FCKeditor/trunk/editor/_source
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • FCKeditor/trunk/editor/_source/commandclasses/fcklistcommands.js

    r770 r771  
    3636        Execute : function() 
    3737        { 
    38                 /* 
    3938                if ( FCKBrowserInfo.IsIE && this.GetState() == FCK_TRISTATE_OFF ) 
    4039                { 
    4140                        // IE does not split selected <br> tags when it is making lists. (See #428) 
    4241                        // So, pre-split the blocks for IE. 
    43                         var range = new FCKDomRange( FCK.EditorWindow ) ; 
    44                         range.MoveToSelection() ; 
    45                         var terminals = this._GetIETerminalNodes( range ) ; 
    46                         var selectionStartNode = terminals.start ; 
    47                         var selectionEndNode = terminals.end ; 
    48  
    49                         var brNodes = [] ; 
    50                         var curNode = selectionStartNode ; 
    51                         while ( curNode && curNode != selectionEndNode ) 
    52                         { 
    53                                 if ( curNode.nodeType == 1 && curNode.tagName.toLowerCase() == 'br' ) 
    54                                         brNodes.push( curNode ) ; 
    55                                 curNode = FCKTools.GetNextNode( curNode ) ; 
    56                         } 
    57  
    58                         for ( var i = brNodes.length - 1 ; i >= 0 ; i-- ) 
    59                         { 
    60                                 range.SetStart( brNodes[i], 3 ) ; 
    61                                 range.SetEnd( brNodes[i], 3 ) ; 
    62                                 brNodes[i].parentNode.removeChild( brNodes[i] ) ; 
    63                                 range.SplitBlock() ; 
    64                         } 
    65  
    66                         range.SetStart( selectionStartNode, 1 ) ; 
    67                         range.SetEnd( selectionEndNode, 4 ) ; 
    68                         range.Select() ; 
    69                 } 
    70                 */ 
    71                 FCK.ExecuteNamedCommand( this.Name ) ; 
    72                 /* 
    73                 if ( FCKBrowserInfo.IsIE && this.GetState() == FCK_TRISTATE_OFF && FCKConfig.EnterMode.IEquals( 'br' ) ) 
    74                 { 
    7542                        var range = new FCKDomRange( FCK.EditorWindow ) ; 
    7643                        range.MoveToSelection() ; 
     
    9764                                } 
    9865                        } 
    99                         var startParents = FCKDomTools.GetParents( startNode ) ; 
    100                         var endParents = FCKDomTools.GetParents( endNode ) ; 
    101                         var commonLength = 0 ; 
    102                         while ( startParents[commonLength] == endParents[commonLength] ) 
    103                                 commonLength++ ; 
    104                         if ( startParents.length <= commonLength || endParents.length <= commonLength ) 
    105                                 return ; 
    106                         startNode = startParents[commonLength] ; 
    107                         endNode = endParents[commonLength] ; 
    108                         if ( startNode.parentNode != endNode.parentNode ) 
    109                                 return ; 
    110                         var removedNode = null ; 
     66 
     67                        var brNodes = [] ; 
    11168                        var curNode = startNode ; 
    112                         while ( curNode && ( removedNode != endNode ) ) 
     69                        while ( curNode && curNode != endNode ) 
    11370                        { 
    114                                 if ( curNode != endNode ) 
    115                                         curNode.appendChild( curNode.ownerDocument.createElement( 'br' ) ) ; 
    116                                 var temp = curNode.nextSibling ; 
    117                                 removedNode = curNode.removeNode( false ) ; 
    118                                 curNode = temp ; 
     71                                if ( curNode.nodeType == 1 && curNode.tagName.toLowerCase() == 'br' ) 
     72                                        brNodes.push( curNode ) ; 
     73                                curNode = FCKTools.GetNextNode( curNode ) ; 
    11974                        } 
     75 
     76                        for ( var i = brNodes.length - 1 ; i >= 0 ; i-- ) 
     77                        { 
     78                                range.SetStart( brNodes[i], 3 ) ; 
     79                                range.SetEnd( brNodes[i], 3 ) ; 
     80                                brNodes[i].parentNode.removeChild( brNodes[i] ) ; 
     81                                range.SplitBlock() ; 
     82                        } 
     83 
     84                        range.SetStart( startNode, 1 ) ; 
     85                        range.SetEnd( endNode, 4 ) ; 
     86                        range.Select() ; 
    12087                } 
    121                 */ 
    122         }, 
    123  
    124         _GetIETerminalNodes : function( range ) 
    125         { 
    126                 var startNode = range._Range.startContainer ; 
    127                 var endNode = range._Range.endContainer ; 
    128                 if ( startNode.nodeType == 1 ) 
    129                 { 
    130                         if ( startNode.firstChild ) 
    131                         { 
    132                                 if ( startNode.childNodes.length <= range._Range.startOffset ) 
    133                                         startNode = startNode.lastChild ; 
    134                                 else 
    135                                         startNode = startNode.childNodes[ range._Range.startOffset ] ; 
    136                         } 
    137                 } 
    138                 if ( endNode.nodeType == 1 ) 
    139                 { 
    140                         if ( endNode.firstChild ) 
    141                         { 
    142                                 if ( endNode.childNodes.length <= range._Range.endOffset ) 
    143                                         endNode = endNode.lastChild ; 
    144                                 else 
    145                                         endNode = endNode.childNodes[ range._Range.endOffset ] ; 
    146                         } 
    147                 } 
    148                 return { start : startNode, end : endNode } ; 
     88                FCK.ExecuteNamedCommand( this.Name ) ; 
    14989        } 
    15090}; 
  • FCKeditor/trunk/editor/_source/internals/fckdomtools.js

    r770 r771  
    270270                while ( node ) 
    271271                { 
    272                         parents.unshift( node ) ; 
     272                        parents.splice( 0, 0, node ) ; 
    273273                        node = node.parentNode ; 
    274274                } 
  • FCKeditor/trunk/editor/_source/internals/fcktools.js

    r770 r771  
    477477} 
    478478 
    479 // Perform a one-step DFS walk backwards. 
    480 FCKTools.GetPrevNode = function( node, limitNode ) 
    481 { 
    482         if ( node.previousSibling ) 
    483         { 
    484                 var cursor = node.previousSibling ; 
    485                 while ( cursor.lastChild ) 
    486                         cursor = cursor.lastChild ; 
    487                 return cursor ; 
    488         } 
    489         else 
    490         { 
    491                 if ( node.parentNode == limitNode ) 
    492                         return null ; 
    493                 return node.parentNode ; 
    494         } 
    495 } 
    496  
    497479// Perform a one-step DFS walk. 
    498480FCKTools.GetNextNode = function( node, limitNode )