mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-08-21 21:40:56 +02:00
Committed CKEditor 3.2.1 stock version
This commit is contained in:
94
phpgwapi/js/ckeditor3/_source/plugins/menubutton/plugin.js
Normal file
94
phpgwapi/js/ckeditor3/_source/plugins/menubutton/plugin.js
Normal file
@@ -0,0 +1,94 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
CKEDITOR.plugins.add( 'menubutton',
|
||||
{
|
||||
requires : [ 'button', 'contextmenu' ],
|
||||
beforeInit : function( editor )
|
||||
{
|
||||
editor.ui.addHandler( CKEDITOR.UI_MENUBUTTON, CKEDITOR.ui.menuButton.handler );
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Button UI element.
|
||||
* @constant
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.UI_MENUBUTTON = 5;
|
||||
|
||||
(function()
|
||||
{
|
||||
var clickFn = function( editor )
|
||||
{
|
||||
var _ = this._;
|
||||
|
||||
// Do nothing if this button is disabled.
|
||||
if ( _.state === CKEDITOR.TRISTATE_DISABLED )
|
||||
return;
|
||||
|
||||
_.previousState = _.state;
|
||||
|
||||
// Check if we already have a menu for it, otherwise just create it.
|
||||
var menu = _.menu;
|
||||
if ( !menu )
|
||||
{
|
||||
menu = _.menu = new CKEDITOR.plugins.contextMenu( editor );
|
||||
menu.definition.panel.attributes[ 'aria-label' ] = editor.lang.common.options;
|
||||
|
||||
menu.onHide = CKEDITOR.tools.bind( function()
|
||||
{
|
||||
this.setState( _.previousState );
|
||||
},
|
||||
this );
|
||||
|
||||
// Initialize the menu items at this point.
|
||||
if ( this.onMenu )
|
||||
{
|
||||
menu.addListener( this.onMenu );
|
||||
}
|
||||
}
|
||||
|
||||
if ( _.on )
|
||||
{
|
||||
menu.hide();
|
||||
return;
|
||||
}
|
||||
|
||||
this.setState( CKEDITOR.TRISTATE_ON );
|
||||
|
||||
menu.show( CKEDITOR.document.getById( this._.id ), 4 );
|
||||
};
|
||||
|
||||
|
||||
CKEDITOR.ui.menuButton = CKEDITOR.tools.createClass(
|
||||
{
|
||||
base : CKEDITOR.ui.button,
|
||||
|
||||
$ : function( definition )
|
||||
{
|
||||
// We don't want the panel definition in this object.
|
||||
var panelDefinition = definition.panel;
|
||||
delete definition.panel;
|
||||
|
||||
this.base( definition );
|
||||
|
||||
this.hasArrow = true;
|
||||
|
||||
this.click = clickFn;
|
||||
},
|
||||
|
||||
statics :
|
||||
{
|
||||
handler :
|
||||
{
|
||||
create : function( definition )
|
||||
{
|
||||
return new CKEDITOR.ui.menuButton( definition );
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
})();
|
Reference in New Issue
Block a user