Commit graph

758 commits

Author SHA1 Message Date
Henrik Giesel
b0988e43e1 Move EditorToolbar API into EditorToolbar.svelte 2021-04-25 19:15:00 +02:00
Henrik Giesel
a21a4d330b Initialize editor toolbar via function, not web component 2021-04-25 18:32:01 +02:00
Damien Elmes
bd45967129 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
7aceb9fd3f subLabel->tooltip 2021-04-25 21:37:21 +10:00
Damien Elmes
9a25f8480d slide warnings in/out 2021-04-25 21:10:53 +10:00
Damien Elmes
e5264c909b use lodash instead of json in RevertButton 2021-04-25 19:34:07 +10:00
Damien Elmes
d8ca46e6e9 experimental support for extending add-ons screen with Svelte 2021-04-25 19:33:18 +10:00
Damien Elmes
fdb814cbcd deckconfig->deckoptions 2021-04-25 19:02:30 +10:00
Damien Elmes
863fa972ef RevertIcon->RevertButton 2021-04-25 19:02:30 +10:00
Damien Elmes
d5c1f19521 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
fcd1582adb Merge pull request #1150 from hgiesel/notetypechoose
Editor Toolbar cleanup
2021-04-24 11:04:24 +10:00
Henrik Giesel
6209731cd0 Prefer slicing and splicing 2021-04-24 01:48:22 +02:00
Henrik Giesel
f94c7f380f Fix typing typo 2021-04-24 01:15:16 +02:00
Henrik Giesel
438fcae263 Add addMenu and updateMenu, avoid using {buttons,menus}Promise outside of class 2021-04-24 01:08:55 +02:00
Henrik Giesel
9346e007c9 Add mostly working addcards topbar 2021-04-24 00:00:32 +02:00
Henrik Giesel
667db3c12e Simplify Handling of margins and padding of ButtonGroup & ButtonDropdown 2021-04-23 22:22:53 +02:00
Henrik Giesel
bf0ea46536 Simplify tag structure in ButtonGroup 2021-04-23 21:42:44 +02:00
Henrik Giesel
da230fbb24 Add simple version of Chooser buttons 2021-04-23 21:25:44 +02:00
Henrik Giesel
01b53a6be8 Make update algorithm in editor-toolbar/index.ts recursive 2021-04-23 20:50:09 +02:00
Henrik Giesel
e66edd3887 Reduce typing overhead in ts/editor-toolbar/index.ts and export buttonGroup 2021-04-23 19:05:43 +02:00
Henrik Giesel
aebaaf1a70 Add IterableToolbarItem interface for easier typing 2021-04-23 18:53:52 +02:00
Henrik Giesel
14d3877bb4 Fix regression from eefdd564e2
Negative indices were not treated correctly (as offset from end)
2021-04-23 18:21:03 +02:00
Henrik Giesel
5acf330414 Add withLabel component 2021-04-23 17:20:52 +02:00
Henrik Giesel
59f0a2dd70 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
68d35835de onDestroy must be called from top level 2021-04-23 20:25:47 +10:00
Damien Elmes
c78bcebcf6 make return value match mergeTooltipAndShortcut() signature 2021-04-23 19:48:36 +10:00
Damien Elmes
eefdd564e2 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
5e37cb7561 move isApplePlatform() into lib/shortcuts, and remove sveltelib file 2021-04-23 11:22:30 +10:00
Damien Elmes
fba4b7ac24 use new registerShortcut() fuction in DeckConfigPage 2021-04-23 11:20:12 +10:00
Damien Elmes
61dfa02b88 update remaining anki/ references 2021-04-23 10:16:40 +10:00
Henrik Giesel
31eaeef09b 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
628f337c3c Merge pull request #1148 from hgiesel/updatetypescript
Update Typescript to 4.2.4
2021-04-23 09:48:34 +10:00
Damien Elmes
ca74b25481 Merge pull request #1146 from hgiesel/shortcuts
Shortcut API for Editor
2021-04-23 09:44:01 +10:00
Henrik Giesel
ed602146df Update eslint to 4.22.0 2021-04-22 19:19:39 +02:00
Henrik Giesel
4b7e7bbdb1 Import createPatch in ts/sql_format directly 2021-04-22 18:43:35 +02:00
Henrik Giesel
697fa4ed9a Update Typescript to 4.2.4 2021-04-22 18:33:42 +02:00
Henrik Giesel
90a6024dff Separate type import for WithShortcut 2021-04-22 18:19:09 +02:00
Henrik Giesel
d4e6fe6a34 Prefer optionalModifiers over register multiple shortcuts 2021-04-22 18:15:25 +02:00
Henrik Giesel
4ebad6f173 Add optionalModifiers parameter to registerShortcut 2021-04-22 17:28:38 +02:00
Henrik Giesel
33fc648695 Add license headers 2021-04-22 16:49:30 +02:00
Henrik Giesel
363469dc36 Satisfy formatter 2021-04-22 15:24:27 +02:00
Henrik Giesel
0abcb86007 Use registerShortcut in inputHandlers + Avoid focus on color picker 2021-04-22 15:09:09 +02:00
Henrik Giesel
2477684e1c Fix typo deregisters 2021-04-22 14:54:29 +02:00
Henrik Giesel
469c138ec1 Add shortcut labels for ColorPicker and Latex items 2021-04-22 14:35:44 +02:00
Henrik Giesel
e68d019b19 Add better better shortcutLabel support for buttons 2021-04-22 14:18:48 +02:00
Damien Elmes
c7c81c8f15 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
ffb0fd67e5 Add editing fluent strings without attached keyboard shortcuts 2021-04-22 13:38:37 +02:00
Henrik Giesel
7c2ac1fd37 Add getPlatformString for making shortcuts to platform string 2021-04-22 13:04:24 +02:00
Damien Elmes
d3d083651f catch ctrl/cmd+enter to save settings 2021-04-22 19:54:57 +10:00
Damien Elmes
80689d319a move top padding into sticky area to prevent movement 2021-04-22 19:54:50 +10:00
Damien Elmes
6d4c9994a8 disable overscroll on html as well 2021-04-22 19:54:44 +10:00
Damien Elmes
84eea8dbb9 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
fcf6ad954f 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
d0ade13654 fix add/rename dialog right-aligning, and RTL issue 2021-04-22 17:31:33 +10:00
Damien Elmes
3b86fbe454 fill width when steps exceed 2; add bottom margin 2021-04-22 17:28:14 +10:00
Damien Elmes
1a8da843c6 allow checkboxes and select entries to take up whole line 2021-04-22 16:47:10 +10:00
Damien Elmes
779bc4953a switch config to a grid; move info to popups 2021-04-22 15:39:50 +10:00
Damien Elmes
ab5c32abfd fix select appearance inside webview 2021-04-22 11:41:41 +10:00
Henrik Giesel
3cbddf3e8c Move up cloze id 2021-04-22 03:37:01 +02:00
Damien Elmes
b175ba9d72 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
7ab5f736df Move other buttons to WithShortcut 2021-04-22 03:25:31 +02:00
Damien Elmes
a7ef410615 hook new deck config screen up behind an env var 2021-04-22 10:59:16 +10:00
Henrik Giesel
b0ddae0f6c Add first shortcuts for bold, italic, underline, removeFormat 2021-04-22 02:37:04 +02:00
Henrik Giesel
e2e1b4d37b Use registerShortcut within WithShortcut 2021-04-22 01:15:38 +02:00
Henrik Giesel
3b52bf6cb8 Add lib/shortcuts 2021-04-22 01:15:38 +02:00
Henrik Giesel
20f17a962a Add WithShortcut 2021-04-22 01:15:38 +02:00
Henrik Giesel
b66699355c Fix isBlockElement() 2021-04-21 14:40:16 +02:00
Henrik Giesel
099ca563e3 Remove paragraph button 2021-04-21 14:36:24 +02:00
Henrik Giesel
ae801729ec Prefer exec over matchAll 2021-04-21 14:18:44 +02:00
Henrik Giesel
18efdcac67 Gather editor-toolbar svelte components into filegroup 2021-04-21 13:18:31 +02:00
Henrik Giesel
29fef178d8 Add copyright headers 2021-04-20 15:43:59 +02:00
Henrik Giesel
282d9df02e Remove last ts-expect-error 2021-04-20 15:41:26 +02:00
Henrik Giesel
6e2f2fc3a6 Move toolbar initialization into toolbar.ts 2021-04-20 15:32:02 +02:00
Henrik Giesel
f11db5579e Move dynamic component initialization logic from editor to editor-toolbar 2021-04-20 14:23:28 +02:00
Henrik Giesel
94eb3af662 Improve behavior of paragraph command and add tooltip 2021-04-20 13:46:01 +02:00
Henrik Giesel
973b7008b7 Make indent outdent only work for list items
+ make paragraph show its active state
2021-04-20 13:44:44 +02:00
Henrik Giesel
5e978b28d4 Move button implementations from editor-toolbar to editor 2021-04-20 13:44:44 +02:00
Henrik Giesel
93136030e9 Include editor-toolbar as a library in editor 2021-04-20 13:44:44 +02:00
Henrik Giesel
85ea209d06 Generalize commandIconButton functionality of setting active state 2021-04-20 13:44:44 +02:00
Henrik Giesel
96bd5c7b20 Add paragraph button 2021-04-20 13:44:44 +02:00
Henrik Giesel
3adcad4ca3 Don't use <br>s when inside of paragraph 2021-04-20 13:44:44 +02:00
Henrik Giesel
ece4f75592 Generalize inListItem to getAnchorElement 2021-04-20 13:44:43 +02:00
Henrik Giesel
a3a085249d Add CSS for making empty paragraph elements visible 2021-04-20 13:44:43 +02:00
Damien Elmes
f61920e7ed Merge pull request #1139 from hgiesel/toolbarfixes
Fix ButtonDropdown not hiding when closed
2021-04-20 19:54:51 +10:00
Damien Elmes
48fc9251bd implement deck config saving on JS end 2021-04-20 19:50:05 +10:00
Damien Elmes
de5f892807 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
c5cecabdd4 include sourcemaps for pages/* in dev builds 2021-04-20 17:33:46 +10:00
Damien Elmes
05f75c6194 implement deck config updating 2021-04-20 14:57:44 +10:00
Henrik Giesel
5550dc8e44 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
fc419e3b81 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
1f0ff0f22d add schema change prompt to removal, tweak return struct 2021-04-18 17:33:12 +10:00
Damien Elmes
3aa1d8bab9 move daily limits into separate section; add extra warning+tweak formatting 2021-04-18 00:04:02 +10:00
Damien Elmes
75205948b3 apply spinbox limits on each keystroke 2021-04-18 00:03:02 +10:00
Damien Elmes
20d1a3d1b1 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
0f741912b6 add text to describe deckconfig warnings 2021-04-17 22:53:47 +10:00
Damien Elmes
e825a77ddd update config automatically, and update parent limits at same time 2021-04-17 21:44:33 +10:00
Damien Elmes
dbf31d6748 add some unit tests to deckconfig 2021-04-17 21:00:10 +10:00
Damien Elmes
f89d7b2b1e add a hack to avoid Long.js in Jest tests 2021-04-17 17:05:48 +10:00
Damien Elmes
c0e615ddde 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
0645cb29b7 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