aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2019-01-24 19:43:28 +0100
committerGravatar GitHub <noreply@github.com> 2019-01-24 19:43:28 +0100
commitda4a80b88a64855bd62d996baabaaf25497c5f42 (patch)
treecb398a6f613d51ca3836f3f8f497fcb681ee5d65
parentaeea0846b3c64984d1ceee7da5c4f7acb2805a04 (diff)
Add a JavaScript event when opening an article (#2222)
* Add a JavaScript event when opening an article https://framagit.org/nicofrand/xextension-threepanesview/issues/4 ```javascript document.body.addEventListener('freshrss:openArticle', function (e) { console.log('freshrss:openArticle'); console.log(e.target); }); ```
-rw-r--r--CHANGELOG.md2
-rw-r--r--p/scripts/main.js10
2 files changed, 10 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index badc66e79..3a0188431 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -17,6 +17,8 @@
* New `TZ` timezone environment variable [#2153](https://github.com/FreshRSS/FreshRSS/issues/2153)
* Run Docker cron job with Apache user instead of root [#2208](https://github.com/FreshRSS/FreshRSS/pull/2208)
* Accept HTTP header `X-WebAuth-User` for delegated HTTP Authentication [#2204](https://github.com/FreshRSS/FreshRSS/pull/2204)
+* Extensions
+ * Trigger a `freshrss:openArticle` JavaScript event [#2222](https://github.com/FreshRSS/FreshRSS/pull/2222)
* API
* Automatic test of API configuration [#2207](https://github.com/FreshRSS/FreshRSS/pull/2207)
* Performance + compatibility: Use Apache `SetEnvIf` module if available and fall-back to `RewriteRule` [#2202](https://github.com/FreshRSS/FreshRSS/pull/2202)
diff --git a/p/scripts/main.js b/p/scripts/main.js
index b12b3cf26..6cab2e55a 100644
--- a/p/scripts/main.js
+++ b/p/scripts/main.js
@@ -237,6 +237,9 @@ function mark_favorite(active) {
});
}
+var freshrssOpenArticleEvent = document.createEvent('Event');
+freshrssOpenArticleEvent.initEvent('freshrss:openArticle', true, true);
+
function toggleContent(new_active, old_active, skipping) {
// If skipping, move current without activating or marking as read
if (new_active.length === 0) {
@@ -299,8 +302,11 @@ function toggleContent(new_active, old_active, skipping) {
}
}
- if (context.auto_mark_article && new_active.hasClass('active') && !skipping) {
- mark_read(new_active, true);
+ if (new_active.hasClass('active') && !skipping) {
+ if (context.auto_mark_article) {
+ mark_read(new_active, true);
+ }
+ new_active[0].dispatchEvent(freshrssOpenArticleEvent);
}
}