Damien Elmes
8920a6f9ea
fix handling of variables that don't match ts naming style
2021-03-26 21:34:24 +10:00
Damien Elmes
c039845c16
use singleton + free functions for i18n in ts
...
This allows for tree shaking, and reduces the congrats page from 150k
with the old enum solution to about 80k.
2021-03-26 20:38:44 +10:00
Damien Elmes
0de7ab87a5
drop legacy enum from ts/
2021-03-26 19:26:35 +10:00
Damien Elmes
2e704660d6
update remaining TR references in ts/
2021-03-26 19:24:48 +10:00
Damien Elmes
1ca25c563f
update most no-arg TR references in *.svelte
2021-03-26 19:13:30 +10:00
Damien Elmes
cd4572c3dd
update TR references with args in *.svelte
2021-03-26 19:13:30 +10:00
Damien Elmes
df93ed0b15
update TR references with args in *.ts; fix average answer time
2021-03-26 19:10:39 +10:00
Damien Elmes
b435658acb
convert no-arg TR references to method invocations in *.ts
2021-03-26 19:10:27 +10:00
Damien Elmes
264b9204c0
generate ts methods for translations
2021-03-26 18:11:58 +10:00
Damien Elmes
9aece2a7b8
rework translation handling
...
Instead of generating a fluent.proto file with a giant enum, create
a .json file representing the translations that downstream consumers
can use for code generation.
This enables the generation of a separate method for each translation,
with a docstring that shows the actual text, and any required arguments
listed in the function signature.
The codebase is still using the old enum for now; updating it will need
to come in future commits, and the old enum will need to be kept
around, as add-ons are referencing it.
Other changes:
- move translation code into a separate crate
- store the translations on a per-file/module basis, which will allow
us to avoid sending 1000+ strings on each JS page load in the future
- drop the undocumented support for external .ftl files, that we weren't
using
- duplicate strings in translation files are now checked for at build
time
- fix i18n test failing when run outside Bazel
- drop slog dependency in i18n module
2021-03-26 09:41:32 +10:00
Henrik Giesel
7655f14859
Satisfy svelte_check
2021-03-22 15:41:43 +01:00
Henrik Giesel
a418d36c7f
Add type signatures to asyncReactive
2021-03-22 15:30:35 +01:00
Henrik Giesel
6ec721d550
Satisfy formatter
2021-03-22 15:25:49 +01:00
Henrik Giesel
4cd60da7b8
Fix asyncReactive detection of loading
...
- Removed `success` store as it wouldn't work
- We should check for a value in error instead
2021-03-22 15:23:48 +01:00
Henrik Giesel
e23b1b77b7
Partially revert "Make sure RangeBox does not trigger update on stores on creation"
...
This reverts commit 15b19e44b9
.
2021-03-22 15:11:36 +01:00
Henrik Giesel
9bbdc616c4
Remove assignment to preferencesPromise: getPreferences will only be called once
2021-03-22 04:03:52 +01:00
Henrik Giesel
10b8a1c3cb
Move async and asyncReactive to sveltelib
...
- sveltelib is a lib for component-agnostic svelte utils
2021-03-22 03:06:53 +01:00
Henrik Giesel
3c5233297a
Avoid duplicate initial fetching with asyncReactive
2021-03-22 02:58:19 +01:00
Henrik Giesel
15b19e44b9
Make sure RangeBox does not trigger update on stores on creation
2021-03-22 02:50:16 +01:00
Henrik Giesel
0bbe38ebde
Create search and days writable in GraphsPage to allow browserSearch to work
2021-03-22 02:44:08 +01:00
Henrik Giesel
9a864120b2
Fix syntax error introduced by rebase
2021-03-22 01:44:07 +01:00
Henrik Giesel
7dc74004ae
Create BrowserSearch component, because we cannot read from stores within slotted content
2021-03-22 01:42:23 +01:00
Henrik Giesel
6d546b0bca
Remove pending, and resort to checking for value
...
- once value is set, it won't be unset
2021-03-22 01:42:23 +01:00
Henrik Giesel
b3851172ba
Use preferencesPromise, as refreshing is handled over stores
2021-03-22 01:42:23 +01:00
Henrik Giesel
3363c574c9
Use $-assignments instead of store.set
2021-03-22 01:42:23 +01:00
Henrik Giesel
dd2e180f9b
Rename search and days to initialSearch and intitialDays in GraphsPage
2021-03-22 01:42:23 +01:00
Henrik Giesel
672eb20321
Get it to work, if you change the input
...
- there's still an issue on initial load
2021-03-22 01:42:23 +01:00
Henrik Giesel
3f37153558
Compiles with WithGraphData
2021-03-22 01:42:23 +01:00
Henrik Giesel
c107090906
Move Graph-specific html from GraphsPage to Graph.svelte
2021-03-22 01:42:21 +01:00
Henrik Giesel
36e14cd525
Add WithGraphData
2021-03-22 01:40:51 +01:00
Henrik Giesel
e11b31c29d
Rename asyncRefresh to asyncReactive
2021-03-22 01:40:51 +01:00
Henrik Giesel
75a8b7d318
Improve implementation of asyncRefresh
2021-03-22 01:40:51 +01:00
Henrik Giesel
a9c16a3cd8
Add (probably non-working) asyncRefresh
2021-03-22 01:40:51 +01:00
Henrik Giesel
f82a02bd2e
Add Svelte async hook
2021-03-22 01:40:51 +01:00
Henrik Giesel
5b9981e04a
Add comment where to find global styles
2021-03-21 16:04:38 +01:00
Henrik Giesel
af307a6c4a
Move ticks.scss directly into Graph.svelte
2021-03-21 15:59:11 +01:00
Damien Elmes
7d8f19e6e4
merge in Henrik's TS/Svelte refactor with some changes
...
- The previous commits moved the majority of the remaining global css
into components; move the remaining @emotion/css references into
ticks.scss and the styling of the Graph.svelte. This is not as elegant
as the emotion solution, but builds a whole lot faster, and most of
our styling can be scoped to a component anyway.
- Leave the .html files in ts/ for now. AnkiMobile uses them, and
AnkiDroid likely will in the future too. In the long run we'll likely
move to loading the JS into an existing page instead of loading a
separate page, but at that point we can just exclude the .html file from
copy_files_into_group() without affecting other clients.
Closes #1074
2021-03-21 23:01:18 +10:00
Damien Elmes
95ccfc1ed3
move some cumulative-overlay-specific styling out of shared css
2021-03-21 20:18:05 +10:00
Damien Elmes
9dc6e059f2
add HoverColumns.svelte for hoverzone styling
2021-03-21 19:58:39 +10:00
Damien Elmes
7bc41366e8
add CumulativeOverlay.svelte for area styling
2021-03-21 19:50:35 +10:00
Damien Elmes
6e12348cfd
add Tooltip.svelte so we can encapsulating styling
2021-03-21 19:35:38 +10:00
Damien Elmes
dbe5d43ba0
bundle all Svelte css into separate file
...
- svelte compilation outputs a separate .css file for each component
- compilation also adds an "import foo.css" to the top of each generated
.mjs file
- when the .mjs files are bundled into app.js, esbuild creates an app.css
as well
- graphs.scss was renamed to graphs_shared.scss and imported in the
top level GraphsPage. Henrik's style refactoring would be a better path
forward, but I needed to make this change for now, as the filenames were
conflicting.
2021-03-21 16:06:36 +10:00
Damien Elmes
1e14384d88
add support for declaring css output in esbuild call
2021-03-21 16:06:36 +10:00
Damien Elmes
860ae5464c
add upstream esbuild impl so we can add css output support
...
Taken from 4a26898023/packages/esbuild/esbuild.bzl
2021-03-21 16:06:36 +10:00
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
Damien Elmes
5403f704d0
ESM import issue on Windows came back again
...
Not sure if I just missed this in the previous change, or whether
the patch_resolver change broke things again.
Previous issue:
e60eb27184
2021-03-21 16:06:07 +10:00
Damien Elmes
e857aa2ea9
output embedded Svelte css into separate .css file for bundling
2021-03-21 16:06:01 +10:00
Damien Elmes
2658d9992e
fixes for Svelte compilation
...
- enable resolver patch on worker binary to ensure js imports work
on subsequent worker requests
- cache ts library content, and use unified interface for cache
- prepare for separate css outputs
2021-03-21 16:05:46 +10:00
Damien Elmes
e0b85865f4
avoid temporary .ts file due to lack of sandbox on Windows
...
Just a quick hack for now to store it in memory, as the temp file
conflicts on Windows due to the lack of a sandbox, and we don't really
have a need to write it to the filesystem anyway.
2021-03-21 00:17:09 +10:00
Damien Elmes
aabcc8a7db
use ts language service for much faster Svelte compiles
2021-03-20 23:49:10 +10:00
Damien Elmes
554081cee3
convert svelte worker to ts
...
Should make it easier to maintain, and ironically it also fixes
the issue with .mjs files from this morning.
2021-03-20 23:13:27 +10:00
Damien Elmes
0cc06ad03b
switch Svelte compilation to worker model
...
based on changes from upstream rules_svelte
Their code was using run_node() instead of ctx.actions.run(), which
seems to create a new worker for every CPU core, instead of respecting
the standard limit of 4.
2021-03-20 22:52:35 +10:00
Damien Elmes
8cfd28bd00
clarify comment
2021-03-20 16:25:50 +10:00
Damien Elmes
e60eb27184
update Svelte and fix Windows build
...
Svelte 3.25.0 and onwards bundle compiler.mjs, which seems to be
preferentially used over the .js file. Presumably this is only breaking
on Windows due to the lack of a sandbox. Resolve by explicitly requesting
the .js file.
2021-03-20 16:13:20 +10:00
Damien Elmes
ea7611d8cc
vendor Svelte rules
...
The separate repo made it difficult to update the rules, and made things
more complicated than they needed to be.
2021-03-20 15:04:19 +10:00
Damien Elmes
1e57a753da
update rules_nodejs
2021-03-20 10:54:18 +10:00
Damien Elmes
afc2892f2e
move to new rules_nodejs protobuf example to unblock upgrade
...
@hgiesel the tag editor will need to add the following to the rollup
deps:
"//ts/lib:backend_proto",
"//ts/lib:fluent_proto",
2021-03-20 10:24:32 +10:00
Damien Elmes
30c7cf1fdd
fade out webview when pending updates; do some reviewer updates immediately
...
Issues that need fixing:
- when the editor saves the note with perform_op(), if it isn't modified,
no new undo entry is created, and perform_op then returns the changes
made by the previous operation instead
- the approach of fetching the last action in a subsequent backend
method is unsound, as another queued operation may sneak in first before
we have a chance to query the result - it would be better if it were
returned in a single atomic action
- redrawing the current card while editing is likely to make sound
autoplay annoyingly, and it has an unpleasant redraw. We may be better off
fading it out instead
Side note: the editor cursor moves to the start of the field when the
note is updated in another window - it might be nicer to have it move
the cursor to the end instead.
2021-03-19 19:45:21 +10:00
Henrik Giesel
76102db2a9
Fix bug with initially enabled toolbar in browser
2021-03-10 19:28:08 +01:00
Henrik Giesel
2905881dcf
Fix another import
2021-03-09 14:02:41 +01:00
Henrik Giesel
475b1968d0
Fix reversed sticky icon logic
2021-03-09 13:44:06 +01:00
Henrik Giesel
acb912697e
Satisfy formatter
2021-03-09 13:43:11 +01:00
Henrik Giesel
b5362e99c0
Change to pin icon
2021-03-09 13:43:11 +01:00
Henrik Giesel
9e557bb0c1
Switch to bi-sticky icons, toggle opacity for state indiciation
2021-03-09 13:43:11 +01:00
Henrik Giesel
25d7d80e20
Switch back to pin icons, use fill/unfilled versions
2021-03-09 13:43:11 +01:00
Henrik Giesel
fee4667e32
Place sticky icons at the far right end of the labelContainer
2021-03-09 13:43:11 +01:00
Henrik Giesel
cd26901f3d
Make sure topleft buttons are rounded too, prefer Bootstrap's rounded class
2021-03-09 13:43:11 +01:00
Henrik Giesel
da0317cb85
Replace pin icon with lock icon
...
Credit goes out to @kleinerpirat
2021-03-09 13:43:11 +01:00
Henrik Giesel
29742122d2
Remove button highlight on disabling button (i.e. blur)
2021-03-09 13:43:09 +01:00
Henrik Giesel
a8bde2d13c
Remove "true" return value from event handler
...
* this does not change any semantics
2021-03-09 13:41:39 +01:00
Henrik Giesel
2f46c69ed6
Separate index.ts into editable/editingArea/editorField/labelContainer.ts
2021-03-09 13:40:47 +01:00
Henrik Giesel
8593ab3c4c
Connect icons to sticky fields values
2021-03-09 13:37:56 +01:00
Henrik Giesel
d1bca9e4d9
Add visual elements for pinned fields
2021-03-09 13:37:56 +01: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
fb5763afb6
Change font-size in topbar buttons
...
Bootstrap sets font-size to inherit, so it's not inherited from top.
Before, it defaulted to 13, so this should prevent add-ons, which
feature text in their buttons (like <select> buttons).
2021-03-09 13:37:56 +01:00
Henrik Giesel
a66b0fbd84
Fix positioning of buttons
2021-03-09 13:37:56 +01:00
Henrik Giesel
81d1f2906a
Fix highlight for topright buttons
2021-03-09 13:37:56 +01:00
Henrik Giesel
037539dbf4
Remove field margins
...
* Bootstrap solves it more elegantly with line-height
* body { margin: 0 } is also defined by bootstrap
2021-03-09 13:37:56 +01:00
Henrik Giesel
f2cc85a3bc
Include bootstrap in editor
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
Damien Elmes
7aac1b08d2
Merge pull request #1062 from abdnh/strip-html-comments
...
Strip HTML comments from external pastes
2021-03-09 11:55:59 +10:00
Damien Elmes
d3fa8621cb
Merge pull request #1060 from hgiesel/focusplus
...
Fix focus handling by moving caretToEnd logic
2021-03-09 11:53:09 +10:00
abdo
7673a52a02
Strip HTML comments from external pastes
...
Fix a regression caused by 150de7a683
2021-03-09 03:15:08 +03:00
Henrik Giesel
76260c3f8d
Satisfy formatter
2021-03-08 20:55:04 +01:00
Henrik Giesel
972993b42e
Move caretToEnd logic out of focus handling
2021-03-08 20:40:23 +01:00
Henrik Giesel
6db7897601
Improve focus handling
...
* Ported from #1046 :
* disabling buttons will clear button highlight
* enabling button will set button highlight
* move caret to end executed before enabling buttons (so button highlight will be for actual position of caret)
* move caret to end will also be executed if previousActiveElement is null, which will only be the case before the first onBlur was executed:
* so that caret will be moved to end on opening editor
2021-03-08 14:20:06 +01:00
abdo
79dcfc84be
Fix editor RTL check
2021-03-07 18:12:42 +03:00
Henrik Giesel
aa3ba38392
Do not execute caretToEnd when Alt-tabbing back to application
2021-03-06 17:57:04 +01:00
Henrik Giesel
e36a9c78e3
Fix focus handling when coming from top left buttons
2021-03-01 12:28:45 +01:00
Damien Elmes
c9992e395f
Merge pull request #1038 from hgiesel/imgmaxwidth
...
Fix scrollbar issue in anki-editable component in two ways
2021-02-24 10:16:12 +10:00
Damien Elmes
8d7cd1992c
Merge pull request #1037 from hgiesel/browserbug2
...
Remove logic for pulling editor field into view
2021-02-24 09:53:11 +10: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
Henrik Giesel
9383002b0e
Satisfy formatter
2021-02-23 13:34:41 +01:00
Henrik Giesel
5bb90aa8a5
Remove logic for pulling editor field in view
2021-02-23 12:55:04 +01:00
Henrik Giesel
ec9c623d34
Satisfy formatter
2021-02-22 14:44:31 +01:00
Henrik Giesel
3d4323b1d4
Load graphs.js from head
...
* Also move script into body, to be a valid HTML document
2021-02-22 14:17:56 +01:00
Henrik Giesel
aeb6de9166
Move tooltip creation into function
2021-02-22 14:10:35 +01:00
Henrik Giesel
b98ddaafaa
Increase the padding in the editable to 6px
2021-02-16 18:40:58 +01:00
Henrik Giesel
cfa44025a8
Add max-width: 100% to editable.scss
2021-02-16 18:28:40 +01:00
Damien Elmes
402921dac7
ignore manually scheduled cards in hour graph
2021-02-10 09:36:51 +10:00
Damien Elmes
cf5e04b011
tweak sidebar appearance
...
- draw a border between sidebar and main area
- tweak padding
Testing is a pain, because you need to check day mode on the
three platforms, and night mode as well. If you can do it better, PRs
are welcome :-)
2021-02-09 16:23:44 +10:00
Damien Elmes
678a049d0e
add missing license headers
2021-02-09 13:38:04 +10:00
Henrik Giesel
ee194e951c
Rework focusing code to fix two issues:
...
1. Clicking away from the editor window, and back on it should not focus old field
2. Clicking on a field, which is not fully visible, should scroll it into view
2021-02-09 01:09:16 +01:00
Henrik Giesel
b56b3fd74a
Use mouseup intead of click for updateButtonState
2021-02-08 22:18:06 +01:00
Henrik Giesel
a90931b91e
Refactor wrap code
2021-02-08 22:13:49 +01:00
Henrik Giesel
d10383ea9d
Give toolbar items a bottom margin to separate the rows when they wrap
2021-02-08 21:26:37 +01:00
Henrik Giesel
61c4ef40de
Put wrapping code into its own file
2021-02-08 21:02:46 +01:00
Henrik Giesel
a19bc2d012
updateButtonState on clicking editor field
2021-02-08 20:49:33 +01:00
Henrik Giesel
bc7a1d12cd
Export saveNow
2021-02-08 20:28:02 +01:00
Henrik Giesel
934a9bd24b
Split up index.ts into several more files
...
This is to provide minimal closures for the mutable file-local variables:
- changeTimer
- previousActiveElement
- currentNoteId
This makes it clear, that they should not be used, but rather the
functions which wrap them in an API
2021-02-08 19:48:42 +01:00
Henrik Giesel
ef14000afd
Avoid making currentField a global
2021-02-08 17:00:27 +01:00
Henrik Giesel
2637a4955b
Export current field for editor
2021-02-08 15:44:56 +01:00
Damien Elmes
ded626f0b9
render deck description with markdown; strip images
...
To support images on that screen, we'll first need to adjust the base url
for each platform, or rewrite the local image URLs, as otherwise they
are resolved to _anki/pages/...
2021-02-06 15:02:40 +10:00
Damien Elmes
e318dafb6c
Revert "sanitize deck description HTML with html-sanitize"
...
This reverts commit f248b71707
.
2021-02-06 13:25:40 +10:00
Damien Elmes
f248b71707
sanitize deck description HTML with html-sanitize
...
Committing for reference; will roll back afterwards.
This adds approximately 150k to the bundled .js file in release mode.
html-sanitizer might be useful to replace our custom paste filtering
code in the future, but for now I'm not sure it's worth the extra
page load time over doing the filtering in Rust.
2021-02-06 13:25:34 +10:00
Damien Elmes
3839ed2e28
show deck description on congrats screen
2021-02-06 13:20:06 +10:00
Damien Elmes
d3ea9b3532
Merge pull request #1006 from hgiesel/deadeditor
...
Remove some dead editor code
2021-02-06 09:02:35 +10:00
Damien Elmes
971b6726c0
Restore "Merge pull request #1007 from hgiesel/sveltesass2""
...
This reverts commit ffcf0aa3ca
and
points to a new rules_svelte commit.
It looks like we were getting away with not listing the dep on the
rules_svelte end - the failing build turned out to be because we need
to pass sass in to our local svelte_check invocation.
2021-02-06 08:39:36 +10:00
Damien Elmes
ffcf0aa3ca
Revert "Merge pull request #1007 from hgiesel/sveltesass2"
...
Roll back to investigate issues.
This reverts commit a31b54aa7c
, reversing
changes made to 0377f7f944
.
2021-02-06 08:20:10 +10:00
Henrik Giesel
fd3003a58f
Use lang="scss" in CardCounts
2021-02-05 14:52:25 +01:00
Henrik Giesel
409eaa85fe
Remove usage of window.event in onPaste
2021-02-05 13:42:49 +01:00
Henrik Giesel
2130434899
Remove dead code kept for compatibility
2021-02-05 13:41:35 +01:00
Damien Elmes
27daaace7d
Merge pull request #1004 from hgiesel/graphsfix
...
Update setFirstWeekday with new .on() type signature
2021-02-05 20:05:17 +10:00
Damien Elmes
b8d67cdad5
move remaining Filter button items into sidebar
...
- Closes #976
- Added helper to apply arbitrary colour to an icon.
- Fix #979 - low res icons in night mode.
- The icons and colours are not perfect - please feel free to send
through a PR if you can improve them.
- Convert colors dictionary into module consts, so we can
use code completion.
- Added "Edited Today" and "Due Tomorrow"
- Rename camelCase attribute to snake_case and tweak the wording
of some enum constants. We've already broken compatibility with the
major sidebar add-ons, so we may as well make these changes while we
can.
- Removed Filter button. Currently there is no exposed way to toggle
the Sidebar off - wonder if we still need it?
2021-02-05 18:58:22 +10:00
Henrik Giesel
1d9cb6f613
Update setFirstWeekday with new .on() type signature
2021-02-04 14:25:51 +01:00
Damien Elmes
c009a5bda1
avoid wrapping card count text on small screens
2021-02-03 21:08:07 +10:00
Damien Elmes
77526be5f1
update JS deps
2021-02-03 20:38:41 +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
48b276cacc
Export getEditorField and forEditorField
2021-01-31 20:56:28 +01:00
Henrik Giesel
df1b6976eb
Turn off eslint check for now
2021-01-31 20:55:36 +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
Damien Elmes
0bd94659f1
Merge pull request #963 from hgiesel/ease130
...
Coerce ease graph min to 130 if applicable
2021-01-31 09:22:01 +10:00
Henrik Giesel
bf953d69c5
Coerce ease graph to 130 if applicable
2021-01-30 22:09:00 +01:00
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
3701abe06a
Install types for lodash.throttle
2021-01-30 02:12:44 +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
Henrik Giesel
6bf38236b9
Replace individual d3 libraries with encompassing d3
2021-01-30 00:00:22 +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
Damien Elmes
e2af5fb718
Merge pull request #933 from hgiesel/calendardays
...
Add labels to calendar days
2021-01-22 11:52:44 +10: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
Damien Elmes
6d8a9a7ef5
Merge pull request #930 from hgiesel/editorts
...
Refactor editor.ts
2021-01-21 10:44:11 +10: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
47d26126e7
Switch to iterables for elem.style and elem.attributes
2021-01-19 02:48:41 +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
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