Changeset 6701


Ignore:
Timestamp:
04/19/2011 12:09:21 PM (4 years ago)
Author:
garry.yao
Message:

Better elements path bar support.

Location:
CKEditor/branches/features/bbcode/_source/plugins
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/branches/features/bbcode/_source/plugins/bbcode/plugin.js

    r6700 r6701  
    889889                                        filters.push( function( element ) 
    890890                                                { 
    891                                                         return element.getName() in tagnameMap; 
    892                                                 } ); 
    893  
    894                                   // User friendly presentation as BBCode names. 
    895                                   if ( map = editor._.elementsPath.nameMap ) 
    896                                           CKEDITOR.tools.extend( map, tagnameMap, true ); 
     891                                                        var htmlName = element.getName(), 
     892                                                                name = tagnameMap[ htmlName ] || false; 
     893 
     894                                                        // Specialized anchor presents as email. 
     895                                                        if ( name == 'link' && element.getAttribute( 'href' ).indexOf( 'mailto:' ) == 0 ) 
     896                                                                name = 'email'; 
     897                                                        // Styled span could be either size or color. 
     898                                                        else if ( htmlName == 'span' ) 
     899                                                        { 
     900                                                                if ( element.getStyle( 'font-size' ) ) 
     901                                                                        name = 'size'; 
     902                                                                else if ( element.getStyle( 'color' ) ) 
     903                                                                        name = 'color'; 
     904                                                        } 
     905 
     906                                                        return name; 
     907                                                }); 
    897908                          } 
    898909                  } 
  • CKEditor/branches/features/bbcode/_source/plugins/elementspath/plugin.js

    r6504 r6701  
    4646                        var idBase = 'cke_elementspath_' + CKEDITOR.tools.getNextNumber() + '_'; 
    4747 
    48                         editor._.elementsPath = { idBase : idBase, filters : [], nameMap: {} }; 
     48                        editor._.elementsPath = { idBase : idBase, filters : [] }; 
    4949 
    5050                        editor.on( 'themeSpace', function( event ) 
     
    120120                                                editor = ev.editor, 
    121121                                                elementsList = editor._.elementsPath.list = [], 
    122                                                 filters = editor._.elementsPath.filters, 
    123                                                 nameMap = editor._.elementsPath.nameMap || {}; 
     122                                                filters = editor._.elementsPath.filters; 
    124123 
    125124                                        while ( element ) 
    126125                                        { 
    127                                                 var ignore = 0; 
     126                                                var ignore = 0, 
     127                                                        name; 
     128 
     129                                                if ( element.data( 'cke-real-element-type' ) ) 
     130                                                        name = element.data( 'cke-real-element-type' ); 
     131                                                else 
     132                                                        name = element.getName(); 
     133 
    128134                                                for ( var i = 0; i < filters.length; i++ ) 
    129135                                                { 
    130                                                         if ( filters[ i ]( element ) === false ) 
     136                                                        var ret = filters[ i ]( element, name ); 
     137                                                        if ( ret === false ) 
    131138                                                        { 
    132139                                                                ignore = 1; 
    133140                                                                break; 
    134141                                                        } 
     142                                                        name = ret || name; 
    135143                                                } 
    136144 
     
    138146                                                { 
    139147                                                        var index = elementsList.push( element ) - 1; 
    140                                                         var name; 
    141                                                         if ( element.data( 'cke-real-element-type' ) ) 
    142                                                                 name = element.data( 'cke-real-element-type' ); 
    143                                                         else 
    144                                                                 name = element.getName(); 
    145  
    146                                                         // Map to display name if any, e.g. ol -> list 
    147                                                         name = nameMap[ name ] || name; 
    148148 
    149149                                                        // Use this variable to add conditional stuff to the 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy