Toolkit del modulo -- impossibile far funzionare il tooltip con il componente come descritto nel topic della documentazione o nei test

Continuando la discussione da Discourse toolkit per il rendering dei moduli:

Non riesco a farlo funzionare. Semplicemente si rifiuta di renderizzare un tooltip. Ho copiato esattamente

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

che è nel test di form-kit. Se uso un componente, non viene renderizzato alcun tooltip.

Non riesco a trovare un esempio di componente utilizzato nel core o in all-the-plugins, quindi sembra impossibile usare i18n con un tooltip in un modulo? (Speravo di non riuscire a capirlo)

Ho provato entrambe queste importazioni, l’ultima dal test (perché ce ne sono due? Forse sono due modi per chiamare lo stesso file? Ne vedo solo uno nel core):

// import DTooltip from "discourse/components/d-tooltip";
import DTooltip from "float-kit/components/d-tooltip";
1 Mi Piace

In effetti, il test e la documentazione sono un po’ confusi.

Guardando il codice, devi solo restituire un componente <DTooltip>.
Ad esempio, questo funziona per me:

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 Mi Piace

Quando faccio qualcosa del genere, il tooltip viene semplicemente aggiunto al nome del campo.

@tooltip vuole solo una stringa. Una volta capito questo, ho creato una funzione che restituisce una stringa come

  @action
  tooltipText(field) {
    return i18n("pfaffmanager.help." + field + "_tooltip");
  }
...
               0form.Field
              @name="install_type"
              @format="large"
              @translatedLabel="bananas are delicious"
              @validation="required"
              @tooltip={{this.tooltipText "install_type"}}
              @class="install-field"
              @title="Install Type"
              {{! @description="description." }}
              as |field|
            0
              ield.Select
                {{on "focus" (fn this.fieldClicked "install_type")}}
                as |select|
              0

Questo sembra un altro caso in cui la documentazione è semplicemente sbagliata.