PlinnStylesCombo.prototype.onClick = function(value) {
this.editor.focus();
- this.editor.fire( 'saveSnapshot' );
+ this.editor.fire('saveSnapshot');
var style = this.styles[value]
var className = style.className;
+ var ranges = this.editor.getSelection().getRanges();
var element = this.editor.elementPath().lastElement;
+ if(ranges.length === 1) {
+ var start = ranges[0].startContainer;
+ var end = ranges[0].endContainer;
+ if(start.$ !== end.$) {
+ // selection is a fragment that need to be wrapped in container to apply style
+ element = new CKEDITOR.dom.element('div');
+ element.append(ranges[0].cloneContents());
+ this.editor.insertElement(element);
+ }
+ }
if (element.hasClass(className)) {
element.removeClass(className);
}
else {
element.addClass(className);
}
- this.editor.fire( 'saveSnapshot' );
+ this.editor.fire('saveSnapshot');
};
var PlinnStylePlugin = function() {