summer note lightweight espaƱol descargar bootstrap javascript drop-down-menu ckeditor toolbar

javascript - note - Opciones del grupo de barras de herramientas CkEditor para desplegable



text editor wysiwyg (1)

Tengo una pregunta sobre cómo agrupar algunas opciones de la barra de herramientas de CkEditor en el menú desplegable. Por ejemplo, si agrego esta opción [''JustifyLeft'', ''JustifyCenter'', ''JustifyRight'', ''JustifyBlock''] a la barra de herramientas, obtengo 4 botones. Como creo que esto es un desperdicio de espacio en la barra de herramientas, me gustaría poner las 4 opciones a la lista desplegable, que solo 1 (seleccionado) sería visible.

¿Es eso posible? Encontré esta solución

CKEDITOR.replace( ''editor'', { plugins: ''wysiwygarea,sourcearea,basicstyles,toolbar,menu,menubutton,justify'', on: { pluginsLoaded: function() { var editor = this, items = {}; editor.addMenuGroup( ''some_group'' ); items.justifyleft = { label: editor.lang.justify.left, group: ''some_group'', command: ''justifyleft'', order: 1 }; items.justifyright = { label: editor.lang.justify.right, group: ''some_group'', command: ''justifyright'', order: 2 }; editor.addMenuItems( items ); editor.ui.add( ''Groupped'', CKEDITOR.UI_MENUBUTTON, { label: ''Groupped justify'', // Disable in source mode. modes: { wysiwyg: 1 }, icon: ''JustifyLeft'', onMenu: function() { var active = {}; // Make all items active. for ( var p in items ) active[ p ] = CKEDITOR.TRISTATE_OFF; return active; } } ); } } } );

en http://jsfiddle.net/oleq/vmYCF/ , pero como puede ver, ahora tengo ambas opciones - 4 botones + desplegable, por lo que no es aceptable para mí. Y también en ese caso, no puedo establecer otras barras de herramientas (y no sé por qué no).

Gracias por cualquier ayuda

Atentamente


Pude entender esto, aunque es un poco hacky. Convertí ese código en tu publicación en un complemento, y luego agregué esto al CSS.

.cke_button__justifyleft, .cke_button__justifyright, .cke_button__justifycenter, .cke_button__justifyblock { display: none !important; }

Por alguna razón, el complemento requiere que se cargue el complemento justify y se agregue a la barra de herramientas para que los íconos desplegables en el complemento justifygroup aparezcan correctamente. Ocultar los 4 botones extra es el truco.

Aquí está el plugin:

CKEDITOR.plugins.add( ''justifygroup'', { // jscs:disable maximumLineLength requires: "wysiwygarea,basicstyles,toolbar,menu,menubutton,justify", lang: ''af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn'', // %REMOVE_LINE_CORE% // jscs:enable maximumLineLength hidpi: true, // %REMOVE_LINE_CORE% tabToOpen:null, init: function( editor ) { if ( editor.blockless ) return; items = {}; editor.addMenuGroup( ''some_group'' ); items.justifyleft = { label: editor.lang.justify.left, group: ''some_group'', command: ''justifyleft'', order: 1 }; items.justifycenter = { label: editor.lang.justify.center, group: ''some_group'', command: ''justifycenter'', order: 2 }; items.justifyright = { label: editor.lang.justify.right, group: ''some_group'', command: ''justifyright'', order: 3 }; items.justifyblock = { label: editor.lang.justify.block, group: ''some_group'', command: ''justifyblock'', order: 4 }; if (editor.addMenuItems) { editor.addMenuItems( items ); } editor.ui.add( ''Grouped'', CKEDITOR.UI_MENUBUTTON, { label: ''Grouped justify'', icon: ''JustifyLeft'', toolbar: "align", modes: { wysiwyg: 1 }, onMenu: function() { var active = {}; // Make all items active. for ( var p in items ) active[ p ] = CKEDITOR.TRISTATE_OFF; return active; } } ); } } );