mirror of
https://github.com/maxpozdeev/mytinytodo.git
synced 2026-03-11 08:55:27 +00:00
+ ability to use single tab for all lists
This commit is contained in:
parent
ca5d0a80f9
commit
2fa4b6752b
5 changed files with 73 additions and 31 deletions
43
src/ajax.js
43
src/ajax.js
|
|
@ -810,10 +810,10 @@ function editFormResize(startstop, event)
|
|||
else $('#page_taskedit textarea').height(f.height() - tmp.editformdiff);
|
||||
}
|
||||
|
||||
function mttTabSelected(el, indx)
|
||||
function mttTabSelected(id, indx)
|
||||
{
|
||||
$(el.parentNode.parentNode).children('.mtt-tabs-selected').removeClass('mtt-tabs-selected');
|
||||
$(el.parentNode).addClass('mtt-tabs-selected');
|
||||
$('#lists .mtt-tabs-selected').removeClass('mtt-tabs-selected');
|
||||
$('#lists li.list-id-'+tabLists[indx].id).addClass('mtt-tabs-selected');
|
||||
if(!tabLists[indx]) return;
|
||||
if(indx != curList.i) {
|
||||
$('#tasklist').html('');
|
||||
|
|
@ -843,7 +843,7 @@ function btnMenu(el)
|
|||
if(w.css('display') == 'none')
|
||||
{
|
||||
oBtnMenu.h = [];
|
||||
$(w).find('li').each( function(i,o){
|
||||
$(w).find('li').each( function(i,o){
|
||||
if(o.onclick) {
|
||||
oBtnMenu.h[i] = o.onclick;
|
||||
$(o).bind("click2", o.onclick);
|
||||
|
|
@ -853,7 +853,7 @@ function btnMenu(el)
|
|||
}
|
||||
} );
|
||||
var offset = $(el).offset();
|
||||
w.css({ position: 'absolute', top: offset.top+el.offsetHeight-1, left: offset.left , 'min-width': $(el).width() }).show();
|
||||
w.css({ position: 'absolute', top: offset.top+el.offsetHeight-1, left: offset.left , 'min-width': $(el).width(), 'width':w.width() }).show();
|
||||
$(document).bind("click", btnMenuClose);
|
||||
}
|
||||
else {
|
||||
|
|
@ -910,7 +910,7 @@ function loadLists(onInit, updAccess)
|
|||
$.each(json.list, function(i,item){
|
||||
item.i = i;
|
||||
tabLists[i] = item;
|
||||
ti += '<li class="'+(i==0?'mtt-tabs-selected':'')+'"><a href="#list'+item.id+'" onClick="mttTabSelected(this,'+i+');return false;" title="'+item.name+'"><span>'+item.name+'</span></a></li>';
|
||||
ti += '<li class="'+(i==0?'mtt-tabs-selected':'')+' list-id-'+item.id+'"><a href="#list'+item.id+'" onClick="mttTabSelected('+item.id+','+i+');return false;" title="'+item.name+'"><span>'+item.name+'</span></a></li>';
|
||||
});
|
||||
if(!curList) {
|
||||
$('#toolbar').children().removeClass('invisible');
|
||||
|
|
@ -935,8 +935,8 @@ function loadLists(onInit, updAccess)
|
|||
ti += '<li class="mtt-tabs-button menu-owner"><a href="#" id="mylists" onClick="btnMenu(this);return false;"><span></span></a></li>';
|
||||
$('#lists>ul').html(ti);
|
||||
$('#lists').show();
|
||||
if(!flag.needAuth || flag.isLogged || curList) $('#page_tasks').show();
|
||||
mytinytodo.doAction('listsLoaded');
|
||||
if(!flag.needAuth || flag.isLogged || curList) $('#page_tasks').show();
|
||||
});
|
||||
$('#page_tasks').hide();
|
||||
if(updAccess) updateAccessStatus();
|
||||
|
|
@ -956,7 +956,7 @@ function addList()
|
|||
item.i = i;
|
||||
tabLists[i] = item;
|
||||
if(i > 0) {
|
||||
$('#lists>ul>li.mtt-tabs-button').before('<li><a href="#list'+item.id+'" onClick="mttTabSelected(this,'+i+');return false;" title="'+item.name+'"><span>'+item.name+'</span></a></li>') ;
|
||||
$('#lists>ul>li.mtt-tabs-button').before('<li class="'+' list-id-'+item.id+'"><a href="#list'+item.id+'" onClick="mttTabSelected('+item.id+','+i+');return false;" title="'+item.name+'"><span>'+item.name+'</span></a></li>') ;
|
||||
mytinytodo.doAction('listAdded', {i:i, list:item});
|
||||
}
|
||||
else loadLists();
|
||||
|
|
@ -1315,3 +1315,30 @@ function moveTaskToList(taskId, listId)
|
|||
$("#edittags").flushCache();
|
||||
flag.tagsChanged = true;
|
||||
}
|
||||
|
||||
function cmenuListsLoaded(opts)
|
||||
{
|
||||
if(cmenu) cmenu.destroy();
|
||||
cmenu = null;
|
||||
var s = '';
|
||||
for(var i in tabLists) {
|
||||
s += '<li id="cmenu_list:'+tabLists[i].id+'">'+tabLists[i].name+'</li>';
|
||||
}
|
||||
$('#listsmenucontainer ul').html(s);
|
||||
}
|
||||
|
||||
function cmenuListAdded(opts)
|
||||
{
|
||||
if(cmenu) cmenu.destroy();
|
||||
cmenu = null;
|
||||
$('#listsmenucontainer ul').append('<li id="cmenu_list:'+opts.list.id+'">'+opts.list.name+'</li>');
|
||||
}
|
||||
|
||||
function cmenuListRenamed(opts)
|
||||
{
|
||||
$('#cmenu_list\\:'+opts.list.id).text(opts.list.name);
|
||||
}
|
||||
|
||||
mytinytodo.addAction('listsLoaded', cmenuListsLoaded);
|
||||
mytinytodo.addAction('listAdded', cmenuListAdded);
|
||||
mytinytodo.addAction('listRenamed', cmenuListRenamed);
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
/*
|
||||
myTinyTodo language pack
|
||||
Language: English
|
||||
Translated: English
|
||||
Original name: English
|
||||
Author: Max Pozdeev
|
||||
Author Url: http://www.mytinytodo.net
|
||||
AppVersion: v1.3.2
|
||||
|
|
|
|||
|
|
@ -1,29 +1,34 @@
|
|||
/* Default template */
|
||||
|
||||
mytinytodo.addAction('listsLoaded', listsLoaded);
|
||||
mytinytodo.addAction('listAdded', listAdded);
|
||||
mytinytodo.addAction('listRenamed', listRenamed);
|
||||
|
||||
function listsLoaded(opts)
|
||||
function tplSingleTabLoaded()
|
||||
{
|
||||
if(cmenu) cmenu.destroy();
|
||||
cmenu = null;
|
||||
|
||||
var s = '';
|
||||
for(var i in tabLists) {
|
||||
s += '<li id="cmenu_list:'+tabLists[i].id+'">'+tabLists[i].name+'</li>';
|
||||
var $lc = $('#mylistscontainer');
|
||||
if($lc.find('.mtt-btnmenu-delimiter').length == 0) {
|
||||
$lc.find('ul').append('<li class="mtt-btnmenu-delimiter"></li>');
|
||||
} else {
|
||||
$lc.find('.list-ref').remove();
|
||||
}
|
||||
$('#listsmenucontainer ul').html(s);
|
||||
var ti = '';
|
||||
for(var i in tabLists) {
|
||||
ti += '<li class="list-ref '+(i==0?'mtt-item-checked':'')+' list-id-'+tabLists[i].id+'" onClick="tplTabMenuSelect('+tabLists[i].id+','+i+');"><div class="menu-icon"></div><a href="#list'+tabLists[i].id+'" onClick="return false">'+tabLists[i].name+'</a></li>';
|
||||
}
|
||||
$lc.find('.mtt-btnmenu-delimiter').after(ti);
|
||||
}
|
||||
|
||||
function listAdded(opts)
|
||||
function tplSingleTabRenamed(opts)
|
||||
{
|
||||
if(cmenu) cmenu.destroy();
|
||||
cmenu = null;
|
||||
$('#listsmenucontainer ul').append('<li id="cmenu_list:'+opts.list.id+'">'+opts.list.name+'</li>');
|
||||
$('#mylistscontainer li.list-id-'+opts.list.id).find('a').html(opts.list.name);
|
||||
}
|
||||
|
||||
function listRenamed(opts)
|
||||
function tplSingleTabAdded(opts)
|
||||
{
|
||||
$('#cmenu_list\\:'+opts.list.id).text(opts.list.name);
|
||||
$('#mylistscontainer ul').append('<li class="list-ref list-id-'+opts.list.id+'" onClick="tplTabMenuSelect('+opts.list.id+','+opts.list.i+');"><div class="menu-icon"></div><a href="#list'+opts.list.id+'" onClick="return false">'+opts.list.name+'</a></li>');
|
||||
}
|
||||
|
||||
function tplTabMenuSelect(id, indx)
|
||||
{
|
||||
mttTabSelected(id, indx);
|
||||
$('#mylistscontainer li.list-ref').removeClass('mtt-item-checked');
|
||||
$('#mylistscontainer li.list-id-'+id).addClass('mtt-item-checked');
|
||||
return false;
|
||||
}
|
||||
|
|
@ -60,6 +60,11 @@ $().ready(function(){
|
|||
<?php else: ?>
|
||||
flag.pda = true;
|
||||
<?php endif; ?>
|
||||
<?php if(isset($_GET['singletab'])): ?>
|
||||
mytinytodo.addAction('listsLoaded', tplSingleTabLoaded);
|
||||
mytinytodo.addAction('listRenamed', tplSingleTabRenamed);
|
||||
mytinytodo.addAction('listAdded', tplSingleTabAdded);
|
||||
<?php endif; ?>
|
||||
|
||||
});
|
||||
$().ajaxSend( function(r,s) {$("#loading").show();} );
|
||||
|
|
@ -94,7 +99,7 @@ $().ajaxStop( function(r,s) {$("#loading").fadeOut();} );
|
|||
<div id="page_tasks" style="display:none">
|
||||
|
||||
<div id="lists">
|
||||
<ul class="mtt-tabs"></ul>
|
||||
<ul class="mtt-tabs <?php if(isset($_GET['singletab'])) echo "mtt-tabs-only-one"; ?>"></ul>
|
||||
</div>
|
||||
|
||||
<div id="toolbar" class="mtt-htabs">
|
||||
|
|
@ -200,6 +205,7 @@ $().ajaxStop( function(r,s) {$("#loading").fadeOut();} );
|
|||
<li class="mtt-need-list" onClick="renameCurList()"><?php _e('list_rename');?></li>
|
||||
<li class="mtt-need-list" onClick="deleteCurList()"><?php _e('list_delete');?></li>
|
||||
<li class="mtt-need-list" id="btnPublish" onClick="publishCurList()"><div class="menu-icon"></div><?php _e('list_publish');?></li>
|
||||
<!-- <div id="mylistselect" style="width:100%"></div>-->
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@ a { color:#0000ff; }
|
|||
.mtt-tabs li.mtt-tabs-button a { padding:6px 0px 0px 0px; }
|
||||
.mtt-tabs li.mtt-tabs-button a span { width:21px; min-width:21px; display:block; background:url(images/arrdown.gif) no-repeat bottom; height:12px; }
|
||||
.mtt-tabs li.mtt-tabs-button:hover a span { opacity:0.5; }
|
||||
.mtt-tabs.mtt-tabs-only-one li { display:none; }
|
||||
.mtt-tabs.mtt-tabs-only-one li.mtt-tabs-selected, .mtt-tabs.mtt-tabs-only-one li.mtt-tabs-button { display:block; }
|
||||
#page_tasks.readonly li.mtt-tabs-button { display:none; }
|
||||
*>.mtt-tabs li { width:auto; height:auto; }
|
||||
*>.mtt-tabs a span { height:auto; width:auto; }
|
||||
|
|
@ -192,15 +194,17 @@ li.task-completed .task-note-block .task-note { text-decoration:line-through; }
|
|||
|
||||
.mtt-btnmenu-container {
|
||||
overflow:hidden; z-index:100;
|
||||
background-color:#f9f9f9; border:1px solid #cccccc; padding:3px;
|
||||
background-color:#f9f9f9; border:1px solid #cccccc; padding:2px;
|
||||
-moz-box-shadow:1px 2px 5px rgba(0,0,0,0.5); -webkit-box-shadow:1px 2px 5px rgba(0,0,0,0.5); margin:0px 7px 7px 0px;
|
||||
}
|
||||
.mtt-btnmenu-container ul { list-style: none; padding:0; margin:0; }
|
||||
.mtt-btnmenu-container li { margin:1px 0px; padding:2px; cursor:pointer; color:#000; white-space:nowrap; }
|
||||
.mtt-btnmenu-container li { margin:1px 0px; padding:2px 3px; cursor:pointer; color:#000; white-space:nowrap; }
|
||||
.mtt-btnmenu-container li:hover { background-color:#316AC5; color:white; }
|
||||
.mtt-btnmenu-container li.mtt-need-list.mtt-disabled { color:#ACA899; }
|
||||
.mtt-btnmenu-delimiter { height:0px; border-top:1px solid #cccccc; margin:2px -1px 2px -1px }
|
||||
.mtt-btnmenu-container a { display:block; text-decoration:none; outline:none; color:#000; }
|
||||
.mtt-btnmenu-container li:hover a { color:white; }
|
||||
.mtt-btnmenu-container.mtt-menu-has-images li { padding-left:18px; }
|
||||
.mtt-btnmenu-container li.mtt-btnmenu-delimiter { height:0px; line-height:0; border-bottom:1px solid #cccccc; margin:2px -1px; padding:0px; font-size:0px; }
|
||||
li.mtt-item-checked .menu-icon { float:left; width:16px; height:16px; margin-left:-18px; background:url(images/icons.gif) -16px -16px; }
|
||||
.mtt-btnmenu-container.mtt-menu-has-submenu li { padding-right:18px; }
|
||||
li.mtt-menu-indicator .submenu-icon {
|
||||
|
|
|
|||
Loading…
Reference in a new issue