Commit graph

758 commits

Author SHA1 Message Date
Damien Elmes
6d4c9994a8 disable overscroll on html as well 2021-04-22 19:54:44 +10:00
Damien Elmes
84eea8dbb9 more layout tweaks
- reduce maximum width
- de-emphasise revert and info buttons
- reduce grid margin
2021-04-22 18:11:27 +10:00
Damien Elmes
fcf6ad954f add a workaround for bad save button in rtl mode
Bootstrap provides a different set of CSS for RTL languages, but having
to deal with two separate sets of css files depending on the language
would be a PITA.
2021-04-22 17:45:16 +10:00
Damien Elmes
d0ade13654 fix add/rename dialog right-aligning, and RTL issue 2021-04-22 17:31:33 +10:00
Damien Elmes
3b86fbe454 fill width when steps exceed 2; add bottom margin 2021-04-22 17:28:14 +10:00
Damien Elmes
1a8da843c6 allow checkboxes and select entries to take up whole line 2021-04-22 16:47:10 +10:00
Damien Elmes
779bc4953a switch config to a grid; move info to popups 2021-04-22 15:39:50 +10:00
Damien Elmes
ab5c32abfd fix select appearance inside webview 2021-04-22 11:41:41 +10:00
Henrik Giesel
3cbddf3e8c Move up cloze id 2021-04-22 03:37:01 +02:00
Damien Elmes
b175ba9d72 minor layout tweaks to deck conf screen
- more space for dropdown
- limit width of main area so popups wrap correctly
- experiment with different colour dropdown
2021-04-22 11:33:27 +10:00
Henrik Giesel
7ab5f736df Move other buttons to WithShortcut 2021-04-22 03:25:31 +02:00
Damien Elmes
a7ef410615 hook new deck config screen up behind an env var 2021-04-22 10:59:16 +10:00
Henrik Giesel
b0ddae0f6c Add first shortcuts for bold, italic, underline, removeFormat 2021-04-22 02:37:04 +02:00
Henrik Giesel
e2e1b4d37b Use registerShortcut within WithShortcut 2021-04-22 01:15:38 +02:00
Henrik Giesel
3b52bf6cb8 Add lib/shortcuts 2021-04-22 01:15:38 +02:00
Henrik Giesel
20f17a962a Add WithShortcut 2021-04-22 01:15:38 +02:00
Henrik Giesel
b66699355c Fix isBlockElement() 2021-04-21 14:40:16 +02:00
Henrik Giesel
099ca563e3 Remove paragraph button 2021-04-21 14:36:24 +02:00
Henrik Giesel
ae801729ec Prefer exec over matchAll 2021-04-21 14:18:44 +02:00
Henrik Giesel
18efdcac67 Gather editor-toolbar svelte components into filegroup 2021-04-21 13:18:31 +02:00
Henrik Giesel
29fef178d8 Add copyright headers 2021-04-20 15:43:59 +02:00
Henrik Giesel
282d9df02e Remove last ts-expect-error 2021-04-20 15:41:26 +02:00
Henrik Giesel
6e2f2fc3a6 Move toolbar initialization into toolbar.ts 2021-04-20 15:32:02 +02:00
Henrik Giesel
f11db5579e Move dynamic component initialization logic from editor to editor-toolbar 2021-04-20 14:23:28 +02:00
Henrik Giesel
94eb3af662 Improve behavior of paragraph command and add tooltip 2021-04-20 13:46:01 +02:00
Henrik Giesel
973b7008b7 Make indent outdent only work for list items
+ make paragraph show its active state
2021-04-20 13:44:44 +02:00
Henrik Giesel
5e978b28d4 Move button implementations from editor-toolbar to editor 2021-04-20 13:44:44 +02:00
Henrik Giesel
93136030e9 Include editor-toolbar as a library in editor 2021-04-20 13:44:44 +02:00
Henrik Giesel
85ea209d06 Generalize commandIconButton functionality of setting active state 2021-04-20 13:44:44 +02:00
Henrik Giesel
96bd5c7b20 Add paragraph button 2021-04-20 13:44:44 +02:00
Henrik Giesel
3adcad4ca3 Don't use <br>s when inside of paragraph 2021-04-20 13:44:44 +02:00
Henrik Giesel
ece4f75592 Generalize inListItem to getAnchorElement 2021-04-20 13:44:43 +02:00
Henrik Giesel
a3a085249d Add CSS for making empty paragraph elements visible 2021-04-20 13:44:43 +02:00
Damien Elmes
f61920e7ed Merge pull request #1139 from hgiesel/toolbarfixes
Fix ButtonDropdown not hiding when closed
2021-04-20 19:54:51 +10:00
Damien Elmes
48fc9251bd implement deck config saving on JS end 2021-04-20 19:50:05 +10:00
Damien Elmes
de5f892807 allow postrequest to send a binary body; fix WithGraphData
As far as I can tell, the existing code was transforming the encoded
protobuf data into UTF8, and we're just lucky it wasn't causing problems
with the small message we were sending.
2021-04-20 17:47:52 +10:00
Damien Elmes
c5cecabdd4 include sourcemaps for pages/* in dev builds 2021-04-20 17:33:46 +10:00
Damien Elmes
05f75c6194 implement deck config updating 2021-04-20 14:57:44 +10:00
Henrik Giesel
5550dc8e44 Hide ButtonDropdown when closed
Otherwise ul.{svelte-class} in ButtonGroup has higher priority then .show from Bootstrap
2021-04-19 14:47:10 +02:00
Damien Elmes
fc419e3b81 tweak deckconfig top area formatting
I suspect there's a better way to ensure selector and save button are
shown on the same line on both large and small widths; PRs are welcome.
2021-04-18 17:33:12 +10:00
Damien Elmes
1f0ff0f22d add schema change prompt to removal, tweak return struct 2021-04-18 17:33:12 +10:00
Damien Elmes
3aa1d8bab9 move daily limits into separate section; add extra warning+tweak formatting 2021-04-18 00:04:02 +10:00
Damien Elmes
75205948b3 apply spinbox limits on each keystroke 2021-04-18 00:03:02 +10:00
Damien Elmes
20d1a3d1b1 avoid showing the strings twice
While it can help to show the link between the settings, having multiple
sections change at once feels a bit over the top
2021-04-17 22:56:55 +10:00
Damien Elmes
0f741912b6 add text to describe deckconfig warnings 2021-04-17 22:53:47 +10:00
Damien Elmes
e825a77ddd update config automatically, and update parent limits at same time 2021-04-17 21:44:33 +10:00
Damien Elmes
dbf31d6748 add some unit tests to deckconfig 2021-04-17 21:00:10 +10:00
Damien Elmes
f89d7b2b1e add a hack to avoid Long.js in Jest tests 2021-04-17 17:05:48 +10:00
Damien Elmes
c0e615ddde support es6 imports in Jest tests
Switching to lodash-es caused Jest to fail. The standard Jest workflow
would be to transpile things with Bazel, but we can do it faster by
bundling with esbuild.

the log in lib.test.ts has revealed numbers are being set as Long instead
of JS numbers, and the published workaround for it is not working :-(
2021-04-17 16:38:45 +10:00
Damien Elmes
0645cb29b7 fix parent limit handling
We can't calculate it on the backend, as adjusting a config may alter
the parent limit.

Also fix hidden deck name and missing separator.
2021-04-17 12:53:59 +10:00
Damien Elmes
2ea5f5abde Merge pull request #1134 from hgiesel/formatblock
Add block formatting options to Editor
2021-04-17 09:40:52 +10:00
Henrik Giesel
05c36ef205 Satisfy svelte_check 2021-04-16 19:00:36 +02:00
Henrik Giesel
b5e3156f6a Color ButtonDropdown background in var(--bg-color) regardless of theme 2021-04-16 18:36:54 +02:00
Henrik Giesel
65442c5a84 Make clearer which parts of ButtonGroup css are theming related 2021-04-16 18:24:43 +02:00
Henrik Giesel
b102d0bbd2 Change style for Dropdown{Menu,Item} to match Button{Group,Dropdown} 2021-04-16 18:14:09 +02:00
Henrik Giesel
01870e68fa Adjust ButtonDropdown for night mode 2021-04-16 17:14:47 +02:00
Henrik Giesel
6ce61de27c Mark indent / outdent as non activatable 2021-04-16 16:11:53 +02:00
Henrik Giesel
11ace2f489 Add Fluent translations 2021-04-16 16:08:00 +02:00
Damien Elmes
168af33aa8 add macro for invoking Jest 2021-04-16 23:46:31 +10:00
Damien Elmes
72193c45ec 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
7e47c918ee Add justify and indentation menu 2021-04-16 15:26:49 +02:00
Damien Elmes
cc5cfb06fb support passing @types/... into svelte-check 2021-04-16 23:18:33 +10:00
Damien Elmes
f474803146 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
c1ed56d748 Merge pull request #1131 from glutanimate/fix-asyncreactivedata-typo
Fix minor typo
2021-04-16 11:58:58 +10:00
Henrik Giesel
ef4ea3db23 Add ol and ul buttons, rename previous format to formatInline 2021-04-16 03:46:37 +02:00
Henrik Giesel
a6f74a387a Satisfy ./script/svelte-check 2021-04-16 03:10:39 +02:00
Henrik Giesel
190a863b4b Remove unnecessary comments / dead code 2021-04-16 02:51:03 +02:00
Damien Elmes
8b336eeaa7 quiet esbuild output and format file 2021-04-16 10:27:09 +10:00
Henrik Giesel
cc2bd542af Solve the race conditions of button insertion by operating on promises in EditorToolbar 2021-04-16 02:04:38 +02:00
Henrik Giesel
9cc05389fb 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
0a67445522 Fix minor typo 2021-04-15 18:30:53 +02:00
Henrik Giesel
a71311b65e 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
a6b102fadd Add license headers 2021-04-15 15:59:52 +02:00
Henrik Giesel
fce70c3ad1 Use bootstrap types for editor-toolbar svelte_check 2021-04-15 15:51:56 +02:00
Henrik Giesel
dc037c5aec Experimental: Add bootstrap to svelte_check dependencies 2021-04-15 15:47:02 +02:00
Henrik Giesel
70d2c93222 Pass svelte_check for editor-toolbar 2021-04-15 15:33:47 +02:00
Henrik Giesel
1a04ca32fe 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
ac768a464a Satisfy prettier 2021-04-15 14:58:13 +02:00
Henrik Giesel
d9d2dddd4f Use new bootstrap library paths 2021-04-15 14:04:41 +02:00
Henrik Giesel
e221050bc6 Use new bootstrap dep 2021-04-15 13:30:19 +02:00
Henrik Giesel
e032c8f6a0 Add shortcut labels for mathjax menu 2021-04-15 13:09:51 +02:00
Henrik Giesel
42d59a4af7 Explicitly name file in output_css for esbuild 2021-04-15 13:09:51 +02:00
Henrik Giesel
aca20bd3da Make editor-toolbar pass eslint 2021-04-15 13:09:51 +02:00
Henrik Giesel
5c601db45f Fix most of svelte-check issues for editor-toolbar 2021-04-15 13:09:51 +02:00
Henrik Giesel
1e5b2a06a3 Pass the svelte check for graphs 2021-04-15 13:09:50 +02:00
Henrik Giesel
36c031a0ca Inline GraphData/GraphPreferences getters/setters into WithGraphData 2021-04-15 13:09:50 +02:00
Henrik Giesel
eebbf71256 Generalize ts/graphs/preferences to ts/sveltelib/preferences 2021-04-15 13:09:50 +02:00
Henrik Giesel
f4afb3e823 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
5c84b1636b Use padding for extended colorpicker background "border" 2021-04-15 13:09:50 +02:00
Henrik Giesel
a225accac3 Give light mode effects on hover/active/focus as well 2021-04-15 13:09:50 +02:00
Henrik Giesel
350ef044f2 Add theming support for DropdownItem and DropdownMenu 2021-04-15 13:09:50 +02:00
Henrik Giesel
b862c3ecea Improve looks of color picker button 2021-04-15 13:09:50 +02:00
Henrik Giesel
b425d09ac6 Update CSS for ColorPicker and forecolor button 2021-04-15 13:09:50 +02:00
Henrik Giesel
a0de8bef55 Switch from core to base CSS for editor view 2021-04-15 13:09:50 +02:00
Henrik Giesel
5c37ac1640 Correctly check for night mode 2021-04-15 13:09:50 +02:00
Henrik Giesel
639cfa57a3 Rely more heavily on bootstrap provided types for editor-toolbar 2021-04-15 13:09:50 +02:00
Henrik Giesel
b95ccb99c2 Make mdi also use renamed pkg_from_name 2021-04-15 13:09:50 +02:00
Henrik Giesel
0d63ffcaeb Add buttons_mixins.scss for sharing SCSS across components 2021-04-15 13:09:50 +02:00
Henrik Giesel
de5b9d551d Also add Bootstrap buttons.scss 2021-04-15 13:09:50 +02:00
Henrik Giesel
05affd313f Include Dropdown directly from bootstrap, required installing popperjs 2021-04-15 13:09:50 +02:00
Henrik Giesel
ef90924f91 Use compile_sass and add flag to make editor-toolbar compile again 2021-04-15 13:09:50 +02:00
Henrik Giesel
7bf675d75e 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
fa6ac2b27b Add RawButton and hook old python hooks up to it 2021-04-15 13:09:50 +02:00
Henrik Giesel
98dc8a56f2 Introduce ToolbarItem as a better base type instead of DynamicSvelteComponent 2021-04-15 13:09:50 +02:00
Henrik Giesel
0e0f33022f Switch from lazy loading of properties to wrapping the buttons in a function 2021-04-15 13:09:50 +02:00
Henrik Giesel
42e580430a Add a button / buttonGroup insertion API 2021-04-15 13:09:50 +02:00
Henrik Giesel
d93aefdaaa Fix sticky toolbar which was broken when introducing var(--toolbar-size) 2021-04-15 13:09:50 +02:00
Henrik Giesel
d1374d4b58 Show/Hide Cloze button depending on whether cloze type 2021-04-15 13:09:50 +02:00
Henrik Giesel
e8fb17c1eb Move cloze logic and wrapping logic editor-toolbar 2021-04-15 13:09:50 +02:00
Henrik Giesel
fa00dbc01e Make buttons and button groups easily toggleable through hidden web component 2021-04-15 13:09:50 +02:00
Henrik Giesel
8ba2b383eb Remove props property in favor of $$restProps 2021-04-15 13:09:50 +02:00
Henrik Giesel
64fbbbfcd0 Get rid of types.d.ts in favor of DynamicSvelteComponent 2021-04-15 13:09:50 +02:00
Henrik Giesel
7646a81b7c Pass button groups as actual button groups, not arrays 2021-04-15 13:09:50 +02:00
Henrik Giesel
5520863278 Pass wraps more similiar to how size is passed via CSS variables 2021-04-15 13:09:50 +02:00
Henrik Giesel
9ff521126d 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
fc3a272327 Give clearer type names to dynamicComponent 2021-04-15 13:09:50 +02:00
Henrik Giesel
38fe270937 Rename title to tooltip across editor toolbar components 2021-04-15 13:09:50 +02:00
Henrik Giesel
2b252d8b41 Rename types.ts to types.d.ts 2021-04-15 13:09:50 +02:00
Henrik Giesel
5d2d9396f9 Change overflow of button groups to overflow-y auto
Avoids erratic creation of scrollbars
2021-04-15 13:09:50 +02:00
Henrik Giesel
3fb052d736 Use dynamicComponent instead of withLazyProps 2021-04-15 13:09:50 +02:00
Henrik Giesel
c432831a19 Move enabled/disabled logic to EditorToolbar 2021-04-15 13:09:50 +02:00
Henrik Giesel
5bc7132a4f 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
3c84e31bf4 Support building as external repo 2021-04-15 13:09:49 +02:00
Henrik Giesel
115757c327 Remove lazyProperties -> we use withLazyProperties instead 2021-04-15 13:09:49 +02:00
Henrik Giesel
cfb9376e5e Fix some code quality issues 2021-04-15 13:09:49 +02:00
Henrik Giesel
90825cc95b Pass in buttons and menus directly as stores 2021-04-15 13:09:49 +02:00
Henrik Giesel
77b45835f4 Make --toolbar-size a parameter 2021-04-15 13:09:49 +02:00
Henrik Giesel
162f13fee1 Add ButtonDropdown for dropdowns like the MathJax dropdown on AnkiMobile 2021-04-15 13:09:49 +02:00
Henrik Giesel
cd69c7ffa3 Add exports for add-ons 2021-04-15 13:09:49 +02:00
Henrik Giesel
c1aa8d7bf7 Make it easier to update buttons and menus 2021-04-15 13:09:49 +02:00
Henrik Giesel
b002994d30 Add labels and titles to all buttons 2021-04-15 13:09:49 +02:00
Henrik Giesel
5cecde34ed Add titles to buttons with lazyProperties 2021-04-15 13:09:49 +02:00
Henrik Giesel
04aebbd7fe Move logic from index.ts to their individual files 2021-04-15 13:09:49 +02:00
Henrik Giesel
cdb3221f82 Add first lazily loaded i18n strings 2021-04-15 13:09:49 +02:00
Henrik Giesel
a1d11edbdf Give select an effect on :hover 2021-04-15 13:09:49 +02:00
Henrik Giesel
4544025fc2 Make select display inline-block 2021-04-15 13:09:49 +02:00
Henrik Giesel
bdcdcc7a56 Make Toolbar resizable through a single CSS variable --toolbar-size 2021-04-15 13:09:49 +02:00
Henrik Giesel
f033672045 Add SelectButton 2021-04-15 13:09:49 +02:00
Henrik Giesel
675ffca1fa Add dropdown menu to mathjax button 2021-04-15 13:09:49 +02:00
Henrik Giesel
c61d5a501d Make it so you can include DropdownMenus on all kinds of buttons 2021-04-15 13:09:49 +02:00
Henrik Giesel
a053332421 WIP: Turn DropdownMenu into a _decorator_ usable with all other button types 2021-04-15 13:09:49 +02:00
Henrik Giesel
ef9eb38d26 Utilize enableButtons disableButtons from Svelte component 2021-04-15 13:09:49 +02:00
Henrik Giesel
90c176c180 Display .active:active as :hover buttons 2021-04-15 13:09:49 +02:00
Henrik Giesel
95be25a2eb Add active shadow on ColorPicker 2021-04-15 13:09:49 +02:00
Henrik Giesel
934b426541 Move display:flex from outer div to ButtonGroup ul 2021-04-15 13:09:49 +02:00
Henrik Giesel
9a0ae77db6 Add negative tabindex 2021-04-15 13:09:49 +02:00
Henrik Giesel
62198b29a0 Add mathjaxButton and htmlButton instead of more button 2021-04-15 13:09:49 +02:00
Henrik Giesel
91a5a20684 Make icons slightly smaller, so they are the same size as before 2021-04-15 13:09:49 +02:00
Henrik Giesel
6fbeeff1c5 Make all buttons functional 2021-04-15 13:09:49 +02:00
Henrik Giesel
904aa3d45a Move initialization logic from EditorToolbar to index.ts 2021-04-15 13:09:49 +02:00