Commit Graph

251 Commits

Author SHA1 Message Date
Henrik Giesel
aeff3d7fac Fix ease graph building wrong query omitting ease edge cases
E.g. search for "prop:ease>=2.5" AND "prop:ease<2.55" instead of
                "prop:ease>=2.5" AND "prop:ease<2.54"
2021-01-30 13:19:27 +01:00
Henrik Giesel
cf474f7428 Fix histogram-graph building invalid query 2021-01-30 02:46:26 +01:00
Henrik Giesel
9c3473e6b4 Fix graphs tooltip position 2021-01-30 02:35:48 +01:00
Henrik Giesel
3c906977b9 Make histogram show bars again 2021-01-30 02:08:01 +01:00
Henrik Giesel
3290e5373b Remove modular d3 imports for imports from d3 bundle 2021-01-30 01:13:47 +01:00
Henrik Giesel
ecbfd898d3 Remove d3 libraries from BUILD.bazel 2021-01-30 00:04:44 +01:00
Damien Elmes
4ac9ad1407 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
687e0b070b
Merge pull request #946 from hgiesel/dispatchtype
Correctly type createEventDispatch and dispatch
2021-01-27 20:27:08 +10:00
Damien Elmes
4a88a4749c
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
677f4d340c Add FutureDueShowBacklog as preferences 2021-01-27 01:15:19 +01:00
Henrik Giesel
cef92ad554 No clicking on empty bins in the Histogram 2021-01-26 13:48:36 +01:00
Henrik Giesel
e7d0c5f908 Type createEventDispatcher and dispatch 2021-01-26 12:47:17 +01:00
Henrik Giesel
5abd7ae6f3 Add bridgeCommand helper function 2021-01-26 01:25:54 +01:00
Henrik Giesel
5a987d77b2 Use browserLinksSupported preference 2021-01-25 19:12:32 +01:00
Henrik Giesel
759ed17963 Move dispatch logic from Histogram to individual graphs 2021-01-25 16:34:44 +01:00
Henrik Giesel
f767a5e6ca Make calendar only clickable, if counts > 0 2021-01-25 13:47:20 +01:00
Henrik Giesel
7f671cf837 Add search functionality to Calendar view 2021-01-25 13:47:18 +01:00
Henrik Giesel
f1c8879830 Add search functionality for ease graph 2021-01-25 13:46:44 +01:00
Henrik Giesel
0e98bd7db2 Normalize the remaining queries 2021-01-25 13:46:44 +01:00
Henrik Giesel
fd58f73f13 Fix up histogram code to correctly hide tooltip again 2021-01-25 13:46:44 +01:00
Henrik Giesel
740dcedbe6 Normalize intervals query 2021-01-25 13:46:44 +01:00
Henrik Giesel
2fd4039494 Add query functionality to FutureDue graph 2021-01-25 13:46:44 +01:00
Henrik Giesel
8a43745f83 Remove onlyReview from intervals query 2021-01-25 13:46:44 +01:00
Henrik Giesel
1232fd7069 Add search functional on interval graph 2021-01-25 13:46:44 +01:00
Henrik Giesel
58950452e4 Add search to added graph 2021-01-25 13:46:44 +01:00
Henrik Giesel
6a0f2a0ebb Export bridgeCommandsSupported from graphs.rs for stats 2021-01-25 13:46:44 +01:00
Henrik Giesel
3ab92b3427 Add a working example of searching from the stats screen in the Card Counts 2021-01-25 13:46:42 +01:00
Henrik Giesel
c8f0ee8b3b Add search event listeners on graphs 2021-01-25 13:45:42 +01:00
Henrik Giesel
19db519a7e Fix RangeBox RevlogRange defaulting to All instead of Year 2021-01-23 13:57:43 +01:00
Damien Elmes
2a875ffc55
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
37ca8afaf6 minor wording tweak: GraphsPreferences -> GraphPreferences 2021-01-23 20:47:45 +10:00
Damien Elmes
6f798930a2 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
089960bfef Use scaleSqrt for calendar review values 2021-01-22 22:39:29 +01:00
Henrik Giesel
de71123ab4 Rename GraphsPreferencesOut to simply GraphsPreferences 2021-01-22 19:39:03 +01:00
Henrik Giesel
17ebb69151 Make code typecheck, fix issue with day labels in nightMode 2021-01-22 19:02:05 +01:00
Henrik Giesel
ebd3ca8a8f Set calendar labels to emptyColour 2021-01-22 18:15:16 +01:00
Henrik Giesel
834f2de99b Make cardCountsSeparateInactive settable 2021-01-22 18:03:58 +01:00
Henrik Giesel
806e52d6db Make first day of week settable through UI 2021-01-22 17:51:15 +01:00
Henrik Giesel
aebaa04652 Uniformly rename firstWeekday to firstDayOfWeek 2021-01-22 16:53:33 +01:00
Henrik Giesel
b0c2e8c99c 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
d1ada88657 Successfully send post request to rust 2021-01-22 14:37:24 +01:00
Henrik Giesel
054c30a695 Add non-functioning logic for settings graphs preferences 2021-01-22 13:14:35 +01:00
Henrik Giesel
64352ce0d5 Hook up cardCountsSeparateInactive to PreferenceStore 2021-01-22 13:14:35 +01:00
Henrik Giesel
5fc8b1965a Add PreferenceStore with gettable/settable preferences
* setting is not yet hooked up to rslib
2021-01-22 13:14:33 +01:00
Henrik Giesel
665a13e378 Add GraphsPreferences endpoint to backend 2021-01-22 13:13:48 +01:00
Henrik Giesel
d27167ce86 Add first GraphPreferences which are not hooked to backend yet 2021-01-22 13:13:48 +01:00
Henrik Giesel
d1980aae68 Get weekday labels via Date.prototype.toLocaleString 2021-01-21 19:38:56 +01:00
Henrik Giesel
d961e61f2b Revert "Make weekday labels localizable"
This reverts commit 8e39ebb2f5.
2021-01-21 18:56:56 +01:00
Henrik Giesel
8ab2b36034 Support languages with day labels larger than one character 2021-01-20 22:07:02 +01:00
Henrik Giesel
8e39ebb2f5 Make weekday labels localizable 2021-01-20 21:49:01 +01:00
Henrik Giesel
e91b80d270 Add labels to calendar days 2021-01-20 21:17:36 +01:00
Damien Elmes
fca2a95ad5
Merge pull request #931 from hgiesel/reviewsgraph
Retouch the reviews graph a little bit
2021-01-20 09:32:42 +10:00
Henrik Giesel
a656dd5541 Turn Running total box transparent 2021-01-19 12:50:02 +01:00
Henrik Giesel
d780c96b28 Change colors of Reviews graph 2021-01-19 12:22:13 +01:00
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
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
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
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
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
5bb3d7c114 format_fix -> format; rename svelte-check for consistency 2020-11-12 20:19:32 +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
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