Files
habitica/public/js/controllers/taskDetailsCtrl.js
2013-09-06 19:19:43 +02:00

54 lines
1.4 KiB
JavaScript

"use strict";
habitrpg.controller("TaskDetailsCtrl", ['$scope', '$rootScope', '$location', 'User',
function($scope, $rootScope, $location, User) {
$scope.save = function(task) {
var log, setVal;
setVal = function(k, v) {
var op;
if (typeof v !== "undefined") {
op = {
op: "set",
data: {}
};
op.data["tasks." + task.id + "." + k] = v;
return log.push(op);
}
};
log = [];
setVal("text", task.text);
setVal("notes", task.notes);
setVal("priority", task.priority);
setVal("tags", task.tags);
if (task.type === "habit") {
setVal("up", task.up);
setVal("down", task.down);
} else if (task.type === "daily") {
setVal("repeat", task.repeat);
// TODO we'll remove this once rewrite's running for a while. This was a patch for derby issues
setVal("streak", task.streak);
} else if (task.type === "todo") {
setVal("date", task.date);
} else {
if (task.type === "reward") {
setVal("value", task.value);
}
}
User.log(log);
task._editing = false;
};
$scope.cancel = function() {
/* reset $scope.task to $scope.originalTask
*/
var key;
for (key in $scope.task) {
$scope.task[key] = $scope.originalTask[key];
}
$scope.originalTask = null;
$scope.editedTask = null;
$scope.editing = false;
};
}]);