web-dev-qa-db-fra.com

Réorganiser et fusionner / annuler la fusion des éléments

J'ai une liste qui se compose de blocs d'un ou plusieurs éléments. Par exemple, il y a 3 blocs avec un total de 5 éléments dans l'image suivante.

list

L'utilisateur peut ajouter des éléments, décider quels éléments sont regroupés dans un bloc, l'ordre des blocs et les éléments au sein des blocs. Il n'y a généralement qu'un seul élément par bloc, et presque toujours 4 ou moins. Il y a généralement 30 à 100 blocs.

Quels sont les meilleurs contrôles utilisateur à fournir?

Mon idée est que l'utilisateur peut effectuer les actions suivantes:

  • Réorganiser les blocs (et tous les éléments qu'il contient)
  • Déplacer/réorganiser des éléments dans des blocs
  • Déplacer/réorganiser des éléments hors des blocs

Mais je ne peux pas penser à des contrôles appropriés, autres que le clic gauche-glisser-déposer et le clic droit-glisser-déposer, qui ne suffisent pas pour les actions.

1
Code

Considérez: Clic gauche Sélectionnez/Désélectionnez les éléments, Clic droit Révélez le menu contextuel

Menu contextuel - Wikipedia

Un menu contextuel offre un ensemble limité de choix disponibles dans l'état ou le contexte actuel du système d'exploitation ou de l'application auquel le menu appartient. Habituellement, les choix disponibles sont des actions liées à l'objet sélectionné.

Le problème devient alors de déterminer les étiquettes d'option de menu appropriées et ce qui arrive aux éléments une fois qu'ils ont été traités.

À partir d'un état de départ, si je veux créer mon premier groupe, je clique avec le bouton gauche sur un ou plusieurs éléments, clique avec le bouton droit sur l'un d'entre eux et sélectionne quelque chose comme "Groupe sélectionné" dans le menu.

Je pourrais utiliser la même commande pour créer un nouveau groupe à partir d'éléments uniques ou dans d'autres groupes.

Si je veux détacher un ou plusieurs éléments d'un groupe, je les ai tous cliqués avec le bouton gauche de la souris, cliquez avec le bouton droit sur n'importe quel élément et sélectionnez quelque chose comme "Supprimer du (des) groupe (s)".

Évidemment, il y a beaucoup de nuances à régler, mais vous voyez l'idée.

1
dennislees

Le clic droit et gauche de la souris ne semble pas très intuitif. Cela pourrait être OK s'il s'agit d'une application utilisée par des experts.

Les actions possibles doivent toujours être visibles pour l'utilisateur. Voici donc mes pensées:

  • Rendre le groupe plus visible
  • Si c'est le cas, faites glisser sur le groupe fera glisser le groupe
  • faire glisser sur un élément (à l'intérieur ou à l'extérieur du groupe) fera glisser l'élément
  • lors du déplacement d'un groupe ou d'un élément, il devrait être visible où la chute aura lieu. Cela peut être réalisé si les éléments situés sous la zone de dépôt se sont déplacés un peu vers le bas
  • lors du déplacement d'un élément et que l'utilisateur survole un élément qui n'est pas encore groupé, l'élément unique existant doit être affiché en tant que groupe afin que l'utilisateur puisse regrouper l'existant avec l'élément dragé.

J'ai essayé de mettre quelque chose ensemble ici

1
BrunoH