Как добавить собственное выпадающее меню (popupMenu), как в опциях композитора?

Я добавил следующий код в компонент темы и ожидал, что в редакторе появится новое всплывающее меню.

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

Я думал, что смогу следовать примеру здесь, где добавляется кнопка «options» (шестеренка), и это сработает.

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

Я полагал, что смогу создавать дополнительные кнопки с группой crud, и они будут отображаться в собственном выпадающем списке, как и стандартные опции. Возможно ли это? Можете ли вы привести пример того, как настроить и привязать опции к вашему собственному всплывающему меню?

На данный момент я не думаю, что наш API плагина JavaScript настроен так, чтобы упростить добавление дополнительного выпадающего меню. Все варианты настройки панели инструментов, которые я могу придумать, просто добавляют опции в существующее выпадающее меню.

Чтобы что-то отобразилось, вам нужно изменить ваш group на "extras". Группы закодированы на уровне кода и соответствуют различным секциям кнопок в редакторе.

Также стоит учесть, что выбранный вами icon должен быть добавлен через компонент вашей темы или через настройку сайта svg icon subset.

Помимо этого, боюсь, вы входите в довольно неизведанные воды.

Ах, хорошо, это имеет большой смысл для секций групп.

Я вернул группу обратно в «дополнительно», и теперь она отображается, но вместе с ней и существующий выпадающий список с иконкой шестеренки показывают одно и то же меню.

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

Могла бы это быть возможной функцией для добавления в API плагина? Возможность добавлять собственные элементы в свой собственный выпадающий список независимо от существующего выпадающего списка опций. Я вижу, что это могло бы быть полезно, так как наш редактор начинает выглядеть немного загроможденным из-за всех дополнительных опций, которые мы хотели бы иметь :slight_smile:

Полностью понимаю, как это может быть полезно! Вижу, что вы создали тему #feature, что отлично. Это поможет нам отслеживать интерес и, возможно, реализовать это в будущем.

Спасибо @tshenry, я ценю, что вы вникли в это!