ID de sujet comme variable ?

@tknospdr @pfaffman J’ai bricolé un composant rapide qui vous permet d’entrer l’ID du sujet et d’y accéder.

Créez un nouveau composant et ajoutez ceci à l’onglet JS sous le bouton Modifier CSS/HTML[1] :

import { apiInitializer } from "discourse/lib/api";
import Component from '@glimmer/component';
import { action } from "@ember/object";
import Form from "discourse/components/form";
import DiscourseURL from "discourse/lib/url";

export default apiInitializer((api) => {
    api.renderBeforeWrapperOutlet("full-page-search-filters",
        class GoToTopic extends Component {
            @action
            handleSubmit(data) {
                DiscourseURL.routeTo(`/t/${data.id}`);
            }

            <template>
                <div class="topic-id-go-to" style="margin-top: 1em;">
                    <Form @onSubmit={{this.handleSubmit}} as |form|>

                      <form.Field @name="id" @title="Topic id" as |field|>
                        <field.Input @type="number" @validation="required" />
                      </form.Field>

                      <form.Submit />
                    </Form>
                </div>
            </template>
        }
    );
});

Cela ajoute une entrée à la page de recherche :


Le bouton Submit sert à aller au sujet[2]; il n’affecte pas les résultats de recherche.

J’espère que cela vous aidera !


  1. C’est la première fois que j’utilise FormKit, c’est vraiment cool ! ↩︎

  2. Je n’ai pas pu changer le texte du bouton, car cela nécessiterait des locales… ce qui nécessiterait un dépôt TC complet, ce qui serait peut-être excessif :person_shrugging:. ↩︎

1 « J'aime »