Commit Graph

1124 Commits

Author SHA1 Message Date
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
Henrik Giesel
17b39b8ef8 Introduce TitledContainer 2021-06-21 17:01:44 +02:00
Henrik Giesel
70c8b8940d Allow for gutters between rows 2021-06-21 17:01:44 +02:00
Henrik Giesel
da8fdb7719 Vertically align text + Remove bottom margin from alerts 2021-06-21 17:01:44 +02:00
Henrik Giesel
c586107fea Turn icons into Bootstrap badges in deckoptions 2021-06-21 17:01:44 +02:00
Henrik Giesel
23f65f1a95 Start using Bootstrap grid for deckoptions 2021-06-21 17:01:44 +02:00
Henrik Giesel
282de21675 Use Bootstrap containers instead of CSS in base for deckoptions 2021-06-21 17:01:44 +02:00
Henrik Giesel
7dacd9b72f Add container scss to deckoptions-base 2021-06-21 17:01:44 +02:00
Henrik Giesel
b99b12f157 Make API argument required in ConfigEditor 2021-06-21 17:01:44 +02:00
Henrik Giesel
c49ad009d0 Add Section and SectionItem for the deckoptions 2021-06-21 17:01:44 +02:00
Henrik Giesel
da076aa48e Generalize ButtonToolbarItem to SectionItem 2021-06-21 17:01:42 +02:00
Damien Elmes
c6c3b8af4d
Merge pull request #1244 from hgiesel/colorpickersetcolor
Make Color Pickers also format with colors
2021-06-20 15:58:58 +10:00
Damien Elmes
c79f8ba88f in/out -> request/response
The saved characters weren't worth the increased difficulty when
reading, and the fact that we were deviating from protobuf norms.
2021-06-20 15:49:20 +10:00
Henrik Giesel
05fa7daa97 Add type hint in WithColorHelper 2021-06-19 16:31:35 +02:00
Henrik Giesel
29d40fd4ab Make Color Pickers also format with colors 2021-06-19 16:27:09 +02:00
Damien Elmes
f2029b8ba8 support jsdom tests
Alternative would be to switch to jsdom for everything, but TextEncoder
is currently missing from jsdom, and jsdom mode is slower IIRC.
2021-06-19 09:43:09 +10:00
Henrik Giesel
297150a1b6 Cannot create Jest jsdom tests (?) 2021-06-18 20:41:54 +02:00
Damien Elmes
039be57499
Merge pull request #1242 from hgiesel/codable
In-line HTML-Editing for Editor
2021-06-18 17:18:35 +10:00
Henrik Giesel
3320aecdda Satisfy svelte_check 2021-06-18 03:12:02 +02:00
Henrik Giesel
526e87aaef Remove components from editor BUILD.bazel again 2021-06-18 02:59:45 +02:00
Henrik Giesel
bfe2bdecc0 Disable function dropdown when no field selected 2021-06-18 02:51:42 +02:00
Henrik Giesel
767af9e478 Satisfy linter 2021-06-18 02:44:15 +02:00
Henrik Giesel
a3a59f0293 Make text wrapper buttons work with Codable 2021-06-18 02:33:56 +02:00
Henrik Giesel
8a07d3161d Disable Media button for Codable, but keep wrapping and cloze key for now 2021-06-18 02:02:01 +02:00
Henrik Giesel
2322d170fc Disable ColorButtons for Codable 2021-06-18 01:44:15 +02:00
Henrik Giesel
c23665cf63 Allow Tab and Shift+Tab on Codable 2021-06-18 01:32:46 +02:00
Henrik Giesel
28679968f7 Disable FormatBlock buttons for Codable 2021-06-18 01:17:43 +02:00
Henrik Giesel
eeb954535f Disable Bold button in Codable 2021-06-18 00:27:07 +02:00
Henrik Giesel
817dee1a1b Make different onPaste behavior for Editable and Codable 2021-06-17 23:12:15 +02:00