Ticket #1648: 1648.patch
File 1648.patch, 4.2 KB (added by , 16 years ago) |
---|
-
fckplugin.js
10 10 "_MaximumX" : null, 11 11 "_LastX" : null, 12 12 "_TableMap" : null, 13 "_doc" : document, 13 14 "_IsInsideNode" : function( w, domNode, pos ) 14 15 { 15 16 var myCoords = FCKTools.GetWindowPosition( w, domNode ) ; … … 99 100 100 101 // Calculate maximum and minimum x-coordinate delta. 101 102 var borderIndex = FCKDragTableHandler._GetResizeBarPosition() ; 102 var offset = FCK Tools.GetDocumentPosition( window, FCK.EditingArea.IFrame ) ;103 var offset = FCKDragTableHandler._GetIframeOffset(); 103 104 var table = FCKTools.GetElementAscensor( FCKDragTableHandler._LeftCell, "table" ); 104 105 var minX = null ; 105 106 var maxX = null ; … … 309 310 var mouseY = evt.clientY ; 310 311 if ( node.ownerDocument == document ) 311 312 { 312 var offset = FCKTools.GetDocumentPosition( window, FCK.EditingArea.IFrame) ;313 var offset = this._GetIframeOffset() ; 313 314 mouseX -= offset.x ; 314 315 mouseY -= offset.y ; 315 316 } … … 373 374 var node = evt.srcElement || evt.target ; 374 375 if ( node.ownerDocument == FCK.EditorDocument ) 375 376 { 376 var offset = FCKTools.GetDocumentPosition( window, FCK.EditingArea.IFrame) ;377 var offset = this._GetIframeOffset() ; 377 378 mouse.x += offset.x ; 378 379 mouse.y += offset.y ; 379 380 } … … 392 393 { 393 394 if ( this._ResizeBar == null ) 394 395 { 395 this._ResizeBar = document.createElement( "div" ) ;396 this._ResizeBar = this._doc.createElement( "div" ) ; 396 397 var paddingBar = this._ResizeBar ; 397 398 var paddingStyles = { 'position' : 'absolute', 'cursor' : 'e-resize' } ; 398 399 if ( FCKBrowserInfo.IsIE ) … … 400 401 else 401 402 paddingStyles.opacity = 0.10 ; 402 403 FCKDomTools.SetElementStyles( paddingBar, paddingStyles ) ; 403 document.body.appendChild( paddingBar ) ; 404 this._avoidStyles( paddingBar ); 405 paddingBar.setAttribute('_fcktemp', true); 406 this._doc.body.appendChild( paddingBar ) ; 404 407 FCKTools.AddEventListener( paddingBar, "mousemove", this._ResizeBarMouseMoveListener ) ; 405 408 FCKTools.AddEventListener( paddingBar, "mousedown", this._ResizeBarMouseDownListener ) ; 406 409 FCKTools.AddEventListener( document, "mouseup", this._ResizeBarMouseUpListener ) ; … … 408 411 409 412 // IE doesn't let the tranparent part of the padding block to receive mouse events unless there's something inside. 410 413 // So we need to create a spacer image to fill the block up. 411 var filler = document.createElement( "img" ) ; 414 var filler = this._doc.createElement( "img" ) ; 415 filler.setAttribute('_fcktemp', true); 412 416 filler.border = 0 ; 413 417 filler.src = FCKConfig.BasePath + "images/spacer.gif" ; 414 418 filler.style.position = "absolute" ; … … 429 433 } 430 434 431 435 var paddingBar = this._ResizeBar ; 432 var offset = FCKTools.GetDocumentPosition( window, FCK.EditingArea.IFrame) ;433 var tablePos = FCKTools.GetWindowPosition( w, table ) ;436 var offset = this._GetIframeOffset() ; 437 var tablePos = this._GetTablePosition( w, table ) ; 434 438 var barHeight = table.offsetHeight ; 435 439 var barTop = offset.y + tablePos.y ; 436 440 // Do not let the resize bar intrude into the toolbar area. … … 471 475 var visibleBar = null ; 472 476 if ( paddingBar.getElementsByTagName( "div" ).length < 1 ) 473 477 { 474 visibleBar = document.createElement( "div" ) ; 478 visibleBar = this._doc.createElement( "div" ) ; 479 this._avoidStyles( visibleBar ); 480 visibleBar.setAttribute('_fcktemp', true); 475 481 paddingBar.appendChild( visibleBar ) ; 476 482 } 477 483 else … … 497 503 top : '-100000px', 498 504 left : '-100000px' 499 505 } ) ; 506 }, 507 "_GetIframeOffset" : function () 508 { 509 return FCKTools.GetDocumentPosition( window, FCK.EditingArea.IFrame ) ; 510 }, 511 "_GetTablePosition" : function ( w, table ) 512 { 513 return FCKTools.GetWindowPosition( w, table ) ; 514 }, 515 "_avoidStyles" : function( element ) 516 { 517 FCKDomTools.SetElementStyles( element, 518 { 519 padding : '0', 520 backgroundImage : 'none', 521 border : '0' 522 } ) ; 523 524 }, 525 "AfterSetHTML" : function() 526 { 527 FCKDragTableHandler._ResizeBar = null ; 528 FCKDragTableHandler._doc = FCK.EditorDocument ; 500 529 } 530 501 531 }; 502 532 503 533 FCK.Events.AttachEvent( "OnMouseMove", FCKDragTableHandler.MouseMoveListener ) ;