Files
mad/js/controllers/headerController.js
T

104 lines
2.6 KiB
JavaScript

var ModalInstanceCtrl = function($scope, $modalInstance) {
$scope.blocklist = bkg.blockList;
//$scope.enabledEdits = [];
//keep track of every action
//for each action keep type and what was done
//redo in queue like fashion?
$scope.undoBool = true;
$scope.undoHistoryQueue = [];
$scope.undo = function(){
if ($scope.undoHistoryQueue.length>0){
var action = $scope.undoHistoryQueue.shift();
if (action.type == 'deletion'){
bkg.blockService.addAtIndex(action.index, action.data);
} else if (action.type =='replace'){
bkg.blockService.replace(action.index, action.data);
} else if (action.type =='add'){
bkg.blockService.deleteLast()
}
if ($scope.undoHistoryQueue.length<=0){
$scope.undoBool = true;
}
}
}
$scope.deleteSpree = false;
$scope.deleteBlock = function(index) {
if (!$scope.deleteSpree){
if (confirm('Hey! You can still go to this site. You just gotta type a tiny message. (psst press cancel)')){
if (confirm("You're probably a cool person. Cool people don't care about a lil typing every now and then")){
if (confirm("Let's just assume you're doing this for good reasons (you can still press cancel if you realize you aren't)")){
$scope.deleteSpree = true;
$scope.deleteBlock(index);
}
}
}
} else{
$scope.undoHistoryQueue.push({
type: 'deletion',
index: index,
data: bkg.blockList[index]
});
$scope.undoBool = false;
bkg.blockService.delete(index);
}
}
$scope.saveBlock = function(index, replacement){
if (replacement == bkg.blockList[index]) return;
$scope.undoHistoryQueue.push({
type: 'replace',
index: index,
data: bkg.blockList[index]
});
$scope.undoBool = false;
bkg.blockService.replace(index, replacement);
}
$scope.ok = function(){
console.log(bkg);
};
$scope.addSimple = function(){
$scope.undoHistoryQueue.push({
type: 'add',
index: bkg.blockList.length-1,
data: $scope.simple
});
$scope.undoBool=false;
bkg.blockService.add($scope.simple);
}
$scope.addExact= function(){
$scope.undoHistoryQueue.push({
type: 'add',
index: bkg.blockList.length-1,
data: $scope.exact
});
$scope.undoBool=false;
bkg.blockService.add($scope.exact);
}
$scope.cancel = function() {
$modalInstance.dismiss('cancel');
};
};
app.controller('HeaderController', ['$scope', '$modal',
function($scope, $modal){
console.log('header controller');
$scope.openOptions = function(size) {
var modalInstance = $modal.open({
templateUrl:'../../options.html',
controller: ModalInstanceCtrl,
size: size
});
};
}]);