From 588252d94907ad98e4661bf00a833ae190fcb1b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Tue, 2 May 2017 08:56:03 +0200 Subject: [PATCH] Fix deleting boards and add a simple undo function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- css/style.css | 7 +++++++ js/controller/ListController.js | 28 +++++++++++++++++++++++----- templates/part.navigation.php | 9 +++++---- 3 files changed, 35 insertions(+), 9 deletions(-) diff --git a/css/style.css b/css/style.css index 629d45209..dbd51d56f 100644 --- a/css/style.css +++ b/css/style.css @@ -86,6 +86,13 @@ button:hover { cursor: pointer; } +#app-navigation .app-navigation-entry-utils li.board-delete-undo { + background-color: #aa0000; + color: #fff; + cursor: pointer; + width: auto !important; +} + /** * Board view */ diff --git a/js/controller/ListController.js b/js/controller/ListController.js index b8c5ea390..7389aab35 100644 --- a/js/controller/ListController.js +++ b/js/controller/ListController.js @@ -21,10 +21,12 @@ * */ -app.controller('ListController', function ($scope, $location, $filter, BoardService, $element) { +app.controller('ListController', function ($scope, $location, $filter, BoardService, $element, $timeout) { $scope.boards = []; $scope.newBoard = {}; - $scope.status = {}; + $scope.status = { + deleteUndo: [] + }; $scope.colors = ['0082c9', '00c9c6','00c906', 'c92b00', 'F1DB50', '7C31CC', '3A3B3D', 'CACBCD']; $scope.boardservice = BoardService; $scope.newBoard.color = $scope.colors[0]; @@ -71,9 +73,25 @@ app.controller('ListController', function ($scope, $location, $filter, BoardServ }; $scope.boardDelete = function(board) { - BoardService.delete(board.id).then(function (data) { - $scope.filterData(); - }); + var boardId = board.id; + $scope.status.deleteUndo[boardId] = 10; + $scope.boardDeleteCountdown = function () { + console.log($scope.status); + if($scope.status.deleteUndo[boardId] > 0) { + $scope.status.deleteUndo[boardId]--; + $timeout($scope.boardDeleteCountdown, 1000); + } + if($scope.status.deleteUndo[boardId] === 0) { + BoardService.delete(board.id).then(function (data) { + $scope.filterData(); + }); + } + }; + $timeout($scope.boardDeleteCountdown, 1000); + }; + + $scope.boardDeleteUndo = function (board) { + delete $scope.status.deleteUndo[board.id]; }; }); diff --git a/templates/part.navigation.php b/templates/part.navigation.php index edbad1406..04bacfb54 100644 --- a/templates/part.navigation.php +++ b/templates/part.navigation.php @@ -7,15 +7,16 @@ {{ b.title }}
    +
  • Deleting in {{ status.deleteUndo[b.id] }}s   X
  • -
  • +
    -
  • -
  • -
  • +
  • +
  • +