Commit Graph

759 Commits

Author SHA1 Message Date
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