web-dev-qa-db-fra.com

Existe-t-il une meilleure pratique pour joindre zéro ou plusieurs enregistrements à un élément parent?

Choses que je dois faire:

  1. afficher une liste des éléments liés à un élément parent (contacts sur un devis)
  2. pouvoir supprimer un article de sa liste (supprimer le contact du devis mais pas supprimer le contact)
  3. pouvoir éditer un élément de sa liste
  4. pouvoir créer un nouvel élément et l'ajouter à sa liste (avec une forme minimale)
  5. pouvoir rechercher des éléments existants et en ajouter un ou plusieurs à la liste [6. pouvoir parcourir les éléments existants (exemple "contacts récents") et en ajouter un ou plusieurs à la liste]

il y aurait plusieurs listes associées dont j'aurais besoin pour cela sur un objet parent (contacts, échanges, éléments de campagne, etc.)

existe-t-il une manière commune, standard ou acceptée de procéder?

1
Neil McGuigan

Il existe trois modèles courants.

Exploration vers le bas Un lien ou un autre contrôle dans la fenêtre parent ouvre une fenêtre (ou page) distincte qui répertorie les éléments enfants pour le parent. Ceci est préférable lorsque les utilisateurs doivent occasionnellement passer du parent aux enfants, mais doivent également accéder régulièrement à la page des enfants directement pour certaines tâches. Ces dernières tâches peuvent inclure la recherche de contacts sur certains critères ou la navigation dans les contacts récents indépendamment du parent.

Détail principal Dans une seule fenêtre (ou page), la partie supérieure affiche les données parentales et la partie inférieure la liste des éléments enfants. Ceci est préférable lorsque l'utilisateur doit travailler ensemble sur les données parent et enfant, en changeant fréquemment d'attention entre eux. Cela inclut les situations où vous avez plusieurs objets parents dans la même fenêtre (par exemple, ils sont eux-mêmes une liste), donc maintenant l'utilisateur bascule entre plusieurs parents et plusieurs enfants au sein des parents.

Contrôle d'arborescence Si vous avez plusieurs objets parents dans la même fenêtre, ils peuvent être des nœuds de niveau supérieur dans une arborescence, où l'expansion de l'un d'eux affiche son articles enfants directement sous le parent. Cela est préférable lorsque la profondeur de la hiérarchie est variable entre les parents et/ou relativement complexe (par exemple, plus de deux niveaux comme vous le décrivez).

J'ai des détails et des illustrations de chacun d'entre eux sur Prise des volets .

La création, la modification et la suppression sont les mêmes dans les trois. L'édition est préférable si elle est éditée sur place, où l'utilisateur peut modifier les champs directement tels qu'ils apparaissent dans la fenêtre (y compris la liste). Un bouton ou un élément de menu Insérer ou Ajouter crée un objet vide (par exemple, l'insère dans la liste) pour la saisie. Une alternative consiste à avoir un enregistrement vierge toujours disponible pour la saisie, mais cela ne fonctionne bien qu'avec les listes. Un bouton Supprimer ou un élément de menu supprime un objet.

Il existe deux modèles pour spécifier l'objet ou la classe d'objet sur lesquels agir.

Contrôles en double Il y a le style Web d'avoir des contrôles séparés pour chaque objet ou classe. Par exemple, chaque élément de votre liste possède un bouton Supprimer. L'élément parent possède également un bouton Supprimer pour distinguer la suppression du parent de la suppression d'un enfant.

Sélection - Action Ensuite, il y a le style de bureau d'avoir un seul contrôle centralisé pour chaque action et un icône ou autre contrôle qui permet à l'utilisateur de sélectionner un ou plusieurs objets (parent ou enfants) sur lesquels l'action suivante doit agir.

L'avantage des contrôles en double sur la sélection-action est qu'il suffit d'un clic, plutôt que de deux, pour effectuer une action. Le principal avantage de Selection-Action est que vous pouvez consacrer plus d'espace de fenêtre aux données et moins aux contrôles.

3
Michael Zuschlag