Commit Graph

427 Commits

Author SHA1 Message Date
toasted-nutbread
5c4614f585 Add support for showing recursive popups 2019-09-02 19:31:42 -04:00
toasted-nutbread
33076e9db9 Fix typo 2019-09-02 11:43:49 -04:00
toasted-nutbread
c0bf6ff033 Fix issues caused by scanning ranges which don't start with a text node
The rects returned by range.getClientRects() could include the entire start element's bounding box.
2019-09-02 11:43:49 -04:00
toasted-nutbread
a2139213c8 Fix issue with whitespace ranges
The size of the rects for these ranges will sometimes be excessively large on Firefox, leading to false positives.
2019-09-02 11:43:49 -04:00
toasted-nutbread
ee59b3ab8b Reduce amount of isPointInRange calls for repeated ranges 2019-09-02 11:43:49 -04:00
toasted-nutbread
171e3f1097 Add option for enabling deep scanning 2019-09-02 11:43:48 -04:00
toasted-nutbread
737a5ee8a8 Allow elements behind other transparent elements to be scanned 2019-09-02 11:43:33 -04:00
toasted-nutbread
d296ebd593 Improve definition of caretRangeFromPoint 2019-09-02 11:41:00 -04:00
toasted-nutbread
548607ea7f Destructure point to {x, y} only once 2019-09-02 11:40:21 -04:00
Alex Yatskov
3c9f7ba152
Merge pull request #196 from toasted-nutbread/vertical-text-popup-position
Vertical text popup position
2019-09-02 08:33:10 -07:00
toasted-nutbread
e3d7ec8db7 Create container for imposter element
The container will prevent the imposter element's size from affecting the document's primary scrollbars.
2019-09-01 16:06:22 -04:00
toasted-nutbread
e3e7dad2cc Use important CSS priority for imposter element styles 2019-08-31 15:30:32 -04:00
toasted-nutbread
9b46fe70de Fix imposter issues with <input type="text"> 2019-08-31 15:10:46 -04:00
toasted-nutbread
ad0dca7bb1 Make the imposter element tracked using TextSourceRange 2019-08-31 14:57:50 -04:00
toasted-nutbread
e47e041217 Disable pointer events on hidden imposter 2019-08-31 14:57:50 -04:00
toasted-nutbread
62d66d93f7 Remove rounding 2019-08-31 14:57:50 -04:00
toasted-nutbread
9e9040178d Fix some size and positioning issues related to imposter element 2019-08-31 14:57:49 -04:00
toasted-nutbread
85472d9407 Add option for position of popup for horizontal text 2019-08-31 11:57:09 -04:00
toasted-nutbread
68af0d86c3 Improve popup position for vertical text 2019-08-31 11:57:07 -04:00
Alex Yatskov
3bf8a9ab00
Merge pull request #193 from toasted-nutbread/fix-is-point-in-range
Update isPointInRange to be more accurate
2019-08-29 18:00:36 -07:00
toasted-nutbread
ea9c5ad867 Update isPointInRange to be more accurate 2019-08-29 20:35:23 -04:00
Alex Yatskov
cd75f5b97d
Merge pull request #188 from toasted-nutbread/edge-support
Add support for Edge browser
2019-08-28 19:41:30 -07:00
toasted-nutbread
a39a1fa9e4 Add support for Edge browser 2019-08-26 21:58:03 -04:00
toasted-nutbread
c49f3c7838 Suppress messages about unchecked runtime.lastError on Firefox Mobile 2019-08-25 11:09:10 -04:00
siikamiika
39b2456ce9 fix off by one error 2019-08-19 19:47:45 +03:00
317a7a1538 pr fixes 2019-08-17 15:42:36 -07:00
Alex Yatskov
9ec711b780
Merge pull request #176 from toasted-nutbread/selection-touch-scan-disable
Don't scan when touching the current selection
2019-08-17 14:12:11 -07:00
Alex Yatskov
8ebac935e8
Merge pull request #182 from toasted-nutbread/anki-screenshot
Anki screenshot
2019-08-17 09:05:33 -07:00
Alex Yatskov
1d25c8a744
Merge pull request #175 from toasted-nutbread/touch-move-warning-fix
Don't process touchmove events if they can't be canceled
2019-08-17 09:04:23 -07:00
Alex Yatskov
778d1d6e79
Merge pull request #177 from toasted-nutbread/doc-range-from-point-improvements
Doc range from point improvements
2019-08-17 09:04:05 -07:00
toasted-nutbread
2edd4183a0 Clean up docRangeFromPoint
Use a cached value for checking if the browser is Firefox.
Only validate and set up document.caretRangeFromPoint once.
Use switch for multiple comparisons on the same value.
2019-08-16 17:44:16 -04:00
toasted-nutbread
0f0adf750c Add ability to save screenshot to anki cards 2019-08-15 19:39:58 -04:00
siikamiika
609dbf6a81 ensure that content is iterable 2019-08-15 15:35:23 +03:00
siikamiika
0a9b673e27 reimplement ignored chars inside source.js only 2019-08-15 15:28:30 +03:00
siikamiika
658e5ddff1 ignore zero-width non-joiner
fixes #179
2019-08-14 22:54:42 +03:00
toasted-nutbread
345b9c6f9d Disable focus of popup when using touch
Context menu on Firefox will not target the text properly if the focus is on the popup window.
2019-08-09 22:29:14 -04:00
toasted-nutbread
710ffb88fc Don't scan when touching the current selection 2019-08-09 21:45:29 -04:00
toasted-nutbread
70e9f4922b Don't process touchmove events if they can't be canceled
If the event cannot be canceled, the browser will continue to scroll while looking up results, which makes it very difficult to control where the lookup cursor is. Chrome also logs error messages that this is invalid.
2019-08-09 21:38:52 -04:00
Alex Yatskov
4fd7eeff3e
Merge pull request #174 from siikamiika/fix-firefox-scanning-start-of-line
fix scanning start of line on Firefox
2019-08-03 19:55:26 -07:00
siikamiika
cfb5f0b9e1 fix scanning start of line on Firefox
On many sites, for example Twitter (posts), Yomichan doesn't match any
text from the beginning of the line unless you move the mouse cursor to
the top left corner of the word that starts from the beginning of the
line.

Apparently there were some problems related to the imposter and there
was commit 0cc5566 adding a fix for it, but this seemed to cause
problems and 542cdb2 was added to fix that. It didn't handle all of the
cases, though, so this commit is letting everything through on Firefox.
2019-08-04 01:52:27 +03:00
siikamiika
bf92430ea7 Merge branch 'master' into search-terms-from-terms 2019-08-03 22:18:53 +03:00
siikamiika
afc771de9f inject doc functions as dependencies 2019-08-03 15:06:28 +03:00
siikamiika
0ee6d05cb1 Revert "use ES6 import and export"
This reverts commit 04f4607922.
2019-08-03 14:57:17 +03:00
siikamiika
04f4607922 use ES6 import and export 2019-08-02 00:04:39 +03:00
siikamiika
b8df9896e6 allow looking up terms from within terms
resolves #167, resolves #139, resolves #75, resolves #151
2019-08-01 02:20:09 +03:00
siikamiika
c08bcd7c56 return focus to site after hiding popup 2019-08-01 00:25:31 +03:00
toasted-nutbread
ad897713e6 Add support for custom popup CSS 2019-07-09 18:06:27 -04:00
Alex Yatskov
672eb55a20
Merge pull request #164 from toasted-nutbread/document-range-fix
Fix docRangeFromPoint sometimes not returning results
2019-06-26 14:17:52 -07:00
toasted-nutbread
2974b592ab Allow popup window to be visible in fullscreen mode
Fixes #163
2019-06-22 23:01:49 -04:00
toasted-nutbread
542cdb2df9 Fix docRangeFromPoint sometimes not returning results
If range.getClientRects() has more than 1 result, it is possible that nothing will be returned even when hovering over a valid target.
2019-06-22 21:42:35 -04:00
Alex Yatskov
84b990cd80
Merge pull request #140 from KarboniteKream/horizontal-offset
Add horizontal popup offset
2019-05-19 17:43:31 -07:00
toasted-nutbread
884be644ec Make error loging unintrusive
This alert can show up under normal use circumstances on mobile
2019-05-04 13:02:56 -04:00
toasted-nutbread
c933a55b81 Handle messages with unexpected response format
The response parameter can be undefined
2019-05-04 13:02:56 -04:00
toasted-nutbread
c7fd17183d Add meta viewport tag to all html pages 2019-05-04 13:02:56 -04:00
toasted-nutbread
0b8ae6c53a Update frontend.js 2019-02-20 22:05:07 -05:00
toasted-nutbread
dd52a1c01a Improve handling of null values from caretRangeFromPoint 2019-02-20 21:47:31 -05:00
toasted-nutbread
ba972d8547 Add popup display mode
Allows the popup to be stretched to the full width of the screen, anchored to the top or bottom of the window.
2019-02-14 21:42:59 -05:00
toasted-nutbread
01f611d189 Add support for touch input 2019-02-10 20:44:16 -05:00
toasted-nutbread
33ec369eff Catch exceptions thrown by range.getClientRects()
Firefox dev 65 was throwing an exception
2018-12-10 17:09:06 -05:00
Klemen Košir
99a231a773 Add horizontal popup offset 2018-10-02 23:27:59 +09:00
39cf302eef Merge branch 'master' of https://github.com/FooSoft/yomichan 2018-06-22 19:02:01 -07:00
Gareth Parker
0cc5566886
Fixes for imposter element and range y position
Hides the imposter element once we've finished using it and checks the y position for the range against the point given
2018-06-08 22:48:26 +01:00
guidocella
15b93060c7 Add option to play audio automatically 2017-12-16 19:56:53 +01:00
Roderic Day
5502bf8aed Place nodeType checks inside caretRangeFromPoint function
Checked that it does not un-fix #80
Squelches alerts (but does not fix underlying issue) for #89
2017-10-13 15:12:41 -04:00
7a6e2925bd improved error reporting 2017-09-22 19:57:00 -07:00
0554aa0d27 make sure ranges are created over text nodes only (fixes #80) 2017-09-19 23:05:17 -07:00
5476c10046 more improvements to automatic search result hiding (#71) 2017-09-17 10:09:48 -07:00
9280985306 add option to automatically hide search results (fixes #71) 2017-09-16 23:08:43 -07:00
083999212e work on sandbox 2017-09-05 21:10:19 -07:00
c4525027da bugfix and version 2017-08-19 21:09:54 -07:00
191336522c fix flicker on form elements on mouseover (fixes #56) 2017-08-17 19:14:06 -07:00
0c650dac82 don't show busy spinner while waiting for card info
smoother cursor movement in firefox
2017-08-17 19:05:31 -07:00
8ed3ca6fd4 cleanup 2017-08-15 21:40:41 -07:00
e19933f980 jisho.org audio support 2017-08-15 21:36:30 -07:00
3362a68e06 frontend cleanup 2017-08-15 20:04:15 -07:00
211e5d1155 cleanup 2017-08-14 23:22:37 -07:00
bdf231082f lots of fixes to backend 2017-08-14 21:43:09 -07:00
82863cd861 renaming files 2017-08-14 19:55:04 -07:00
8b50dfe1e9 unify files 2017-08-13 21:11:10 -07:00
a202817b98 wip 2017-08-13 20:50:43 -07:00
3ca28a9374 wip 2017-08-13 16:42:22 -07:00
aac2a58b5f wip 2017-08-13 16:11:51 -07:00
7fbe2ddaf3 more cleanup 2017-08-05 20:20:22 -07:00
b061cc9142 cleanup 2017-07-29 09:55:54 -07:00
edf1c0ff6d cleanup 2017-07-22 23:19:38 -07:00
611b4420af cleanup 2017-07-20 21:34:10 -07:00
a0e2d9cb72 cleanup 2017-07-20 21:32:17 -07:00
d6c2f1cc38 cleanup 2017-07-20 21:29:27 -07:00
8bcc4ddf19 cleanup 2017-07-20 21:21:22 -07:00
516c7f5381 refactor mixed/js/util.js 2017-07-16 12:48:27 -07:00
b3984ccd54 cleanup 2017-07-09 15:23:11 -07:00
d57c5530b7 view added notes 2017-07-01 18:27:49 -07:00
5e72c387cc fix result page for no items found 2017-06-25 21:14:39 -07:00
618a3cb319 support variable modifier keys, fixes #5 2017-05-25 20:56:08 -07:00
9aeb807d4b fix buggy extent detection 2017-05-25 09:09:15 -07:00
992852d3c0 make form search be always enabled 2017-05-24 20:42:54 -07:00
c0f74bbc8f smarter imposter hiding, version bump 2017-05-23 22:51:48 -07:00
48693fa594 fix search for input controls 2017-05-22 22:27:09 -07:00
fd346ae44b wip 2017-05-22 21:07:25 -07:00
84f5954ad5 handle scanning text for janky websites better #23 2017-05-21 22:44:22 -07:00
52f092f0d2 fixing old variable name 2017-05-20 18:34:13 -07:00
b04c4d8be7 block RT and some other tags when scanning, fixes #50, #30 2017-05-20 18:15:51 -07:00
1ba458ea82 fixing cloze bug 2017-04-08 12:25:18 -07:00
c4b1a4a5b4 wip 2017-04-07 21:17:13 -07:00
bbe4afecf6 wip 2017-04-06 21:07:55 -07:00
372cdbf14b improved behavior for shiftless scanning, update url 2017-04-01 16:54:13 -07:00
f556c95038 improve ctrl + c behavior 2017-04-01 11:20:58 -07:00
405e487a73 ctrl + c to copy 2017-03-31 21:48:10 -07:00
f15f30019b version bump, cloze support 2017-03-28 20:49:26 -07:00
9de0d34af3 wip 2017-03-27 22:48:50 -07:00
3b0aa88de1 cleanup 2017-03-26 22:42:17 -07:00
13ab25dfa3 file reorg, updating jquery and handlebars 2017-03-25 22:39:40 -07:00
218db0771f cleanup, firefox scrolling 2017-03-25 16:45:43 -07:00
b8d0788144 wip 2017-03-25 15:59:33 -07:00
90eaae1725 wip 2017-03-25 15:22:28 -07:00
0e16787692 refactor 2017-03-25 10:05:03 -07:00
6d55767191 wip 2017-03-18 18:21:02 -07:00
ad17b0603b scrolling 2017-03-18 17:40:48 -07:00
15313de18c tighter layout 2017-03-18 16:52:00 -07:00
f3f6139c8e update guide 2017-03-18 13:46:56 -07:00
231b471f45 wip 2017-03-16 22:13:54 -07:00
8893db14ca wip 2017-03-15 21:13:58 -07:00
8fb398aad8 inject yomichan frame on demand, fixes #34 2017-03-15 20:13:58 -07:00
83e2fd4748 add options for setting popup width, height, offset 2017-03-11 17:48:30 -08:00
2c86e87576 more work on making popup be sized properly 2017-03-11 17:25:57 -08:00
9ebcc8e2c1 smarter popup placement 2017-03-11 17:01:47 -08:00
5150cdbf72 misc bug fixes, version bump 2017-03-10 20:12:07 -08:00
0a75e14d93 show yomichan updated message only when shift to scan is disabled 2017-03-05 16:20:01 -08:00
efc5be4dac middle mouse button scanning 2017-03-05 16:03:14 -08:00
6b6190ade7 misc fixes 2017-03-04 20:27:46 -08:00
e799aa5e5f cleanup 2017-03-04 19:53:28 -08:00
7269583547 polish 2017-03-04 19:42:30 -08:00
db7e80dabf wip 2017-03-04 19:16:19 -08:00
30999c13d3 wip 2017-03-04 18:24:57 -08:00
b039d30024 wip 2017-03-04 17:56:10 -08:00
c8eb77cfd9 wip 2017-03-04 17:30:10 -08:00
2e7ce45112 file reorg 2017-03-04 12:27:05 -08:00
395af352f0 wip 2017-03-04 11:53:55 -08:00
b1950cf47e prelim search support 2017-03-04 11:45:55 -08:00
acb0bc2e9e style fixes 2017-03-03 20:25:14 -08:00
faf13d696c cleanup 2017-03-02 22:35:02 -08:00
e326b02898 fix various issues related to scanning form fields 2017-02-28 20:23:29 -08:00
5b66afde74 wtf firefox 2017-02-26 19:33:11 -08:00
dfe97a2b77 fixup of gecko polyfill 2017-02-26 12:14:22 -08:00
da124f6c27 fix wonky scanning logic 2017-02-26 12:06:37 -08:00
ec0aded9bb mouse event fixes for firefox 2017-02-26 12:01:14 -08:00
32f95e59a9 Merge branch 'dev' into firefox 2017-02-26 11:05:41 -08:00
465a8e21c0 usability improvements 2017-02-25 19:14:44 -08:00
64db42d536 switch to new ankiconnect interface 2017-02-19 10:09:15 -08:00
1a52a2d8d5 fix not being able to play audio for kana only terms 2017-02-18 19:12:39 -08:00