Commit graph

339 commits

Author SHA1 Message Date
Henrik Giesel
dc62e56aef Remove modular d3 imports for imports from d3 bundle 2021-01-30 01:13:47 +01:00
Henrik Giesel
0af6d559a8 Remove d3 libraries from BUILD.bazel 2021-01-30 00:04:44 +01:00
Henrik Giesel
0527beec98 Replace individual d3 libraries with encompassing d3 2021-01-30 00:00:22 +01:00
Damien Elmes
45ec14184a show actual error when graphData fails
The original reason for the catch-all message was users with bad
data such as decimal intervals, but those get automatically coerced
these days. The common case should now be invalid search strings, which
we can show verbatim.
2021-01-29 14:39:05 +10:00
Damien Elmes
4958fb30c9 Merge pull request #946 from hgiesel/dispatchtype
Correctly type createEventDispatch and dispatch
2021-01-27 20:27:08 +10:00
Damien Elmes
ad188b1ecf Merge pull request #947 from hgiesel/noclickonemptybins
No clicking on empty bins in the Histogram
2021-01-27 19:45:07 +10:00
Henrik Giesel
e30f62c2a5 Add FutureDueShowBacklog as preferences 2021-01-27 01:15:19 +01:00
Henrik Giesel
f88aad8d85 No clicking on empty bins in the Histogram 2021-01-26 13:48:36 +01:00
Henrik Giesel
e204ddc0d4 Type createEventDispatcher and dispatch 2021-01-26 12:47:17 +01:00
Henrik Giesel
45ff094392 Add bridgeCommand helper function 2021-01-26 01:25:54 +01:00
Henrik Giesel
cf7bc58163 Use browserLinksSupported preference 2021-01-25 19:12:32 +01:00
Henrik Giesel
6b0a26e46b Move dispatch logic from Histogram to individual graphs 2021-01-25 16:34:44 +01:00
Henrik Giesel
ad5f0e721f Make calendar only clickable, if counts > 0 2021-01-25 13:47:20 +01:00
Henrik Giesel
11901e0e57 Add search functionality to Calendar view 2021-01-25 13:47:18 +01:00
Henrik Giesel
a26ffd9876 Add search functionality for ease graph 2021-01-25 13:46:44 +01:00
Henrik Giesel
ee5ba4e8d2 Normalize the remaining queries 2021-01-25 13:46:44 +01:00
Henrik Giesel
3c5493d424 Fix up histogram code to correctly hide tooltip again 2021-01-25 13:46:44 +01:00
Henrik Giesel
a9ccfa62a4 Normalize intervals query 2021-01-25 13:46:44 +01:00
Henrik Giesel
b8dbed44c7 Add query functionality to FutureDue graph 2021-01-25 13:46:44 +01:00
Henrik Giesel
bdacc42af3 Remove onlyReview from intervals query 2021-01-25 13:46:44 +01:00
Henrik Giesel
f3eae60773 Add search functional on interval graph 2021-01-25 13:46:44 +01:00
Henrik Giesel
31203e6d35 Add search to added graph 2021-01-25 13:46:44 +01:00
Henrik Giesel
13325e050c Export bridgeCommandsSupported from graphs.rs for stats 2021-01-25 13:46:44 +01:00
Henrik Giesel
76691176f6 Add a working example of searching from the stats screen in the Card Counts 2021-01-25 13:46:42 +01:00
Henrik Giesel
cee2f396da Add search event listeners on graphs 2021-01-25 13:45:42 +01:00
Henrik Giesel
f8c590c914 Fix RangeBox RevlogRange defaulting to All instead of Year 2021-01-23 13:57:43 +01:00
Damien Elmes
a6a4c0032d Merge pull request #934 from hgiesel/graphprefs
Add GraphsPreferences API to graphs for setting persistent preferences
2021-01-23 21:24:41 +10:00
Damien Elmes
387be76c00 minor wording tweak: GraphsPreferences -> GraphPreferences 2021-01-23 20:47:45 +10:00
Damien Elmes
fe739f4460 fix graphs failing to load until preferences set
The protobuf object will be missing keys that have the default value,
so we need to fill the defaults in.
2021-01-23 20:40:43 +10:00
Henrik Giesel
4e9fff493f Use scaleSqrt for calendar review values 2021-01-22 22:39:29 +01:00
Henrik Giesel
a5f59515e2 Rename GraphsPreferencesOut to simply GraphsPreferences 2021-01-22 19:39:03 +01:00
Henrik Giesel
0098869925 Make code typecheck, fix issue with day labels in nightMode 2021-01-22 19:02:05 +01:00
Henrik Giesel
7149c468e5 Set calendar labels to emptyColour 2021-01-22 18:15:16 +01:00
Henrik Giesel
24dd14896a Make cardCountsSeparateInactive settable 2021-01-22 18:03:58 +01:00
Henrik Giesel
101e193add Make first day of week settable through UI 2021-01-22 17:51:15 +01:00
Henrik Giesel
d6ba9eb61a Uniformly rename firstWeekday to firstDayOfWeek 2021-01-22 16:53:33 +01:00
Henrik Giesel
1a75772673 Remve SeparateInactiveCheckbox and correctly use preferences values
* Expose issue with non-existing calendar value in GraphPreferences
2021-01-22 14:56:41 +01:00
Henrik Giesel
fe75480fea Successfully send post request to rust 2021-01-22 14:37:24 +01:00
Henrik Giesel
846dd396a6 Add non-functioning logic for settings graphs preferences 2021-01-22 13:14:35 +01:00
Henrik Giesel
15bd2e74f8 Hook up cardCountsSeparateInactive to PreferenceStore 2021-01-22 13:14:35 +01:00
Henrik Giesel
5ee3e0d0d7 Add PreferenceStore with gettable/settable preferences
* setting is not yet hooked up to rslib
2021-01-22 13:14:33 +01:00
Henrik Giesel
1516f5c37e Add GraphsPreferences endpoint to backend 2021-01-22 13:13:48 +01:00
Henrik Giesel
e8169c5b54 Add first GraphPreferences which are not hooked to backend yet 2021-01-22 13:13:48 +01:00
Damien Elmes
574836fb7b Merge pull request #933 from hgiesel/calendardays
Add labels to calendar days
2021-01-22 11:52:44 +10:00
Henrik Giesel
e509b768ff Get weekday labels via Date.prototype.toLocaleString 2021-01-21 19:38:56 +01:00
Henrik Giesel
c9544dd83d Revert "Make weekday labels localizable"
This reverts commit 483b0e4698.
2021-01-21 18:56:56 +01:00
Damien Elmes
85135d46fc Merge pull request #930 from hgiesel/editorts
Refactor editor.ts
2021-01-21 10:44:11 +10:00
Henrik Giesel
c1cb227c8e Support languages with day labels larger than one character 2021-01-20 22:07:02 +01:00
Henrik Giesel
483b0e4698 Make weekday labels localizable 2021-01-20 21:49:01 +01:00
Henrik Giesel
a9da524383 Add labels to calendar days 2021-01-20 21:17:36 +01:00
Damien Elmes
6045f07acb Merge pull request #931 from hgiesel/reviewsgraph
Retouch the reviews graph a little bit
2021-01-20 09:32:42 +10:00
Henrik Giesel
4726579102 Turn Running total box transparent 2021-01-19 12:50:02 +01:00
Henrik Giesel
9d551b20cc Change colors of Reviews graph 2021-01-19 12:22:13 +01:00
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