show deleted cards in sidebar tab (styling still wip)

Signed-off-by: Manuel Arno Korfmann <manu@korfmann.info>

card undo delete done, styling still wip

Signed-off-by: Manuel Arno Korfmann <manu@korfmann.info>

fix Codacy findings

Signed-off-by: Manuel Arno Korfmann <manu@korfmann.info>
This commit is contained in:
Manuel Arno Korfmann
2018-07-11 22:13:31 +02:00
committed by Julius Härtl
parent 2ef4b55af4
commit f2795f120b
9 changed files with 65 additions and 29 deletions

View File

@@ -144,7 +144,7 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
}, function (error) {
$scope.statusservice.setError('Error occured', error);
});
}
};
$scope.loadDefault = function () {
StackService.fetchAll($scope.id).then(function (data) {
@@ -203,10 +203,25 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
}
CardService.delete(card.id).then(function () {
StackService.removeCard(card);
$scope.loadDeletedCards();
$scope.deletedCards.push(card);
});
});
};
$scope.cardUndoDelete = function (deletedCard) {
CardService.undoDelete(deletedCard);
StackService.addCard(deletedCard);
$scope.removeFromDeletedCards(deletedCard);
};
$scope.removeFromDeletedCards = function(deletedCard) {
for(var i=0;i<$scope.deletedCards.length;i++) {
if($scope.deletedCards[i].id === deletedCard.id) {
$scope.deletedCards.splice(i, 1);
}
}
};
$scope.cardArchive = function (card) {
CardService.archive(card);
StackService.removeCard(card);
@@ -247,6 +262,7 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
// TODO: remove from cards
};
$scope.labelCreate = function (label) {
alert(label);
label.boardId = $scope.id;
LabelService.create(label).then(function (data) {
$scope.newStack.title = '';

View File

@@ -114,18 +114,18 @@ app.factory('ApiService', function ($http, $q) {
};
ApiService.prototype.softDelete = function (id) {
var deferred = $q.defer();
var self = this;
$http.delete(this.baseUrl + '/' + id).then(function (response) {
self.data[id].deletedAt = response.data.deletedAt;
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Deleting ' + self.endpoint + ' failed');
});
return deferred.promise;
};
ApiService.prototype.softDelete = function (id) {
var deferred = $q.defer();
var self = this;
$http.delete(this.baseUrl + '/' + id).then(function (response) {
self.data[id].deletedAt = response.data.deletedAt;
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Deleting ' + self.endpoint + ' failed');
});
return deferred.promise;
};
// methods for managing data
ApiService.prototype.clear = function () {

View File

@@ -29,6 +29,11 @@ app.factory('CardService', function (ApiService, $http, $q) {
CardService.prototype.delete = CardService.prototype.softDelete;
CardService.prototype.undoDelete = function(card) {
card.deletedAt = 0;
this.update(card);
};
CardService.prototype.reorder = function (card, order) {
var deferred = $q.defer();
var self = this;
@@ -175,18 +180,15 @@ app.factory('CardService', function (ApiService, $http, $q) {
};
CardService.prototype.fetchDeleted = function (boardId) {
var deferred = $q.defer();
var self = this;
$http.get(this.baseUrl + '/deleted/' + boardId).then(function (response) {
var objects = response.data;
return objects;
deferred.resolve(self.data);
deferred.resolve(objects);
}, function (error) {
deferred.reject('Fetching ' + self.endpoint + ' failed');
});
return deferred.promise;
};