mirror of
https://github.com/maxpozdeev/mytinytodo.git
synced 2026-03-11 08:55:27 +00:00
+ complete form to create task
This commit is contained in:
parent
b20bc1406d
commit
6d6f2482d8
5 changed files with 87 additions and 3 deletions
40
src/ajax.js
40
src/ajax.js
|
|
@ -286,10 +286,24 @@ function editTask(id)
|
|||
for(var i=0; i<sel.length; i++) {
|
||||
if(sel.options[i].value == item.prio) sel.options[i].selected = true;
|
||||
}
|
||||
showEditForm();
|
||||
return false;
|
||||
}
|
||||
|
||||
function showEditForm(isAdd)
|
||||
{
|
||||
$('<div id="overlay"></div>').appendTo('body').css('opacity', 0.5).show();
|
||||
//clear selection
|
||||
if(document.selection && document.selection.empty) document.selection.empty();
|
||||
else if(window.getSelection) window.getSelection().removeAllRanges();
|
||||
if(isAdd) {
|
||||
showhide($('#page_taskedit>h3.mtt-inadd'), $('#page_taskedit>h3.mtt-inedit'));
|
||||
$('#page_taskedit>form').attr('onSubmit', 'return submitFullTask(this)');
|
||||
}
|
||||
else {
|
||||
showhide( $('#page_taskedit>h3.mtt-inedit'), $('#page_taskedit>h3.mtt-inadd'));
|
||||
$('#page_taskedit>form').attr('onSubmit', 'return saveTask(this)');
|
||||
}
|
||||
var w = $('#page_taskedit');
|
||||
if(!flag.windowTaskEditMoved)
|
||||
{
|
||||
|
|
@ -304,12 +318,11 @@ function editTask(id)
|
|||
}
|
||||
if(x < 0) x = 0;
|
||||
if(y < 0) y = 0;
|
||||
w.css('left',x).css('top',y);
|
||||
w.css({left:x, top:y});
|
||||
tmp.editformpos = [x, y];
|
||||
}
|
||||
w.fadeIn('fast'); //.show();
|
||||
$(document).bind('keydown', cancelEdit);
|
||||
return false;
|
||||
}
|
||||
|
||||
function cancelEdit(e)
|
||||
|
|
@ -1116,3 +1129,26 @@ function saveSettings(frm)
|
|||
}
|
||||
}, 'json');
|
||||
}
|
||||
|
||||
function submitFullTask(form)
|
||||
{
|
||||
if(flag.needAuth && !flag.isLogged && flag.canAllRead) return false;
|
||||
setAjaxErrorTrigger();
|
||||
var nocache = '&rnd='+Math.random();
|
||||
$.post('ajax.php?fullNewTask'+nocache, { list:curList.id, tag:filter.tag, title: form.task.value, note:form.note.value, prio:form.prio.value, tags:form.tags.value, duedate:form.duedate.value }, function(json){
|
||||
resetAjaxErrorTrigger();
|
||||
if(!parseInt(json.total)) return;
|
||||
$('#total').text( parseInt($('#total').text()) + parseInt(json.total) );
|
||||
form.task.value = '';
|
||||
var item = json.list[0];
|
||||
taskList[item.id] = item;
|
||||
taskOrder.push(parseInt(item.id));
|
||||
$('#tasklist').append(prepareTaskStr(item));
|
||||
changeTaskOrder(item.id);
|
||||
cancelEdit();
|
||||
$('#taskrow_'+item.id).effect("highlight", {color:theme.newTaskFlashColor}, 2000);
|
||||
}, 'json');
|
||||
$("#edittags").flushCache();
|
||||
flag.tagsChanged = true;
|
||||
return false;
|
||||
}
|
||||
42
src/ajax.php
42
src/ajax.php
|
|
@ -105,6 +105,48 @@ elseif(isset($_GET['newTask']))
|
|||
echo json_encode($t);
|
||||
exit;
|
||||
}
|
||||
elseif(isset($_GET['fullNewTask']))
|
||||
{
|
||||
check_write_access();
|
||||
stop_gpc($_POST);
|
||||
$listId = (int)_post('list');
|
||||
$title = trim(_post('title'));
|
||||
$note = str_replace("\r\n", "\n", trim(_post('note')));
|
||||
$prio = (int)_post('prio');
|
||||
if($prio < -1) $prio = -1;
|
||||
elseif($prio > 2) $prio = 2;
|
||||
$duedate = parse_duedate(trim(_post('duedate')));
|
||||
$t = array();
|
||||
$t['total'] = 0;
|
||||
if($title == '') {
|
||||
echo json_encode($t);
|
||||
exit;
|
||||
}
|
||||
$tags = trim(_post('tags'));
|
||||
if(isset($config['autotag']) && $config['autotag']) $tags .= ','._post('tag');
|
||||
$tz = (int)_post('tz');
|
||||
if( (isset($config['autotz']) && $config['autotz']==0) || $tz<-720 || $tz>720 || $tz%30!=0 ) $d = strftime("%Y-%m-%d %H:%M:%S");
|
||||
else $d = gmdate("Y-m-d H:i:s", time()+$tz*60);
|
||||
$ow = 1 + (int)$db->sq("SELECT MAX(ow) FROM todolist WHERE list_id=$listId AND compl=0");
|
||||
if(is_null($duedate)) $duedate = 'NULL'; else $duedate = $db->quote($duedate);
|
||||
$db->ex("BEGIN");
|
||||
$db->dq("INSERT INTO todolist (list_id,title,d,ow,prio,note,duedate) VALUES($listId,?,?,$ow,$prio,?,$duedate)", array($title,$d,$note));
|
||||
$id = $db->last_insert_id();
|
||||
if($tags)
|
||||
{
|
||||
$tag_ids = prepare_tags($tags, $listId);
|
||||
if($tag_ids) {
|
||||
update_task_tags($id, $tag_ids);
|
||||
$db->ex("UPDATE todolist SET tags=? WHERE id=$id", $tags);
|
||||
}
|
||||
}
|
||||
$db->ex("COMMIT");
|
||||
$r = $db->sqa("SELECT * FROM todolist WHERE id=$id");
|
||||
$t['list'][] = prepareTaskRow($r);
|
||||
$t['total'] = 1;
|
||||
echo json_encode($t);
|
||||
exit;
|
||||
}
|
||||
elseif(isset($_GET['deleteTask']))
|
||||
{
|
||||
check_write_access();
|
||||
|
|
|
|||
|
|
@ -115,6 +115,7 @@ $().ajaxStop( function(r,s) {$("#loading").fadeOut();} );
|
|||
<div class="mtt-htabs">
|
||||
<span id="htab_newtask"><?php __('htab_newtask');?>
|
||||
<form onSubmit="return submitNewTask(this)"><input type="text" name="task" value="" maxlength="250" id="task"> <input type="submit" value="<?php __('btn_add');?>"></form>
|
||||
<a href="#" onClick="showEditForm(1);return false;"><?php __('advanced_add');?></a>
|
||||
| <a href="#" class="htab-toggle" onClick="addsearchToggle(1);this.blur();return false;"><?php __('htab_search');?></a>
|
||||
</span>
|
||||
|
||||
|
|
@ -142,7 +143,8 @@ $().ajaxStop( function(r,s) {$("#loading").fadeOut();} );
|
|||
|
||||
<div id="page_taskedit" style="display:none">
|
||||
|
||||
<h3><?php __('edit_task');?></h3>
|
||||
<h3 class="mtt-inadd"><?php __('add_task');?></h3>
|
||||
<h3 class="mtt-inedit"><?php __('edit_task');?></h3>
|
||||
|
||||
<form onSubmit="return saveTask(this)" name="edittask">
|
||||
<input type="hidden" name="id" value="">
|
||||
|
|
|
|||
|
|
@ -34,9 +34,11 @@ class DefaultLang
|
|||
'htab_search' => "Search",
|
||||
'btn_add' => "Add",
|
||||
'btn_search' => "Search",
|
||||
'advanced_add' => "Advanced",
|
||||
'searching' => "Searching for",
|
||||
'tasks' => "Tasks",
|
||||
'edit_task' => "Edit Task",
|
||||
'add_task' => "New Task",
|
||||
'priority' => "Priority",
|
||||
'task' => "Task",
|
||||
'note' => "Note",
|
||||
|
|
|
|||
|
|
@ -29,9 +29,11 @@ class Lang extends DefaultLang
|
|||
'htab_search' => "Search",
|
||||
'btn_add' => "Add",
|
||||
'btn_search' => "Search",
|
||||
'advanced_add' => "Advanced",
|
||||
'searching' => "Searching for",
|
||||
'tasks' => "Tasks",
|
||||
'edit_task' => "Edit Task",
|
||||
'add_task' => "New Task",
|
||||
'priority' => "Priority",
|
||||
'task' => "Task",
|
||||
'note' => "Note",
|
||||
|
|
|
|||
Loading…
Reference in a new issue