mirror of
https://github.com/maxpozdeev/mytinytodo.git
synced 2026-03-11 08:55:27 +00:00
* change of list sorting is produced on backend with tasklist reload
This commit is contained in:
parent
8e90422ac8
commit
9f918c0663
4 changed files with 26 additions and 12 deletions
|
|
@ -1022,7 +1022,7 @@ function publishCurList()
|
|||
function loadTasks(opts)
|
||||
{
|
||||
if(!curList) return false;
|
||||
setSort(curList.sort, 1);
|
||||
updateSortUI(curList.sort);
|
||||
opts = opts || {};
|
||||
if(opts.clearTasklist) {
|
||||
$('#tasklist').html('');
|
||||
|
|
@ -1035,7 +1035,8 @@ function loadTasks(opts)
|
|||
sort: curList.sort,
|
||||
search: filter.search,
|
||||
tag: _mtt.filter.getTags(true),
|
||||
setCompl: opts.setCompl
|
||||
setCompl: opts.setCompl,
|
||||
saveSort: opts.saveSort
|
||||
}, function(json){
|
||||
taskList.length = 0;
|
||||
taskOrder.length = 0;
|
||||
|
|
@ -1327,9 +1328,19 @@ function setTaskPrio(id, prio)
|
|||
};
|
||||
|
||||
function setSort(v, init)
|
||||
{
|
||||
if (v < 0 || (v > 4 && v < 101) || v > 104) {
|
||||
return;
|
||||
}
|
||||
curList.sort = v;
|
||||
loadTasks({saveSort:1});
|
||||
};
|
||||
|
||||
|
||||
function updateSortUI(v)
|
||||
{
|
||||
$('#listmenucontainer .sort-item').removeClass('mtt-item-checked').children('.mtt-sort-direction').text('');
|
||||
if(v == 0) $('#sortByHand').addClass('mtt-item-checked');
|
||||
if (v == 0) $('#sortByHand').addClass('mtt-item-checked');
|
||||
else if(v==1 || v==101) $('#sortByPrio').addClass('mtt-item-checked').children('.mtt-sort-direction').text(v==1 ? '↑' : '↓');
|
||||
else if(v==2 || v==102) $('#sortByDueDate').addClass('mtt-item-checked').children('.mtt-sort-direction').text(v==2 ? '↑' : '↓');
|
||||
else if(v==3 || v==103) $('#sortByDateCreated').addClass('mtt-item-checked').children('.mtt-sort-direction').text(v==3 ? '↓' : '↑');
|
||||
|
|
@ -1337,14 +1348,8 @@ function setSort(v, init)
|
|||
else return;
|
||||
|
||||
curList.sort = v;
|
||||
if(v == 0 && !flag.readOnly) $("#tasklist").sortable('enable');
|
||||
if (v == 0 && !flag.readOnly) $("#tasklist").sortable('enable');
|
||||
else $("#tasklist").sortable('disable');
|
||||
|
||||
if(!init)
|
||||
{
|
||||
changeTaskOrder();
|
||||
if(!flag.readOnly) _mtt.db.request('setSort', {list:curList.id, sort:curList.sort});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ MytinytodoAjaxApi.prototype =
|
|||
if (params.search && params.search != '') q += '&s=' + encodeURIComponent(params.search);
|
||||
if (params.tag && params.tag != '') q += '&t=' + encodeURIComponent(params.tag);
|
||||
if (params.setCompl && params.setCompl != 0) q += '&setCompl=1';
|
||||
if (params.saveSort && params.saveSort != 0) q += '&saveSort=1';
|
||||
|
||||
$.getJSON(mtt.apiUrl + 'tasks?list='+params.list+'&compl='+params.compl+'&sort='+params.sort+q, callback);
|
||||
},
|
||||
|
|
|
|||
|
|
@ -206,8 +206,14 @@ class ListsController extends ApiController {
|
|||
|
||||
private function sortList(int $listId)
|
||||
{
|
||||
$db = DBConnection::instance();
|
||||
$sort = (int)($this->req->jsonBody['sort'] ?? 0);
|
||||
self::setListSortingById($listId, $sort);
|
||||
return ['total'=>1];
|
||||
}
|
||||
|
||||
static function setListSortingById(int $listId, int $sort)
|
||||
{
|
||||
$db = DBConnection::instance();
|
||||
if ($sort < 0 || $sort > 104) $sort = 0;
|
||||
elseif ($sort < 101 && $sort > 4) $sort = 0;
|
||||
if ($listId == -1) {
|
||||
|
|
@ -218,7 +224,6 @@ class ListsController extends ApiController {
|
|||
else {
|
||||
$db->ex("UPDATE {$db->prefix}lists SET sorting=$sort,d_edited=? WHERE id=$listId", array(time()));
|
||||
}
|
||||
return ['total'=>1];
|
||||
}
|
||||
|
||||
private function publishList(int $listId)
|
||||
|
|
|
|||
|
|
@ -102,6 +102,9 @@ class TasksController extends ApiController {
|
|||
$bitwise = (_get('compl') == 0) ? 'taskview & ~1' : 'taskview | 1';
|
||||
$db->dq("UPDATE {$db->prefix}lists SET taskview=$bitwise WHERE id=$listId");
|
||||
}
|
||||
if (_get('saveSort') == 1 && haveWriteAccess($listId)) {
|
||||
ListsController::setListSortingById($listId, $sort);
|
||||
}
|
||||
return $t;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue