Commit Graph

285 Commits

Author SHA1 Message Date
Henrik Giesel
a5947e5c65 Satisfy formatter 2021-01-19 00:17:30 +01:00
Henrik Giesel
4a733de94e Use firstWeekday config in graphs data 2021-01-18 23:23:55 +01:00
Damien Elmes
8c6d0e6229 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
3dad3c90d0 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
1abcbdd79c Include review and relearn cards for ease graph 2021-01-08 17:57:47 +01:00
Henrik Giesel
fac4abb0d5 Add return values to increment and adjustTicks 2021-01-08 12:29:22 +01:00
Henrik Giesel
38a5f64150 Add es2019.array to TypeScript libs, so we can use .flatten and .flatMap 2021-01-08 12:23:21 +01:00
Henrik Giesel
b76639c2e3 Fix cutting off of Review Interval bins 2021-01-08 12:11:53 +01:00
Henrik Giesel
e89996bc27 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
97e3bfe1c0
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
aaa35e2cda Include many more cards in the Review Intervals graph 2021-01-07 22:35:34 +01:00
Henrik Giesel
5f52367403 Fix formatting graphs ts 2021-01-07 19:36:08 +01:00
Henrik Giesel
7b14449df4 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
2d22b09cd8 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
936d06b84b Default CardCounts to off 2021-01-06 11:53:58 +01:00
Henrik Giesel
6c638b87f5 Switch relearning cards to schemeReds 2021-01-05 19:37:14 +01:00
Henrik Giesel
ee94c7eb93 Add label for SeparateInactiveCheckbox in ftl file 2021-01-05 19:13:57 +01:00
Henrik Giesel
f5e90bb249 Satisfy formatter 2021-01-05 17:22:27 +01:00
Henrik Giesel
15123915a0 Make pie graphs display correctly when switching between categories 2021-01-05 16:47:47 +01:00
Henrik Giesel
681d82f5cc 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
2ae09ae39e Satisfy formatter 2021-01-04 15:36:15 +01:00
Henrik Giesel
9e0984fee1 Refresh colours on Card Count Pies 2021-01-04 15:14:50 +01:00
Henrik Giesel
ecbb08e4c5 Add gatherByQueue and gatherByCtype methods 2021-01-04 14:04:51 +01:00
Henrik Giesel
47551df2f9 Add CountMethodRadios and CardCountMethod enum 2021-01-04 12:21:30 +01:00
Damien Elmes
3240fd2e15 remove empty es6 group; reference original ts_library instead 2021-01-02 21:18:10 +10:00
Damien Elmes
85621867ca remove the unused ts/vendor folder 2021-01-02 11:25:09 +10: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
f97ad260bb Add base argument to copy_select_files 2021-01-01 14:39:15 +01:00
Henrik Giesel
12dfb38609 Be a bit more precise when excluding mathmaps_ie.js
* for documentation purposes
2021-01-01 14:16:52 +01:00
Henrik Giesel
8e8a3e220b Remove duplicated logic in ts bzl files by using copy_select_files 2021-01-01 13:45:25 +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
bfd9c93e61 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
079ce6bdf0 Add bazel recipe and update protobufjs to 6.10.2 2020-12-31 16:06:44 +01:00
Damien Elmes
6902a61c21 use :yarn not :yarn_bin
The latter fails on Windows
2020-12-31 12:32:51 +10:00
Damien Elmes
29c2fa2317 add add.sh helper for adding dependency and updating licenses 2020-12-31 12:20:51 +10:00
Damien Elmes
ace834a21b run ts/update.sh 2020-12-31 12:18:49 +10:00
Henrik Giesel
a22d303e2f Add jquery-ui to vendor/BUILD.bazel 2020-12-30 12:06:06 +01:00
Henrik Giesel
988d0df3e7 Install jquery-ui-dist 2020-12-30 11:56:49 +01:00
Henrik Giesel
84f8a2450a Add jquery-ui bazel build file 2020-12-30 11:56:20 +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
Henrik Giesel
ef9b52f861 Copy flot file to vendor directory 2020-12-29 12:11:28 +01:00
Henrik Giesel
6aad58260b Install flot 4.2.1
Old version was 0.8.3
2020-12-29 12:02:41 +01:00
Damien Elmes
ddc48d8897 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
e948544b59 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
be7556629b
Merge pull request #864 from hgiesel/graphs
Decouple GraphsPage from individual graphs and RangeBox
2020-12-29 10:14:04 +10:00
Henrik Giesel
0c95cb3514 Remove jquery from Anki repo and replace with Bazel BUILD 2020-12-28 13:16:12 +01:00
Damien Elmes
a21c93f167
Merge pull request #863 from hgiesel/statsoverscroll
Prevent stats screen from overscrolling
2020-12-28 10:34:06 +10:00
Henrik Giesel
0a24f1b2f7 Fix typo 2020-12-27 02:04:45 +01:00
Henrik Giesel
3d7dbfa61c Fix formatting 2020-12-26 18:24:24 +01:00
Henrik Giesel
a7e0fd317f Prevent stats screen from overscrolling 2020-12-26 15:29:45 +01:00
Henrik Giesel
b9fa68673d Add svelte lib as bazel dependency 2020-12-26 15:17:30 +01:00
Henrik Giesel
c72e9e5329 Pass in RangeBox as an argument, decoupling it from GraphsPage 2020-12-26 14:40:55 +01:00
Henrik Giesel
fb33be70b5 Fix displaying issue with active spinner 2020-12-26 00:16:54 +01:00
Henrik Giesel
4826369d7d Make Year/All display correctly 2020-12-26 00:08:24 +01:00
Henrik Giesel
bd47e7c8bf Move spinner back to RangeBox 2020-12-25 22:59:11 +01:00
Henrik Giesel
ea68b5d801 Put RangeBox into its own component 2020-12-25 22:29:42 +01:00
Henrik Giesel
7b5e0134e5 Make spinner's position sticky in relation to graphsContainer 2020-12-25 21:49:56 +01:00
Henrik Giesel
6559b41734 Put a transition:fade on the spinner 2020-12-25 20:11:46 +01:00
Henrik Giesel
aeca0e0544 Remove .active class from .spin 2020-12-25 20:07:52 +01:00
Henrik Giesel
bd1505bdca Turn async function into svelte statement 2020-12-23 16:45:00 +01:00
Henrik Giesel
d51def9d6e Making days settable does not make sense, as it will be overwritten 2020-12-23 16:20:12 +01:00
Damien Elmes
02d7e55f9b 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
ecaf0d95a3 Move infile to css to scss file 2020-12-22 22:39:22 +01:00
Henrik Giesel
ebc1a86b2e Make showing of rangeBox based on parameter 2020-12-22 22:36:39 +01:00
Henrik Giesel
5d117cf1a0 Bubble up days and search to caller 2020-12-22 22:25:47 +01:00
Henrik Giesel
008940026e Pass in graphs as arguments into graphs() 2020-12-22 22:09:23 +01:00
Damien Elmes
4c06d89644 fix path to anki lib in ts/ when editing 2020-12-16 14:15:49 +10:00
Damien Elmes
77c9db5bba 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
1da327c725 minor doc updates 2020-12-11 22:37:12 +10:00
Damien Elmes
178ad36a5f bump ts deps 2020-12-09 15:47:34 +10:00
Damien Elmes
8a80ffe53a add rule to copy mathjax from node_modules 2020-11-15 20:22:28 +10:00
Henrik Giesel
afc7bdf642 Add Mathjax filegroup 2020-11-14 14:14:25 +01:00
Henrik Giesel
6104ea26fb Remove @types/mathjax as it is for MathJax 2 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
Damien Elmes
410987f0a6 relative js package paths 2020-11-12 21:07:59 +10:00
Damien Elmes
b71f55dcc5 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
5bb3d7c114 format_fix -> format; rename svelte-check for consistency 2020-11-12 20:19:32 +10:00
Damien Elmes
eed9ca9885 export runtime js licenses 2020-11-12 20:03:41 +10:00
Damien Elmes
2b9d3a808d update ts deps 2020-11-12 20:03:41 +10:00
Damien Elmes
264dd8f1ea fix external consumption of ts rules, and simplify import path 2020-11-05 11:01:52 +10:00
Damien Elmes
e0817c004d move backend.proto into rslib/ 2020-11-02 16:28:31 +10:00
Damien Elmes
b17d537a9e remove old makefiles 2020-11-01 14:41:01 +10:00
Damien Elmes
aea0a6fcc6 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
70a73b7c60 "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
bbbd3e95c5 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
fe36fa5fd9 fix average added
https://forums.ankiweb.net/t/statistics-bug-cards-added-average/3556
2020-09-21 11:31:27 +10:00
Damien Elmes
061d89bbda fix padding in RTL langs
closes #757
2020-09-09 09:44:15 +10:00
Damien Elmes
a43135f3d5 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
ce49ca9401 log manual reschedule, but ignore the log entry in the stats 2020-09-02 17:56:23 +10:00
Damien Elmes
449f335dde add a small default margin 2020-09-01 10:24:38 +10:00
Damien Elmes
a834df60ce rename some card+note fields in backend 2020-09-01 10:24:38 +10:00
Damien Elmes
f997c7eb8b remove debug statement from graphs 2020-09-01 10:24:38 +10:00
Damien Elmes
dcb6bf2cd4 update ts deps to fix svelte-vscode 2020-09-01 10:24:38 +10:00
Damien Elmes
e5685254c6 reimplement congrats screen in Rust+Typescript 2020-09-01 10:24:38 +10:00
Damien Elmes
0564d4cf86 use css vars for graph styling as well; base webview.scss off core.scss 2020-09-01 10:24:38 +10:00
Damien Elmes
748745fe1a drop the old sass vars and define the properties directly 2020-09-01 10:24:38 +10:00
Damien Elmes
2d26280dab 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
ab32623dde 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
718b45b505 allow tapping on body to clear tooltip 2020-08-21 15:16:27 +10:00
Damien Elmes
ef47ac96a7 keep label colour box and description together on small screens 2020-08-21 15:06:03 +10:00