На самом деле моя проблема не решается описанным выше способом:
- да, уровень уведомлений был изменён, но…
- изменения не сохранялись. Чтобы сохранить их, нужно было кликнуть в другом месте, выполнив другое действие.
Путём интенсивного поиска случайных ключевых слов в базе кода GitHub я нашёл структуру вроде этой:
{{d-button action=(action "up" wc) ...}}.
В результате тестирования я пришёл к выводу, что всё работает следующим образом:
- шаблон:
{{d-button action=(action "nameoftheaction" arg1 arg2) ...}}`. - JS:
api.modifyClass("component:some-component", { actions: { nameoftheaction(arg1, arg2, argA, argB) { console.log(arg1); console.log(arg2); console.log(argA); console.log(argB); } } })
Первые аргументы методов arg1, arg2 передаются из шаблона. Остальные аргументы argA, argB и т. д. могут определяться спецификой компонента (например, category-notifications-button возвращает целое число в зависимости от настройки, на которую нажал пользователь).
Я абсолютно не уверен, что всё описано верно, но это может помочь тем, кто задаёт тот же вопрос, что и я.