1
0
mirror of https://github.com/salexdv/bsl_console.git synced 2025-02-15 13:53:04 +02:00

Регистрация пользовательских пунктов контекстного меню и связанных с ними событий closes #19

This commit is contained in:
salexdv 2020-09-27 14:49:16 +03:00
parent 56666d2894
commit b0a8e48b71
2 changed files with 26 additions and 0 deletions

View File

@ -53,6 +53,16 @@
| `enableQuickSuggestions` | Включает/выключает режим быстрых подсказок |
| `minimap` | Включает/выключает отображение карты кода |
| `enableModificationEvent` | Включает/выключает генерацию события, возникающего при изменении содержимого редактора |
| `addContextMenuItem` | Регистрирует пользовательский пункт контекстного меню и связанное с ним событие |
## События, генерируемые редактором для 1С:Предприятия
| Событие | Описание |
| ------------------------------ | --------------------------------------------------------------------------------------------- |
| `EVENT_QUERY_CONSTRUCT` | При выборе пункта меню "Конструктор запросов". Возвращает текст и позицию запроса |
| `EVENT_FORMAT_CONSTRUCT` | При выборе пункта меню "Конструктор форматной строки". Возвращает текст и позицию фор.строки |
| `EVENT_CONTENT_CHANGED` | При любом изменении содержимого редактора. Вкл/откл через *enableModificationEvent* |
| `EVENT_XXX` | При выборе пользовательского пункта меню. *addContextMenuItem('Мой пункт', 'EVENT_MY')* |
## Проверенные платформы:
* 8.3.15.1830

View File

@ -183,6 +183,22 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
}
addContextMenuItem = function(label, eventName) {
let id = new Date().getTime().toString();
editor.addAction({
id: id + "_bsl",
label: label,
contextMenuGroupId: 'navigation',
contextMenuOrder: id,
run: function () {
sendEvent(eventName, "");
return null;
}
});
}
// Register a new language
monaco.languages.register({ id: language.id });