Custom ordering of IConfigTabs within a ConfigCategory

When programming for the gateway page, how can I provide a custom ordering for the entries (IConfigTabs) underneath my general config header (ConfigCategory)? It appears that by default the entries are sorted alphabetically rather than in the ordering I return them in (from getConfigPanels() in the gateway hook). I understand that the config category headings themselves can be ordered using the “order” int passed to the ConfigCategory constructor. I have dug into the code and searched around and have not found how can I do something similar for the sub-headings. It seems to be possible since some of the built-in Ignition panels break the alphabetical ordering rule (SYSTEM -> Overview, for example).

Any hints on how to accomplish this?

Thank you!

The comparator we use for the tabs puts the Overview page first, then alphabetical by name. The name isn’t the same as the menu title, though, so you should have control over the ordering.

The following is a 7.9.x example:

public static IConfigTab MENU_ENTRY = DefaultConfigTab.builder() .category(SYSTEM) .name("aMenuItem") .i18n("Config.MyPage.MenuTitle") .page(MyPage.class) .terms("a term", "another term") .build();
This would come before something you named bMenuItem – you users will not see that, and instead only see what the i18n entry resolves to.

Hi Kathy,

Thanks for the response – this information helps. I understand that the title corresponds to what is displayed in the navigation bar, and that the name is what is used for creating the link that gets used in the site. (For example, under the NETWORKING header, “Gateway Network” appears before “Email Settings” because the actual links are network.gan and network.smtp, “g” coming before “s”.)

I was curious because of system.overview which is placed before other links which would come before alphabetically. Based on your reply, my understanding is that this is a special internal case and there is no way to decouple the link name and the ordering in a general case. This should be fine – I will just have to come up with a few creative names for the links to have them make sense and yet still take the order I am aiming at.

Thanks again!