Il plugin activity pub imposta alcuni valori predefiniti per quei campi sul client (qui).
Tutte le modifiche ai campi personalizzati delle categorie vengono registrate come modifiche alle impostazioni della categoria nel core (qui).
“1” (impostare i valori predefiniti dei campi personalizzati delle categorie sul client) sembra essere il modo migliore per lavorare con la pipeline dei campi personalizzati delle categorie al momento, poiché l’azione update della categoria li salverà automaticamente, e si desidera garantire che i valori predefiniti vengano impostati se i campi personalizzati sono interdipendenti (come lo sono nel plugin AP).
Si noti che al momento non è possibile per un plugin serializzare selettivamente i campi personalizzati al server (senza monkey patching).
Dato quanto sopra, mi chiedo se “2” abbia senso? Come sottolinea David, data la configurazione attuale della pipeline, una modifica in un campo personalizzato non indica necessariamente una modifica nella configurazione delle impostazioni della categoria (cioè, passare da nil al valore predefinito).
Sono curioso di sentire le opinioni degli altri su questo. Forse mi sfugge un modo migliore per gestire i valori predefiniti dei campi personalizzati delle categorie.
@david Sto risalendo questo elemento nella tua lista. Cosa ti dice l’istinto? Se pensi che sia necessaria una modifica al modo in cui vengono salvati i campi personalizzati di categoria nel core, posso provarci. Oppure, forse, vedrò se riesco a trovare un nuovo modo di impostare i valori predefiniti per i campi personalizzati. Oppure, forse, lo lasciamo stare per ora?
Sì, questo è complicato. Suppongo che la maggior parte dei plugin non incontri questo problema perché il loro ‘default’ per l’impostazione della categoria è un valore nullo.
Avevi un’idea per una modifica dell’API principale che potrebbe aiutare a migliorare la situazione?
Totalmente non testato, ma penso che potremmo riuscire a fare qualcosa in questo momento utilizzando un campo di input HTML grezzo (nota la input minuscola invece del componente \u003cInput a doppio binding di Ember).
Con questa strategia, abbiamo il controllo su come i valori vengono letti/scritti nell’istanza del modello. Quindi, se un valore viene impostato sul valore predefinito nell’interfaccia utente, possiamo scriverlo come ‘null’ nei campi personalizzati: