Configurazione dell'ordine dei gruppi nelle impostazioni del componente tema

Mi è stata richiesta un’opzione per configurare l’ordine delle caselle di posta dei gruppi nella sezione della barra laterale che il mio componente aggiunge. Ora sono alla ricerca di una soluzione elegante che consenta a un amministratore di configurare l’ordine nel modo più semplice possibile.

Stavo pensando a un’impostazione di tipo oggetto molto semplice. Ogni voce conterrebbe un singolo selettore di gruppo (tramite il tipo di impostazione groups), che è molto più facile che inserire manualmente nomi o ID. Le voci potrebbero quindi essere riordinate utilizzando le frecce su/giù.

Questo è ciò che avevo in mente:


Ma in realtà, assomiglia più a questo:

Il menu a discesa del gruppo di per sé funziona bene. Sebbene l’impostazione memorizzi l’ID del gruppo, gli amministratori vedono il nome del gruppo nel menu a discesa, quindi selezionare quello corretto è facile. Tuttavia, quando uso il valore group come identificatore per la voce dell’oggetto, l’interfaccia utente mostra solo l’ID del gruppo, non il nome del gruppo. Ciò rende difficile la modifica dell’ordine, poiché gli amministratori dovrebbero fare affidamento sugli ID anziché sui nomi.
(Inoltre, c’è molto spazio a destra, ma “groups” si interrompe ancora in modo strano.)

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

Nel video sopra, ho aggiunto un’impostazione di testo aggiuntiva per ogni voce in cui ho inserito manualmente il nome del gruppo e l’ho usato come identificatore. Ma questa non sembra una buona soluzione, poiché il testo visualizzato non è più collegato al gruppo effettivo e i nomi dei gruppi possono cambiare.

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

Potrei anche usare un’impostazione di tipo elenco di tipo “group”, ma è molto difficile riordinare le voci lì, poiché si possono solo eliminare e riaggiungere.

Qualcuno ha qualche idea su come posso risolvere al meglio questo problema?