Changements de la liste des sujets à venir - comment préparer thèmes et plugins

Désolé de empiéter sur votre week-end David, oui, je viens de voir l’API, merci

3 « J'aime »

Salut, j’ai essayé d’utiliser un transformateur de valeur pour « topic-list-columns » comme ceci :

export default {
    name: "assignment-topic-list-column-modifier",

    initialize(container) {
        const router = container.lookup("service:router");

        withPluginApi("1.39.0", (api) => {
            api.registerValueTransformer(
                "topic-list-columns",
                ({ value: columns }) => {
                    if (ASSIGN_LIST_ROUTES.includes(router.currentRouteName)) {
                        columns.add("posters-recent", {
                            header: AssignHeaderCell,
                            item: AssignCell,
                            after: "posters",
                        });
                    }
                    return columns;
                }
            );
        });
    },
};

Le but est d’insérer un nouvel élément de colonne et un nouvel en-tête après la colonne « posters », cela fonctionne pour l’élément, mais l’en-tête n’est toujours pas au bon endroit, il a été placé après la colonne « activity ».

Y a-t-il quelque chose qui manque dans mon code ? et existe-t-il une documentation qui explique comment faire cela correctement ?

Il y a un nouveau guide :

Cependant, il pourrait ne pas être très utile dans ce cas.

@NateDhaliwal merci pour l’info, je vais vérifier.

Je pense que le code devrait ressembler à ceci :

columns.add(
  "posters-recent",
  { header: AssignHeaderCell, item: AssignCell }
  { after: "posters"}
});

Et vous pourriez avoir besoin de spécifier un before :

{after: "posters", before: "replies"}
1 « J'aime »

@Arkshine merci beaucoup, ton code fonctionne !!! génial :+1:

1 « J'aime »

Nous avons maintenant activé la bannière d’avertissement pour ces dépréciations, de sorte que les administrateurs de la communauté seront informés de tous les thèmes ou plugins qui doivent encore être mis à jour.

Nous avons également publié un guide de référence avec des indications vers toutes les différentes manières de personnaliser la nouvelle liste de sujets :

J’ai ajouté un lien vers celui-ci depuis le message d’origine.

6 « J'aime »

David, je ne sais pas si vous préférez ce sujet ou l’autre, mais voici :

Mon nouveau composant conforme (je pense) échoue lorsque “Enable Glimmer Topic List” est défini sur “Auto”…

Cela suggère que la nouvelle API n’est pas activée en mode “Auto”… y a-t-il quelque chose que je doive faire pour signaler le composant de thème afin que Discourse utilise la nouvelle API Glimmer lorsqu’il est en mode “Auto” ?

3 « J'aime »

J’ai remarqué l’avertissement ici :

Mais cela ne pose toujours aucun problème malgré la date que vous avez indiquée ci-dessus, qui est passée, et je suis sur la dernière version ?

Les choses sont un peu retardées, mais nous espérons avoir terminé le retrait de l’ancien code dans les 1 à 2 prochaines semaines.

Est-ce que cela casserait complètement les thèmes qui ne sont pas encore à jour ? Devrions-nous éviter de mettre à jour ? ou y a-t-il quelque chose que nous pouvons faire simplement si nous forquons le thème ?

1 « J'aime »

Cela empêchera l’application de leurs personnalisations à la liste des sujets, oui.

Je ne le recommanderais pas. Les mises à jour du cœur de Discourse incluent souvent des correctifs de sécurité, et votre communauté pourrait être vulnérable si vous arrêtez les mises à jour.

Il semble que vous ayez tout compris dans l’autre sujet :chefs_kiss:

2 « J'aime »

Les anciens systèmes de liste de sujets et de « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « «

5 « J'aime »

C’est fantastique ! Félicitations à l’équipe CDCK qui a travaillé sur ce projet. :partying_face:

Merci également à vous et à votre équipe pour votre grande réceptivité aux demandes de fonctionnalités et pour la conception réfléchie de la nouvelle API :heart_eyes:

Je craignais que nous perdions certaines capacités. Mais en réalité, nous en avons obtenu beaucoup plus tout en étant beaucoup plus faciles à utiliser ! :rocket:

6 « J'aime »

Concernant les modèles bruts, est-ce que je comprends bien qu’il n’est plus possible d’utiliser des composants dans le modèle avec la fonction d’autocomplétion (par exemple, emoji) ?

this.textManipulation.autocomplete({
      template: renderEmojiAutocomplete,

Il semble que vous ne puissiez renvoyer que du HTML maintenant.
Je pense que vous avez dit que l’autocomplétion serait retravaillée à un moment donné, mais ce n’est probablement pas pour tout de suite.

Voyez-vous une solution de contournement ici ? (Essai de corriger Emoji Fluff TC)

3 « J'aime »

Malheureusement, nous n’avons pas mis en place de message de dépréciation approprié pour l’autocomplétion, désolé ! Mais il y a une voie à suivre - consultez : Autocomplete still using Raw Templates - #4 by david

2 « J'aime »