Newer
Older
$(document).ready(function()
{
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
$('.collapsible').collapsible({
accordion: false // A setting that changes the collapsible behavior to expandable instead of the default accordion style
});
$('.milestone-title').click(function()
{
var $header = $(this);
//getting the next element
var $content = $header.next();
//open up the content needed - toggle the slide- if visible, slide up, if not slidedown.
$content.slideToggle(200);
});
//expand specific milestones on first load
var initialExpandedMilestones = document.getElementsByClassName('init-as-expanded');
for(var i = 0; i < initialExpandedMilestones.length; i++)
{
$(initialExpandedMilestones[i]).slideToggle(200);
}
//reacts to resize event of card and calls createTrainMap to adjust circles
//https://github.com/marcj/css-element-queries
var entries = document.getElementsByClassName('milestone');
for(var i = 0; i < entries.length - 1; i++)
{
new ResizeSensor(entries[i], function()
{
createTrainMap();
});
}
$('.button-save-milestone').click(function()
{
editMilestone(this.dataset.id, this.dataset.roadmapid);
});
$('.button-save-task').click(function()
{
editTask(this.dataset.id, this.dataset.milestoneid);
});
$('.button-save-subtask').click(function()
{
editSubtask(this.dataset.id, this.dataset.taskid);
});
$('.button-delete-roadmap').click(function()
{
var response = confirm("Do you really want to delete this roadmap?");
if(response === true)
header("location: " + this.href);
}
});
$('.button-delete-milestone').click(function()
{
var response = confirm("Do you really want to delete this milestone?");
if(response === true)
header("location: " + this.href);
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
}
});
$('.button-delete-task').click(function()
{
var r = confirm("Do you really want to delete this task?");
if(r == true)
{
deleteTask(this.dataset.id, this.dataset.milestoneid);
}
});
$('.button-delete-subtask').click(function()
{
var r = confirm("Do you really want to delete this subtask?");
if(r == true)
{
deleteSubtask(this.dataset.id, this.dataset.taskid);
}
});
$('#checkbox-done').click(function()
{
var checked = document.getElementById("checkbox-done").checked;
if(checked)
{
hideElement(document.getElementById("row-done-date"), false);
var $input = $('#done-date').pickadate();
var picker = $input.pickadate('picker');
picker.set('select', new Date());
}
else
{
hideElement(document.getElementById("row-done-date"), true);
}
});
$('.datepicker').pickadate({
selectMonths: true, // Creates a dropdown to control month
selectYears: 15, // Creates a dropdown of 15 years to control year
format: 'dd.mm.yyyy',
formatSubmit: 'yyyy-mm-dd'
});
$('#button-mark-all-as-done').click(function()
{
markAllTasksAsDone(this.dataset.milestoneid);
});
});
function isNull(object)
{
return object === "" || object === undefined;
}
function hideElement(element, value)
{
if(value == true)
{
element.classList.add("hide");
}
else
{
if(element.classList.contains("hide"))
{
element.classList.remove("hide");
}
}
}
function createTrainMap()
{
var entries = document.getElementsByClassName('milestone');
var lines = document.getElementsByClassName('train-line');
var smallLines = document.getElementsByClassName('train-line-small');
for(var i = 0; i < entries.length - 1; i++)
{
var height = entries[i].offsetHeight;
lines[i].style.height = (height - 15) + "px";
smallLines[i].style.height = (height - 2) + "px";
}
}
function editTask(task_ID, milestone_ID)
{
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
var edit = document.getElementById('edit').innerHTML;
var title = $('#title').val();
var description = $('#description').val();
;
var done = document.getElementById("checkbox-done").checked;
if(isNull(title))
{
alert("Title shouldn't be empty!");
return;
}
if(done)
{
done = 1;
}
else
{
done = 0;
}
$.post('../admin/helper/edit-task.php',
{
"title": title,
"description": description,
"done": done,
"edit": edit,
"ID": task_ID,
"milestone-ID": milestone_ID
}, function(data, error)
{
data = data.toString().trim();
switch(data)
{
case "error":
alert('An error occurred');
break;
case "error-edit":
alert('An error occurred while editing the task with the ID ' + task_ID);
break;
case "error-insert":
alert('An error occurred while inserting the new task');
break;
default:
window.location.href = "../admin/admin-tasks.php?id=" + milestone_ID;
break;
}
});
}
function editSubtask(subtask_ID, task_ID)
{
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
var edit = document.getElementById('edit').innerHTML;
var title = $('#title').val();
var description = $('#description').val();
;
var done = document.getElementById("checkbox-done").checked;
if(isNull(title))
{
alert("Title shouldn't be empty!");
return;
}
if(done)
{
done = 1;
}
else
{
done = 0;
}
$.post('../admin/helper/edit-subtask.php',
{
"title": title,
"description": description,
"done": done,
"edit": edit,
"ID": subtask_ID,
"task-ID": task_ID
}, function(data, error)
{
data = data.toString().trim();
switch(data)
{
case "error":
alert('An error occurred');
break;
case "error-edit":
alert('An error occurred while editing the subtask with the ID ' + subtask_ID);
break;
case "error-insert":
alert('An error occurred while inserting the new task');
break;
default:
window.location.href = "../admin/admin-subtasks.php?id=" + task_ID;
break;
}
});
}
function deleteSubtask(subtask_ID, task_ID)
{
$.post('../admin/helper/delete-subtask.php',
{
"subtask_ID": subtask_ID,
"task_ID": task_ID
}, function(data, error)
{
data = data.toString().trim();
if(data != "error")
{
window.location.href = "../admin/admin-subtasks.php?id=" + task_ID;
}
else
{
alert('An error occurred while deleting the subtask with the ID ' + subtask_ID);
}
});
var password = $('#password').val();
if(isNull(password))
{
alert("Please enter your password.");
return false;
}
function validateNewRoadmapForm()
{
var projectName = $('#project-name').val();
if(isNull(projectName))
{
alert("Please enter a project name.");
return false;
}
}
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
function validateNewMilestoneForm()
{
var versionCode = $('#version-code').val();
var versionName = $('#version-name').val();
var title = $('#title').val();
var dueDate = document.getElementById('due-date');
var doneDate = document.getElementById('done-date');
var done = document.getElementById('checkbox-done').checked;
if(isNull(versionCode))
{
alert("Version Code shouldn't be empty!");
return false;
}
if(isNull(versionName))
{
alert("Version Name shouldn't be empty!");
return false;
}
if(isNull(title))
{
alert("Title shouldn't be empty!");
return false;
}
if(isNull(dueDate.value))
{
dueDate.value = "01.01.2000";
}
if(isNull(doneDate.value))
{
doneDate.value = "01.01.2000";
}
if(!done)
{
doneDate.value = "01.01.2000";
}
return true;
}
function markAllTasksAsDone(milestone_ID)
{
$.post('../admin/helper/mark-all-tasks-as-done.php',
{
"milestoneID": milestone_ID
}, function(data, error)
{
data = data.toString().trim();
if(data != "error" && data != "bad_login")
{
window.location.href = "../admin/admin-tasks.php?id=" + milestone_ID;
}
else
{
alert('An error occurred while marking all tasks as done');
}
});
}