Как использовать диалог Ace для отображения сообщений / ошибок? - PullRequest
0 голосов
/ 13 апреля 2020

Я использую редактор ace с привязками клавиш vim на моем сайте. Всякий раз, когда кто-то переходит в обычный режим и вводит команду, она отображается в диалоговом окне внизу. Я определил функцию следующим образом:

ace.config.loadModule("ace/keyboard/vim", m => {
  m.CodeMirror.Vim.defineEx("write", "w", () => submitForm())
})

Удобно то, что всякий раз, когда эта функция ошибается, она показывает ошибку в другом диалоговом окне. У меня вопрос, доступна ли эта функция пользователям? Могу ли я использовать это диалоговое окно для отображения сообщений, которые редактор делает при ошибках функции? Вот снимок экрана, на котором показан пример:

Ввод команды - typing a command

Появляется ошибка (еще одно диалоговое окно перед тем, которое я использую для ввода команда) - error pops up

1 Ответ

0 голосов
/ 13 апреля 2020

для этого нет документированного API, но, судя по https://github.com/ajaxorg/ace/blob/v1.4.9/lib/ace/keyboard/vim.js#L4983, должно быть возможно использовать следующее

editor.state.cm.openNotification(domNodeOrHtmlString, {bottom: true, duration: 5000})

для создания узла dom, который вы можете использовать Функция buildDom от туза.

var domNode = ace.require("ace/lib/dom").buildDom(["span", {style: "color:red"}, "xxxxx"])
...