Commit Graph

737 Commits

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