Cómo obtener información de categoría de composer?

¿Es posible ejecutar algún código (desde un componente del tema) cuando se selecciona una categoría en el editor? Me interesa obtener la categoría seleccionada tanto cuando el editor acaba de abrirse como cuando se cambia la lista desplegable de categorías.

Pensé que quizás sería posible modificando un controlador o un componente, como el controlador del editor, pero no pude encontrar la información de la categoría.

Puedes observar model.categoryId en el controlador del compositor y ejecutar tu código cuando ocurra el cambio.

¡Gracias @fzngagan!

Una pregunta de seguimiento, nunca había visto un modelo así antes :slight_smile:. Se me ocurrió lo siguiente, que parece funcionar.

const { observes } = require('discourse-common/utils/decorators');
api.modifyClass("controller:composer", {
    @observes('model.categoryId')
    getCategory() {
        let categoryId = this.get("model.categoryId");
        if (categoryId == null) return;
        
        let category = this.site.categories.findBy("id", categoryId).name;
    }
});

¿Es esa la forma correcta (o preferida) de hacerlo? ¿Y es la mejor manera de obtener el nombre de la categoría a partir del ID?

Puedes comprobar qué contiene el objeto model. Es posible que ya tenga el nombre de la categoría.

¿Con “objeto modelo” te refieres a que debería hacer algo como esto, verdad?

this.get("model")

Edición:
De todos modos, el código funciona de maravilla. ¡Gracias de nuevo!