Commit Graph

71 Commits

Author SHA1 Message Date
Andrew Dolgov 718c9f07fa remove model.getNextUnreadFeed; unify code with feedTree.getNextFeed 2021-03-19 14:06:23 +03:00
Andrew Dolgov 7ec8a6cad0 simplify feed tree expando/loading/feed icon handling 2021-03-16 20:50:23 +03:00
Andrew Dolgov 143617afb1 * it feels weird for requireIdleCallback() to be optional while more
modern browser features are required
 * simplify browser startup feature check a bit
2021-03-10 19:53:09 +03:00
Andrew Dolgov 0b93d8d013 add hotkey to toggle grid view 2021-03-10 10:01:22 +03:00
Andrew Dolgov ddfa39015e experimental: add preference to show combined mode headlines as a 2 column grid 2021-03-10 08:33:56 +03:00
Andrew Dolgov ae7b87bca9 add HOOK_HEADLINE_MUTATIONS, HOOK_HEADLINE_MUTATIONS_SYNCED 2021-03-09 17:01:22 +03:00
Andrew Dolgov bfeaf4d6a4 search dialog: add button icon 2021-03-08 15:55:08 +03:00
Andrew Dolgov 1fb7125f90 minor cleanup related to toolbar-main (use dijit methods, etc) 2021-03-08 10:43:49 +03:00
Andrew Dolgov 1d9fa2a42e reduce overhead in hash set/get 2021-03-06 22:41:46 +03:00
Andrew Dolgov db583287b2 add hide/show events for feeds sidebar 2021-02-24 17:01:40 +03:00
Andrew Dolgov 553548b689 request label counters conditionally 2021-02-24 15:07:31 +03:00
Andrew Dolgov 155e4f6125 pass a bunch of related arrays properly to backend 2021-02-24 12:07:25 +03:00
Andrew Dolgov 6ea1430a04 no special counter handling for catchupAll 2021-02-24 10:01:39 +03:00
Andrew Dolgov d6203bf350 try to calculate counters conditionally based on feed ids 2021-02-24 09:47:26 +03:00
Andrew Dolgov 37d46411c7 App.requestCounters() is not a thing 2021-02-23 17:43:35 +03:00
wn_ 1bd5152c80 Open the default feed after unsubscribing.
Previously the UI appeared to hang, even though the backend request had already completed successfully.
2021-02-21 12:48:15 +00:00
Andrew Dolgov 737cffc241 render feed icon markup on the client 2021-02-19 17:40:11 +03:00
Andrew Dolgov 660a1bbe01 * switch to xhr.post() almost everywhere
* call App.handlerpcjson() automatically on json request (if possible)
 * show net/log indicators in prefs
2021-02-19 13:44:56 +03:00
Andrew Dolgov bb4e4282f4 migrate a bunch of xhrPost invocations 2021-02-19 11:28:14 +03:00
Andrew Dolgov 6b43b788d9 migrate xhrJson invocations to the new helper 2021-02-19 10:22:00 +03:00
Andrew Dolgov 00310d2d23 cleanup some unused code, fix App.byId() invoked by wrong name 2021-02-19 06:58:50 +03:00
Andrew Dolgov 70fa423026 initial for RIP prototype/scriptaculous 2021-02-18 21:51:18 +03:00
Andrew Dolgov b16abc157e * App: rename hidden to hidden_tag
* search: use client dialog
 * add some form field helpers
2021-02-17 19:34:54 +03:00
Andrew Dolgov 020f062a76 feeds: unify naming 2021-02-15 15:43:07 +03:00
Andrew Dolgov 3d11c61f32 * OPML import: don't reload everything, just feed tree
* dialogs: use auto-destroying dialog for almost all dialogs instead of destroying them manually
* some general dialog-related cleanup
2021-02-12 15:22:10 +03:00
Andrew Dolgov 72e38bfe1f rework a few more dialogs to use App.dialogOf() 2021-02-12 09:56:27 +03:00
Andrew Dolgov d466284fab * customizeCSS: client dialog
* remove hardcoded width from most dialogs (move to css)
* add helper to easily get dialog from its widget
* rework some dialog buttons to use current object instead of calling dialog by name
2021-02-12 09:02:44 +03:00
Andrew Dolgov 1a680d4eae publishedOPML: use client dialog 2021-02-11 21:42:38 +03:00
Andrew Dolgov 848bc57f29 disable themes in safe mode; rework safe mode warning/login prompt 2021-02-11 21:19:57 +03:00
Andrew Dolgov 57f36f3f97 search dialog: populate current search values onShow instead of onLoad because the dialog is preloaded via xhr 2020-12-23 12:09:34 +03:00
Andrew Dolgov 87184904ed don't select next unread feed when marking as read last week, etc. 2020-11-30 15:15:51 +03:00
Andrew Dolgov f693ebab21 fix default password nag dialog, load via xhr 2020-09-16 06:38:41 +03:00
Andrew Dolgov cbcb10a272 Feeds: load quickaddfeed and search dialogs via XHR w/ CSRF protection 2020-09-15 16:28:09 +03:00
Andrew Dolgov 697418f863 more eslint fixes 2020-06-05 07:54:32 +03:00
Andrew Dolgov 88027d7a39 fix various minor issues reported by eslint 2020-06-04 23:27:22 +03:00
Andrew Dolgov 9d28b3ac50 unify prefs/main App objects, remove fake classes, use single static App object instead 2020-06-04 22:19:23 +03:00
Andrew Dolgov e37f8cfa78 don't use declare() for static objects with no inheritance because apparently it's not actually needed by AMD 2020-06-04 19:50:13 +03:00
Andrew Dolgov 2d3fdd6836 hide read feeds / hide read shows special: use CSS instead of JS-based hiding 2020-02-21 14:06:21 +03:00
Andrew Dolgov 776fe4768b default password warning: fix close button, don't crash if dialog is recreated (on feed tree reload etc) 2020-01-25 13:02:11 +03:00
Andrew Dolgov 6f625aa8aa apply Has_Marked css class to feed tree elements with marked articles 2020-01-24 14:35:10 +03:00
Andrew Dolgov 9c0235ab66 show current unread counter on headlines toolbar if sidebar is hidden 2019-12-12 07:37:28 +03:00
Andrew Dolgov 5b4eb8d7b9 remove unnecessary "== 1" when checking for init params
unsubscribeFeed: check for undefined title correctly
2019-12-10 09:10:45 +03:00
Andrew Dolgov 079ef15b1b previous: remove unused debugging line 2019-05-20 08:00:23 +03:00
Andrew Dolgov 905f038610 search dialog: display active query if searching already 2019-05-20 07:59:53 +03:00
Andrew Dolgov 3bf40f3ba8 _active_feed_id: set to undefined on startup to prevent unneeded Feed.open() if reloadCurrent is called because of a non-default main toolbar value 2019-05-07 19:10:11 +03:00
Andrew Dolgov 9368f1a07f restore feed from URL hash after feedlist init 2019-05-06 21:57:58 +03:00
Andrew Dolgov 6479c07324 js: add PluginHost.HOOK_COUNTERS_PROCESSED 2019-05-06 09:50:46 +03:00
Andrew Dolgov 2411cc8d1c js: add PluginHost.HOOK_COUNTERS_RECEIVED 2019-05-06 09:49:04 +03:00
Michael Kuhn e74f7bde22 Refactor hotkeys to use keypress instead of keydown
keydown returns the "raw" key in event.which. Depending on the keyboard
layout, this may not be what is wanted. For example, on a German
keyboard, Shift+7 has to be pressed to get a slash. However, event.which
will be 55, which corresponds to "7". In the keypress event, however,
event.which will be 47, which corresponds to "/".

Sadly, several important keys (such as escape and the arrow keys) do not
trigger a keypress event. Therefore, they have to be handled using a
keydown event.

This change refactors the hotkey support to make use of keypress events
whenever possible. This will make hotkeys work regardless of the user's
keyboard layout. Escape and arrow keys are still handled via keydown
events.

There should be only one change in behavior: I could not make Ctrl+/
work and therefore rebound the help dialog to "?".
2019-03-11 12:01:27 +01:00
Andrew Dolgov 6e14e575b3 use separate id for default password warning dialog 2019-02-20 08:39:44 +03:00