JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-4.1_full
[ckeditor.git] / samples / plugins / toolbar / toolbar.html
index 6f0b044..b0f7179 100644 (file)
@@ -95,6 +95,8 @@ CKEDITOR.replace( <em>'textarea_id'</em>, {
 (function() {\r
        'use strict';\r
 \r
+       var buttonsNames;\r
+\r
        CKEDITOR.config.extraPlugins = 'toolbar';\r
 \r
        CKEDITOR.on( 'instanceReady', function( evt ) {\r
@@ -112,6 +114,9 @@ CKEDITOR.replace( <em>'textarea_id'</em>, {
                                return;\r
                }\r
 \r
+               if ( !buttonsNames )\r
+                       buttonsNames = createButtonsNamesHash( editor.ui.items );\r
+\r
                // Toolbar isn't set explicitly, so it was created automatically from toolbarGroups.\r
                if ( !editor.config.toolbar ) {\r
                        output +=\r
@@ -132,7 +137,6 @@ CKEDITOR.replace( <em>'textarea_id'</em>, {
                CKEDITOR.dom.element.createFromHtml( preOutput ).replace( pre );\r
        } );\r
 \r
-\r
        CKEDITOR.replace( 'editorCurrent', { height: 100 } );\r
        CKEDITOR.replace( 'editorFull', {\r
                // Reset toolbar settings, so full toolbar will be generated automatically.\r
@@ -180,7 +184,35 @@ CKEDITOR.replace( <em>'textarea_id'</em>, {
        function dumpToolbarItems( items ) {\r
                if ( typeof items == 'string' )\r
                        return '\'' + items + '\'';\r
-               return '[ \'' + items.join( '\', \'' ) + '\' ]';\r
+\r
+               var names = [],\r
+                       i, item;\r
+\r
+               for ( var i = 0; i < items.length; ++i ) {\r
+                       item = items[ i ];\r
+                       if ( typeof item == 'string' )\r
+                               names.push( item );\r
+                       else {\r
+                               if ( item.type == CKEDITOR.UI_SEPARATOR )\r
+                                       names.push( '-' );\r
+                               else\r
+                                       names.push( buttonsNames[ item.name ] );\r
+                       }\r
+               }\r
+\r
+               return '[ \'' + names.join( '\', \'' ) + '\' ]';\r
+       }\r
+\r
+       // Creates { 'lowercased': 'LowerCased' } buttons names hash.\r
+       function createButtonsNamesHash( items ) {\r
+               var hash = {},\r
+                       name;\r
+\r
+               for ( name in items ) {\r
+                       hash[ items[ name ].name ] = name;\r
+               }\r
+\r
+               return hash;\r
        }\r
 \r
 })();\r