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
Henrik Giesel
94c789a5bf
Have correct enter behavior in for Editable and Codable
2021-06-17 22:02:06 +02:00
Henrik Giesel
f923660fc6
Add autoclosetag addon for CodeMirror
2021-06-17 21:45:11 +02:00
Henrik Giesel
9cbc1c33e7
Make it so you don't have to close the HTML mode for html to be written back
2021-06-17 21:36:56 +02:00
Henrik Giesel
a87f81f00b
Only toggle the current field, not all
2021-06-17 20:57:20 +02:00
Henrik Giesel
7266f485d0
Make Codable enter behavior the same as Editable
2021-06-17 20:47:33 +02:00
Henrik Giesel
95dad1abc1
Match and fold tags
2021-06-17 20:27:34 +02:00
Henrik Giesel
447e54d3af
Make editable hide correctly when activating codable
2021-06-17 19:08:14 +02:00
Henrik Giesel
d80fc6a397
Successfully add monokai theming
2021-06-17 18:36:12 +02:00
Henrik Giesel
74961ff118
Make DOMParser correctly return innerHTML
2021-06-17 17:52:27 +02:00
Henrik Giesel
4daede2995
Make Codable correctly update the editable state and its button
2021-06-17 17:49:50 +02:00
Henrik Giesel
7f76a98546
Apply the Monokai theme
2021-06-17 17:18:00 +02:00
Henrik Giesel
8a902944a8
Setup toggleHtmlEdit on editingArea
2021-06-17 17:08:33 +02:00
Henrik Giesel
678a5997e9
Connect HtmlEditButton to codable
2021-06-17 15:30:05 +02:00
Henrik Giesel
8b15c81d34
Display CodeMirror in editingArea
2021-06-17 14:44:03 +02:00
Henrik Giesel
709c1be7a0
Add codable element
2021-06-17 13:46:25 +02:00
Damien Elmes
2e53dc63c8
Merge pull request #1230 from RumovZ/fields-check
...
Check for misplaced or missing clozes when adding and in the editor
2021-06-17 21:26:16 +10:00
Damien Elmes
51de0fdcd1
update js deps; pin marked
...
marked 2.1.0 fails to run on node 12
2021-06-16 16:47:32 +10:00
RumovZ
0f549d2b82
Merge cloze hint divs into one
2021-06-15 08:43:18 +02:00
RumovZ
d8c3e71105
Add editor hints for cloze errors
2021-06-12 17:35:40 +02:00
hikaru-y
2778398812
Disable color picker buttons when a field is not focused
2021-06-11 23:36:06 +09:00
Damien Elmes
968bd1b27a
specific encoding of strings.json
...
https://forums.ankiweb.net/t/win10-build-error-unicodedecodeerror-gbk-codec-cant-decode-byte-0x91/10714
2021-06-11 20:12:38 +10:00
Damien Elmes
18f8e3743b
Merge pull request #1225 from kelciour/segoe-ui-font-fix
...
Fix Segoe UI got replaced with Arial on Windows
2021-06-10 22:29:06 +10:00
Damien Elmes
61e86cc29d
new change notetype implementation for the frontend
...
- changes can now be undone
- the same field can now be mapped to multiple target fields, allowing
fields to be cloned
- the old Qt dialog has been removed
- the old col.models.change() API calls the new code, to avoid
breaking existing consumers. It requires the field map to always
be passed in, but that appears to have been the common case.
- closes #1175
2021-06-10 22:19:24 +10:00
kelciour
44cf5153b1
fix default font family
...
Probably a regression introduced with fdd162a7b9
2021-06-10 12:07:52 +03:00
Damien Elmes
410660990e
add LIFO sorting options for new cards
2021-06-08 14:01:46 +10:00
Damien Elmes
dbfe12edbf
use different toolbar size on Mac
...
see discussion on 984ab9b6fe
2021-06-05 11:28:36 +10:00
Damien Elmes
f348ec7678
tooltip styling fix
...
Thanks Matthias!
https://forums.ankiweb.net/t/anki-2-1-45-alpha/10061/88
2021-06-04 15:27:27 +10:00
Damien Elmes
984ab9b6fe
try toolbar size of 1.85rem
...
https://forums.ankiweb.net/t/anki-2-1-45-alpha/10061/97
2021-06-04 15:11:34 +10:00
Damien Elmes
3ced63d974
make _vars.scss public
2021-06-04 14:39:53 +10:00