Commit Graph

1152 Commits

Author SHA1 Message Date
Damien Elmes
05124eecf7 adding options to sort by ascending/descending ease 2021-08-22 15:32:46 +10:00
Damien Elmes
ce4dcab9e4
Merge pull request #1335 from hikaru-y/fix-editor-fontfamily
Quote font family names
2021-08-20 14:39:29 +10:00
Damien Elmes
131c8b72f8 add options to v3 to preserve new card gather order
Allows cards to be presented in deck order when gather priority is set
to 'deck'.
2021-08-20 12:03:32 +10:00
hikaru-y
20085c9bc4 Quote font family names, except for generic families
Fixes https://forums.ankiweb.net/t/font-script-is-not-changing-in-the-anki-windows/12465
2021-08-20 04:31:11 +09:00
Damien Elmes
767241ed46 put reviews at bottom of reviews graph
https://forums.ankiweb.net/t/new-reviews-graph-design-is-worse-than-it-was-in-2-1-40/9807
2021-08-19 21:43:00 +10:00
Damien Elmes
48c121e4f3 filtered decks w/ scheduling disabled in v3 now log reviews 2021-08-19 20:25:29 +10:00
Damien Elmes
0671e7e712 fix mutateNextCardStates being exported into global namespace
https://forums.ankiweb.net/t/v3-custom-scheduler-not-working/12441
2021-08-19 10:21:04 +10:00
hikaru-y
207e4253f1 Use <template> element instead of Range.createContextualFragment()
https://forums.ankiweb.net/t/audio-in-back-template-is-played-on-front-template-on-desktop-2-1-46/12399

Unlike when using <template> element, if a DocumentFragment is created
using Range.createContextualFragment(), <audio>/<video> elements
with `aotoplay` will play immediately even before they are inserted into
the actual document, which will cause audio or video on the answer side
to be played on the question side.
2021-08-18 00:04:02 +09:00
Damien Elmes
c20716660f fix inverted 'skip question when replaying answer' option
I'd intended to add a new string but overlooked it.

https://forums.ankiweb.net/t/bug-always-include-question-side-when-replaying-audio/12273/2
2021-08-15 16:15:14 +10:00
Damien Elmes
5b1c409b19 use alphanumeric keyboard in SpinBoxFloat
https://forums.ankiweb.net/t/error-setting-hard-interval-on-ios/12105/3
2021-08-09 14:15:16 +10:00
Henrik Giesel
73a6d2bd40 Satisfy eslint 2021-08-03 06:12:04 +02:00
Henrik Giesel
b6aa59f2c7 Add tooltip for Toggly sticky icon 2021-08-03 06:02:29 +02:00
Henrik Giesel
d7232212a8 Increase inactive opacity a little for better discoverability 2021-08-03 05:52:57 +02:00
Henrik Giesel
357a6c5cc6 Add toggle sticky shortcuts F9 and Shift+F9 2021-08-03 05:52:07 +02:00
Damien Elmes
87f9bd8021
Merge pull request #1320 from hgiesel/colorpickerplus
Remember last text and highlight color again
2021-08-03 09:07:46 +10:00
Henrik Giesel
4db7cebf62 Remember last text and highlight color again 2021-08-02 23:12:00 +02:00
Damien Elmes
c6c9721c53 update congrats screen periodically; automatically move back to study 2021-08-02 16:05:18 +10:00
Damien Elmes
070f57fcc5 don't hide learning count on congrats screen when learning is overdue
The v3 scheduler will delay the final card from being shown twice in
a row, but the overdue case was being treated the same as the no-learning
case, leading to the message being hidden.
2021-08-02 15:57:09 +10:00
Damien Elmes
141a96e221 fix inability to map fields from larger to smaller notetype
We were using the new item count instead of the old one.

https://forums.ankiweb.net/t/issue-changing-note-type-on-2-1-45/11822
2021-07-31 18:30:50 +10:00
Henrik Giesel
ed496c097f Install Ctrl+Shfit+V paste only on Apple platforms 2021-07-31 03:43:10 +02:00
Henrik Giesel
61e38a8bc9 Remove registerShortcut for Ctrl+C/V/A/X from editor/index.ts 2021-07-30 22:28:40 +02:00
Damien Elmes
355e66e83c export jQuery, not just $
https://github.com/ankitects/anki/pull/1314#issuecomment-889597619
2021-07-30 18:30:37 +10:00
Damien Elmes
a99f6a8514
Merge pull request #1314 from hgiesel/fixjqueryreviewer
Export jquery correctly
2021-07-29 23:26:05 +10:00
Henrik Giesel
7353bca606 Export jquery correctly 2021-07-29 15:18:51 +02:00
Damien Elmes
9c1c298426
Merge pull request #1312 from hgiesel/smalleditorrefactors
Use :host instead of :host-context
2021-07-28 13:19:04 +10:00
Damien Elmes
07c2c7ff62 show warning when trying to indent plain text
https://forums.ankiweb.net/t/2-1-45-release-candidate/11362/55
2021-07-28 12:18:04 +10:00
Damien Elmes
f3b8022a4c add reviewer_extras.js back 2021-07-27 15:13:39 +10:00
Henrik Giesel
e9928f9126 Use :host instead of :host-context 2021-07-26 16:06:50 +02:00
Henrik Giesel
95c8f5a12a Use event object in createShortcut, fix F8 for highlight 2021-07-26 06:15:30 +02:00
Henrik Giesel
66faa4ec25 Rename to text color and text color highlight 2021-07-26 05:28:28 +02:00
Henrik Giesel
b3a7a4ac3d Use new for-loop 2021-07-19 01:34:14 +02:00
Henrik Giesel
eb4550d2d5 Catch hook errors in two ways:
- try/catch for catching synchronous errors
- Promise.allSettled will allow for rejected promises without fast-failing other promises
2021-07-19 01:23:41 +02:00
Damien Elmes
033856c422 expose _queueAction
https://github.com/ankitects/anki/pull/1292#issuecomment-881795577
2021-07-17 12:12:07 +10:00
Damien Elmes
1209cd115a css_browser_selector was logging to the console 2021-07-17 09:25:05 +10:00
Damien Elmes
4861495b49 keep _updateQA exposed for now, as some add-ons use it 2021-07-17 09:11:05 +10:00
Henrik Giesel
1c1181b9e0 Allow any in reviewer/index.ts 2021-07-16 17:28:31 +02:00
Henrik Giesel
f52df75bc2 Add back opacity change 2021-07-16 17:26:04 +02:00
Henrik Giesel
272f2f7d1a Revert to MathJax through script tag 2021-07-16 16:56:57 +02:00
Henrik Giesel
a616d0dfbc Add copyright header 2021-07-16 16:56:57 +02:00
Henrik Giesel
d41530f4cc Satisfy formatter 2021-07-16 16:56:57 +02:00
Henrik Giesel
ac3577455d Satisfy eslint 2021-07-16 16:56:56 +02:00
Henrik Giesel
ddf3adfc8e Remove protobuf important from reiewer (no longer necessary (?)) 2021-07-16 16:56:56 +02:00
Henrik Giesel
d6393ba996 Do not set opacity to 0 in reviewer 2021-07-16 16:56:56 +02:00
Henrik Giesel
05771b7598 Include MathJax over ts/reviewer 2021-07-16 16:56:56 +02:00
Henrik Giesel
c016f0c8d0 Simplify some reviewer code 2021-07-16 16:56:56 +02:00
Henrik Giesel
ee1a1c35fb Create reviewer/images.ts 2021-07-16 16:56:56 +02:00
Henrik Giesel
5cbb582d0b Export jquery via ts/reviewer 2021-07-16 16:56:56 +02:00
Henrik Giesel
68ac505d81 Include css-browser-selector via ts/reviewer 2021-07-16 16:56:56 +02:00
Henrik Giesel
afa8f8a6f0 Export getTypedAnswer 2021-07-16 16:56:56 +02:00
Henrik Giesel
af12756980 Move reviewer to ts/reviewer 2021-07-16 16:56:55 +02:00
Damien Elmes
f458add147 add note about display order using current deck 2021-07-13 15:58:06 +10:00
Damien Elmes
c9ad563f93 move bury options below display order
Causes the timer settings to appear at the bottom left, which is a bit neater.
2021-07-13 15:45:08 +10:00
Damien Elmes
0b9fbd9050
Merge pull request #1286 from ankitects/proto
Split backend.proto into multiple files
2021-07-11 19:53:04 +10:00
Damien Elmes
372a28be29 rename workspace
I'd forgotten that Bazel "helpfully" adds __init__.py files into folders
that match the workspace name, breaking imports.
2021-07-10 23:58:53 +10:00
Damien Elmes
185e9acd22 split out remaining tags, stats, media and rendering 2021-07-10 23:16:18 +10:00
Damien Elmes
35b059ecdb split out sync, search, scheduler & config 2021-07-10 21:33:12 +10:00
Damien Elmes
9e0a295ab9 split out decks, deckconfig, notes, notetypes 2021-07-10 20:44:22 +10:00
Damien Elmes
18851ace47 split out cards and collection 2021-07-10 19:52:31 +10:00
Damien Elmes
616db33c0e refactor protobuf handling for split/import
In order to split backend.proto into a more manageable size, the protobuf
handling needed to be updated. This took more time than I would have
liked, as each language handles protobuf differently:

- The Python Protobuf code ignores "package" directives, and relies
solely on how the files are laid out on disk. While it would have been
nice to keep the generated files in a private subpackage, Protobuf gets
confused if the files are located in a location that does not match
their original .proto layout, so the old approach of storing them in
_backend/ will not work. They now clutter up pylib/anki instead. I'm
rather annoyed by that, but alternatives seem to be having to add an extra
level to the Protobuf path, making the other languages suffer, or trying
to hack around the issue by munging sys.modules.
- Protobufjs fails to expose packages if they don't start with a capital
letter, despite the fact that lowercase packages are the norm in most
languages :-( This required a patch to fix.
- Rust was the easiest, as Prost is relatively straightforward compared
to Google's tools.

The Protobuf files are now stored in /proto/anki, with a separate package
for each file. I've split backend.proto into a few files as a test, but
the majority of that work is still to come.

The Python Protobuf building is a bit of a hack at the moment, hard-coding
"proto" as the top level folder, but it seems to get the job done for now.

Also changed the workspace name, as there seems to be a number of Bazel
repos moving away from the more awkward reverse DNS naming style.
2021-07-10 19:17:05 +10:00
Damien Elmes
1d4b58419e add workaround for protobufjs requiring uppercase package names
I mourn the time lost trying to track this down :-(

https://github.com/protobufjs/protobuf.js/issues/1014

We can't patch the minified file in dist without essentially duplicating
it, so this change also switches from the external file to including
the src file as part of the bundle.
2021-07-10 15:24:01 +10:00
abdo
e2cff97349 Tweak deck options tooltips for RTL languages 2021-07-10 00:45:10 +03:00
Damien Elmes
80b98e0db8 move protobuf into separate folder in preparation for multiple files 2021-07-09 21:02:40 +10:00
hikaru-y
91f68d7665 Set lineWiseCopyCut option to false
Fixes https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/103
Related: https://github.com/codemirror/CodeMirror/issues/3169
2021-07-08 01:19:19 +09:00
Damien Elmes
7141f795fb
Merge pull request #1280 from hgiesel/addonimprov2
Export via components for Deck Options
2021-07-07 09:53:05 +10:00
Damien Elmes
f326000b29
Merge pull request #1279 from hgiesel/addonimprov
Remove disabled / Export via Components
2021-07-07 09:31:00 +10:00
Henrik Giesel
794b9f30dc Export editor globals under anki namespace 2021-07-06 03:48:33 +02:00
Henrik Giesel
ca4d4424e6 Don't use containers components within Container
- dynamic componets will be placed outside of the inner container
2021-07-06 03:43:40 +02:00
Henrik Giesel
2ed2a7baca Export under anki.components 2021-07-06 03:36:02 +02:00
Henrik Giesel
70d74605fa Remove WithShortcut for now - it does not work 2021-07-05 22:32:19 +02:00
Henrik Giesel
adfe6597a5 disabledKey => fieldFocusedKey 2021-07-05 18:15:03 +02:00
Henrik Giesel
9cc0d0a01c Fix issues with sometimes cause assignment of wrong position value 2021-07-05 17:17:58 +02:00
Henrik Giesel
59c5ecd4fc Use Components.svelte instead of exporting from EditorToolbar.svelte 2021-07-05 16:19:03 +02:00
Damien Elmes
46708f536d add comment about the use of linear-gradient
Otherwise one of us is likely to return to the code in a few years,
think it could be made simpler, and then break things again. :-)
2021-07-05 11:09:22 +10:00
hikaru-y
7c5031ab28 Prevent #dupe bgcolor from being carried over when copying text
use 'background-image' instead of 'background-color'
to prevent the background-color from being carried over
when copying text to another field in day mode
2021-07-05 04:11:03 +09:00
Damien Elmes
581c3e2486
Merge pull request #1273 from hgiesel/macshortcuts
Execute Ctrl+C/V/X/A via execCommand in editor
2021-07-04 16:02:52 +10:00
Henrik Giesel
7f7e5c2702 Execute Ctrl+C/V/X/A through execCommand in editor (so we can customize it) 2021-07-03 01:48:49 +02:00
Henrik Giesel
f0e870f1ae Allow non-null assertion in focus-handlers 2021-07-03 01:14:59 +02:00
Henrik Giesel
d11d66ee79 Move selection into editable, if it's not there after focus 2021-07-03 01:00:52 +02:00
Damien Elmes
c01c4b642b
Merge pull request #1266 from hgiesel/renamelib
More uniform file naming
2021-07-02 09:31:52 +10:00
Henrik Giesel
24af5bada3 More uniform file naming
kebap-case for .ts, .scss, .html, and directories
2021-07-01 12:24:16 +02:00
Henrik Giesel
982afca625 Use better cloze button icon 2021-07-01 11:46:39 +02:00
Henrik Giesel
6493adf7ca Refactor WithDropdown to be more versatile and cause less bugs 2021-06-30 14:01:33 +02:00
Damien Elmes
8b55e8610b unpin bootstrap now that 5.0.1 is out
63437f5cde
2021-06-29 11:25:14 +10:00
Damien Elmes
fa070d9da3
Merge pull request #1262 from hgiesel/visibledeckpreset
Make input in TextInputModal in dark mode visible
2021-06-29 11:24:21 +10:00
Henrik Giesel
f4f70c514c Make input in TextInputModal in dark mode visible 2021-06-29 03:20:15 +02:00
Damien Elmes
9d1a755fdc use css columns instead of grid
Alternative approach to #1255

thanks to Hikaru and Henrik for the margin fix, and Matthias for
the initial idea and prototypes!
2021-06-29 11:19:56 +10:00
Damien Elmes
18843e711d disable cloze&math buttons in html mode
Following on from 8a07d3161d
Keeping them active seems to encourage users to experiment:
https://forums.ankiweb.net/t/cloze-deleting-html-svg/11011
2021-06-25 10:31:47 +10:00
Henrik Giesel
4252898c78 Make Codable abstract more over its textarea v codemirror when using fieldHTML 2021-06-24 19:55:50 +02:00
Henrik Giesel
96e4e90a61 Make EditingArea intialize this.fieldHTML, not Editable.fieldHTML 2021-06-24 19:15:07 +02:00
Damien Elmes
e387c1f6f1 mobile fixes for js field
Without the overflow change, the page viewport gets messed up.
And for some reason specifying the font size as 1rem does not work;
it needs to be explicitly set to 16px to prevent zoom in.
2021-06-24 18:06:22 +10:00
Damien Elmes
d94c878ce3 disable smart quotes and capitalization in js field
+ use bootstrap styling
2021-06-24 18:00:06 +10:00
Damien Elmes
0b697f5161 expose scheduler js option in deck config 2021-06-24 14:38:10 +10:00
Damien Elmes
943f2b0287 gear -> revert icon
https://forums.ankiweb.net/t/anki-2-1-45-beta/10664/30
2021-06-24 13:07:03 +10:00
Damien Elmes
1c0e0853b0
Merge pull request #1248 from ankitects/revert-on-right
Move deck options revert button to right; hide when inactive
2021-06-24 13:01:57 +10:00
Henrik Giesel
cedbc35850 Adapt use of createDropdown for editor buttons 2021-06-22 17:31:06 +02:00
Damien Elmes
a7cf5cb5eb move revert button to the right
With a confirmation step now, accidental taps when scrolling shouldn't
be an issue, and it leaves more room for the text.
2021-06-22 09:41:31 +10:00
Damien Elmes
cde63469dc hide revert button when not active 2021-06-22 09:38:28 +10:00
Damien Elmes
c840b8dbb2 fix svelte-check error by tweaking formatting
🤷
2021-06-22 09:27:37 +10:00
Henrik Giesel
08402a2d72 Have swithes be blue when checked in night mode 2021-06-21 22:37:37 +02:00
Henrik Giesel
214c585518 Replace dash with underscore for night_mode_lib 2021-06-21 21:51:15 +02:00
Henrik Giesel
13970425bf Add night_mode_lib as SCSS target 2021-06-21 21:44:23 +02:00
Henrik Giesel
8a2ac57cc5 Always show spinning reverse icon on mobile 2021-06-21 21:35:20 +02:00
Henrik Giesel
e5978d7ffe Remove use of bootstrap-dark.night-mode for deckoptions
The CSS for the Switch component had a conflict regarding background color
Also generally it makes sense to put the CSS into the components
2021-06-21 21:16:40 +02:00
Henrik Giesel
e8a6add60b Position Revert/Gear button on the left of the label
+ Make the reverse arrow spin
2021-06-21 20:48:33 +02:00
Henrik Giesel
4e4683a122 Make gear button show dropdown menu 2021-06-21 20:24:15 +02:00
Henrik Giesel
48b7ae3cd0 Revert button with gear icon, that shows revert dropdown item 2021-06-21 19:11:10 +02:00
Henrik Giesel
292ba665af Associate Switch labels with their respective switches 2021-06-21 18:15:41 +02:00
Henrik Giesel
909502bb0a Put tooltip only on the info badge 2021-06-21 17:48:18 +02:00
Damien Elmes
f92bf490ab remove explicit line-height
It was causing text in dropdowns to be slightly truncated
(eg "Tag Only")
2021-06-21 17:02:48 +02:00
Damien Elmes
ecfa01072b remove left pad on switches 2021-06-21 17:02:48 +02:00
Damien Elmes
207e0126a0 decrease margins in deck options top sticky bar 2021-06-21 17:02:48 +02:00
Henrik Giesel
131d29ae05 Add g-1 class to DeckoptionsPage. Include transitions.scss
* Modal misbehaved before
2021-06-21 17:02:48 +02:00
Henrik Giesel
abca240de7 Disable RevertButton tooltip on touch devices
The tooltip will show after you clicked Revert. There's no sensible way
to show the tooltip, without also triggering the functionality
2021-06-21 17:02:48 +02:00
Henrik Giesel
98c57ce3f8 Make TriggerType an input argument for WithTooltip 2021-06-21 17:02:48 +02:00
Henrik Giesel
62b4b4c12c Increase padding on tooltips + Remove erroneous closing angle bracket 2021-06-21 17:02:48 +02:00
Henrik Giesel
728e2e682b Implement Switch and SwitchRow 2021-06-21 17:02:48 +02:00
Henrik Giesel
9a00ef5a81 Properly dispose of tooltip resources when unmounting 2021-06-21 17:02:48 +02:00
Henrik Giesel
97692e4c28 Reverse RevertButton being on the right side 2021-06-21 17:02:48 +02:00
Henrik Giesel
3227346f53 Alternative solution to markdown tooltips creating bottom margin 2021-06-21 17:02:48 +02:00
Henrik Giesel
3232712748 Update RevertButton to use Badge and WithTooltip 2021-06-21 17:02:48 +02:00
Henrik Giesel
a035679171 Add a tooltip showing delay of a quarter second 2021-06-21 17:02:48 +02:00
Henrik Giesel
880546c895 Add back info circles, remove underlines 2021-06-21 17:02:48 +02:00
Henrik Giesel
44562c3250 Update NotetypeSelector to use Item instead of ButtonToolbarItem 2021-06-21 17:02:48 +02:00
Henrik Giesel
d45e6445cf Fix tooltip regression 2021-06-21 17:02:48 +02:00
Henrik Giesel
af53ccfb36 Have decimal keyboard for SpinBoxFloat 2021-06-21 17:02:48 +02:00
Henrik Giesel
0c49f6c08b Have numeric keyboard for SpinBox 2021-06-21 17:02:48 +02:00
Henrik Giesel
4d7bdbce1f Switch Revert button and input element position 2021-06-21 17:02:48 +02:00
Henrik Giesel
67e0b67d17 Implement WithTooltip 2021-06-21 17:02:48 +02:00
Henrik Giesel
11c5476ae3 Wrap label and HelpPopup into span
Avoids HelpPopup in a differnt column upon label wrapping
2021-06-21 17:02:48 +02:00
Henrik Giesel
21ab484f21 Make revert button horizontal padding smaller 2021-06-21 17:02:48 +02:00
Henrik Giesel
99e7a3c436 Have colors inherit for badges 2021-06-21 17:02:48 +02:00
Henrik Giesel
dba85e7755 Add down-arrow SASS function 2021-06-21 17:02:48 +02:00
Henrik Giesel
65f0e7a4ea Use custom down arrow for both SelectButton and EnumSelector 2021-06-21 17:02:48 +02:00
Henrik Giesel
8d32528e8d Put Col types into col.ts 2021-06-21 17:02:48 +02:00
Henrik Giesel
894c84f4d3 Fix formatting 2021-06-21 17:02:48 +02:00
Henrik Giesel
e030e6f656 Rename SectionItem to just Item and use across option sections 2021-06-21 17:02:46 +02:00
Henrik Giesel
f895919435 Import API from all option sections 2021-06-21 17:01:45 +02:00
Henrik Giesel
2728b5fa63 Add Container.svelte 2021-06-21 17:01:45 +02:00
Henrik Giesel
cf9bba0807 Remove SCSS from ConfigEditor 2021-06-21 17:01:45 +02:00
Henrik Giesel
1bb59198dd Implement CheckBoxRow and SpinBoxFloatRow 2021-06-21 17:01:45 +02:00
Henrik Giesel
5fa850703f Implement EnumSelectorRow and StepsInputRow 2021-06-21 17:01:45 +02:00
Henrik Giesel
bc6907ef8d Implement SpinBoxRow 2021-06-21 17:01:45 +02:00
Henrik Giesel
46b5f6ba65 Add breakpoint for Bury EnumSelector 2021-06-21 17:01:44 +02:00
Henrik Giesel
2e921b95c6 Use Row and Col in favor of ConfigEntry 2021-06-21 17:01:44 +02:00
Henrik Giesel
77ea7f5e6f Remove ConfigEntryFull 2021-06-21 17:01:44 +02:00
Henrik Giesel
6e06f4afd4 Factor RevertButton out of components 2021-06-21 17:01:44 +02:00
Henrik Giesel
c87123a9b1 Change margin and gutters off rows 2021-06-21 17:01:44 +02:00
Henrik Giesel
2d24003e6c Move the remaining Options to new ConfigEntry layout 2021-06-21 17:01:44 +02:00
Henrik Giesel
d099b00918 Update DailyLimits and NewOptions to new format 2021-06-21 17:01:44 +02:00
Henrik Giesel
2a318f4695 Wrap input and revert button into one col 2021-06-21 17:01:44 +02:00