Ciao a tutti. Utilizzando il codice che @angus ha illustrato qui e seguendo il repository GitHub, riesco a far funzionare bene il campo personalizzato per i topic, tranne che per abilitarne la modifica nell’area “intestazione” del compositore (dove normalmente si può modificare, ad esempio, la categoria; ovvero, nel connettore edit-topic).
Ho seguito il codice a questo scopo nel repository, incluso quello in plugin.rb e altrove. Ad esempio, ho aggiunto l’input nel file connectors/edit-topic/edit-topic-custom-field-container.hbs (come qui):
{{#if isString}}
{{input
type="text"
value=(readonly fieldValue)
class="topic-custom-field-input large"
input=(action "onChangeField" value="target.value")
placeholder=(i18n 'topic_custom_field.placeholder' field=fieldName)
}}
{{/if}}
E poi anche il codice in topic-custom-field-initializer, in questo modo:
api.registerConnectorClass('edit-topic', 'edit-topic-custom-field-container', {
setupComponent(attrs, component) {
const model = attrs.model;
let props = {
fieldName: fieldName,
fieldValue: model.get(fieldName)
}
component.setProperties(Object.assign(props, fieldInputTypes(fieldType)));
},
actions: {
onChangeField(fieldValue) {
this.set(`buffered.${fieldName}`, fieldValue);
}
}
});
...
api.serializeOnCreate(fieldName);
api.serializeToDraft(fieldName);
api.serializeToTopic(fieldName, `topic.${fieldName}`);
Tuttavia: mentre il resto del codice del repository funziona per me (ad esempio aggiungendo il valore del campo personalizzato nel valore del compositore) e non ricevo errori, non riesco a salvare il valore che inserisco nell’input del connettore edit-topic. Se inserisco un valore lì, questo scompare dopo il salvataggio della modifica.
È possibile che sia richiesto qualcos’altro per salvare il valore nel connettore edit-topic?