diff options
| author | 2019-01-24 19:43:28 +0100 | |
|---|---|---|
| committer | 2019-01-24 19:43:28 +0100 | |
| commit | da4a80b88a64855bd62d996baabaaf25497c5f42 (patch) | |
| tree | cb398a6f613d51ca3836f3f8f497fcb681ee5d65 | |
| parent | aeea0846b3c64984d1ceee7da5c4f7acb2805a04 (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.md | 2 | ||||
| -rw-r--r-- | p/scripts/main.js | 10 |
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); } } |
