TinyMCE 4 toggle toolbar button state
button, tinymce, toggle, toolbar
Solution
After some fiddling I concluded that the onclick won't do the job here. After hours I ended up with this solution which seams to work nicely in Tinymce 4.x:
/* In the timymce > plugins, name your pluginfolder "my_crazy_plugin" and
plugin file as "plugin.min.js" */
/* Your plugin file: plugin.min.js */
tinymce.PluginManager.add('my_crazy_plugin', function(editor) {
var state;
/* Actions to do on button click */
function my_action() {
state = !state; /* Switching state */
editor.fire('mybutton', {state: state});
if (state){
alert(state); /* Do your true-stuff here */
}
else {
alert(state); /* Do your false-stuff here */
}
}
function toggleState_MyButton() {
var self = this;
editor.on('mybutton', function(e) {
self.active(e.state);
});
}
/* Adding the button & command */
editor.addCommand('cmd_mybutton', my_action);
editor.addButton('mybutton', {
image: 'tinymce/plugins/my_crazy_plugin/img/some16x16icon.png',
title: 'That Bubble Help text',
cmd: 'cmd_mybutton',
onPostRender: toggleState_MyButton
});
});
/* Your file with the tinymce init section: */
tinymce.init({
plugins: [
"my_crazy_plugin"
],
toolbar: "mybutton"
});
Problem
What is the simplest way to toggle the state of a toolbar button (like it works with the default bold-button)? I can't "get" to that class i Tinymce that changes the button's look from default to selected. This is my plugin code (simplified): ``` tinymce.PluginManager.add('myplugin', function (editor) { editor.addButton('mybutton', { text: false, image: 'someimage.png', onclick: function () { /* Toggle this toolbar button state to selected (like with the tinymce bold-button)*/ /* and of course some other code goes here */ } }); }); ```