Управление таблицей TinyMCE слишком велико, как я могу показать его как меню? - PullRequest
1 голос
/ 21 марта 2012

Volks,

У меня есть несколько ящиков TinyMCE с "tablecontrols", но в контроллерах 9 кнопок ... слишком много. Как я могу отобразить это как Меню?

Ура, Stefan

Ответы [ 2 ]

1 голос
/ 21 марта 2012

Мне тоже понадобилось время, чтобы найти решение для этого. Вероятно, именно так Клавишка разработал свой плагин 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 и далее. Таким образом, вы можете влиять на внешний вид вашего списка (должна быть возможность даже включать в список кнопки вместо текстовых элементов).

1 голос
/ 21 марта 2012

Я нашел решение через плагин

https://github.com/claviska/tinymce-table-dropdown

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...