Сделал простой wysiwyg редактор. Посмотреть можно здесь Код здесь Работы еще много, поэтому буду рад любой помощи. Присоединяйтесь:)
Мне кажется, что делать свой редактор — это огромный и неблагодарный труд. Там слишком много подводных камней припрятано, на мой взгляд. Если хочется получить редактор в БЭМ терминах и с дизайном
bem-components
, можно взять чью-то легковесную библиотеку, например, http://jakiestfu.github.io/Medium.js/docs/ и сделать над ней оберточку.Но если есть силы делать самостоятельно — это, конечно, здорово!
По поводу реализации. Странно, что каждый контрол сделан отдельным блоком. Я бы ожидал опциональный элемент
__controls
и в нем каждая кнопка — тоже опциональный элемент. Тогда не придется всякиеfindBlockOutside
дергать.В bem-core v3 нельзя js для элемента писать(( Сейчас переделываю на bem-core v4 с такой логикой)
На самом деле на v3 это тоже вполне выразимо, но да, пора уже на
v4
переходить.PS: На всякий случай напомню, что
bem-components
нужно ставить из веткиv5
.