In realtà, il mio problema non poteva essere risolto nel modo presentato sopra:
- sì, il livello di notifica è stato modificato, ma…
- non è stato salvato. Bisognava cliccare altrove per salvarlo con un’altra azione.
Cercando intensamente parole chiave casuali nel database del codice di GitHub, sono riuscito a trovare una struttura simile a questa:
{{d-button action=(action "up" wc) ...}}.
Con alcuni test, sono arrivato alla conclusione che funziona in questo modo:
- template:
{{d-button action=(action "nomeDellAzione" arg1 arg2) ...}} - JS:
api.modifyClass("component:some-component", { actions: { nomeDellAzione(arg1, arg2, argA, argB) { console.log(arg1); console.log(arg2); console.log(argA); console.log(argB); } } })
I primi argomenti arg1, arg2 dei metodi sono quelli forniti dal template. Gli argomenti rimanenti argA, argB… possono essere forniti dalle specificità del componente (ad esempio, il category-notifications-button restituirà un intero a seconda dell’impostazione su cui l’utente clicca).
Non sono assolutamente sicuro che quanto scritto sia corretto, ma potrebbe aiutare qualcuno che si pone la stessa domanda che mi sono posto io.