From 63edb54f04e19d98625366807e3c482bef44f836 Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Fri, 6 Mar 2009 21:46:25 +0100 Subject: Show feed entries using JavaScript if possible. --- public/feed-list.js | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 public/feed-list.js (limited to 'public') diff --git a/public/feed-list.js b/public/feed-list.js new file mode 100644 index 0000000..cce8911 --- /dev/null +++ b/public/feed-list.js @@ -0,0 +1,45 @@ +YUI({base: "/yui3/build/", timeout: 10000}).use("io-base", function(Y) { + function successHandler(entry_id) { + function updateEntry(id, response) { + var elem = Y.Node.get("#entry-" + entry_id + "-container"); + var xml = response.responseXML.documentElement; + var uri = xml.getElementsByTagName('uri')[0].firstChild.nodeValue; + var title = xml.getElementsByTagName('title')[0].firstChild.nodeValue; + var content = xml.getElementsByTagName('content')[0].firstChild.nodeValue; + elem.set("innerHTML", '

' + title + '

' + + '
' + content + '
'); + } + + return updateEntry; + } + + function failureHandler(entry_id) { + function updateEntry(id, response) { + var elem = Y.Node.get("#entry-" + entry_id + "-container"); + // FIXME + alert ("No content."); + } + + return updateEntry; + } + + function getEntry(event) { + event.preventDefault(); + var id_string = this.get('id'); + var id = id_string.slice(6); + var queryURI = '/entry-xml?id=' + id; + Y.log("Querying server for entry: " + id, "info", "cljssss^g"); + var request = Y.io(queryURI, { + method: "GET", + on: { + success: successHandler(id), + failure: failureHandler(id) + }}); + } + +// Y.on("click", getEntry, ".entry-link"); + Y.Node.all(".entry-link").each(function(elem, key) { + Y.on("click", getEntry, elem, elem); + }); + +}); -- cgit v1.2.3