Fixed some bugs with $paths->getParam() and $paths->get_pageid_from_url() when slashes are in the namespace prefix. Result of testing on Windows Vista + Apache 2.2. Using TortoiseHG
+ − /**
+ − * $Id: editor_plugin_src.js 618 2008-02-21 13:13:32Z spocke $
+ − *
+ − * @author Moxiecode
+ − * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.
+ − */
+ −
+ − (function() {
+ − var Event = tinymce.dom.Event, each = tinymce.each, DOM = tinymce.DOM;
+ −
+ − tinymce.create('tinymce.plugins.ContextMenu', {
+ − init : function(ed) {
+ − var t = this;
+ −
+ − t.editor = ed;
+ − t.onContextMenu = new tinymce.util.Dispatcher(this);
+ −
+ − ed.onContextMenu.add(function(ed, e) {
+ − t._getMenu(ed).showMenu(e.clientX, e.clientY);
+ − Event.cancel(e);
+ − });
+ −
+ − function hide() {
+ − if (t._menu) {
+ − t._menu.removeAll();
+ − t._menu.destroy();
+ − }
+ − };
+ −
+ − ed.onMouseDown.add(hide);
+ − ed.onKeyDown.add(hide);
+ − Event.add(document, 'click', hide);
+ − },
+ −
+ − _getMenu : function(ed) {
+ − var t = this, m = t._menu, se = ed.selection, col = se.isCollapsed(), el = se.getNode() || ed.getBody(), am, p1, p2;
+ −
+ − if (m) {
+ − m.removeAll();
+ − m.destroy();
+ − }
+ −
+ − p1 = DOM.getPos(ed.getContentAreaContainer());
+ − p2 = DOM.getPos(ed.getContainer());
+ −
+ − m = ed.controlManager.createDropMenu('contextmenu', {
+ − offset_x : p1.x,
+ − offset_y : p1.y,
+ − /* vp_offset_x : p2.x,
+ − vp_offset_y : p2.y,*/
+ − constrain : 1
+ − });
+ −
+ − t._menu = m;
+ −
+ − m.add({title : 'advanced.cut_desc', icon : 'cut', cmd : 'Cut'}).setDisabled(col);
+ − m.add({title : 'advanced.copy_desc', icon : 'copy', cmd : 'Copy'}).setDisabled(col);
+ − m.add({title : 'advanced.paste_desc', icon : 'paste', cmd : 'Paste'});
+ −
+ − if ((el.nodeName == 'A' && !ed.dom.getAttrib(el, 'name')) || !col) {
+ − m.addSeparator();
+ − m.add({title : 'advanced.link_desc', icon : 'link', cmd : ed.plugins.advlink ? 'mceAdvLink' : 'mceLink', ui : true});
+ − m.add({title : 'advanced.unlink_desc', icon : 'unlink', cmd : 'UnLink'});
+ − }
+ −
+ − m.addSeparator();
+ − m.add({title : 'advanced.image_desc', icon : 'image', cmd : ed.plugins.advimage ? 'mceAdvImage' : 'mceImage', ui : true});
+ −
+ − m.addSeparator();
+ − am = m.addMenu({title : 'contextmenu.align'});
+ − am.add({title : 'contextmenu.left', icon : 'justifyleft', cmd : 'JustifyLeft'});
+ − am.add({title : 'contextmenu.center', icon : 'justifycenter', cmd : 'JustifyCenter'});
+ − am.add({title : 'contextmenu.right', icon : 'justifyright', cmd : 'JustifyRight'});
+ − am.add({title : 'contextmenu.full', icon : 'justifyfull', cmd : 'JustifyFull'});
+ −
+ − t.onContextMenu.dispatch(t, m, el, col);
+ −
+ − return m;
+ − }
+ − });
+ −
+ − // Register plugin
+ − tinymce.PluginManager.add('contextmenu', tinymce.plugins.ContextMenu);
+ − })();