]>
git.wh0rd.org - tt-rss.git/blob - digest.js
d641733f02a5e94b47066beeebadd4ad992eec26
3 var _active_feed_id
= false;
4 var _active_feed_offset
= false;
6 function view(article_id
) {
8 new Effect
.Fade('A-' + article_id
, {duration
: 0.3});
12 exception_error("view", e
);
16 function viewfeed(feed_id
, offset
) {
19 if (!feed_id
) feed_id
= _active_feed_id
;
24 offset
= _active_feed_offset
+ offset
;
26 var query
= "backend.php?op=rpc&subop=digest-update&feed_id=" + feed_id
+
31 new Ajax
.Request("backend.php", {
33 onComplete: function(transport
) {
34 digest_update(transport
);
35 _active_feed_id
= feed_id
;
36 _active_feed_offset
= offset
;
40 exception_error("view", e
);
44 function find_feed(feeds
, feed_id
) {
46 for (var i
= 0; i
< feeds
.length
; i
++) {
47 if (feeds
[i
].id
== feed_id
)
54 exception_error("find_feed", e
);
58 function get_feed_icon(feed
) {
61 return 'icons/' + feed
.id
+ '.ico';
64 return 'images/mark_set.png';
67 return 'images/pub_set.png';
70 return 'images/fresh.png';
73 return 'images/tag.png';
76 return 'images/label.png';
79 exception_error("get_feed_icon", e
);
83 function add_feed_entry(feed
) {
87 icon_part
= "<img src='" + get_feed_icon(feed
) + "'/>";
89 var tmp_html
= "<li>" +
91 "<a href=\"#\" onclick=\"viewfeed("+feed
.id
+")\">" + feed
.title
+
92 "<div class='unread-ctr'>" + feed
.unread
+ "</div>" +
95 $("feeds-content").innerHTML
+= tmp_html
;
98 exception_error("add_feed_entry", e
);
102 function add_latest_entry(article
, feed
) {
106 //$("latest-content").innerHTML += "bbb";
109 exception_error("add_latest_entry", e
);
113 function add_headline_entry(article
, feed
) {
118 if (article
.has_icon
)
119 icon_part
= "<img src='icons/" + article
.feed_id
+ ".ico'/>";
121 var tmp_html
= "<li id=\"A-"+article
.id
+"\">" +
123 "<a target=\"_blank\" href=\""+article
.link
+"\""+
124 "onclick=\"return view("+article
.id
+")\" class='title'>" +
125 article
.title
+ "</a>" +
126 "<div class='body'><div class='excerpt'>" + article
.excerpt
+ "</div>" +
127 "<div class='info'><a>" + feed
.title
+ "</a> " + " @ " +
128 new Date(article
.updated
* 1000) + "</div>" +
131 $("headlines-content").innerHTML
+= tmp_html
;
134 exception_error("add_headline_entry", e
);
138 function digest_update(transport
) {
140 var feeds
= transport
.responseXML
.getElementsByTagName('feeds')[0];
141 var headlines
= transport
.responseXML
.getElementsByTagName('headlines')[0];
144 feeds
= eval("(" + feeds
.firstChild
.nodeValue
+ ")");
148 $('feeds-content').innerHTML
= "";
150 for (var i
= 0; i
< feeds
.length
; i
++) {
151 add_feed_entry(feeds
[i
]);
158 headlines
= eval("(" + headlines
.firstChild
.nodeValue
+ ")");
160 $('headlines-content').innerHTML
= "";
162 Element
.hide('headlines-content');
164 for (var i
= 0; i
< headlines
.length
; i
++) {
165 add_headline_entry(headlines
[i
], find_feed(feeds
, headlines
[i
].feed_id
));
168 // $('headlines-content').innerHTML += "<li>" +
169 // "<div class='body'><a href=\"#\" onclick=\"viewfeed(false, 10)\">" +
170 // __("More articles...") + "</a></div></li>";
172 new Effect
.Appear('headlines-content');
177 exception_error("digest_update", e
);
181 function digest_init() {
184 new Ajax
.Request("backend.php", {
185 parameters
: "backend.php?op=rpc&subop=digest-init",
186 onComplete: function(transport
) {
187 digest_update(transport
);
188 window
.setTimeout('viewfeed(-4)', 100);
192 exception_error("digest_init", e
);