Мне тоже понадобилось время, чтобы найти решение для этого. Вероятно, именно так Клавишка разработал свой плагин table-dropdown-plugin, но его можно использовать для создания любого выпадающего списка с помощью собственных команд tinymce.
Вам необходимо добавить my_list в список кнопок.
Собственный элемент управления (выпадающий список) может быть создан с использованием собственного плагина (что не так уж сложно написать). Там вы создаете список с помощью следующей функции
createControl: function(n, cm) {
switch (n) {
case 'my_list':
listboxIdPart = 'my_list';
console.log('cm:', cm);
var ctrl = cm.createListBox(listboxIdPart, {
title : 'My list!', //optional
onselect : function(v) {
switch (v){
case '0':
tinymce.activeEditor.execCommand('mceTableMergeCells');
return;
}
case '1':
tinymce.activeEditor.execCommand('mceTableSplitCells');
return;
}
case '2':
tinymce.activeEditor.execCommand('mceTableDeleteCol');
return;
}
case '3':
tinymce.activeEditor.execCommand('mceTableDeleteRow');
return;
}
// ... etc ...
}
});
// add options to the list
// first param is the string that shows up in the list, second one is the value associated with that option
ctrl.add('1', '1'); // '1' or whatever name you prefer
ctrl.add('2', '2');
ctrl.add('3', '3');
// ... etc ...
// Return the new listbox instance
return ctrl;
}
return null;
},
Вы найдете все необходимые mceCommands для таблиц, перечисленных в документах tinycme и, кроме того, в версии для разработки tinymce (не минимизированной) в строке tiny_mce / plugins / table / editor_src.js 1780 и далее. Таким образом, вы можете влиять на внешний вид вашего списка (должна быть возможность даже включать в список кнопки вместо текстовых элементов).