Fui solicitado a fornecer uma opção para configurar a ordem das caixas de entrada de grupo na seção da barra lateral que meu componente adiciona. Agora estou procurando uma solução elegante que permita a um administrador configurar a ordem da maneira mais fácil possível.
Pensei em uma configuração de tipo de objeto muito simples. Cada entrada conteria um único seletor de grupo (através do tipo de configuração groups), o que é muito mais fácil do que inserir nomes ou IDs manualmente. Os itens poderiam então ser reordenados usando as setas para cima/baixo.
Isto é o que eu tinha em mente:
Mas, na realidade, parece mais com isto:
O dropdown de grupo em si funciona bem. Embora a configuração armazene o ID do grupo, os administradores veem o nome do grupo no dropdown, então selecionar o correto é fácil. No entanto, quando uso o valor group como identificador para a entrada do objeto, a interface do usuário exibe apenas o ID do grupo, não o nome do grupo. Isso torna a alteração da ordem difícil, pois os administradores teriam que confiar nos IDs em vez dos nomes.
(Além disso, há uma grande quantidade de espaço à direita, mas “groups” ainda quebra de forma estranha.)
setting.yml
group_inbox_order:
type: objects
default: []
schema:
name: entry
identifier: group
properties:
group:
type: groups
required: true
max: 1
No vídeo acima, adicionei uma configuração de texto adicional para cada entrada onde eu inseria o nome do grupo manualmente e usava isso como identificador. Mas isso não parece uma boa solução, porque o texto exibido não está mais vinculado ao grupo real, e os nomes dos grupos podem mudar.
setting.yml
group_inbox_order:
type: objects
default: []
schema:
name: entry
identifier: text
properties:
group:
type: groups
required: true
max: 1
text:
type: string
Eu também poderia usar uma configuração de lista do tipo “group”, mas é muito difícil reordenar os itens lá, já que você só pode excluí-los e adicioná-los novamente.
Alguém tem alguma ideia de como posso resolver isso da melhor forma?

