}
function applyFormat(format, value) {
- editor.focus();
- editor.formatter.apply(format, {value: value});
- editor.nodeChanged();
+ editor.undoManager.transact(function() {
+ editor.focus();
+ editor.formatter.apply(format, {value: value});
+ editor.nodeChanged();
+ });
}
function removeFormat(format) {
- editor.focus();
- editor.formatter.remove(format, {value: null}, null, true);
- editor.nodeChanged();
+ editor.undoManager.transact(function() {
+ editor.focus();
+ editor.formatter.remove(format, {value: null}, null, true);
+ editor.nodeChanged();
+ });
}
function onPanelClick(e) {
applyFormat(buttonCtrl.settings.format, value);
}
+ function resetColor() {
+ buttonCtrl.hidePanel();
+ buttonCtrl.resetColor();
+ removeFormat(buttonCtrl.settings.format);
+ }
+
function setDivColor(div, value) {
div.style.background = value;
div.setAttribute('data-mce-color', value);
this.lastId = e.target.id;
if (value == 'transparent') {
- removeFormat(buttonCtrl.settings.format);
- buttonCtrl.hidePanel();
- return;
+ resetColor();
+ } else {
+ selectColor(value);
}
-
- selectColor(value);
} else if (value !== null) {
buttonCtrl.hidePanel();
}
if (self._color) {
applyFormat(self.settings.format, self._color);
+ } else {
+ removeFormat(self.settings.format);
}
}