A component exists, but currently it's just a text area. This should be improved; users should get better feedback on whether their input is valid or not; dashboard implementers should get more options on the type of query that the user is allowed to enter.
- configurable list of metadata fields - as a dashboard implementer, I'd like to set a specific list of metadata fields that the user is allowed to query, for example, only the lineage fields.
- validate entered query - we now have a /query/parse endpoint in LAPIS. The entered query should be sent to LAPIS, to ensure that user input is valid. It should check the syntax, but also check conditions such as the one mentioned above (only certain metadata fields used).
Implementation: The idea would be that while we're typing, as soon as we stop, we wait for a bit (debounce) and then we can query already the /query/parse endpoint on lapis and thus know if the syntax is valid. We should then also traverse the tree to find all used metadata fields, and make sure that only lineage fields are used.
A component exists, but currently it's just a text area. This should be improved; users should get better feedback on whether their input is valid or not; dashboard implementers should get more options on the type of query that the user is allowed to enter.
Implementation: The idea would be that while we're typing, as soon as we stop, we wait for a bit (debounce) and then we can query already the /query/parse endpoint on lapis and thus know if the syntax is valid. We should then also traverse the tree to find all used metadata fields, and make sure that only lineage fields are used.