1
0
mirror of https://tt-rss.org/git/tt-rss.git synced 2024-06-30 12:30:52 +02:00
Commit Graph

940 Commits

Author SHA1 Message Date
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
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
30ed5d7c3c same, but for preferences 2020-06-04 20:04:17 +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
676cdf6ee4 move isCombinedMode to AppBase so we wouldn't crash in preferences 2020-06-02 21:00:53 +03:00
Andrew Dolgov
b39e615683 add Headlines.default_force_previous, default_force_to_top 2020-05-25 10:26:03 +03:00
Andrew Dolgov
19893d33e3 only bind up/down in 3 panel mode 2020-05-23 08:53:18 +03:00
Andrew Dolgov
409ba0db2d - RIP smooth scrolling and associated hacks
- attempt to make Headlines.move() / Article.cdmMoveToId() behave a bit more intuitively
2020-05-22 21:48:03 +03:00
Andrew Dolgov
d63329baa1 Headlines.move: add params.force_previous to always move to previous article in CDM 2020-05-19 09:21:07 +03:00
Andrew Dolgov
2deb9c555e Headlines.move: use requestAnimationFrame in CDM :( 2020-05-19 08:07:23 +03:00
Andrew Dolgov
8dc6b48ebd Headlines.move: when going back to top of active article, use a smarter (?) offset calculation 2020-05-17 22:02:47 +03:00
Andrew Dolgov
25c8467753 rename Headlines.correctHeadlinesOffset() to scrollToArticleId()
invoke it in Article.view() instead of all over the place
2020-05-17 17:01:52 +03:00
Andrew Dolgov
05a84ab778 Headlines.move: maybe glitch less when moving back to top, etc 2020-05-17 16:04:31 +03:00
Andrew Dolgov
9ae9302b6b implement keyboard-related changes discussed in https://community.tt-rss.org/t/changing-the-amount-of-scroll-by-arrow-key/3452/7 2020-05-17 08:25:51 +03:00
Andrew Dolgov
a1ffc11619 only enable unpack observer in expanded mode 2020-05-13 12:28:48 +03:00
Andrew Dolgov
5e77d0062b use intersection observer to unpack visible articles, remove Headlines.unpackVisible() 2020-05-13 07:28:13 +03:00
Andrew Dolgov
7adbc95acc remove floating title, use position: sticky for cdm headers instead 2020-05-13 06:51:46 +03:00
Andrew Dolgov
4a00d41915 Article.cdmMoveToId: don't crash if params is not given 2020-05-09 19:41:11 +03:00
Andrew Dolgov
a802649d53 rename cdmScrollToId to cdmMoveToId
prevent smooth scrolling when going directly to an article
2020-05-09 08:16:12 +03:00
Andrew Dolgov
2558fcbe21 add hotkey "\" to cancel current search 2020-05-09 07:56:06 +03:00
ltGuillaume
19064864bf Allow setting Insert (45) and Delete (46) as hotkeys
These are not reported via keypress either, so handle them via keydown.
2020-05-03 14:35:17 +02:00
Andrew Dolgov
0d467973dc Article.pack: dispose of unpacked content properly 2020-04-17 15:59:12 +03:00
Andrew Dolgov
e17c7e2fb4 Headlines.renderAgain: scroll instantly to active article when going back to combined mode on the fly 2020-04-17 07:58:34 +03:00
Andrew Dolgov
b3e4f0188e in combined non-expanded mode, pack headline rows as they are unfocused to save RAM 2020-04-17 07:37:56 +03:00
Andrew Dolgov
afaac95d8d if comment URL is not specified but comment count is non-zero, show comments prompt leading to the article 2020-04-07 06:50:24 +03:00
Andrew Dolgov
a65749a512 source validationtextarea in main UI 2020-02-28 14:04:29 +03:00
Andrew Dolgov
f24ece85a6 add validationtextarea control, use it for filter match editor 2020-02-28 13:53:45 +03:00
Andrew Dolgov
2fefb4fd87 getTestResults: don't try to use previously removed variable 2020-02-28 12:54:39 +03:00
Andrew Dolgov
4f62f5f3f1 filter edit dialog: load rule editor via XHR 2020-02-28 12:52:20 +03:00
Andrew Dolgov
340bb7f392 fix typo 2020-02-28 12:17:49 +03:00
Andrew Dolgov
8645f36c5b filter test dialog: pass contents via xhr POST 2020-02-28 12:16:54 +03:00
Andrew Dolgov
4e74da590e af_readability: allow get full text button to work as a toggle; in cdm, scroll to article after embedding 2020-02-28 08:03:25 +03:00
Andrew Dolgov
07b27b375f update toggle_embed_original hotkey to invoke readability embed instead of removed embed_original plugin 2020-02-27 09:47:20 +03:00
Andrew Dolgov
71ff485fbf af_readability: add article button to embed content of a specific article 2020-02-27 07:57:22 +03:00
Andrew Dolgov
788ea95fbd feed tree: do not mark Labels as Special 2020-02-22 16:44:31 +03:00
Andrew Dolgov
4ab3854aed don't generate default.css, replace with themes/light.css as a default root CSS file 2020-02-22 16:22:44 +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
076c5382fa login form: add workarounds for chrome password manager 2020-01-25 17:00:51 +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
4a4d7a44fa onViewModeChanged: set view mode value as a custom body attribute 2020-01-24 16:04:12 +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
a6d314b753 support dark mode for login form 2020-01-23 13:14:47 +03:00
Andrew Dolgov
aa56bcaf44 support night mode when using share by URL 2020-01-19 10:51:08 +03:00
Andrew Dolgov
303f8fb329 properly escape quotes when rendering article data to html attributes via template strings 2020-01-18 10:31:00 +03:00
Andrew Dolgov
7e2fd9bdce Headlines.move: fix move to previous article if scrollTop returns a fractional value for current item 2020-01-08 08:51:40 +03:00
Andrew Dolgov
f83836ade9 updateCurrentUnread: don't crash if counter element is not available 2019-12-17 14:06:50 +03:00
Andrew Dolgov
9f70bb010a fix blank screen on load if custom theme is enabled 2019-12-15 13:35:09 +03:00
Andrew Dolgov
07f4878d59 workaround for a race condition between dojo.parse() and tt-rss loading proper day/night css on startup because of firefox async CSS loader 2019-12-15 11:57:26 +03:00
Andrew Dolgov
0d6add5d7f show alert() if fatal exception happens while initializing base app objects and app.error is not available 2019-12-14 09:39:44 +03:00
JustAMacUser
b4dd03ba2a Wrap AppBase.setupNightModeDetection() in try/catch because Safari doesn't support matchMedia change events. 2019-12-13 13:39:52 -05:00
Andrew Dolgov
0237dee980 implement automatic night mode detection using MQL
add separate light.css to force light theme
remove manual night mode toggle and related code
2019-12-12 20:09:43 +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
0a10832491 - update descriptions of changed hotkeys
- bind noscroll variants of move article hotkeys to n/p by default
- update N/P (i.e. scroll article content) hotkeys to scroll by fraction of viewport height instead of hardcoded pixel distance
- minor fixes w/ checking for undefined
2019-12-11 06:53:32 +03:00
Andrew Dolgov
985e11b754 re-enable updates of floating title on scroll, duh 2019-12-10 16:45:59 +03:00
Andrew Dolgov
0e4f67bf2b with previous change, we don't actually need to automatically track active articles now at all in combined mode. 2019-12-10 13:03:49 +03:00
Andrew Dolgov
3993198aa7 when moving next or previous and currently active article is entirely invisible, start moving from first visible one 2019-12-10 12:55:24 +03:00
Andrew Dolgov
7d0bbe9962 only track active article on scroll if auto catchup is enabled 2019-12-10 12:34:49 +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
a40f22d8aa Article.cdmScrollToId: disable smooth scrolling in collapsed combined mode 2019-12-10 08:58:32 +03:00
Andrew Dolgov
560346f9d1 Article.cdmScrollToId: disable smooth scrolling on repeated events 2019-12-10 08:51:45 +03:00
Andrew Dolgov
dad3d1c7a9 combined mode n/p behavior changes:
1. instead of jumping/scrolling sometimes, always scroll by a constant viewport offset unless moving to next/prev article directly
2. when going up and current article is partially above the viewport, move to its top first instead of directly to a previous one
3. instead of previous marking active logic, on scroll in combined mode track first (partially or otherwise) visible article as active
2019-12-10 07:47:09 +03:00
Andrew Dolgov
44ef447c0f fix fatal error in previous because of event not being passed via Headlines.move()
scrollbypages, etc: make event optional anyway
2019-12-09 23:23:54 +03:00
Andrew Dolgov
e7dd634183 exp: auto-disable smooth scrolling for repeat hotkey events 2019-12-09 22:42:43 +03:00
Andrew Dolgov
7a68e4a6f7 pgup/pgdn; increase scroll distance to almost entire viewport height (from 90%) 2019-12-09 12:22:43 +03:00
Andrew Dolgov
ac95ab4a65 user css dialog: allow saving and applying CSS without closing the dialog 2019-12-06 14:02:30 +03:00
Andrew Dolgov
e1ef122355 force-disable headlines smooth scrolling when switching feeds
enable smooth scrolling for article frame
2019-12-05 21:48:16 +03:00
Andrew Dolgov
1902a7dcb0 pgup/pgdown hotkey normalization:
- pgup/pgdown without modifier scroll headline buffer
- shift+pgup/pgdown work similarly to shift+up/down but operating on pages
2019-12-05 17:00:17 +03:00
Andrew Dolgov
6913158b82 add hotkeys to scroll headlines/articles (whichever is active) by one page 2019-12-04 15:50:49 +03:00
Andrew Dolgov
249130e58d implement app password checking / management UI 2019-11-01 15:03:57 +03:00
Andrew Dolgov
781fe3d636 setScore, selectionSetScore: check for numerical values properly 2019-08-29 12:52:22 +03:00
Andrew Dolgov
d172abb037 scroll handler: also invoke lazy load if last article in buffer is currently active 2019-07-30 16:13:47 +03:00
Andrew Dolgov
c35a618b00 lazy load (infinite scrolling) changes:
1. invoke Headlines.loadMore() if last article row is close to becoming visible instead of relying on headlines-spacer offset to viewport

2. allow one final last lazy load request if incomplete buffer was received to permit some flexibility with unread counters possible changing while request was generated / serving remainder of articles
2019-07-30 15:54:47 +03:00
Andrew Dolgov
e8523733b0 filter dialog: add inline regexp checker 2019-07-12 12:40:42 +03:00
Andrew Dolgov
86a014f23b add placeholder Filters.filterDlgCheckRegExp 2019-07-12 10:47:18 +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
fox
e981d52bda Merge branch 'master' of ltGuillaume/ttrss into master 2019-05-07 17:27:15 +00: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
d09aad7c80 fix read categories not being hidden when hide read feeds is enabled 2019-05-07 19:06:29 +03:00
ltGuillaume
44bfbc9529 Allow to unregister plugin hooks 2019-05-07 14:34:15 +00:00
Andrew Dolgov
2ce31fd0bf FeedStoreModel.getFeedUnread: return -1 when value is unset 2019-05-07 06:03:44 +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
Andrew Dolgov
4b74491b8b feed tree: set placeholder feed unread value to -1 2019-05-06 09:32:08 +03:00
Michael Kuhn
e38fcd6dea Fix button focus issues
This change introduces derived classes for ComboButton, DropDownButton
and Select that make sure that buttons do not remain focused after their
menus are closed. This allows using hotkeys after closing them.
2019-04-14 12:01:52 +02: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
ltGuillaume
4c72d3b4fc Add keyboard shortcut 'g r': Go to Recently read 2019-04-12 07:28:45 +00:00
Andrew Dolgov
cc2ac3a86c FeedTree: add feed debugger to per-feed context menu 2019-04-08 15:51:05 +03:00
Andrew Dolgov
b1bb7c6001 Merge branch 'master' of git.fakecake.org:tt-rss 2019-03-14 09:08:52 +03:00
Andrew Dolgov
019f4578bc fix feed icon upload not working, rework form to use FormData/ajax 2019-03-14 09:08:44 +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
a34509c8ae Merge branch 'master' of git.fakecake.org:tt-rss 2019-03-08 10:12:06 +03:00
Andrew Dolgov
19f162dbe3 css: insensitive -> text-muted 2019-03-08 10:11:57 +03:00
Andrew Dolgov
900cdbbb31 Headlines.click: open original article (and mark as read) on alt click on title 2019-03-07 15:40:02 +03:00
Andrew Dolgov
ae9ef7fe84 Headlines.click: fix another small issue with expanded mode (2) 2019-03-07 12:16:50 +03:00