Commit graph

539 commits

Author SHA1 Message Date
Damien Elmes
cdf326d45d add CumulativeOverlay.svelte for area styling 2021-03-21 19:50:35 +10:00
Damien Elmes
d4f0661e16 add Tooltip.svelte so we can encapsulating styling 2021-03-21 19:35:38 +10:00
Damien Elmes
c02823b488 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
2ffb210ca4 add support for declaring css output in esbuild call 2021-03-21 16:06:36 +10:00
Damien Elmes
d5c088175f 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
460a071fe4 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
e1233ac156 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:
7ae6837cfa
2021-03-21 16:06:07 +10:00
Damien Elmes
27feb0688a output embedded Svelte css into separate .css file for bundling 2021-03-21 16:06:01 +10:00
Damien Elmes
b6f95c0e5e 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
cf68717830 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
63b621ce9f use ts language service for much faster Svelte compiles 2021-03-20 23:49:10 +10:00
Damien Elmes
52551b629d 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
b025e92d26 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
e99c8b8a81 clarify comment 2021-03-20 16:25:50 +10:00
Damien Elmes
7ae6837cfa 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
06b0b4d68b 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
7840d773ef update rules_nodejs 2021-03-20 10:54:18 +10:00
Damien Elmes
72885bc710 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
ebd3bba91b 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
f5bf50ed02 Fix bug with initially enabled toolbar in browser 2021-03-10 19:28:08 +01:00
Henrik Giesel
f56c510e86 Fix another import 2021-03-09 14:02:41 +01:00
Henrik Giesel
4424ae864b Fix reversed sticky icon logic 2021-03-09 13:44:06 +01:00
Henrik Giesel
1ae13b7217 Satisfy formatter 2021-03-09 13:43:11 +01:00
Henrik Giesel
df20381a9e Change to pin icon 2021-03-09 13:43:11 +01:00
Henrik Giesel
2ea0602347 Switch to bi-sticky icons, toggle opacity for state indiciation 2021-03-09 13:43:11 +01:00
Henrik Giesel
e72b5d6e14 Switch back to pin icons, use fill/unfilled versions 2021-03-09 13:43:11 +01:00
Henrik Giesel
df562c7c4c Place sticky icons at the far right end of the labelContainer 2021-03-09 13:43:11 +01:00
Henrik Giesel
3a8fad5dc5 Make sure topleft buttons are rounded too, prefer Bootstrap's rounded class 2021-03-09 13:43:11 +01:00
Henrik Giesel
59c69bd8dd Replace pin icon with lock icon
Credit goes out to @kleinerpirat
2021-03-09 13:43:11 +01:00
Henrik Giesel
f98ba1e412 Remove button highlight on disabling button (i.e. blur) 2021-03-09 13:43:09 +01:00
Henrik Giesel
5bba8cbfd9 Remove "true" return value from event handler
* this does not change any semantics
2021-03-09 13:41:39 +01:00
Henrik Giesel
e94fbdbc38 Separate index.ts into editable/editingArea/editorField/labelContainer.ts 2021-03-09 13:40:47 +01:00
Henrik Giesel
3f96290214 Connect icons to sticky fields values 2021-03-09 13:37:56 +01:00
Henrik Giesel
07e3812072 Add visual elements for pinned fields 2021-03-09 13:37:56 +01:00
Henrik Giesel
6b444782e9 Remove explicit popperjs again, because it's included in bootstrap.bundle 2021-03-09 13:37:56 +01:00
Henrik Giesel
6f05c6eb85 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
adfe645966 Fix positioning of buttons 2021-03-09 13:37:56 +01:00
Henrik Giesel
a9ded7cc3c Fix highlight for topright buttons 2021-03-09 13:37:56 +01:00
Henrik Giesel
261b93ea36 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
dbcf0ffee1 Include bootstrap in editor 2021-03-09 13:37:56 +01:00
Henrik Giesel
b7c24a9f98 Add bootstrap, bootstrap-icons, and popperjs 2021-03-09 13:37:56 +01:00
Damien Elmes
26a4e7b355 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
94795b9392 Merge pull request #1060 from hgiesel/focusplus
Fix focus handling by moving caretToEnd logic
2021-03-09 11:53:09 +10:00
abdo
45b4be4dd3 Strip HTML comments from external pastes
Fix a regression caused by 2efc2030f6
2021-03-09 03:15:08 +03:00
Henrik Giesel
b4a2f9930b Satisfy formatter 2021-03-08 20:55:04 +01:00
Henrik Giesel
4dd565065f Move caretToEnd logic out of focus handling 2021-03-08 20:40:23 +01:00
Henrik Giesel
eff90085ea 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
5af6a63e20 Fix editor RTL check 2021-03-07 18:12:42 +03:00
Henrik Giesel
41c3c3ecf3 Do not execute caretToEnd when Alt-tabbing back to application 2021-03-06 17:57:04 +01:00
Henrik Giesel
e87d951a74 Fix focus handling when coming from top left buttons 2021-03-01 12:28:45 +01:00
Damien Elmes
7c03d184de 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
735253dd43 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
e2bda7273e 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
561dbbb718 Satisfy formatter 2021-02-23 13:34:41 +01:00
Henrik Giesel
eed8fb06c6 Remove logic for pulling editor field in view 2021-02-23 12:55:04 +01:00
Henrik Giesel
49e408e64d Satisfy formatter 2021-02-22 14:44:31 +01:00
Henrik Giesel
5c332e20ab 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
042d9095ea Move tooltip creation into function 2021-02-22 14:10:35 +01:00
Henrik Giesel
7c31e7f09d Increase the padding in the editable to 6px 2021-02-16 18:40:58 +01:00
Henrik Giesel
70e09bf70a Add max-width: 100% to editable.scss 2021-02-16 18:28:40 +01:00
Damien Elmes
e7a0f22ebf ignore manually scheduled cards in hour graph 2021-02-10 09:36:51 +10:00
Damien Elmes
83e2538f8e 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
51ea2a14e8 add missing license headers 2021-02-09 13:38:04 +10:00
Henrik Giesel
c521ac1e94 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
f72bcc679d Use mouseup intead of click for updateButtonState 2021-02-08 22:18:06 +01:00
Henrik Giesel
572aae1ae8 Refactor wrap code 2021-02-08 22:13:49 +01:00
Henrik Giesel
94ca6c0ffe Give toolbar items a bottom margin to separate the rows when they wrap 2021-02-08 21:26:37 +01:00
Henrik Giesel
22e098f5c9 Put wrapping code into its own file 2021-02-08 21:02:46 +01:00
Henrik Giesel
c721e2fa2f updateButtonState on clicking editor field 2021-02-08 20:49:33 +01:00
Henrik Giesel
de3b120031 Export saveNow 2021-02-08 20:28:02 +01:00
Henrik Giesel
3c9f3e7baa 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
3287f61b75 Avoid making currentField a global 2021-02-08 17:00:27 +01:00
Henrik Giesel
d509bf6d3c Export current field for editor 2021-02-08 15:44:56 +01:00
Damien Elmes
2edd992020 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
33e532166a Revert "sanitize deck description HTML with html-sanitize"
This reverts commit cd37a9ae83.
2021-02-06 13:25:40 +10:00
Damien Elmes
cd37a9ae83 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
12d5bc217d show deck description on congrats screen 2021-02-06 13:20:06 +10:00
Damien Elmes
30c108fc91 Merge pull request #1006 from hgiesel/deadeditor
Remove some dead editor code
2021-02-06 09:02:35 +10:00
Damien Elmes
63ea689636 Restore "Merge pull request #1007 from hgiesel/sveltesass2""
This reverts commit 86b470071f 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
86b470071f Revert "Merge pull request #1007 from hgiesel/sveltesass2"
Roll back to investigate issues.

This reverts commit 58a58d94be, reversing
changes made to 31d06e8f39.
2021-02-06 08:20:10 +10:00
Henrik Giesel
9449dabf9a Use lang="scss" in CardCounts 2021-02-05 14:52:25 +01:00
Henrik Giesel
c554d4ac28 Remove usage of window.event in onPaste 2021-02-05 13:42:49 +01:00
Henrik Giesel
e9f8ba14f9 Remove dead code kept for compatibility 2021-02-05 13:41:35 +01:00
Damien Elmes
6c3d107d30 Merge pull request #1004 from hgiesel/graphsfix
Update setFirstWeekday with new .on() type signature
2021-02-05 20:05:17 +10:00
Damien Elmes
b6e873b17b 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
77c18c856d Update setFirstWeekday with new .on() type signature 2021-02-04 14:25:51 +01:00
Damien Elmes
67accf7829 avoid wrapping card count text on small screens 2021-02-03 21:08:07 +10:00
Damien Elmes
9f14240b51 update JS deps 2021-02-03 20:38:41 +10:00
Henrik Giesel
b6cfccda67 Move copy_page to ts/copy.bzl and rename to copy_files_into_group 2021-02-02 18:20:11 +01:00
Henrik Giesel
72259ed629 Export getEditorField and forEditorField 2021-01-31 20:56:28 +01:00
Henrik Giesel
8699c25bc5 Turn off eslint check for now 2021-01-31 20:55:36 +01:00
Henrik Giesel
9f3403d704 Move editor css to editor directory 2021-01-31 19:03:40 +01:00
Henrik Giesel
978258067b Move editor to /ts/editor 2021-01-31 14:15:03 +01:00
Damien Elmes
dce6682086 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
9a8dbbc275 Coerce ease graph to 130 if applicable 2021-01-30 22:09:00 +01:00
Henrik Giesel
2ff9e29a15 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
587f6dc96f Fix histogram-graph building invalid query 2021-01-30 02:46:26 +01:00
Henrik Giesel
0168736ad8 Fix graphs tooltip position 2021-01-30 02:35:48 +01:00
Henrik Giesel
8151156b98 Install types for lodash.throttle 2021-01-30 02:12:44 +01:00
Henrik Giesel
993cca1902 Make histogram show bars again 2021-01-30 02:08:01 +01:00
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