Form-Toolkit – Tooltip lässt sich mit Komponente nicht wie in der Dokumentation oder in Tests beschrieben zum Laufen bringen

Die Diskussion wird fortgesetzt von Discourse-Toolkit zum Rendern von Formularen:

Das funktioniert bei mir nicht. Es rendert einfach keinen Tooltip. Ich habe genau das kopiert

            @tooltip={{component DTooltip content="component"}}

das im Form-Kit-Test steht. Wenn ich eine Komponente verwende, wird kein Tooltip gerendert.

Ich kann kein Beispiel finden, in dem eine Komponente im Core oder in all-the-plugins verwendet wird. Es scheint also unmöglich zu sein, i18n mit einem Tooltip in einem Formular zu verwenden? (Ich hatte gehofft, dass ich es vielleicht einfach nicht herausfinden kann)

Ich habe beide dieser Importe ausprobiert, der letztere aus dem Test (warum gibt es zwei? Vielleicht sind es zwei Wege, dieselbe Datei aufzurufen? Ich sehe nur eine im Core):

// import DTooltip from "discourse/components/d-tooltip";
import DTooltip from "float-kit/components/d-tooltip";
1 „Gefällt mir“

Tatsächlich sind der Test und die Dokumentation etwas verwirrend.

Wenn man sich den Code ansieht, muss man nur eine DTooltip-Komponente zurückgeben.
Zum Beispiel funktioniert das für mich:

const tooltip = <template>
    <DTooltip @icon="circle-question" @content="test" />
</template>

<form.Field
    @name="username"
    @title="Username"
    @validation="required"
    @tooltip={{tooltip}}
    as |field|
>
    <field.Input />
</form.Field>

image

1 „Gefällt mir“

Wenn ich so etwas mache, wird der Tooltip einfach dem Feldnamen hinzugefügt.

@tooltip erwartet nur einen String. Sobald ich das erkannt hatte, habe ich eine Funktion erstellt, die einen String zurückgibt wie

  @action
  tooltipText(field) {
    return i18n("pfaffmanager.help." + field + "_tooltip");
  }
...
               form.Field
              @name="install_type"
              @format="large"
              @translatedLabel="Bananen sind lecker"
              @validation="required"
              @tooltip={{this.tooltipText "install_type"}}
              @class="install-field"
              @title="Installationsart"
              {{! @description="description." }}
              als |field|
            
              field.Select
                {{on "focus" (fn this.fieldClicked "install_type")}}
                als |select|
              

Dies scheint eine weitere Stelle zu sein, an der die Dokumentation einfach falsch ist.