]> git.wh0rd.org - tt-rss.git/blob - digest.js
add experimental digest thingie (2)
[tt-rss.git] / digest.js
1 var last_feeds = [];
2
3 function find_feed(feeds, feed_id) {
4 try {
5 for (var i = 0; i < feeds.length; i++) {
6 if (feeds[i].id == feed_id)
7 return feeds[i];
8 }
9
10 return false;
11
12 } catch (e) {
13 exception_error("find_feed", e);
14 }
15 }
16
17 function add_feed_entry(feed) {
18 try {
19 var icon_part = "";
20
21 if (feed.has_icon)
22 icon_part = "<img alt='zz' src='icons/" + feed.id + ".ico'/>";
23
24 var tmp_html = "<li>" +
25 icon_part +
26 feed.title +
27 "<div class='unread-ctr'>" + feed.unread + "</div>" +
28 "</li>";
29
30 $("feeds-content").innerHTML += tmp_html;
31
32 } catch (e) {
33 exception_error("add_feed_entry", e);
34 }
35 }
36
37 function add_latest_entry(article) {
38 try {
39
40 } catch (e) {
41 exception_error("add_latest_entry", e);
42 }
43 }
44
45 function add_headline_entry(article, feed) {
46 try {
47
48 var icon_part = "";
49
50 if (article.has_icon)
51 icon_part = "<img alt='zz' src='icons/" + article.feed_id + ".ico'/>";
52
53 var tmp_html = "<li>" +
54 icon_part +
55 "<a class='title'>" + article.title + "</a>" +
56 "<div class='excerpt'>" + article.excerpt + "</div>" +
57 "<div class='info'><a>" + feed.title + "</a> " + " @ " +
58 article.updated + "</div>" +
59 "</li>";
60
61 $("headlines-content").innerHTML += tmp_html;
62
63 } catch (e) {
64 exception_error("add_headline_entry", e);
65 }
66 }
67
68 function digest_update(transport) {
69 try {
70 var feeds = transport.responseXML.getElementsByTagName('feeds')[0];
71 var headlines = transport.responseXML.getElementsByTagName('headlines')[0];
72
73 if (feeds) {
74 last_feeds = feeds;
75
76 feeds = eval("(" + feeds.firstChild.nodeValue + ")");
77
78 for (var i = 0; i < feeds.length; i++) {
79 add_feed_entry(feeds[i]);
80 }
81 }
82
83 if (headlines) {
84 headlines = eval("(" + headlines.firstChild.nodeValue + ")");
85
86 for (var i = 0; i < headlines.length; i++) {
87 add_headline_entry(headlines[i], find_feed(feeds, headlines[i].feed_id));
88 }
89 }
90
91 } catch (e) {
92 exception_error("digest_update", e);
93 }
94 }
95
96 function digest_init() {
97 try {
98
99 new Ajax.Request("backend.php", {
100 parameters: "backend.php?op=rpc&subop=digest-init",
101 onComplete: function(transport) {
102 digest_update(transport);
103 } });
104
105 } catch (e) {
106 exception_error("digest_init", e);
107 }
108 }