src/pyams_skin/resources/js/ext/tinymce/dev/plugins/layer/plugin.js
changeset 566 a1707c607eec
parent 565 318533413200
child 567 bca1726b1d85
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/layer/plugin.js	Sun Jul 19 02:02:20 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,225 +0,0 @@
-/**
- * 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('layer', function(editor) {
-	function getParentLayer(node) {
-		do {
-			if (node.className && node.className.indexOf('mceItemLayer') != -1) {
-				return node;
-			}
-		} while ((node = node.parentNode));
-	}
-
-	function visualAid(e) {
-		var dom = editor.dom;
-
-		tinymce.each(dom.select('div,p', e), function(e) {
-			if (/^(absolute|relative|fixed)$/i.test(e.style.position)) {
-				if (e.hasVisual) {
-					dom.addClass(e, 'mceItemVisualAid');
-				} else {
-					dom.removeClass(e, 'mceItemVisualAid');
-				}
-
-				dom.addClass(e, 'mceItemLayer');
-			}
-		});
-	}
-
-	function move(d) {
-		var i, z = [], le = getParentLayer(editor.selection.getNode()), ci = -1, fi = -1, nl;
-
-		nl = [];
-		tinymce.walk(editor.getBody(), function(n) {
-			if (n.nodeType == 1 && /^(absolute|relative|static)$/i.test(n.style.position)) {
-				nl.push(n);
-			}
-		}, 'childNodes');
-
-		// Find z-indexes
-		for (i = 0; i < nl.length; i++) {
-			z[i] = nl[i].style.zIndex ? parseInt(nl[i].style.zIndex, 10) : 0;
-
-			if (ci < 0 && nl[i] == le) {
-				ci = i;
-			}
-		}
-
-		if (d < 0) {
-			// Move back
-
-			// Try find a lower one
-			for (i = 0; i < z.length; i++) {
-				if (z[i] < z[ci]) {
-					fi = i;
-					break;
-				}
-			}
-
-			if (fi > -1) {
-				nl[ci].style.zIndex = z[fi];
-				nl[fi].style.zIndex = z[ci];
-			} else {
-				if (z[ci] > 0) {
-					nl[ci].style.zIndex = z[ci] - 1;
-				}
-			}
-		} else {
-			// Move forward
-
-			// Try find a higher one
-			for (i = 0; i < z.length; i++) {
-				if (z[i] > z[ci]) {
-					fi = i;
-					break;
-				}
-			}
-
-			if (fi > -1) {
-				nl[ci].style.zIndex = z[fi];
-				nl[fi].style.zIndex = z[ci];
-			} else {
-				nl[ci].style.zIndex = z[ci] + 1;
-			}
-		}
-
-		editor.execCommand('mceRepaint');
-	}
-
-	function insertLayer() {
-		var dom = editor.dom, p = dom.getPos(dom.getParent(editor.selection.getNode(), '*'));
-		var body = editor.getBody();
-
-		editor.dom.add(body, 'div', {
-			style: {
-				position: 'absolute',
-				left: p.x,
-				top: (p.y > 20 ? p.y : 20),
-				width: 100,
-				height: 100
-			},
-			'class': 'mceItemVisualAid mceItemLayer'
-		}, editor.selection.getContent() || editor.getLang('layer.content'));
-
-		// Workaround for IE where it messes up the JS engine if you insert a layer on IE 6,7
-		if (tinymce.Env.ie) {
-			dom.setHTML(body, body.innerHTML);
-		}
-	}
-
-	function toggleAbsolute() {
-		var le = getParentLayer(editor.selection.getNode());
-
-		if (!le) {
-			le = editor.dom.getParent(editor.selection.getNode(), 'DIV,P,IMG');
-		}
-
-		if (le) {
-			if (le.style.position.toLowerCase() == "absolute") {
-				editor.dom.setStyles(le, {
-					position: '',
-					left: '',
-					top: '',
-					width: '',
-					height: ''
-				});
-
-				editor.dom.removeClass(le, 'mceItemVisualAid');
-				editor.dom.removeClass(le, 'mceItemLayer');
-			} else {
-				if (!le.style.left) {
-					le.style.left = 20 + 'px';
-				}
-
-				if (!le.style.top) {
-					le.style.top = 20 + 'px';
-				}
-
-				if (!le.style.width) {
-					le.style.width = le.width ? (le.width + 'px') : '100px';
-				}
-
-				if (!le.style.height) {
-					le.style.height = le.height ? (le.height + 'px') : '100px';
-				}
-
-				le.style.position = "absolute";
-
-				editor.dom.setAttrib(le, 'data-mce-style', '');
-				editor.addVisual(editor.getBody());
-			}
-
-			editor.execCommand('mceRepaint');
-			editor.nodeChanged();
-		}
-	}
-
-	// Register commands
-	editor.addCommand('mceInsertLayer', insertLayer);
-
-	editor.addCommand('mceMoveForward', function() {
-		move(1);
-	});
-
-	editor.addCommand('mceMoveBackward', function() {
-		move(-1);
-	});
-
-	editor.addCommand('mceMakeAbsolute', function() {
-		toggleAbsolute();
-	});
-
-	// Register buttons
-	editor.addButton('moveforward', {title: 'layer.forward_desc', cmd: 'mceMoveForward'});
-	editor.addButton('movebackward', {title: 'layer.backward_desc', cmd: 'mceMoveBackward'});
-	editor.addButton('absolute', {title: 'layer.absolute_desc', cmd: 'mceMakeAbsolute'});
-	editor.addButton('insertlayer', {title: 'layer.insertlayer_desc', cmd: 'mceInsertLayer'});
-
-	editor.on('init', function() {
-		if (tinymce.Env.ie) {
-			editor.getDoc().execCommand('2D-Position', false, true);
-		}
-	});
-
-	// Remove serialized styles when selecting a layer since it might be changed by a drag operation
-	editor.on('mouseup', function(e) {
-		var layer = getParentLayer(e.target);
-
-		if (layer) {
-			editor.dom.setAttrib(layer, 'data-mce-style', '');
-		}
-	});
-
-	// Fixes edit focus issues with layers on Gecko
-	// This will enable designMode while inside a layer and disable it when outside
-	editor.on('mousedown', function(e) {
-		var node = e.target, doc = editor.getDoc(), parent;
-
-		if (tinymce.Env.gecko) {
-			if (getParentLayer(node)) {
-				if (doc.designMode !== 'on') {
-					doc.designMode = 'on';
-
-					// Repaint caret
-					node = doc.body;
-					parent = node.parentNode;
-					parent.removeChild(node);
-					parent.appendChild(node);
-				}
-			} else if (doc.designMode == 'on') {
-				doc.designMode = 'off';
-			}
-		}
-	});
-
-	editor.on('NodeChange', visualAid);
-});