Changeset 2105


Ignore:
Timestamp:
06/23/2008 11:16:35 AM (6 years ago)
Author:
martinkou
Message:

Improved the logic for retrieving and setting text direction in the div dialog so that it will work correctly in RTL documents.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • FCKeditor/branches/features/div_container/editor/dialog/fck_div.html

    r2104 r2105  
    6969} 
    7070 
     71function GetNearestAncestorDirection( node ) 
     72{ 
     73        var dir = 'ltr' ;       // HTML default. 
     74        while ( ( node = node.parentNode ) ) 
     75        { 
     76                if ( node.dir ) 
     77                        dir = node.dir ; 
     78        } 
     79        return dir ; 
     80} 
     81 
    7182window.onload = function() 
    7283{ 
     
    97108                GetE( 'selStyle' ).value = i ; 
    98109 
     110        // Set the value for other inputs 
    99111        if ( ActiveEl ) 
    100112        { 
     
    104116                GetE( 'txtInlineStyle').value = ActiveEl.getAttribute( 'style' ) ; 
    105117                GetE( 'txtTitle' ).value = ActiveEl.title ; 
    106                 GetE( 'selLangDir').value = ActiveEl.dir ; 
     118                GetE( 'selLangDir').value = ActiveEl.dir || GetNearestAncestorDirection( ActiveEl ) ; 
    107119        } 
    108120} 
     
    128140        } 
    129141 
     142        // Apply modifications to the DIV container according to dialog inputs. 
    130143        setValue( 'class', 'txtClass' ) ; 
    131144        setValue( 'id', 'txtId' ) ; 
     
    136149                setValue( 'style', 'txtInlineStyle' ) ; 
    137150        setValue( 'title', 'txtTitle' ) ; 
    138         setValue( 'dir', 'selLangDir' ) ; 
     151        var dir = GetE( 'selLangDir' ).value ; 
     152        if ( GetNearestAncestorDirection( ActiveEl ) != dir ) 
     153                ActiveEl.dir = dir ; 
     154        else 
     155                ActiveEl.removeAttribute( 'dir' ) ; 
    139156 
    140157        var styleName = GetE( 'selStyle' ).value ; 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy