Bevorstehende Änderungen bei Themen- und Plugin-Listen – wie man Themen und Plugins vorbereitet

Tut mir leid, dass ich dir in deine Wochenendruhe eingreife, David, ja, ich habe gerade die API gesehen, danke

3 „Gefällt mir“

Hallo, ich habe versucht, einen Werttransformator für „topic-list-columns“ wie folgt zu verwenden:

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;
                }
            );
        });
    },
};

Ziel ist es, ein neues Spaltenelement und eine neue Spaltenüberschrift nach der Spalte „posters“ einzufügen. Dies funktioniert für das Element, aber die Überschrift befindet sich immer noch nicht an der richtigen Stelle, sie wurde nach der Spalte „activity“ platziert.

Fehlt etwas in meinem Code? Und gibt es eine Dokumentation, die erklärt, wie das richtig gemacht wird?

Es gibt einen neuen Leitfaden:

Er ist in diesem Fall jedoch möglicherweise nicht sehr nützlich.

@NateDhaliwal danke für die Info, ich werde sie prüfen.

Ich denke, der Code sollte so aussehen:

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

Und Sie müssen möglicherweise ein before angeben:

{after: "posters", before: "replies"}
1 „Gefällt mir“

@Arkshine vielen Dank, dein Code funktioniert!!! Super :+1:

1 „Gefällt mir“

Wir haben nun das Warnbanner für diese Veralterungen aktiviert, sodass Community-Administratoren über alle Themes oder Plugins informiert werden, die noch aktualisiert werden müssen.

Wir haben auch einen Referenzleitfaden mit Wegweisern zu allen verschiedenen Möglichkeiten veröffentlicht, wie Sie die neue Themenliste anpassen können:

Ich habe einen Link dazu vom OP hinzugefügt.

6 „Gefällt mir“

David, ich bin mir nicht sicher, ob du dieses Thema oder das andere bevorzugst, aber hier ist es:

Meine neue konforme (glaube ich) Komponente schlägt fehl, wenn „Enable Glimmer Topic List“ auf „Auto“ gesetzt ist …

Es deutet darauf hin, dass die neue API nicht auf „Auto“ aktiviert wird … gibt es etwas, das ich tun muss, um die Theme-Komponente zu kennzeichnen, damit Discourse die neue Glimmer-API im Auto-Modus verwendet?

3 „Gefällt mir“

Ich habe die Warnung hier bemerkt:

Aber es verursacht immer noch keine Probleme, obwohl das von Ihnen angegebene Datum überschritten wurde und ich auf dem neuesten Build bin…?

Es gibt leichte Verzögerungen, aber wir hoffen, den alten Code in den nächsten 1-2 Wochen fertiggestellt zu haben.

Würde das Themes, die noch nicht auf dem neuesten Stand sind, komplett zerstören? Sollten wir ein Update vermeiden? Oder gibt es etwas, das wir einfach tun können, wenn wir das Theme forken?

1 „Gefällt mir“

Es wird verhindert, dass ihre Anpassungen der Themenliste angewendet werden, ja.

Das würde ich nicht empfehlen. Discourse-Core-Updates enthalten oft Sicherheitspatches, und Ihre Community könnte anfällig sein, wenn Sie keine Updates mehr durchführen.

Es klingt, als hätten Sie es in dem anderen Thema herausgefunden :chefs_kiss:

2 „Gefällt mir“

Die alten Topic-Listen und das “Raw Handlebars”-System wurden nun entfernt aus dem Discourse-Kern. Danke an alle, die geholfen haben, Plugins und Themes für diese Änderung zu aktualisieren! :rocket:

5 „Gefällt mir“

Das ist fantastisch! Herzlichen Glückwunsch an das CDCK-Team, das daran gearbeitet hat. :partying_face:

Vielen Dank auch an Sie und Ihr Team, dass Sie so offen für Funktionswünsche waren und sich so viele Gedanken über das Design der neuen API gemacht haben :heart_eyes:

Ich hatte befürchtet, wir würden einige Funktionen verlieren. Aber tatsächlich haben wir viel mehr bekommen und gleichzeitig ist die Arbeit damit deutlich einfacher geworden! :rocket:

6 „Gefällt mir“

Bezüglich Rohvorlagen, verstehe ich richtig, dass die Verwendung von Komponenten in der Vorlage mit der Autocomplete-Funktion nicht mehr möglich ist (z. B. Emoji)?

this.textManipulation.autocomplete({
      template: renderEmojiAutocomplete,

Es scheint, dass Sie jetzt nur noch HTML zurückgeben können.
Ich glaube, Sie sagten, dass Autocomplete irgendwann überarbeitet wird, aber das ist wahrscheinlich nicht bald.

Sehen Sie hier einen Workaround? (Versuch, Emoji Fluff TC zu beheben)

3 „Gefällt mir“

Leider haben wir keine ordnungsgemäße Deprecation-Meldung für Autocomplete eingerichtet, Entschuldigung! Aber es gibt einen Weg nach vorne - siehe: Autocomplete still using Raw Templates - #4 by david

2 „Gefällt mir“