Commit graph

1616 commits

Author SHA1 Message Date
Henrik Giesel
d6702c1c68 Fix suggestions not showing when typing space in a TagInput 2021-09-15 22:54:53 +02:00
Henrik Giesel
84eda7c547 Make the ImageHandle and MathjaxHandle dropdowns perfectly touch the HandleSelection 2021-09-15 22:26:32 +02:00
Henrik Giesel
f4aa6bf90b Stop propagation for paste in MathjaxHandle editor 2021-09-15 22:14:38 +02:00
Henrik Giesel
dbaba6233a Prevent hiding handles by clicking on handles 2021-09-15 17:56:56 +02:00
Henrik Giesel
d4c535183b Remove style attribute after remove float property if not styling left 2021-09-15 17:36:48 +02:00
Henrik Giesel
e10a5f0a38 Always correctly update MathjaxHandle position 2021-09-15 17:05:43 +02:00
Henrik Giesel
b7d8ae8f22 Correctly pass down dropdownObject... 2021-09-15 16:16:42 +02:00
Henrik Giesel
9d07639829 Using dropdownApi is much less faulty than using dropdownObject
- Update MathjaxSelection and Dropdown more reliably
2021-09-15 15:52:56 +02:00
Henrik Giesel
ca4430d922 Make StickyBottom actually stick and make editor fullsize + flexbox 2021-09-15 15:21:37 +02:00
Henrik Giesel
50cd722dc8 Import saveField from editor/saving.ts 2021-09-15 14:09:25 +02:00
Henrik Giesel
0fc5c87c1a Remove duplicate outline:none 2021-09-15 13:46:07 +02:00
Henrik Giesel
05cf123959 Apply specific CSS to Mathjax CodeMirror 2021-09-15 13:46:04 +02:00
Henrik Giesel
212b2ce8ba Satisfy eslint 2021-09-15 13:45:20 +02:00
Henrik Giesel
745c67fee5 Use editorfield instead of editor-field 2021-09-15 13:45:20 +02:00
Henrik Giesel
04d9ab1f56 Vertically center inline Mathjax 2021-09-15 13:45:20 +02:00
Henrik Giesel
75ee705c4e Generalize accesing anki-mathjax from image in MathjaxHandle 2021-09-15 13:45:20 +02:00
Henrik Giesel
f2dbe2415e Add copyright header to saving.ts 2021-09-15 13:45:20 +02:00
Henrik Giesel
722831ea8d Satisfy eslint 2021-09-15 13:45:19 +02:00
Henrik Giesel
975e798d70 Define CodeMirror in external codeMirror.ts 2021-09-15 13:45:19 +02:00
Henrik Giesel
5b03f51748 Correctly import CodeMirror 2021-09-15 13:45:19 +02:00
Henrik Giesel
9f201b7a7a Include codemirror libs for svelte 2021-09-15 13:45:19 +02:00
Henrik Giesel
65be772799 Satisfy eslint 2021-09-15 13:45:19 +02:00
Henrik Giesel
48912b016e Remove empty constructor 2021-09-15 13:45:19 +02:00
Henrik Giesel
970a5f008b Focus on mount when using Mathjax shortcuts 2021-09-15 13:45:17 +02:00
Henrik Giesel
32bdf0f242 Fix alignment of empty icon 2021-09-15 13:43:37 +02:00
Henrik Giesel
d6e2b794ec Change Wrap commands / shortcuts to use anki-mathjax 2021-09-15 13:42:36 +02:00
Henrik Giesel
eb2c81c79f Refactor editable/mathjax.ts 2021-09-15 13:33:25 +02:00
Henrik Giesel
9d671581ac Set fixed fontSizef or mathjax in editor for now 2021-09-15 13:33:25 +02:00
Henrik Giesel
6c0e649c79 Set color of Mathjax depending on nightMode 2021-09-15 13:33:24 +02:00
Henrik Giesel
7b509f8313 Wrap Mathjax buttons into toolbar 2021-09-15 13:33:24 +02:00
Henrik Giesel
befdbf2563 Move wrap to lib to allow editable to use it 2021-09-15 13:33:24 +02:00
Henrik Giesel
1f477916e6 Move setting inCodable to false into codable 2021-09-15 13:33:23 +02:00
Henrik Giesel
64b971c464 Display Mathjax error as title (tooltip) 2021-09-15 13:33:23 +02:00
Henrik Giesel
542c6965fb Show title on mathjax image 2021-09-15 13:33:22 +02:00
Henrik Giesel
c273084243 Display error Mathjax correctly 2021-09-15 13:33:22 +02:00
Henrik Giesel
5ddbcab636 Show math icon if Mathjax is empty 2021-09-15 13:33:22 +02:00
Henrik Giesel
428b292768 Disallow draggin of mathjax + only ever have one handle active 2021-09-15 13:33:21 +02:00
Henrik Giesel
875c6fe85f Fix return behavior on Mathjax decorated element 2021-09-15 13:33:21 +02:00
Henrik Giesel
b7be5ed3b5 Watch for childList instead of subtree 2021-09-15 13:33:21 +02:00
Henrik Giesel
dfee30dbe5 Display Mathjax editor and buttons at the same time 2021-09-15 13:33:20 +02:00
Henrik Giesel
8cadb90d29 Generalize ChangeTimer and use it in Mathjax editor 2021-09-15 13:33:20 +02:00
Henrik Giesel
631b985d12 Add ResizeObserver for MathjaxHandle 2021-09-15 13:33:20 +02:00
Henrik Giesel
f342edc43c Update editor when editing Mathjax 2021-09-15 13:33:19 +02:00
Henrik Giesel
5646bd34b4 Wait for stylesheets to load before setting field content 2021-09-15 13:33:19 +02:00
Henrik Giesel
269f09d739 Move elements inserted into decorated component no matter the position 2021-09-15 13:33:19 +02:00
Henrik Giesel
35098d0f40 Fix some cases where Mathjax whitespace formatting is destroyed 2021-09-15 13:33:19 +02:00
Henrik Giesel
0a003c7856 Use CodeMirror for Mathjax Editor 2021-09-15 13:33:18 +02:00
Henrik Giesel
0bb3696aa1 Autoupdate mathjax image
* propably should use changeTimer here
2021-09-15 13:33:18 +02:00
Henrik Giesel
c2fa9f3218 Fix focus issues with Mathjax editor 2021-09-15 13:33:18 +02:00
Henrik Giesel
e48ab77de2 First implementation of MathjaxHandleEditor
+ use manual focus highlighting on editing-area
2021-09-15 13:33:17 +02:00
Henrik Giesel
02d76240dd Make Mathjax menu also a floating dropdown menu like ImageHandle 2021-09-15 13:33:17 +02:00
Henrik Giesel
5589e2f7e1 Fix MathJax overlay after rebase 2021-09-15 13:33:17 +02:00
Henrik Giesel
90b0000f7b Add InlineBlock buttons to mathjax components 2021-09-15 13:33:12 +02:00
Henrik Giesel
70e4fd5a3b Add HandleControl to MathjaxHandle 2021-09-15 13:32:33 +02:00
Henrik Giesel
5bef89312e Display Mathjax handle when clicking mathjax 2021-09-15 13:32:33 +02:00
Henrik Giesel
7981cefb0c Rename showImageHandle to showHandles 2021-09-15 13:32:33 +02:00
Henrik Giesel
b092bd9f6d Formalize "Decorated components API" 2021-09-15 13:32:32 +02:00
Henrik Giesel
022143b38b 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
2787d7e7fd Unify anki-mathjax-* to just anki-mathjax 2021-09-15 13:32:32 +02:00
Henrik Giesel
d0e3bff267 Add MathjaxHandle 2021-09-15 13:32:32 +02:00
Henrik Giesel
3529e50f46 Implement latex highlighting for Latex in codable 2021-09-15 13:32:32 +02:00
Henrik Giesel
b2c9e672d4 Use margin:auto instead of text-align:center for mathjax-block 2021-09-15 13:32:31 +02:00
Henrik Giesel
7162a9b961 Do not start ImageHandle for images with [data-anki] 2021-09-15 13:32:31 +02:00
Henrik Giesel
7255312ec5 Nicely portray mathjax with right color + alignment in Editor 2021-09-15 13:32:31 +02:00
Henrik Giesel
1d05ada05b Enable edit mode for mathjax blocks 2021-09-15 13:32:31 +02:00
Henrik Giesel
9ca8e07bbe Correctly include editable css 2021-09-15 13:32:31 +02:00
Henrik Giesel
47653e9672 Survive to Codable and back 2021-09-15 13:32:31 +02:00
Henrik Giesel
24b852b99a Transform to mathjax components for fieldHTML 2021-09-15 13:32:31 +02:00
Henrik Giesel
49d2dd6660 Implement MathjaxBlock 2021-09-15 13:32:30 +02:00
Henrik Giesel
5811e59f27 Introduce editable module 2021-09-15 13:32:30 +02:00
Henrik Giesel
4f6468a925 Prevent tooltip expanding body tag in editor 2021-09-15 02:24:09 +02:00
Henrik Giesel
6c8767cd68 Do not stop showing suggestions when entering double colon for separator 2021-09-15 02:02:19 +02:00
Damien Elmes
b0350bafa7 bikeshedding: amount -> match_limit
+ convert from u32 in backend method
2021-09-12 11:57:49 +10:00
Henrik Giesel
9d0c3e0855 Cap tag suggestions at 500 2021-09-10 01:13:50 +02:00
Henrik Giesel
63398df036 Fix crosshair not showing on main text of Tag when in select mode 2021-09-09 22:31:16 +02:00
Henrik Giesel
27c6003038 Introduce TagEditMode as a wrapper around TagWithTooltip 2021-09-09 21:47:07 +02:00
Henrik Giesel
e8f4872391 Only hide DeleteBadge when hovering on tag 2021-09-09 20:16:52 +02:00
Henrik Giesel
80898d1954 Align suggestions with start of tag 2021-09-09 19:03:06 +02:00
Henrik Giesel
b46dcb5c72 Only show tag tooltip on hover, not focus 2021-09-09 18:36:29 +02:00
Henrik Giesel
f7a69e5e9a Scroll suggestion tag into view 2021-09-09 18:32:58 +02:00
Henrik Giesel
7150e1f149 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
51718134ea Fix Tag SPACER 2021-09-09 17:28:00 +02:00
Henrik Giesel
a1ca2cf4b9 Bubble up some functionality from Tag to TagWithTooltip and TagDeleteBadge 2021-09-09 17:18:47 +02:00
Henrik Giesel
71d4b4d9f7 Remove unused import 2021-09-09 15:38:12 +02:00
Henrik Giesel
8bbc001273 Fix bug where sometimes Autocomplete menu would not show even though suggestions exist 2021-09-09 15:38:11 +02:00
Henrik Giesel
bbba7307b3 Use noSuggestions 2021-09-09 15:38:11 +02:00
Henrik Giesel
500619d5cc Update Autocomplete position when suggestion selection makes it move to the next row 2021-09-09 15:38:10 +02:00
Henrik Giesel
9755b25fb1 Set disabled class on TagInput from WithAutocomplete 2021-09-09 15:38:10 +02:00
Henrik Giesel
e805c45403 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
f34112ee28 Correctly place dropdown and only update if there's activeInput 2021-09-09 15:38:09 +02:00
Henrik Giesel
3fed669c45 Take most recent input as basis for suggestions 2021-09-09 15:38:09 +02:00
Damien Elmes
c83843812e 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
cfee5fb986 Decrease tag margins 2021-09-09 15:38:08 +02:00
Henrik Giesel
8b2e69b912 Add bottom padding to selected tag badge as well 2021-09-09 15:38:07 +02:00
Henrik Giesel
a7b01537f6 Use new style highlight for selected tags 2021-09-09 15:38:07 +02:00
Henrik Giesel
7aa599e72c Add slight padding around add tag icon 2021-09-09 15:38:07 +02:00
Henrik Giesel
cc430c5994 Add a zero-width tag to prevent resizing when adding tag 2021-09-09 15:38:06 +02:00
Henrik Giesel
047e466c98 Un-reverse TagEditor autocompletion navigation 2021-09-09 15:38:06 +02:00
Henrik Giesel
6f41c83587 Decrease padding of AutocompleteItem 2021-09-09 15:38:06 +02:00
Henrik Giesel
6af355f8d0 Adjust border radius of tags to fit new fields 2021-09-09 15:38:05 +02:00
Henrik Giesel
b70124a1e6 Update to use shortened SCSS paths for some components 2021-09-09 15:38:05 +02:00
Henrik Giesel
c15fcb8b7e Satisfy formatter 2021-09-09 15:38:04 +02:00
Henrik Giesel
deb572e637 Rename tagEditor tag-editor.ts 2021-09-09 15:38:04 +02:00
Henrik Giesel
3873c29022 Refer to ./ instead of components/ from within components 2021-09-09 15:38:04 +02:00
Henrik Giesel
e3fe65fc23 Fix ts/components:svelte_check 2021-09-09 15:38:03 +02:00
Henrik Giesel
5dc8224a1b Add scrollbar_lib to components 2021-09-09 15:38:03 +02:00
Henrik Giesel
22d63ec5fa Fix eslint 2021-09-09 15:38:02 +02:00
Henrik Giesel
9e12b25d21 Fix colon insertion behavior 2021-09-09 15:38:02 +02:00
Henrik Giesel
879cd116a6 Replace delim char with colons on copying tags 2021-09-09 15:38:02 +02:00
Henrik Giesel
0db1b9cc78 Fix TagSpacer 2021-09-09 15:38:01 +02:00
Henrik Giesel
93ba4a2cd8 Implement nowrap mode 2021-09-09 15:38:01 +02:00
Henrik Giesel
bf6e587161 Implement TagWithTooltip 2021-09-09 15:38:00 +02:00
Henrik Giesel
9e91307c5d Move WithTooltip to components 2021-09-09 15:38:00 +02:00
Henrik Giesel
cc9e3e2455 Use Unicode delimiter character 2021-09-09 15:38:00 +02:00
Henrik Giesel
58dc22ee7b Improve space behavior 2021-09-09 15:37:59 +02:00
Henrik Giesel
f5feed589e Improve enter behavior 2021-09-09 15:37:59 +02:00
Henrik Giesel
39a1f6199e Split when no autocomplete item is selected 2021-09-09 15:37:59 +02:00
Henrik Giesel
c0944ec3a1 Add tag shorting behavior 2021-09-09 15:37:58 +02:00
Henrik Giesel
a49fd5ab2a Space out Sticky Bottom with Spacer component 2021-09-09 15:37:58 +02:00
Henrik Giesel
494d1e206d Deselect on clicking delete icon 2021-09-09 15:37:58 +02:00
Henrik Giesel
98baca8809 Add small horizontal margin so selected highlight can show 2021-09-09 15:37:57 +02:00
Henrik Giesel
596e7e0e70 Special handling of Backspace/Delete etc. for displaying shortcuts 2021-09-09 15:37:57 +02:00
Henrik Giesel
9682e84452 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
09f00a92aa Position stickyBottom fixed 2021-09-09 15:37:56 +02:00
Henrik Giesel
37d30284fc Improve positioning of tag editor badges 2021-09-09 15:37:56 +02:00
Henrik Giesel
928866b5aa Fix after rebase 2021-09-09 15:37:56 +02:00
Henrik Giesel
c8bcca517b Improve paste behavior 2021-09-09 15:37:55 +02:00
Henrik Giesel
2fc5c73b74 Do not update/activate Autocomplete on Control+C,A,V 2021-09-09 15:37:55 +02:00
Henrik Giesel
5a41409f54 Do not open autocomplete on clicking input 2021-09-09 15:37:55 +02:00
Henrik Giesel
b91db34aec Allow clicking on suggestion items 2021-09-09 15:37:54 +02:00
Henrik Giesel
964e97a384 Pass activeName to Tag as well 2021-09-09 15:37:54 +02:00
Henrik Giesel
444afa5b00 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
6af2ab437e Adjust paddings a bit more 2021-09-09 15:37:54 +02:00
Henrik Giesel
5bb6df757e Center delete icon without padding/margin 2021-09-09 15:37:53 +02:00
Henrik Giesel
58c35f316d 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
e3be5972b8 Switch WithAutocomplete to WithDropdown and fix SelectedTagBadge 2021-09-09 15:37:53 +02:00
Henrik Giesel
a576228c08 Add SelectedTagBadge to offer context items for selected tags 2021-09-09 15:37:53 +02:00
Henrik Giesel
408ff4f061 Implement selectRange 2021-09-09 15:37:52 +02:00
Henrik Giesel
b178b86afd Make automatic deselect when leaving tag editor 2021-09-09 15:37:52 +02:00
Henrik Giesel
2fc7602406 Make tags selectable 2021-09-09 15:37:52 +02:00
Henrik Giesel
984afb8812 Implement controlPressed and shiftPressed 2021-09-09 15:37:52 +02:00
Henrik Giesel
9f0bf7484b Create lib/keys.ts 2021-09-09 15:37:52 +02:00
Henrik Giesel
81274169cd First steps toward tag selection 2021-09-09 15:37:51 +02:00
Henrik Giesel
c8c86d376a Implement autocomplete hiding on empty activeInput + remove logging 2021-09-09 15:37:51 +02:00
Henrik Giesel
b2d9500816 Fix behavior when autocompletion shows 2021-09-09 15:37:51 +02:00
Henrik Giesel
033f39f52f Fix join behavior and exclude Backspace/Delete from printable character 2021-09-09 15:37:51 +02:00
Henrik Giesel
8d8dd4fca0 Disable toggle on clicking element (toggle) for WithAutocomplete 2021-09-09 15:37:51 +02:00
Henrik Giesel
84d060a5b8 Improve no reflow a little bit 2021-09-09 15:37:51 +02:00
Henrik Giesel
b4860fbc6b Fix autocomplete showing on arrow keys and height resize on no tags 2021-09-09 15:37:50 +02:00
Henrik Giesel
8a648a4bcf Implement accepting suggestions via Enter 2021-09-09 15:37:50 +02:00
Henrik Giesel
b6ffc4d071 Introduce AutocompleteItem
* needs too much custom styling / behavior to be done with DropdownItem
2021-09-09 15:37:50 +02:00
Henrik Giesel
d2d6623788 suggestions -> suggestionsPromise, so it works with external APIs 2021-09-09 15:37:50 +02:00
Henrik Giesel
d5eff3b75c 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
c18c0dd5b9 Have WithAutocomplete export its API
allows it to be used in more contexts
2021-09-09 15:37:49 +02:00
Henrik Giesel
85a5f627be 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
6bf478acdf Improve visuals of Tag component 2021-09-09 15:37:49 +02:00
Henrik Giesel
477796fb3d Save deletions via delete icon to db 2021-09-09 15:37:48 +02:00
Henrik Giesel
fc5dffbf86 Save tags back to Python 2021-09-09 15:37:47 +02:00
Henrik Giesel
51732b4470 Set tags from Python 2021-09-09 15:37:47 +02:00
Henrik Giesel
72b4487f39 Remove deleteActiveTag, fix appendEmptyTag 2021-09-09 15:37:47 +02:00
Henrik Giesel
a88af9954c Fix some deletion behavior 2021-09-09 15:37:47 +02:00
Henrik Giesel
151a64af7f Make Autocomplete dismount along with TagInput on blur 2021-09-09 15:37:47 +02:00
Henrik Giesel
263ee2364d Implement on:autocomplete 2021-09-09 15:37:46 +02:00
Henrik Giesel
978b2d6227 Don't highlight suggestion items
Other suggestions menus don't do it either
2021-09-09 15:37:46 +02:00
Henrik Giesel
3d013fd521 Fix tagmove 2021-09-09 15:37:46 +02:00
Henrik Giesel
5b473df41c Introduce activeName so we can pass it to TagAutocomplete 2021-09-09 15:37:45 +02:00
Henrik Giesel
253c6d702b Export choice as autocompletionChoice from TagAutocomplete 2021-09-09 15:37:45 +02:00
Henrik Giesel
3a7df7ca40 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
b59c5bcc8d Use Autocomplete on TagInput again 2021-09-09 15:37:44 +02:00
Henrik Giesel
60faccebc0 Pass original to Autocomplete 2021-09-09 15:37:44 +02:00
Henrik Giesel
2a10d1a236 Fix TagBadge and TagSpacer + shortcut 2021-09-09 15:37:44 +02:00
Henrik Giesel
415c473d89 Export blink as a function, works more reliably 2021-09-09 15:37:43 +02:00
Henrik Giesel
b842a1d6f2 Fix behavior when simply entering a duplicate 2021-09-09 15:37:43 +02:00
Henrik Giesel
6a3b88cfb8 Implement tagsplit 2021-09-09 15:37:43 +02:00
Henrik Giesel
d706640acd Fix tagjoinnext 2021-09-09 15:37:43 +02:00
Henrik Giesel
a4ca20d852 Fix tagjoinprevious 2021-09-09 15:37:43 +02:00
Henrik Giesel
1766162241 Fix tagmove 2021-09-09 15:37:42 +02:00
Henrik Giesel
20971037ab Fix TagBadge and TagSpacer 2021-09-09 15:37:42 +02:00
Henrik Giesel
0a6dcfd55b Align tagenter tagdelete and tagunique 2021-09-09 15:37:42 +02:00
Henrik Giesel
da713badc0 Implement decideAfterBlur and activeAfterBlur 2021-09-09 15:37:42 +02:00
Henrik Giesel
02fc7cc16f Prefer focusing TagInput in onMount 2021-09-09 15:37:41 +02:00
Henrik Giesel
75783fff7c Completely decouple Tag from TagInput 2021-09-09 15:37:41 +02:00
Henrik Giesel
ea08e89d33 Add .input to Tag interface 2021-09-09 15:37:41 +02:00
Henrik Giesel
f6927bea41 Remove special treatment of last tag 2021-09-09 15:37:41 +02:00
Henrik Giesel
da3ea03694 Try to remove special handling of last tag / inputNew 2021-09-09 15:37:40 +02:00
Henrik Giesel
13f16790d6 Improve behavior when moving towards newInput 2021-09-09 15:37:40 +02:00
Henrik Giesel
f6ca173d0c tagmove should act like tagjoin on empty inputs 2021-09-09 15:37:40 +02:00
Henrik Giesel
5999b3459b Fix double delete on empty input 2021-09-09 15:37:40 +02:00
Henrik Giesel
7a7c862fa9 Implement blink on duplicate detected 2021-09-09 15:37:39 +02:00
Henrik Giesel
12a3d83d0a Add some visual for TagAutocomplete 2021-09-09 15:37:39 +02:00
Henrik Giesel
8d691c217a Minimize reflow upon clicking tag 2021-09-09 15:37:39 +02:00
Henrik Giesel
b91d20bd85 Implement tagmovenext fully 2021-09-09 15:37:39 +02:00
Henrik Giesel
8fd2f1a8c4 Almost implement tagmove
* tagmovenext will start on the last position rather than first
2021-09-09 15:37:38 +02:00
Henrik Giesel
8a6067958f Reimplement tagjoin with tick() 2021-09-09 15:37:38 +02:00
Henrik Giesel
766270a7bf Start implemention tagmove 2021-09-09 15:37:38 +02:00
Henrik Giesel
a8b002acee Set caret correctly after tagjoin 2021-09-09 15:37:38 +02:00
Henrik Giesel
e6bd66b894 Show Autocomplete on keydown, hide on blur 2021-09-09 15:37:38 +02:00
Henrik Giesel
2629afe6b0 Adjust padding of TagInput a little 2021-09-09 15:37:37 +02:00
Henrik Giesel
a0c44f55db Fix some WithDropdownMenu logic 2021-09-09 15:37:37 +02:00
Henrik Giesel
e368cf09a8 Factor out ButtonToolbar from TagAutocomplete 2021-09-09 15:37:37 +02:00
Henrik Giesel
0d394814e7 Decouple TagInput from TagAutocomplete completely 2021-09-09 15:37:37 +02:00
Henrik Giesel
7b6f49577a Add tabbable option to DropdownItem 2021-09-09 15:37:37 +02:00
Henrik Giesel
f52ad747cb Fix issue with text showing below StickyBottom 2021-09-09 15:37:37 +02:00
Henrik Giesel
68509995d5 Make tags stand less out in dark mode 2021-09-09 15:37:36 +02:00
Henrik Giesel
178062fc2d Make styling of DropdownMenu easier by introducing dropdown-content 2021-09-09 15:37:36 +02:00
Henrik Giesel
e287b396f9 Decouple Autocomplete from TagInput:
Allows to only have one autocompletion for all tags, rather than every
tag having its own
2021-09-09 15:37:36 +02:00
Henrik Giesel
59ef4259f5 Remove dead code from TagAutocomplete 2021-09-09 15:37:36 +02:00
Henrik Giesel
b778653851 Implement tagjoin events 2021-09-09 15:37:36 +02:00
Henrik Giesel
bbb4084f03 Delete tag when update reveals its a duplicate 2021-09-09 15:37:35 +02:00
Henrik Giesel
9706b1e15c Enable keyed blocks in TagEditor for tags 2021-09-09 15:37:35 +02:00
Henrik Giesel
0fcead4843 Rewrite paste behavior 2021-09-09 15:37:35 +02:00
Henrik Giesel
a4f52f82d8 Delete when updating tagname to empty text 2021-09-09 15:37:35 +02:00
Henrik Giesel
3869db8c86 Connect Bootstrap dropdown with trigger via classes/props 2021-09-09 15:37:34 +02:00
Henrik Giesel
6e563ddf49 Use our DropdownMenu component for TagAutocomplete 2021-09-09 15:37:34 +02:00
Henrik Giesel
3d594c1883 Allow correctly adding tags
+ Make taginput unfocusable via Tab => prefer Ctrl+Shift+T
2021-09-09 15:37:34 +02:00
Henrik Giesel
2a30eccfa4 Make caret cursor more discoverable 2021-09-09 15:37:34 +02:00
Henrik Giesel
eff5df2c69 Remove TagInputEdit and TagInputNew 2021-09-09 15:37:34 +02:00
Henrik Giesel
d89a6af45f Port Focus tags shortcut to webview 2021-09-09 15:37:34 +02:00
Henrik Giesel
f047441c18 Behave correctly upon Enter on TagInputEdit 2021-09-09 15:37:34 +02:00
Henrik Giesel
cecbafcec8 Create AddTagBadge component 2021-09-09 15:37:33 +02:00
Henrik Giesel
2b9e32fb08 Make Tag icon an add tag icon 2021-09-09 15:37:33 +02:00
Henrik Giesel
bcd6e037f2 Adjust offsets and sizes to make tag input smaller 2021-09-09 15:37:33 +02:00
Henrik Giesel
4aaba0875f Enable tag delete icon 2021-09-09 15:37:33 +02:00
Henrik Giesel
016d815ee1 Port most components from first tageditor PR 2021-09-09 15:37:33 +02:00
Henrik Giesel
7f6e7235f1 Display a tag-outline icon in the bottom left 2021-09-09 15:37:33 +02:00
Henrik Giesel
9919cf2b47 Add Tag DeleteIcon 2021-09-09 15:37:33 +02:00
Henrik Giesel
8b92ba7fa4 Add Tag.svelte 2021-09-09 15:37:33 +02:00
Henrik Giesel
37fdefaf40 Mount TagEditor 2021-09-09 15:37:33 +02:00
Damien Elmes
0c94600be6 Merge pull request #1357 from hgiesel/preventstickybubble
Prevent sticky bubble
2021-09-08 19:02:00 +10:00
Henrik Giesel
6b633fc275 However bubble up when clicking on label container itself 2021-09-07 15:02:59 +02:00
Henrik Giesel
828cf80f68 Put sticky tooltip on icon, not label container 2021-09-07 14:33:15 +02:00
Henrik Giesel
26e9fa1c01 Prevent sticky bubbling and saveField before toggling sticky 2021-09-07 14:33:05 +02:00
Damien Elmes
1aad956872 fix case of fields table 2021-09-07 10:22:22 +10:00
Damien Elmes
d96b017d52 remove recursive symlink
https://github.com/ankitects/anki/pull/1332#issuecomment-913572914
2021-09-06 21:26:30 +10:00
Henrik Giesel
90dc1a0b40 Fix Float buttons in rtl 2021-09-06 21:15:37 +10:00
Henrik Giesel
803bf1b9d4 Fix ButtonDropdown disappearing when mouseupping on HandleBackground 2021-09-06 21:15:37 +10:00
Henrik Giesel
912fb0d94d Fix Tab not moving caret to end 2021-09-06 21:15:37 +10:00
Henrik Giesel
57eb988068 Make clicking on labelcontainer move focus to field 2021-09-06 21:15:37 +10:00
Henrik Giesel
997e28384d Decrease margin of the pin icon on the right 2021-09-06 21:15:37 +10:00
Henrik Giesel
b7ca721a2c Have a uniform border-radius for buttons and fields 2021-09-06 21:15:37 +10:00
Henrik Giesel
212fd00405 Add a dashed border around pictures when image-editing 2021-09-06 21:15:37 +10:00
Henrik Giesel
63bc3f823b Make focus highlight artificial and based on :focus-within 2021-09-06 21:15:37 +10:00
Henrik Giesel
b40f7ef262 Remove comma 2021-09-06 21:15:37 +10:00
Henrik Giesel
214b674cad Prevent overflow of sizeDimensions or image handle buttons 2021-09-06 21:15:37 +10:00
Henrik Giesel
abf0eb1c16 Fix automatic positioning of ButtonDropdown after changing float property 2021-09-06 21:15:37 +10:00
Henrik Giesel
620f9cb765 Introduce WithImageConstrained 2021-09-06 21:15:37 +10:00
Henrik Giesel
732886ea7e Parameterize overlay handle offsets 2021-09-06 21:15:37 +10:00
Henrik Giesel
02413acd88 Move more logic into HandleSelection 2021-09-06 21:15:37 +10:00
Henrik Giesel
b7d2791e92 Remove unused import tick 2021-09-06 21:15:37 +10:00
Henrik Giesel
ce8abfb1d0 Implement HandleLabel 2021-09-06 21:15:37 +10:00
Henrik Giesel
e59d02178c Implement HandleBackground 2021-09-06 21:15:37 +10:00
Henrik Giesel
384bb70fd5 Remove unused nightMode from ImageHandle 2021-09-06 21:15:37 +10:00
Henrik Giesel
29d6d524d0 Introduce HandleControl 2021-09-06 21:15:37 +10:00
Henrik Giesel
fce34cafd9 Introduce HandleSelection.svelte 2021-09-06 21:15:37 +10:00
Henrik Giesel
b501326c89 Change SizeSelect.images back to const: no reactivity needed here 2021-09-06 21:15:37 +10:00
Henrik Giesel
598d3bfbc5 Also check for sizeSelect.includes 2021-09-06 21:15:37 +10:00
Henrik Giesel
76d56d73a7 Make images in SizeSelect variable again 2021-09-06 21:15:37 +10:00
Henrik Giesel
f7a99063a8 Only allow ImageHandle on valid pictures (determined in SizeSelect) 2021-09-06 21:15:37 +10:00
Henrik Giesel
299892c40f Fix resetting image-handle-bg on no activeImage 2021-09-06 21:15:37 +10:00
Henrik Giesel
480138f8e3 Set max-width of images in the reviewer to 100% 2021-09-06 21:15:37 +10:00
Henrik Giesel
1c8d5d3fa7 Make first adjustment of size dimensions wait for setting of dimensions label 2021-09-06 21:15:37 +10:00
Henrik Giesel
55b63b9a45 Better algorithmus for minimum resize + prevent overflow of dimensions 2021-09-06 21:15:37 +10:00
Henrik Giesel
62639f3108 Constrain with proportions in SizeSelect 2021-09-06 21:15:37 +10:00
Henrik Giesel
ac182473ac Show custom dimensions again 2021-09-06 21:15:37 +10:00
Henrik Giesel
a7d117b6bc Detect active status again 2021-09-06 21:15:37 +10:00
Henrik Giesel
027db43664 Implement new resizing algorithm
* resizes against the original parameters
2021-09-06 21:15:37 +10:00
Henrik Giesel
e2d345bfd2 Manage CSSStyleSheet from within SizeSelect where each image has one rule 2021-09-06 21:15:37 +10:00
Henrik Giesel
16a394fa7d Hide Float icons when width too small + Avoid too small resizing 2021-09-06 21:15:37 +10:00
Henrik Giesel
ccc44d1632 Revert "During resizing, make the smaller dimension decide the new dimensions"
This reverts commit 5bad9a913ce7b4a4cc58106936203fddec37d6da.

The previous behavior was the one you can observe in most graphical editors:
The bigger dimension (width or height) will decide the size, not the smaller one.
2021-09-06 21:15:37 +10:00
Henrik Giesel
0ffa5030e5 During resizing, make the smaller dimension decide the new dimensions 2021-09-06 21:15:37 +10:00
Henrik Giesel
a7fa217306 Reset height, so it defaults to "auto"
* This allows more flexible dynamic resizing for the image in the (p)reviewer
2021-09-06 21:15:37 +10:00
Henrik Giesel
3fe1180f39 Add margin to other side of dimensions 2021-09-06 21:15:37 +10:00
Henrik Giesel
63fed87b48 Do not allow for resizing when in constrained mode 2021-09-06 21:15:37 +10:00
Henrik Giesel
c4f47be673 Don't show same dimensions twice if there are no custom dimensions 2021-09-06 21:15:37 +10:00
Henrik Giesel
db558c869d Change position of float buttons and dimension
* So we can show dimensions at lower image sizes
2021-09-06 21:15:37 +10:00
Henrik Giesel
fce63ed718 Deal with case where no style.{width,height} is set for size dimensions 2021-09-06 21:15:37 +10:00
Henrik Giesel
460b6f33c9 Dispaly "actualHeight / actualWidth" even in constrained mode 2021-09-06 21:15:37 +10:00
Henrik Giesel
2a548f2ebd Turn off no-explicit-warning for editing-area 2021-09-06 21:15:36 +10:00
Henrik Giesel
e8ec6b61a7 Use ResizeObserver to resize overlay if necessary 2021-09-06 21:15:36 +10:00
Henrik Giesel
2224d1c287 Reset image handle on keydown and blur 2021-09-06 21:15:36 +10:00
Henrik Giesel
796037649a Better RTL support 2021-09-06 21:15:36 +10:00
Henrik Giesel
9342d19504 Move selector / active logic up to ImageHandle 2021-09-06 21:15:36 +10:00
Henrik Giesel
47cd308251 Do not use width/height auto important to avoid enlarging smaller images 2021-09-06 21:15:36 +10:00
Henrik Giesel
7696a181f3 Implement Maximum image size mechanism 2021-09-06 21:15:36 +10:00
Henrik Giesel
a6b071d849 Add float tooltips 2021-09-06 21:15:36 +10:00
Henrik Giesel
5257a4db26 Allow SW resize 2021-09-06 21:15:36 +10:00
Henrik Giesel
5e91108a79 Bind to style properties instead of events 2021-09-06 21:15:36 +10:00
Henrik Giesel
b919b9cb7f Add functionality to set float of image 2021-09-06 21:15:36 +10:00
Henrik Giesel
2a81273115 Image resizes preserves ratio 2021-09-06 21:15:36 +10:00
Henrik Giesel
9b97320438 Add image-handle-dimensions to show dimensions directly on image 2021-09-06 21:15:36 +10:00
Henrik Giesel
53d1435aa7 First implementation of ImageHandle 2021-09-06 21:15:36 +10:00
Damien Elmes
3e5a2a92c7 Introduce editable-container
Contains the shadow root, and references to the styles.
Is ignorant of Editable.
Is necessary, so our we editable.scss does not need to contain
information about Codable, ImageHandle or all those other things which
have nothing to do with Editable
2021-09-06 21:15:36 +10:00
Damien Elmes
f07b72a708 Merge pull request #1332 from hgiesel/svelteexportcontext
Shorten CSS references for `@import` or `@use`
2021-09-06 21:10:27 +10:00
Henrik Giesel
dc9a65bd8b Disallow setting, deleting or defining properties on packages 2021-09-03 00:52:39 +02:00
Henrik Giesel
7cb3c4a996 Add ts/sass/anki, a symlink to ts/sass for add-ons 2021-09-03 00:18:17 +02:00
Henrik Giesel
269b75ef4e Fix for svelte_check 2021-09-02 23:37:17 +02:00
Henrik Giesel
1f34b666b9 Uniformly shorten SCSS imports/uses 2021-09-02 23:37:17 +02:00
Henrik Giesel
c521568303 Directly include CSS from bootstrap and codemirror packages 2021-09-02 23:37:16 +02:00
Henrik Giesel
0667706d60 Add source for block level elements 2021-09-02 22:31:25 +10:00
Henrik Giesel
f7954af1be Remove special treatment of empty anki-editable 2021-09-02 22:31:25 +10:00