]> git.wh0rd.org - tt-rss.git/blob - mobile/mobile.js
some typing error corrections
[tt-rss.git] / mobile / mobile.js
1 var backend = "backend.php";
2
3 function toggleMarked(id, elem) {
4
5 var toggled = false;
6
7 if (elem.getAttribute("toggled") == "true") {
8 toggled = 1;
9 } else {
10 toggled = 0;
11 }
12
13 var query = "op=toggleMarked&id=" + id + "&mark=" + toggled;
14
15 new Ajax.Request(backend, {
16 parameters: query,
17 onComplete: function (transport) {
18 //
19 } });
20 }
21
22 function togglePublished(id, elem) {
23
24 var toggled = false;
25
26 if (elem.getAttribute("toggled") == "true") {
27 toggled = 1;
28 } else {
29 toggled = 0;
30 }
31
32 var query = "op=togglePublished&id=" + id + "&pub=" + toggled;
33
34 new Ajax.Request(backend, {
35 parameters: query,
36 onComplete: function (transport) {
37 //
38 } });
39
40 }
41
42 function toggleUnread(id, elem) {
43
44 var toggled = false;
45
46 if (elem.getAttribute("toggled") == "true") {
47 toggled = 1;
48 } else {
49 toggled = 0;
50 }
51
52 var query = "op=toggleUnread&id=" + id + "&unread=" + toggled;
53
54 new Ajax.Request(backend, {
55 parameters: query,
56 onComplete: function (transport) {
57 //
58 } });
59
60 }
61
62 function setPref(elem) {
63 var toggled = false;
64 var id = elem.id;
65
66 if (elem.getAttribute("toggled") == "true") {
67 toggled = 1;
68 } else {
69 toggled = 0;
70 }
71
72 var query = "op=setPref&id=" + id + "&to=" + toggled;
73
74 new Ajax.Request(backend, {
75 parameters: query,
76 onComplete: function (transport) {
77 //
78 } });
79
80 }
81
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
89 var index = i + step;
90 if (index < 0) {
91 markAsRead(feed_id);
92 iui.showPage($("feed-"+feed_id), true);
93 return false;
94 }
95 if (index >= links.length) {
96 showRestOfFeed(feed_id);
97 return false;
98 }
99 console.log(links[index]);
100 var match = links[index].href.match(/.*article\.php\?(.*)/);
101 var qs = match[1];
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);
107 return false;
108 }
109 return false;
110 }
111 function goPrev(article_id, feed_id, link) {
112 return goToSibling(article_id, feed_id, link, -1);
113 }
114 function goNext(article_id, feed_id, link) {
115 return goToSibling(article_id, feed_id, link, 1);
116 }
117
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;
123 var links = [];
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]);
129 }
130 }
131 return links;
132 }
133
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";
141 }
142 }
143 }
144
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"
153 markAsRead(feed_id);
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);
159 } else {
160 iui.showPage($("home"), true);
161 }
162 }
163