1
0
mirror of https://github.com/salexdv/bsl_console.git synced 2024-11-24 08:33:29 +02:00

Генерация события при вызове подробного описания активного пункта подсказок resolves #78

This commit is contained in:
salexdv 2021-05-13 21:38:41 +03:00
parent b64c77e5e7
commit b69f2a7a14
3 changed files with 42 additions and 1 deletions

View File

@ -120,6 +120,8 @@
| `goNextBookmark` | Переход к следующей закладке |
| `goPreviousBookmark` | Переход к предыдущей закладке |
| `getBookmarks` | Возвращает массив с номерами строк, в которых установлены закладки |
| `setActiveSuggestLabel` | Устанавливает заголовок активного пункта списка подсказок |
| `setActiveSuggestDetail` | Устанавливает подробное описание активного пункта списка подсказок |
## События, генерируемые редактором для 1С:Предприятия
| Событие | Описание |
@ -130,6 +132,7 @@
| `EVENT_GET_METADATA` | Генерируется при отсутствии метаданных. В параметрах передается имя запрашиваемых метаданных |
| `EVENT_XXX` | При выборе пользовательского пункта меню. *addContextMenuItem('Мой пункт', 'EVENT_MY')* |
| `EVENT_ON_ACTIVATE_SUGGEST_ROW`| При активации пункта в текущем списке подсказок [(подробнее)](docs/activation_event.md) |
| `EVENT_ON_DETAIL_SUGGEST_ROW` | При активации подробного описания пункта в текущем списке подсказок [(подробнее)](docs/activation_event.md) |
| `EVENT_BEFORE_SHOW_SUGGEST` | Перед появлением списка подсказок [(подробнее)](docs/before_suggest_event.md) |
| `EVENT_ON_SELECT_SUGGEST_ROW` | При выборе пункта из списка подсказок [(подробнее)](docs/select_suggest_event.md) |
| `EVENT_BEFORE_HOVER` | Перед появлением всплывающей подсказки для слова [(подробнее)](docs/before_hover_event.md) |

View File

@ -1,6 +1,7 @@
# Функция *enableSuggestActivationEvent*
## Назначение функции
Функция включает/выключает генерацию события *EVENT_ON_ACTIVATE_SUGGEST_ROW*, которое возникает при активации пункта в текущем списке подсказок
Функция включает/выключает генерацию события *EVENT_ON_ACTIVATE_SUGGEST_ROW*, которое возникает при активации пункта в текущем списке подсказок.
При выводе подробного описания (CTRL+Space) пункта подсказки генерируется событие *EVENT_ON_DETAIL_SUGGEST_ROW* с аналогичными параметрами.
## Параметры функции
* **enabled** - *boolean*, активность события

View File

@ -830,6 +830,20 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
}
}
else if (mutation.target.classList.contains('type')) {
let element = document.querySelector('.monaco-list-rows .focused');
if (element) {
if (hasParentWithClass(mutation.target, 'details') && hasParentWithClass(mutation.target, 'suggest-widget')) {
let rows = getSuggestWidgetRows(element);
genarateEventWithSuggestData('EVENT_ON_DETAIL_SUGGEST_ROW', rows, 'focus', element.getAttribute('aria-label'));
}
}
}
})
@ -1065,6 +1079,29 @@ define(['bslGlobals', 'bslMetadata', 'snippets', 'bsl_language', 'vs/editor/edit
}
setActiveSuggestLabel = function (label) {
let element = document.querySelector('.monaco-list-rows .focused .monaco-icon-name-container');
if (element)
element.innerText = label;
}
setActiveSuggestDetail = function (detail) {
let element = document.querySelector('.monaco-list-rows .focused .details-label');
if (element)
element.innerText = detail;
element = document.querySelector('.suggest-widget.docs-side .details .header');
if (element)
element.innerText = detail;
}
editor = undefined;
// Register languages