src/pyams_skin/resources/js/ext/tinymce/dev/plugins/nonbreaking/plugin.js
changeset 557 bca7a7e058a3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/nonbreaking/plugin.js	Thu Feb 13 11:43:31 2020 +0100
@@ -0,0 +1,53 @@
+/**
+ * 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('nonbreaking', function(editor) {
+	var setting = editor.getParam('nonbreaking_force_tab');
+
+	editor.addCommand('mceNonBreaking', function() {
+		editor.insertContent(
+			(editor.plugins.visualchars && editor.plugins.visualchars.state) ?
+			'<span class="mce-nbsp">&nbsp;</span>' : '&nbsp;'
+		);
+
+		editor.dom.setAttrib(editor.dom.select('span.mce-nbsp'), 'data-mce-bogus', '1');
+	});
+
+	editor.addButton('nonbreaking', {
+		title: 'Nonbreaking space',
+		cmd: 'mceNonBreaking'
+	});
+
+	editor.addMenuItem('nonbreaking', {
+		text: 'Nonbreaking space',
+		cmd: 'mceNonBreaking',
+		context: 'insert'
+	});
+
+	if (setting) {
+		var spaces = +setting > 1 ? +setting : 3;  // defaults to 3 spaces if setting is true (or 1)
+
+		editor.on('keydown', function(e) {
+			if (e.keyCode == 9) {
+
+				if (e.shiftKey) {
+					return;
+				}
+
+				e.preventDefault();
+				for (var i = 0; i < spaces; i++) {
+					editor.execCommand('mceNonBreaking');
+				}
+			}
+		});
+	}
+});