mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
72 lines
1.9 KiB
JavaScript
72 lines
1.9 KiB
JavaScript
/**
|
|
* editor_plugin_src.js
|
|
*
|
|
* Copyright 2009, Moxiecode Systems AB
|
|
* Released under LGPL License.
|
|
*
|
|
* License: http://tinymce.moxiecode.com/license
|
|
* Contributing: http://tinymce.moxiecode.com/contributing
|
|
*/
|
|
|
|
(function() {
|
|
tinymce.create('tinymce.plugins.StylePlugin', {
|
|
init : function(ed, url) {
|
|
// Register commands
|
|
ed.addCommand('mceStyleProps', function() {
|
|
|
|
var applyStyleToBlocks = false;
|
|
var blocks = ed.selection.getSelectedBlocks();
|
|
var styles = [];
|
|
|
|
if (blocks.length === 1) {
|
|
styles.push(ed.selection.getNode().style.cssText);
|
|
}
|
|
else {
|
|
tinymce.each(blocks, function(block) {
|
|
styles.push(ed.dom.getAttrib(block, 'style'));
|
|
});
|
|
applyStyleToBlocks = true;
|
|
}
|
|
|
|
ed.windowManager.open({
|
|
file : url + '/props.htm',
|
|
width : 480 + parseInt(ed.getLang('style.delta_width', 0)),
|
|
height : 340 + parseInt(ed.getLang('style.delta_height', 0)),
|
|
inline : 1
|
|
}, {
|
|
applyStyleToBlocks : applyStyleToBlocks,
|
|
plugin_url : url,
|
|
styles : styles
|
|
});
|
|
});
|
|
|
|
ed.addCommand('mceSetElementStyle', function(ui, v) {
|
|
if (e = ed.selection.getNode()) {
|
|
ed.dom.setAttrib(e, 'style', v);
|
|
ed.execCommand('mceRepaint');
|
|
}
|
|
});
|
|
|
|
ed.onNodeChange.add(function(ed, cm, n) {
|
|
cm.setDisabled('styleprops', n.nodeName === 'BODY');
|
|
});
|
|
|
|
// Register buttons
|
|
ed.addButton('styleprops', {title : 'style.desc', cmd : 'mceStyleProps'});
|
|
},
|
|
|
|
getInfo : function() {
|
|
return {
|
|
longname : 'Style',
|
|
author : 'Moxiecode Systems AB',
|
|
authorurl : 'http://tinymce.moxiecode.com',
|
|
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style',
|
|
version : tinymce.majorVersion + "." + tinymce.minorVersion
|
|
};
|
|
}
|
|
});
|
|
|
|
// Register plugin
|
|
tinymce.PluginManager.add('style', tinymce.plugins.StylePlugin);
|
|
})();
|