как создать селектор стиля в редакторе закрытия google

Интересно, насколько сложно создать работающий селектор «селектор стиля» в редакторе закрытия гуга, аналогичный тому, что есть в tinymce.

Я имею в виду селектор текстовых стилей, таких как

heading 1
heading 2
heading 3
paragraph

Из документации я понимаю, что по умолчанию нет доступных кнопок, хотя есть немного связанные кнопки по умолчанию, такие как bold и т. д. Логика для уже существующих кнопок, о которых я знаю, предоставляется в плагине под названием basictextformatter.js.

Я знаком с написанием плагинов, и я бы реализовал это, используя функцию .execCommandInternal, и используя ToolbarFactory для создания файла selectButton.

Но моя проблема в том, действительно ли мне нужно писать всю логику с нуля, например: сколько текста заключать в выбор стиля, если выбор является кареткой, и удаление предыдущих стилей при применении новых вариантов выбора, обработка кросс-браузерных тегов несоответствия, отображение выбранного стиля в кнопке и все такое?

Поскольку это стандартная функция во многих других редакторах, есть ли шанс, что я просто пропустил ранее существовавшую функцию плагина или другие строительные блоки? Буду признателен за любые подсказки, чтобы не изобретать велосипед.


person bebbi    schedule 16.05.2013    source источник


Ответы (2)


Похоже, вы имеете в виду «плагины», которые представляют собой объекты, которые вы можете внедрить в текстовый редактор Google Closure goog.editor.Field. В Google Closure Library включено множество стандартных плагинов (выделение жирным шрифтом, выделение курсивом, подчеркивание, создание ссылки и т. д.), хотя вы всегда можете создать свой собственный. Например, мне пришлось сделать собственный плагин для вставки, который удалял форматирование HTML из вставляемого текста.

После того, как вы выберете нужные плагины, вы можете добавить кнопки на панель инструментов редактора, которые запускают командные события, которые слушают эти внедренные плагины.

Вот сообщение в блоге, которое дает гораздо лучшее объяснение того, как на самом деле настроить это, чем я когда-либо мог здесь: http://closuretools.blogspot.com/2010/07/introduction-closure-library-editor.html

person Technetium    schedule 17.05.2013
comment
спасибо - я изменил вопрос, чтобы лучше уточнить, что речь идет о логике форматирования стиля, а не о механизме плагина. - person bebbi; 17.05.2013

Ну, кажется, я нашел ответ.

Есть плагин, который является частью библиотеки под названием HeaderFormatter. К сожалению, он зависит от плагина BasicFormatter и, похоже, не имеет кнопки по умолчанию (вы должны создать свою собственную), но выглядит именно так, как будто это ответ на этот вопрос.

person bebbi    schedule 17.05.2013