Henrik Giesel
d976dd711c
Simplify General Toolbar structure
2021-04-15 13:09:49 +02:00
Henrik Giesel
fefd2e5008
Merge buttons to one OuterButtonGroup
...
- keeping up the concept of left / right buttons might not be necessary anymore
- This might make it easier to display them on mobile, and simplifies the logic
2021-04-15 13:09:49 +02:00
Henrik Giesel
27188bef29
Make all Leaf buttons 30px high and give same vertical-align
2021-04-15 13:09:49 +02:00
Henrik Giesel
5290bc7d86
Rename IconButtonInner to InnerButton, as it does not necessarily contain an Icon
2021-04-15 13:09:49 +02:00
Henrik Giesel
87ab416bb3
Add hover and active effects
2021-04-15 13:09:49 +02:00
Henrik Giesel
14577c07ed
Display ButtonGroups inline-block
2021-04-15 13:09:49 +02:00
Henrik Giesel
50a2929e93
Add ButtonGroup for grouping of toolbar items
2021-04-15 13:09:49 +02:00
Henrik Giesel
9a52d0f345
Add CommandIconButton functionality
2021-04-15 13:09:49 +02:00
Henrik Giesel
9330a0bd47
Add color.ts for foreground color and color picker
2021-04-15 13:09:49 +02:00
Henrik Giesel
9c19c85f79
Add remaining icons for toolbar
2021-04-15 13:09:49 +02:00
Henrik Giesel
c06d500f0c
Include icons directly in ts lib
2021-04-15 13:09:49 +02:00
Henrik Giesel
e175c9348e
First implementation
2021-04-15 13:09:48 +02:00
Henrik Giesel
e1da2d0e01
Add ts/editor-toolbar
2021-04-15 13:09:48 +02:00
Damien Elmes
c046ce1c26
move bootstrap into ts/sass
2021-04-15 16:10:01 +10:00
Damien Elmes
130e960262
support external building of sass; node_modules->ts/bootstrap
2021-04-15 15:59:17 +10:00
Damien Elmes
9e0e3edb04
allow passing sass deps to svelte compile/check
2021-04-15 14:27:53 +10:00
Damien Elmes
59d6e15d50
update other ts deps
2021-04-15 10:59:29 +10:00
Damien Elmes
74c917239f
remove unused esbuild package, and update rules_nodejs packages
2021-04-15 10:57:19 +10:00
Damien Elmes
cc91868092
move esbuild into separate repo
...
Most of our changes have been upstreamed, but the toolchain change
probably won't be merged soon, and a separate git repo will make it
easier to track upstream changes.
@hgiesel output_css=True will need to be changed to output_css="foo.css"
instead
2021-04-15 10:53:49 +10:00
Damien Elmes
ac045e9e3f
fix initial ease not being updated
2021-04-14 23:01:03 +10:00
Damien Elmes
57a1651113
deck config prototype work in progress
...
Still in the early stages, and not hooked up yet.
2021-04-14 22:33:10 +10:00
Damien Elmes
64818290fc
Merge pull request #1128 from hgiesel/webviewcss3
...
Remove unnecessary exports from sass/BUILD.bazel
2021-04-14 21:28:25 +10:00
Damien Elmes
6523fed84c
experiment with making bootstrap scss available as a library
...
This will allow us to import the local sass lib, then use something
like the following in our sass:
@import "ts/bootstrap/functions";
@import "ts/bootstrap/variables";
@import "ts/bootstrap/mixins";
@import "ts/bootstrap/helpers";
@import "ts/bootstrap/dropdown";
@import "ts/bootstrap/forms";
@import "ts/bootstrap/buttons";
@import "ts/bootstrap/button-group";
I'm currently trialing it out on a prototype reimplementation of the
deck options screen. Unfortunately bootstrap don't seem to support the
@use syntax, so we need to @import everything
2021-04-14 21:27:34 +10:00
Henrik Giesel
d055bfa3c7
Remove unnecessary exports from sass/BUILD.bazel
...
I think these were just part of an unsuccessful experiment
Partially reverses fb26361274
2021-04-14 12:31:42 +02:00
Damien Elmes
cd4326c77e
run prettier on some sass files
2021-04-14 18:22:33 +10:00
Damien Elmes
2a43d42323
run black/isort on Python scripts
2021-04-14 18:22:02 +10:00
Damien Elmes
898b8d2e09
Merge pull request #1125 from hgiesel/scrollbarcorner
...
Color Scrollbar bottom right corner
2021-04-14 12:43:34 +10:00
Henrik Giesel
082fd8d28f
Color in the Scrollbar corner at the bottom right into the appropriate color
2021-04-13 21:41:15 +02:00
Henrik Giesel
fb26361274
Create explicit dependencies for the congrats,editor,graphs scss files
2021-04-13 19:47:03 +02:00
Henrik Giesel
19903986f9
Move compile_sass.bzl to /ts + Remove core.css from data/web (unused?)
2021-04-13 19:47:03 +02:00
Henrik Giesel
5bcb2f080f
Declare dependencies in data/web/css
2021-04-13 19:47:03 +02:00
Henrik Giesel
9cba0c2d29
Make h1 explicitly bold in Graph.svelte
2021-04-13 19:47:03 +02:00
Henrik Giesel
630ee9c6bb
Use graphs-base and congrats-base
2021-04-13 19:47:03 +02:00
Henrik Giesel
8efbcddbb4
Do not include webview.css for editor
2021-04-13 19:47:03 +02:00
Henrik Giesel
b14dc3f7cb
Move card_counts and split off fusion_vars
2021-04-13 19:47:03 +02:00
Henrik Giesel
c944eeb5f6
Add base.scss
2021-04-13 19:47:03 +02:00
Damien Elmes
eb6502bd6e
add missing copyright headers to *.svelte
2021-04-13 19:02:41 +10:00
Damien Elmes
1f475a1709
add missing copyright headers to *.ts
2021-04-13 18:57:08 +10:00
Damien Elmes
c6da01c4aa
disable Jest tests on Windows again
...
It looks like the templated_args change only masked the error last time;
Jest seems broken on Windows with both the patched .24 version, latest
stable, and the new beta version too, presumably because symlinks are
being handled differently on Windows somehow. It might be possible to
hack around the issue by patching the following file, but I'm not sure:
https://github.com/facebook/jest/blob/master/packages/jest-haste-map/src/crawlers/node.ts
2021-04-12 15:39:46 +10:00
Damien Elmes
9d03e266e3
add naturalWholeUnit() and basic tests to lib/time.ts
...
naturalWholeUnit() is not currently used
2021-04-12 14:42:06 +10:00
Damien Elmes
3c3258251d
force number in protobuf generation
...
Anki's object IDs and millisecond timestamps fit within MAX_SAFE_INTEGER.
2021-04-12 14:33:20 +10:00
Damien Elmes
43a8b8fec3
stop Svelte warnings from failing the build
...
+ check for them at test time
2021-04-12 14:28:09 +10:00
Damien Elmes
8c64cc38d7
fix jest
...
- templated_args was missing --node_modules= prefix, and was causing
tests to pass unconditionally
- update to beta of jest 27, which introduces an option to fix the
symlink handling, and is approx twice as fast to start up
2021-04-12 09:43:31 +10:00
Damien Elmes
dc8c0a2e73
switch esbuild to a toolchain
2021-04-07 15:19:23 +10:00
Damien Elmes
fb1111623f
update to latest esbuild
2021-04-07 14:54:40 +10:00
abdo
a6bdde68db
Fix graph labels display in RTL layout
2021-04-02 06:25:38 +03:00
Damien Elmes
188a8891fd
add docstring to forEditorField
2021-03-29 18:13:45 +10:00
Damien Elmes
efb8a4e61c
Merge pull request #1101 from Arthur-Milchior/TS_type
...
NF: add type ts
2021-03-29 18:09:56 +10:00
Damien Elmes
2e1104c724
move loader arg into esbuild() invocation
...
upstream.bzl should be kept as close to upstream as possible, so that
it's easier to send changes upstream and pull in future changes
2021-03-29 17:59:06 +10:00
Arthur Milchior
cfa2ee6774
NF: add type ts
2021-03-28 23:59:16 +02:00
Henrik Giesel
d01aa0de6f
Add copy_bootstrap_icons macro
2021-03-28 18:50:37 +02:00
Henrik Giesel
77c396c2a8
Include pin-angle icon via inline SVG
2021-03-28 16:15:30 +02:00
Damien Elmes
fb222149af
define file extension in .d.ts so typescript doesn't complain
2021-03-28 16:15:28 +02:00
Henrik Giesel
443ee54f7e
Unsuccessfully try to add text loader for .svg files
2021-03-28 16:14:52 +02:00
Henrik Giesel
9d64508bd1
Remove bootstrap-icons from css folder
2021-03-28 16:14:52 +02:00
Damien Elmes
d279ca4cac
move back to latest Jest
...
Patch is no longer required after previous change
2021-03-28 21:44:55 +10:00
Damien Elmes
9a75392f54
fix Jest on Windows
2021-03-28 20:59:51 +10:00
Damien Elmes
e2963e54f8
Revert "disable Jest tests on Windows for now"
...
This reverts commit 819f87df42 .
2021-03-28 20:59:31 +10:00
Damien Elmes
819f87df42
disable Jest tests on Windows for now
2021-03-28 20:34:10 +10:00
Damien Elmes
ad47b68255
add Jest for TS unit tests
...
@hgiesel the reason no files were being found is because Jest ignores
symlinks by default. The Bazel example includes a patch we can use
to work around it, and Jest plan to add symlink support in a future
update.
https://github.com/bazelbuild/rules_nodejs/blob/stable/examples/jest/patches/jest-haste-map%2B24.9.0.patch
https://github.com/facebook/jest/pull/9351
2021-03-28 19:41:20 +10:00
Henrik Giesel
ac46f6cb27
Utilize ts/tsconfig.js from ts/{editor,html-filter}
2021-03-28 19:41:20 +10:00
Henrik Giesel
d346ae6feb
No need to explicitly import from index
2021-03-28 19:41:20 +10:00
Henrik Giesel
722adec915
Satisfy formatter
2021-03-28 19:41:20 +10:00
Henrik Giesel
c99d91c283
Avoid using outerHTML + Fix regression
2021-03-28 19:41:20 +10:00
Henrik Giesel
f432da5af7
Change filter logic in html-filter/element: predicate true, means it stays in
2021-03-28 19:41:20 +10:00
Henrik Giesel
1aefab95f8
Move html-filter into its own directory
2021-03-28 19:41:20 +10:00
Henrik Giesel
127b46d240
Insert break statements into switch
2021-03-28 19:41:20 +10:00
Henrik Giesel
4baa87348e
Create htmlFilter{Node,Styling} for better separation of concerns
2021-03-28 19:41:20 +10:00
Henrik Giesel
6822c56e53
Put filterElement logic completely into its own file
2021-03-28 19:41:20 +10:00
Henrik Giesel
a9fa7cd0db
Move most of tags allowed to its own file
2021-03-28 19:41:20 +10:00
Henrik Giesel
f4e3a9202f
Refactor htmlFilter to use function declarations
2021-03-28 19:41:20 +10:00
Damien Elmes
0edbd3fc4b
use relative link to sass file
...
links relative to workspace root break when invoked from an external
repo
2021-03-28 12:37:21 +10:00
Damien Elmes
3761693be2
add links to pending PRs
2021-03-28 12:32:40 +10:00
Damien Elmes
0b2c3e1c3b
fix(esbuild): files not being found when building external repo
...
An esbuild rule that ran fine in a local repo (eg bazel build //:my_esbuild_rule)
fails when built externally (eg bazel build @other_workspace//:my_esbuild_rule).
By prepending the workspace root to the bin path, the resulting base
URL works correctly in both local and remote repo invocations, allowing
esbuild output to be consumed by a different repo.
This change fixes remote repos in Bazel 4.0.0. 3.7.0 seems to require a
workspace_root.replace("external/", "") call first in order
to get the correct location. So while this patch should not break anything
that was not already broken, it only fixes/adds support for remote repos
in 4.0+.
2021-03-28 11:30:15 +10:00
Damien Elmes
061c7e60fc
add esbuild/helpers.bzl in from upstream
2021-03-28 11:12:23 +10:00
Damien Elmes
b8b2be3f9f
update $(location ...) in esbuild inject lines
2021-03-28 09:35:46 +10:00
Damien Elmes
7500a2765f
support expanding locations in esbuild arguments
2021-03-28 09:35:27 +10:00
Damien Elmes
16632c90df
update TS deps
2021-03-27 15:02:02 +10:00
Damien Elmes
125dcee811
remove obsolete comment
2021-03-26 21:47:23 +10:00
Damien Elmes
0006a385e1
allow js to request specific i18n modules
...
Brings the payload on the congrats page with a non-English language
down from about 150k to 15k
2021-03-26 21:43:36 +10:00
Damien Elmes
5ef9282f9b
fix handling of variables that don't match ts naming style
2021-03-26 21:34:24 +10:00
Damien Elmes
00eb89c2ec
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
b145b04ddf
drop legacy enum from ts/
2021-03-26 19:26:35 +10:00
Damien Elmes
6cde7ff536
update remaining TR references in ts/
2021-03-26 19:24:48 +10:00
Damien Elmes
7a7cb7402d
update most no-arg TR references in *.svelte
2021-03-26 19:13:30 +10:00
Damien Elmes
1ed1902933
update TR references with args in *.svelte
2021-03-26 19:13:30 +10:00
Damien Elmes
0e50259e6b
update TR references with args in *.ts; fix average answer time
2021-03-26 19:10:39 +10:00
Damien Elmes
2ab7a30b7b
convert no-arg TR references to method invocations in *.ts
2021-03-26 19:10:27 +10:00
Damien Elmes
efb92d5ee9
generate ts methods for translations
2021-03-26 18:11:58 +10:00
Damien Elmes
0c63a7c8c4
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
730d75a6c4
Satisfy svelte_check
2021-03-22 15:41:43 +01:00
Henrik Giesel
0a882175e5
Add type signatures to asyncReactive
2021-03-22 15:30:35 +01:00
Henrik Giesel
8bf68ea7ca
Satisfy formatter
2021-03-22 15:25:49 +01:00
Henrik Giesel
e973b555f3
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
b52d05431d
Partially revert "Make sure RangeBox does not trigger update on stores on creation"
...
This reverts commit 8232e2f5ed .
2021-03-22 15:11:36 +01:00
Henrik Giesel
12123fc68b
Remove assignment to preferencesPromise: getPreferences will only be called once
2021-03-22 04:03:52 +01:00
Henrik Giesel
0368bac9be
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
c44340e761
Avoid duplicate initial fetching with asyncReactive
2021-03-22 02:58:19 +01:00
Henrik Giesel
8232e2f5ed
Make sure RangeBox does not trigger update on stores on creation
2021-03-22 02:50:16 +01:00
Henrik Giesel
8cb7d4a8ad
Create search and days writable in GraphsPage to allow browserSearch to work
2021-03-22 02:44:08 +01:00
Henrik Giesel
c7a6665307
Fix syntax error introduced by rebase
2021-03-22 01:44:07 +01:00
Henrik Giesel
1e5bb2f226
Create BrowserSearch component, because we cannot read from stores within slotted content
2021-03-22 01:42:23 +01:00
Henrik Giesel
abdf8a464f
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
6d2d40472d
Use preferencesPromise, as refreshing is handled over stores
2021-03-22 01:42:23 +01:00
Henrik Giesel
4468938dfd
Use $-assignments instead of store.set
2021-03-22 01:42:23 +01:00
Henrik Giesel
fbf2c6f6fc
Rename search and days to initialSearch and intitialDays in GraphsPage
2021-03-22 01:42:23 +01:00
Henrik Giesel
4ef0b3c977
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
26d4854502
Compiles with WithGraphData
2021-03-22 01:42:23 +01:00
Henrik Giesel
c6ba8f779e
Move Graph-specific html from GraphsPage to Graph.svelte
2021-03-22 01:42:21 +01:00
Henrik Giesel
cfaf0e587b
Add WithGraphData
2021-03-22 01:40:51 +01:00
Henrik Giesel
aebb665164
Rename asyncRefresh to asyncReactive
2021-03-22 01:40:51 +01:00
Henrik Giesel
92658495ad
Improve implementation of asyncRefresh
2021-03-22 01:40:51 +01:00
Henrik Giesel
b0116aa3a9
Add (probably non-working) asyncRefresh
2021-03-22 01:40:51 +01:00
Henrik Giesel
159f6dc4e1
Add Svelte async hook
2021-03-22 01:40:51 +01:00
Henrik Giesel
5b1eb98b86
Add comment where to find global styles
2021-03-21 16:04:38 +01:00
Henrik Giesel
794642b2f2
Move ticks.scss directly into Graph.svelte
2021-03-21 15:59:11 +01:00
Damien Elmes
7c76693618
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
13afaaa770
move some cumulative-overlay-specific styling out of shared css
2021-03-21 20:18:05 +10:00
Damien Elmes
ba4e5d834c
add HoverColumns.svelte for hoverzone styling
2021-03-21 19:58:39 +10:00
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