]> code.citadel.org Git - citadel.git/blob - webcit/tiny_mce/plugins/advhr/editor_plugin_src.js
Upgrade of TinyMCE is in progress.
[citadel.git] / webcit / tiny_mce / plugins / advhr / editor_plugin_src.js
1 /**\r
2  * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $\r
3  *\r
4  * @author Moxiecode\r
5  * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.\r
6  */\r
7 \r
8 /* Import plugin specific language pack */\r
9 tinyMCE.importPluginLanguagePack('advhr');\r
10 \r
11 var TinyMCE_AdvancedHRPlugin = {\r
12         getInfo : function() {\r
13                 return {\r
14                         longname : 'Advanced HR',\r
15                         author : 'Moxiecode Systems AB',\r
16                         authorurl : 'http://tinymce.moxiecode.com',\r
17                         infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr',\r
18                         version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion\r
19                 }\r
20         },\r
21 \r
22         getControlHTML : function(cn) {\r
23                 switch (cn) {\r
24                         case "advhr":\r
25                                 return tinyMCE.getButtonHTML(cn, 'lang_insert_advhr_desc', '{$pluginurl}/images/advhr.gif', 'mceAdvancedHr');\r
26                 }\r
27 \r
28                 return "";\r
29         },\r
30 \r
31         /**\r
32          * Executes the mceAdvanceHr command.\r
33          */\r
34         execCommand : function(editor_id, element, command, user_interface, value) {\r
35                 // Handle commands\r
36                 switch (command) {\r
37                         case "mceAdvancedHr":\r
38                                 var template = new Array();\r
39 \r
40                                 template['file']   = '../../plugins/advhr/rule.htm'; // Relative to theme\r
41                                 template['width']  = 250;\r
42                                 template['height'] = 160;\r
43 \r
44                                 template['width']  += tinyMCE.getLang('lang_advhr_delta_width', 0);\r
45                                 template['height'] += tinyMCE.getLang('lang_advhr_delta_height', 0);\r
46 \r
47                                 var size = "", width = "", noshade = "";\r
48                                 if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "hr") {\r
49                                         tinyMCE.hrElement = tinyMCE.selectedElement;\r
50 \r
51                                         if (tinyMCE.hrElement) {\r
52                                                 size    = tinyMCE.hrElement.getAttribute('size') ? tinyMCE.hrElement.getAttribute('size') : "";\r
53                                                 width   = tinyMCE.hrElement.getAttribute('width') ? tinyMCE.hrElement.getAttribute('width') : "";\r
54                                                 noshade = tinyMCE.hrElement.getAttribute('noshade') ? tinyMCE.hrElement.getAttribute('noshade') : "";\r
55                                         }\r
56 \r
57                                         tinyMCE.openWindow(template, {editor_id : editor_id, size : size, width : width, noshade : noshade, mceDo : 'update'});\r
58                                 } else {\r
59                                         if (tinyMCE.isMSIE) {\r
60                                                 tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false,'<hr />');\r
61                                         } else {\r
62                                                 tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", size : size, width : width, noshade : noshade, mceDo : 'insert'});\r
63                                         }\r
64                                 }\r
65 \r
66                                 return true;\r
67                 }\r
68 \r
69                 // Pass to next handler in chain\r
70                 return false;\r
71         },\r
72 \r
73         handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {\r
74                 if (node == null)\r
75                         return;\r
76 \r
77                 do {\r
78                         if (node.nodeName == "HR") {\r
79                                 tinyMCE.switchClass(editor_id + '_advhr', 'mceButtonSelected');\r
80                                 return true;\r
81                         }\r
82                 } while ((node = node.parentNode));\r
83 \r
84                 tinyMCE.switchClass(editor_id + '_advhr', 'mceButtonNormal');\r
85 \r
86                 return true;\r
87         }\r
88 };\r
89 \r
90 tinyMCE.addPlugin("advhr", TinyMCE_AdvancedHRPlugin);\r