init
This commit is contained in:
86
public/tinymce/plugins/visualblocks/plugin.js
Normal file
86
public/tinymce/plugins/visualblocks/plugin.js
Normal file
@ -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');
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user