Javascript Textarea Мониторинг / Расчет Дельты Рубина - PullRequest
0 голосов
/ 19 ноября 2009

Я работаю в системе, которая должна поддерживать постоянный (и я имею в виду постоянный ) отслеживание изменений на стороне браузера в текстовой области посредством запросов AJAX к серверу. В идеале каждый символ должен храниться в базе данных как строка вместе с позицией, в которую он был вставлен, и отметкой времени.

Я надеюсь, что есть либо хорошая библиотека Javascript, которую я как-то упустил, что сделает это все тривиальным в браузере, но я думаю, что несоответствия в DOM не позволяют делать это любым способом, быть разумным. Я пользователь jQuery, если это имеет значение.

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

Я бы хотел использовать Ruby, так что, если есть библиотека Ruby, которая может это сделать, круто. Если нет, то есть ли общий алгоритм вычисления фактических дельт между двумя строками, который кто-то может предложить?

Резюме:
Библиотека Javascript для очень тщательно отслеживаемой текстовой области ИЛИ
Библиотека Ruby для расчета дельт ИЛИ
Общий алгоритм вычисления дельты

В таком порядке. Заранее спасибо.

1 Ответ

0 голосов
/ 19 ноября 2009

Я думаю, вы можете попробовать, чтобы Ruby вызывал diff через командную строку, а затем возвращал эти различия пользователю;)

...