Créer d'une corbeille

Supprimer des listes et les envoyer dans une corbeille

a marqué ce sujet comme résolu.

Salut à tous,

Je suis une débutante en Angularjs et je suis entrain de développer une petite application d’envoyer dans corbeille et restaurer après J’ai un souci et je viens vers vous pour plus d’aides et de partages. D’avance merci!

J’ai une liste d’éléments et j’aimerais après la liste de chaque élément, créer une corbeille pour y envoyer les éléments et les restaurer après. voici ma vue :view.html.erb

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
  <ul class="list-group">
    <li class="list-group-item" ng-repeat="objective in objectives">
      <span class="objective-ellipsis">
        <a ui-sref="#/view{ id: objective.id}">{{objective.title}}</a>
      </span>

      <span ng-show="objective.id == objective.id">
        <button ui-sref="edit({ id: objective.id})" class="btn btn-primary">Edit</button>
        <button ng-click="remove(item)" class="btn btn-danger">Delete</button>
        <button ng-click="trash(objective)" class="btn btn-success">Trash</button>
      </span>
    </li>
  </ul>

voici le controller qui gère la vue :objective.controller.coffee

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
`.controller 'ObjectiveViewCtrl', [
    '$scope',
    '$state',
    '$stateParams',
    'Navbar',
    'Objective',
    'Utils',
    ($scope, $state, $stateParams, Navbar, Objective, Utils) ->
      Navbar.setPageTitle "Objective List"
      # function to remove objective
      $scope.remove = (item) ->
        index = $scope.objectives.indexOf(item)
        $scope.objectives.splice index, 1
        if index > -1
          $scope.objectives.splice index, 1

      # begin function to put of trash objective
      console.log 'begin of trash'
      $scope.trashview = []
      $scope.trash = (objective) ->
        console.log 'deleted objective'
        deleteObjective = $scope.objectives.splice $scope.objectives.indexOf(objective), 1
        console.log (deleteObjective)
        console.log 'send objective in trash after delete'
        $scope.trashview.push deleteObjective
        console.log ($scope.trashview)

      # Function to search objective in the list objective
      $scope.objectives = []
      $scope.query = {keywords: ''}
      page = 1
      loading = false
      canLoad = true

      $scope.loadMore = ->
        query()

      Objective('query', {}, (data) ->
        $scope.objectives = data
      )

      $scope.search = ->
        $scope.objectives = []
        page = 1
        canLoad = true
        query()

      query = ->
        return if loading
        return unless canLoad
        loading = true
        Objective('query', {keywords: $scope.query.keywords}, (data) ->
          if data.length == 0
            canLoad = false
          loading = false
          page += 1

          data.forEach (objective) ->
            $scope.objectives.push objective

          if $scope.objectives.length == 0
            if $scope.query.keywords == ''
              $scope.noresult = "You haven't created any objective yet."
            else
              $scope.noresult = "No objective matches your query!"
          else
            $scope.noresult = ""

        , ->
          loading = false
      )

  ]

voici une autre vue que j’ai créé pour les éléments :restore.html

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
  <ul class="list-group">
    <li class="list-group-item" ng-repeat="objective in objectives">
      <span class="objective-ellipsis">
        <a ui-sref="#/restore{ id: objective.id}">{{objective.title}}</a>
      </span>

      <span ng-show="objective.id == objective.id">
        <a href="#/view"><button ng-click="restore(objective)" class="btn btn-success">Restore</button></a>
      </span>
    </li>
  </ul>

Mon souci c’est que je n’arrive par à envoyer les éléments supprimés dans la vue : restore.thml Et de plus une fois envoyée là-bas, les restaurer après.

Merci beaucoup et d’avance merci!

+0 -0

Hello,

Il y a déjà une condition que je ne comprends pas dans tes deux vues :

1
 ng-show="objective.id == objective.id"

Tu compares une variable avec elle-même, la condition sera donc toujours vraie.


Attention : quand tu fais $scope.trashview.push deleteObjective, tu es en train d’ajouter un tableau dans un tableau (Array.splice renvoie un tableau).


Pour le reste, j’ai du mal avec la lecture du CoffeeScript (trop compact pour moi), faudra que je m’y mette un peu plus longtemps…


En passant, pourquoi rester sur AngularJS (v1, donc) au lieu d’utiliser Angular (on en est à la v4 depuis un moment déjà) ? C’est un projet historique ?

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