Commit Graph

818 Commits

Author SHA1 Message Date
Henrik Giesel
efcf1976b5 Allow any in deckoptions/index until typing is provided 2021-05-18 19:21:25 +02:00
Henrik Giesel
2e13d3a21d Make blur a proper event listener 2021-05-18 19:19:05 +02:00
Henrik Giesel
32ca473fd4 Make SaveButton functional 2021-05-18 18:55:22 +02:00
Henrik Giesel
94cdebe59c Make styling on select button behave correctly 2021-05-18 17:50:18 +02:00
Henrik Giesel
e5d11ac547 WIP: Use our components in deckoptions sticky bar 2021-05-18 16:32:29 +02:00
Henrik Giesel
a8b1291f84 Use StickyBar in deckoptions 2021-05-18 14:13:11 +02:00
Damien Elmes
ec4ed9842a update jsdoc
https://github.com/jsdoc/jsdoc/issues/1908
2021-05-18 09:22:57 +10:00
Damien Elmes
9edac805ad support card state mutator in test scheduler
Documentation to come
2021-05-17 16:59:02 +10:00
Damien Elmes
4a85ebeda2 fix review sort order being shown in v2 scheduler options 2021-05-16 21:50:51 +10:00
Damien Elmes
6b53c0c175 support markdown in JS tooltips
`marked` adds about 44k to the bundle size unfortunately :-(
2021-05-16 21:43:58 +10:00
Damien Elmes
13519a929c rework various aspects of the test scheduler
- Daily limits are no longer inherited - each deck limits its own
cards, and the selected deck enforces a maximum limit.
- Fetching of review cards now uses a single query, and sorts in advance.
In collections with a large number of overdue cards and decks, this is
faster than iterating over each deck in turn.
- Include interday learning count in review count & review limit, and
allow them to be buried.
- Warn when parent review limit is lower than child deck in deck options.
- Cap the new card limit to the review limit.
- Add option to control whether new card fetching short-circuits.
2021-05-16 20:23:07 +10:00
Damien Elmes
dbbcb3e38c expose new sorting options in test scheduler options; move things around 2021-05-13 15:23:16 +10:00
Damien Elmes
a1bd6b481d pass sort options into test scheduler
- split new card fetch order and subsequent sort order; use latter
when building queues
- default to spacing siblings when burying is off, with options to
show each sibling in turn, and shuffle the fetched cards
2021-05-13 15:21:20 +10:00
Damien Elmes
63437f5cde roll back bootstrap until 5.0.1 comes out
Modals are currently broken:
https://github.com/twbs/bootstrap/issues/33840
2021-05-11 13:06:03 +10:00
Damien Elmes
220e14bf0f disable broken svelte_check test on Windows for now
Likely caused by a lack of sandboxing on Windows, causing the generated
.d.ts files to be visible to svelte_check, and being picked up in
preference over the .svelte file.
2021-05-08 12:15:49 +10:00
Damien Elmes
010c3da770
Merge pull request #1159 from hgiesel/newapproach
Prefer idiomatic Svelte features over dynamic components
2021-05-08 11:35:31 +10:00
Henrik Giesel
8b0c6ba5df Check for id when inserting dynamic elements
* I'm not sure it behaved, if there were multiple elements
  inserted by different add-ons into the same container
2021-05-07 16:50:17 +02:00
Henrik Giesel
cf38cb334e Fix remaining errors in editor/*.svelte files 2021-05-07 15:10:28 +02:00
Henrik Giesel
6081a02558 Use MouseEvent instead of KeyboardEvent in WithShortcut
* otherwise the disabled button will allow it to pass through
2021-05-07 14:46:08 +02:00
Henrik Giesel
9e747a5744 Rename Detachable.detach to detached 2021-05-07 14:31:08 +02:00
Damien Elmes
83850a1582 update license checker for security issue in dependency 2021-05-07 18:50:25 +10:00
Damien Elmes
397e226f8b update JS deps
Unfortunately we're still stuck with a security alert about underscore,
because the latest jsdoc uses an old underscore, and protobufjs depends
on it.

https://github.com/jsdoc/jsdoc/issues/1908
2021-05-07 18:03:22 +10:00
Damien Elmes
9674860e2b tweak hover css to work with latest js deps 2021-05-07 17:57:28 +10:00
Henrik Giesel
49745e1282 Fix module name formatting 2021-05-07 02:14:54 +02:00
Henrik Giesel
cc02563ca1 Fix Preview tooltip 2021-05-07 02:04:44 +02:00
Henrik Giesel
f50d81f787 Fix unused CSS selector issue in graphs introduced by updating Svelte 2021-05-07 02:04:44 +02:00
Henrik Giesel
15f306950d Use any in toolbar.ts for using context as parameter 2021-05-07 02:04:44 +02:00
Henrik Giesel
81cf2c9bd4 Turn on editor:eslint 2021-05-07 02:04:44 +02:00
Henrik Giesel
d1c99cfb7b Add copyright header 2021-05-07 02:04:44 +02:00
Henrik Giesel
b2eec9c3c3 Add ts-expect-error for module import in EditorToolbar 2021-05-07 02:04:44 +02:00
Henrik Giesel
2112b419f9 Fix ButtonDropdown 2021-05-07 02:04:44 +02:00
Henrik Giesel
193e2f9e60 Make LabelButtons support active notion 2021-05-07 02:04:44 +02:00
Henrik Giesel
0f4d4eb5a9 Only initialize extension apis if necessary 2021-05-07 02:04:44 +02:00
Henrik Giesel
c9368ed98f Add lefttopbtns as AddonButtons 2021-05-07 02:04:44 +02:00
Henrik Giesel
928f486867 Add ButtonToolbarItem as interface for modifying button groups 2021-05-07 02:04:44 +02:00
Henrik Giesel
4a6b3b3786 Clean up ButtonGroup and factor out extension logic 2021-05-07 02:04:44 +02:00
Henrik Giesel
e80f43e8fc Enable setting of PreviewButton and hiding of cloze button again 2021-05-07 02:04:42 +02:00
Henrik Giesel
862905c58a Fix typing issues 2021-05-07 02:03:55 +02:00
Henrik Giesel
9c1936698c Set tooltip for buttons correctly 2021-05-07 02:03:55 +02:00
Henrik Giesel
0371405c23 Use ButtonGroupItem for all buttons in editor 2021-05-07 02:03:55 +02:00
Henrik Giesel
bcb1b5d214 Set ButtonPosition via ButtonGroupItem 2021-05-07 02:03:55 +02:00
Henrik Giesel
e1cc22b9ee Add hiding functionality in ButtonGroup 2021-05-07 02:03:55 +02:00
Henrik Giesel
26f85a0f9d Add API for adding new buttons, updating existing ones in ButtonGroup 2021-05-07 02:03:55 +02:00
Henrik Giesel
413ac6cf63 Fix issue with dropdowns 2021-05-07 02:03:55 +02:00
Henrik Giesel
c1adebf2da Add .dropdown-menu class to DropdownMenu 2021-05-07 02:03:55 +02:00
Henrik Giesel
9d9df2a04b Add back ColorButtons 2021-05-07 02:03:55 +02:00
Henrik Giesel
bd31a19852 Activate FormatBlockButtons 2021-05-07 02:03:55 +02:00
Henrik Giesel
baff3df381 Add all format inline buttons 2021-05-07 02:03:55 +02:00
Henrik Giesel
982c85ded6 Export module functions from EditorToolbar 2021-05-07 02:03:55 +02:00
Henrik Giesel
0baf14dc8b Refactor {CommandIcon,Icon,Square}Button into IconButton and WithState 2021-05-07 02:03:55 +02:00
Henrik Giesel
2f5074bff6 Make StickyBar flex 2021-05-07 02:03:55 +02:00
Henrik Giesel
8aa3f5f2fa Translate ts files in ts/editor to svelte files 2021-05-07 02:03:55 +02:00
Henrik Giesel
47b1cfe804 Rename editor-toolbar to components 2021-05-07 02:03:55 +02:00
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