src/pyams_skin/resources/js/ext/tinymce/dev/plugins/visualchars/plugin.js
changeset 566 a1707c607eec
parent 565 318533413200
child 567 bca1726b1d85
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/visualchars/plugin.js	Sun Jul 19 02:02:20 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +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('visualchars', function(editor) {
-	var self = this, state;
-
-	function toggleVisualChars(addBookmark) {
-		var node, nodeList, i, body = editor.getBody(), nodeValue, selection = editor.selection, div, bookmark;
-		var charMap, visualCharsRegExp;
-
-		charMap = {
-			'\u00a0': 'nbsp',
-			'\u00ad': 'shy'
-		};
-
-		function wrapCharWithSpan(value) {
-			return '<span data-mce-bogus="1" class="mce-' + charMap[value] + '">' + value + '</span>';
-		}
-
-		function compileCharMapToRegExp() {
-			var key, regExp = '';
-
-			for (key in charMap) {
-				regExp += key;
-			}
-
-			return new RegExp('[' + regExp + ']', 'g');
-		}
-
-		function compileCharMapToCssSelector() {
-			var key, selector = '';
-
-			for (key in charMap) {
-				if (selector) {
-					selector += ',';
-				}
-
-				selector += 'span.mce-' + charMap[key];
-			}
-
-			return selector;
-		}
-
-		state = !state;
-		self.state = state;
-		editor.fire('VisualChars', {state: state});
-		visualCharsRegExp = compileCharMapToRegExp();
-
-		if (addBookmark) {
-			bookmark = selection.getBookmark();
-		}
-
-		if (state) {
-			nodeList = [];
-			tinymce.walk(body, function(n) {
-				if (n.nodeType == 3 && n.nodeValue && visualCharsRegExp.test(n.nodeValue)) {
-					nodeList.push(n);
-				}
-			}, 'childNodes');
-
-			for (i = 0; i < nodeList.length; i++) {
-				nodeValue = nodeList[i].nodeValue;
-				nodeValue = nodeValue.replace(visualCharsRegExp, wrapCharWithSpan);
-
-				div = editor.dom.create('div', null, nodeValue);
-				while ((node = div.lastChild)) {
-					editor.dom.insertAfter(node, nodeList[i]);
-				}
-
-				editor.dom.remove(nodeList[i]);
-			}
-		} else {
-			nodeList = editor.dom.select(compileCharMapToCssSelector(), body);
-
-			for (i = nodeList.length - 1; i >= 0; i--) {
-				editor.dom.remove(nodeList[i], 1);
-			}
-		}
-
-		selection.moveToBookmark(bookmark);
-	}
-
-	function toggleActiveState() {
-		var self = this;
-
-		editor.on('VisualChars', function(e) {
-			self.active(e.state);
-		});
-	}
-
-	editor.addCommand('mceVisualChars', toggleVisualChars);
-
-	editor.addButton('visualchars', {
-		title: 'Show invisible characters',
-		cmd: 'mceVisualChars',
-		onPostRender: toggleActiveState
-	});
-
-	editor.addMenuItem('visualchars', {
-		text: 'Show invisible characters',
-		cmd: 'mceVisualChars',
-		onPostRender: toggleActiveState,
-		selectable: true,
-		context: 'view',
-		prependToContext: true
-	});
-
-	editor.on('beforegetcontent', function(e) {
-		if (state && e.format != 'raw' && !e.draft) {
-			state = true;
-			toggleVisualChars(false);
-		}
-	});
-});