Render a component within a Widget. (Using select-kit components within plugin code)

Ja, die habe ich definiert. Ich werde es aufräumen und in ein Repository pushen.

Ein Test, der eine Form der Zwei-Wege-Bindung mit einer eingebetteten Komponente demonstriert, wäre äußerst hilfreich! :pray:

1 „Gefällt mir“

Ich konnte darauf und auf die Funktion scheduleRerender() zugreifen. Tests und Dokumentation aktualisiert in

Nur zur Bestätigung – wird Ihr @bind von discourse-common/utils/decorators importiert?

1 „Gefällt mir“

Bestätigt

Hier ist das Repository: GitHub - merefield/discourse-tc-bars-tag-intersection-chooser: A small widget to allow you to navigate to a topic list based on a combinations of tags

Und die Widget-Datei speziell: layouts-tag-intersection-widget/layouts-tag-combo.js.es6 at master · paviliondev/layouts-tag-intersection-widget (github.com)

Sehr WIP und wie angegeben nicht funktionierend.

(Erfordert, dass das Layouts-Plugin installiert und konfiguriert ist, um es wie derzeit zu testen, aber es ist trivial, den Widget-Code zu extrahieren)

Ah, ich glaube, das könnte helfen:

- @onChange={{action @data.onChangeUpdateTagSet}}/>
+ @onChange=@data.onChangeUpdateTagSet/>

Wenn eine „Closure Action“ übergeben wird, ist die (action-Hilfsfunktion nicht erforderlich (und in diesem Fall scheint sie die Dinge tatsächlich zu beeinträchtigen).

2 „Gefällt mir“

Das scheint zu TypeError: this.attrs.onChange ist keine Funktion zu führen?

Aber ja, vielleicht überschreibt dieser Helfer die verfügbaren Attribute?

Oh, mein Fehler, wir brauchen dort geschweifte Klammern, sonst wird es nur als Zeichenfolgenattribut interpretiert.

- @onChange={{action @data.onChangeUpdateTagSet}}/\u003e
+ @onChange={{@data.onChangeUpdateTagSet}} /\u003e
1 „Gefällt mir“

Leider führt das zu demselben Fehler?

1 „Gefällt mir“

Können Sie einen Haltepunkt hinzufügen und herausfinden, welchen Wert this.attrs.onChange hat? (Die Funktion „Anhalten bei Ausnahme“ in den Entwicklertools kann hier hilfreich sein)

1 „Gefällt mir“

@David und ich haben dies per PM gelöst:

Vielen Dank für deine Zeit, @David.

Ich werde den TC veröffentlichen, sobald er abgeschlossen ist.

3 „Gefällt mir“

Dies ist jetzt eine Sache, wenn auch im Moment noch etwas grob fertiggestellt:

Erfordert das Layouts Plugin.

Repo der Theme-Komponente hier: GitHub - merefield/discourse-tc-bars-tag-intersection-chooser: A small widget to allow you to navigate to a topic list based on a combinations of tags

6 „Gefällt mir“

FYI, diese Komponente unterstützt jetzt auch rechte Seitenleistenblöcke!

1 „Gefällt mir“

FYI Diese Komponente unterstützt Discourse Bars 🍻 🍸 (a sidebar framework)

2 „Gefällt mir“