Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions Task_Data.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
[
{
"TaskId": 1,
"TaskName": "Test",
"TaskDescription": "Test"
},
{
"TaskId": "2",
"TaskName": "Test2",
"TaskDescription": "Test2"
},
{
"TaskId": 3,
"TaskName": "Lesenya",
"TaskDescription": "Lesenya Man"
},
{
"TaskId": 4,
"TaskName": "Mookho",
"TaskDescription": "My Wife"
},
{
"TaskId": 5,
"TaskName": "Likeleli",
"TaskDescription": "My girl"
},
{
"TaskId": 6,
"TaskName": "Demy",
"TaskDescription": "My life"
},
{
"TaskId": 7,
"TaskName": "Keneuoe",
"TaskDescription": "My sister"
}
]
52 changes: 33 additions & 19 deletions index.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@
<form action="update_task.php" method="post">
<div class="row">
<div class="col-md-12" style="margin-bottom: 5px;;">
<input id="InputTaskName" type="text" placeholder="Task Name" class="form-control">
<input id="InputTaskName" type="text" placeholder="Task Name" class="form-control" name="TaskName">
</div>
<div class="col-md-12">
<textarea id="InputTaskDescription" placeholder="Description" class="form-control"></textarea>
<textarea id="InputTaskDescription" placeholder="Description" class="form-control" name="TaskDescription"></textarea>
</div>
</div>
</form>
Expand Down Expand Up @@ -60,18 +60,6 @@
</button>
<div id="TaskList" class="list-group">
<!-- Assignment: These are simply dummy tasks to show how it should look and work. You need to dynamically update this list with actual tasks -->
<a id="1" href="#" class="list-group-item" data-toggle="modal" data-target="#myModal">
<h4 class="list-group-item-heading">Task Name</h4>
<p class="list-group-item-text">Task Description</p>
</a>
<a id="2" href="#" class="list-group-item" data-toggle="modal" data-target="#myModal">
<h4 class="list-group-item-heading">Task Name</h4>
<p class="list-group-item-text">Task Description</p>
</a>
<a id="3" href="#" class="list-group-item" data-toggle="modal" data-target="#myModal">
<h4 class="list-group-item-heading">Task Name</h4>
<p class="list-group-item-text">Task Description</p>
</a>
</div>
</div>
<div class="col-md-3">
Expand All @@ -83,27 +71,53 @@
<script type="text/javascript" src="assets/js/jquery-1.12.3.min.js"></script>
<script type="text/javascript" src="assets/js/bootstrap.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var currentTaskId = -1;
$('#myModal').on('show.bs.modal', function (event) {
var triggerElement = $(event.relatedTarget); // Element that triggered the modal
var modal = $(this);
if (triggerElement.attr("id") == 'newTask') {
modal.find('.modal-title').text('New Task');
$('#deleteTask').hide();
currentTaskId = -1;
} else {
modal.find('.modal-title').text('Task details');
$('#deleteTask').show();
currentTaskId = triggerElement.attr("id");
console.log('Task ID: '+triggerElement.attr("id"));
}
});
$('#saveTask').click(function() {
$('#saveTask').click(function(e) {
//Assignment: Implement this functionality
alert('You clicked save! Now implement this functionality.');
$('#myModal').modal('hide');
$("#myInp").remove();
//Append the hidden input element to target specific functions on server side
$("form").append("<input type='hidden' name='mysave' value='savetask' id='myInp'></input>");
var fields = $("form").serializeArray();
$.post("update_task.php",fields,function(json_data){
alert('Save '+json_data+' Id:'+currentTaskId);
$('#myModal').modal('hide');
updateTaskList();
});
e.preventDefault();
});
$('#deleteTask').click(function() {
//Assignment: Implement this functionality
alert('You clicked delete! Now implement this functionality.');
$('#myModal').modal('hide');
$("#myInp").remove();
//Append the hidden input element to target specific functions on server side
$("form").append("<input name = 'mydelete' type='hidden' value='deletetask' id='myInp'></input>");
var fields = $("form").serializeArray();
$.post("update_task.php",fields,function(json_data){
alert('Delete... '+json_data+' Id:'+currentTaskId);
$('#myModal').modal('hide');
updateTaskList();
});
});
function updateTaskList() {
$.post("list_tasks.php", function( data ) {
$( "#TaskList" ).html( data );
});
}
updateTaskList();
});
</script>
</html>
109 changes: 109 additions & 0 deletions index1.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
<?php
/**
* Created by PhpStorm.
* User: johangriesel
* Date: 13052016
* Time: 08:48
* @package ${NAMESPACE}
* @subpackage ${NAME}
* @author johangriesel <info@stratusolve.com>
*/
?>
<!DOCTYPE html>
<html>
<head>
<title>Basic Task Manager</title>
<link rel="stylesheet" type="text/css" href="assets/css/bootstrap.min.css">
</head>
<body>

<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
<form action="update_task.php" method="post">
<div class="row">
<div class="col-md-12" style="margin-bottom: 5px;;">
<input id="InputTaskName" type="text" placeholder="Task Name" class="form-control">
</div>
<div class="col-md-12">
<textarea id="InputTaskDescription" placeholder="Description" class="form-control"></textarea>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button id="deleteTask" type="button" class="btn btn-danger">Delete Task</button>
<button id="saveTask" type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>


<div class="container-fluid">
<div class="row">
<div class="col-md-3">

</div>
<div class="col-md-6">
<h2 class="page-header">Task List</h2>
<!-- Button trigger modal -->
<button id="newTask" type="button" class="btn btn-primary btn-lg" style="width:100%;margin-bottom: 5px;" data-toggle="modal" data-target="#myModal">
Add Task
</button>
<div id="TaskList" class="list-group">
<!-- Assignment: These are simply dummy tasks to show how it should look and work. You need to dynamically update this list with actual tasks -->
<a id="1" href="#" class="list-group-item" data-toggle="modal" data-target="#myModal">
<h4 class="list-group-item-heading">Task Name</h4>
<p class="list-group-item-text">Task Description</p>
</a>
<a id="2" href="#" class="list-group-item" data-toggle="modal" data-target="#myModal">
<h4 class="list-group-item-heading">Task Name</h4>
<p class="list-group-item-text">Task Description</p>
</a>
<a id="3" href="#" class="list-group-item" data-toggle="modal" data-target="#myModal">
<h4 class="list-group-item-heading">Task Name</h4>
<p class="list-group-item-text">Task Description</p>
</a>
</div>
</div>
<div class="col-md-3">

</div>
</div>
</div>
</body>
<script type="text/javascript" src="assets/js/jquery-1.12.3.min.js"></script>
<script type="text/javascript" src="assets/js/bootstrap.min.js"></script>
<script type="text/javascript">
$('#myModal').on('show.bs.modal', function (event) {
var triggerElement = $(event.relatedTarget); // Element that triggered the modal
var modal = $(this);
if (triggerElement.attr("id") == 'newTask') {
modal.find('.modal-title').text('New Task');
$('#deleteTask').hide();
} else {
modal.find('.modal-title').text('Task details');
$('#deleteTask').show();
console.log('Task ID: '+triggerElement.attr("id"));
}
});
$('#saveTask').click(function() {
//Assignment: Implement this functionality
alert('You clicked save! Now implement this functionality.');
$('#myModal').modal('hide');
});
$('#deleteTask').click(function() {
//Assignment: Implement this functionality
alert('You clicked delete! Now implement this functionality.');
$('#myModal').modal('hide');
});
</script>
</html>
31 changes: 31 additions & 0 deletions list_tasks.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?php
/**
* Created by PhpStorm.
* User: johangriesel
* Date: 15122016
* Time: 15:14
* @package ${NAMESPACE}
* @subpackage ${NAME}
* @author johangriesel <info@stratusolve.com>
* Task_Data.txt is expected to be a json encoded string, e.g: [{"TaskId":1,"TaskName":"Test","TaskDescription":"Test"},{"TaskId":"2","TaskName":"Test2","TaskDescription":"Test2"}]
*/
$taskData = file_get_contents('Task_Data.txt');
$html = '<a id="newTask" href="#" class="list-group-item" data-toggle="modal" data-target="#myModal">
<h4 class="list-group-item-heading">No Tasks Available</h4>
<p class="list-group-item-text">Click here to create one</p>
</a>';
if (strlen($taskData) < 1) {
die($html);
}
$taskArray = json_decode($taskData);
if (sizeof($taskArray) > 0) {
$html = '';
foreach ($taskArray as $task) {
$html .= '<a id="'.$task->TaskId.'" href="#" class="list-group-item" data-toggle="modal" data-target="#myModal">
<h4 class="list-group-item-heading">'.$task->TaskName.'</h4>
<p class="list-group-item-text">'.$task->TaskDescription.'</p>
</a>';
}
}
die($html);
?>
Loading