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">
<a class="button" href="#list">List</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>
</header>
<article>

View file

@ -45,6 +45,8 @@ App.prototype.after_login = function() {
_this.showFull(_this.unread_articles[i]);
} else if(url == "#unread") {
_this.setCurrentUnread();
} else if(url == "#starred") {
_this.ChangeStarred();
} else if(url == "#logout") {
_this.logout();
} else if(url == "#reset-info") {
@ -262,6 +264,11 @@ App.prototype.showFull = function(article, slide_back) {
} else {
$("#setunread").innerHTML = "Set unread";
}
if(article.marked) {
$("#setstarred").innerHTML = "*";
} else {
$("#setstarred").innerHTML = "no *";
}
};
@ -312,6 +319,25 @@ App.prototype.setCurrentUnread = function() {
$("#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() {
this.changeToPage("#list");
};

View file

@ -13,7 +13,7 @@ TinyTinyRSS.prototype.onoffline = function() {
TinyTinyRSS.prototype.ononline = function() {
var read_articles = localStorage.read_articles;
if (typeof read_articles !== "undefined") {
if (read_articles ) {
read_articles = JSON.parse(localStorage.read_articles);
this.setArticleRead(read_articles.join(","), function() {
localStorage.read_articles = null;
@ -27,6 +27,7 @@ TinyTinyRSS.prototype.ononline = function() {
localStorage.unread_articles();
});
}
};
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) {
var options = {
article_ids: article_id,