Henrik Giesel
de056fbd89
Change Wrap commands / shortcuts to use anki-mathjax
2021-09-15 13:42:36 +02:00
Henrik Giesel
c3f56ad5cd
Refactor editable/mathjax.ts
2021-09-15 13:33:25 +02:00
Henrik Giesel
45d0cc49e6
Set fixed fontSizef or mathjax in editor for now
2021-09-15 13:33:25 +02:00
Henrik Giesel
b5900da0b4
Set color of Mathjax depending on nightMode
2021-09-15 13:33:24 +02:00
Henrik Giesel
6856850a0f
Wrap Mathjax buttons into toolbar
2021-09-15 13:33:24 +02:00
Henrik Giesel
f76cf24e9d
Move wrap to lib to allow editable to use it
2021-09-15 13:33:24 +02:00
Henrik Giesel
b6dfbcbc20
Move setting inCodable to false into codable
2021-09-15 13:33:23 +02:00
Henrik Giesel
1e94f7f16f
Display Mathjax error as title (tooltip)
2021-09-15 13:33:23 +02:00
Henrik Giesel
8fa6d0045d
Show title on mathjax image
2021-09-15 13:33:22 +02:00
Henrik Giesel
fca31465b4
Display error Mathjax correctly
2021-09-15 13:33:22 +02:00
Henrik Giesel
c88223e069
Show math icon if Mathjax is empty
2021-09-15 13:33:22 +02:00
Henrik Giesel
7ba85a2fbe
Disallow draggin of mathjax + only ever have one handle active
2021-09-15 13:33:21 +02:00
Henrik Giesel
9ef4bb15c6
Fix return behavior on Mathjax decorated element
2021-09-15 13:33:21 +02:00
Henrik Giesel
4576ce8cc3
Watch for childList instead of subtree
2021-09-15 13:33:21 +02:00
Henrik Giesel
b361bcc69f
Display Mathjax editor and buttons at the same time
2021-09-15 13:33:20 +02:00
Henrik Giesel
b06b5e9151
Generalize ChangeTimer and use it in Mathjax editor
2021-09-15 13:33:20 +02:00
Henrik Giesel
cb762b880e
Add ResizeObserver for MathjaxHandle
2021-09-15 13:33:20 +02:00
Henrik Giesel
7168cbf99a
Update editor when editing Mathjax
2021-09-15 13:33:19 +02:00
Henrik Giesel
701f260c3f
Wait for stylesheets to load before setting field content
2021-09-15 13:33:19 +02:00
Henrik Giesel
ea01183bfd
Move elements inserted into decorated component no matter the position
2021-09-15 13:33:19 +02:00
Henrik Giesel
8ddb0bc6ed
Fix some cases where Mathjax whitespace formatting is destroyed
2021-09-15 13:33:19 +02:00
Henrik Giesel
1185593fee
Use CodeMirror for Mathjax Editor
2021-09-15 13:33:18 +02:00
Henrik Giesel
882a2710a9
Autoupdate mathjax image
...
* propably should use changeTimer here
2021-09-15 13:33:18 +02:00
Henrik Giesel
ce2dbaafb9
Fix focus issues with Mathjax editor
2021-09-15 13:33:18 +02:00
Henrik Giesel
0f92664d4a
First implementation of MathjaxHandleEditor
...
+ use manual focus highlighting on editing-area
2021-09-15 13:33:17 +02:00
Henrik Giesel
df24682b2a
Make Mathjax menu also a floating dropdown menu like ImageHandle
2021-09-15 13:33:17 +02:00
Henrik Giesel
241d5cdd13
Fix MathJax overlay after rebase
2021-09-15 13:33:17 +02:00
Henrik Giesel
ed4621de9e
Add InlineBlock buttons to mathjax components
2021-09-15 13:33:12 +02:00
Henrik Giesel
f9a3c513ce
Add HandleControl to MathjaxHandle
2021-09-15 13:32:33 +02:00
Henrik Giesel
a37460dbbe
Display Mathjax handle when clicking mathjax
2021-09-15 13:32:33 +02:00
Henrik Giesel
922461ea47
Rename showImageHandle to showHandles
2021-09-15 13:32:33 +02:00
Henrik Giesel
6a1fae53df
Formalize "Decorated components API"
2021-09-15 13:32:32 +02:00
Henrik Giesel
9fb0ce973b
Implement moveNodesInsertedBeforeEndToAfterEnd
...
This will prevent the user typing into the decorated elements
by accident because they place cursor behind it
2021-09-15 13:32:32 +02:00
Henrik Giesel
d7e0f77439
Unify anki-mathjax-* to just anki-mathjax
2021-09-15 13:32:32 +02:00
Henrik Giesel
6b14afda27
Add MathjaxHandle
2021-09-15 13:32:32 +02:00
Henrik Giesel
14aaa10bf3
Implement latex highlighting for Latex in codable
2021-09-15 13:32:32 +02:00
Henrik Giesel
6953ea9703
Use margin:auto instead of text-align:center for mathjax-block
2021-09-15 13:32:31 +02:00
Henrik Giesel
167370fcb7
Do not start ImageHandle for images with [data-anki]
2021-09-15 13:32:31 +02:00
Henrik Giesel
7950078e2b
Nicely portray mathjax with right color + alignment in Editor
2021-09-15 13:32:31 +02:00
Henrik Giesel
b0378690c0
Enable edit mode for mathjax blocks
2021-09-15 13:32:31 +02:00
Henrik Giesel
cd36fe2518
Correctly include editable css
2021-09-15 13:32:31 +02:00
Henrik Giesel
1465d3a848
Survive to Codable and back
2021-09-15 13:32:31 +02:00
Henrik Giesel
b0b2ae3ece
Transform to mathjax components for fieldHTML
2021-09-15 13:32:31 +02:00
Henrik Giesel
5129aca66f
Implement MathjaxBlock
2021-09-15 13:32:30 +02:00
Henrik Giesel
9b2378c3d2
Introduce editable module
2021-09-15 13:32:30 +02:00
Henrik Giesel
dd280038a8
Prevent tooltip expanding body tag in editor
2021-09-15 02:24:09 +02:00
Henrik Giesel
a6504e3f47
Do not stop showing suggestions when entering double colon for separator
2021-09-15 02:02:19 +02:00
Damien Elmes
c9d3e5462e
bikeshedding: amount -> match_limit
...
+ convert from u32 in backend method
2021-09-12 11:57:49 +10:00
Henrik Giesel
e85c93f3e7
Cap tag suggestions at 500
2021-09-10 01:13:50 +02:00
Henrik Giesel
1fd7fe4391
Fix crosshair not showing on main text of Tag when in select mode
2021-09-09 22:31:16 +02:00
Henrik Giesel
95058ba23f
Introduce TagEditMode as a wrapper around TagWithTooltip
2021-09-09 21:47:07 +02:00
Henrik Giesel
0fdd2d9c52
Only hide DeleteBadge when hovering on tag
2021-09-09 20:16:52 +02:00
Henrik Giesel
69c6265111
Align suggestions with start of tag
2021-09-09 19:03:06 +02:00
Henrik Giesel
4029a608bc
Only show tag tooltip on hover, not focus
2021-09-09 18:36:29 +02:00
Henrik Giesel
9b20ca2da4
Scroll suggestion tag into view
2021-09-09 18:32:58 +02:00
Henrik Giesel
75ed24b7ea
Do not use overflow-x on ButtonToolbar
...
* Fixes deck-options dropdown not showing.
It seems like it's no longer necessary
2021-09-09 17:50:02 +02:00
Henrik Giesel
63c00db502
Fix Tag SPACER
2021-09-09 17:28:00 +02:00
Henrik Giesel
4fc3e059be
Bubble up some functionality from Tag to TagWithTooltip and TagDeleteBadge
2021-09-09 17:18:47 +02:00
Henrik Giesel
fd89f296dd
Remove unused import
2021-09-09 15:38:12 +02:00
Henrik Giesel
8fd4412dbe
Fix bug where sometimes Autocomplete menu would not show even though suggestions exist
2021-09-09 15:38:11 +02:00
Henrik Giesel
8d8a559f73
Use noSuggestions
2021-09-09 15:38:11 +02:00
Henrik Giesel
60b1d65351
Update Autocomplete position when suggestion selection makes it move to the next row
2021-09-09 15:38:10 +02:00
Henrik Giesel
7bdf9aaf00
Set disabled class on TagInput from WithAutocomplete
2021-09-09 15:38:10 +02:00
Henrik Giesel
eb3bc08420
Explicitly not support dropleft/dropright
...
We'll deal with it when we have a use case
2021-09-09 15:38:09 +02:00
Henrik Giesel
18b838a173
Correctly place dropdown and only update if there's activeInput
2021-09-09 15:38:09 +02:00
Henrik Giesel
9e1f2aa262
Take most recent input as basis for suggestions
2021-09-09 15:38:09 +02:00
Damien Elmes
4da1c77220
add basic tag completion to backend
...
Matches should arrive in alphabetical order. Currently results are not
capped (JS should be able to handle ~1k tags without too much hassle),
and no reordering based on match location is done. Matches are substring
based, and multiple can be provided, eg "foo::bar" will match
"foof::baz::abbar".
This is not hooked up properly on the frontend at the moment -
updateSuggestions() seems to be missing the most recently typed character,
and is not updating the list of completions half the time.
2021-09-09 15:38:08 +02:00
Henrik Giesel
c5d507461a
Decrease tag margins
2021-09-09 15:38:08 +02:00
Henrik Giesel
fc09212365
Add bottom padding to selected tag badge as well
2021-09-09 15:38:07 +02:00
Henrik Giesel
b628e9df75
Use new style highlight for selected tags
2021-09-09 15:38:07 +02:00
Henrik Giesel
9d73e928a6
Add slight padding around add tag icon
2021-09-09 15:38:07 +02:00
Henrik Giesel
088420dff2
Add a zero-width tag to prevent resizing when adding tag
2021-09-09 15:38:06 +02:00
Henrik Giesel
5156ed62c3
Un-reverse TagEditor autocompletion navigation
2021-09-09 15:38:06 +02:00
Henrik Giesel
b8a5b5d685
Decrease padding of AutocompleteItem
2021-09-09 15:38:06 +02:00
Henrik Giesel
f79e2aca92
Adjust border radius of tags to fit new fields
2021-09-09 15:38:05 +02:00
Henrik Giesel
96cbca8fb6
Update to use shortened SCSS paths for some components
2021-09-09 15:38:05 +02:00
Henrik Giesel
647a2a3e59
Satisfy formatter
2021-09-09 15:38:04 +02:00
Henrik Giesel
8ee6ccf853
Rename tagEditor tag-editor.ts
2021-09-09 15:38:04 +02:00
Henrik Giesel
b49112a910
Refer to ./ instead of components/ from within components
2021-09-09 15:38:04 +02:00
Henrik Giesel
f5b58442ce
Fix ts/components:svelte_check
2021-09-09 15:38:03 +02:00
Henrik Giesel
a0970e8515
Add scrollbar_lib to components
2021-09-09 15:38:03 +02:00
Henrik Giesel
8bcb0635ba
Fix eslint
2021-09-09 15:38:02 +02:00
Henrik Giesel
ef539bcb37
Fix colon insertion behavior
2021-09-09 15:38:02 +02:00
Henrik Giesel
85691fada2
Replace delim char with colons on copying tags
2021-09-09 15:38:02 +02:00
Henrik Giesel
46e607a777
Fix TagSpacer
2021-09-09 15:38:01 +02:00
Henrik Giesel
04b75859cc
Implement nowrap mode
2021-09-09 15:38:01 +02:00
Henrik Giesel
28b1c09cda
Implement TagWithTooltip
2021-09-09 15:38:00 +02:00
Henrik Giesel
7058d14d25
Move WithTooltip to components
2021-09-09 15:38:00 +02:00
Henrik Giesel
3de1d6e604
Use Unicode delimiter character
2021-09-09 15:38:00 +02:00
Henrik Giesel
6ccf75a077
Improve space behavior
2021-09-09 15:37:59 +02:00
Henrik Giesel
ab429ec413
Improve enter behavior
2021-09-09 15:37:59 +02:00
Henrik Giesel
5f1bcb691e
Split when no autocomplete item is selected
2021-09-09 15:37:59 +02:00
Henrik Giesel
a27720d703
Add tag shorting behavior
2021-09-09 15:37:58 +02:00
Henrik Giesel
ffb1f3bff2
Space out Sticky Bottom with Spacer component
2021-09-09 15:37:58 +02:00
Henrik Giesel
821c65d4ad
Deselect on clicking delete icon
2021-09-09 15:37:58 +02:00
Henrik Giesel
6e53ea8a6d
Add small horizontal margin so selected highlight can show
2021-09-09 15:37:57 +02:00
Henrik Giesel
280a724957
Special handling of Backspace/Delete etc. for displaying shortcuts
2021-09-09 15:37:57 +02:00
Henrik Giesel
6d21c16250
Add select all shortcut
...
+ Remove addEventListener for Ctrl+C/V/A
It seems like they're really not necessary
2021-09-09 15:37:57 +02:00
Henrik Giesel
d40e0df11b
Position stickyBottom fixed
2021-09-09 15:37:56 +02:00
Henrik Giesel
d15d6d1584
Improve positioning of tag editor badges
2021-09-09 15:37:56 +02:00
Henrik Giesel
16e6da893b
Fix after rebase
2021-09-09 15:37:56 +02:00
Henrik Giesel
5a988f72fa
Improve paste behavior
2021-09-09 15:37:55 +02:00
Henrik Giesel
cdc4fd0ef8
Do not update/activate Autocomplete on Control+C,A,V
2021-09-09 15:37:55 +02:00
Henrik Giesel
63dc42cff6
Do not open autocomplete on clicking input
2021-09-09 15:37:55 +02:00
Henrik Giesel
95806c5176
Allow clicking on suggestion items
2021-09-09 15:37:54 +02:00
Henrik Giesel
2dff6cf4be
Pass activeName to Tag as well
2021-09-09 15:37:54 +02:00
Henrik Giesel
9499bc1505
Adjust position so tags do not even move a single pixel when going into editing
2021-09-09 15:37:54 +02:00
Henrik Giesel
6642a11482
Adjust paddings a bit more
2021-09-09 15:37:54 +02:00
Henrik Giesel
f2cd23ff22
Center delete icon without padding/margin
2021-09-09 15:37:53 +02:00
Henrik Giesel
201773e7c6
Fix autocomplete dropdown
...
+ find a different solution for making tags and tag inputs same size
2021-09-09 15:37:53 +02:00
Henrik Giesel
3dff89fda5
Switch WithAutocomplete to WithDropdown and fix SelectedTagBadge
2021-09-09 15:37:53 +02:00
Henrik Giesel
874a315f83
Add SelectedTagBadge to offer context items for selected tags
2021-09-09 15:37:53 +02:00
Henrik Giesel
00de99880b
Implement selectRange
2021-09-09 15:37:52 +02:00
Henrik Giesel
376f543680
Make automatic deselect when leaving tag editor
2021-09-09 15:37:52 +02:00
Henrik Giesel
080b80e3ce
Make tags selectable
2021-09-09 15:37:52 +02:00
Henrik Giesel
0ff0e87dbc
Implement controlPressed and shiftPressed
2021-09-09 15:37:52 +02:00
Henrik Giesel
4601ebb347
Create lib/keys.ts
2021-09-09 15:37:52 +02:00
Henrik Giesel
5c2911c053
First steps toward tag selection
2021-09-09 15:37:51 +02:00
Henrik Giesel
d3191d7ecb
Implement autocomplete hiding on empty activeInput + remove logging
2021-09-09 15:37:51 +02:00
Henrik Giesel
392326b863
Fix behavior when autocompletion shows
2021-09-09 15:37:51 +02:00
Henrik Giesel
54c1f54ab0
Fix join behavior and exclude Backspace/Delete from printable character
2021-09-09 15:37:51 +02:00
Henrik Giesel
e876a374e2
Disable toggle on clicking element (toggle) for WithAutocomplete
2021-09-09 15:37:51 +02:00
Henrik Giesel
bb166392b1
Improve no reflow a little bit
2021-09-09 15:37:51 +02:00
Henrik Giesel
85567fddd9
Fix autocomplete showing on arrow keys and height resize on no tags
2021-09-09 15:37:50 +02:00
Henrik Giesel
a29d21f4fd
Implement accepting suggestions via Enter
2021-09-09 15:37:50 +02:00
Henrik Giesel
b93646209a
Introduce AutocompleteItem
...
* needs too much custom styling / behavior to be done with DropdownItem
2021-09-09 15:37:50 +02:00
Henrik Giesel
b2d2cb8715
suggestions -> suggestionsPromise, so it works with external APIs
2021-09-09 15:37:50 +02:00
Henrik Giesel
a515a9899b
Don't allow Enter/Tab/Arrows for Autocomplete, if not active
...
Don't show Autocomplete, if there are no items available
2021-09-09 15:37:49 +02:00
Henrik Giesel
bbef2ab6b4
Have WithAutocomplete export its API
...
allows it to be used in more contexts
2021-09-09 15:37:49 +02:00
Henrik Giesel
ed1f19048d
Rename TagAutocomplete to WithAutocomplete
...
It's general enough to be used in other cases too
2021-09-09 15:37:49 +02:00
Henrik Giesel
a9538ce6a7
Improve visuals of Tag component
2021-09-09 15:37:49 +02:00
Henrik Giesel
c48b861596
Save deletions via delete icon to db
2021-09-09 15:37:48 +02:00
Henrik Giesel
5575482e38
Save tags back to Python
2021-09-09 15:37:47 +02:00
Henrik Giesel
375a96e263
Set tags from Python
2021-09-09 15:37:47 +02:00
Henrik Giesel
a034c93eb7
Remove deleteActiveTag, fix appendEmptyTag
2021-09-09 15:37:47 +02:00
Henrik Giesel
39ffaf3427
Fix some deletion behavior
2021-09-09 15:37:47 +02:00
Henrik Giesel
ba64f50593
Make Autocomplete dismount along with TagInput on blur
2021-09-09 15:37:47 +02:00
Henrik Giesel
b4e84e8043
Implement on:autocomplete
2021-09-09 15:37:46 +02:00
Henrik Giesel
146a901d91
Don't highlight suggestion items
...
Other suggestions menus don't do it either
2021-09-09 15:37:46 +02:00
Henrik Giesel
9fd985760c
Fix tagmove
2021-09-09 15:37:46 +02:00
Henrik Giesel
9c388a8b7e
Introduce activeName so we can pass it to TagAutocomplete
2021-09-09 15:37:45 +02:00
Henrik Giesel
05d1c51d6b
Export choice as autocompletionChoice from TagAutocomplete
2021-09-09 15:37:45 +02:00
Henrik Giesel
2e00dc09d6
Make tagunique a more general tagaccept
...
* tagaccept includes what was previous done by on:blur
* on:blur in TagInput was in some cases not bubbled up to TagEditor for some reason
2021-09-09 15:37:45 +02:00
Henrik Giesel
68bbc8d25d
Use Autocomplete on TagInput again
2021-09-09 15:37:44 +02:00
Henrik Giesel
cda5e44786
Pass original to Autocomplete
2021-09-09 15:37:44 +02:00
Henrik Giesel
547e6f16c6
Fix TagBadge and TagSpacer + shortcut
2021-09-09 15:37:44 +02:00
Henrik Giesel
0acbf3e9eb
Export blink as a function, works more reliably
2021-09-09 15:37:43 +02:00
Henrik Giesel
53c0d372f4
Fix behavior when simply entering a duplicate
2021-09-09 15:37:43 +02:00
Henrik Giesel
3857ac07d7
Implement tagsplit
2021-09-09 15:37:43 +02:00
Henrik Giesel
de10e55265
Fix tagjoinnext
2021-09-09 15:37:43 +02:00