Nelle versioni di Discourse precedenti alla 2.8.0.beta5, se modifichi un argomento e fai clic sul menu a discesa Categoria, la categoria corrente viene sia selezionata che fatta scorrere nell’elenco delle categorie, in modo che sia immediatamente visibile in alto e le sue sottocategorie (se presenti) siano visibili. L’argomento può quindi essere facilmente spostato in una sottocategoria più appropriata.
Funzionamento in 2.8.0.beta4 e versioni precedenti:
A partire dalla 2.8.0.beta5, la categoria corrente non viene più fatta scorrere quando si apre il menu a discesa Categoria:
Spero che queste brevi dimostrazioni video siano utili per mostrare rapidamente ciò che sto cercando di descrivere.
Nota: nei miei esempi ho le opzioni “fixed category positions” e “fixed category positions on create” attivate, tuttavia il comportamento di scorrimento alla posizione corrente è mancante con queste opzioni attivate o disattivate.
Ho confermato questo in uno sviluppo locale installando la 2.8.0.beta4 e osservando il comportamento desiderato, e poi aggiornando alla 2.8.0.beta5 e osservando che il comportamento non funzionava più.
Ho esaminato il codice finché non ho trovato che il seguente grande commit che coinvolge select-kit.js è dove è avvenuta la modifica (aspettate un momento e dovrebbe saltare alle righe di codice in questione):
Il seguente codice è stato rimosso dal metodo _scrollToRow(), che viene chiamato dal metodo _scrollToCurrent():
if (rowContainer) {
const collectionContainer = rowContainer.parentNode;
collectionContainer.scrollTop =
rowContainer.offsetTop - collectionContainer.offsetTop;
}
Ho confermato che riaggiungere questo codice a select-kit.js nella 2.8.0.beta5 risolve il problema, anche se non mi è chiaro perché sia stato rimosso, sono incerto su altri possibili effetti collaterali dell’aggiungerlo di nuovo.
Grazie per aver esaminato questo problema, e spero che possiamo far funzionare di nuovo questo comportamento in una futura versione.