annotate static/js/tiny_mce/plugins/advlink/editor_plugin_src.js @ 467:b910cc1460c8

Add the ability to conditionally add model instances to the search index on update. This is not perfect, as some instances should be deleted from the index if they are updated such that they should not be in the index anymore. Will think about and address that later.
author Brian Neal <bgneal@gmail.com>
date Sun, 24 Jul 2011 18:12:20 +0000
parents 88b2b9cb8c1f
children
rev   line source
bgneal@312 1 /**
bgneal@312 2 * editor_plugin_src.js
bgneal@312 3 *
bgneal@312 4 * Copyright 2009, Moxiecode Systems AB
bgneal@312 5 * Released under LGPL License.
bgneal@312 6 *
bgneal@312 7 * License: http://tinymce.moxiecode.com/license
bgneal@312 8 * Contributing: http://tinymce.moxiecode.com/contributing
bgneal@312 9 */
bgneal@312 10
bgneal@312 11 (function() {
bgneal@312 12 tinymce.create('tinymce.plugins.AdvancedLinkPlugin', {
bgneal@312 13 init : function(ed, url) {
bgneal@312 14 this.editor = ed;
bgneal@312 15
bgneal@312 16 // Register commands
bgneal@312 17 ed.addCommand('mceAdvLink', function() {
bgneal@312 18 var se = ed.selection;
bgneal@312 19
bgneal@312 20 // No selection and not in link
bgneal@312 21 if (se.isCollapsed() && !ed.dom.getParent(se.getNode(), 'A'))
bgneal@312 22 return;
bgneal@312 23
bgneal@312 24 ed.windowManager.open({
bgneal@312 25 file : url + '/link.htm',
bgneal@312 26 width : 480 + parseInt(ed.getLang('advlink.delta_width', 0)),
bgneal@312 27 height : 400 + parseInt(ed.getLang('advlink.delta_height', 0)),
bgneal@312 28 inline : 1
bgneal@312 29 }, {
bgneal@312 30 plugin_url : url
bgneal@312 31 });
bgneal@312 32 });
bgneal@312 33
bgneal@312 34 // Register buttons
bgneal@312 35 ed.addButton('link', {
bgneal@312 36 title : 'advlink.link_desc',
bgneal@312 37 cmd : 'mceAdvLink'
bgneal@312 38 });
bgneal@312 39
bgneal@312 40 ed.addShortcut('ctrl+k', 'advlink.advlink_desc', 'mceAdvLink');
bgneal@312 41
bgneal@312 42 ed.onNodeChange.add(function(ed, cm, n, co) {
bgneal@312 43 cm.setDisabled('link', co && n.nodeName != 'A');
bgneal@312 44 cm.setActive('link', n.nodeName == 'A' && !n.name);
bgneal@312 45 });
bgneal@312 46 },
bgneal@312 47
bgneal@312 48 getInfo : function() {
bgneal@312 49 return {
bgneal@312 50 longname : 'Advanced link',
bgneal@312 51 author : 'Moxiecode Systems AB',
bgneal@312 52 authorurl : 'http://tinymce.moxiecode.com',
bgneal@312 53 infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink',
bgneal@312 54 version : tinymce.majorVersion + "." + tinymce.minorVersion
bgneal@312 55 };
bgneal@312 56 }
bgneal@312 57 });
bgneal@312 58
bgneal@312 59 // Register plugin
bgneal@312 60 tinymce.PluginManager.add('advlink', tinymce.plugins.AdvancedLinkPlugin);
bgneal@312 61 })();