Управление текстовым редактором JS с гибкими возможностями динамического визуального оформления - PullRequest
2 голосов
/ 03 июля 2011

Я ищу элемент управления текстового редактора JS для любой разумной среды, который позволил бы мне окрашивать и иным образом стилизовать текст во время выполнения, когда пользователь вводит его в пользовательском формате markdownesque.

Обратите внимание, чтоФактический формат сильно отличается от Markdown, поэтому я не могу просто использовать существующий редактор Markdown.Кроме того, цель этого материала - помочь пользователю с полуструктурированным вводом данных, а не с необычным форматированием текста.

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

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

Поддержкадля обычных функций, таких как отмена / повтор и копирование / вставка, безусловно, необходимо.

Глупый синтетический пример, поясняющий, какие правила я хочу иметь в коде:

Текст:

-- Foo

    Bar {green}
    *Baz*

-- Alpha {red}

Стили:

  • От строки с Foo до строки до Alpha: цвет фона зеленый.
  • Строка с Alpha: красный фон
  • Слово *Baz* (вместе со звездочками) выделено жирным шрифтом.
  • Рядом со словами Foo и Alpha: кнопки с изображением мусорной корзины, если нажать, удалить всефрагмент текста от текущего -- до следующего.
  • Когда пользователь нажимает Возврат в строке с --, положение курсора на следующей строке автоматически сдвигается.
  • Если пользователь вводит -- в начале (с отступом) строки, новый раздел запускается и строка не смещается.(Фактические символы отступа / пробелы / должны появляться в тексте.)

Обратите внимание, что я хочу, чтобы эти визуальные стили применялись в редакторе как пользовательские типы.Если в этом примере пользователь изменит {green} на {blue}, цвет фона должен быть изменен соответствующим образом.

1 Ответ

1 голос
/ 03 июля 2011

Проверьте Yahoo Rich Text Editor .Это открытый исходный код.

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