Commit Graph

1712 Commits

Author SHA1 Message Date
RumovZ
26e5235846 Fix type annotations in browser search 2021-01-30 11:24:33 +01:00
RumovZ
63e8b44629 Update docstrings for browser search 2021-01-30 11:05:48 +01:00
RumovZ
9c4cc88b47 Auto search and check input before model search
- Search for current deck automatically on browser setup.
- Hide current deck and current card searches.
- Check user search input before passing it on to the model, so invalid
  searches don't change TableView.
2021-01-30 10:53:42 +01:00
Damien Elmes
b66bedbc9f
Merge pull request #957 from hgiesel/fieldsshadow
Implement editor as Web Component
2021-01-30 15:13:58 +10:00
Damien Elmes
705012164b move Rating up a level
More ergonomic, and will allow reuse if we expose prop:rated in
the future.
2021-01-30 11:54:39 +10:00
Damien Elmes
cb6b88da0f simplify nid/nids searches, and ditch helper function
- IdList could be re-used for a cids: search in the future if required.
- Embedding the message means it's easy to access from Python as
an attribute of SearchTerm.
2021-01-30 11:37:00 +10:00
Damien Elmes
1adc9952f4 simplify Dupe message and ditch helper function
Calling code doesn't need to know about the existence of such helpers;
it can just rely on code completion to discover the required arguments.
2021-01-30 11:10:26 +10:00
Damien Elmes
5e6dd54c8e export SearchTerm from collection.py, and avoid exporting embedded items 2021-01-30 11:01:11 +10:00
Damien Elmes
73b897c754 rename FilterToSearchIn in backend to match frontend 2021-01-30 10:54:21 +10:00
Damien Elmes
52bac7a7a1 use a separate enum for the is:* searches 2021-01-30 10:49:00 +10:00
Damien Elmes
22b80c2dd5 combine forgot_in_days and studied_today into a more general 'rated' 2021-01-30 10:26:23 +10:00
Damien Elmes
177036d0c1
Merge pull request #958 from hgiesel/zindexedtopbar
Make sticky topbar have a positive z-index
2021-01-30 09:14:50 +10:00
RumovZ
2ca4f31fc8 Update search history only after successful search
Ergo, don't save invalid searches, but also save searches normalised so
equivalent searches get saved only once.
2021-01-29 23:05:51 +01:00
RumovZ
671c6a7b3e Rework search initialisation
- Remove _searchPrompt.
- Add placeholder prompt.
- Move search for current card from browser to caller. (Thus, support
  current card search even with opened browser.)
2021-01-29 21:07:42 +01:00
Henrik Giesel
61346cf1f7 Rename editingContainer -> editingArea; editingArea -> editable
* Custom elements are now namespaces with `anki-`
* The element names are inspired by summernote, which have the same
  naming scheme of "editingArea > editable"
2021-01-29 20:32:21 +01:00
Henrik Giesel
2e72de4af0 Reorder methods / properties 2021-01-29 20:13:02 +01:00
Henrik Giesel
e37fd2e091 Remove unnecessarily observed attribute 2021-01-29 20:11:00 +01:00
Henrik Giesel
aa924ac821 Add semicolon in js message 2021-01-29 19:48:17 +01:00
Henrik Giesel
3559834bc9 Make forEditorField more cheaper to execute by avoiding casting to Array 2021-01-29 19:38:55 +01:00
RumovZ
c299e271e8 Refactor search_string() and FilterToSearchIn
See #955.
2021-01-29 18:27:33 +01:00
Henrik Giesel
79dc0ecf86 Remove explicit ids, as they are not necessary anymore 2021-01-29 18:07:31 +01:00
Henrik Giesel
5e67e706fb No need to set initial values for editing area base CSS 2021-01-29 17:51:26 +01:00
Henrik Giesel
32ee863577 Remove checking for class names for instance checks 2021-01-29 17:41:27 +01:00
Henrik Giesel
982372beae Put HTML initialization into web component constructor
* disconnectedCallback should remove event listeners and free other resources
* attributes belong to connectedCallback
2021-01-29 15:50:34 +01:00
Henrik Giesel
0beefc0699 Move setting of index to connectedCallback 2021-01-29 14:54:59 +01:00
Henrik Giesel
fe87f986d3 Remove user styling in editor again for now 2021-01-29 14:54:59 +01:00
Henrik Giesel
594fc9bebd Fix focus change on tab 2021-01-29 14:54:59 +01:00
Henrik Giesel
6e907fd8b6 Move styling attributes from editor to editing-area that are for editing area 2021-01-29 14:54:58 +01:00
Henrik Giesel
a620bf91a8 Make button highlight white in nightMode 2021-01-29 14:54:58 +01:00
Henrik Giesel
3eade1c64d Make the text color part of the base style in editor 2021-01-29 14:54:58 +01:00
Henrik Giesel
af3753948a Allow stylesheet of note type take effect on editor fields 2021-01-29 14:54:58 +01:00
Henrik Giesel
8a525d3643 Use currentField.getSelection instead of window.getSelection 2021-01-29 14:54:58 +01:00
Henrik Giesel
08a6f8f02f Use new focusEditingArea and blurEditingArea to delegate to editing area 2021-01-29 14:54:58 +01:00
Henrik Giesel
aed38de228 Fix dupes, but also make sticky, and centered to draw more attention 2021-01-29 14:54:58 +01:00
Henrik Giesel
bec709c7a9 Update setFonts and setBackgrounds 2021-01-29 14:54:58 +01:00
Henrik Giesel
db0c776210 Fix inListItem for shadow roots 2021-01-29 14:54:58 +01:00
Henrik Giesel
e0d1450ce0 Rename fieldContainsInlineContent to containsInlineContent to reflect new usage 2021-01-29 14:54:58 +01:00
Henrik Giesel
7dc4b8818c Isolate styling of editing-area into new scss file 2021-01-29 14:54:58 +01:00
Henrik Giesel
1db71805d3 Create a rough draft of the editor web component 2021-01-29 14:54:58 +01:00
Damien Elmes
d558f08a74 remove debug statement 2021-01-29 23:21:57 +10:00
Henrik Giesel
4b7d406559 Make sticky topbar have a positive z-index 2021-01-29 14:21:32 +01:00
Damien Elmes
79239c89b7 move saved search code into sidebar.py, and remove from Filter button 2021-01-29 23:05:30 +10:00
Damien Elmes
132bb5ff36 add expand/collapse children options 2021-01-29 22:54:00 +10:00
Damien Elmes
6ba5ff5a01 place each sidebar section under its own collapsible parent node
- Allows for group operations like "clear unused tags"
- Allows users to hide groups they're not interested in
2021-01-29 22:11:05 +10:00
Damien Elmes
5ff7944a26 add getter/setter for boolean config values 2021-01-29 21:03:19 +10:00
RumovZ
349bd9d681 Use proper docstrings 2021-01-29 09:40:21 +01:00
RumovZ
1fb6024454 Rename filters added_in etc. to added_in_days 2021-01-29 09:38:13 +01:00
Damien Elmes
4ac9ad1407 show actual error when graphData fails
The original reason for the catch-all message was users with bad
data such as decimal intervals, but those get automatically coerced
these days. The common case should now be invalid search strings, which
we can show verbatim.
2021-01-29 14:39:05 +10:00
Damien Elmes
57c53632a6 Revert "Make sidebar search matching work with full_name instead of name"
This reverts commit 6850e0f78e.

Using the full name caused issues with highlighting:
https://github.com/ankitects/anki/pull/951#issuecomment-769516003

Let's revert this for now and see if demand presents itself.
2021-01-29 13:18:28 +10:00
Damien Elmes
151cf52718 vary sidebar highlight with theme 2021-01-29 13:15:38 +10:00
Damien Elmes
9584efc066
Merge pull request #951 from abdnh/sidebar-search
Add search bar to the sidebar
2021-01-29 11:32:26 +10:00
abdo
903008f2bd Handle sidebar refreshing while searching 2021-01-29 04:20:15 +03:00
Damien Elmes
64af4dfe7e drop potentially slow regex usage in cloze check
Closes #956, thanks to Henrik.
2021-01-29 11:15:33 +10:00
abdo
9492c8305e Wait for some time before performing sidebar search 2021-01-29 03:45:16 +03:00
abdo
6850e0f78e Make sidebar search matching work with full_name instead of name 2021-01-29 02:36:13 +03:00
RumovZ
f04228990d Add browser_search helper in mw 2021-01-28 20:51:32 +01:00
RumovZ
251fe50660 Fix search calls in addcards 2021-01-28 20:01:20 +01:00
RumovZ
423d7e5098 Use backend filter for findDupes and handle excep. 2021-01-28 19:49:16 +01:00
RumovZ
a930aa41f0 Use backend nid filter in addcards and mediacheck 2021-01-28 18:59:20 +01:00
RumovZ
407358ab68 Use backend nid filter in browser 2021-01-28 16:21:56 +01:00
RumovZ
1635f20af3 Prevent search prompt from being saved as a filter
Normalisation would render it useless.
2021-01-28 13:31:08 +01:00
RumovZ
99cb68513c Use backend filter for search prompt 2021-01-28 13:26:52 +01:00
RumovZ
77765d4896 Replace remaining literal searches in aqt 2021-01-28 11:19:07 +01:00
RumovZ
ea46e24662 Use col instead of backend in aqt for search strs 2021-01-28 11:17:24 +01:00
Damien Elmes
2224fce936 fix crashes when activating context menu/items while searching 2021-01-28 19:12:07 +10:00
Damien Elmes
b148095243 basic match highlighting 2021-01-28 18:58:51 +10:00
Damien Elmes
8b08687b0c basic tree-based filtering with a sort proxy
Some things left to do:

- instead of searching on each keystroke, have the keystroke start
a timer and wait 600-1000ms before performing the search
- handle the case .refresh() is called while searching

It would also be nice to have some visual distinction between matching
rows and their non-matching parents.
2021-01-28 18:51:18 +10:00
Damien Elmes
fbf2f673f4 fix sidebar model.parent() returning invalid values
Triggered a crash when using a model proxy.
2021-01-28 17:48:33 +10:00
Damien Elmes
f45d51c92d
Merge pull request #952 from hgiesel/fieldsflex
Deal with inline content vs block content and <br> in editor.ts
2021-01-28 15:49:31 +10:00
Damien Elmes
a03da5ce89 add type check to textFormat arg 2021-01-27 14:22:17 +10:00
Henrik Giesel
bf7ff65af6 Rename fieldIsInInlineMode to fieldContainsInlineContent 2021-01-27 02:35:14 +01:00
Henrik Giesel
d9f00c4839 Remove unused helper functions 2021-01-27 00:55:00 +01:00
Henrik Giesel
b2b17f4c3d Recreate border-spacing with margins for #fields 2021-01-27 00:50:26 +01:00
Henrik Giesel
9b5d915983 Change nodeIsInline logic to be more typesafe 2021-01-26 23:49:48 +01:00
Henrik Giesel
feddf96f2a Change logic to detect inline elements, as the display style property may not be set after setting innerHTML 2021-01-26 23:42:04 +01:00
abdo
208c713e39 Add search bar to the sidebar
https://github.com/ankitects/help-wanted/issues/6
2021-01-27 01:41:57 +03:00
Henrik Giesel
520c4a3b4d Make #fields display correctly 2021-01-26 23:17:50 +01:00
Henrik Giesel
e481452114 Make fields div instead of table + implement fieldIsInInlineMode logic 2021-01-26 23:00:55 +01:00
Henrik Giesel
335267d42e Strip trailing newline if inline elements logic 2021-01-26 21:26:04 +01:00
Damien Elmes
322788133b tooltip() instead of print() when no tts tag matches
Can help with debugging user error like an incorrectly-typed language
code. Don't ask me how I know. :-)
2021-01-26 20:37:24 +10:00
Damien Elmes
e324f06348
Merge pull request #944 from Arthur-Milchior/help
NF: HelpPage in an enum
2021-01-26 11:33:39 +10:00
Damien Elmes
644cc46dea
Merge pull request #897 from hgiesel/statssearch
Triggering searches from the stats screen.
2021-01-26 11:31:36 +10:00
Arthur Milchior
e0a2d90a68 NF: HelpPage in an enum
Hopefully, this can help with updating on next manual update and maybe even linking to manual translation
2021-01-26 02:16:37 +01:00
Damien Elmes
0a0de2ce7b
Merge pull request #945 from RumovZ/dyndeck-search
Normalize dyndeck search and handle exception
2021-01-26 09:24:56 +10:00
Damien Elmes
a82744a3e5 load sidebar in background
Allows the UI to repaint during processing, but will still block
DB operations until the call completes.
2021-01-26 09:02:08 +10:00
RumovZ
52c27e7b99 Normalize dyndeck search and handle exception 2021-01-25 23:21:32 +01:00
RumovZ
060fdc824b Move show_invalid_search_error to utils 2021-01-25 23:19:19 +01:00
Henrik Giesel
759ed17963 Move dispatch logic from Histogram to individual graphs 2021-01-25 16:34:44 +01:00
Henrik Giesel
a7c8b021dd Satisfy formatter 2021-01-25 13:46:44 +01:00
Henrik Giesel
fdf4c6628f Add browserSearch bridge command 2021-01-25 13:44:19 +01:00
Damien Elmes
31a3add848 fix finished screen not showing when learning cards due later 2021-01-25 21:12:57 +10:00
Arthur Milchior
5c69f2c324 Correct browse help link 2021-01-23 14:48:29 +01:00
Damien Elmes
2a875ffc55
Merge pull request #934 from hgiesel/graphprefs
Add GraphsPreferences API to graphs for setting persistent preferences
2021-01-23 21:24:41 +10:00
Damien Elmes
37ca8afaf6 minor wording tweak: GraphsPreferences -> GraphPreferences 2021-01-23 20:47:45 +10:00
Damien Elmes
b16f6cbcce
Merge pull request #938 from hgiesel/editorflex
Small refactor of topbar buttons
2021-01-23 20:09:42 +10:00
Damien Elmes
8d5dca4bda move sidebar code from browser.py to sidebar.py and tidy up
https://github.com/ankitects/help-wanted/issues/6

Some notes:
- use our own routine to toggle the sidebar, which avoids a useless
refresh on browser close, and allows us to limit the delayed loading
to initial browser load.
- add-ons that limited themselves to the browser_will_build_tree hook
should theoretically continue working; ones that were monkey patching
will likely break. A few appear to be broken at the moment anyway,
so it's probably a good time to be making this change.
2021-01-23 19:59:12 +10:00
Damien Elmes
9db3f0dd19 drop tags/decks/etc from Filter button
https://github.com/ankitects/help-wanted/issues/6

These are a relic from when the sidebar defaulted to off, and I don't
think enough people are using them to bother keeping them around.
Once the the card state and saved filter functionality moves into the
sidebar and top menus, we may be able to remove the Filter button
completely.
2021-01-23 18:21:44 +10:00
Henrik Giesel
bf130d1da0 Change the function name in genbackend.py 2021-01-22 20:05:28 +01:00
Henrik Giesel
de71123ab4 Rename GraphsPreferencesOut to simply GraphsPreferences 2021-01-22 19:39:03 +01:00
abdo
0110102ea2 Render card templates as trees in the sidebar
Reusing the note type icon and not caring about saving collapse state
for now.
2021-01-22 17:49:20 +03:00