adding all weblabels from weblabels.fsf.org
[weblabels.fsf.org.git] / www.fsf.org / 20131028 / files / plugins / plonelink / editor_plugin.js
CommitLineData
5a920362 1/**\r
2 * Plone link plugin based on advlink plugin.\r
3 *\r
4 * @author Rob Gietema\r
5 */\r
6\r
7(function() {\r
8 tinymce.create('tinymce.plugins.PloneLinkPlugin', {\r
9 init : function(ed, url) {\r
10 this.editor = ed;\r
11\r
12 // Register commands\r
13 ed.addCommand('mcePloneLink', function() {\r
14 var se = ed.selection;\r
15\r
16 // No selection and not in link\r
17 if (se.isCollapsed() && !ed.dom.getParent(se.getNode(), 'A'))\r
18 return;\r
19\r
20 ed.windowManager.open({\r
21 file : url + '/plonelink.htm',\r
22 width : 820 + parseInt(ed.getLang('plonelink.delta_width', 0)),\r
23 height : 540 + parseInt(ed.getLang('plonelink.delta_height', 0)),\r
24 inline : 1\r
25 }, {\r
26 plugin_url : url\r
27 });\r
28 });\r
29\r
30 // Register buttons\r
31 ed.addButton('link', {\r
32 title : 'advanced.link_desc',\r
33 cmd : 'mcePloneLink'\r
34 });\r
35\r
36 ed.addShortcut('ctrl+k', 'advanced.link_desc', 'mcePloneLink');\r
37\r
38 ed.onNodeChange.add(function(ed, cm, n, co) {\r
39 cm.setDisabled('link', co && n.nodeName != 'A');\r
40 cm.setActive('link', n.nodeName == 'A' && !n.name);\r
41 });\r
42 },\r
43\r
44 getInfo : function() {\r
45 return {\r
46 longname : 'Plone link',\r
47 author : 'Rob Gietema',\r
48 authorurl : 'http://plone.org',\r
49 infourl : 'http://plone.org/products/tinymce',\r
50 version : tinymce.majorVersion + "." + tinymce.minorVersion\r
51 };\r
52 }\r
53 });\r
54\r
55 // Register plugin\r
56 tinymce.PluginManager.add('plonelink', tinymce.plugins.PloneLinkPlugin);\r
57})();