mirror of
https://github.com/maxpozdeev/mytinytodo.git
synced 2026-03-11 08:55:27 +00:00
+ individual sorting for every tasklist
* readonly user can not change the sorting
This commit is contained in:
parent
94d3764b02
commit
619183fc9a
4 changed files with 32 additions and 17 deletions
32
src/ajax.js
32
src/ajax.js
|
|
@ -29,6 +29,7 @@ var page = {cur:'', prev:''};
|
|||
function loadTasks()
|
||||
{
|
||||
if(!curList) return false;
|
||||
setSort(curList.sort, 1);
|
||||
var tz = -1 * (new Date()).getTimezoneOffset();
|
||||
setAjaxErrorTrigger();
|
||||
var search = filter.search ? '&s='+encodeURIComponent(filter.search) : '';
|
||||
|
|
@ -470,14 +471,12 @@ function updateAccessStatus()
|
|||
}
|
||||
}
|
||||
if(flag.needAuth && flag.canAllRead && !flag.isLogged) {
|
||||
$("#tasklist").sortable('disable');
|
||||
$('#page_tasks').addClass('readonly')
|
||||
$("#authstr").text(lang.readonly).show();
|
||||
addsearchToggle(1);
|
||||
}
|
||||
else {
|
||||
$('#page_tasks').removeClass('readonly')
|
||||
if(sortBy == 0) $("#tasklist").sortable('enable');
|
||||
$("#authstr").text('').hide();
|
||||
}
|
||||
$('#page_ajax').hide();
|
||||
|
|
@ -628,16 +627,25 @@ function setSort(v, init)
|
|||
else if(v == 1) $('#sort>.btnstr').text($('#sortByPrio').text());
|
||||
else if(v == 2) $('#sort>.btnstr').text($('#sortByDueDate').text());
|
||||
else return;
|
||||
if(sortBy != v) {
|
||||
sortBy = v;
|
||||
if(v==0) $("#tasklist").sortable('enable');
|
||||
else $("#tasklist").sortable('disable');
|
||||
if(!init) {
|
||||
changeTaskOrder();
|
||||
var exp = new Date();
|
||||
exp.setTime(exp.getTime() + 3650*86400*1000); //+10 years
|
||||
document.cookie = "sort="+sortBy+'; expires='+exp.toUTCString();
|
||||
}
|
||||
|
||||
if(flag.needAuth && flag.canAllRead && !flag.isLogged) {
|
||||
$("#tasklist").sortable('disable');
|
||||
return;
|
||||
}
|
||||
sortBy = v;
|
||||
if(sortBy==0) $("#tasklist").sortable('enable');
|
||||
else $("#tasklist").sortable('disable');
|
||||
|
||||
if(!init)
|
||||
{
|
||||
curList.sort = sortBy;
|
||||
tabLists[curList.i].sort = sortBy;
|
||||
changeTaskOrder();
|
||||
setAjaxErrorTrigger()
|
||||
var nocache = '&rnd='+Math.random();
|
||||
$.post('ajax.php?setSort'+nocache, { list:curList.id, sort:sortBy }, function(json){
|
||||
resetAjaxErrorTrigger();
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
12
src/ajax.php
12
src/ajax.php
|
|
@ -23,7 +23,7 @@ if(isset($_GET['loadLists']))
|
|||
while($r = $q->fetch_assoc($q))
|
||||
{
|
||||
$t['total']++;
|
||||
$t['list'][] = array('id'=>$r['id'], 'name'=>htmlarray($r['name']));
|
||||
$t['list'][] = array('id'=>$r['id'], 'name'=>htmlarray($r['name']), 'sort'=>$r['sorting']);
|
||||
}
|
||||
echo json_encode($t);
|
||||
exit;
|
||||
|
|
@ -399,6 +399,16 @@ elseif(isset($_POST['deleteList']))
|
|||
echo json_encode($t);
|
||||
exit;
|
||||
}
|
||||
elseif(isset($_GET['setSort']))
|
||||
{
|
||||
check_write_access();
|
||||
$listId = (int)_post('list');
|
||||
$sort = (int)_post('sort');
|
||||
if($sort < 0 || $sort > 2) $sort = 0;
|
||||
$db->ex("UPDATE lists SET sorting=$sort WHERE id=$listId");
|
||||
echo json_encode(array('total'=>1));
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
###################################################################################################
|
||||
|
|
|
|||
|
|
@ -12,9 +12,6 @@ require_once('./lang/'.$config['lang'].'.php');
|
|||
|
||||
$lang = new Lang();
|
||||
|
||||
$sort = 0;
|
||||
if(isset($_COOKIE['sort']) && $_COOKIE['sort'] != '') $sort = (int)$_COOKIE['sort'];
|
||||
|
||||
if($config['duedateformat'] == 2) $duedateformat = 'm/d/yy';
|
||||
elseif($config['duedateformat'] == 3) $duedateformat = 'dd.mm.yy';
|
||||
elseif($config['duedateformat'] == 4) $duedateformat = 'dd/mm/yy';
|
||||
|
|
@ -61,7 +58,6 @@ $().ready(function(){
|
|||
$("#tasklist").bind("click", tasklistClick);
|
||||
$("#edittags").autocomplete('ajax.php?suggestTags', {scroll: false, multiple: true, selectFirst:false, max:8, extraParams:{list:function(){return curList.id}}});
|
||||
$("#priopopup").mouseleave(function(){$(this).hide()});
|
||||
setSort(<?php echo $sort; ?>,1);
|
||||
<?php
|
||||
if($needAuth)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ a { color:#0000ff; }
|
|||
#sortform { overflow: hidden; z-index:101; background-color:#f9f9f9; border:1px solid #cccccc; padding:3px; }
|
||||
#sortform .li { margin:1px 0px; padding:2px; cursor:pointer; }
|
||||
#sortform .li:hover { background-color:#316AC5; color:white; }
|
||||
#page_tasks.readonly #sort { display:none; }
|
||||
|
||||
.mtt-notes-showhide { font-size:8pt; font-weight:normal; margin-left:5px; }
|
||||
#rss_icon { float:right;margin-top:4px; }
|
||||
|
|
|
|||
Loading…
Reference in a new issue