/*\r
-Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.\r
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
For licensing, see LICENSE.html or http://ckeditor.com/license\r
*/\r
\r
{\r
toolbarFocus :\r
{\r
+ editorFocus : false,\r
+ readOnly : 1,\r
exec : function( editor )\r
{\r
var idBase = editor._.elementsPath.idBase;\r
\r
while ( element )\r
{\r
- var ignore = 0;\r
+ var ignore = 0,\r
+ name;\r
+\r
+ if ( element.data( 'cke-display-name' ) )\r
+ name = element.data( 'cke-display-name' );\r
+ else if ( element.data( 'cke-real-element-type' ) )\r
+ name = element.data( 'cke-real-element-type' );\r
+ else\r
+ name = element.getName();\r
+\r
for ( var i = 0; i < filters.length; i++ )\r
{\r
- if ( filters[ i ]( element ) === false )\r
+ var ret = filters[ i ]( element, name );\r
+ if ( ret === false )\r
{\r
ignore = 1;\r
break;\r
}\r
+ name = ret || name;\r
}\r
\r
if ( !ignore )\r
{\r
var index = elementsList.push( element ) - 1;\r
- var name;\r
- if ( element.data( 'cke-real-element-type' ) )\r
- name = element.data( 'cke-real-element-type' );\r
- else\r
- name = element.getName();\r
\r
// Use this variable to add conditional stuff to the\r
// HTML (because we are doing it in reverse order... unshift).\r
editor.fire( 'elementsPathUpdate', { space : space } );\r
});\r
\r
- editor.on( 'contentDomUnload', function()\r
- {\r
- // If the spaceElement hasn't been initialized, don't try to do it at this time\r
- // Only reuse existing reference.\r
- spaceElement && spaceElement.setHtml( emptyHtml );\r
- });\r
+ function empty()\r
+ {\r
+ spaceElement && spaceElement.setHtml( emptyHtml );\r
+ delete editor._.elementsPath.list;\r
+ }\r
+\r
+ editor.on( 'readOnly', empty );\r
+ editor.on( 'contentDomUnload', empty );\r
\r
editor.addCommand( 'elementsPathFocus', commands.toolbarFocus );\r
}\r
});\r
})();\r
+\r
+/**\r
+ * Fired when the contents of the elementsPath are changed\r
+ * @name CKEDITOR.editor#elementsPathUpdate\r
+ * @event\r
+ * @param {Object} eventData.space The elementsPath container\r
+ */\r