Moar work
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
app.controller('BoardController', function ($rootScope, $scope, $stateParams, StatusService, BoardService, StackService, CardService, LabelService, $state, $transitions) {
|
||||
app.controller('BoardController', function ($rootScope, $scope, $stateParams, StatusService, BoardService, StackService, CardService, LabelService, $state, $transitions, $filter) {
|
||||
|
||||
$scope.sidebar = $rootScope.sidebar;
|
||||
|
||||
@@ -6,10 +6,6 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
|
||||
$scope.status={},
|
||||
$scope.newLabel={};
|
||||
$scope.status.boardtab = $stateParams.detailTab;
|
||||
$scope.state = $state.current;
|
||||
|
||||
|
||||
|
||||
|
||||
$scope.stackservice = StackService;
|
||||
$scope.boardservice = BoardService;
|
||||
@@ -18,26 +14,87 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
|
||||
$scope.labelservice = LabelService;
|
||||
$scope.defaultColors = ['31CC7C', '317CCC', 'FF7A66', 'F1DB50', '7C31CC', 'CC317C', '3A3B3D', 'CACBCD'];
|
||||
|
||||
// fetch data
|
||||
StackService.clear();
|
||||
$scope.search = function (searchText) {
|
||||
$scope.searchText = searchText;
|
||||
$scope.refreshData();
|
||||
};
|
||||
|
||||
$scope.board = BoardService.getCurrent();
|
||||
StackService.clear(); //FIXME: Is this still needed?
|
||||
$scope.statusservice.retainWaiting();
|
||||
$scope.statusservice.retainWaiting();
|
||||
|
||||
BoardService.fetchOne($scope.id).then(function(data) {
|
||||
$scope.statusservice.releaseWaiting();
|
||||
}, function(error) {
|
||||
$scope.statusservice.setError('Error occured', error);
|
||||
// FIXME: ugly solution for archive
|
||||
$scope.$state = $stateParams;
|
||||
$scope.filter = $stateParams.filter;
|
||||
$scope.$watch('$state.filter', function (name) {
|
||||
console.log("statewatch" + name);
|
||||
$scope.filter = name;
|
||||
});
|
||||
$scope.switchFilter = function(filter) {
|
||||
console.log("switch filter click " + name);
|
||||
$state.go('.', {filter: filter}, {notify: false});
|
||||
$scope.filter = filter;
|
||||
};
|
||||
$scope.$watch('filter', function(name) {
|
||||
if(name==="archive") {
|
||||
$scope.loadArchived();
|
||||
} else {
|
||||
$scope.loadDefault();
|
||||
}
|
||||
});
|
||||
|
||||
console.log($scope.state);
|
||||
|
||||
$scope.stacksData = StackService;
|
||||
$scope.stacks = {};
|
||||
$scope.$watch('stacksData', function(value) {
|
||||
$scope.refreshData();
|
||||
}, true);
|
||||
$scope.refreshData = function () {
|
||||
if($scope.filter === "archive") {
|
||||
$scope.filterData('-lastModified', $scope.searchText);
|
||||
} else {
|
||||
$scope.filterData('order', $scope.searchText);
|
||||
}
|
||||
};
|
||||
|
||||
// filter cards here, as ng-sortable will not work nicely with html-inline filters
|
||||
$scope.filterData = function (order, text) {
|
||||
if ($scope.stacks === undefined)
|
||||
return;
|
||||
angular.copy($scope.stackservice.data, $scope.stacks);
|
||||
angular.forEach($scope.stacks, function (value, key) {
|
||||
var cards = [];
|
||||
cards = $filter('cardSearchFilter')(value.cards, text);
|
||||
cards = $filter('orderBy')(cards, order);
|
||||
$scope.stacks[key].cards = cards;
|
||||
});
|
||||
};
|
||||
|
||||
$scope.loadDefault = function() {
|
||||
console.log("Load default");
|
||||
StackService.fetchAll($scope.id).then(function(data) {
|
||||
$scope.statusservice.releaseWaiting();
|
||||
}, function(error) {
|
||||
$scope.statusservice.setError('Error occured', error);
|
||||
});
|
||||
};
|
||||
|
||||
$scope.loadArchived = function() {
|
||||
console.log("Load archived!");
|
||||
StackService.fetchArchived($scope.id).then(function(data) {
|
||||
$scope.statusservice.releaseWaiting();
|
||||
}, function(error) {
|
||||
$scope.statusservice.setError('Error occured', error);
|
||||
});
|
||||
};
|
||||
|
||||
// Handle initial Loading
|
||||
BoardService.fetchOne($scope.id).then(function(data) {
|
||||
$scope.statusservice.releaseWaiting();
|
||||
}, function(error) {
|
||||
$scope.statusservice.setError('Error occured', error);
|
||||
});
|
||||
|
||||
|
||||
|
||||
@@ -68,7 +125,14 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
|
||||
$scope.cardDelete = function(card) {
|
||||
CardService.delete(card.id);
|
||||
StackService.deleteCard(card);
|
||||
|
||||
}
|
||||
$scope.cardArchive = function(card) {
|
||||
CardService.archive(card);
|
||||
StackService.deleteCard(card);
|
||||
};
|
||||
$scope.cardUnarchive = function(card){
|
||||
CardService.unarchive(card);
|
||||
StackService.deleteCard(card);
|
||||
}
|
||||
|
||||
$scope.labelDelete = function(label) {
|
||||
@@ -102,27 +166,33 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
|
||||
BoardService.updateAcl(acl);
|
||||
}
|
||||
|
||||
|
||||
$scope.checkCanEdit = function() {
|
||||
if($scope.archived) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// settings for card sorting
|
||||
$scope.sortOptions = {
|
||||
itemMoved: function (event) {
|
||||
// TODO: Implement reodering here
|
||||
// TODO: Implement reodering here (set new order of all cards in stack)
|
||||
event.source.itemScope.modelValue.status = event.dest.sortableScope.$parent.column;
|
||||
var order = event.dest.index;
|
||||
var card = event.source.itemScope.c;
|
||||
var newStack = event.dest.sortableScope.$parent.s.id;
|
||||
card.stackId = newStack;
|
||||
CardService.update(card);
|
||||
|
||||
CardService.reorder(card, order).then(function(data) {
|
||||
StackService.data[newStack].addCard(card);
|
||||
});
|
||||
},
|
||||
orderChanged: function (event) {
|
||||
// TODO: Implement ordering here
|
||||
// TODO: Implement ordering here (set new order of all cards in stack)
|
||||
// then maybe also call $scope.filterData('order')?
|
||||
var order = event.dest.index;
|
||||
var card = event.source.itemScope.c;
|
||||
var stack = event.dest.sortableScope.$parent.s.id;
|
||||
CardService.reorder(card, order);
|
||||
},
|
||||
scrollableContainer: '#board',
|
||||
|
||||
Reference in New Issue
Block a user