Commit Graph

81 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 a0e41f41a4 add svg loading indicators 2021-03-16 21:32:44 +03:00
Andrew Dolgov 7ec8a6cad0 simplify feed tree expando/loading/feed icon handling 2021-03-16 20:50:23 +03:00
Andrew Dolgov f804caec90 support coloring counters by feed-id/is-cat; set fresh counter to green 2021-03-09 18:55:28 +03:00
Andrew Dolgov 70fa423026 initial for RIP prototype/scriptaculous 2021-02-18 21:51:18 +03:00
Andrew Dolgov 9f55454f63 remove the rest of db.php; rename some leftover methods in feeds 2021-02-15 16:51:35 +03:00
Andrew Dolgov 7f0800537e silence (or fix) a bunch of eslint warnings 2021-02-12 19:02:09 +03:00
Andrew Dolgov 8080c525fd - backend: require CSRF token to be passed via POST
- do not leak CSRF token via GET request in feed debugger
- rework Article/redirect to use POST
2020-09-15 16:12:53 +03:00
nanaya 8d8affdc45 Store FeedTree data in localStorage
Patching internal functions of dijit.Tree as they don't provide option on where to store the data.

It stores to cookies by default but the data can get quite big for hundreds of feeds and exceeds cookies size limit.

Not to mention it'll cause the cookie to be sent during any request with nothing handling it server side and just wasting bandwidth.

This patch will also migrate current data in cookie to local storage accordingly.
2020-07-09 01:52:46 +09:00
Andrew Dolgov 697418f863 more eslint fixes 2020-06-05 07:54:32 +03:00
Andrew Dolgov d01ad09800 eslint-related fixes; move a few things from global context to App 2020-06-05 07:44:57 +03:00
Andrew Dolgov 88027d7a39 fix various minor issues reported by eslint 2020-06-04 23:27:22 +03:00
Andrew Dolgov 788ea95fbd feed tree: do not mark Labels as Special 2020-02-22 16:44:31 +03:00
Andrew Dolgov 282b445a43 feed tree: don't set Special class on Labels category 2020-02-21 14:12:10 +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 60288f02e8 1. feedtree: show counters for marked articles if view-mode == marked
2. hide/show relevant counter nodes using css
3. cleanup some counter-related code
4. compile default css into light theme to prevent cache-related issues
2020-02-20 14:14:45 +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 d09aad7c80 fix read categories not being hidden when hide read feeds is enabled 2019-05-07 19:06:29 +03:00
Andrew Dolgov 4b74491b8b feed tree: set placeholder feed unread value to -1 2019-05-06 09:32:08 +03:00
Michael Kuhn 4a2a90c980 Fix focus issues with hotkeys
Since making use of keypress in addition to keydown, hotkeys did not
work in certain scenarios, including clicking on the feed tree expanders
or empty spaces of the toolbar.

This issue is caused by dijit.Tree and dijit.Toolbar implementing the
_KeyNavMixin, which explicitly stops propagation of keypress events.

This change contains two main fixes plus a smaller hotfix:
1. It overrides _onContainerKeydown and _onContainerKeypress for
   fox.FeedTree (which inherits from dijit.Tree).
2. It adds fox.Toolbar, which overrides _onContainerKeydown,
   _onContainerKeypress and focus. This fixes hotkeys being swallowed
   and the first focusable child receiving focus when clicking on an
   empty space of the toolbar.
3. It adds the same handling of keydown and keypress to the prefs hotkey
   handler as is done in the main hotkey handler.
2019-04-13 22:34:57 +02:00
Andrew Dolgov cc2ac3a86c FeedTree: add feed debugger to per-feed context menu 2019-04-08 15:51:05 +03:00
Andrew Dolgov dbab03bd4c Feeds.catchupAllFeeds() should be Feeds.catchupAll() 2019-01-31 12:16:56 +03:00
Andrew Dolgov c7c9c5fb0a feedTree: amend previous to check that nodes are actually there (2) 2019-01-28 18:49:58 +03:00
Andrew Dolgov 42e0c7a420 feedTree: amend previous to check that nodes are actually there 2019-01-28 18:48:56 +03:00
Andrew Dolgov 3827e5b944 selectFeed: scroll feed tree to selected row 2019-01-27 23:31:00 +03:00
Gilles Grandou df05794032 show errors in feedtree's tooltips 2018-12-10 11:38:59 +01:00
Andrew Dolgov 0a41c1a6e1 update label rendering (and editor) 2018-12-06 08:26:52 +03:00
Andrew Dolgov cad6d1d7fd various icon updates; use new icons in feed tree 2018-12-05 20:26:27 +03:00
Andrew Dolgov 71fc6d45bd refactor error reporting to AppBase; keep exception_error() for now as a shim 2018-12-03 13:38:13 +03:00
Andrew Dolgov ac8361e6f6 add AppBase as a shared ancestor for main and prefs app objects
remove event.observe stuff from startup, unneeded
2018-12-02 21:52:50 +03:00
Andrew Dolgov 1e2d4410d3 move some more shared stuff to CommonDialogs, Filters, and Utils 2018-12-01 22:39:29 +03:00
Andrew Dolgov d86ddbc635 further objectification of JS code 2018-12-01 17:21:26 +03:00
Andrew Dolgov 049a37aa0e WIP reshuffling of JS global context into separate logical objects 2018-12-01 17:05:35 +03:00
Andrew Dolgov 0267212454 move to let/const syntax in custom dojo modules 2018-11-29 21:21:06 +03:00
Andrew Dolgov a3e2f1a9c3 define custom dojo modules with define() instead of require(), update startup module dependencies 2018-08-23 09:56:34 +03:00
Andrew Dolgov f6269d1bc4 add special class for feeds with disabled updates 2018-02-08 13:54:06 +03:00
Andrew Dolgov 7590f03961 feedtree.selectFeed: focus headlines-frame after selection 2017-05-12 08:05:35 +03:00
Andrew Dolgov fa1be041c2 feedtree, selectFeed: focus selected node 2017-05-05 10:35:10 +03:00
Andrew Dolgov 1bfe1d7b31 simplify error handling
* less convoluted exception dialogs
* use window.onerror for the majority of exception catching/reporting
* remove most of now useless try/catch blocks
* report stacktrace instead of manually specified error locations
2017-03-04 14:34:44 +03:00
Andrew Dolgov 70c5b2bfcc feed tree: only run animation for appearing unread counters to prevent clashes with aux counter updating and animations ending up in wrong state 2017-01-22 20:20:35 +03:00
Andrew Dolgov b7d63a58db fix loading indicator position/size for tree leafs 2017-01-21 22:30:20 +03:00
Anders Kaseorg 6887a0f573 lib: Upgrade Dojo and Dijit from 1.8.3 to 1.12.1
The itemNode and expandoNode elements have changed from img to
span (https://bugs.dojotoolkit.org/ticket/16699), so we now put our
tree icons inside them rather than replacing them.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2017-01-21 13:22:14 -05:00
Anders Kaseorg 9f539be3c2 Replace deprecated dojo.place with domConstruct.place
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2017-01-21 13:22:13 -05:00
Andrew Dolgov f04b12d8e7 category: swap context menu items 2016-11-22 09:11:13 +03:00
Andrew Dolgov acfee412a3 feed tree: add category context menu entry to un/collapse it 2016-11-11 14:14:31 +03:00
Andrew Dolgov d39a2f8005 switch modules to new dojo definition format 2016-08-10 13:40:24 +03:00
Andrew Dolgov 9109e171ee feedtree: don't hide feeds with errors 2015-08-12 21:47:40 +03:00
Andrew Dolgov 40f147df79 feedtree: do not hide special category for reals if configured as such 2015-03-06 14:42:05 +03:00
André Glüpker d922b09c43 Skip nested Feed when calling getNextUnreadFeed()
This function is only called when using "Mark all as read".
So every time, this function gets called right now, all nested
categories get marked as read as well, so we don't want to jump to them.
Instead we want to the next category with same or higher tier.
2014-06-14 12:37:05 +02:00
Andrew Dolgov e79b401e97 getPreviousFeed: wrap to last feed to be consistent with getNextFeed 2014-06-09 13:23:27 +04:00