mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 15:17:25 +01:00
Moved clone tasks function to task service
This commit is contained in:
@@ -52,7 +52,7 @@
|
|||||||
"challengedOwnedFilterHeader": "Ownership",
|
"challengedOwnedFilterHeader": "Ownership",
|
||||||
"challengedOwnedFilter": "Owned",
|
"challengedOwnedFilter": "Owned",
|
||||||
"challengedNotOwnedFilter": "Not Owned",
|
"challengedNotOwnedFilter": "Not Owned",
|
||||||
"challengedEitherOwnedFilter": "Either",,
|
"challengedEitherOwnedFilter": "Either",
|
||||||
"backToChallenges": "Back to all challenges",
|
"backToChallenges": "Back to all challenges",
|
||||||
"prizeValue": "<%= gemcount %> <%= gemicon %> Prize",
|
"prizeValue": "<%= gemcount %> <%= gemicon %> Prize",
|
||||||
"clone": "Clone"
|
"clone": "Clone"
|
||||||
|
|||||||
@@ -49,8 +49,6 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User',
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.editTask = Tasks.editTask;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create
|
* Create
|
||||||
*/
|
*/
|
||||||
@@ -101,21 +99,10 @@ habitrpg.controller("ChallengesCtrl", ['$rootScope','$scope', 'Shared', 'User',
|
|||||||
reward: []
|
reward: []
|
||||||
};
|
};
|
||||||
|
|
||||||
function cloneTask(taskToClone, index, array) {
|
Tasks.cloneTasks(challenge.habits, clonedTasks);
|
||||||
var tmpTask = {};
|
Tasks.cloneTasks(challenge.dailys, clonedTasks);
|
||||||
for( var property in taskToClone ) {
|
Tasks.cloneTasks(challenge.todos, clonedTasks);
|
||||||
if ( property !== "_id" && property !== "id" && property !== "dateCreated" ) {
|
Tasks.cloneTasks(challenge.rewards, clonedTasks);
|
||||||
tmpTask[property] = taskToClone[property];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var task = Shared.taskDefaults(tmpTask);
|
|
||||||
clonedTasks[taskToClone.type].push(task);
|
|
||||||
}
|
|
||||||
|
|
||||||
challenge.habits.forEach(cloneTask);
|
|
||||||
challenge.dailys.forEach(cloneTask);
|
|
||||||
challenge.todos.forEach(cloneTask);
|
|
||||||
challenge.rewards.forEach(cloneTask);
|
|
||||||
|
|
||||||
$scope.obj = $scope.newChallenge = new Challenges.Challenge({
|
$scope.obj = $scope.newChallenge = new Challenges.Challenge({
|
||||||
name: challenge.name,
|
name: challenge.name,
|
||||||
|
|||||||
@@ -6,10 +6,11 @@ angular
|
|||||||
|
|
||||||
tasksFactory.$inject = [
|
tasksFactory.$inject = [
|
||||||
'$rootScope',
|
'$rootScope',
|
||||||
'User'
|
'User',
|
||||||
|
'Shared'
|
||||||
];
|
];
|
||||||
|
|
||||||
function tasksFactory($rootScope, User) {
|
function tasksFactory($rootScope, User, Shared) {
|
||||||
|
|
||||||
function editTask(task) {
|
function editTask(task) {
|
||||||
task._editing = !task._editing;
|
task._editing = !task._editing;
|
||||||
@@ -18,7 +19,23 @@ function tasksFactory($rootScope, User) {
|
|||||||
if($rootScope.charts[task.id]) $rootScope.charts[task.id] = false;
|
if($rootScope.charts[task.id]) $rootScope.charts[task.id] = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function cloneTasks(tasksToClone, arrayWithClonedTasks) {
|
||||||
|
var len = tasksToClone.length;
|
||||||
|
for (var i = 0; i < len; i+=1) {
|
||||||
|
var tmpTask = {};
|
||||||
|
var task = tasksToClone[i];
|
||||||
|
for( var property in task ) {
|
||||||
|
if ( property !== "_id" && property !== "id" && property !== "dateCreated" ) {
|
||||||
|
tmpTask[property] = task[property];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var newTask = Shared.taskDefaults(tmpTask);
|
||||||
|
arrayWithClonedTasks[newTask.type].push(newTask);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
editTask: editTask
|
editTask: editTask,
|
||||||
|
cloneTasks: cloneTasks,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user