Changeset 2198 for FCKeditor/branches
- Timestamp:
- 2008-07-09 06:41:00 (5 months ago)
- Location:
- FCKeditor/branches/features/div_container/editor
- Files:
-
- 2 modified
-
dialog/fck_div.html (modified) (3 diffs)
-
_source/internals/fck_contextmenu.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
FCKeditor/branches/features/div_container/editor/dialog/fck_div.html
r2197 r2198 39 39 var FCKDomTools = oEditor.FCKDomTools ; 40 40 var FCKDomRangeIterator = oEditor.FCKDomRangeIterator ; 41 var FCKListsLib = oEditor.FCKListsLib ; 41 42 var AlwaysCreate = dialog.Args().CustomValue ; 42 43 … … 68 69 var startNode = range.StartNode ; 69 70 var endNode = range.EndNode ; 71 var elementMarkers = {} ; 72 73 var startPath = new FCKElementPath( startNode ) ; 74 if ( startPath.BlockLimit && startPath.BlockLimit.nodeName.IEquals( 'div' ) ) 75 startNode = startPath.BlockLimit ; 70 76 var currentNode = startNode ; 71 var elementMarkers = {} ;72 77 73 78 do 74 79 { 75 80 if ( currentNode.nodeName.IEquals( 'div' ) && currentNode.firstChild && 76 oEditor.FCKListsLib.BlockElements[ currentNode.firstChild.nodeName.toLowerCase() ] )81 FCKListsLib.BlockElements[ currentNode.firstChild.nodeName.toLowerCase() ] ) 77 82 { 78 83 CurrentContainers.push( currentNode ) ; 79 84 if ( currentNode.parentNode.nodeName.IEquals( 'div' ) ) 80 FCKDomTools.SetElementMarker( elementMarkers, currentNode, '_fckignorethisnode', true ) ; 85 FCKDomTools.SetElementMarker( elementMarkers, currentNode.parentNode, 86 '_fckignorethisnode', true ) ; 81 87 } 82 88 } … … 89 95 CurrentContainers.splice( i, 1 ) ; 90 96 } 97 98 FCKDomTools.ClearAllMarkers( elementMarkers ) ; 91 99 } 92 100 -
FCKeditor/branches/features/div_container/editor/_source/internals/fck_contextmenu.js
r2171 r2198 298 298 AddItems : function( menu, tag, tagName ) 299 299 { 300 var path = new FCKElementPath( FCKSelection.GetSelectedElement() || FCKSelection.GetParentElement() ) ; 301 if ( path.BlockLimit && path.BlockLimit.nodeName.IEquals( 'div' ) ) 300 var currentBlocks = [] ; 301 var range = new FCKDomRange( FCK.EditorWindow ) ; 302 range.MoveToSelection() ; 303 304 var startNode = range.StartNode ; 305 var endNode = range.EndNode ; 306 var elementMarkers = {} ; 307 308 var startPath = new FCKElementPath( startNode ) ; 309 if ( startPath.BlockLimit && startPath.BlockLimit.nodeName.IEquals( 'div' ) ) 310 startNode = startPath.BlockLimit ; 311 var currentNode = startNode ; 312 313 do 314 { 315 if ( currentNode.nodeName.IEquals( 'div' ) && currentNode.firstChild && 316 FCKListsLib.BlockElements[ currentNode.firstChild.nodeName.toLowerCase() ] ) 317 { 318 currentBlocks.push( currentNode ) ; 319 if ( currentNode.parentNode.nodeName.IEquals( 'div' ) ) 320 FCKDomTools.SetElementMarker( elementMarkers, currentNode.parentNode, 321 '_fckignorethisnode', true ) ; 322 } 323 } 324 while ( ( currentNode = FCKDomTools.GetNextSourceElement( currentNode ) ) && currentNode != endNode 325 && currentNode != endNode.parentNode ) ; 326 327 for ( var i = currentBlocks.length - 1 ; i >= 0 ; i-- ) 328 { 329 if ( currentBlocks[i]['_fckignorethisnode'] ) 330 currentBlocks.splice( i, 1 ) ; 331 } 332 333 FCKDomTools.ClearAllMarkers( elementMarkers ) ; 334 335 if ( currentBlocks.length > 0 ) 302 336 { 303 337 menu.AddSeparator() ;