]>
git.wh0rd.org - tt-rss.git/blob - mobile/mobile.js
1 var backend
= "backend.php";
3 function toggleMarked(id
, elem
) {
7 if (elem
.getAttribute("toggled") == "true") {
13 var query
= "?op=toggleMarked&id=" + id
+ "&mark=" + toggled
;
15 new Ajax
.Request(backend
, {
17 onComplete: function (transport
) {
22 function togglePublished(id
, elem
) {
26 if (elem
.getAttribute("toggled") == "true") {
32 var query
= "?op=togglePublished&id=" + id
+ "&pub=" + toggled
;
34 new Ajax
.Request(backend
, {
36 onComplete: function (transport
) {
42 function toggleUnread(id
, elem
) {
46 if (elem
.getAttribute("toggled") == "true") {
52 var query
= "?op=toggleUnread&id=" + id
+ "&unread=" + toggled
;
54 new Ajax
.Request(backend
, {
56 onComplete: function (transport
) {
62 function setPref(elem
) {
66 if (elem
.getAttribute("toggled") == "true") {
72 var query
= "?op=setPref&id=" + id
+ "&to=" + toggled
;
74 new Ajax
.Request(backend
, {
76 onComplete: function (transport
) {
82 // Go directly to another item in the same feed
83 function goToSibling(article_id
, feed_id
, link
, step
) {
84 var links
= linksInFeed(feed_id
);
85 for (var i
=0 ; i
<links
.length
; i
++) {
86 var re
= new RegExp(".*article\\.php\\?id="+article_id
+"&.*");
87 if (!re
.test(links
[i
].href
)) continue;
88 // here, we've found the current article
92 iui
.showPage($("feed-"+feed_id
), true);
95 if (index
>= links
.length
) {
96 showRestOfFeed(feed_id
);
99 console
.log(links
[index
]);
100 var match
= links
[index
].href
.match(/.*article\.php\?(.*)/);
102 var backwards
= false;
103 if (step
< 0) backwards
= true;
104 link
.setAttribute("selected", "progress");
105 function unselect() { link
.removeAttribute("selected"); }
106 iui
.showPageByHref("article.php?"+qs
, null, null, null, unselect
, backwards
);
111 function goPrev(article_id
, feed_id
, link
) {
112 return goToSibling(article_id
, feed_id
, link
, -1);
114 function goNext(article_id
, feed_id
, link
) {
115 return goToSibling(article_id
, feed_id
, link
, 1);
118 // Get all the links in the feed. The all_links variable includes the "get more article" link
119 function linksInFeed(feed_id
, all_links
) {
120 var feed_content
= $("feed-"+feed_id
);
121 var links_raw
= feed_content
.getElementsByTagName("a");
122 if (all_links
) return links_raw
;
124 // filter the array to remove the "get more articles" link
125 // and the "search" link (which is always first)
126 for (var i
=1 ; i
<links_raw
.length
; i
++) {
127 if (links_raw
[i
].href
.match(/.*article\.php\?id=.*/)) {
128 links
.push(links_raw
[i
]);
134 // Adds the "read" class to all read links in the feed
135 function markAsRead(feed_id
) {
136 var links
= linksInFeed(feed_id
);
137 for (var j
=0 ; j
<links
.length
; j
++) {
138 var match
= links
[j
].href
.match(/.*article\.php\?id=(\d+)&.*/);
139 if ($("article-"+match
[1])) {
140 links
[j
].className
= "read";
145 // Go the the articles list and expand the "get more articles" link
146 function showRestOfFeed(feed_id
) {
147 var links_raw
= linksInFeed(feed_id
, true);
148 var lastlink
= links_raw
[links_raw
.length
- 1];
149 if (lastlink
.target
== "_replace") {
150 // It's a "get more articles" link
151 iui
.showPage($("feed-"+feed_id
), true);
152 // Mark old items a "read"
154 // Simulate click on the "get more articles" link
155 lastlink
.setAttribute("selected", "progress");
156 function unselect() { lastlink
.removeAttribute("selected"); }
157 setTimeout(window
.scrollTo
, 0, 0, 1000);
158 iui
.showPageByHref(lastlink
.href
, null, null, lastlink
, unselect
);
160 iui
.showPage($("home"), true);