È possibile iniettare parametri dal template a un'azione del widget?

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.