2010-09-17 15:38:57 +02:00
< ? header ( 'Content-type: application/javascript' );
$token = $_GET [ 'token' ];
$id = $_GET [ 'id' ];
?>
2010-09-14 23:38:29 +02:00
function cbfunc ( o ){
$ ( '#results' ) . append ( '<ul id="uncompletedList"><ul>' );
for ( var i in o )
{
2010-09-15 17:55:18 +02:00
$ ( '#uncompletedList' ) . append ( '<li id="' + o [ i ] . id + '">' + o [ i ] . content + ' - ' + o [ i ] . date_string + ' <img src="images/interface/delete.png" class="deleteTask" id="delete-' + o [ i ] . id + '"/> <img src="images/interface/complete.png" class="completeTask" id="complete-' + o [ i ] . id + '"/> </li>' );
2010-09-17 18:06:08 +02:00
}
$ ( '#uncompletedList li' ) . prepend ( '<div class="puce"></div>' );
2010-09-14 23:38:29 +02:00
}
function cbfunc2 ( o ){
2010-09-15 17:55:18 +02:00
$ ( '#uncompletedList' ) . append ( '<li id="' + o . id + '">' + o . content + ' - ' + o . date_string + ' <img src="images/interface/delete.png" id="delete-' + o . id + '"/> <img src="images/interface/complete.png" class="completeTask" id="complete-' + o . id + '"/> </li>' );
2010-09-14 23:38:29 +02:00
}
2010-09-20 16:39:08 +02:00
$ ( document ) . ready ( function (){
$ ( '#todo' ) . resizable ();
$ ( '#todo' ) . draggable ();
$ ( '#todo' ) . append ( '<div id="results"></div><img src="images/interface/add.png" id="showNewTask"/><fieldset id="newTaskFieldset" style="display:none; width:200px;"><input type="text" name="newtask" id="newtask"/> <select id="priority"><option id="1" value="1">1</option><option id="2" value="2">2</option><option id="3" value="3">3</option><option id="4" value="4">4</option></select> <br/><input type="text" name="date_string" id="date_string"/> <img src="images/interface/add.png" id="addTask"/></fieldset>' );
2010-09-14 23:38:29 +02:00
var token = " <?= $token ?> " ;
var project_id = " <?= $id ?> " ;
var script = document . createElement ( 'script' );
script . type = 'text/javascript' ;
script . src = 'https://todoist.com/API/getUncompletedItems?project_id=' + project_id + '&token=' + token + '&format=json&callback=cbfunc' ;
document . getElementsByTagName ( 'head' )[ 0 ] . appendChild ( script );
$ ( '#showNewTask' ) . click ( function (){
$ ( '#newTaskFieldset' ) . toggle ();
});
$ ( '#addTask' ) . click ( function (){
var content = $ ( '#newtask' ) . val ();
var date_string = $ ( '#date_string' ) . val ();
var priority = $ ( '#priority' ) . val ();
var script = document . createElement ( 'script' );
script . type = 'text/javascript' ;
script . src = 'https://todoist.com/API/addItem?project_id=' + project_id + '&token=' + token + '&content=' + content + '&date_string=' + date_string + '&priority=' + priority + '&format=json&callback=cbfunc2' ;
document . getElementsByTagName ( 'head' )[ 0 ] . appendChild ( script );
});
$ ( '.deleteTask' ) . live ( 'click' , function (){
var id = $ ( this ) . attr ( 'id' );
arrayId = id . split ( '-' );
var script = document . createElement ( 'script' );
script . type = 'text/javascript' ;
script . src = 'https://todoist.com/API/deleteItems?ids=["' + arrayId [ 1 ] + '"]&token=' + token ;
document . getElementsByTagName ( 'head' )[ 0 ] . appendChild ( script );
$ ( '#' + arrayId [ 1 ]) . remove ();
});
$ ( '.completeTask' ) . live ( 'click' , function (){
var id = $ ( this ) . attr ( 'id' );
arrayId = id . split ( '-' );
var script = document . createElement ( 'script' );
script . type = 'text/javascript' ;
script . src = 'https://todoist.com/API/completeItems?ids=["' + arrayId [ 1 ] + '"]&token=' + token ;
document . getElementsByTagName ( 'head' )[ 0 ] . appendChild ( script );
$ ( '#' + arrayId [ 1 ]) . remove ();
});
2010-09-21 16:00:04 +02:00
/* A helper function for converting a set of elements to draggables: */
make_draggable ( $ ( '#todo' ));
var zIndex = 0 ;
function make_draggable ( elements )
{
/* Elements is a jquery object: */
elements . draggable ({
snap : true ,
containment : 'parent' ,
start : function ( e , ui ){ ui . helper . css ( 'z-index' , ++ zIndex ); },
stop : function ( e , ui ){
/* Sending the z-index and positon of the note to update_position.php via AJAX GET: */
$ . get ( 'ajax/update_position_config.php' ,{
x : ui . position . left ,
y : ui . position . top ,
id : ui . helper . attr ( 'id' )
});
}
});
}
2010-09-14 23:38:29 +02:00
});