Sha256: f8b675ebe3a42bc4edcc94ebec10e10fc2126c66cd45019805a1a61e4a261f60

Contents?: true

Size: 1.83 KB

Versions: 87

Compression:

Stored size: 1.83 KB

Contents

/*
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 );
				}
			}
		}
	});
})();

Version data entries

87 entries across 87 versions & 8 rubygems

Version Path
forge-cli-0.1.1 lib/forge/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js
forge-cli-0.1.0 lib/forge/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js
forge-cli-0.0.18 lib/forge/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js
forge-cli-0.0.17 lib/forge/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js
forge-cli-0.0.16 lib/forge/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js
forge-cli-0.0.15 lib/forge/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js
forge-cli-0.0.14 lib/forge/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js
forge-cli-0.0.13 lib/forge/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js
forge-cli-0.0.12 lib/forge/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js
forge-cli-0.0.11 lib/forge/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js
forge-cli-0.0.10 lib/forge/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js
forge-cli-0.0.9 lib/forge/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js
forge-cli-0.0.8 lib/forge/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js
forge-cli-0.0.7 lib/forge/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js
forge-cli-0.0.6 lib/forge/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js
blog_logic-1.4.2 public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js
editorial_logic-1.4.2 public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js
site_logic-1.9.4 public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js
site_logic-1.9.3 public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js
blog_logic-1.4.1 public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js