2010-04-09 4 views
0

J'essaie de comprendre la logique de création de tâches qui ont des dépendances. En bref, je construis un système de gestion des tâches dynamique et chaque tâche a plusieurs options, l'une d'entre elles est de commencer la tâche après un prédécesseur.Logique du prédécesseur de tâches/dépendances pour l'application de gestion des tâches

Les utilisateurs peuvent ajouter/supprimer/réordonner (par glisser & drop) tâches alors je me demande comment puis-je faire les prédécesseurs dynamiques, voici un exemple de ce que je veux dire

  • Tâche 1
  • tâche 2
  • tâche 3 -> dépendant de la tâche 2
  • tâche 4 -> dépendant de la tâche 2

tâches se renomme d sur supprimer et/ou re-commander. Si la tâche 1 est supprimée, alors 3 et 4 devraient devenir dépendants de la tâche 1 (qui est l'ancienne tâche 2). Je me suis cogné la tête ces dernières heures en essayant de comprendre comment faire ça. J'utilise jQuery en ce moment et chaque tâche est contenue dans un div avec un identifiant incrémental (ie id = "task1") qui est renommé chaque fois qu'une tâche est supprimée ou réordonnée et que j'utilise dynamiquement liste déroulante remplie pour sélectionner un prédécesseur.

Quel serait le moyen le plus simple d'y parvenir?

par ailleurs, je ne suis pas nécessairement demander le code, juste essayer de trouver la meilleure façon de lutter contre cette

Répondre

0

Faire l'ordre séparé de l'ID de tâche.

  • ordre 1: Tâche 1
  • Commander 2: Tâche 2
  • ordre 3: Tâche 3 -> dépendant de la tâche 2
  • ordre 4: Tâche 4 -> fonction de la tâche 2

Après la suppression de la tâche 1, il devient ...

  • ordre 1: tâche 2
  • Commander 2: Tâche 3 -> dépendant de la tâche 2
  • ordre 3: Tâche 4 -> fonction de la tâche 2
+0

C'est ce que j'avais à l'esprit, mais je suis en train de trouver un moyen efficace de stocker la commande (puisque la commande n'a pas vraiment d'importance lors de la création) Voulez-vous dire stocker la commande dans un tableau? – Serge

+0

Voulez-vous dire stockage efficace dans la base de données ou en mémoire? En mémoire, un tableau fonctionne parfaitement. Dans une base de données, vous pouvez utiliser deux tables: une pour la tâche et une pour mettre les tâches en ordre. –

+0

Je voulais dire en mémoire. Je peux me tromper mais je ne pense pas que le stocker dans un tableau serait efficace. Si une tâche a un prédécesseur, à chaque suppression ou tri, je vais devoir chercher dans le tableau l'ID de la tâche et retourner son ordre et repeupler la liste déroulante ... non? – Serge

Questions connexes