Реализация отмены в веб-приложении

Я создаю веб-приложение для редактирования карты, в котором мы можем создавать и редактировать полилинии, полигоны и т. д. . У меня проблемы с поиском информации о реализации отмены в Интернете, я нахожу нытье по поводу «нам нужно отменить» и «вот мой шаблон команды с использованием замыканий», но я думаю, что между к этому и к полному интерфейсу отмены / повтора есть путь.

Итак, вот мои вопросы (я думаю, хороший кандидат для вики):

  • Должен ли я управлять стеком, или есть ли способ отправить мои команды в стек браузера? (и как мне обрабатывать собственные команды, такие как редактирование текста в текстовых полях в этом случае)
  • как мне обрабатывать "сжатие команд" (группирование команд), когда некоторые команды являются встроенными в браузер
  • Как мне обнаружить отмену (ctrl + z) нажатие клавиши?
  • Если я зарегистрирую событие нажатия клавиш, как мне решить, предотвращаю ли я действие по умолчанию или нет?
  • Если нет, могу ли я где-нибудь зарегистрировать какой-нибудь обработчик отмены событий?
  • Пользователи не привыкли отменять действия в Интернете, как я могу «обучить» их изучать / отменять действия в моем приложении?

Всем спасибо.

15
задан nraynaud 17 June 2011 в 14:12
поделиться