Quick search should preferably be accessible without any extra click action right in the page header (just like in VedaWeb 1.0)
Quick search should have the extra functionality of jumping to a certain location when the user enters the respective location label/identifier (just like in VedaWeb 1.0)
The plan to achieve that currently looks as follows:
The Location model gets an additional field aliases: list[str] | None (indexed!) that can contain a list of arbitrary strings tagging the location with certain subject-specific identifiers.
The "text structure" UI must offer a way to manage these.
The Quick Search, when used with a query q, behaves as follows:
query a new endpoint /search/location (or similar) to get a list of location objects (within the current text!) where q matches one of their aliases (return at most 10 results!)
if there's only one match, jump right to this location
if there are multiple matches, show a modal asking "Do you want to jump to one of these locations?" – the user clicks on one location (jump!) or clicks a "No, this was meant to be a search request!" button (quick search is performed)
if there is no match, the usual quick search is performed outright
Instead of the button of the QuickSearchWidget, the header should somehow accommodate the quick search input field plus (a) a button to open the settings modal and (b) a help button documenting the functionality (or maybe there's some better way for this UI...)
New requirements:
The plan to achieve that currently looks as follows:
Location
model gets an additional fieldaliases: list[str] | None
(indexed!) that can contain a list of arbitrary strings tagging the location with certain subject-specific identifiers.q
, behaves as follows:/search/location
(or similar) to get a list of location objects (within the current text!) whereq
matches one of theiraliases
(return at most 10 results!)QuickSearchWidget
, the header should somehow accommodate the quick search input field plus (a) a button to open the settings modal and (b) a help button documenting the functionality (or maybe there's some better way for this UI...)