Konfiguration der Reihenfolge von Gruppen in Theme-Komponenten-Einstellungen

Mir wurde die Möglichkeit gewünscht, die Reihenfolge der Gruppen-Posteingänge im Seitenleistenbereich, den meine Komponente hinzufügt, zu konfigurieren. Nun suche ich nach einer eleganten Lösung, die es einem Administrator ermöglicht, die Reihenfolge so einfach wie möglich zu konfigurieren.

Ich dachte an eine sehr einfache Einstellung vom Typ „Objekt“. Jeder Eintrag würde einen einzelnen Gruppenauswahler enthalten (über den Einstellungstyp groups), was viel einfacher ist, als Namen oder IDs manuell einzugeben. Die Elemente könnten dann mithilfe der Auf-/Ab-Pfeile neu angeordnet werden.

Das hatte ich im Sinn:


Aber in Wirklichkeit sieht es eher so aus:

Die Gruppenauswahl selbst funktioniert gut. Obwohl die Einstellung die Gruppen-ID speichert, sehen Administratoren den Namen der Gruppe im Dropdown-Menü, sodass die Auswahl der richtigen Gruppe einfach ist. Wenn ich jedoch den Wert group als Bezeichner für den Objekteintrag verwende, zeigt die Benutzeroberfläche nur die Gruppen-ID und nicht den Gruppennamen an. Dies erschwert die Änderung der Reihenfolge, da sich Administratoren auf IDs anstelle von Namen verlassen müssten.
(Außerdem gibt es auf der rechten Seite viel Platz, aber „groups“ bricht immer noch seltsam um.)

setting.yml
group_inbox_order:
  type: objects
  default: []
  schema:
    name: entry
    identifier: group
    properties:
      group:
        type: groups
        required: true
        max: 1

Im obigen Video habe ich eine zusätzliche Texteinstellung für jeden Eintrag hinzugefügt, in die ich den Gruppennamen manuell eingegeben und als Bezeichner verwendet habe. Das fühlt sich jedoch nicht wie eine gute Lösung an, da der angezeigte Text nicht mehr an die tatsächliche Gruppe gebunden ist und sich Gruppennamen ändern können.

setting.yml
group_inbox_order:
  type: objects
  default: []
  schema:
    name: entry
    identifier: text
    properties:
      group:
        type: groups
        required: true
        max: 1
      text:
        type: string

Ich könnte auch eine Listen-Einstellung vom Typ „group“ verwenden, aber es ist sehr schwierig, die Elemente dort neu anzuordnen, da man sie nur löschen und neu hinzufügen kann.

Hat jemand Ideen, wie ich das am besten lösen kann?