app/tiny_mce/plugins/advlink/editor_plugin_src.js
author Lennard de Rijk <ljvderijk@gmail.com>
Sun, 15 Mar 2009 16:10:19 +0000
changeset 1873 bbd4fa245285
parent 154 d2377425d3f2
permissions -rwxr-xr-x
Added the Follower Logic Module. Patch by: Lennard de Rijk Reviewed by: to-be-reviewed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
126
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
     1
/**
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
     2
 * $Id: editor_plugin_src.js 539 2008-01-14 19:08:58Z spocke $
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
     3
 *
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
     4
 * @author Moxiecode
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
     5
 * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
     6
 */
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
     7
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
     8
(function() {
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
     9
	tinymce.create('tinymce.plugins.AdvancedLinkPlugin', {
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    10
		init : function(ed, url) {
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    11
			this.editor = ed;
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    12
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    13
			// Register commands
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    14
			ed.addCommand('mceAdvLink', function() {
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    15
				var se = ed.selection;
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    16
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    17
				// No selection and not in link
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    18
				if (se.isCollapsed() && !ed.dom.getParent(se.getNode(), 'A'))
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    19
					return;
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    20
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    21
				ed.windowManager.open({
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    22
					file : url + '/link.htm',
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    23
					width : 480 + parseInt(ed.getLang('advlink.delta_width', 0)),
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    24
					height : 400 + parseInt(ed.getLang('advlink.delta_height', 0)),
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    25
					inline : 1
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    26
				}, {
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    27
					plugin_url : url
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    28
				});
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    29
			});
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    30
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    31
			// Register buttons
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    32
			ed.addButton('link', {
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    33
				title : 'advlink.link_desc',
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    34
				cmd : 'mceAdvLink'
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    35
			});
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    36
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    37
			ed.addShortcut('ctrl+k', 'advlink.advlink_desc', 'mceAdvLink');
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    38
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    39
			ed.onNodeChange.add(function(ed, cm, n, co) {
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    40
				cm.setDisabled('link', co && n.nodeName != 'A');
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    41
				cm.setActive('link', n.nodeName == 'A' && !n.name);
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    42
			});
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    43
		},
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    44
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    45
		getInfo : function() {
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    46
			return {
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    47
				longname : 'Advanced link',
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    48
				author : 'Moxiecode Systems AB',
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    49
				authorurl : 'http://tinymce.moxiecode.com',
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    50
				infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink',
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    51
				version : tinymce.majorVersion + "." + tinymce.minorVersion
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    52
			};
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    53
		}
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    54
	});
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    55
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    56
	// Register plugin
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    57
	tinymce.PluginManager.add('advlink', tinymce.plugins.AdvancedLinkPlugin);
6186c115a210 Added TinyMCE to Melange in soc/content/js
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    58
})();