Changeset 838


Ignore:
Timestamp:
09/17/07 12:37:28 (8 years ago)
Author:
martinkou
Message:

Removed FCKDomRange.GetParagraphs() and its associated test cases.

Location:
FCKeditor/trunk
Files:
1 deleted
1 edited

Legend:

Unmodified
Added
Removed
  • FCKeditor/trunk/editor/_source/classes/fckdomrange.js

    r834 r838  
    732732        },
    733733
    734         // TODO : Remove this one, in favor of FCKDomRangeIterator.GetNextParagraph.
    735         GetParagraphs : function( forceBreakBr )
    736         {
    737                 var retval = [] ;
    738 
    739                 // Get and "expanded" clone of this range.
    740                 var range = this.Clone() ;
    741                 if ( forceBreakBr )
    742                         range.Expand( 'list_contents' ) ;
    743                 else
    744                         range.Expand( 'block_contents' ) ;
    745 
    746                 var currentNode = range.StartNode || range.StartContainer ;
    747                 var lastNode    = range.EndNode || range.EndContainer.lastChild || range.EndContainer ;
    748 
    749                 var boundarySet = FCKListsLib.BlockBoundaries ;
    750                 if ( forceBreakBr )
    751                         boundarySet = FCKListsLib.ListBoundaries ;
    752 
    753                 // Let's reuse this range
    754                 range = null ;
    755 
    756                 while ( currentNode )
    757                 {
    758                         // closeRange indicates that a paragraph boundary has been found,
    759                         // so the range must be appended to the list.
    760                         var closeRange = false ;
    761 
    762                         var continueFromSibling = false ;
    763 
    764                         // includeNode indicates that the current node is good to be part
    765                         // of the range.
    766                         var includeNode = ( currentNode.nodeType != 1 ) ;
    767 
    768                         // If it is an element node, let's check if it can be part of the
    769                         // range.
    770                         if ( !includeNode )
    771                         {
    772                                 var nodeName = currentNode.nodeName.toLowerCase() ;
    773 
    774                                 if ( boundarySet[ nodeName ] )
    775                                 {
    776                                         // <br> boundaries must be part of the range. It will
    777                                         // happen only if EnterMode='br'.
    778                                         if ( nodeName == 'br' )
    779                                                 includeNode = true ;
    780 
    781                                         closeRange = true ;
    782                                 }
    783                                 else
    784                                 {
    785                                         // If we have child nodes, let's check them.
    786                                         if ( currentNode.firstChild )
    787                                         {
    788                                                 currentNode = currentNode.firstChild ;
    789                                                 continue ;
    790                                         }
    791                                         includeNode = true ;
    792                                 }
    793                         }
    794                         else if ( currentNode.nodeType == 3 )
    795                         {
    796                                 // Ignore normal whitespaces (i.e. not including &nbsp; or
    797                                 // other unicode whitespaces) before/after a block node.
    798                                 if ( /^[\r\n\t ]+$/.test( currentNode.nodeValue ) )
    799                                         includeNode = false ;
    800                         }
    801 
    802                         // The current node is good to be part of the range and we are
    803                         // starting a new range, initialize it first.
    804                         if ( includeNode && !range )
    805                         {
    806                                 range = new FCKDomRange( this.Window ) ;
    807                                 range.SetStart( currentNode, 3, true ) ;
    808                         }
    809 
    810                         // If we are in an element boundary, let's check if it is time
    811                         // to close the range, otherwise we include the parent within it.
    812                         if ( range && !closeRange )
    813                         {
    814                                 var parentNode = currentNode.parentNode ;
    815                                 while ( currentNode == parentNode.lastChild && currentNode != lastNode )
    816                                 {
    817                                         if ( boundarySet[ parentNode.nodeName.toLowerCase() ] )
    818                                         {
    819                                                 closeRange = true ;
    820                                                 break ;
    821                                         }
    822 
    823                                         currentNode = parentNode ;
    824                                         continueFromSibling = true ;
    825                                 }
    826                         }
    827 
    828                         // Now finally include the node.
    829                         if ( includeNode )
    830                                 range.SetEnd( currentNode, 4, true ) ;
    831 
    832                         // We have found a block boundary. Let's add the range to the list,
    833                         // and prepare it for the next one.
    834                         if ( ( closeRange || currentNode == lastNode ) && range )
    835                         {
    836                                 range._UpdateElementInfo() ;
    837                                 retval.push( range ) ;
    838                                 range = null ;
    839                         }
    840 
    841                         // Stop processing if this is the last one.
    842                         if ( currentNode == lastNode )
    843                                 break ;
    844 
    845                         currentNode = FCKDomTools.GetNextSourceNode( currentNode, continueFromSibling ) ;
    846                 }
    847 
    848                 return retval ;
    849         },
    850 
    851734        GetText : function()
    852735        {
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2015 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy