]>
git.wh0rd.org - tt-rss.git/blob - digest.js
3 var _active_feed_id
= false;
4 var _active_feed_offset
= false;
6 function viewfeed(feed_id
, offset
) {
9 if (!feed_id
) feed_id
= _active_feed_id
;
14 offset
= _active_feed_offset
+ offset
;
16 var query
= "backend.php?op=rpc&subop=digest-update&feed_id=" + feed_id
+
21 new Ajax
.Request("backend.php", {
23 onComplete: function(transport
) {
24 digest_update(transport
);
25 _active_feed_id
= feed_id
;
26 _active_feed_offset
= offset
;
30 exception_error("view", e
);
34 function find_feed(feeds
, feed_id
) {
36 for (var i
= 0; i
< feeds
.length
; i
++) {
37 if (feeds
[i
].id
== feed_id
)
44 exception_error("find_feed", e
);
48 function get_feed_icon(feed
) {
51 return 'icons/' + feed
.id
+ '.ico';
54 return 'images/mark_set.png';
57 return 'images/pub_set.png';
60 return 'images/fresh.png';
63 return 'images/tag.png';
66 return 'images/label.png';
69 exception_error("get_feed_icon", e
);
73 function add_feed_entry(feed
) {
77 icon_part
= "<img src='" + get_feed_icon(feed
) + "'/>";
79 var tmp_html
= "<li>" +
81 "<a href=\"#\" onclick=\"viewfeed("+feed
.id
+")\">" + feed
.title
+
82 "<div class='unread-ctr'>" + feed
.unread
+ "</div>" +
85 $("feeds-content").innerHTML
+= tmp_html
;
88 exception_error("add_feed_entry", e
);
92 function add_latest_entry(article
, feed
) {
96 //$("latest-content").innerHTML += "bbb";
99 exception_error("add_latest_entry", e
);
103 function add_headline_entry(article
, feed
) {
108 if (article
.has_icon
)
109 icon_part
= "<img src='icons/" + article
.feed_id
+ ".ico'/>";
111 var tmp_html
= "<li>" +
113 "<a class='title'>" + article
.title
+ "</a>" +
114 "<div class='body'><div class='excerpt'>" + article
.excerpt
+ "</div>" +
115 "<div class='info'><a>" + feed
.title
+ "</a> " + " @ " +
116 new Date(article
.updated
* 1000) + "</div>" +
119 $("headlines-content").innerHTML
+= tmp_html
;
122 exception_error("add_headline_entry", e
);
126 function digest_update(transport
) {
128 var feeds
= transport
.responseXML
.getElementsByTagName('feeds')[0];
129 var headlines
= transport
.responseXML
.getElementsByTagName('headlines')[0];
132 feeds
= eval("(" + feeds
.firstChild
.nodeValue
+ ")");
136 $('feeds-content').innerHTML
= "";
138 for (var i
= 0; i
< feeds
.length
; i
++) {
139 add_feed_entry(feeds
[i
]);
146 headlines
= eval("(" + headlines
.firstChild
.nodeValue
+ ")");
148 $('headlines-content').innerHTML
= "";
150 Element
.hide('headlines-content');
152 for (var i
= 0; i
< headlines
.length
; i
++) {
153 add_headline_entry(headlines
[i
], find_feed(feeds
, headlines
[i
].feed_id
));
156 $('headlines-content').innerHTML
+= "<li>" +
157 "<div class='body'><a href=\"#\" onclick=\"viewfeed(false, 10)\">" +
158 __("More articles...") + "</a></div></li>";
160 new Effect
.Appear('headlines-content');
165 exception_error("digest_update", e
);
169 function digest_init() {
172 new Ajax
.Request("backend.php", {
173 parameters
: "backend.php?op=rpc&subop=digest-init",
174 onComplete: function(transport
) {
175 digest_update(transport
);
176 window
.setTimeout('viewfeed(-4)', 100);
180 exception_error("digest_init", e
);