From 9804ce4f2d8e40de3dcb2dc479ac32c251eaeacf Mon Sep 17 00:00:00 2001 From: Max Pozdeev Date: Thu, 30 Dec 2010 01:14:44 +0300 Subject: [PATCH] + can hide tab with Ctrl+click --- src/ajax.php | 12 ++++ src/mytinytodo.js | 111 +++++++++++++++++++++++++-------- src/mytinytodo_ajax_storage.js | 5 ++ src/themes/default/style.css | 3 + 4 files changed, 104 insertions(+), 27 deletions(-) diff --git a/src/ajax.php b/src/ajax.php index ba65eb4..d0b59d5 100644 --- a/src/ajax.php +++ b/src/ajax.php @@ -535,6 +535,17 @@ elseif(isset($_GET['setShowNotesInList'])) echo json_encode(array('total'=>1)); exit; } +elseif(isset($_GET['setHideList'])) +{ + check_write_access(); + $listId = (int)_post('list'); + $flag = (int)_post('hide'); + $bitwise = ($flag == 0) ? 'taskview & ~4' : 'taskview | 4'; + $db->dq("UPDATE {$db->prefix}lists SET taskview=$bitwise WHERE id=$listId"); + echo json_encode(array('total'=>1)); + exit; +} + ################################################################################################### @@ -872,6 +883,7 @@ function prepareList($row) 'published' => $row['published'] ? 1 :0, 'showCompl' => $taskview & 1 ? 1 : 0, 'showNotes' => $taskview & 2 ? 1 : 0, + 'hidden' => $taskview & 4 ? 1 : 0, ); } diff --git a/src/mytinytodo.js b/src/mytinytodo.js index 7481197..7e6bf39 100644 --- a/src/mytinytodo.js +++ b/src/mytinytodo.js @@ -235,11 +235,12 @@ var mytinytodo = window.mytinytodo = _mtt = { // Tabs $('#lists li.mtt-tab').live('click', function(event){ - tabSelected(this); if(event.metaKey || event.ctrlKey) { - // toggle singetab interface - _mtt.applySingletab(!_mtt.options.singletab); + // hide the tab + hideTab(this); + return false; } + tabSelect(this); return false; }); @@ -249,7 +250,7 @@ var mytinytodo = window.mytinytodo = _mtt = { hideTab(-1); return false; } - tabSelected(-1); + tabSelect(-1); return false; }); @@ -460,13 +461,14 @@ var mytinytodo = window.mytinytodo = _mtt = { this.addAction('listAdded', cmenuOnListAdded); this.addAction('listSelected', cmenuOnListSelected); this.addAction('listOrderChanged', cmenuOnListOrderChanged); + this.addAction('listHidden', cmenuOnListHidden); // select list menu this.addAction('listsLoaded', slmenuOnListsLoaded); this.addAction('listRenamed', slmenuOnListRenamed); this.addAction('listAdded', slmenuOnListAdded); this.addAction('listSelected', slmenuOnListSelected); - this.addAction('listOrderChanged', slmenuOnListsLoaded); + this.addAction('listHidden', slmenuOnListHidden); return this; }, @@ -502,51 +504,57 @@ var mytinytodo = window.mytinytodo = _mtt = { $('#searchbar').hide(); } $('#page_tasks').hide(); + $('#tasklist').html(''); tabLists.clear(); this.db.loadLists(null, function(res) { var ti = ''; + var openListId = 0; if(res && res.total) { - // determine if need to open specific tab - var openId = res.list[0].id; - if(_mtt.options.openList) { - for(var i in res.list) { + // open required or first non-hidden list + for(var i=0; i