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