/* This file is a part of myTinyTodo. (C) Copyright 2010 Max Pozdeev Licensed under the GNU GPL v2 license. See file COPYRIGHT for details. */ // AJAX myTinyTodo Storage (function(){ var mtt; function mytinytodoStorageAjax(amtt) { this.mtt = mtt = amtt; } window.mytinytodoStorageAjax = mytinytodoStorageAjax; mytinytodoStorageAjax.prototype = { /* required method */ request:function(action, params, callback) { if(!this[action]) throw "Unknown storage action: "+action; this[action](params, function(json){ if(json.denied) mtt.errorDenied(); if(callback) callback.call(mtt, json) }); }, loadLists: function(params, callback) { $.getJSON(this.mtt.mttUrl+'ajax.php?loadLists'+'&rnd='+Math.random(), callback); }, loadTasks: function(params, callback) { var q = ''; 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'; q += '&rnd='+Math.random(); /* $.getJSON(mtt.mttUrl+'ajax.php?loadTasks&list='+params.list+'&compl='+params.compl+'&sort='+params.sort+'&tz='+params.tz+q, function(json){ callback.call(mtt, json); }) */ $.getJSON(this.mtt.mttUrl+'ajax.php?loadTasks&list='+params.list+'&compl='+params.compl+'&sort='+params.sort+q, callback); }, newTask: function(params, callback) { $.post(this.mtt.mttUrl+'ajax.php?newTask', { list:params.list, title: params.title, tag:params.tag }, callback, 'json'); }, fullNewTask: function(params, callback) { $.post(this.mtt.mttUrl+'ajax.php?fullNewTask', { list:params.list, title:params.title, note:params.note, prio:params.prio, tags:params.tags, duedate:params.duedate }, callback, 'json'); }, editTask: function(params, callback) { $.post(this.mtt.mttUrl+'ajax.php?editTask='+params.id, { id:params.id, title:params.title, note:params.note, prio:params.prio, tags:params.tags, duedate:params.duedate }, callback, 'json'); }, editNote: function(params, callback) { $.post(this.mtt.mttUrl+'ajax.php?editNote='+params.id, {id:params.id, note: params.note}, callback, 'json'); }, completeTask: function(params, callback) { $.post(this.mtt.mttUrl+'ajax.php?completeTask='+params.id, { id:params.id, compl:params.compl }, callback, 'json'); }, deleteTask: function(params, callback) { $.post(this.mtt.mttUrl+'ajax.php?deleteTask='+params.id, { id:params.id }, callback, 'json'); }, setPrio: function(params, callback) { $.getJSON(this.mtt.mttUrl+'ajax.php?setPrio='+params.id+'&prio='+params.prio+'&rnd='+Math.random(), callback); }, setSort: function(params, callback) { $.post(this.mtt.mttUrl+'ajax.php?setSort', { list:params.list, sort:params.sort }, callback, 'json'); }, changeOrder: function(params, callback) { var order = ''; for(var i in params.order) { order += params.order[i].id +'='+ params.order[i].diff + '&'; } $.post(this.mtt.mttUrl+'ajax.php?changeOrder', { order:order }, callback, 'json'); }, tagCloud: function(params, callback) { $.getJSON(this.mtt.mttUrl+'ajax.php?tagCloud&list='+params.list+'&rnd='+Math.random(), callback); }, moveTask: function(params, callback) { $.post(this.mtt.mttUrl+'ajax.php?moveTask', { id:params.id, from:params.from, to:params.to }, callback, 'json'); }, parseTaskStr: function(params, callback) { $.post(this.mtt.mttUrl+'ajax.php?parseTaskStr', { list:params.list, title:params.title, tag:params.tag }, callback, 'json'); }, // Lists addList: function(params, callback) { $.post(this.mtt.mttUrl+'ajax.php?addList', { name:params.name }, callback, 'json'); }, renameList: function(params, callback) { $.post(this.mtt.mttUrl+'ajax.php?renameList', { list:params.list, name:params.name }, callback, 'json'); }, deleteList: function(params, callback) { $.post(this.mtt.mttUrl+'ajax.php?deleteList', { list:params.list }, callback, 'json'); }, publishList: function(params, callback) { $.post(this.mtt.mttUrl+'ajax.php?publishList', { list:params.list, publish:params.publish }, callback, 'json'); }, setShowNotesInList: function(params, callback) { $.post(this.mtt.mttUrl+'ajax.php?setShowNotesInList', { list:params.list, shownotes:params.shownotes }, callback, 'json'); }, setHideList: function(params, callback) { $.post(this.mtt.mttUrl+'ajax.php?setHideList', { list:params.list, hide:params.hide }, callback, 'json'); }, changeListOrder: function(params, callback) { $.post(this.mtt.mttUrl+'ajax.php?changeListOrder', { order:params.order }, callback, 'json'); }, clearCompletedInList: function(params, callback) { $.post(this.mtt.mttUrl+'ajax.php?clearCompletedInList', { list:params.list }, callback, 'json'); } }; })();