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