Ticket #2467: 2467_2.patch

File 2467_2.patch, 2.2 KB (added by Martin Kou, 14 years ago)
  • _whatsnew.html

     
    4343        <p>
    4444                Fixed Bugs:</p>
    4545        <ul>
    46                 <li></li>
     46                <li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2467">#2467</a>] Fixed JavaScript
     47                        error with the fit window command in source mode.</li>
    4748        </ul>
    4849        <p>
    4950                <a href="_whatsnew_history.html">See previous versions history</a></p>
  • editor/_source/commandclasses/fckfitwindow.js

     
    3838        var eParent ;
    3939
    4040        // Save the current selection and scroll position.
    41         var oRange = new FCKDomRange( FCK.EditorWindow ) ;
    42         oRange.MoveToSelection() ;
    43         var oEditorScrollPos = FCKTools.GetScrollPosition( FCK.EditorWindow ) ;
     41        var oRange, oEditorScrollPos ;
     42        if ( FCK.EditMode == FCK_EDITMODE_WYSIWYG )
     43        {
     44                oRange = new FCKDomRange( FCK.EditorWindow ) ;
     45                oRange.MoveToSelection() ;
     46                oEditorScrollPos = FCKTools.GetScrollPosition( FCK.EditorWindow ) ;
     47        }
     48        else
     49        {
     50                var eTextarea = FCK.EditingArea.Textarea ;
     51                oRange = !FCKBrowserInfo.IsIE && [ eTextarea.selectionStart, eTextarea.selectionEnd ] ;
     52                oEditorScrollPos = [ eTextarea.scrollLeft, eTextarea.scrollTop ] ;
     53        }
    4454
    4555        // No original style properties known? Go fullscreen.
    4656        if ( !this.IsMaximized )
     
    167177        FCK.Focus() ;
    168178
    169179        // Restore the selection and scroll position of inside the document.
    170         oRange.Select() ;
    171         FCK.EditorWindow.scrollTo( oEditorScrollPos.X, oEditorScrollPos.Y ) ;
     180        if ( FCK.EditMode == FCK_EDITMODE_WYSIWYG )
     181        {
     182                oRange.Select() ;
     183                FCK.EditorWindow.scrollTo( oEditorScrollPos.X, oEditorScrollPos.Y ) ;
     184        }
     185        else
     186        {
     187                if ( !FCKBrowserInfo.IsIE )
     188                {
     189                        eTextarea.selectionStart = oRange[0] ;
     190                        eTextarea.selectionEnd = oRange[1] ;
     191                }
     192                eTextarea.scrollLeft = oEditorScrollPos[0] ;
     193                eTextarea.scrollTop = oEditorScrollPos[1] ;
     194        }
    172195}
    173196
    174197FCKFitWindow.prototype.GetState = function()
© 2003 – 2022, CKSource sp. z o.o. sp.k. All rights reserved. | Terms of use | Privacy policy