Commit Graph

767 Commits

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