src/pyams_skin/resources/js/ext/tinymce/dev/plugins/visualblocks/plugin.js
changeset 69 a361355b55c7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/visualblocks/plugin.js	Wed Jun 17 10:00:10 2015 +0200
@@ -0,0 +1,86 @@
+/**
+ * plugin.js
+ *
+ * Copyright 2012, 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('visualblocks', function(editor, url) {
+	var cssId, visualBlocksMenuItem, enabled;
+
+	// We don't support older browsers like IE6/7 and they don't provide prototypes for DOM objects
+	if (!window.NodeList) {
+		return;
+	}
+
+	function toggleActiveState() {
+		var self = this;
+
+		self.active(enabled);
+
+		editor.on('VisualBlocks', function() {
+			self.active(editor.dom.hasClass(editor.getBody(), 'mce-visualblocks'));
+		});
+	}
+
+	editor.addCommand('mceVisualBlocks', function() {
+		var dom = editor.dom, linkElm;
+
+		if (!cssId) {
+			cssId = dom.uniqueId();
+			linkElm = dom.create('link', {
+				id: cssId,
+				rel: 'stylesheet',
+				href: url + '/css/visualblocks.css'
+			});
+
+			editor.getDoc().getElementsByTagName('head')[0].appendChild(linkElm);
+		}
+
+		// Toggle on/off visual blocks while computing previews
+		editor.on("PreviewFormats AfterPreviewFormats", function(e) {
+			if (enabled) {
+				dom.toggleClass(editor.getBody(), 'mce-visualblocks', e.type == "afterpreviewformats");
+			}
+		});
+
+		dom.toggleClass(editor.getBody(), 'mce-visualblocks');
+		enabled = editor.dom.hasClass(editor.getBody(), 'mce-visualblocks');
+
+		if (visualBlocksMenuItem) {
+			visualBlocksMenuItem.active(dom.hasClass(editor.getBody(), 'mce-visualblocks'));
+		}
+
+		editor.fire('VisualBlocks');
+	});
+
+	editor.addButton('visualblocks', {
+		title: 'Show blocks',
+		cmd: 'mceVisualBlocks',
+		onPostRender: toggleActiveState
+	});
+
+	editor.addMenuItem('visualblocks', {
+		text: 'Show blocks',
+		cmd: 'mceVisualBlocks',
+		onPostRender: toggleActiveState,
+		selectable: true,
+		context: 'view',
+		prependToContext: true
+	});
+
+	editor.on('init', function() {
+		if (editor.settings.visualblocks_default_state) {
+			editor.execCommand('mceVisualBlocks', false, null, {skip_focus: true});
+		}
+	});
+
+	editor.on('remove', function() {
+		editor.dom.removeClass(editor.getBody(), 'mce-visualblocks');
+	});
+});