Damien Elmes
a581c082f6
switch from rollup to esbuild
...
brings the 2+ second bundle on a module like the graphs down to 90ms
2021-03-21 16:06:36 +10:00
Henrik Giesel
d13bd1096d
Remove explicit popperjs again, because it's included in bootstrap.bundle
2021-03-09 13:37:56 +01:00
Henrik Giesel
aeda64a890
Add bootstrap, bootstrap-icons, and popperjs
2021-03-09 13:37:56 +01:00
Henrik Giesel
8aa8174d4b
Fix scrollbar issue in anki-editable component in two ways
...
- using :host-context(.nightMode) allows for applying the nightmode
scroll bar inside the component
- apply max-width: 100% to all element within editable, not just images
2021-02-23 15:52:20 +01:00
Damien Elmes
5ae66af5d2
rework v2 scheduler upgrade; drop downgrade
...
- Rework V2 upgrade so that it no longer resets cards in learning,
or empties filtered decks.
- V1 users will receive a message at the top of the deck list
encouraging them to upgrade, and they can upgrade directly from that
screen.
- The setting in the preferences screen has been removed, so users
will need to use an older Anki version if they wish to switch back to
V1.
- Prevent V2 exports with scheduling from being importable into a V1
collection - the code was previously allowing this when it shouldn't
have been.
- New collections still default to v1 at the moment.
Also add helper to get map of decks and deck configs, as there were
a few places in the codebase where that was required.
2021-02-21 15:50:41 +10:00
Damien Elmes
3c1fa68460
turn top bar dark when night mode enabled on macOS
2021-02-04 19:19:56 +10:00
Damien Elmes
39c6429fe2
fix broken card styling fix :-)
2021-02-03 22:32:55 +10:00
Damien Elmes
7e8886c352
fix broken card styling
2021-02-03 22:22:12 +10:00
Damien Elmes
e683e5c4d7
Merge pull request #973 from hgiesel/mathjaxerror
...
Render error if MathJax raises error
2021-02-03 13:09:12 +10:00
Henrik Giesel
e5587ffa59
Move copy_page to ts/copy.bzl and rename to copy_files_into_group
2021-02-02 18:20:11 +01:00
Henrik Giesel
803d6fbd3b
Render error if MathJax raises error
2021-02-02 18:11:16 +01:00
Henrik Giesel
70b7cbcd4a
Move editor css to editor directory
2021-01-31 19:03:40 +01:00
Henrik Giesel
2ab06a6540
Move editor to /ts/editor
2021-01-31 14:15:03 +01:00
Henrik Giesel
859a52ab15
Fix type issues
2021-01-31 13:34:39 +01:00
Henrik Giesel
33160dcb00
Make editor a rollup package
2021-01-31 13:34:37 +01:00
Henrik Giesel
126af1fef3
Fix focus on first field upon opening editor
2021-01-30 14:20:14 +01:00
Damien Elmes
b66bedbc9f
Merge pull request #957 from hgiesel/fieldsshadow
...
Implement editor as Web Component
2021-01-30 15:13:58 +10:00
Henrik Giesel
61346cf1f7
Rename editingContainer -> editingArea; editingArea -> editable
...
* Custom elements are now namespaces with `anki-`
* The element names are inspired by summernote, which have the same
naming scheme of "editingArea > editable"
2021-01-29 20:32:21 +01:00
Henrik Giesel
2e72de4af0
Reorder methods / properties
2021-01-29 20:13:02 +01:00
Henrik Giesel
e37fd2e091
Remove unnecessarily observed attribute
2021-01-29 20:11:00 +01:00
Henrik Giesel
3559834bc9
Make forEditorField more cheaper to execute by avoiding casting to Array
2021-01-29 19:38:55 +01:00
Henrik Giesel
79dc0ecf86
Remove explicit ids, as they are not necessary anymore
2021-01-29 18:07:31 +01:00
Henrik Giesel
5e67e706fb
No need to set initial values for editing area base CSS
2021-01-29 17:51:26 +01:00
Henrik Giesel
32ee863577
Remove checking for class names for instance checks
2021-01-29 17:41:27 +01:00
Henrik Giesel
982372beae
Put HTML initialization into web component constructor
...
* disconnectedCallback should remove event listeners and free other resources
* attributes belong to connectedCallback
2021-01-29 15:50:34 +01:00
Henrik Giesel
0beefc0699
Move setting of index to connectedCallback
2021-01-29 14:54:59 +01:00
Henrik Giesel
fe87f986d3
Remove user styling in editor again for now
2021-01-29 14:54:59 +01:00
Henrik Giesel
594fc9bebd
Fix focus change on tab
2021-01-29 14:54:59 +01:00
Henrik Giesel
6e907fd8b6
Move styling attributes from editor to editing-area that are for editing area
2021-01-29 14:54:58 +01:00
Henrik Giesel
a620bf91a8
Make button highlight white in nightMode
2021-01-29 14:54:58 +01:00
Henrik Giesel
3eade1c64d
Make the text color part of the base style in editor
2021-01-29 14:54:58 +01:00
Henrik Giesel
af3753948a
Allow stylesheet of note type take effect on editor fields
2021-01-29 14:54:58 +01:00
Henrik Giesel
8a525d3643
Use currentField.getSelection instead of window.getSelection
2021-01-29 14:54:58 +01:00
Henrik Giesel
08a6f8f02f
Use new focusEditingArea and blurEditingArea to delegate to editing area
2021-01-29 14:54:58 +01:00
Henrik Giesel
aed38de228
Fix dupes, but also make sticky, and centered to draw more attention
2021-01-29 14:54:58 +01:00
Henrik Giesel
bec709c7a9
Update setFonts and setBackgrounds
2021-01-29 14:54:58 +01:00
Henrik Giesel
db0c776210
Fix inListItem for shadow roots
2021-01-29 14:54:58 +01:00
Henrik Giesel
e0d1450ce0
Rename fieldContainsInlineContent to containsInlineContent to reflect new usage
2021-01-29 14:54:58 +01:00
Henrik Giesel
7dc4b8818c
Isolate styling of editing-area into new scss file
2021-01-29 14:54:58 +01:00
Henrik Giesel
1db71805d3
Create a rough draft of the editor web component
2021-01-29 14:54:58 +01:00
Henrik Giesel
4b7d406559
Make sticky topbar have a positive z-index
2021-01-29 14:21:32 +01:00
Henrik Giesel
bf7ff65af6
Rename fieldIsInInlineMode to fieldContainsInlineContent
2021-01-27 02:35:14 +01:00
Henrik Giesel
d9f00c4839
Remove unused helper functions
2021-01-27 00:55:00 +01:00
Henrik Giesel
b2b17f4c3d
Recreate border-spacing with margins for #fields
2021-01-27 00:50:26 +01:00
Henrik Giesel
9b5d915983
Change nodeIsInline logic to be more typesafe
2021-01-26 23:49:48 +01:00
Henrik Giesel
feddf96f2a
Change logic to detect inline elements, as the display style property may not be set after setting innerHTML
2021-01-26 23:42:04 +01:00
Henrik Giesel
520c4a3b4d
Make #fields display correctly
2021-01-26 23:17:50 +01:00
Henrik Giesel
e481452114
Make fields div instead of table + implement fieldIsInInlineMode logic
2021-01-26 23:00:55 +01:00
Henrik Giesel
335267d42e
Strip trailing newline if inline elements logic
2021-01-26 21:26:04 +01:00
Henrik Giesel
1df6c5f596
Avoid highlighting of toprightbuttons to shift the topbar
2021-01-22 12:53:45 +01:00
Henrik Giesel
9226d50185
Space items by using margins instead of spaces
...
* also changed name of topbutton container back to topbutsOuter as it is clearer
* starting with Chromium 83, `row-gap` would be better suited for this
2021-01-22 12:17:10 +01:00
Henrik Giesel
97f8f1b89e
Switch from floating windows and clearfix to flex and justify-content: space-between
2021-01-22 11:37:11 +01:00
Henrik Giesel
1f4de7fe4b
Adjust the positioning of the editor toolarea via CSS
2021-01-21 21:36:33 +01:00
Henrik Giesel
2946843b81
Remove image click event handler, as it never takes place
...
* className of fields will be "field clearfix", never just "field"
2021-01-21 20:50:17 +01:00
Henrik Giesel
e91a4b4362
Remove javascript resizing code from editor.ts
2021-01-21 19:59:16 +01:00
Henrik Giesel
6262997599
Explicitly execute code deactivating button focus from editor.py
2021-01-20 17:06:08 +01:00
Henrik Giesel
cfc8e34cf0
Remove jQuery from most top functions, and avoid waiting for jquery load
2021-01-19 03:52:46 +01:00
Henrik Giesel
5b24e5c522
Remove some unnecessary jQuery, replace some toggles with classList.toggle
2021-01-19 03:06:44 +01:00
Henrik Giesel
27a1e81088
Remove code which supposedly fixing focus, but which is not functional
2021-01-19 02:54:15 +01:00
Henrik Giesel
47d26126e7
Switch to iterables for elem.style and elem.attributes
2021-01-19 02:48:41 +01:00
Henrik Giesel
a4921a36dd
Satisfy formatter
2021-01-19 01:08:15 +01:00
Henrik Giesel
4deeb798ca
Prefer template string and addEventListener
over string concatenation and .on<event>
2021-01-18 17:42:29 +01:00
Henrik Giesel
150de7a683
Use more strict TypeScript in editor.ts
2021-01-18 17:18:35 +01:00
Henrik Giesel
a898224d3d
Switch to KeyboardEvent.code rather than KeyboardEvent.which, which is deprecated
2021-01-18 15:19:57 +01:00
Henrik Giesel
0db8a14497
Deal with div insertion on deleting list item
2021-01-15 18:46:37 +01:00
Henrik Giesel
4e1139021b
Consider list edge case for line breaks
...
* Enter makes a new bullet point
* Shift+Enter makes a line break in current bullet point
2021-01-15 18:46:37 +01:00
Henrik Giesel
5c6694950d
Prefer <br> over <div></div>
2021-01-15 18:46:37 +01:00
Henrik Giesel
fe118197a3
Improve styling of new preview button on light and nightMode
2021-01-09 23:55:39 +01:00
Henrik Giesel
ece753991e
Make button show its toggle state
2021-01-09 23:16:01 +01:00
Damien Elmes
5ec5a47708
merge separate vendor rules into single rule
...
Rather than creating a separate rule for each package, we can just
create a generic one and reuse it. Also switch to keyword arguments
in the resulting macros, as it's easier to read.
2021-01-02 11:14:00 +10:00
Henrik Giesel
450ff60815
Fix input type for _drawFlag
2021-01-01 14:14:50 +01:00
Henrik Giesel
f31b2312df
Remove browsersel
2020-12-31 16:48:04 +01:00
Henrik Giesel
ebb8171021
Add css-browser-selector to BAZEL build file in data/web/js/vendor
2020-12-31 16:41:31 +01:00
Henrik Giesel
4da27afba8
Remove hardcoded protobufjs
2020-12-31 16:17:46 +01:00
Henrik Giesel
2ba944640d
Add build recipe to aqt/data/web/js
2020-12-31 16:15:25 +01:00
Damien Elmes
3d7b167947
Merge pull request #878 from hgiesel/updateQueue
...
Replace `_updatingQA` with promise-based `_updatingQueue`
2020-12-31 12:42:58 +10:00
Henrik Giesel
a7f17732b0
Replace () => void | Promise<void>
with Callback typedef
2020-12-30 16:04:59 +01:00
Henrik Giesel
c6c52e06b4
Add types to reviewer.ts
2020-12-30 15:06:22 +01:00
Henrik Giesel
aaa30a5d49
Replace _updatingQa synchronization with promise-based _updatingQueue
2020-12-30 14:45:27 +01:00
Henrik Giesel
30b537c6e9
Put loads first in BUILD.bazel
2020-12-30 12:16:59 +01:00
Henrik Giesel
5f149a75a9
Remove jquery-ui from vendor folder
2020-12-30 12:12:49 +01:00
Henrik Giesel
a22d303e2f
Add jquery-ui to vendor/BUILD.bazel
2020-12-30 12:06:06 +01:00
Damien Elmes
9e1eaacc06
Revert "Merge pull request #873 from hgiesel/otherjsdeps"
...
This reverts commit 62600051ae
, reversing
changes made to 88553acb0d
.
- Standard graphs render incorrectly on latest version - the wrong number
of days are shown, and the grid lines look wrong. Any version after 0.8.3
seems to suffer from this problem.
- Pie graphs and stack graphs don't render - they are provided in separate
files, and plot.js in previous Anki versions has them included in the one
file. To maintain compatibility with add-ons, we'd need to create a single
file as before, instead of importing multiple files.
If the above issues are fixed I'd be happy to merge this in again, but
as the old graphs are on the way out, it's probably not worth the effort.
2020-12-30 14:13:52 +10:00
Damien Elmes
1ee08c049e
Merge pull request #874 from hgiesel/jqueryreview
...
Update _updateQa
2020-12-30 13:51:54 +10:00
Henrik Giesel
ff4780e005
Satisfy prettier
2020-12-29 14:45:20 +01:00
Henrik Giesel
7ef41ce573
Hook functions may also return void
2020-12-29 14:01:09 +01:00
Henrik Giesel
8f39c746d9
Replace ts-ignore with declare var
2020-12-29 13:43:47 +01:00
Henrik Giesel
53f77346d8
Fix typing of reviewer hooks
2020-12-29 13:42:30 +01:00
Henrik Giesel
ecdb06cbd6
Use async/await syntax in _updateQa
2020-12-29 13:34:39 +01:00
Henrik Giesel
f90b6b3430
Remove plot.js
2020-12-29 12:16:50 +01:00
Henrik Giesel
ef9b52f861
Copy flot file to vendor directory
2020-12-29 12:11:28 +01:00
Henrik Giesel
98407c3fea
Avoid building jquery to its own directory
2020-12-28 14:18:07 +01:00
Henrik Giesel
0c95cb3514
Remove jquery from Anki repo and replace with Bazel BUILD
2020-12-28 13:16:12 +01:00
Damien Elmes
7397b9c0c4
Merge pull request #858 from hgiesel/editorwhitespace
...
Remove placeholder `<br>`s in empty fields in editor
2020-12-28 16:50:23 +10:00
Henrik Giesel
d6a090e1a8
Hide "Edit" and "More" buttons in reviewer bottom bar, if window width is too small
2020-12-26 15:50:32 +01:00
Damien Elmes
32093bb428
further decrease default q/a fade time
2020-12-22 13:02:07 +10:00
Damien Elmes
c18ea8ef78
Merge pull request #859 from hgiesel/tabindex2
...
Consider removing special handling of Shift+Tab in Editor on macOS
2020-12-21 18:38:35 +10:00
Damien Elmes
256db85577
work around --text-fg ending up in fields
...
https://forums.ankiweb.net/t/strange-behaviour-in-the-html-editor/5796/4
2020-12-21 17:56:20 +10:00
Damien Elmes
64173b5c02
.prettierrc needs to be in web/, as it's needed for sass as well
2020-12-21 17:05:31 +10:00
Henrik Giesel
2ae4d14bc5
Focus special handling of Shift+Tab on macOS
2020-12-21 08:00:47 +01:00
Damien Elmes
4e1d57e2d2
check formatting of .js files in aqt/data
...
mathjax.js did not match //ts:format output
2020-12-21 16:10:59 +10:00
Damien Elmes
65a35fef55
link .prettierrc into qt/aqt/data/web/js
...
So automatic formatting in VS Code matches CI format
2020-12-21 16:09:06 +10:00
Henrik Giesel
502049025a
Remove special treatment of empty fields in editor ts
2020-12-21 03:13:31 +01:00
Henrik Giesel
9b2de395e1
Wrap field name in editor in span
2020-12-20 23:40:51 +01:00
Damien Elmes
6d596c8fc9
avoid distributing BUILD.bazel in js/vendor
2020-12-12 10:35:01 +10:00
Henrik Giesel
0ad3c062bb
Switch back to fadeTo rather than fadeIn/fadeOut
2020-12-09 14:19:45 +01:00
Damien Elmes
2c38ccad98
export mathjax.js
2020-11-30 15:15:37 +10:00
Damien Elmes
c1d15a8e1f
quieten MathJax
2020-11-18 21:34:44 +10:00
Damien Elmes
1c5f94d46f
strip out unused gettext refs
2020-11-18 13:22:51 +10:00
Henrik Giesel
07c183d2c2
Switch from jQuery pre 3.0.0 pseudo promises to ES6 promises
2020-11-16 01:09:59 +01:00
Henrik Giesel
435ecc3ae8
Satisfy formatter
2020-11-15 21:40:59 +01:00
Henrik Giesel
a7b5a7efe1
Improve ts hooks to allow for asynchronous actions
...
* reviewer ts hooks may now return a promise, which are then waited upon with Promise.all
* this does not break old ts hooks, as Promise.all allows for non-Promises in its array
2020-11-15 21:16:06 +01:00
Henrik Giesel
4229f21084
Include default MathJax packages
...
* by default load all the default tex-chtml packages, which additionally include:
* require: using \require{package-name} to load a package
* autoload: using a command from a different package automatically loads it
* configmacros: allows for definition of predefined macros
2020-11-15 20:56:50 +01:00
Henrik Giesel
80232f4d33
Load require package in Mathjax
2020-11-15 13:58:51 +01:00
Damien Elmes
8a80ffe53a
add rule to copy mathjax from node_modules
2020-11-15 20:22:28 +10:00
Henrik Giesel
6104ea26fb
Remove @types/mathjax as it is for MathJax 2
2020-11-14 14:14:25 +01:00
Henrik Giesel
aa44d64513
Add moving MathJax3 into mathjax directory to build process
2020-11-14 14:14:25 +01:00
Henrik Giesel
6d4ff1212d
Rip out MathJax 2 and setup MathJax 3 environment
2020-11-14 14:14:25 +01:00
Henrik Giesel
c5cfbfa1ab
Update MathJax2 config to MathJax3 config
...
Used: https://mathjax.github.io/MathJax-demos-web/convert-configuration/convert-configuration.html
2020-11-14 14:14:25 +01:00
Damien Elmes
5bb3d7c114
format_fix -> format; rename svelte-check for consistency
2020-11-12 20:19:32 +10:00
Damien Elmes
8d4df820cc
update i18n scripts
...
- export updated .po files for consumption
- add a script to pull and push translations
2020-11-11 21:08:06 +10:00
k12ish
b592e20a3c
Improve compatibility with graphics pad/touchscreen
...
When using anki with a graphics pad, text is often selected on accident. This snippet of CSS will fix that issue
2020-11-08 18:14:37 +00:00
Damien Elmes
29ae7480f2
cleanups
2020-11-05 11:21:13 +10:00
Damien Elmes
0d354da93a
move aqt_data into source folder; implement wheel building
2020-11-04 12:14:03 +10:00