From ca5d0a80f94ddbfd0b5d10720b74461e98f8462f Mon Sep 17 00:00:00 2001 From: Max Pozdeev Date: Thu, 21 Jan 2010 23:20:03 +0300 Subject: [PATCH] * some task actions handlers moved to template file --- src/ajax.js | 39 ++++++++++++++------------------- src/themes/default/functions.js | 29 ++++++++++++++++++++++++ src/themes/default/index.php | 1 + version.txt | 2 +- 4 files changed, 48 insertions(+), 23 deletions(-) create mode 100644 src/themes/default/functions.js diff --git a/src/ajax.js b/src/ajax.js index 3f368d5..1b9cff7 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -22,6 +22,10 @@ var curList = 0; var tagsList = []; var page = {cur:'', prev:''}; +var mytinytodo = { + actions: {} +}; + function loadTasks() { if(!curList) return false; @@ -932,7 +936,7 @@ function loadLists(onInit, updAccess) $('#lists>ul').html(ti); $('#lists').show(); if(!flag.needAuth || flag.isLogged || curList) $('#page_tasks').show(); - doAction('listsLoaded'); + mytinytodo.doAction('listsLoaded'); }); $('#page_tasks').hide(); if(updAccess) updateAccessStatus(); @@ -953,7 +957,7 @@ function addList() tabLists[i] = item; if(i > 0) { $('#lists>ul>li.mtt-tabs-button').before('
  • '+item.name+'
  • ') ; - doAction('listAdded', {i:i, list:item}); + mytinytodo.doAction('listAdded', {i:i, list:item}); } else loadLists(); }, 'json'); @@ -974,7 +978,7 @@ function renameCurList() tabLists[curList.i] = item; curList = item; $('#lists>ul>.mtt-tabs-selected>a').attr('title', item.name).html(item.name); - doAction('listRenamed', {i:curList.i, list:item}); + mytinytodo.doAction('listRenamed', {i:curList.i, list:item}); }, 'json'); } @@ -1280,26 +1284,17 @@ function mttMenu(container, options) } -function doAction(action, opts) +mytinytodo.addAction = function(action, proc) { - switch(action) { - case 'listsLoaded': - if(cmenu) cmenu.destroy(); - cmenu = null; - var s = ''; - for(var i in tabLists) { - s += '
  • '+tabLists[i].name+'
  • '; - } - $('#listsmenucontainer ul').html(s); - break; - case 'listAdded': - if(cmenu) cmenu.destroy(); - cmenu = null; - $('#listsmenucontainer ul').append('
  • '+opts.list.name+'
  • '); - break; - case 'listRenamed': - $('#cmenu_list\\:'+opts.list.id).text(opts.list.name); - break; + if(!this.actions[action]) this.actions[action] = new Array(); + this.actions[action].push(proc); +} + +mytinytodo.doAction = function(action, opts) +{ + if(!this.actions[action]) return; + for(var i in this.actions[action]) { + this.actions[action][i](opts); } } diff --git a/src/themes/default/functions.js b/src/themes/default/functions.js new file mode 100644 index 0000000..e48fbee --- /dev/null +++ b/src/themes/default/functions.js @@ -0,0 +1,29 @@ +/* Default template */ + +mytinytodo.addAction('listsLoaded', listsLoaded); +mytinytodo.addAction('listAdded', listAdded); +mytinytodo.addAction('listRenamed', listRenamed); + +function listsLoaded(opts) +{ + if(cmenu) cmenu.destroy(); + cmenu = null; + + var s = ''; + for(var i in tabLists) { + s += '
  • '+tabLists[i].name+'
  • '; + } + $('#listsmenucontainer ul').html(s); +} + +function listAdded(opts) +{ + if(cmenu) cmenu.destroy(); + cmenu = null; + $('#listsmenucontainer ul').append('
  • '+opts.list.name+'
  • '); +} + +function listRenamed(opts) +{ + $('#cmenu_list\\:'+opts.list.id).text(opts.list.name); +} \ No newline at end of file diff --git a/src/themes/default/index.php b/src/themes/default/index.php index b55fbf5..c5ec411 100644 --- a/src/themes/default/index.php +++ b/src/themes/default/index.php @@ -34,6 +34,7 @@ function datepickerformat() +