- Предупреждения
- Не используйте Объединение для расширений данного типа
Для кастомизации меню "три точки" необходимо создать манифест обработчика действия (action) на URI из списка
stmobile://document/<document>/form/config
stmobile://document/<document>/viewermenu/config
stmobile://routeandterritory/menu/config
stmobile://outletvisit/menu/config
stmobile://docjournal/menu/config
Контекст содержит config типа ExtensibleMenuItem[]
function doAction() {
let items = api.context.config
items[0].title = items[0].title + ' (изменено)'
items.push({
type: 'separator',
})
items.push({
name: 'showContext',
title: 'Показать контекст',
enabled: true,
type: 'item',
icon: 'common/toolb_menu', // серийная иконка
onClick: showContext,
})
api.result.setConfig(items)
}
api.result.setConfig - принимает в качестве параметра ExtensibleMenuItem[] и устанавливает конфигурацию меню.
- Предупреждения
- Если нужно заменить обработчик у серийного пункта, то обязательно нужно изменить так же поле
name
Расширенный пример:
function featureCallback(arg) {
// ...
setFeatureEnabled(arg.checked)
// ...
}
function doAction() {
let items = api.context.config
const scriptPath = api.warp.app.absolutePath('script').value;
items.push({
name: 'enableFeature',
title: 'Включить фичу',
enabled: true,
type: 'switch',
icon: `file://${scriptPath}/icons/my_icon`, // абсолютный путь до кастомной иконки
params: {
checked: isFeatureEnabled() // состояние свитча
},
onClick: featureCallback, // аргументом будет передано новое состояние свитча
})
api.result.setConfig(items)
}
Обработчик для типа "switch" должен принимать параметр типа ExtensibleMenuSwitchParams