/static/scripts/tiny_mce/plugins/advlink/editor_plugin_src.js

http://n23.googlecode.com/ · JavaScript · 58 lines · 39 code · 9 blank · 10 comment · 6 complexity · 5a04abfe0db39848e86f155ae5bd3476 MD5 · raw file

  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. (function() {
  8. tinymce.create('tinymce.plugins.AdvancedLinkPlugin', {
  9. init : function(ed, url) {
  10. this.editor = ed;
  11. // Register commands
  12. ed.addCommand('mceAdvLink', function() {
  13. var se = ed.selection;
  14. // No selection and not in link
  15. if (se.isCollapsed() && !ed.dom.getParent(se.getNode(), 'A'))
  16. return;
  17. ed.windowManager.open({
  18. file : url + '/link.htm',
  19. width : 480 + parseInt(ed.getLang('advlink.delta_width', 0)),
  20. height : 400 + parseInt(ed.getLang('advlink.delta_height', 0)),
  21. inline : 1
  22. }, {
  23. plugin_url : url
  24. });
  25. });
  26. // Register buttons
  27. ed.addButton('link', {
  28. title : 'advlink.link_desc',
  29. cmd : 'mceAdvLink'
  30. });
  31. ed.addShortcut('ctrl+k', 'advlink.advlink_desc', 'mceAdvLink');
  32. ed.onNodeChange.add(function(ed, cm, n, co) {
  33. cm.setDisabled('link', co && n.nodeName != 'A');
  34. cm.setActive('link', n.nodeName == 'A' && !n.name);
  35. });
  36. },
  37. getInfo : function() {
  38. return {
  39. longname : 'Advanced link',
  40. author : 'Moxiecode Systems AB',
  41. authorurl : 'http://tinymce.moxiecode.com',
  42. infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink',
  43. version : tinymce.majorVersion + "." + tinymce.minorVersion
  44. };
  45. }
  46. });
  47. // Register plugin
  48. tinymce.PluginManager.add('advlink', tinymce.plugins.AdvancedLinkPlugin);
  49. })();