=================================================================== RCS file: /cvs/todotxt/Text-Todo-REST-API/example/htdocs/lib/todo.js,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- todotxt/Text-Todo-REST-API/example/htdocs/lib/todo.js 2010/02/23 03:55:22 1.2 +++ todotxt/Text-Todo-REST-API/example/htdocs/lib/todo.js 2010/02/23 05:34:26 1.3 @@ -1,45 +1,57 @@ +"use strict"; var TODO = function () { var base_url = '/~andrew/user-bin/todo-rest.cgi', - editors = {}, - - makeEntryEditor = function(list, entry) { + editors = {}, + + makeEntryEditor = function (list, entry) { var url = base_url + '/' + list + '/entry/' + entry.line, - id = entry.id; + id = entry.id; if (!id) { id = 'entry_' + entry.line; } if (editors[id]) { - editors[id].dispose(); - delete editors[id]; + editors[id].dispose(); + delete editors[id]; } - editors[id] = new Ajax.InPlaceEditor( id, url + '.json', { - ajaxOptions: { - method: 'put', - }, - cols: 80, - rows: 1, - callback: function(form, value) { - entry.oldText = entry.text; - entry.text = value; - return entry; - }, - onComplete: function (transport, element) { - if (transport && transport.responseJSON) { - updateEntry( list, transport.responseJSON, element); - } + editors[id] = new Ajax.InPlaceEditor(id, url + '.json', { + ajaxOptions: { + method: 'put' + }, + cols: 80, + rows: 1, + callback: function (form, value) { + entry.oldText = entry.text; + entry.text = value; + return entry; + }, + onComplete: function (transport, element) { + if (transport && transport.responseJSON) { + updateEntry(list, transport.responseJSON, element); } } - ); + }); }, - updateEntry = function(list, entry, element) { + getList = function (list) { + $('list').update("Getting List . . ."); + + var request = new Ajax.Request(base_url + '/' + list + '.json', { + method: 'get', + onSuccess: function (transport) { + updateList(list, transport); + }, + }); + + }, + + updateEntry = function (list, entry, element) { if (!entry.id) { entry.id = 'entry_' + entry.line; } - var liId = 'li_' + entry.id; + var k, liId = 'li_' + entry.id; if (parseInt(entry.line) !== $(liId).value) { for (k in editors) { @@ -52,11 +64,12 @@ } $(liId).update( - new Element('span', { id: entry.id }). update(entry.text) - ).insert({ - top: new Element('input', { - type: 'checkbox' , - id: 'do_' + entry.line, + new Element('span', { + id: entry.id + }).update(entry.text)).insert({ + top: new Element('input', { + type: 'checkbox', + id: 'do_' + entry.line, checked: entry.done, disabled: true, }) @@ -66,19 +79,18 @@ }, updateList = function (list, transport) { - var i, - todo = transport.responseJSON, - element = new Element('ol'), - entryElement; + var i, todo = transport.responseJSON, + element = new Element('ol'), + entryElement; - $("list").update( element ); + $("list").update(element); - for (i=0; i <= todo.length; i++) { + for (i = 0; i <= todo.length; i++) { todo[i].id = 'entry_' + todo[i].line; - entryElement = new Element('li', { - id: 'li_' + todo[i].id, - value: todo[i].line + entryElement = new Element('li', { + id: 'li_' + todo[i].id, + value: todo[i].line }); element.insert(entryElement); @@ -90,73 +102,60 @@ getFiles = function () { $('files').update("Getting Files . . ."); - new Ajax.Updater('files', base_url, { - method: 'get', + var request = new Ajax.Updater('files', base_url, { + method: 'get' }); }, getTags = function (list) { - $('tags').update("Getting Tags. . ."); + $('tags').update("Getting Tags. . ."); - var url = base_url + '/' + list + '/tags'; + var url = base_url + '/' + list + '/tags'; - new Ajax.Request(url + '.json', { + var request = new Ajax.Request(url + '.json', { method: 'get', - onSuccess: function (transport) { - var k, - data = transport.responseJSON, + onSuccess: function (transport) { + var k, data = transport.responseJSON, element = new Element('ul'); $("tags").update(element); for (k in data) { if (data.hasOwnProperty(k)) { - element.insert( + element.insert( new Element('li', { id: 'tag_' + k, - }).update( k + ": " + data[k] ) - ); - getTag(list, k); + }).update(k + ": " + data[k])); + getTag(list, k); } } }, }); }, - getTag = function( list, tag ) { - new Ajax.Request(base_url + '/' + list + '/tags/' + tag + '.json', { + getTag = function (list, tag) { + var request = new Ajax.Request(base_url + '/' + list + '/tags/' + tag + '.json', { method: 'get', onSuccess: function (transport) { if (transport && transport.responseJSON) { - var i, - myTags = transport.responseJSON, + var i, myTags = transport.responseJSON, element = new Element('ul'); if (myTags.length) { $('tag_' + tag).insert(element); - for (i=0; i