mirror of
https://github.com/maxpozdeev/mytinytodo.git
synced 2026-03-11 08:55:27 +00:00
* friendy messages if no lists to show
This commit is contained in:
parent
26567ee59b
commit
d6ca663d4e
6 changed files with 70 additions and 24 deletions
|
|
@ -23,12 +23,13 @@ if(isset($_GET['loadLists']))
|
||||||
{
|
{
|
||||||
check_token();
|
check_token();
|
||||||
$t = array();
|
$t = array();
|
||||||
|
$t['total'] = 0;
|
||||||
if (!is_logged()) $sqlWhere = 'WHERE published=1';
|
if (!is_logged()) $sqlWhere = 'WHERE published=1';
|
||||||
else {
|
else {
|
||||||
$sqlWhere = '';
|
$sqlWhere = '';
|
||||||
$t['list'][] = prepareAllTasksList(); // show alltasks lists only for authorized user
|
$t['list'][] = prepareAllTasksList(); // show alltasks lists only for authorized user
|
||||||
|
$t['total'] = 1;
|
||||||
}
|
}
|
||||||
$t['total'] = 1;
|
|
||||||
$q = $db->dq("SELECT * FROM {$db->prefix}lists $sqlWhere ORDER BY ow ASC, id ASC");
|
$q = $db->dq("SELECT * FROM {$db->prefix}lists $sqlWhere ORDER BY ow ASC, id ASC");
|
||||||
while($r = $q->fetchAssoc())
|
while($r = $q->fetchAssoc())
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -161,6 +161,8 @@
|
||||||
"actionNoteCancel": "cancel",
|
"actionNoteCancel": "cancel",
|
||||||
"error": "Some error occurred (click for details)",
|
"error": "Some error occurred (click for details)",
|
||||||
"denied": "Access denied",
|
"denied": "Access denied",
|
||||||
|
"listNotFound": "Not found",
|
||||||
|
"noPublicLists": "No public tasks",
|
||||||
"invalidpass": "Wrong password",
|
"invalidpass": "Wrong password",
|
||||||
"addList": "Create new list",
|
"addList": "Create new list",
|
||||||
"addListDefault": "Todo",
|
"addListDefault": "Todo",
|
||||||
|
|
|
||||||
|
|
@ -116,6 +116,10 @@ $().ready(function(){
|
||||||
<span id="tagcloudbtn" class="mtt-menu-button"><?php _e('tagcloud');?> <span class="arrdown2"></span></span>
|
<span id="tagcloudbtn" class="mtt-menu-button"><?php _e('tagcloud');?> <span class="arrdown2"></span></span>
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
|
<div id="tasks_info" style="display:none;">
|
||||||
|
<div class="v"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<ol id="tasklist" class="sortable"></ol>
|
<ol id="tasklist" class="sortable"></ol>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -258,7 +262,7 @@ $().ready(function(){
|
||||||
|
|
||||||
<div id="slmenucontainer" class="mtt-menu-container" style="display:none">
|
<div id="slmenucontainer" class="mtt-menu-container" style="display:none">
|
||||||
<ul>
|
<ul>
|
||||||
<li id="slmenu_list:-1" class="list-id--1 mtt-need-list"><div class="menu-icon"></div><a href="#alltasks"><?php _e('alltasks'); ?></a></li>
|
<li id="slmenu_list:-1" class="list-id--1 mtt-need-authorized"><div class="menu-icon"></div><a href="#alltasks"><?php _e('alltasks'); ?></a></li>
|
||||||
<li class="mtt-menu-delimiter slmenu-lists-begin mtt-need-list"></li>
|
<li class="mtt-menu-delimiter slmenu-lists-begin mtt-need-list"></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,7 @@ a { color:#0000ff; cursor:pointer; text-decoration:underline; }
|
||||||
#msg.mtt-info .msg-details { border:1px solid #EFC300;}
|
#msg.mtt-info .msg-details { border:1px solid #EFC300;}
|
||||||
|
|
||||||
#lists { font-size:0.95rem; display:flex; align-items:flex-start; justify-content:flex-end; }
|
#lists { font-size:0.95rem; display:flex; align-items:flex-start; justify-content:flex-end; }
|
||||||
|
#mtt_body.readonly.no-lists #lists > * { visibility: hidden; }
|
||||||
.tabs-n-button { flex-grow:1; display:flex; align-items:flex-start; }
|
.tabs-n-button { flex-grow:1; display:flex; align-items:flex-start; }
|
||||||
.tab-height-wrapper { box-sizing:border-box; height:2.2rem; display:flex; align-items:center; }
|
.tab-height-wrapper { box-sizing:border-box; height:2.2rem; display:flex; align-items:center; }
|
||||||
.mtt-tabs { list-style:none; padding:0; margin:0; display:flex; justify-content:flex-start; flex-wrap:wrap; }
|
.mtt-tabs { list-style:none; padding:0; margin:0; display:flex; justify-content:flex-start; flex-wrap:wrap; }
|
||||||
|
|
@ -103,7 +104,9 @@ a { color:#0000ff; cursor:pointer; text-decoration:underline; }
|
||||||
.mtt-img-button:hover, .mtt-img-button.mtt-menu-button-active { background-color:#efefef; cursor:pointer; }
|
.mtt-img-button:hover, .mtt-img-button.mtt-menu-button-active { background-color:#efefef; cursor:pointer; }
|
||||||
.mtt-img-button span { display:block; width:16px; height:16px; }
|
.mtt-img-button span { display:block; width:16px; height:16px; }
|
||||||
|
|
||||||
#mtt_body.no-lists #toolbar > * { visibility:hidden; }
|
#mtt_body.no-lists #toolbar > * { visibility:hidden; }
|
||||||
|
#mtt_body.no-list-selected #toolbar > * { visibility:hidden; }
|
||||||
|
#mtt_body.readonly.no-lists #toolbar { visibility: hidden; }
|
||||||
#toolbar { padding:8px; border-bottom:1px solid #DEDEDE; background:#ededed; }
|
#toolbar { padding:8px; border-bottom:1px solid #DEDEDE; background:#ededed; }
|
||||||
#toolbar .mtt-img-button:hover { background-color:#ddd; }
|
#toolbar .mtt-img-button:hover { background-color:#ddd; }
|
||||||
|
|
||||||
|
|
@ -145,7 +148,8 @@ a { color:#0000ff; cursor:pointer; text-decoration:underline; }
|
||||||
|
|
||||||
/* */
|
/* */
|
||||||
#page_tasks h3 { display:flex; align-items:baseline; }
|
#page_tasks h3 { display:flex; align-items:baseline; }
|
||||||
#mtt_body.no-lists #page_tasks h3 > * { visibility:hidden; }
|
#mtt_body.no-lists #page_tasks h3 { visibility:hidden; }
|
||||||
|
#mtt_body.no-list-selected #page_tasks h3 { visibility:hidden; }
|
||||||
.mtt-notes-showhide { font-size:1rem; font-weight:normal; margin-left:5px; margin-right:5px; }
|
.mtt-notes-showhide { font-size:1rem; font-weight:normal; margin-left:5px; margin-right:5px; }
|
||||||
.mtt-notes-showhide a { text-decoration:none; border-bottom:1px dotted; }
|
.mtt-notes-showhide a { text-decoration:none; border-bottom:1px dotted; }
|
||||||
|
|
||||||
|
|
@ -298,6 +302,22 @@ li.task-row.task-completed .task-note-block .task-note { text-decoration:line-th
|
||||||
.prio-zero { /*background-color:#dedede;*/ }
|
.prio-zero { /*background-color:#dedede;*/ }
|
||||||
.task-prio.prio-zero { display:none; }
|
.task-prio.prio-zero { display:none; }
|
||||||
|
|
||||||
|
#tasks_info {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-content: center;
|
||||||
|
flex-direction: column;
|
||||||
|
min-height: 100px;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
#tasks_info .v {
|
||||||
|
font-size: 1.1rem;
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.form-row { margin-top:0.6rem; }
|
.form-row { margin-top:0.6rem; }
|
||||||
.form-row .h { font-weight:bold; color:#333333; }
|
.form-row .h { font-weight:bold; color:#333333; }
|
||||||
.form-row div.h { margin-bottom:3px; }
|
.form-row div.h { margin-bottom:3px; }
|
||||||
|
|
@ -446,6 +466,7 @@ li.mtt-item-hidden { display:none; }
|
||||||
#slmenucontainer li.mtt-list-hidden a { font-style:italic; }
|
#slmenucontainer li.mtt-list-hidden a { font-style:italic; }
|
||||||
#cmenulistscontainer li.mtt-list-hidden { font-style:italic; }
|
#cmenulistscontainer li.mtt-list-hidden { font-style:italic; }
|
||||||
#mtt_body.readonly .mtt-need-list { display:none; }
|
#mtt_body.readonly .mtt-need-list { display:none; }
|
||||||
|
#mtt_body.readonly .mtt-need-authorized { display:none; }
|
||||||
|
|
||||||
#btnRssFeed .menu-icon { background:url(images/rss.svg) no-repeat; }
|
#btnRssFeed .menu-icon { background:url(images/rss.svg) no-repeat; }
|
||||||
#btnRssFeed.mtt-item-disabled .menu-icon { background:url(images/rss-disabled.svg) no-repeat; }
|
#btnRssFeed.mtt-item-disabled .menu-icon { background:url(images/rss-disabled.svg) no-repeat; }
|
||||||
|
|
|
||||||
|
|
@ -112,6 +112,8 @@ class Lang
|
||||||
'actionNoteCancel',
|
'actionNoteCancel',
|
||||||
'error',
|
'error',
|
||||||
'denied',
|
'denied',
|
||||||
|
'listNotFound',
|
||||||
|
'noPublicLists',
|
||||||
'invalidpass',
|
'invalidpass',
|
||||||
'addList',
|
'addList',
|
||||||
'addListDefault',
|
'addListDefault',
|
||||||
|
|
|
||||||
|
|
@ -675,6 +675,7 @@ var mytinytodo = window.mytinytodo = _mtt = {
|
||||||
}
|
}
|
||||||
$('#page_tasks').hide();
|
$('#page_tasks').hide();
|
||||||
$('#tasklist').html('');
|
$('#tasklist').html('');
|
||||||
|
$('#tasks_info').hide();
|
||||||
|
|
||||||
tabLists.clear();
|
tabLists.clear();
|
||||||
|
|
||||||
|
|
@ -682,7 +683,7 @@ var mytinytodo = window.mytinytodo = _mtt = {
|
||||||
{
|
{
|
||||||
var ti = '';
|
var ti = '';
|
||||||
var openListId = 0;
|
var openListId = 0;
|
||||||
if(res && res.total)
|
if(res && res.total && res.list)
|
||||||
{
|
{
|
||||||
// open required or first non-hidden list
|
// open required or first non-hidden list
|
||||||
for(var i=0; i<res.list.length; i++) {
|
for(var i=0; i<res.list.length; i++) {
|
||||||
|
|
@ -701,9 +702,6 @@ var mytinytodo = window.mytinytodo = _mtt = {
|
||||||
// open all tasks tab
|
// open all tasks tab
|
||||||
if(_mtt.options.openList == -1) openListId = -1;
|
if(_mtt.options.openList == -1) openListId = -1;
|
||||||
|
|
||||||
// or open first if all list are hidden
|
|
||||||
if(!openListId) openListId = res.list[0].id;
|
|
||||||
|
|
||||||
$.each(res.list, function(i,item) {
|
$.each(res.list, function(i,item) {
|
||||||
if ( item.id == -1) {
|
if ( item.id == -1) {
|
||||||
tabLists._alltasks = item;
|
tabLists._alltasks = item;
|
||||||
|
|
@ -720,32 +718,43 @@ var mytinytodo = window.mytinytodo = _mtt = {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if(openListId) {
|
if (openListId == 0) {
|
||||||
$('#mtt_body').removeClass('no-lists');
|
|
||||||
$('.mtt-need-list').removeClass('mtt-item-disabled');
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
curList = 0;
|
curList = 0;
|
||||||
$('#mtt_body').addClass('no-lists');
|
|
||||||
$('.mtt-need-list').addClass('mtt-item-disabled');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_mtt.options.openList && openListId != _mtt.options.openList) {
|
|
||||||
//TODO: handle unknown list
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_mtt.options.markdown == true) {
|
if (_mtt.options.markdown == true) {
|
||||||
$('#mtt_body').addClass('markdown-enabled');
|
$('#mtt_body').addClass('markdown-enabled');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (tabLists.length() > 0) {
|
||||||
|
$('#mtt_body').removeClass('no-lists');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$('#mtt_body').addClass('no-lists');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_mtt.options.openList != 0 && openListId == 0) {
|
||||||
|
// cant open list - not found
|
||||||
|
$('#tasks_info .v').text(_mtt.lang.get('listNotFound'))
|
||||||
|
$('#tasks_info').show();
|
||||||
|
}
|
||||||
|
else if (tabLists.length() == 0) {
|
||||||
|
if (flag.readOnly) $('#tasks_info .v').text(_mtt.lang.get('noPublicLists'));
|
||||||
|
else $('#tasks_info .v').text(_mtt.lang.get('listNotFound'))
|
||||||
|
$('#tasks_info').show();
|
||||||
|
}
|
||||||
|
|
||||||
_mtt.options.openList = 0;
|
_mtt.options.openList = 0;
|
||||||
|
$('#lists .mtt-tabs-selected').removeClass('mtt-tabs-selected');
|
||||||
|
$('#mtt_body').addClass('no-list-selected');
|
||||||
$('#lists ul').html(ti);
|
$('#lists ul').html(ti);
|
||||||
$('#lists').show();
|
$('#lists').show();
|
||||||
_mtt.doAction('listsLoaded');
|
_mtt.doAction('listsLoaded');
|
||||||
tabSelect(openListId);
|
|
||||||
|
|
||||||
|
if (tabLists.length() > 0 && openListId != 0) {
|
||||||
|
tabSelect(openListId);
|
||||||
|
}
|
||||||
$('#page_tasks').show();
|
$('#page_tasks').show();
|
||||||
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -1378,11 +1387,18 @@ function tabSelect(elementOrId)
|
||||||
id = id.split('_', 2)[1];
|
id = id.split('_', 2)[1];
|
||||||
if (id === 'all') id = -1;
|
if (id === 'all') id = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !tabLists.exists(id) ) {
|
if ( !tabLists.exists(id) ) {
|
||||||
// TODO: handle unknown list
|
$('#tasks_info .v').text(_mtt.lang.get('listNotFound'))
|
||||||
flashError(_mtt.lang.get('denied'));
|
$('#tasks_info').show();
|
||||||
|
$('.mtt-need-list').addClass('mtt-item-disabled');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
$('#tasks_info').hide();
|
||||||
|
$('.mtt-need-list').removeClass('mtt-item-disabled');
|
||||||
|
$('#mtt_body').removeClass('no-list-selected');
|
||||||
|
}
|
||||||
|
|
||||||
var prevList = curList;
|
var prevList = curList;
|
||||||
curList = tabLists.get(id);
|
curList = tabLists.get(id);
|
||||||
|
|
@ -1409,7 +1425,7 @@ function tabSelect(elementOrId)
|
||||||
var isFirstLoad = flag.firstLoad;
|
var isFirstLoad = flag.firstLoad;
|
||||||
updateHistoryState( { list:id }, _mtt.urlForList(curList), newTitle );
|
updateHistoryState( { list:id }, _mtt.urlForList(curList), newTitle );
|
||||||
|
|
||||||
if(curList.hidden) {
|
if (curList.hidden && flag.readOnly != true) {
|
||||||
curList.hidden = false;
|
curList.hidden = false;
|
||||||
_mtt.db.request('setHideList', {list:curList.id, hide:0});
|
_mtt.db.request('setHideList', {list:curList.id, hide:0});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue