Comment ajouter mon propre menu déroulant (popupMenu) comme les options du compositeur ?

J’ai ajouté le code suivant à mon composant de thème et je m’attendais à ce qu’un nouveau popupMenu apparaisse dans le compositeur.

api.onToolbarCreate(toolbar => {
  toolbar.addButton({
      id: "align_center_button",
      group: "crud",
      icon: "align-center",
      popupMenu: true
  });
});

Je pensais pouvoir suivre le code ici où le cog des options est ajouté et que cela fonctionnerait.

        toolbar.addButton({
          id: "options",
          group: "extras",
          icon: "cog",
          title: "composer.options",
          sendAction: this.onExpandPopupMenuOptions.bind(this),
          popupMenu: true,
        });

Je pensais pouvoir créer des boutons supplémentaires avec le groupe crud et qu’ils apparaîtraient dans leur propre menu déroulant, comme les options par défaut. Est-ce possible ? Pourrais-je obtenir un exemple de la façon de configurer et de lier des options à mon propre popupMenu ?

2 « J'aime »

Je ne pense pas que notre API de plugin Javascript soit configurée pour faciliter l’ajout d’un menu déroulant secondaire à ce stade. Les personnalisations de la barre d’outils auxquelles je peux penser ont toutes simplement ajouté des options au menu déroulant existant.

Pour que quelque chose soit rendu, vous devrez changer votre group en \"extras\". Les groupes sont codés en dur et correspondent aux différentes sections des boutons du compositeur.

L’autre chose à surveiller est que l’icon que vous choisissez doit être ajouté via votre composant de thème ou le paramètre de site svg icon subset.

Au-delà de cela, je crains que vous n’entriez dans un territoire assez inexploré.

4 « J'aime »

Ah d’accord, cela a beaucoup de sens pour les sections de groupe.

J’ai reconfiguré le groupe sur « extras » et maintenant il s’affiche, mais il apparaît maintenant avec le menu déroulant existant des options cog dans le même menu.

api.onToolbarCreate(toolbar => {
  toolbar.addButton({
    id: "align_center_button",
    group: "extras",
    icon: "align-center",
    popupMenu: true
  });
});

Serait-ce une fonctionnalité possible à ajouter à l’API du plugin ? La possibilité d’ajouter des éléments personnalisés à votre propre menu déroulant, indépendamment du menu déroulant des options existantes. Je peux voir que cela pourrait être utile car notre compositeur commence à sembler un peu encombré avec toutes les options supplémentaires que nous aimerions avoir :slight_smile:

2 « J'aime »

Je comprends tout à fait à quel point cela pourrait être utile ! Je vois que vous avez ouvert un sujet de Feature, ce qui est parfait. Cela nous aidera à suivre l’intérêt et, espérons-le, à le rendre possible dans le futur.

4 « J'aime »

Merci @tshenry, j’apprécie que vous vous penchiez sur la question !

3 « J'aime »