Commit Graph

108 Commits

Author SHA1 Message Date
Frederic Guillot 868c9e22b5 Avoid infinite redirects in unread/group page 2017-03-06 18:51:57 -05:00
Frederic Guillot 07f3ae0a7b Stay on the same page in single view mode when using 'v' keyboard shortcut 2017-03-06 18:33:15 -05:00
denfil a6b96bf58e Does not select item after touch events 2017-03-05 14:19:44 +03:00
Alexander Steinhöfer bd98d3d582 Added hotkey Shift+A to mark all items as read
I opted for a capital A (Shift + A) since it seems less likely that
a user would press that shortcut unintentionally compared to just 'a'
without any modifiers.

Added help and de_DE translation for new shortcut
2017-02-01 17:42:53 -05:00
Alexander Steinhöfer 9dcd43a994 Select next unread item when opening current item
Fixes #629: After using keyboard hotkey (j, k) to navigate to a story on the
unread list and opening the story with "v",  the next unread item is now
selected so that the current position won't be lost and the user doesn't have
to start from the top of the list again.
2017-01-27 08:42:07 +01:00
denfil f0ce13e3eb Left and right swiping mark item as read 2017-01-11 14:24:04 +03:00
Frederic Guillot c8a6f45b93 Make search keyboard shortcut compatible with Firefox 2017-01-05 21:02:20 -05:00
Frederic Guillot 2a87847289 Update error message when refreshing a feed from user interface 2017-01-03 20:31:12 -05:00
Frederic Guillot 97bab4aaad Fix js error after implementing jshint 2017-01-02 20:13:12 -05:00
Frederic Guillot bc503d49cd Minify Javascript and add automated syntax check on the CI 2017-01-02 19:21:15 -05:00
Frederic Guillot fbe69b54dc Add Postgres database support 2016-12-26 15:07:18 -05:00
Marcus Jaschen 97cdc67c1a fix: listen to `keyup` instead of `keypress` for search field activation
The `/` character is entered into the search field after activating it via
the `keypress` event. That's unexpected behaviour.

This commit fixes that by attaching the keyboard event handler to the
`keyup` event.
2016-12-15 09:38:15 +01:00
Marcus Jaschen 76a2202a20 The slash key is a well-known shortcut to open and focus the
search field in web apps, e. g. DuckDuckGo or Google Plus.

Some editors and pagers use the same shortcut (Vim, less, ...).

This commit adds an event handler for the pressed / key which
calls the `ShowSearch()` function.
2016-12-12 12:31:45 +01:00
denfil b7e5e9cb41 Toggle mobile view menu by js 2016-11-10 16:22:48 +03:00
denfil eed63e5c4a Set focus after opening search form 2016-09-27 18:35:48 +03:00
Mathias Kresin 48be7a1fff bring back mark as unread/mark as read & bookmark links
The links were silently dropped with commit
4c0d975532 "Make clickable icons"
without any mention in the commit message.

Based on the commit title, I would assume this is an additional
functionality and not something that replaces existing stuff.

It's annoying to move the mouse across the screen (reading text from
the left to right) to get to the mark read icon for marking an article
as read.

All changes related to the removal of the links are reverted by keeping
the clickable icons.
2016-08-04 22:06:02 +02:00
Frederic Guillot cd01042f7d
Javascript cleanup 2016-07-30 18:21:01 -04:00
Frederic Guillot 27d094c19e
Do not use anymore Closure compiler for Javascript 2016-07-30 18:01:37 -04:00
Frederic Guillot aaf87eb41c
Merge pull-request #536 2016-07-30 17:35:11 -04:00
Samuel Gyger fe306b22f8 Added the possibility to swipe to archive an item. 2016-07-29 11:58:47 +02:00
Frederic Guillot ac1eda8adf
Minor Javascript fixes 2016-07-28 21:26:32 -04:00
Denis Filimonov c26418fbae Simple search by items title (#506) 2016-05-03 20:15:20 -04:00
denfil 08ea480402 Replace help window by layer 2016-03-06 19:11:08 +03:00
denfil caa835030c Add js changes 2016-03-03 17:51:47 +03:00
Mathias Kresin 8457b83739 toogle text direction for full content preview as well 2015-08-25 22:39:27 +02:00
Frederic Guillot e32f96eed2 Update doc and cosmetic fixes 2015-08-02 12:59:14 -04:00
Kordian Bruck fb688cfc10 Merge branch 'master' of github.com:miniflux/miniflux into feature-custom-refresh-number
Conflicts:
	assets/js/all.min.js
2015-08-02 18:22:18 +02:00
Mathias Kresin 64c65a9139 select the previous article if the last selected article is hidden 2015-08-02 10:45:44 +02:00
Kordian Bruck 2c3fd54774 Added a config option to select how many concurrent refreshes are done on the subscription page 2015-08-02 02:23:21 +02:00
Mathias Kresin 32658ef4e1 deduplicate data-feed-id 2015-07-20 13:08:16 +02:00
Mathias Kresin 7ea37a1790 remove unnecessary javascript actions
They do exactly the same as the non javascript version.
2015-04-23 23:37:33 +02:00
Mathias Kresin ee98a62519 mark items on page 2+ read as well, update tests
Update integration tests, to ensure that all articles are marked read,
instead of only visible.
2015-04-07 22:46:50 +02:00
Mathias Kresin 3a65e5ee64 do mark-feed-as-read in javascript without reload
follow-up to 4809f736dc. Update
integration tests, to ensure that all articles are marked read, instead
of only visible.
2015-03-08 13:19:29 +01:00
Mathias Kresin 0c3d8c787f use keyboardevent.key if implemented
Beside other stuff the main reason for this change is the circumstance
that Firefox triggers the "Toggle RTL mode" shortcut if the user press
F11 to switch Firefox into the fullscreen mode.

Each browser sends keycodes that are used by different other keys on
the keyboard for the function keys. Firefox is the only browser which
sends the onkeypress event for the function keys.

The used keyboard event properties event.keyCode and event.which are
already marked as deprecated and has been removed from the Web standards.

The "DOM Level 3 Events" standard specifies event.key as their successor.

Right now event.key is only available for Firefox 29+ and Internet
Explorer 9+. Webkit based browser have support for the former specified
event.keyIdentifier.

The implementation of event.keyIdentifier isn't the same across
different webkit based browsers and buggy:

- the value for the z key is F11 (Chrome - Windows, Linux)
- the value for the F11 key is F11 as well on (Chrome - Windows, Linux)
- the value for latin keys is always the value of the capital letter (Chrome)
- the value for cyrillic keys depends on the shift modifier (Chrome)
- the value for the keypress event is always an empty string (Safari - Mac OS)
- the value for the keydown event matches the keyboard layout dependent character (Safari - Mac OS)
- the value for the keydown event does NOT matches the keyboard layout dependent character (Chrome - Windows, Linux)

Instead of workaround the problems, the event.which is used for every
browser that doesn't support event.key.
2015-03-07 18:23:36 +01:00
Mathias Kresin 4809f736dc implement mark-feed-as-read in javascript 2015-03-01 19:56:28 +01:00
Mathias Kresin a2686ae21d add option to disable mark as read for original link
fixes #196
2015-01-30 00:14:01 +01:00
Frederic Guillot fa9dc3ab8f Change label for frontend update check and minor changes 2015-01-28 20:17:02 -05:00
Mathias Kresin 59500bfeb7 update counter/rework redirect to unread on feeds page
The redirect to the unread page after a manual refresh only, if new
items could be fetched and we where redirected to the subscriptions
page because of a former nothing_to_read.

Update the unread counter after refreshing either one feed or all feeds.

Redirect to unread if nothing_to_read is set, but unread items exists.
This could be the situation with the remember me function, when new items
are fetched while the browser was closed.
2015-01-28 05:26:55 +01:00
Mathias Kresin cd13efeabf implement frontend autoupdate
Only the unread counter is updated right know.

The AutoUpdate Feature is designed on the premise of don't wasting resources. A
distinction is made between updates when Miniflux is visible or hidden.

To determine the visibility status, the Page Visibility API is used. The API is
available starting with Chrome 33, Firefox 18 and IE10. [https://developer.mozilla.org/en-US/docs/Web/Guide/User_experience/Using_the_Page_Visibility_API]
As IE9 returns an undefined, it doesn't break the compatibility at least.

If Miniflux is visible, the unread counter on the web page is updated as soon as
a mismatch between the counter and the number of unread articles in the database
is found.

If Miniflux is hidden, the timestamp of the most recent article from each feed
is compared with the value from the last run. We have an update If the timestamp
of the latest article is greater than the stored one and the latest article is
unread. The web page title is updated with a ? symbol to notify the user and the
update check pauses till Miniflux gets visible again. If Miniflux gets visible
again, the number of unread articles is queried from the database, the unread
counter on the web page is updated and finally the ? symbol is removed from the
web page title.

This way I can use my fever API client to read new articles (or at least the
latest article) while Miniflux is hidden and as I've seen the new articles
already a new articles notification is prevented.

It's intentionally that the page does not reload automatically as long as
articles are visible. If I'm in hurry, I only scroll through the articles to
spot something interesting. Most of the time I don't reach the last article.
If the page is reloaded while I'm away, I would have to scan from the top again.

If we're on a nothing_to_read page and have unread articles in the database, a
redirect to the unread page will be done.

The default update check interval is 10 minutes and can be changed on the
settings page. A zero value disables the update check entirely.

fixes #213
2015-01-28 05:26:55 +01:00
Mathias Kresin e0fd734c64 use javascript advanced optimizations, improve make-js script
Major benefit, beside a smaller file size, is the possibility to remove debug informations from the minified javascript.

make-js script:
- take care of any warnings and errors
- raise warning level to verbose

js/*
- switch to Array-Access Property Notation for external data (prevents renaming by the closure compiler)
2015-01-28 05:26:55 +01:00
Mathias Kresin 816b793e4c re-enable help shortcut for Firefox, fix javascript errors 2015-01-18 01:26:28 +01:00
Mathias Kresin db94d94de3 Improve user notice about failed feeds
Show feeds with errors always at the top and highlight them

Changes the feed order to:

1. failed
2. enabled
3. disabled

Order alphabetical within each group.

Show a warning message with a hin to the console if feeds have issues

Fixes #300, #303
2015-01-15 02:04:35 +01:00
Frederic Guillot 84078bb2a5 Add left/right arrow as keyboard shortcuts 2015-01-12 19:46:21 -05:00
Mathias Kresin 71275eac2c display & update the number of unread items on every page with an "unread items" menu 2015-01-04 18:48:01 +01:00
Mathias Kresin 80952f29b0 middle mouse button triggers event for all browser
This is a follow up to #1. The onclick event is triggered by different
mouse buttons across browsers:

Firefox
- all mouse buttons trigger document.onclick (https://bugzilla.mozilla.org/show_bug.cgi?id=430310)
- only left mouse button triggers document.body.onclick

Internet Explorer
- only left mouse button and without any modifier key triggers
  document.onclick

Chrome
- left & middle mouse button trigger document.onclick

Safari
- left mouse button triggers document.onclick
- middle click via mac os?

By switching to the onmouseup event this can be unified for all
mentioned browsers to:

- (CTRL+) left click triggers event
- middle click triggers event
- right click does nothing
2015-01-03 23:17:10 +01:00
Mathias Kresin 1e1e35e38c IE: 'open original' doesn't open article
The 'open original' link marks the item as read but doesn't open the
article.

After double clicking one 'open original' link, all other
'open original' links open the article as expected. Sounds like the IE
blocks the 'popup' silenty here.

The following in #196 reported issues are fixed by the change as well:
- a middle click on an 'open original' link triggers the popup blocker
- original link opened via middle click is always a foreground tab
2015-01-03 23:02:59 +01:00
Frédéric Guillot da174a10cc Display the bookmarklet in a text box to be easy to copy and paste 2015-01-02 12:43:17 -05:00
Mathias Kresin 9d31eb1a01 Fix feed-last-checked update after refresh-all
I've dropped it accidentally with my last commit. Furthermore I moved
the data-feed-id definition to the article element and dropped multiple
references of the feed id. That's similar to what I've done before with
the data-item-id in 3dae99ac.

The article element holds the information whether a feed is disabled now.

Now it is shown if a feed had errors while updating.
2014-12-31 17:14:19 +01:00
Mathias Kresin 3fe424999f fix RTL toggling
H2 within an item preview was toggled to rtl and back to ltr
immediately.
2014-12-27 10:21:22 +01:00
Mathias Kresin 0aa5252c85 remove multiple definition of data-item-page 2014-12-26 23:01:05 +01:00