aboutsummaryrefslogtreecommitdiffstats
path: root/apps/tasks/js/tasks.js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/tasks/js/tasks.js')
-rw-r--r--apps/tasks/js/tasks.js59
1 files changed, 33 insertions, 26 deletions
diff --git a/apps/tasks/js/tasks.js b/apps/tasks/js/tasks.js
index fac1708b5ee..c6b99ac408d 100644
--- a/apps/tasks/js/tasks.js
+++ b/apps/tasks/js/tasks.js
@@ -12,18 +12,20 @@ OC.Tasks = {
return a.localeCompare(b);
},
create_task_div:function(task) {
+ var actions = $('#task_actions_template');
+ var summary_container = $('<p class="summary">')
+ .attr('title', task.description)
+ ;
+ OC.Tasks.setSummary(summary_container, task);
var task_container = $('<div>')
.addClass('task')
.data('task', task)
.data('show_count', 0)
.attr('data-id', task.id)
- .append($('<p>')
- .html('<a href="index.php?id='+task.id+'">'+task.summary+'</a>')
- .addClass('summary')
- .attr('title', task.description)
- )
+ .append(summary_container)
//.append(actions.clone().removeAttr('id'))
;
+ task_container.find('.summary a').click(OC.Tasks.summaryClickHandler);
var checkbox = $('<input type="checkbox">')
.click(OC.Tasks.complete_task);
if (task.completed) {
@@ -121,11 +123,36 @@ OC.Tasks = {
container.append(this);
});
},
+ setSummary:function(summary_container, task){
+ var summary = $('<a href="index.php?id='+task.id+'">'+task.summary+'</a>')
+ .click(OC.Tasks.summaryClickHandler);
+ summary_container.html(summary);
+ },
+ summaryClickHandler:function(event){
+ event.preventDefault();
+ //event.stopPropagation();
+ var task = $(this).closest('.task').data('task');
+ var summary_container = $(this).parent();
+ var input = $('<input>').val($(this).text()).blur(function(){
+ var old_summary = task.summary;
+ task.summary = $(this).val();
+ OC.Tasks.setSummary(summary_container, task);
+ $.post('ajax/update_property.php', {id:task.id, type:'summary', summary:task.summary}, function(jsondata){
+ if(jsondata.status != 'success') {
+ task.summary = old_summary;
+ OC.Tasks.setSummary(summary_container, task);
+ }
+ });
+ });
+ summary_container.empty().append(input);
+ input.focus();
+ return false;
+ },
complete_task:function() {
var $task = $(this).closest('.task'),
task = $task.data('task'),
checked = $(this).is(':checked');
- $.post('ajax/complete.php', {id:task.id, checked:checked?1:0}, function(jsondata){
+ $.post('ajax/update_property.php', {id:task.id, type:'complete', checked:checked?1:0}, function(jsondata){
if(jsondata.status == 'success') {
task = jsondata.data;
$task.data('task', task)
@@ -163,7 +190,6 @@ $(document).ready(function(){
*-----------------------------------------------------------------------*/
$.getJSON(OC.filePath('tasks', 'ajax', 'gettasks.php'), function(jsondata) {
var tasks = $('#tasks_list').empty().data('show_count', 0);
- var actions = $('#task_actions_template');
$(jsondata).each(function(i, task) {
tasks.append(OC.Tasks.create_task_div(task));
});
@@ -188,25 +214,6 @@ $(document).ready(function(){
/*-------------------------------------------------------------------------
* Event handlers
*-----------------------------------------------------------------------*/
- $('#tasks div.task .summary').live('click',function(){
- var id = $(this).parent('div.task').data('id');
- var oldid = $('#task_details').data('id');
- if(oldid != 0){
- $('#tasks li[data-id="'+oldid+'"]').removeClass('active');
- }
- $.getJSON('ajax/getdetails.php',{'id':id},function(jsondata){
- if(jsondata.status == 'success'){
- $('#task_details').data('id',jsondata.data.id);
- $('#task_details').html(jsondata.data.page);
- $('#tasks li[data-id="'+jsondata.data.id+'"]').addClass('active');
- }
- else{
- alert(jsondata.data.message);
- }
- });
- return false;
- });
-
$('#tasks div.categories .tag').live('click',function(){
OC.Tasks.filter(this, 'div.categories .tag');
var tag_text = $(this).text();