Fix double board list loading

This commit is contained in:
Julius Haertl
2016-10-28 22:31:32 +02:00
parent c1bbe62cfa
commit d16c767017
5 changed files with 37 additions and 41 deletions

View File

@@ -21,25 +21,32 @@
* *
*/ */
app.controller('ListController', function ($scope, $location, $filter, BoardService) { app.controller('ListController', function ($scope, $location, $filter, BoardService, $element) {
$scope.boards = []; $scope.boards = [];
$scope.newBoard = {}; $scope.newBoard = {};
$scope.status = {}; $scope.status = {};
$scope.colors = ['31CC7C', '317CCC', 'FF7A66', 'F1DB50', '7C31CC', 'CC317C', '3A3B3D', 'CACBCD']; $scope.colors = ['31CC7C', '317CCC', 'FF7A66', 'F1DB50', '7C31CC', 'CC317C', '3A3B3D', 'CACBCD'];
$scope.boardservice = BoardService; $scope.boardservice = BoardService;
BoardService.fetchAll().then(function(data) { // FIXME: not nice, but we want to load this only once
$scope.filterData(); if($element.attr('id') === 'app-navigation') {
}, function (error) { BoardService.fetchAll().then(function(data) {
$scope.filterData();
}, function (error) {
// TODO: show error when loading fails
});
}
}); // TODO: show error when loading fails $scope.filterData = function () {
angular.copy($scope.boardservice.getData(), $scope.boardservice.sorted);
$scope.boardservice.sorted = $filter('orderBy')($scope.boardservice.sorted, 'title');
};
$scope.selectColor = function(color) { $scope.selectColor = function(color) {
$scope.newBoard.color = color; $scope.newBoard.color = color;
}; };
$scope.boardCreate = function () { $scope.boardCreate = function() {
if(!$scope.newBoard.title || !$scope.newBoard.color) { if(!$scope.newBoard.title || !$scope.newBoard.color) {
$scope.status.addBoard=false; $scope.status.addBoard=false;
return; return;
@@ -53,28 +60,19 @@ app.controller('ListController', function ($scope, $location, $filter, BoardServ
$scope.status.createBoard = 'Unable to insert board: ' + error.message; $scope.status.createBoard = 'Unable to insert board: ' + error.message;
}); });
}; };
$scope.boardUpdate = function(board) { $scope.boardUpdate = function(board) {
BoardService.update(board).then(function(data) { BoardService.update(board).then(function(data) {
$scope.filterData(); $scope.filterData();
}); });
board.status.edit = false; board.status.edit = false;
}; };
$scope.boardDelete = function(board) { $scope.boardDelete = function(board) {
// TODO: Ask for confirmation
//if (confirm('Are you sure you want to delete this?')) {
BoardService.delete(board.id).then(function (data) { BoardService.delete(board.id).then(function (data) {
$scope.filterData(); $scope.filterData();
}); });
//}
}; };
$scope.filterData = function () {
angular.copy($scope.boardservice.getData(), $scope.boardservice.sorted);
$scope.boardservice.sorted = $filter('orderBy')($scope.boardservice.sorted, 'title');
};
}); });

View File

@@ -400,25 +400,32 @@ app.controller('CardController', ["$scope", "$rootScope", "$routeParams", "$loca
}]); }]);
app.controller('ListController', ["$scope", "$location", "$filter", "BoardService", function ($scope, $location, $filter, BoardService) { app.controller('ListController', ["$scope", "$location", "$filter", "BoardService", "$element", function ($scope, $location, $filter, BoardService, $element) {
$scope.boards = []; $scope.boards = [];
$scope.newBoard = {}; $scope.newBoard = {};
$scope.status = {}; $scope.status = {};
$scope.colors = ['31CC7C', '317CCC', 'FF7A66', 'F1DB50', '7C31CC', 'CC317C', '3A3B3D', 'CACBCD']; $scope.colors = ['31CC7C', '317CCC', 'FF7A66', 'F1DB50', '7C31CC', 'CC317C', '3A3B3D', 'CACBCD'];
$scope.boardservice = BoardService; $scope.boardservice = BoardService;
BoardService.fetchAll().then(function(data) { // FIXME: not nice, but we want to load this only once
$scope.filterData(); if($element.attr('id') === 'app-navigation') {
}, function (error) { BoardService.fetchAll().then(function(data) {
$scope.filterData();
}, function (error) {
// TODO: show error when loading fails
});
}
}); // TODO: show error when loading fails $scope.filterData = function () {
angular.copy($scope.boardservice.getData(), $scope.boardservice.sorted);
$scope.boardservice.sorted = $filter('orderBy')($scope.boardservice.sorted, 'title');
};
$scope.selectColor = function(color) { $scope.selectColor = function(color) {
$scope.newBoard.color = color; $scope.newBoard.color = color;
}; };
$scope.boardCreate = function () { $scope.boardCreate = function() {
if(!$scope.newBoard.title || !$scope.newBoard.color) { if(!$scope.newBoard.title || !$scope.newBoard.color) {
$scope.status.addBoard=false; $scope.status.addBoard=false;
return; return;
@@ -432,29 +439,20 @@ app.controller('ListController', ["$scope", "$location", "$filter", "BoardServic
$scope.status.createBoard = 'Unable to insert board: ' + error.message; $scope.status.createBoard = 'Unable to insert board: ' + error.message;
}); });
}; };
$scope.boardUpdate = function(board) { $scope.boardUpdate = function(board) {
BoardService.update(board).then(function(data) { BoardService.update(board).then(function(data) {
$scope.filterData(); $scope.filterData();
}); });
board.status.edit = false; board.status.edit = false;
}; };
$scope.boardDelete = function(board) { $scope.boardDelete = function(board) {
// TODO: Ask for confirmation
//if (confirm('Are you sure you want to delete this?')) {
BoardService.delete(board.id).then(function (data) { BoardService.delete(board.id).then(function (data) {
$scope.filterData(); $scope.filterData();
}); });
//}
}; };
$scope.filterData = function () {
angular.copy($scope.boardservice.getData(), $scope.boardservice.sorted);
$scope.boardservice.sorted = $filter('orderBy')($scope.boardservice.sorted, 'title');
};
}]); }]);

View File

@@ -29,7 +29,7 @@ use OCP\AppFramework\Db\Mapper;
class CardMapper extends Mapper implements IPermissionMapper { class CardMapper extends DeckMapper implements IPermissionMapper {
private $labelMapper; private $labelMapper;

View File

@@ -51,7 +51,7 @@ abstract class DeckMapper extends Mapper {
protected function execute($sql, array $params = [], $limit = null, $offset = null) { protected function execute($sql, array $params = [], $limit = null, $offset = null) {
// FIXME: remove on release // FIXME: remove on release
\OCP\Util::writeLog('deck', "DeckMapper SQL: " . $sql, \OCP\Util::DEBUG); \OCP\Util::writeLog('deck', "DeckMapper SQL: " . $sql . " with " . implode("|", $params), \OCP\Util::DEBUG);
return parent::execute($sql, $params, $limit, $offset); return parent::execute($sql, $params, $limit, $offset);
} }

View File

@@ -28,7 +28,7 @@ use OCP\IDb;
use OCP\AppFramework\Db\Mapper; use OCP\AppFramework\Db\Mapper;
class StackMapper extends Mapper implements IPermissionMapper { class StackMapper extends DeckMapper implements IPermissionMapper {
private $cardMapper; private $cardMapper;