Comment exécuter du code après que la page a été rendue

Je souhaite supprimer les parenthèses de span.category-topics--posts-count (rendu par GitHub - discourse/discourse-right-sidebar-blocks). J’essaie cet appel api.onPageChange(), mais il ne récupère aucun countSpans, je pense parce qu’il s’exécute avant que l’autre composant de thème ne les ait mis sur la page.

Que puis-je faire ? :crying_cat:


  api.onPageChange(() => {
    console.log("page changed");

    const countSpans = document.querySelectorAll(
      "span.category-topics--posts-count"
    );
    console.log("spans", countSpans);
    countSpans.forEach((span) => {
      const currentText = span.textContent.trim();
      const newText = currentText.replace(/[()]/g, "");
      span.textContent = newText;
      const number = parseInt(newText);
      if (isNaN(number)) {
        span.style.padding = "0px";
      } else if (number < 10) {
        span.style.padding = "0px";
      } else {
        span.style.padding = "0px 3px";
      }
    });
  });
});
2 « J'aime »

Je ne crois pas que cela va fonctionner.

Vous devez effectuer ces modifications via CSS ou dans la boucle d’exécution d’Ember.

Qu’est-ce qui vous empêche de forker ce composant et de le personnaliser selon votre goût sous un nom différent, de charger un composant Thème séparé, puis de l’ajouter par nom dans RSB ?

2 « J'aime »

La paresse, principalement. Et quand j’ai commencé, ce n’était qu’un petit CSS qui serait probablement statique et ils n’auraient pas besoin de maintenir le fork, mais oui, il est maintenant évident qu’il ne faut pas le “forker”.

Merci

4 « J'aime »

Ce sujet a été automatiquement fermé 30 jours après la dernière réponse. Les nouvelles réponses ne sont plus autorisées.