Problème de suppression dans la vue

a marqué ce sujet comme résolu.

Bonsoir,

J'essaie de réaliser une petite application qui gère des marques-pages internet, que l'on peut ranger dans des boîtes. Le tout est une API REST codée avec Symfony (merci le tuto sur ZdS !) et un client codé avec AngularJS.

J'en suis arrivé à la suppression d'une box, seulement, j'ai un souci: la suppression se fait bien en base de données, puisque lorsque j'actualise la page, la box est supprimée; mais la suppression n'apparaît pas tout de suite dans la liste des boxs, comme c'est le cas lorsque je crée une nouvelle box.

Mon code est disponible sur GitHub.

Je pense qu'il s'agit d'un problème d'héritage de la factory Bookmark dans la directive box.

Au passage, n'hésitez pas à dire ce que vous pensez de mon code, de la façon dont je l'organise (surtout pour le client). C'est mon premier projet avec AngularJS et je me demande si je m'y prends bien…

Merci par avance ! :)

Hello,

Je pense (pas testé ton code) qu'il y a confusion entre l'entité "id" et l'index du tableau "boxes" dans la boucle de la fonction "deleteBox". En sachant que l'index d'un tableau en JavaScript commence par 0.

PS : pour afficher un tableau dans la console, je te conseille d'utiliser console.table() au lieu de console.log().

+0 -0

Salut,

Une fois que ta requête de suppression est finie, tu executes ta fonction cancelDeleteAction :

1
2
3
4
$scope.cancelDeleteAction = function() {
   $scope.showTitleStatus = true;
  $scope.showDeleteStatus = false; // Ici tu mets bien false
}

Donc c'est normal que dans le template, la condition ng-show="showDeleteStatus" masque le bloc delete,

1
2
3
4
5
6
<p ng-show="showDeleteStatus" class="panel-title">
            Delete <b>{{ box.title }}</b> ?
            <a ng-click="deleteBox()"><span class="fa fa-check"></span></a>
            <a ng-click="cancelDeleteAction()"><span class="fa fa-times"></span></a>
        </p>
</div>

Merci pour l'astuce du console.table() ! Sinon, j'ai corrigé le souci avec l'aide d'un autre forum.

BestCoder, ce que tu décris est normal, c'est une fonctionnalité qui masque juste la question pour confirmer la suppression. En réalité, puisque maintenant lors de la suppression d'une box, celle-ci disparaît bien de l'écran, cet appel à cancelDeleteAction() ne sert à rien…

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte