Commit graph

286 commits

Author SHA1 Message Date
Henrik Giesel
9803a4ab00 Switch to iterables for elem.style and elem.attributes 2021-01-19 02:48:41 +01:00
Henrik Giesel
9246698d4e Satisfy formatter 2021-01-19 00:17:30 +01:00
Henrik Giesel
705c437ffd Use firstWeekday config in graphs data 2021-01-18 23:23:55 +01:00
Damien Elmes
4ab52b8763 move exports_files call into ts/BUILD.bazel
Suspect it has caused a regression when building from an external
repo.
2021-01-09 18:03:26 +10:00
Damien Elmes
b43515ceff add .sql file formatter
Uses the logic from the sqltools VSCode add-on, with a workaround
for the use of 'type' in some table columns.

By detecting the presence of 'BUILD_WORKSPACE_DIRECTORY' we can tell
if the rule is running in test mode or was run directly, avoiding the
need for separate check and fix rules. It might be nice to extend this
to other formatting rules in the future as well.
2021-01-09 14:22:49 +10:00
Henrik Giesel
cef590e878 Include review and relearn cards for ease graph 2021-01-08 17:57:47 +01:00
Henrik Giesel
4e9d54940e Add return values to increment and adjustTicks 2021-01-08 12:29:22 +01:00
Henrik Giesel
3f5d645987 Add es2019.array to TypeScript libs, so we can use .flatten and .flatMap 2021-01-08 12:23:21 +01:00
Henrik Giesel
3aa63d871c Fix cutting off of Review Interval bins 2021-01-08 12:11:53 +01:00
Henrik Giesel
c743d956d7 Omit zero interval, and don't nice the values
* to keep promise of radio buttons:
  * 1 month should mean 30/31 days
2021-01-08 10:07:42 +01:00
Damien Elmes
4b9e5f425b Merge pull request #904 from hgiesel/propdue
Streamlining `is:due`, `prop:due`, and the FutureDue graph
2021-01-08 16:34:53 +10:00
Henrik Giesel
512248cba1 Include many more cards in the Review Intervals graph 2021-01-07 22:35:34 +01:00
Henrik Giesel
56c8773beb Fix formatting graphs ts 2021-01-07 19:36:08 +01:00
Henrik Giesel
3fa5f20344 Fix one-off error for Histograms:
examples:
* x0 = -66 and x1 = -64 should yield 65-66 days ago instead of 64-65 days ago
* x0 = -2 and x1 = 0 should yield 1-2 days ago instead of 0-1 days ago
2021-01-07 17:14:31 +01:00
Henrik Giesel
629035a347 Display backlog learn cards correctly in FutureDue graph
* now they are shown as due in the past
* before that they were always displayed as due today
2021-01-07 16:13:59 +01:00
Henrik Giesel
e8138136f9 Default CardCounts to off 2021-01-06 11:53:58 +01:00
Henrik Giesel
0a25d3bb82 Switch relearning cards to schemeReds 2021-01-05 19:37:14 +01:00
Henrik Giesel
04cc12b248 Add label for SeparateInactiveCheckbox in ftl file 2021-01-05 19:13:57 +01:00
Henrik Giesel
213f74651f Satisfy formatter 2021-01-05 17:22:27 +01:00
Henrik Giesel
1743f54762 Make pie graphs display correctly when switching between categories 2021-01-05 16:47:47 +01:00
Henrik Giesel
645ffe53d0 Replace CountMethodRadios with SeparateInactiveCheckbox method
* cards will still be mostly counted by ctype rather than queue
* if the user wants to include inactive cards buried and suspended will
  be first filtered out, before the rest is counted by ctype
2021-01-05 16:13:06 +01:00
Henrik Giesel
b55e3d8792 Satisfy formatter 2021-01-04 15:36:15 +01:00
Henrik Giesel
d82f81f42b Refresh colours on Card Count Pies 2021-01-04 15:14:50 +01:00
Henrik Giesel
45fe3794ec Add gatherByQueue and gatherByCtype methods 2021-01-04 14:04:51 +01:00
Henrik Giesel
66ea08411c Add CountMethodRadios and CardCountMethod enum 2021-01-04 12:21:30 +01:00
Damien Elmes
6cac9c4a5b remove empty es6 group; reference original ts_library instead 2021-01-02 21:18:10 +10:00
Damien Elmes
f3e83dffc9 remove the unused ts/vendor folder 2021-01-02 11:25:09 +10:00
Damien Elmes
a27e94e54d 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
2e3b9b5dc0 Add base argument to copy_select_files 2021-01-01 14:39:15 +01:00
Henrik Giesel
a8b6fe99fa Be a bit more precise when excluding mathmaps_ie.js
* for documentation purposes
2021-01-01 14:16:52 +01:00
Henrik Giesel
0042c897bd Remove duplicated logic in ts bzl files by using copy_select_files 2021-01-01 13:45:25 +01:00
Henrik Giesel
6087bb9a0f Add css-browser-selector to BAZEL build file in data/web/js/vendor 2020-12-31 16:41:31 +01:00
Henrik Giesel
7ed80466e9 Add css-browser-selector as bazel rule, and update from 0.4.0 to 0.6.5 2020-12-31 16:27:52 +01:00
Henrik Giesel
0745fe511a Add bazel recipe and update protobufjs to 6.10.2 2020-12-31 16:06:44 +01:00
Damien Elmes
ba466808e4 use :yarn not :yarn_bin
The latter fails on Windows
2020-12-31 12:32:51 +10:00
Damien Elmes
a86b8bbcf8 add add.sh helper for adding dependency and updating licenses 2020-12-31 12:20:51 +10:00
Damien Elmes
56c27ab129 run ts/update.sh 2020-12-31 12:18:49 +10:00
Henrik Giesel
dda55b16f1 Add jquery-ui to vendor/BUILD.bazel 2020-12-30 12:06:06 +01:00
Henrik Giesel
ff68cd8382 Install jquery-ui-dist 2020-12-30 11:56:49 +01:00
Henrik Giesel
dcb9c672e0 Add jquery-ui bazel build file 2020-12-30 11:56:20 +01:00
Damien Elmes
9b92d3ce1f Revert "Merge pull request #873 from hgiesel/otherjsdeps"
This reverts commit ad7491a9ae, reversing
changes made to 5a79515f2a.

- 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
Henrik Giesel
fe7d1aef2b Copy flot file to vendor directory 2020-12-29 12:11:28 +01:00
Henrik Giesel
3a64d47786 Install flot 4.2.1
Old version was 0.8.3
2020-12-29 12:02:41 +01:00
Damien Elmes
f42e62aca6 controller should be marked nullable
While 'SvelteComponent | null' seems to make it into the .tsx file
created by svelte2tsx, the subsequent tsc call seems to discard the
'| null' part when creating the .d.ts file. Hack around it with a cast
for now; this may be fixed if we move to ts_project in the future.
2020-12-29 15:21:46 +10:00
Damien Elmes
8388b1d838 use local strategy for Svelte on CI
Allows some type errors to surface that were only being picked up
on Windows.

The root cause seems to be TypeScript picking up other .d.ts/.tsx
files in the same folder, which it can only do on Windows due to the
lack of sandboxing. On other platforms the other files can't be found,
and tsc changes the types into 'any'.

I experimented with modifying rules_svelte to build all .tsx files up
front and convert them to .d.ts in bulk, but ran into further issues
with conflicting types, as the typings in svelte2tsx seem to conflict
with Svelte's built-in types, and passing the dependencies in explicitly
causes them to be checked even though --skipLibCheck is passed in to
TypeScript.

Forcing sandboxing off is an ugly hack, and our best approach moving
forward may be to switch to ts_project for the Svelte generation -
it does appear that rules_nodejs favours it over ts_library anyway.
2020-12-29 14:50:33 +10:00
Damien Elmes
34884a2e8f Merge pull request #864 from hgiesel/graphs
Decouple GraphsPage from individual graphs and RangeBox
2020-12-29 10:14:04 +10:00
Henrik Giesel
b6fba45ad5 Remove jquery from Anki repo and replace with Bazel BUILD 2020-12-28 13:16:12 +01:00
Damien Elmes
e80674b793 Merge pull request #863 from hgiesel/statsoverscroll
Prevent stats screen from overscrolling
2020-12-28 10:34:06 +10:00
Henrik Giesel
71149656fc Fix typo 2020-12-27 02:04:45 +01:00
Henrik Giesel
20c2d55059 Fix formatting 2020-12-26 18:24:24 +01:00
Henrik Giesel
0afed11159 Prevent stats screen from overscrolling 2020-12-26 15:29:45 +01:00
Henrik Giesel
d8f57cecd0 Add svelte lib as bazel dependency 2020-12-26 15:17:30 +01:00
Henrik Giesel
f9229be1ff Pass in RangeBox as an argument, decoupling it from GraphsPage 2020-12-26 14:40:55 +01:00
Henrik Giesel
4309b6f7a5 Fix displaying issue with active spinner 2020-12-26 00:16:54 +01:00
Henrik Giesel
1b4fd39d70 Make Year/All display correctly 2020-12-26 00:08:24 +01:00
Henrik Giesel
4f28750dff Move spinner back to RangeBox 2020-12-25 22:59:11 +01:00
Henrik Giesel
13acbe131c Put RangeBox into its own component 2020-12-25 22:29:42 +01:00
Henrik Giesel
3373cf7ad0 Make spinner's position sticky in relation to graphsContainer 2020-12-25 21:49:56 +01:00
Henrik Giesel
2362ba36d8 Put a transition:fade on the spinner 2020-12-25 20:11:46 +01:00
Henrik Giesel
73c17f9abd Remove .active class from .spin 2020-12-25 20:07:52 +01:00
Henrik Giesel
ee0bbd8fda Turn async function into svelte statement 2020-12-23 16:45:00 +01:00
Henrik Giesel
fa5e2407f3 Making days settable does not make sense, as it will be overwritten 2020-12-23 16:20:12 +01:00
Damien Elmes
1bdb1b9633 update to rules_nodejs 3.0.0
Seems to fix the rollup issues on Windows.
2020-12-23 16:05:15 +10:00
Henrik Giesel
ef7f2ba2a6 Move infile to css to scss file 2020-12-22 22:39:22 +01:00
Henrik Giesel
0967308e53 Make showing of rangeBox based on parameter 2020-12-22 22:36:39 +01:00
Henrik Giesel
d5e9ce4b1d Bubble up days and search to caller 2020-12-22 22:25:47 +01:00
Henrik Giesel
9f8a9ad540 Pass in graphs as arguments into graphs() 2020-12-22 22:09:23 +01:00
Damien Elmes
15c41b008c fix path to anki lib in ts/ when editing 2020-12-16 14:15:49 +10:00
Damien Elmes
3973266596 plural rules and decimal separator should use bundle's language
Instead of providing the list of languages in preferred order, when
creating a bundle we need to specify the bundle language as the first
language, so that the correct plural rules are used. Fluent's docs
are misleading here; I will submit a PR to fix them.

The old behaviour caused:
https://forums.ankiweb.net/t/bug-in-review-intervals-for-some-languages-in-number-of-cards/5744
2020-12-14 14:23:49 +10:00
Damien Elmes
f7b87bb716 minor doc updates 2020-12-11 22:37:12 +10:00
Damien Elmes
d2ac536e1e bump ts deps 2020-12-09 15:47:34 +10:00
Damien Elmes
896a1e44b1 add rule to copy mathjax from node_modules 2020-11-15 20:22:28 +10:00
Henrik Giesel
d82d7bc95b Add Mathjax filegroup 2020-11-14 14:14:25 +01:00
Henrik Giesel
06bd0376b1 Remove @types/mathjax as it is for MathJax 2 2020-11-14 14:14:25 +01:00
Henrik Giesel
6a29e0cd4d Rip out MathJax 2 and setup MathJax 3 environment 2020-11-14 14:14:25 +01:00
Damien Elmes
f823c442ec relative js package paths 2020-11-12 21:07:59 +10:00
Damien Elmes
5e9cb92095 make 'bazel run ts:format' work
We're cheating a bit by having it fix files in qt's data folder
as well, but this makes it easier to share the config file.
2020-11-12 20:49:00 +10:00
Damien Elmes
a4af59fc4d format_fix -> format; rename svelte-check for consistency 2020-11-12 20:19:32 +10:00
Damien Elmes
db1ed6f01f export runtime js licenses 2020-11-12 20:03:41 +10:00
Damien Elmes
9da61c111e update ts deps 2020-11-12 20:03:41 +10:00
Damien Elmes
4f8b19dcfb fix external consumption of ts rules, and simplify import path 2020-11-05 11:01:52 +10:00
Damien Elmes
7c27c4b9a0 move backend.proto into rslib/ 2020-11-02 16:28:31 +10:00
Damien Elmes
f9171eb3d3 remove old makefiles 2020-11-01 14:41:01 +10:00
Damien Elmes
ce3b08ac58 initial Bazel conversion
Running and testing should be working on the three platforms, but
there's still a fair bit that needs to be done:

- Wheel building + testing in a venv still needs to be implemented.
- Python requirements still need to be compiled with piptool and pinned;
need to compile on all platforms then merge
- Cargo deps in cargo/ and rslib/ need to be cleaned up, and ideally
unified into one place
- Currently using rustls to work around openssl compilation issues
on Linux, but this will break corporate proxies with custom SSL
authorities; need to conditionally use openssl or use
https://github.com/seanmonstar/reqwest/pull/1058
- Makefiles and docs still need cleaning up
- It may make sense to reparent ts/* to the top level, as we don't
nest the other modules under a specific language.
- rspy and pylib must always be updated in lock-step, so merging
rspy into pylib as a private module would simplify things.
- Merging desktop-ftl and mobile-ftl into the core ftl would make
managing and updating translations easier.
- Obsolete scripts need removing.
- And probably more.
2020-11-01 14:26:58 +10:00
Damien Elmes
3159b66444 "fix" ts failing in CI due to improved upstream type signatures
...by throwing non-null assertions everywhere.
2020-09-29 22:13:25 +10:00
Damien Elmes
5c01268a8e use separate opacity css for Qt 5.9/Chromium 56
Fixes black area on alternate Mac build:
https://forums.ankiweb.net/t/statistics-bug-line-graph-graphic/3745
2020-09-27 11:47:08 +10:00
Damien Elmes
2d02e5ffa3 fix average added
https://forums.ankiweb.net/t/statistics-bug-cards-added-average/3556
2020-09-21 11:31:27 +10:00
Damien Elmes
c801857d64 fix padding in RTL langs
closes #757
2020-09-09 09:44:15 +10:00
Damien Elmes
dff3644875 fix custom study link being shown in filtered deck
https://forums.ankiweb.net/t/crashing-after-custom-study-learn-forgotten-cards/3013
2020-09-04 08:31:33 +10:00
Damien Elmes
366c5c4774 log manual reschedule, but ignore the log entry in the stats 2020-09-02 17:56:23 +10:00
Damien Elmes
efccdf6bf6 add a small default margin 2020-09-01 10:24:38 +10:00
Damien Elmes
7f42500e53 rename some card+note fields in backend 2020-09-01 10:24:38 +10:00
Damien Elmes
6f585a1e5a remove debug statement from graphs 2020-09-01 10:24:38 +10:00
Damien Elmes
9a3a81012a update ts deps to fix svelte-vscode 2020-09-01 10:24:38 +10:00
Damien Elmes
999b659c3a reimplement congrats screen in Rust+Typescript 2020-09-01 10:24:38 +10:00
Damien Elmes
7d84954f53 use css vars for graph styling as well; base webview.scss off core.scss 2020-09-01 10:24:38 +10:00
Damien Elmes
2411e944e4 drop the old sass vars and define the properties directly 2020-09-01 10:24:38 +10:00
Damien Elmes
514409d86f migrate the majority of the sass vars to css variables
Allows add-ons to easily override the theme, and allows us to apply
styling to elements outside of the normal document flow (like applying
the normal background colour to a position: fixed element).
2020-09-01 10:24:38 +10:00
Damien Elmes
a6aaaf8691 move _vars to outer ts folder
First step in sharing styling with graphs + future .html files
2020-09-01 10:24:38 +10:00
Damien Elmes
6e1e7fc447 allow tapping on body to clear tooltip 2020-08-21 15:16:27 +10:00