X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fplugins%2Felementspath%2Fplugin.js;h=7b81d61c53eef0adaf5a6c41f0a93be662a537d6;hb=a272c66d841421f8bf933c16535bdcde1c4649fc;hp=4b90c8024de04a7bdfef3e792beec599eedb8529;hpb=4e90e78dc97789709ee7404359a5517540c27553;p=ckeditor.git diff --git a/_source/plugins/elementspath/plugin.js b/_source/plugins/elementspath/plugin.js index 4b90c80..7b81d61 100644 --- a/_source/plugins/elementspath/plugin.js +++ b/_source/plugins/elementspath/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -15,6 +15,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license toolbarFocus : { editorFocus : false, + readOnly : 1, exec : function( editor ) { var idBase = editor._.elementsPath.idBase; @@ -124,24 +125,30 @@ For licensing, see LICENSE.html or http://ckeditor.com/license while ( element ) { - var ignore = 0; + var ignore = 0, + name; + + if ( element.data( 'cke-display-name' ) ) + name = element.data( 'cke-display-name' ); + else if ( element.data( 'cke-real-element-type' ) ) + name = element.data( 'cke-real-element-type' ); + else + name = element.getName(); + for ( var i = 0; i < filters.length; i++ ) { - if ( filters[ i ]( element ) === false ) + var ret = filters[ i ]( element, name ); + if ( ret === false ) { ignore = 1; break; } + name = ret || name; } if ( !ignore ) { var index = elementsList.push( element ) - 1; - var name; - if ( element.data( 'cke-real-element-type' ) ) - name = element.data( 'cke-real-element-type' ); - else - name = element.getName(); // Use this variable to add conditional stuff to the // HTML (because we are doing it in reverse order... unshift). @@ -189,12 +196,14 @@ For licensing, see LICENSE.html or http://ckeditor.com/license editor.fire( 'elementsPathUpdate', { space : space } ); }); - editor.on( 'contentDomUnload', function() - { - // If the spaceElement hasn't been initialized, don't try to do it at this time - // Only reuse existing reference. - spaceElement && spaceElement.setHtml( emptyHtml ); - }); + function empty() + { + spaceElement && spaceElement.setHtml( emptyHtml ); + delete editor._.elementsPath.list; + } + + editor.on( 'readOnly', empty ); + editor.on( 'contentDomUnload', empty ); editor.addCommand( 'elementsPathFocus', commands.toolbarFocus ); }