[1] | 1 | /** |
---|
| 2 | * $Id: editor_plugin_src.js 539 2008-01-14 19:08:58Z spocke $ |
---|
| 3 | * |
---|
| 4 | * @author Moxiecode |
---|
| 5 | * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. |
---|
| 6 | */ |
---|
| 7 | |
---|
| 8 | (function() { |
---|
| 9 | tinymce.create('tinymce.plugins.AdvancedLinkPlugin', { |
---|
| 10 | init : function(ed, url) { |
---|
| 11 | this.editor = ed; |
---|
| 12 | |
---|
| 13 | // Register commands |
---|
| 14 | ed.addCommand('mceAdvLink', function() { |
---|
| 15 | var se = ed.selection; |
---|
| 16 | |
---|
| 17 | // No selection and not in link |
---|
| 18 | if (se.isCollapsed() && !ed.dom.getParent(se.getNode(), 'A')) |
---|
| 19 | return; |
---|
| 20 | |
---|
| 21 | ed.windowManager.open({ |
---|
| 22 | file : url + '/link.htm', |
---|
| 23 | width : 480 + parseInt(ed.getLang('advlink.delta_width', 0)), |
---|
| 24 | height : 400 + parseInt(ed.getLang('advlink.delta_height', 0)), |
---|
| 25 | inline : 1 |
---|
| 26 | }, { |
---|
| 27 | plugin_url : url |
---|
| 28 | }); |
---|
| 29 | }); |
---|
| 30 | |
---|
| 31 | // Register buttons |
---|
| 32 | ed.addButton('link', { |
---|
| 33 | title : 'advlink.link_desc', |
---|
| 34 | cmd : 'mceAdvLink' |
---|
| 35 | }); |
---|
| 36 | |
---|
| 37 | ed.addShortcut('ctrl+k', 'advlink.advlink_desc', 'mceAdvLink'); |
---|
| 38 | |
---|
| 39 | ed.onNodeChange.add(function(ed, cm, n, co) { |
---|
| 40 | cm.setDisabled('link', co && n.nodeName != 'A'); |
---|
| 41 | cm.setActive('link', n.nodeName == 'A' && !n.name); |
---|
| 42 | }); |
---|
| 43 | }, |
---|
| 44 | |
---|
| 45 | getInfo : function() { |
---|
| 46 | return { |
---|
| 47 | longname : 'Advanced link', |
---|
| 48 | author : 'Moxiecode Systems AB', |
---|
| 49 | authorurl : 'http://tinymce.moxiecode.com', |
---|
| 50 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink', |
---|
| 51 | version : tinymce.majorVersion + "." + tinymce.minorVersion |
---|
| 52 | }; |
---|
| 53 | } |
---|
| 54 | }); |
---|
| 55 | |
---|
| 56 | // Register plugin |
---|
| 57 | tinymce.PluginManager.add('advlink', tinymce.plugins.AdvancedLinkPlugin); |
---|
| 58 | })(); |
---|