Modification dynamique de l'attribut style sur l'élément de la liste des sujets

modifyClass n’est pas déprécié en soi. C’est une méthode de personnalisation risquée, et vous devez prendre des précautions lorsque vous l’utilisez (comme décrit dans la documentation @don liée), mais nous n’avons pas d’intention immédiate de la supprimer.

La raison pour laquelle nous affichons un message de dépréciation pour component:topic-list et component:topic-list-items est que ces composants sont l’implémentation héritée de la liste de sujets, et ne sont pas utilisés lorsque la liste de sujets glimmer est activée. Maintenant, nous avons un ensemble de composants glimmer comme components/topic-list/item.

Donc, techniquement, vous pourriez utiliser modifyClass sur ces nouveaux composants. Mais, parce que ce sont des composants glimmer, vous ne pourrez pas modifier la balise de style via la classe JS, donc cela n’aidera pas avec le problème dans le message initial.

Nous avons un mode “masonry” similaire dans le composant de thème officiel d-topic-thumbnails, il vaut donc la peine de regarder comment il est implémenté. Nous ajoutons une classe unique à chaque “ligne” de la liste de sujets :

Ensuite, nous rendons une balise <style> dynamique dans un plugin-outlet séparé, qui cible ces noms de classe :

Cela dit… c’est un peu compliqué, donc peut-être devrions-nous envisager d’ajouter un valueTransformer spécifique pour permettre de modifier l’attribut style=. C’est un peu délicat à cause des protections xss/htmlSafe d’Ember sur cet attribut… mais je suis sûr que nous pourrions faire fonctionner quelque chose.

3 « J'aime »