      1 /*
      2 Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
      3 For licensing, see LICENSE.html or http://ckeditor.com/license
      4 */
      5
      6 CKEDITOR.plugins.add( 'table',
      7 {
      8 	init : function( editor )
      9 	{
     10 		var table = CKEDITOR.plugins.table,
     11 			lang = editor.lang.table;
     12
     13 		editor.addCommand( 'table', new CKEDITOR.dialogCommand( 'table' ) );
     14 		editor.addCommand( 'tableProperties', new CKEDITOR.dialogCommand( 'tableProperties' ) );
     15
     16 		editor.ui.addButton( 'Table',
     17 			{
     18 				label : lang.toolbar,
     19 				command : 'table'
     20 			});
     21
     22 		CKEDITOR.dialog.add( 'table', this.path + 'dialogs/table.js' );
     23 		CKEDITOR.dialog.add( 'tableProperties', this.path + 'dialogs/table.js' );
     24
     25 		// If the "menu" plugin is loaded, register the menu items.
     26 		if ( editor.addMenuItems )
     27 		{
     28 			editor.addMenuItems(
     29 				{
     30 					table :
     31 					{
     32 						label : lang.menu,
     33 						command : 'tableProperties',
     34 						group : 'table',
     35 						order : 5
     36 					},
     37
     38 					tabledelete :
     39 					{
     40 						label : lang.deleteTable,
     41 						command : 'tableDelete',
     42 						group : 'table',
     43 						order : 1
     44 					}
     45 				} );
     46 		}
     47
     48 		// If the "contextmenu" plugin is loaded, register the listeners.
     49 		if ( editor.contextMenu )
     50 		{
     51 			editor.contextMenu.addListener( function( element, selection )
     52 				{
     53 					if ( !element )
     54 						return null;
     55
     56 					var isTable	= element.is( 'table' ) || element.hasAscendant( 'table' );
     57
     58 					if ( isTable )
     59 					{
     60 						return {
     61 							tabledelete : CKEDITOR.TRISTATE_OFF,
     62 							table : CKEDITOR.TRISTATE_OFF
     63 						};
     64 					}
     65
     66 					return null;
     67 				} );
     68 		}
     69 	}
     70 } );
     71