When creating a board, choose the less used color
Fix issue #245 Signed-off-by: Riccardo Padovani <riccardo@rpadovani.com>
This commit is contained in:
committed by
Julius Härtl
parent
5f69c56c3a
commit
cd651ebda5
@@ -23,6 +23,29 @@
|
|||||||
/* global app angular */
|
/* global app angular */
|
||||||
|
|
||||||
app.controller('ListController', function ($scope, $location, $filter, BoardService, $element, $timeout, $stateParams, $state) {
|
app.controller('ListController', function ($scope, $location, $filter, BoardService, $element, $timeout, $stateParams, $state) {
|
||||||
|
function calculateNewColor() {
|
||||||
|
var boards = BoardService.getAll();
|
||||||
|
var boardKeys = Object.keys(boards);
|
||||||
|
var colorOccurrences = [];
|
||||||
|
|
||||||
|
for (var i =0; i < boardKeys.length; i++) {
|
||||||
|
var key = boardKeys[i];
|
||||||
|
var board = boards[key];
|
||||||
|
|
||||||
|
if (board && $scope.colors.indexOf(board.color) !== -1) {
|
||||||
|
colorOccurrences.push(board.color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
colorOccurrences = colorOccurrences
|
||||||
|
.reduce(function (result, value) {
|
||||||
|
result[$scope.colors.indexOf(value)] = result[$scope.colors.indexOf(value)] + 1;
|
||||||
|
return result;
|
||||||
|
}, [0, 0, 0, 0, 0, 0]);
|
||||||
|
|
||||||
|
return $scope.colors[colorOccurrences.indexOf(Math.min.apply(Math, colorOccurrences))];
|
||||||
|
}
|
||||||
|
|
||||||
$scope.boards = [];
|
$scope.boards = [];
|
||||||
$scope.newBoard = {};
|
$scope.newBoard = {};
|
||||||
$scope.status = {
|
$scope.status = {
|
||||||
@@ -32,7 +55,7 @@ app.controller('ListController', function ($scope, $location, $filter, BoardServ
|
|||||||
};
|
};
|
||||||
$scope.colors = ['0082c9', '00c9c6','00c906', 'c92b00', 'F1DB50', '7C31CC', '3A3B3D', 'CACBCD'];
|
$scope.colors = ['0082c9', '00c9c6','00c906', 'c92b00', 'F1DB50', '7C31CC', '3A3B3D', 'CACBCD'];
|
||||||
$scope.boardservice = BoardService;
|
$scope.boardservice = BoardService;
|
||||||
$scope.newBoard.color = $scope.colors[0];
|
$scope.newBoard.color = calculateNewColor();
|
||||||
$scope.updatingBoard = null;
|
$scope.updatingBoard = null;
|
||||||
|
|
||||||
// FIXME: not nice, but we want to load this only once
|
// FIXME: not nice, but we want to load this only once
|
||||||
@@ -90,7 +113,7 @@ app.controller('ListController', function ($scope, $location, $filter, BoardServ
|
|||||||
BoardService.create($scope.newBoard)
|
BoardService.create($scope.newBoard)
|
||||||
.then(function (response) {
|
.then(function (response) {
|
||||||
$scope.newBoard = {};
|
$scope.newBoard = {};
|
||||||
$scope.newBoard.color = $scope.colors[0];
|
$scope.newBoard.color = calculateNewColor();
|
||||||
$scope.status.addBoard=false;
|
$scope.status.addBoard=false;
|
||||||
$scope.filterData();
|
$scope.filterData();
|
||||||
}, function(error) {
|
}, function(error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user