Henrik Giesel
59876439e7
Add StickyBar.svelte WithTheming.svelte
2021-05-07 02:03:55 +02:00
Henrik Giesel
4736b1ce1c
Move Notetype buttons to using slots instead of dynamic components
2021-05-07 02:03:55 +02:00
Henrik Giesel
6d6c798ca3
Simplify structure of EditorToolbar and ButtonGroup in editor HTML file
2021-05-07 02:03:55 +02:00
Damien Elmes
af2c7c0744
fix missing keyboard modifier translations on Linux/Windows
...
https://forums.ankiweb.net/t/card-browser-hotkeys-semi-broken/9815
2021-05-07 09:30:06 +10:00
Damien Elmes
4951ef12c9
fix properties missing from generated Svelte .d.ts files
...
They're currently being set to 'any', as we're not providing the dependencies
to the tsc invocation. Older Anki versions had the same issue, and we'll
want to fix that as well, but for now this at least restores the missing
props.
2021-05-04 18:55:58 +10:00
Damien Elmes
a639048a6b
i18n deckoptions; move some options into separate 'advanced' section
2021-04-26 23:34:58 +10:00
Damien Elmes
8475e7829b
defer bounds checking in SpinBox to focus loss
...
The previous behaviour was preventing a backspace to remove the
current text when a minimum of 1 or greater was supplied
2021-04-26 20:17:48 +10:00
Henrik Giesel
268adf1d03
Move EditorToolbar API into EditorToolbar.svelte
2021-04-25 19:15:00 +02:00
Henrik Giesel
f5fba15435
Initialize editor toolbar via function, not web component
2021-04-25 18:32:01 +02:00
Damien Elmes
09629e4e4a
add translations for deck option warnings
...
+ cap maximum recommended review limit to 9999, since we don't allow
the user to set it higher
2021-04-25 23:06:35 +10:00
Damien Elmes
4ab2d0b4a9
subLabel->tooltip
2021-04-25 21:37:21 +10:00
Damien Elmes
ab00da0593
slide warnings in/out
2021-04-25 21:10:53 +10:00
Damien Elmes
56800737e6
use lodash instead of json in RevertButton
2021-04-25 19:34:07 +10:00
Damien Elmes
b7747b6a38
experimental support for extending add-ons screen with Svelte
2021-04-25 19:33:18 +10:00
Damien Elmes
b485b8cbb9
deckconfig->deckoptions
2021-04-25 19:02:30 +10:00
Damien Elmes
d6df6c0f89
RevertIcon->RevertButton
2021-04-25 19:02:30 +10:00
Damien Elmes
e2a4d6041c
basic support for add-ons in new deck config screen
...
- expose the data as a writable store
- currently only supports raw HTML; example to come
- fix changes not marking a deck config as modified
- the data is currently packed into the deckconfig object, but we
may move these to a separate store in the collection config in the
future, like is done with decks/notetypes
2021-04-24 11:08:01 +10:00
Damien Elmes
c71b684a94
Merge pull request #1150 from hgiesel/notetypechoose
...
Editor Toolbar cleanup
2021-04-24 11:04:24 +10:00
Henrik Giesel
5709183fe1
Prefer slicing and splicing
2021-04-24 01:48:22 +02:00
Henrik Giesel
af5d7cc6a3
Fix typing typo
2021-04-24 01:15:16 +02:00
Henrik Giesel
53bb8c7b28
Add addMenu and updateMenu, avoid using {buttons,menus}Promise outside of class
2021-04-24 01:08:55 +02:00
Henrik Giesel
9f7a187d4a
Add mostly working addcards topbar
2021-04-24 00:00:32 +02:00
Henrik Giesel
baeaa29dae
Simplify Handling of margins and padding of ButtonGroup & ButtonDropdown
2021-04-23 22:22:53 +02:00
Henrik Giesel
9629d3201b
Simplify tag structure in ButtonGroup
2021-04-23 21:42:44 +02:00
Henrik Giesel
8ecd4f8c95
Add simple version of Chooser buttons
2021-04-23 21:25:44 +02:00
Henrik Giesel
48b7cb49f9
Make update algorithm in editor-toolbar/index.ts recursive
2021-04-23 20:50:09 +02:00
Henrik Giesel
6ae368ebac
Reduce typing overhead in ts/editor-toolbar/index.ts and export buttonGroup
2021-04-23 19:05:43 +02:00
Henrik Giesel
bda99ee0f1
Add IterableToolbarItem interface for easier typing
2021-04-23 18:53:52 +02:00
Henrik Giesel
7cd779063f
Fix regression from 70c3b51b0b
...
Negative indices were not treated correctly (as offset from end)
2021-04-23 18:21:03 +02:00
Henrik Giesel
d250d39d64
Add withLabel component
2021-04-23 17:20:52 +02:00
Henrik Giesel
4379f1e84f
Make dynamicComponents usable for addons, rather than the components directly
...
rawButton({ html: ... })
instead of
{ component: RawButton, html: ... }
2021-04-23 16:43:36 +02:00
Damien Elmes
ee6f5cd0fd
onDestroy must be called from top level
2021-04-23 20:25:47 +10:00
Damien Elmes
aba8df7708
make return value match mergeTooltipAndShortcut() signature
2021-04-23 19:48:36 +10:00
Damien Elmes
70c3b51b0b
remove nested terneries and enable lint
...
@hgiesel would you mind quickly checking I've correctly captured
the logic here?
2021-04-23 13:00:18 +10:00
Damien Elmes
5a8b9f403d
move isApplePlatform() into lib/shortcuts, and remove sveltelib file
2021-04-23 11:22:30 +10:00
Damien Elmes
79b62682ab
use new registerShortcut() fuction in DeckConfigPage
2021-04-23 11:20:12 +10:00
Damien Elmes
00f170dddc
update remaining anki/ references
2021-04-23 10:16:40 +10:00
Henrik Giesel
1d72599a37
Rename anki/ to lib/ for export
...
import _ from "anki/x";
will become
import _ from "lib/x";
to fit the directory name.
2021-04-23 10:02:28 +10:00
Damien Elmes
8b4446d044
Merge pull request #1148 from hgiesel/updatetypescript
...
Update Typescript to 4.2.4
2021-04-23 09:48:34 +10:00
Damien Elmes
02ebab7491
Merge pull request #1146 from hgiesel/shortcuts
...
Shortcut API for Editor
2021-04-23 09:44:01 +10:00
Henrik Giesel
dc10e6235d
Update eslint to 4.22.0
2021-04-22 19:19:39 +02:00
Henrik Giesel
5a11566ff2
Import createPatch in ts/sql_format directly
2021-04-22 18:43:35 +02:00
Henrik Giesel
a7c3aec5dc
Update Typescript to 4.2.4
2021-04-22 18:33:42 +02:00
Henrik Giesel
22a07a3a58
Separate type import for WithShortcut
2021-04-22 18:19:09 +02:00
Henrik Giesel
5197e3b779
Prefer optionalModifiers over register multiple shortcuts
2021-04-22 18:15:25 +02:00
Henrik Giesel
31e4b79ff4
Add optionalModifiers parameter to registerShortcut
2021-04-22 17:28:38 +02:00
Henrik Giesel
7aaf7b7fe0
Add license headers
2021-04-22 16:49:30 +02:00
Henrik Giesel
57357a42a5
Satisfy formatter
2021-04-22 15:24:27 +02:00
Henrik Giesel
f6ef4d43cb
Use registerShortcut in inputHandlers + Avoid focus on color picker
2021-04-22 15:09:09 +02:00
Henrik Giesel
8ca40369a7
Fix typo deregisters
2021-04-22 14:54:29 +02:00
Henrik Giesel
47809f6230
Add shortcut labels for ColorPicker and Latex items
2021-04-22 14:35:44 +02:00
Henrik Giesel
3cf7db8557
Add better better shortcutLabel support for buttons
2021-04-22 14:18:48 +02:00
Damien Elmes
e5c5c91ec8
override some bootstrap styles for night mode
...
There's probably a better way to accomplish this - fixes welcome!
Also fix the page reloading when enter hit inside the modal.
2021-04-22 21:57:32 +10:00
Henrik Giesel
4a264cd8b7
Add editing fluent strings without attached keyboard shortcuts
2021-04-22 13:38:37 +02:00
Henrik Giesel
e95e78da9c
Add getPlatformString for making shortcuts to platform string
2021-04-22 13:04:24 +02:00
Damien Elmes
1ddfd73da6
catch ctrl/cmd+enter to save settings
2021-04-22 19:54:57 +10:00
Damien Elmes
dc46ece8f2
move top padding into sticky area to prevent movement
2021-04-22 19:54:50 +10:00
Damien Elmes
5a531cd28c
disable overscroll on html as well
2021-04-22 19:54:44 +10:00
Damien Elmes
defd28caca
more layout tweaks
...
- reduce maximum width
- de-emphasise revert and info buttons
- reduce grid margin
2021-04-22 18:11:27 +10:00
Damien Elmes
a149048b0a
add a workaround for bad save button in rtl mode
...
Bootstrap provides a different set of CSS for RTL languages, but having
to deal with two separate sets of css files depending on the language
would be a PITA.
2021-04-22 17:45:16 +10:00
Damien Elmes
b9a13496ba
fix add/rename dialog right-aligning, and RTL issue
2021-04-22 17:31:33 +10:00
Damien Elmes
0e9f36c416
fill width when steps exceed 2; add bottom margin
2021-04-22 17:28:14 +10:00
Damien Elmes
052c992093
allow checkboxes and select entries to take up whole line
2021-04-22 16:47:10 +10:00
Damien Elmes
5eb5664c12
switch config to a grid; move info to popups
2021-04-22 15:39:50 +10:00
Damien Elmes
c5eedfb21e
fix select appearance inside webview
2021-04-22 11:41:41 +10:00
Henrik Giesel
2109b67caf
Move up cloze id
2021-04-22 03:37:01 +02:00
Damien Elmes
7dc131c3de
minor layout tweaks to deck conf screen
...
- more space for dropdown
- limit width of main area so popups wrap correctly
- experiment with different colour dropdown
2021-04-22 11:33:27 +10:00
Henrik Giesel
d2ca94a29d
Move other buttons to WithShortcut
2021-04-22 03:25:31 +02:00
Damien Elmes
30f5269304
hook new deck config screen up behind an env var
2021-04-22 10:59:16 +10:00
Henrik Giesel
85f89dc111
Add first shortcuts for bold, italic, underline, removeFormat
2021-04-22 02:37:04 +02:00
Henrik Giesel
dc5b13eeab
Use registerShortcut within WithShortcut
2021-04-22 01:15:38 +02:00
Henrik Giesel
b57810556d
Add lib/shortcuts
2021-04-22 01:15:38 +02:00
Henrik Giesel
5152dce7b8
Add WithShortcut
2021-04-22 01:15:38 +02:00
Henrik Giesel
74fb75c5c4
Fix isBlockElement()
2021-04-21 14:40:16 +02:00
Henrik Giesel
1f97f5208e
Remove paragraph button
2021-04-21 14:36:24 +02:00
Henrik Giesel
64db04f1bb
Prefer exec over matchAll
2021-04-21 14:18:44 +02:00
Henrik Giesel
72b33bf361
Gather editor-toolbar svelte components into filegroup
2021-04-21 13:18:31 +02:00
Henrik Giesel
488fb1af85
Add copyright headers
2021-04-20 15:43:59 +02:00
Henrik Giesel
66b3096926
Remove last ts-expect-error
2021-04-20 15:41:26 +02:00
Henrik Giesel
731f9d109f
Move toolbar initialization into toolbar.ts
2021-04-20 15:32:02 +02:00
Henrik Giesel
37ea39f779
Move dynamic component initialization logic from editor to editor-toolbar
2021-04-20 14:23:28 +02:00
Henrik Giesel
dcb6a11053
Improve behavior of paragraph command and add tooltip
2021-04-20 13:46:01 +02:00
Henrik Giesel
893028b2df
Make indent outdent only work for list items
...
+ make paragraph show its active state
2021-04-20 13:44:44 +02:00
Henrik Giesel
9803bb19ca
Move button implementations from editor-toolbar to editor
2021-04-20 13:44:44 +02:00
Henrik Giesel
b1de095162
Include editor-toolbar as a library in editor
2021-04-20 13:44:44 +02:00
Henrik Giesel
e60e784152
Generalize commandIconButton functionality of setting active state
2021-04-20 13:44:44 +02:00
Henrik Giesel
fcb2ab28e3
Add paragraph button
2021-04-20 13:44:44 +02:00
Henrik Giesel
5bc8385f8b
Don't use <br>s when inside of paragraph
2021-04-20 13:44:44 +02:00
Henrik Giesel
83d5d72777
Generalize inListItem to getAnchorElement
2021-04-20 13:44:43 +02:00
Henrik Giesel
cd33e1b05f
Add CSS for making empty paragraph elements visible
2021-04-20 13:44:43 +02:00
Damien Elmes
6b8c069900
Merge pull request #1139 from hgiesel/toolbarfixes
...
Fix ButtonDropdown not hiding when closed
2021-04-20 19:54:51 +10:00
Damien Elmes
55277aa90a
implement deck config saving on JS end
2021-04-20 19:50:05 +10:00
Damien Elmes
094c272294
allow postrequest to send a binary body; fix WithGraphData
...
As far as I can tell, the existing code was transforming the encoded
protobuf data into UTF8, and we're just lucky it wasn't causing problems
with the small message we were sending.
2021-04-20 17:47:52 +10:00
Damien Elmes
10b7ab2c6d
include sourcemaps for pages/* in dev builds
2021-04-20 17:33:46 +10:00
Damien Elmes
4d1cedc8b2
implement deck config updating
2021-04-20 14:57:44 +10:00
Henrik Giesel
b35f5cdae0
Hide ButtonDropdown when closed
...
Otherwise ul.{svelte-class} in ButtonGroup has higher priority then .show from Bootstrap
2021-04-19 14:47:10 +02:00
Damien Elmes
3abe6168aa
tweak deckconfig top area formatting
...
I suspect there's a better way to ensure selector and save button are
shown on the same line on both large and small widths; PRs are welcome.
2021-04-18 17:33:12 +10:00
Damien Elmes
76eb119870
add schema change prompt to removal, tweak return struct
2021-04-18 17:33:12 +10:00
Damien Elmes
6e3eff9f44
move daily limits into separate section; add extra warning+tweak formatting
2021-04-18 00:04:02 +10:00
Damien Elmes
460ff354da
apply spinbox limits on each keystroke
2021-04-18 00:03:02 +10:00
Damien Elmes
4e63de0625
avoid showing the strings twice
...
While it can help to show the link between the settings, having multiple
sections change at once feels a bit over the top
2021-04-17 22:56:55 +10:00
Damien Elmes
328f1af8db
add text to describe deckconfig warnings
2021-04-17 22:53:47 +10:00
Damien Elmes
c24cfc041e
update config automatically, and update parent limits at same time
2021-04-17 21:44:33 +10:00
Damien Elmes
633e93904a
add some unit tests to deckconfig
2021-04-17 21:00:10 +10:00
Damien Elmes
25c52444b5
add a hack to avoid Long.js in Jest tests
2021-04-17 17:05:48 +10:00
Damien Elmes
377ba1471e
support es6 imports in Jest tests
...
Switching to lodash-es caused Jest to fail. The standard Jest workflow
would be to transpile things with Bazel, but we can do it faster by
bundling with esbuild.
the log in lib.test.ts has revealed numbers are being set as Long instead
of JS numbers, and the published workaround for it is not working :-(
2021-04-17 16:38:45 +10:00
Damien Elmes
8cf8c901fe
fix parent limit handling
...
We can't calculate it on the backend, as adjusting a config may alter
the parent limit.
Also fix hidden deck name and missing separator.
2021-04-17 12:53:59 +10:00
Damien Elmes
f869148d5e
Merge pull request #1134 from hgiesel/formatblock
...
Add block formatting options to Editor
2021-04-17 09:40:52 +10:00
Henrik Giesel
b195c9f2d5
Satisfy svelte_check
2021-04-16 19:00:36 +02:00
Henrik Giesel
d66d229d15
Color ButtonDropdown background in var(--bg-color) regardless of theme
2021-04-16 18:36:54 +02:00
Henrik Giesel
caa052e37e
Make clearer which parts of ButtonGroup css are theming related
2021-04-16 18:24:43 +02:00
Henrik Giesel
b60f9cd05d
Change style for Dropdown{Menu,Item} to match Button{Group,Dropdown}
2021-04-16 18:14:09 +02:00
Henrik Giesel
f2e313664c
Adjust ButtonDropdown for night mode
2021-04-16 17:14:47 +02:00
Henrik Giesel
21dced4ae8
Mark indent / outdent as non activatable
2021-04-16 16:11:53 +02:00
Henrik Giesel
3eab17ed0f
Add Fluent translations
2021-04-16 16:08:00 +02:00
Damien Elmes
d158450e89
add macro for invoking Jest
2021-04-16 23:46:31 +10:00
Damien Elmes
c3fc07ac20
more experimental updates to deck config screen
...
- try out bootstrap modals - they're not perfect, but let's see how
they go for now. Won't be hard to switch to bridge commands if required.
- handle adding/renaming/removing
- add a class to manage the state
2021-04-16 23:29:21 +10:00
Henrik Giesel
48cc9c602f
Add justify and indentation menu
2021-04-16 15:26:49 +02:00
Damien Elmes
a6ed8e90ce
support passing @types/... into svelte-check
2021-04-16 23:18:33 +10:00
Damien Elmes
03f3dfa3d9
switch to full lodash library
...
Individual packages are going away in v5, and we can rely on tree
shaking to only get what we need.
2021-04-16 20:14:17 +10:00
Damien Elmes
7165d06bf2
Merge pull request #1131 from glutanimate/fix-asyncreactivedata-typo
...
Fix minor typo
2021-04-16 11:58:58 +10:00
Henrik Giesel
5414d9f826
Add ol and ul buttons, rename previous format to formatInline
2021-04-16 03:46:37 +02:00
Henrik Giesel
4a8a051999
Satisfy ./script/svelte-check
2021-04-16 03:10:39 +02:00
Henrik Giesel
7d32d909ba
Remove unnecessary comments / dead code
2021-04-16 02:51:03 +02:00
Damien Elmes
a32bb47b9b
quiet esbuild output and format file
2021-04-16 10:27:09 +10:00
Henrik Giesel
0f01e421be
Solve the race conditions of button insertion by operating on promises in EditorToolbar
2021-04-16 02:04:38 +02:00
Henrik Giesel
ccc48bd1d7
Abandon btn-secondary and btn-light in favor our own definitions btn-night and btn-day
2021-04-15 18:35:46 +02:00
Glutanimate
7afe62a4d1
Fix minor typo
2021-04-15 18:30:53 +02:00
Henrik Giesel
304a7f2f77
Make fields square again
...
This was an experiment, to adjust the field border-radius to the
buttons, but I think it looks cleaner if the fields are square
2021-04-15 16:44:07 +02:00
Henrik Giesel
b0885ef0cd
Add license headers
2021-04-15 15:59:52 +02:00
Henrik Giesel
bd4fe7cc93
Use bootstrap types for editor-toolbar svelte_check
2021-04-15 15:51:56 +02:00
Henrik Giesel
fb8a2f4dc8
Experimental: Add bootstrap to svelte_check dependencies
2021-04-15 15:47:02 +02:00
Henrik Giesel
449d28596e
Pass svelte_check for editor-toolbar
2021-04-15 15:33:47 +02:00
Henrik Giesel
82f6e19955
Add Latex formatting options to menu
...
* Format shortcuts in monospace font and increase padding a little bit
2021-04-15 15:20:37 +02:00
Henrik Giesel
12c0a26dc9
Satisfy prettier
2021-04-15 14:58:13 +02:00
Henrik Giesel
f9565cbb80
Use new bootstrap library paths
2021-04-15 14:04:41 +02:00
Henrik Giesel
d07086da19
Use new bootstrap dep
2021-04-15 13:30:19 +02:00
Henrik Giesel
58a85d8386
Add shortcut labels for mathjax menu
2021-04-15 13:09:51 +02:00
Henrik Giesel
5225ef31b3
Explicitly name file in output_css for esbuild
2021-04-15 13:09:51 +02:00
Henrik Giesel
60515f579e
Make editor-toolbar pass eslint
2021-04-15 13:09:51 +02:00
Henrik Giesel
b0fab9c967
Fix most of svelte-check issues for editor-toolbar
2021-04-15 13:09:51 +02:00
Henrik Giesel
efc867815a
Pass the svelte check for graphs
2021-04-15 13:09:50 +02:00
Henrik Giesel
e3a3ca3f25
Inline GraphData/GraphPreferences getters/setters into WithGraphData
2021-04-15 13:09:50 +02:00
Henrik Giesel
13decbe608
Generalize ts/graphs/preferences to ts/sveltelib/preferences
2021-04-15 13:09:50 +02:00
Henrik Giesel
b696635afc
Style light mode button bar with borders
...
- whereas night mode toolbar has no visible borders
2021-04-15 13:09:50 +02:00
Henrik Giesel
e732eca097
Use padding for extended colorpicker background "border"
2021-04-15 13:09:50 +02:00
Henrik Giesel
dd530dcdc8
Give light mode effects on hover/active/focus as well
2021-04-15 13:09:50 +02:00
Henrik Giesel
8760bd9ac6
Add theming support for DropdownItem and DropdownMenu
2021-04-15 13:09:50 +02:00
Henrik Giesel
49daa2dd01
Improve looks of color picker button
2021-04-15 13:09:50 +02:00
Henrik Giesel
02c8893fc9
Update CSS for ColorPicker and forecolor button
2021-04-15 13:09:50 +02:00
Henrik Giesel
9f740f307d
Switch from core to base CSS for editor view
2021-04-15 13:09:50 +02:00
Henrik Giesel
0133652d04
Correctly check for night mode
2021-04-15 13:09:50 +02:00
Henrik Giesel
d6d4269aaf
Rely more heavily on bootstrap provided types for editor-toolbar
2021-04-15 13:09:50 +02:00
Henrik Giesel
e6996ae5d3
Make mdi also use renamed pkg_from_name
2021-04-15 13:09:50 +02:00
Henrik Giesel
443cef6b15
Add buttons_mixins.scss for sharing SCSS across components
2021-04-15 13:09:50 +02:00
Henrik Giesel
00d8d869f4
Also add Bootstrap buttons.scss
2021-04-15 13:09:50 +02:00
Henrik Giesel
8f7c32fcf9
Include Dropdown directly from bootstrap, required installing popperjs
2021-04-15 13:09:50 +02:00
Henrik Giesel
38cc0dfce5
Use compile_sass and add flag to make editor-toolbar compile again
2021-04-15 13:09:50 +02:00
Henrik Giesel
1eafa7d9d0
Remove $$restProps and make explicit dropdown support in buttons
...
* Currently LabelButton, CommandIconButtton, and IconButton support dropdowns
2021-04-15 13:09:50 +02:00
Henrik Giesel
920b740c8f
Add RawButton and hook old python hooks up to it
2021-04-15 13:09:50 +02:00
Henrik Giesel
432e0a5079
Introduce ToolbarItem as a better base type instead of DynamicSvelteComponent
2021-04-15 13:09:50 +02:00
Henrik Giesel
b364ae5542
Switch from lazy loading of properties to wrapping the buttons in a function
2021-04-15 13:09:50 +02:00
Henrik Giesel
d6ad5084f1
Add a button / buttonGroup insertion API
2021-04-15 13:09:50 +02:00
Henrik Giesel
8fd21661b4
Fix sticky toolbar which was broken when introducing var(--toolbar-size)
2021-04-15 13:09:50 +02:00
Henrik Giesel
eceb98f8e6
Show/Hide Cloze button depending on whether cloze type
2021-04-15 13:09:50 +02:00
Henrik Giesel
fe4ba87490
Move cloze logic and wrapping logic editor-toolbar
2021-04-15 13:09:50 +02:00
Henrik Giesel
cbf72c0f05
Make buttons and button groups easily toggleable through hidden web component
2021-04-15 13:09:50 +02:00
Henrik Giesel
4c273caedb
Remove props property in favor of $$restProps
2021-04-15 13:09:50 +02:00
Henrik Giesel
f88b9d64d3
Get rid of types.d.ts in favor of DynamicSvelteComponent
2021-04-15 13:09:50 +02:00
Henrik Giesel
86c57d5b75
Pass button groups as actual button groups, not arrays
2021-04-15 13:09:50 +02:00
Henrik Giesel
d3e1bfa841
Pass wraps more similiar to how size is passed via CSS variables
2021-04-15 13:09:50 +02:00
Henrik Giesel
59884df70b
Make wraps a passable prop to EditorToolbar
...
Can be set to nowrap via document.getElementByID("editorToolbar").component.$set({ wraps: false })
2021-04-15 13:09:50 +02:00
Henrik Giesel
bf33397855
Give clearer type names to dynamicComponent
2021-04-15 13:09:50 +02:00
Henrik Giesel
a2d37206ea
Rename title to tooltip across editor toolbar components
2021-04-15 13:09:50 +02:00
Henrik Giesel
8e1092d2c4
Rename types.ts to types.d.ts
2021-04-15 13:09:50 +02:00
Henrik Giesel
120e1452e3
Change overflow of button groups to overflow-y auto
...
Avoids erratic creation of scrollbars
2021-04-15 13:09:50 +02:00
Henrik Giesel
c7590c8ef1
Use dynamicComponent instead of withLazyProps
2021-04-15 13:09:50 +02:00
Henrik Giesel
28201670ee
Move enabled/disabled logic to EditorToolbar
2021-04-15 13:09:50 +02:00
Henrik Giesel
2046b00c38
Fix clicking the bold button immediately showing the updated button state
...
- rather than only after typing
2021-04-15 13:09:49 +02:00
Henrik Giesel
bb64f73c1a
Support building as external repo
2021-04-15 13:09:49 +02:00
Henrik Giesel
10952de3c5
Remove lazyProperties -> we use withLazyProperties instead
2021-04-15 13:09:49 +02:00
Henrik Giesel
37ed3e8209
Fix some code quality issues
2021-04-15 13:09:49 +02:00
Henrik Giesel
96feba7a3e
Pass in buttons and menus directly as stores
2021-04-15 13:09:49 +02:00
Henrik Giesel
8b906100c0
Make --toolbar-size a parameter
2021-04-15 13:09:49 +02:00
Henrik Giesel
9cbab08b00
Add ButtonDropdown for dropdowns like the MathJax dropdown on AnkiMobile
2021-04-15 13:09:49 +02:00
Henrik Giesel
6953389798
Add exports for add-ons
2021-04-15 13:09:49 +02:00
Henrik Giesel
45992b68cd
Make it easier to update buttons and menus
2021-04-15 13:09:49 +02:00
Henrik Giesel
7f42b38e7a
Add labels and titles to all buttons
2021-04-15 13:09:49 +02:00
Henrik Giesel
216b93c060
Add titles to buttons with lazyProperties
2021-04-15 13:09:49 +02:00
Henrik Giesel
4e6d5d9adb
Move logic from index.ts to their individual files
2021-04-15 13:09:49 +02:00
Henrik Giesel
3ddbc1e6c3
Add first lazily loaded i18n strings
2021-04-15 13:09:49 +02:00
Henrik Giesel
9b68a5c2c3
Give select an effect on :hover
2021-04-15 13:09:49 +02:00
Henrik Giesel
5f498e6142
Make select display inline-block
2021-04-15 13:09:49 +02:00
Henrik Giesel
fb668c56e6
Make Toolbar resizable through a single CSS variable --toolbar-size
2021-04-15 13:09:49 +02:00
Henrik Giesel
f526b51ea2
Add SelectButton
2021-04-15 13:09:49 +02:00
Henrik Giesel
fa900e1565
Add dropdown menu to mathjax button
2021-04-15 13:09:49 +02:00
Henrik Giesel
391f64f648
Make it so you can include DropdownMenus on all kinds of buttons
2021-04-15 13:09:49 +02:00
Henrik Giesel
5eb07d3fc7
WIP: Turn DropdownMenu into a _decorator_ usable with all other button types
2021-04-15 13:09:49 +02:00
Henrik Giesel
a820059b8f
Utilize enableButtons disableButtons from Svelte component
2021-04-15 13:09:49 +02:00
Henrik Giesel
9340d20c20
Display .active:active as :hover buttons
2021-04-15 13:09:49 +02:00
Henrik Giesel
4280bf28f8
Add active shadow on ColorPicker
2021-04-15 13:09:49 +02:00
Henrik Giesel
e25583d7ff
Move display:flex from outer div to ButtonGroup ul
2021-04-15 13:09:49 +02:00
Henrik Giesel
7f5e9b1b33
Add negative tabindex
2021-04-15 13:09:49 +02:00
Henrik Giesel
b5b9c79f1c
Add mathjaxButton and htmlButton instead of more button
2021-04-15 13:09:49 +02:00
Henrik Giesel
77de6c0288
Make icons slightly smaller, so they are the same size as before
2021-04-15 13:09:49 +02:00
Henrik Giesel
12021228a5
Make all buttons functional
2021-04-15 13:09:49 +02:00
Henrik Giesel
2f808fe60c
Move initialization logic from EditorToolbar to index.ts
2021-04-15 13:09:49 +02:00
Henrik Giesel
bf433f13be
Simplify General Toolbar structure
2021-04-15 13:09:49 +02:00
Henrik Giesel
773f431bb8
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
8c931af17c
Make all Leaf buttons 30px high and give same vertical-align
2021-04-15 13:09:49 +02:00
Henrik Giesel
0269c97b2e
Rename IconButtonInner to InnerButton, as it does not necessarily contain an Icon
2021-04-15 13:09:49 +02:00
Henrik Giesel
a12e39a15f
Add hover and active effects
2021-04-15 13:09:49 +02:00
Henrik Giesel
b26c4294ec
Display ButtonGroups inline-block
2021-04-15 13:09:49 +02:00
Henrik Giesel
9563da37d3
Add ButtonGroup for grouping of toolbar items
2021-04-15 13:09:49 +02:00
Henrik Giesel
ccb7c5d68a
Add CommandIconButton functionality
2021-04-15 13:09:49 +02:00
Henrik Giesel
0963d53e0c
Add color.ts for foreground color and color picker
2021-04-15 13:09:49 +02:00
Henrik Giesel
fee78d2570
Add remaining icons for toolbar
2021-04-15 13:09:49 +02:00
Henrik Giesel
a0a9619722
Include icons directly in ts lib
2021-04-15 13:09:49 +02:00
Henrik Giesel
7787a7827f
First implementation
2021-04-15 13:09:48 +02:00
Henrik Giesel
de77e40e4d
Add ts/editor-toolbar
2021-04-15 13:09:48 +02:00
Damien Elmes
6f3e682c9f
move bootstrap into ts/sass
2021-04-15 16:10:01 +10:00
Damien Elmes
b0206ec1bf
support external building of sass; node_modules->ts/bootstrap
2021-04-15 15:59:17 +10:00
Damien Elmes
6cee43631a
allow passing sass deps to svelte compile/check
2021-04-15 14:27:53 +10:00
Damien Elmes
2d417b1160
update other ts deps
2021-04-15 10:59:29 +10:00
Damien Elmes
121e8db22a
remove unused esbuild package, and update rules_nodejs packages
2021-04-15 10:57:19 +10:00
Damien Elmes
13d415f8e3
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
b9b1fe81b1
fix initial ease not being updated
2021-04-14 23:01:03 +10:00
Damien Elmes
7f738c11a2
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
e6306bb29d
Merge pull request #1128 from hgiesel/webviewcss3
...
Remove unnecessary exports from sass/BUILD.bazel
2021-04-14 21:28:25 +10:00
Damien Elmes
646b58a1a9
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
a9439eaf02
Remove unnecessary exports from sass/BUILD.bazel
...
I think these were just part of an unsuccessful experiment
Partially reverses cfb9ed267f
2021-04-14 12:31:42 +02:00
Damien Elmes
cca9195ea5
run prettier on some sass files
2021-04-14 18:22:33 +10:00
Damien Elmes
c49d6ce49f
run black/isort on Python scripts
2021-04-14 18:22:02 +10:00
Damien Elmes
7b2b4528b3
Merge pull request #1125 from hgiesel/scrollbarcorner
...
Color Scrollbar bottom right corner
2021-04-14 12:43:34 +10:00
Henrik Giesel
f891a98087
Color in the Scrollbar corner at the bottom right into the appropriate color
2021-04-13 21:41:15 +02:00
Henrik Giesel
cfb9ed267f
Create explicit dependencies for the congrats,editor,graphs scss files
2021-04-13 19:47:03 +02:00
Henrik Giesel
a76f1d64ad
Move compile_sass.bzl to /ts + Remove core.css from data/web (unused?)
2021-04-13 19:47:03 +02:00
Henrik Giesel
ffd159f9a0
Declare dependencies in data/web/css
2021-04-13 19:47:03 +02:00
Henrik Giesel
85808e4cbf
Make h1 explicitly bold in Graph.svelte
2021-04-13 19:47:03 +02:00
Henrik Giesel
8f0f8f9af8
Use graphs-base and congrats-base
2021-04-13 19:47:03 +02:00
Henrik Giesel
fee6ee7319
Do not include webview.css for editor
2021-04-13 19:47:03 +02:00
Henrik Giesel
825509ba0c
Move card_counts and split off fusion_vars
2021-04-13 19:47:03 +02:00
Henrik Giesel
fbc21f0090
Add base.scss
2021-04-13 19:47:03 +02:00
Damien Elmes
62423bd041
add missing copyright headers to *.svelte
2021-04-13 19:02:41 +10:00
Damien Elmes
e520e8df02
add missing copyright headers to *.ts
2021-04-13 18:57:08 +10:00
Damien Elmes
26ac64526c
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
9440898e60
add naturalWholeUnit() and basic tests to lib/time.ts
...
naturalWholeUnit() is not currently used
2021-04-12 14:42:06 +10:00
Damien Elmes
829b99e5b2
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
6e4cdc52a6
stop Svelte warnings from failing the build
...
+ check for them at test time
2021-04-12 14:28:09 +10:00
Damien Elmes
94330fc0eb
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
c1c14419a2
switch esbuild to a toolchain
2021-04-07 15:19:23 +10:00
Damien Elmes
4975f47ea3
update to latest esbuild
2021-04-07 14:54:40 +10:00
abdo
09985ce57f
Fix graph labels display in RTL layout
2021-04-02 06:25:38 +03:00
Damien Elmes
ddcb2adf71
add docstring to forEditorField
2021-03-29 18:13:45 +10:00
Damien Elmes
0e4bcbd69b
Merge pull request #1101 from Arthur-Milchior/TS_type
...
NF: add type ts
2021-03-29 18:09:56 +10:00
Damien Elmes
f1780e6e24
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
a114f36b4c
NF: add type ts
2021-03-28 23:59:16 +02:00
Henrik Giesel
922ee56ce8
Add copy_bootstrap_icons macro
2021-03-28 18:50:37 +02:00
Henrik Giesel
7dcb3ae678
Include pin-angle icon via inline SVG
2021-03-28 16:15:30 +02:00
Damien Elmes
dbfbcc36c6
define file extension in .d.ts so typescript doesn't complain
2021-03-28 16:15:28 +02:00
Henrik Giesel
3a44ffe2bb
Unsuccessfully try to add text loader for .svg files
2021-03-28 16:14:52 +02:00
Henrik Giesel
bbea9ac9d7
Remove bootstrap-icons from css folder
2021-03-28 16:14:52 +02:00
Damien Elmes
0d49b3eabb
move back to latest Jest
...
Patch is no longer required after previous change
2021-03-28 21:44:55 +10:00
Damien Elmes
493557aee7
fix Jest on Windows
2021-03-28 20:59:51 +10:00
Damien Elmes
f46f4cbf17
Revert "disable Jest tests on Windows for now"
...
This reverts commit 36022844bb
.
2021-03-28 20:59:31 +10:00
Damien Elmes
36022844bb
disable Jest tests on Windows for now
2021-03-28 20:34:10 +10:00
Damien Elmes
c891f45ed9
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
05ea624f85
Utilize ts/tsconfig.js from ts/{editor,html-filter}
2021-03-28 19:41:20 +10:00
Henrik Giesel
fb9461508e
No need to explicitly import from index
2021-03-28 19:41:20 +10:00
Henrik Giesel
35beebcfa6
Satisfy formatter
2021-03-28 19:41:20 +10:00
Henrik Giesel
861c723ec0
Avoid using outerHTML + Fix regression
2021-03-28 19:41:20 +10:00
Henrik Giesel
f9259621a6
Change filter logic in html-filter/element: predicate true, means it stays in
2021-03-28 19:41:20 +10:00
Henrik Giesel
519aea2ea8
Move html-filter into its own directory
2021-03-28 19:41:20 +10:00
Henrik Giesel
730dfdd527
Insert break statements into switch
2021-03-28 19:41:20 +10:00
Henrik Giesel
39aa549ac9
Create htmlFilter{Node,Styling} for better separation of concerns
2021-03-28 19:41:20 +10:00
Henrik Giesel
d3d3720b39
Put filterElement logic completely into its own file
2021-03-28 19:41:20 +10:00
Henrik Giesel
1d4d7fabec
Move most of tags allowed to its own file
2021-03-28 19:41:20 +10:00
Henrik Giesel
592d73c344
Refactor htmlFilter to use function declarations
2021-03-28 19:41:20 +10:00
Damien Elmes
76127126a6
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
f3a3bb5467
add links to pending PRs
2021-03-28 12:32:40 +10:00
Damien Elmes
559d1a4793
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
08fd7a4747
add esbuild/helpers.bzl in from upstream
2021-03-28 11:12:23 +10:00
Damien Elmes
b23642d568
update $(location ...) in esbuild inject lines
2021-03-28 09:35:46 +10:00
Damien Elmes
944528d462
support expanding locations in esbuild arguments
2021-03-28 09:35:27 +10:00
Damien Elmes
fd324d4711
update TS deps
2021-03-27 15:02:02 +10:00
Damien Elmes
d2eb5c32f4
remove obsolete comment
2021-03-26 21:47:23 +10:00
Damien Elmes
b57e9be46f
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
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