Pull to refresh

Comments 10

Правильно ли я понимаю, что это руководство по использованию draft-js? Но не создание собственного текстового редактора.

В целом да, я выбрал draft-js как основу для решения данной задачи, и описал это в статье.

Тогда полагаю, что название статьи не совсем точно. Я, например, ожидал совсем другого.

Элементарная стилизация текста давным давно реализована в ваниле. Современные браузеры в div с contenteditable=true поддерживают и некоторые сочетания клавиш, например ctrl+B, ctrl+I и т.д. Выделенному тексту можно задавать шрифт, цвет, цвет паттерна с помощью метода document.execCommand().

Ну а назначить кнопкам действие это совсем просто.

execCommand deprecated. К тому же, надо добиваться поддержки поведения во всех браузерах.

Фреймворк (draft js) все-таки даёт много высокоуровневых абстракций над браузерным апи. Поэтому, если хочется сделать хороший редактор, уметь легко добавлять новые блоки и тд, намного удобнее использовать готовый продуманный инструмент. Более того, на базе draftjs можно легко сделать поддержку «плагинов» и буквально собирать редактор, как конструктор, из готовых блоков - draft-js-plugins. Ну и существуют всякие кастомные сборки типа megadraft.

Помимо драфта есть ещё editor js. Там используется концепция последовательных блоков, тоже удобный инструмент.

Так что можно получить крутой редактор, работающий во всех браузерах, буквально установив библиотеку. А дальше уже кастомизировать. Ну а чтоб кастомизировать, нужно понимать, как это работает внутри примерно и куда копать. И статья, на мой взгляд, даёт об этом хорошее представление.

Ну да. метод помечен, как устаревший аж с 2012 г, но пока не deprecated. Выпилили только .copy(), .cat() и paste(). Кстати в новом обновлении хрома вернули и эти фичи ;)

Ну а чтоб кастомизировать...

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

Кстати, а Вы уверены. что editor js и draft-js не используют execCommand? Так что если выпилят этот метод, то и эти библиотеки благополучно также загнутся.

А то, что draft js

легко добавлять новые блоки и тд, намного удобнее использовать готовый продуманный инструмент

это конечно даёт существенную экономию времени разработки.

Draft js - библиотека от Facebook. Они используют ее, как инструмент для создания постов, насколько я понимаю. И заопенсорсили. Так что конкретно она вряд ли загнётся)

Ну и хорошо, что не загнётся ;)

Загнулся. Уже год нет обновлений, а issues там достаточно.

Sign up to leave a comment.