--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/contextmenu/plugin.js Wed Jun 17 10:00:10 2015 +0200
@@ -0,0 +1,87 @@
+/**
+ * plugin.js
+ *
+ * Copyright, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://www.tinymce.com/license
+ * Contributing: http://www.tinymce.com/contributing
+ */
+
+/*global tinymce:true */
+
+tinymce.PluginManager.add('contextmenu', function(editor) {
+ var menu, contextmenuNeverUseNative = editor.settings.contextmenu_never_use_native;
+
+ editor.on('contextmenu', function(e) {
+ var contextmenu, doc = editor.getDoc();
+
+ // Block TinyMCE menu on ctrlKey
+ if (e.ctrlKey && !contextmenuNeverUseNative) {
+ return;
+ }
+
+ e.preventDefault();
+
+ /**
+ * WebKit/Blink on Mac has the odd behavior of selecting the target word or line this causes
+ * issues when for example inserting images see: #7022
+ */
+ if (tinymce.Env.mac && tinymce.Env.webkit) {
+ if (e.button == 2 && doc.caretRangeFromPoint) {
+ editor.selection.setRng(doc.caretRangeFromPoint(e.x, e.y));
+ }
+ }
+
+ contextmenu = editor.settings.contextmenu || 'link image inserttable | cell row column deletetable';
+
+ // Render menu
+ if (!menu) {
+ var items = [];
+
+ tinymce.each(contextmenu.split(/[ ,]/), function(name) {
+ var item = editor.menuItems[name];
+
+ if (name == '|') {
+ item = {text: name};
+ }
+
+ if (item) {
+ item.shortcut = ''; // Hide shortcuts
+ items.push(item);
+ }
+ });
+
+ for (var i = 0; i < items.length; i++) {
+ if (items[i].text == '|') {
+ if (i === 0 || i == items.length - 1) {
+ items.splice(i, 1);
+ }
+ }
+ }
+
+ menu = new tinymce.ui.Menu({
+ items: items,
+ context: 'contextmenu'
+ }).addClass('contextmenu').renderTo();
+
+ editor.on('remove', function() {
+ menu.remove();
+ menu = null;
+ });
+ } else {
+ menu.show();
+ }
+
+ // Position menu
+ var pos = {x: e.pageX, y: e.pageY};
+
+ if (!editor.inline) {
+ pos = tinymce.DOM.getPos(editor.getContentAreaContainer());
+ pos.x += e.clientX;
+ pos.y += e.clientY;
+ }
+
+ menu.moveTo(pos.x, pos.y);
+ });
+});
\ No newline at end of file