¿Cómo añadir mi propio drop down (popupMenu) como las opciones del composer?

Agregué el siguiente código a mi componente de tema y esperaba que apareciera un nuevo popupMenu en el compositor.

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

Pensé que podría seguir el código aquí, donde se agrega el engranaje de options, y funcionaría.

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

Pensé que podría crear botones adicionales con el grupo crud y que aparecerían en su propio menú desplegable como las opciones predeterminadas. ¿Es esto posible? ¿Podría obtener un ejemplo de cómo configurar y vincular opciones a su propio popupMenu?

2 Me gusta

No creo que nuestra API de plugin de JavaScript esté configurada para que sea fácil agregar un menú desplegable secundario en este momento. Las personalizaciones de la barra de herramientas que se me ocurren solo han agregado opciones al menú desplegable existente.

Para que algo se renderice, necesitarías cambiar tu group a "extras". Los grupos están codificados y se relacionan con las diversas secciones de los botones del compositor.

La otra cosa a tener en cuenta es que el icon que elijas debe agregarse a través de tu componente de tema o la configuración del sitio svg icon subset.

Más allá de eso, me temo que te estás adentrando en un territorio bastante inexplorado.

4 Me gusta

De acuerdo, eso tiene mucho sentido para las secciones de grupo.

He vuelto a cambiar el grupo a “extras” y ahora sí aparece, pero ahora aparece junto con el menú desplegable de opciones existente.

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

¿Sería posible añadir esto a la API del plugin? La capacidad de añadir elementos personalizados a tu propio menú desplegable, independiente del menú desplegable de opciones existente. Podría ser útil, ya que nuestro editor empieza a parecer un poco abarrotado con todas las opciones adicionales que nos gustaría tener :slight_smile:

2 Me gusta

¡Entiendo totalmente cómo podría ser útil! Veo que abriste un tema de Feature, lo cual es perfecto. Eso nos ayudará a rastrear el interés y, con suerte, hacerlo realidad en algún momento en el futuro.

4 Me gusta

Gracias @tshenry ¡Aprecio que lo investigues!

3 Me gusta