Merge pull request #13 from Alvarord/starred

Starred
This commit is contained in:
Jeena Paradies 2013-09-14 13:02:59 -07:00
commit 3850fe7c25
3 changed files with 55 additions and 3 deletions

View file

@ -81,6 +81,7 @@
<header class="bar"> <header class="bar">
<a class="button" href="#list">List</a> <a class="button" href="#list">List</a>
<a id="setunread" class="button" href="#unread">Set unread</a> <a id="setunread" class="button" href="#unread">Set unread</a>
<a id="setstarred" class="button" href="#starred">no *</a>
<canvas width="40" height="40"></canvas> <canvas width="40" height="40"></canvas>
</header> </header>
<article> <article>

View file

@ -45,6 +45,8 @@ App.prototype.after_login = function() {
_this.showFull(_this.unread_articles[i]); _this.showFull(_this.unread_articles[i]);
} else if(url == "#unread") { } else if(url == "#unread") {
_this.setCurrentUnread(); _this.setCurrentUnread();
} else if(url == "#starred") {
_this.ChangeStarred();
} else if(url == "#logout") { } else if(url == "#logout") {
_this.logout(); _this.logout();
} else if(url == "#reset-info") { } else if(url == "#reset-info") {
@ -262,6 +264,11 @@ App.prototype.showFull = function(article, slide_back) {
} else { } else {
$("#setunread").innerHTML = "Set unread"; $("#setunread").innerHTML = "Set unread";
} }
if(article.marked) {
$("#setstarred").innerHTML = "*";
} else {
$("#setstarred").innerHTML = "no *";
}
}; };
@ -312,6 +319,25 @@ App.prototype.setCurrentUnread = function() {
$("#setunread").innerHTML = "✔ unread"; $("#setunread").innerHTML = "✔ unread";
}; };
App.prototype.ChangeStarred = function() {
var article = this.unread_articles[this.currentIndex];
if(!article) return; // happens if we're not on a full article site
if(!article.marked) {
article.marked = true;
this.updateList();
this.ttrss.setArticleStarred(article.id);
$("#setstarred").innerHTML = "*";
}
else {
article.marked = false;
this.updateList();
this.ttrss.setArticleUnStarred(article.id);
$("#setstarred").innerHTML = "no *";
}
};
App.prototype.goToList = function() { App.prototype.goToList = function() {
this.changeToPage("#list"); this.changeToPage("#list");
}; };
@ -348,4 +374,4 @@ App.prototype.fontChange = function(size) {
} }
}; };

View file

@ -13,7 +13,7 @@ TinyTinyRSS.prototype.onoffline = function() {
TinyTinyRSS.prototype.ononline = function() { TinyTinyRSS.prototype.ononline = function() {
var read_articles = localStorage.read_articles; var read_articles = localStorage.read_articles;
if (typeof read_articles !== "undefined") { if (read_articles ) {
read_articles = JSON.parse(localStorage.read_articles); read_articles = JSON.parse(localStorage.read_articles);
this.setArticleRead(read_articles.join(","), function() { this.setArticleRead(read_articles.join(","), function() {
localStorage.read_articles = null; localStorage.read_articles = null;
@ -27,6 +27,7 @@ TinyTinyRSS.prototype.ononline = function() {
localStorage.unread_articles(); localStorage.unread_articles();
}); });
} }
}; };
TinyTinyRSS.prototype.doOperation = function(operation, new_options, callback) { TinyTinyRSS.prototype.doOperation = function(operation, new_options, callback) {
@ -91,6 +92,30 @@ TinyTinyRSS.prototype.setArticleRead = function(article_id) {
} }
}; };
TinyTinyRSS.prototype.setArticleStarred = function(article_id) {
var options = {
article_ids: article_id,
mode: 1,
field: 0
};
if (navigator.onLine) {
this.doOperation("updateArticle", options);
}
};
TinyTinyRSS.prototype.setArticleUnStarred = function(article_id) {
var options = {
article_ids: article_id,
mode: 0,
field: 0
};
if (navigator.onLine) {
this.doOperation("updateArticle", options);
}
};
TinyTinyRSS.prototype.setArticleUnread = function(article_id) { TinyTinyRSS.prototype.setArticleUnread = function(article_id) {
var options = { var options = {
article_ids: article_id, article_ids: article_id,
@ -129,4 +154,4 @@ TinyTinyRSS.login = function(server_url, user, password, callback) {
} }
xhr.open("POST", url, true); xhr.open("POST", url, true);
xhr.send(JSON.stringify(options)); xhr.send(JSON.stringify(options));
} }