Discourse toolkit to render forms

Ja, das könnte funktionieren. Ich werde es ausprobieren.

Ich vermute, ich suchte nach einer “framework-eigenen” Option, aber das hier ist definitiv eine völlig sinnvolle Alternative. Danke.

2 „Gefällt mir“

{“type”:“object”,“properties”:{“translation”:{“type”:“string”}}}

1 „Gefällt mir“

Die Dinge mit dem Hochladen von Bildern werden noch seltsamer.

Manchmal, wenn ich ein Dateidialogfeld zum Hochladen eines Bildes über eine Formularsteuerelement öffne, erhalte ich diesen Fehler:

selectedText - utilities.js:137:25
TypeError: ancestor is null
 const postMenuArea = ancestor.querySelector(".post-menu-area");
    <form.Field
      @name="upload_url_1"
      @title="Upload"
      @onSet={{this.handleUpload}}
      as |field|
    >
      <field.Image @type="branding" />
    </form.Field>

Das ist besonders seltsam, weil mein Formular in einem Modal ist, das nichts mit Posts zu tun hat.

Am Ende funktioniert alles, es ist nur ein wenig hässlich in der Browserkonsole.

Viele Grüße!

2 „Gefällt mir“

[Zitat=“awesomerobot, Beitrag:4, Thema:326439”]
Ich denke, der Formularimport war falsch, deshalb habe ich den OP aktualisiert
[/Zitat]

Aber du hast den OP nicht aktualisiert oder es wurde rückgängig gemacht. Und ich habe noch mehr Zeit verloren, als ich zugeben möchte, um das herauszufinden.

[Zitat=“System, Beitrag:1, Thema:326439”]
Hier ist das grundlegendste Beispiel eines Formulars:

import Component von "@glimmer/component";
import { action } from "@ember/object";
import Form von "discourse/form";

[/Zitat]

Sind diese Anleitungen auf GitHub? Richtig? Falls ja, könnten sie auf GitHub verlinken?

2 „Gefällt mir“

Ah ja, ich habe nicht bemerkt, dass dieses Thema aus unserem Dokumentations-Repository stammt, sodass es zurückgesetzt wurde und ich nie nachgefasst habe… Es kommt jetzt eine ordnungsgemäße Lösung.

2 „Gefällt mir“

Danke!

Und eine weitere Lösung wäre, eine Theme-Komponente zum Quellcode hinzuzufügen, damit man nicht wieder in die Falle tappen kann, die Änderung am falschen Ort vorzunehmen, und ich könnte einen Pull Request einreichen.

Wir verstecken den Bearbeiten-Button zwar bei Documentation > Developer Guides Themen, aber ich denke, die Leute umgehen das, indem sie Tastenkombinationen oder schnelles Bearbeiten verwenden. Mehr Dinge zum Verstecken/Deaktivieren! :sweat_smile:

Wir haben das am Ende jedes Dokuments, mit einem Link zur Quelldatei. Das ist wahrscheinlich das Beste, was du verwenden kannst, wenn du einen PR machen willst:

Ah. Ergibt Sinn. Außerdem gelten Regeln oft nicht für Administratoren.

Moment. Was?

Oh. Ups. Es ist in winzigen Buchstaben, aber jetzt, wo ich es sehe, erinnere ich mich, es schon einmal gesehen zu haben. :person_shrugging:

Ich habe dieses Mal weitere Fortschritte gemacht. Ich mache eine Menge ziemlich benutzerdefinierter Dinge (wie ich Text auslösen muss, der beim Eingeben eines Feldes angezeigt wird), was mich daran hindern könnte, es zu verwenden.

Haben Sie eine Idee, wie ich eine Funktion auslösen kann, wenn ich ein Feld betrete? (Anwendungsfall: Wenn Sie das Feld für den Digital Ocean API-Schlüssel eingeben, wird ein Text angezeigt, der beschreibt, wie Sie den API-Schlüssel erhalten).

EDIT: Ja, https://ask.discourse.com/ konnte es mir sagen! Es ist schmerzlich offensichtlich, sobald man es weiß. :person_shrugging:

import { on } from "@ember/modifier";
...
  @action
  hostnameClicked(event) {
    this.setHelpText(i18n("pfaffmanager.help.hostname"));
  }
...

            <field.Input @type="text" {{on "click" this.hostnameClicked}} />
1 „Gefällt mir“