Commit graph

1543 commits

Author SHA1 Message Date
Henrik Giesel
3a18dce03f Prefer event.which over event.{key,code}
It works better with alternative Latin-based keyboard layouts
2021-05-22 17:50:23 +02:00
Damien Elmes
7bf661ee05 fix missing cumulative overlays in graphs 2021-05-22 10:19:13 +10:00
Henrik Giesel
c89c42dc37 Base shortcuts with letters no event.key, with symbols/numbers on event.code 2021-05-21 22:45:55 +02:00
Henrik Giesel
5ef056a23e Make numpad keys also cancel current shortcut sequence 2021-05-21 19:03:06 +02:00
Henrik Giesel
9d212487c6 Capitalize keyboard shortcut letters 2021-05-20 18:46:22 +02:00
Henrik Giesel
ddeae60854 Instead of timeouts, make non-related keypresses cancel shortcut sequences 2021-05-20 18:32:53 +02:00
Henrik Giesel
ae19ed527d Switch to keyboard shortcuts based on event.key 2021-05-20 18:28:59 +02:00
Damien Elmes
84e2cfbe3f add a hack to handle sass resolution in svelte in external workspace 2021-05-20 15:32:06 +10:00
Damien Elmes
e2b2d1e9d8 experiment with bottom border on deck option headings 2021-05-20 14:54:07 +10:00
Damien Elmes
d5f4860f9b fix fields/cards font size & too-large toolbar on high DPI Windows
- enable default_css on editor again, so that the html element
is set to the system font size. If this is bringing in unwanted styling,
maybe we can come up with a different solution that just adjusts the
fonts
- make toolbar size relative to html font size, instead of hard-coding
it
2021-05-20 13:15:17 +10:00
Damien Elmes
5d21383e88 make sticky bar border a bit fainter 2021-05-20 12:49:07 +10:00
Damien Elmes
9789dd2bf9 fix invisible dropdown arrow in night mode; use bootstrap styling in top 2021-05-20 12:43:47 +10:00
Damien Elmes
b9a4908bfb apply the left padding in one place 2021-05-19 20:02:04 +10:00
Damien Elmes
e91ca199fb use standard toolbar colors for legacy items 2021-05-19 19:58:12 +10:00
Damien Elmes
6547af529a fix broken night mode styling
#1172 removed the select styling, but EnumSelector has not been updated
yet
2021-05-19 19:48:31 +10:00
Damien Elmes
df38788e07 move deck name into window title; v-center sticky bar 2021-05-19 19:34:15 +10:00
Damien Elmes
3f0fd548d8 increase toolbar size by 5px and use the default font sizes
Workaround for #1174 for now
2021-05-19 19:23:32 +10:00
Damien Elmes
fdd162a7b9 simplify previous patch
The default 1 rem is fine, but we need to apply the default font size
to the html element instead of the body for the definition of rem to
update.

Fixes #1174
2021-05-19 19:06:20 +10:00
Damien Elmes
b20381afad fix inconsistent font sizes
fixes #1174
2021-05-19 19:00:09 +10:00
Damien Elmes
363548e8a2 indent headings and bold them to match graph style 2021-05-19 17:20:01 +10:00
Damien Elmes
dbc043fd50 tweak left margin, and checkbox top margin 2021-05-19 17:18:28 +10:00
Damien Elmes
19dd739764 left align input boxes; decrease width 2021-05-19 16:41:19 +10:00
Damien Elmes
581480191a show note about old options screen if any add-ons are installed 2021-05-19 16:20:25 +10:00
Damien Elmes
a564399414 disable svelte-check on Windows for now 2021-05-19 11:45:02 +10:00
Henrik Giesel
a13a9e3b40 Add back global CSS for input 2021-05-18 19:30:43 +02:00
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
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
Henrik Giesel
c8f0ee8b3b Add search event listeners on graphs 2021-01-25 13:45:42 +01:00
Henrik Giesel
19db519a7e Fix RangeBox RevlogRange defaulting to All instead of Year 2021-01-23 13:57:43 +01:00
Damien Elmes
2a875ffc55
Merge pull request #934 from hgiesel/graphprefs
Add GraphsPreferences API to graphs for setting persistent preferences
2021-01-23 21:24:41 +10:00
Damien Elmes
37ca8afaf6 minor wording tweak: GraphsPreferences -> GraphPreferences 2021-01-23 20:47:45 +10:00
Damien Elmes
6f798930a2 fix graphs failing to load until preferences set
The protobuf object will be missing keys that have the default value,
so we need to fill the defaults in.
2021-01-23 20:40:43 +10:00
Henrik Giesel
089960bfef Use scaleSqrt for calendar review values 2021-01-22 22:39:29 +01:00
Henrik Giesel
de71123ab4 Rename GraphsPreferencesOut to simply GraphsPreferences 2021-01-22 19:39:03 +01:00
Henrik Giesel
17ebb69151 Make code typecheck, fix issue with day labels in nightMode 2021-01-22 19:02:05 +01:00
Henrik Giesel
ebd3ca8a8f Set calendar labels to emptyColour 2021-01-22 18:15:16 +01:00
Henrik Giesel
834f2de99b Make cardCountsSeparateInactive settable 2021-01-22 18:03:58 +01:00
Henrik Giesel
806e52d6db Make first day of week settable through UI 2021-01-22 17:51:15 +01:00
Henrik Giesel
aebaa04652 Uniformly rename firstWeekday to firstDayOfWeek 2021-01-22 16:53:33 +01:00
Henrik Giesel
b0c2e8c99c Remve SeparateInactiveCheckbox and correctly use preferences values
* Expose issue with non-existing calendar value in GraphPreferences
2021-01-22 14:56:41 +01:00
Henrik Giesel
d1ada88657 Successfully send post request to rust 2021-01-22 14:37:24 +01:00
Henrik Giesel
054c30a695 Add non-functioning logic for settings graphs preferences 2021-01-22 13:14:35 +01:00
Henrik Giesel
64352ce0d5 Hook up cardCountsSeparateInactive to PreferenceStore 2021-01-22 13:14:35 +01:00
Henrik Giesel
5fc8b1965a Add PreferenceStore with gettable/settable preferences
* setting is not yet hooked up to rslib
2021-01-22 13:14:33 +01:00
Henrik Giesel
665a13e378 Add GraphsPreferences endpoint to backend 2021-01-22 13:13:48 +01:00
Henrik Giesel
d27167ce86 Add first GraphPreferences which are not hooked to backend yet 2021-01-22 13:13:48 +01:00
Damien Elmes
e2af5fb718
Merge pull request #933 from hgiesel/calendardays
Add labels to calendar days
2021-01-22 11:52:44 +10:00
Henrik Giesel
d1980aae68 Get weekday labels via Date.prototype.toLocaleString 2021-01-21 19:38:56 +01:00
Henrik Giesel
d961e61f2b Revert "Make weekday labels localizable"
This reverts commit 8e39ebb2f5.
2021-01-21 18:56:56 +01:00
Damien Elmes
6d8a9a7ef5
Merge pull request #930 from hgiesel/editorts
Refactor editor.ts
2021-01-21 10:44:11 +10:00
Henrik Giesel
8ab2b36034 Support languages with day labels larger than one character 2021-01-20 22:07:02 +01:00
Henrik Giesel
8e39ebb2f5 Make weekday labels localizable 2021-01-20 21:49:01 +01:00
Henrik Giesel
e91b80d270 Add labels to calendar days 2021-01-20 21:17:36 +01:00
Damien Elmes
fca2a95ad5
Merge pull request #931 from hgiesel/reviewsgraph
Retouch the reviews graph a little bit
2021-01-20 09:32:42 +10:00
Henrik Giesel
a656dd5541 Turn Running total box transparent 2021-01-19 12:50:02 +01:00
Henrik Giesel
d780c96b28 Change colors of Reviews graph 2021-01-19 12:22:13 +01:00
Henrik Giesel
47d26126e7 Switch to iterables for elem.style and elem.attributes 2021-01-19 02:48:41 +01:00
Henrik Giesel
a5947e5c65 Satisfy formatter 2021-01-19 00:17:30 +01:00
Henrik Giesel
4a733de94e Use firstWeekday config in graphs data 2021-01-18 23:23:55 +01:00
Damien Elmes
8c6d0e6229 move exports_files call into ts/BUILD.bazel
Suspect it has caused a regression when building from an external
repo.
2021-01-09 18:03:26 +10:00
Damien Elmes
3dad3c90d0 add .sql file formatter
Uses the logic from the sqltools VSCode add-on, with a workaround
for the use of 'type' in some table columns.

By detecting the presence of 'BUILD_WORKSPACE_DIRECTORY' we can tell
if the rule is running in test mode or was run directly, avoiding the
need for separate check and fix rules. It might be nice to extend this
to other formatting rules in the future as well.
2021-01-09 14:22:49 +10:00
Henrik Giesel
1abcbdd79c Include review and relearn cards for ease graph 2021-01-08 17:57:47 +01:00
Henrik Giesel
fac4abb0d5 Add return values to increment and adjustTicks 2021-01-08 12:29:22 +01:00
Henrik Giesel
38a5f64150 Add es2019.array to TypeScript libs, so we can use .flatten and .flatMap 2021-01-08 12:23:21 +01:00
Henrik Giesel
b76639c2e3 Fix cutting off of Review Interval bins 2021-01-08 12:11:53 +01:00
Henrik Giesel
e89996bc27 Omit zero interval, and don't nice the values
* to keep promise of radio buttons:
  * 1 month should mean 30/31 days
2021-01-08 10:07:42 +01:00
Damien Elmes
97e3bfe1c0
Merge pull request #904 from hgiesel/propdue
Streamlining `is:due`, `prop:due`, and the FutureDue graph
2021-01-08 16:34:53 +10:00
Henrik Giesel
aaa35e2cda Include many more cards in the Review Intervals graph 2021-01-07 22:35:34 +01:00
Henrik Giesel
5f52367403 Fix formatting graphs ts 2021-01-07 19:36:08 +01:00
Henrik Giesel
7b14449df4 Fix one-off error for Histograms:
examples:
* x0 = -66 and x1 = -64 should yield 65-66 days ago instead of 64-65 days ago
* x0 = -2 and x1 = 0 should yield 1-2 days ago instead of 0-1 days ago
2021-01-07 17:14:31 +01:00
Henrik Giesel
2d22b09cd8 Display backlog learn cards correctly in FutureDue graph
* now they are shown as due in the past
* before that they were always displayed as due today
2021-01-07 16:13:59 +01:00
Henrik Giesel
936d06b84b Default CardCounts to off 2021-01-06 11:53:58 +01:00
Henrik Giesel
6c638b87f5 Switch relearning cards to schemeReds 2021-01-05 19:37:14 +01:00
Henrik Giesel
ee94c7eb93 Add label for SeparateInactiveCheckbox in ftl file 2021-01-05 19:13:57 +01:00
Henrik Giesel
f5e90bb249 Satisfy formatter 2021-01-05 17:22:27 +01:00
Henrik Giesel
15123915a0 Make pie graphs display correctly when switching between categories 2021-01-05 16:47:47 +01:00
Henrik Giesel
681d82f5cc Replace CountMethodRadios with SeparateInactiveCheckbox method
* cards will still be mostly counted by ctype rather than queue
* if the user wants to include inactive cards buried and suspended will
  be first filtered out, before the rest is counted by ctype
2021-01-05 16:13:06 +01:00
Henrik Giesel
2ae09ae39e Satisfy formatter 2021-01-04 15:36:15 +01:00
Henrik Giesel
9e0984fee1 Refresh colours on Card Count Pies 2021-01-04 15:14:50 +01:00
Henrik Giesel
ecbb08e4c5 Add gatherByQueue and gatherByCtype methods 2021-01-04 14:04:51 +01:00
Henrik Giesel
47551df2f9 Add CountMethodRadios and CardCountMethod enum 2021-01-04 12:21:30 +01:00
Damien Elmes
3240fd2e15 remove empty es6 group; reference original ts_library instead 2021-01-02 21:18:10 +10:00
Damien Elmes
85621867ca remove the unused ts/vendor folder 2021-01-02 11:25:09 +10:00
Damien Elmes
5ec5a47708 merge separate vendor rules into single rule
Rather than creating a separate rule for each package, we can just
create a generic one and reuse it. Also switch to keyword arguments
in the resulting macros, as it's easier to read.
2021-01-02 11:14:00 +10:00
Henrik Giesel
f97ad260bb Add base argument to copy_select_files 2021-01-01 14:39:15 +01:00
Henrik Giesel
12dfb38609 Be a bit more precise when excluding mathmaps_ie.js
* for documentation purposes
2021-01-01 14:16:52 +01:00
Henrik Giesel
8e8a3e220b Remove duplicated logic in ts bzl files by using copy_select_files 2021-01-01 13:45:25 +01:00
Henrik Giesel
ebb8171021 Add css-browser-selector to BAZEL build file in data/web/js/vendor 2020-12-31 16:41:31 +01:00
Henrik Giesel
bfd9c93e61 Add css-browser-selector as bazel rule, and update from 0.4.0 to 0.6.5 2020-12-31 16:27:52 +01:00
Henrik Giesel
079ce6bdf0 Add bazel recipe and update protobufjs to 6.10.2 2020-12-31 16:06:44 +01:00
Damien Elmes
6902a61c21 use :yarn not :yarn_bin
The latter fails on Windows
2020-12-31 12:32:51 +10:00
Damien Elmes
29c2fa2317 add add.sh helper for adding dependency and updating licenses 2020-12-31 12:20:51 +10:00
Damien Elmes
ace834a21b run ts/update.sh 2020-12-31 12:18:49 +10:00
Henrik Giesel
a22d303e2f Add jquery-ui to vendor/BUILD.bazel 2020-12-30 12:06:06 +01:00
Henrik Giesel
988d0df3e7 Install jquery-ui-dist 2020-12-30 11:56:49 +01:00
Henrik Giesel
84f8a2450a Add jquery-ui bazel build file 2020-12-30 11:56:20 +01:00
Damien Elmes
9e1eaacc06 Revert "Merge pull request #873 from hgiesel/otherjsdeps"
This reverts commit 62600051ae, reversing
changes made to 88553acb0d.

- Standard graphs render incorrectly on latest version - the wrong number
of days are shown, and the grid lines look wrong. Any version after 0.8.3
seems to suffer from this problem.
- Pie graphs and stack graphs don't render - they are provided in separate
files, and plot.js in previous Anki versions has them included in the one
file. To maintain compatibility with add-ons, we'd need to create a single
file as before, instead of importing multiple files.

If the above issues are fixed I'd be happy to merge this in again, but
as the old graphs are on the way out, it's probably not worth the effort.
2020-12-30 14:13:52 +10:00
Henrik Giesel
ef9b52f861 Copy flot file to vendor directory 2020-12-29 12:11:28 +01:00
Henrik Giesel
6aad58260b Install flot 4.2.1
Old version was 0.8.3
2020-12-29 12:02:41 +01:00
Damien Elmes
ddc48d8897 controller should be marked nullable
While 'SvelteComponent | null' seems to make it into the .tsx file
created by svelte2tsx, the subsequent tsc call seems to discard the
'| null' part when creating the .d.ts file. Hack around it with a cast
for now; this may be fixed if we move to ts_project in the future.
2020-12-29 15:21:46 +10:00
Damien Elmes
e948544b59 use local strategy for Svelte on CI
Allows some type errors to surface that were only being picked up
on Windows.

The root cause seems to be TypeScript picking up other .d.ts/.tsx
files in the same folder, which it can only do on Windows due to the
lack of sandboxing. On other platforms the other files can't be found,
and tsc changes the types into 'any'.

I experimented with modifying rules_svelte to build all .tsx files up
front and convert them to .d.ts in bulk, but ran into further issues
with conflicting types, as the typings in svelte2tsx seem to conflict
with Svelte's built-in types, and passing the dependencies in explicitly
causes them to be checked even though --skipLibCheck is passed in to
TypeScript.

Forcing sandboxing off is an ugly hack, and our best approach moving
forward may be to switch to ts_project for the Svelte generation -
it does appear that rules_nodejs favours it over ts_library anyway.
2020-12-29 14:50:33 +10:00
Damien Elmes
be7556629b
Merge pull request #864 from hgiesel/graphs
Decouple GraphsPage from individual graphs and RangeBox
2020-12-29 10:14:04 +10:00
Henrik Giesel
0c95cb3514 Remove jquery from Anki repo and replace with Bazel BUILD 2020-12-28 13:16:12 +01:00
Damien Elmes
a21c93f167
Merge pull request #863 from hgiesel/statsoverscroll
Prevent stats screen from overscrolling
2020-12-28 10:34:06 +10:00
Henrik Giesel
0a24f1b2f7 Fix typo 2020-12-27 02:04:45 +01:00
Henrik Giesel
3d7dbfa61c Fix formatting 2020-12-26 18:24:24 +01:00
Henrik Giesel
a7e0fd317f Prevent stats screen from overscrolling 2020-12-26 15:29:45 +01:00
Henrik Giesel
b9fa68673d Add svelte lib as bazel dependency 2020-12-26 15:17:30 +01:00
Henrik Giesel
c72e9e5329 Pass in RangeBox as an argument, decoupling it from GraphsPage 2020-12-26 14:40:55 +01:00
Henrik Giesel
fb33be70b5 Fix displaying issue with active spinner 2020-12-26 00:16:54 +01:00
Henrik Giesel
4826369d7d Make Year/All display correctly 2020-12-26 00:08:24 +01:00
Henrik Giesel
bd47e7c8bf Move spinner back to RangeBox 2020-12-25 22:59:11 +01:00
Henrik Giesel
ea68b5d801 Put RangeBox into its own component 2020-12-25 22:29:42 +01:00
Henrik Giesel
7b5e0134e5 Make spinner's position sticky in relation to graphsContainer 2020-12-25 21:49:56 +01:00
Henrik Giesel
6559b41734 Put a transition:fade on the spinner 2020-12-25 20:11:46 +01:00
Henrik Giesel
aeca0e0544 Remove .active class from .spin 2020-12-25 20:07:52 +01:00
Henrik Giesel
bd1505bdca Turn async function into svelte statement 2020-12-23 16:45:00 +01:00
Henrik Giesel
d51def9d6e Making days settable does not make sense, as it will be overwritten 2020-12-23 16:20:12 +01:00
Damien Elmes
02d7e55f9b update to rules_nodejs 3.0.0
Seems to fix the rollup issues on Windows.
2020-12-23 16:05:15 +10:00
Henrik Giesel
ecaf0d95a3 Move infile to css to scss file 2020-12-22 22:39:22 +01:00
Henrik Giesel
ebc1a86b2e Make showing of rangeBox based on parameter 2020-12-22 22:36:39 +01:00
Henrik Giesel
5d117cf1a0 Bubble up days and search to caller 2020-12-22 22:25:47 +01:00
Henrik Giesel
008940026e Pass in graphs as arguments into graphs() 2020-12-22 22:09:23 +01:00
Damien Elmes
4c06d89644 fix path to anki lib in ts/ when editing 2020-12-16 14:15:49 +10:00
Damien Elmes
77c9db5bba plural rules and decimal separator should use bundle's language
Instead of providing the list of languages in preferred order, when
creating a bundle we need to specify the bundle language as the first
language, so that the correct plural rules are used. Fluent's docs
are misleading here; I will submit a PR to fix them.

The old behaviour caused:
https://forums.ankiweb.net/t/bug-in-review-intervals-for-some-languages-in-number-of-cards/5744
2020-12-14 14:23:49 +10:00
Damien Elmes
1da327c725 minor doc updates 2020-12-11 22:37:12 +10:00
Damien Elmes
178ad36a5f bump ts deps 2020-12-09 15:47:34 +10:00
Damien Elmes
8a80ffe53a add rule to copy mathjax from node_modules 2020-11-15 20:22:28 +10:00
Henrik Giesel
afc7bdf642 Add Mathjax filegroup 2020-11-14 14:14:25 +01:00
Henrik Giesel
6104ea26fb Remove @types/mathjax as it is for MathJax 2 2020-11-14 14:14:25 +01:00
Henrik Giesel
6d4ff1212d Rip out MathJax 2 and setup MathJax 3 environment 2020-11-14 14:14:25 +01:00
Damien Elmes
410987f0a6 relative js package paths 2020-11-12 21:07:59 +10:00
Damien Elmes
b71f55dcc5 make 'bazel run ts:format' work
We're cheating a bit by having it fix files in qt's data folder
as well, but this makes it easier to share the config file.
2020-11-12 20:49:00 +10:00
Damien Elmes
5bb3d7c114 format_fix -> format; rename svelte-check for consistency 2020-11-12 20:19:32 +10:00
Damien Elmes
eed9ca9885 export runtime js licenses 2020-11-12 20:03:41 +10:00
Damien Elmes
2b9d3a808d update ts deps 2020-11-12 20:03:41 +10:00
Damien Elmes
264dd8f1ea fix external consumption of ts rules, and simplify import path 2020-11-05 11:01:52 +10:00
Damien Elmes
e0817c004d move backend.proto into rslib/ 2020-11-02 16:28:31 +10:00
Damien Elmes
b17d537a9e remove old makefiles 2020-11-01 14:41:01 +10:00
Damien Elmes
aea0a6fcc6 initial Bazel conversion
Running and testing should be working on the three platforms, but
there's still a fair bit that needs to be done:

- Wheel building + testing in a venv still needs to be implemented.
- Python requirements still need to be compiled with piptool and pinned;
need to compile on all platforms then merge
- Cargo deps in cargo/ and rslib/ need to be cleaned up, and ideally
unified into one place
- Currently using rustls to work around openssl compilation issues
on Linux, but this will break corporate proxies with custom SSL
authorities; need to conditionally use openssl or use
https://github.com/seanmonstar/reqwest/pull/1058
- Makefiles and docs still need cleaning up
- It may make sense to reparent ts/* to the top level, as we don't
nest the other modules under a specific language.
- rspy and pylib must always be updated in lock-step, so merging
rspy into pylib as a private module would simplify things.
- Merging desktop-ftl and mobile-ftl into the core ftl would make
managing and updating translations easier.
- Obsolete scripts need removing.
- And probably more.
2020-11-01 14:26:58 +10:00
Damien Elmes
70a73b7c60 "fix" ts failing in CI due to improved upstream type signatures
...by throwing non-null assertions everywhere.
2020-09-29 22:13:25 +10:00
Damien Elmes
bbbd3e95c5 use separate opacity css for Qt 5.9/Chromium 56
Fixes black area on alternate Mac build:
https://forums.ankiweb.net/t/statistics-bug-line-graph-graphic/3745
2020-09-27 11:47:08 +10:00
Damien Elmes
fe36fa5fd9 fix average added
https://forums.ankiweb.net/t/statistics-bug-cards-added-average/3556
2020-09-21 11:31:27 +10:00
Damien Elmes
061d89bbda fix padding in RTL langs
closes #757
2020-09-09 09:44:15 +10:00
Damien Elmes
a43135f3d5 fix custom study link being shown in filtered deck
https://forums.ankiweb.net/t/crashing-after-custom-study-learn-forgotten-cards/3013
2020-09-04 08:31:33 +10:00
Damien Elmes
ce49ca9401 log manual reschedule, but ignore the log entry in the stats 2020-09-02 17:56:23 +10:00
Damien Elmes
449f335dde add a small default margin 2020-09-01 10:24:38 +10:00
Damien Elmes
a834df60ce rename some card+note fields in backend 2020-09-01 10:24:38 +10:00
Damien Elmes
f997c7eb8b remove debug statement from graphs 2020-09-01 10:24:38 +10:00
Damien Elmes
dcb6bf2cd4 update ts deps to fix svelte-vscode 2020-09-01 10:24:38 +10:00
Damien Elmes
e5685254c6 reimplement congrats screen in Rust+Typescript 2020-09-01 10:24:38 +10:00
Damien Elmes
0564d4cf86 use css vars for graph styling as well; base webview.scss off core.scss 2020-09-01 10:24:38 +10:00
Damien Elmes
748745fe1a drop the old sass vars and define the properties directly 2020-09-01 10:24:38 +10:00
Damien Elmes
2d26280dab migrate the majority of the sass vars to css variables
Allows add-ons to easily override the theme, and allows us to apply
styling to elements outside of the normal document flow (like applying
the normal background colour to a position: fixed element).
2020-09-01 10:24:38 +10:00
Damien Elmes
ab32623dde move _vars to outer ts folder
First step in sharing styling with graphs + future .html files
2020-09-01 10:24:38 +10:00
Damien Elmes
718b45b505 allow tapping on body to clear tooltip 2020-08-21 15:16:27 +10:00
Damien Elmes
ef47ac96a7 keep label colour box and description together on small screens 2020-08-21 15:06:03 +10:00
Damien Elmes
2b1bcda937 don't fill in blanks outside of year range 2020-08-21 13:41:34 +10:00
Damien Elmes
d24f34c238 blank filling was off by one
leading to jan 1 of next year being included
2020-08-21 13:40:50 +10:00
Damien Elmes
98a0753eb8 average ease + add % to ease ticks 2020-08-21 13:00:16 +10:00
Damien Elmes
c5996fa29b off-white background in graphs 2020-08-20 16:52:56 +10:00
Damien Elmes
4086042970 switch the card counts to a pie graph 2020-08-12 18:58:21 +10:00
Damien Elmes
2364d47687 shift card counts down and future due up 2020-08-10 15:51:45 +10:00
Damien Elmes
649ab9d56a increase h1 top margin; decrease bottom graph margin 2020-08-10 15:34:06 +10:00
Damien Elmes
94e8a8b274 match card counts margin with other graphs 2020-08-10 15:32:03 +10:00
Damien Elmes
62102d85b2 add space after colour square 2020-08-10 15:02:46 +10:00
Damien Elmes
459b9b364d fix lack of padding at bottom of top range area 2020-08-10 14:39:02 +10:00
Damien Elmes
4b14ff8c8e hide backlog button when there's no backlog 2020-08-10 14:37:23 +10:00
Damien Elmes
ceb342cbc2 fix "32 of 31 days"
https://forums.ankiweb.net/t/feedback-on-the-new-graphs-in-anki-ankimobile/1671/41?u=dae
2020-08-10 13:56:16 +10:00
Damien Elmes
1470b3683b more size tweaks for small screens 2020-08-05 19:05:34 +10:00
Damien Elmes
9fe9c7115b reviews graph needs numbers in local locale 2020-08-05 19:05:24 +10:00
Damien Elmes
365e584db8 hide odd hours in small screen 2020-08-05 18:58:31 +10:00
Damien Elmes
818012e015 slightly darker start to reviews graph 2020-08-05 16:06:34 +10:00
Damien Elmes
d8a75c2307 remove selective fade in answer buttons graph 2020-08-05 15:56:21 +10:00
Damien Elmes
ddfd6511bf reduce maximum lightness in added/interval graphs 2020-08-05 15:43:44 +10:00
Damien Elmes
15c50e68eb make the cumulative area a bit more visible 2020-08-05 15:35:07 +10:00
Damien Elmes
b3df572f31 skip missing datapoints in hour graph 2020-08-05 15:25:56 +10:00
Damien Elmes
32612fc84c right axis for reviews graph 2020-08-05 15:01:51 +10:00
Damien Elmes
6592fd0da9 add right axis to hour graph 2020-08-05 15:01:44 +10:00
Damien Elmes
43d8e5c9f0 drop 99.9% interval 2020-08-05 14:50:08 +10:00
Damien Elmes
1909d0a9a2 add right axis to histograms; nice y axis 2020-08-05 14:49:57 +10:00
Damien Elmes
0673193f27 subtitles under title 2020-08-04 17:50:47 +10:00
Damien Elmes
510d9d0bf5 reduce maximum width 2020-08-04 17:29:17 +10:00
Damien Elmes
43c6ec09bd increase axis label size at small screen widths 2020-08-04 17:29:13 +10:00
Damien Elmes
cd4a4dada8 added graph table 2020-08-04 16:01:11 +10:00
Damien Elmes
25948a328e average interval 2020-08-04 15:28:41 +10:00
Damien Elmes
c9f9ae532e textual data for forecast
Also stick to exact xMax, so we match the old graphs.
2020-08-04 15:15:57 +10:00
Damien Elmes
1b62b932fe factor out data table into separate file 2020-08-04 14:41:26 +10:00
Damien Elmes
a5a12e0d00 add textual data to reviews graph 2020-08-04 14:28:46 +10:00
Damien Elmes
07594bc375 fix mature cutoff in reviews graph
https://forums.ankiweb.net/t/statistics-bugs-after-update-2-1-5-to-2-1-29/1620/4
2020-08-01 11:27:24 +10:00
Damien Elmes
1353590a92 move card counts tooltip into permanent table 2020-07-31 17:19:31 +10:00
Damien Elmes
02424ac789 tweaks to print view of graphs 2020-07-31 13:33:41 +10:00
Damien Elmes
f9891da076 handle preview cards in graphs 2020-07-30 09:11:18 +10:00
Damien Elmes
b6687f0203 update svelte-check minimum 2020-07-29 12:06:48 +10:00
Damien Elmes
6d0a8e597e Revert "svelte-check doesn't want a CSS string"
This reverts commit bbff62bf32.

Now they do again.🤷
2020-07-29 12:06:33 +10:00
Damien Elmes
bbff62bf32 svelte-check doesn't want a CSS string 2020-07-28 11:16:10 +10:00
Damien Elmes
0e4dae8ee1 update ts deps 2020-07-28 11:15:49 +10:00
Damien Elmes
88fee1b7aa backlog fix
private message:
https://forums.ankiweb.net/t/issues-on-stats-page-anki-2-1-28beta6/1114
2020-07-27 12:10:45 +10:00
Damien Elmes
15c9cd9108 fix handling of due reviews in filtered deck+future due graph 2020-07-26 10:28:56 +10:00
Damien Elmes
796696afde include learning cards due today in future due graph 2020-07-24 11:09:22 +10:00
Damien Elmes
80a2bfa642 ask user to check db when graphs fail to load 2020-07-24 09:56:28 +10:00
Damien Elmes
bb6124cfd5 letter-spacing breaks RTL layout
https://forums.ankiweb.net/t/anki-2-1-29-beta/1220/8
2020-07-22 15:26:29 +10:00
Damien Elmes
2049f17469 hacks to fix (misaligned (rtl text
To fix this properly the string concatenation should probably be
broken into separate i18n strings and placed in Fluent

https://forums.ankiweb.net/t/anki-2-1-29-beta/1220/8
2020-07-22 15:15:52 +10:00
Damien Elmes
1687f797de ts check doesn't require build 2020-07-22 14:16:51 +10:00
Damien Elmes
0d8df6be20 run svelte-check as part of check 2020-07-22 14:11:35 +10:00
Damien Elmes
2635f8f980 fix some typescript warnings 2020-07-22 14:11:22 +10:00
Damien Elmes
4b6033e17f use short form for time units in graph axis 2020-07-22 12:59:56 +10:00
Damien Elmes
44668c5b1d include 1+ day learning cards in future due graph 2020-07-21 14:10:32 +10:00
Damien Elmes
39ae5936fc switch graphRange on revlogRange change 2020-07-17 14:39:08 +10:00
Damien Elmes
ec9e3646c4 add range selectors to answer button and hour graphs 2020-07-17 14:39:08 +10:00
Glutanimate
8183ed7fa7 Add IDs to stats sections
Allows more targeted manipulation by add-ons
2020-07-16 20:44:21 +02:00
Damien Elmes
658a009ec4 tweak spacing 2020-07-16 13:28:06 +10:00
Damien Elmes
0c1d5ae5a4 add table to reviews tooltip 2020-07-16 13:25:13 +10:00
Damien Elmes
1e48188c14 add table in card count tooltip for readability 2020-07-16 13:25:02 +10:00
Damien Elmes
0ff13828d4 show all counts in tooltip 2020-07-16 12:28:31 +10:00
Damien Elmes
fd0383cbe0 slightly increase x ticks 2020-07-16 11:53:20 +10:00
Damien Elmes
db832ec739 increase number of y ticks 2020-07-16 11:50:04 +10:00
Damien Elmes
6807f49818 smaller button labels on a small screen 2020-07-13 20:52:57 +10:00
Damien Elmes
da0e0e1854 show daily total as well in reviews graph 2020-07-08 14:07:10 +10:00
Damien Elmes
05302e6c2f fix overlapping ranges in histograms
It's bin.x0 <= x < bin.x1
2020-07-08 14:01:09 +10:00
Damien Elmes
7a08970bf7 another attempt at fixing review graph
This should correctly show today count in the 1 month/3 month graphs.
1+ year will have a very tiny bar, but the today count is not so
important at that range. I experimented with shifting the numbers
by one at the gathering stage (so -1 = today) - that makes today fit
in the previous bin, but means the bars no longer match the ticks.
2020-07-08 13:31:09 +10:00
Damien Elmes
ca24dfddb1 make tooltip bg stand out slightly 2020-07-07 12:11:51 +10:00
Damien Elmes
5669101748 de-emphasise axis line, but don't hide completely 2020-07-07 12:06:27 +10:00
Damien Elmes
1162a8feb5 fix card count graph
https://forums.ankiweb.net/t/anki-2-1-28-beta/629/24
2020-07-07 11:39:58 +10:00
Damien Elmes
cfc33815da fix bar of wrong size 2020-07-06 19:16:03 +10:00
Damien Elmes
f072710f67 cards->reviews; total->running total 2020-07-06 19:16:03 +10:00
Damien Elmes
833d352e54 drop 1 month period 2020-07-06 19:16:03 +10:00
Damien Elmes
13ebba41da update title 2020-07-06 19:16:03 +10:00
Damien Elmes
aa45d4add6 show total correct in answer buttons graph 2020-07-06 19:16:03 +10:00
Damien Elmes
0d287330c3 add 'no data' overlay when graph empty 2020-07-06 19:16:03 +10:00
Damien Elmes
7e09f19219 css->scss in makefile deps 2020-07-04 13:49:50 +10:00
Damien Elmes
309903b6ba limit max width of graphs
https://forums.ankiweb.net/t/anki-2-1-28-beta/629/19
2020-07-04 13:49:42 +10:00
Damien Elmes
d305a3a2cc use graph for card counts 2020-07-04 13:38:46 +10:00
Damien Elmes
38838a6d0b fix invalid cumulative path when no data available 2020-07-01 13:59:31 +10:00
Damien Elmes
79d04c9db7 cards->reviews 2020-06-30 16:50:23 +10:00
Damien Elmes
5aad1d0d81 fade calendar in 2020-06-30 16:39:30 +10:00
Damien Elmes
101deb002b graphs now work in night mode 2020-06-30 16:23:46 +10:00
Damien Elmes
1b37398503 add basic calendar graph 2020-06-30 15:13:44 +10:00
evandrocoan
40831ef86e Fixed pbjs not working on Windows because package.json runs by
cmd.exe which does not support pipe | and ; semicolons
6fd444b958 (r40232987)
2020-06-29 15:22:36 -03:00
Damien Elmes
c3f0ee5c97 fix initial build: don't depend on package-lock.json 2020-06-29 16:45:43 +10:00
Damien Elmes
bf0ebfac96 switch added/future range based on revlog selection
Neither depends on the revlog, but that may not be obvious to the user.
2020-06-29 15:48:01 +10:00
Damien Elmes
330ddeb313 force a refresh when enter pressed 2020-06-29 15:48:01 +10:00
Damien Elmes
4a04ccd96c move tooltip away from edges 2020-06-29 15:48:01 +10:00
Damien Elmes
1f4f5b8c45 include generated js in aqt_data 2020-06-29 15:48:01 +10:00
Damien Elmes
4cc9e2a780 fixes for Chromium 56 (Qt 5.9) 2020-06-29 15:48:01 +10:00
Damien Elmes
68978e7c4e add remaining tooltip i18n 2020-06-29 15:48:01 +10:00
Damien Elmes
41b296e96c i18n some tooltips 2020-06-29 15:48:01 +10:00
Damien Elmes
93b8cebf1e drop axis labels + add subtitles
This leaves more room for the graphs and avoids issues with large values
overlapping the labels. We can improve the subtitle wording to make
things clearer in the future, and the hover tooltips should also
clarify what the axes represent.
2020-06-29 15:48:01 +10:00
Damien Elmes
7e0bdb990c i18n some axis labels, and support vertical CJK text 2020-06-29 15:48:01 +10:00
Damien Elmes
595c509546 i18n graph titles 2020-06-29 15:48:01 +10:00
Damien Elmes
b78f578cd5 i18n ranges 2020-06-29 15:48:01 +10:00
Damien Elmes
8e118bbc76 add timeSpan() 2020-06-29 15:48:01 +10:00
Damien Elmes
93ab3b4164 tidy up top area 2020-06-29 15:48:01 +10:00
Damien Elmes
0691cbf0e2 avoid needless npm install invocation 2020-06-29 15:48:01 +10:00
Damien Elmes
28a6755c75 i18n card counts 2020-06-29 15:48:01 +10:00
Damien Elmes
01f3a71f0a i18n today section 2020-06-29 15:48:01 +10:00
Damien Elmes
41d77b0255 get i18n working in typescript 2020-06-29 15:48:01 +10:00
Damien Elmes
67bb92d2f4 review graph and tooltip improvements 2020-06-29 15:48:01 +10:00
Damien Elmes
894e824460 basics of review graph 2020-06-29 15:48:01 +10:00
Damien Elmes
52bc27d7d2 smooth area path 2020-06-29 15:48:01 +10:00
Damien Elmes
d2c4874571 add future due / "forecast" graph 2020-06-29 15:48:01 +10:00
Damien Elmes
194a512820 progress, top bar 2020-06-29 15:48:01 +10:00
Damien Elmes
cb7fb6146c hour graph 2020-06-29 15:48:01 +10:00
Damien Elmes
329186f140 qt's js code now shares ts/node_modules; more graph work 2020-06-29 15:48:01 +10:00
Damien Elmes
0cab26d40c cards added graph 2020-06-29 15:48:01 +10:00
Damien Elmes
55ec4a2b82 add an ease graph 2020-06-29 15:48:01 +10:00
Damien Elmes
e213ffc82a add separate histogram graph component 2020-06-29 15:48:01 +10:00
Damien Elmes
d0d675609d split hover text out, fix bugs 2020-06-29 15:48:01 +10:00
Damien Elmes
d753b31d40 split histogram graph code out into separate file 2020-06-29 15:48:01 +10:00
Damien Elmes
6f69472133 move axis ticks & labels into separate files 2020-06-29 15:48:01 +10:00
Damien Elmes
1d1ed5b241 tidy up graph code 2020-06-29 15:48:01 +10:00
Damien Elmes
48a693f861 search on return key instead of timeout 2020-06-29 15:48:00 +10:00
Damien Elmes
62c981190d add buttons for deck/collection 2020-06-29 15:48:00 +10:00
Damien Elmes
5906dcce70 svelte+ts tweaks 2020-06-29 15:48:00 +10:00
Damien Elmes
dcff5e28fa add top level component and pass search/day limit back from frontend 2020-06-29 15:48:00 +10:00
Damien Elmes
6fd444b958 add a new ts/ folder with a new graph proof of concept 2020-06-29 15:48:00 +10:00
Damien Elmes
b23b6fbe35 move the separate components back into this monorepo
Earlier today I pushed a change that split this code up into multiple
repos, but that has proved to complicate things too much. So we're
back to a single repo, except the individual submodules are better
separated than they were before.

The README files need updating again; I will push them out soon.

Aside from splitting out the different modules, the sound code has
moved from from anki to aqt.
2020-01-02 19:43:19 +10:00
Damien Elmes
5b831dd9db update ts lock 2019-12-26 06:59:59 +10:00
Michal Pokorný (Rai)
16d97c8e0a Replace 'const' with 'let' on global scope functions
Also use const where possible.
2019-12-21 11:24:50 +01:00
Michal Pokorný (Rai)
ce59fad160 Replace 'var' with 'let' or const as appropriate
Also replaces some for-loops over arrays with for..of loops.
2019-12-20 22:35:37 +01:00
Damien Elmes
18e60f7678 fix bug in editor ts conversion 2019-12-19 20:53:00 +10:00
Damien Elmes
901c285a12 use single .gitignore file 2019-12-18 21:06:24 +10:00
Damien Elmes
c15f71071e fix broken js building
- deps need to be defined before used
- incremental builds were not working properly
2019-12-18 17:56:58 +10:00
Damien Elmes
40418c3712 run prettier 2019-12-18 16:12:39 +10:00
Damien Elmes
d7d0d9bf88 add prettier, tidy up makefile 2019-12-18 16:12:02 +10:00
Damien Elmes
f3bfed82ef compile typescript in one go
much faster, especially with --incremental
2019-12-18 14:33:57 +10:00
Damien Elmes
ddb4db0c96 editor 2019-12-18 13:55:52 +10:00
Damien Elmes
b3f6199827 reviewer 2019-12-18 13:32:32 +10:00
Damien Elmes
cdcf482913 reviewer-bottom 2019-12-18 13:27:39 +10:00
Damien Elmes
de29b02089 deckbrowser and overview 2019-12-18 13:21:58 +10:00
Damien Elmes
f080616eed webview.ts 2019-12-18 13:02:11 +10:00
Damien Elmes
9b04a92df2 add typescript to build 2019-12-18 12:53:13 +10:00