Add faceted type-ahead search capability to CSET web interface#1713
Add faceted type-ahead search capability to CSET web interface#1713
Conversation
dcb8464 to
281677c
Compare
This comment was marked as resolved.
This comment was marked as resolved.
06d6e99 to
47e766b
Compare
This comment was marked as outdated.
This comment was marked as outdated.
4edac77 to
7ed878c
Compare
25f9105 to
dff23c5
Compare
3a00a7b to
e5c20e5
Compare
e5c20e5 to
bc07f67
Compare
Pierre-siddall
left a comment
There was a problem hiding this comment.
This looks really good James, you've definitely had a good understanding of the lexer and have implemented clever regex to match the different range of search queries a user may input. Equally, you clearly have demonstrated that you know how the DOM functions by construing HTML elements being added to or removed from the DOM via javascript. I only have a couple of tiny improvements here regarding informative variable names in order to help future developers understand the control flow of your javascript by knowing what is being operated on. However, overall I think this is a well justified piece of work, great job :) .
Additionally included is a conversion of the index to JSON Lines (In theory it should be more efficient, but in practice we still load the whole string first. At least it looks nicer in the index file.) Non-useful entries are removed from the index before it is written, so it only contains information the client will need.
Removes redundant negative operators and allows facets to be any literal. Comparisons are now case insensitive.
Using more descriptive names clarifies what data is being used.
We now add the templated variables into the written out recipe.
a82ed7c to
c00eb02
Compare
|
@daflack @Sylviabohnenstengel I've tagged you for reviewing this PR, however rather than the code (which Pierre kindly reviewed for me) I'd be especially interested in your thoughts on the web interface produced by running this branch. Any things that you especially like/dislike? |
daflack
left a comment
There was a problem hiding this comment.
I've been trying out the new functionality for a couple of hours to really stress test it. Overall, it's a great change and I really like it. The drop down menus make it really easy to use, and the pop-outs are great for organising plots how I want to see them.
I have a couple of very minor niggles:
- sometimes the filtering functionality doesn't work - see as an example. I can't find a consistent way of breaking it the same way though, or at least haven't noticed any patterns. After a bit more exploration it seems to be linked to whether date or plot category is selected - you can't appear to select both using the dropdowns.
- when the drop down help, and drop down menus it does create a very long menu bar so it is then hard to find the search bar so is there a possibility of keeping the search bar in a fixed location/putting a scroll in for different sections?
Otherwise it looks and works great, and I know through regular use I'll get use to it really quickly.

CSET output interface improvements developed during my MSc project.
Additional work will be required before merging; see the "Future Work" chapter of my dissertation. This branch will also need a good rebase, as the commit history is a mess, and there were large test files added during development that have been removed, and we don't want to pull them into the project history permanently.
GitHub Copilot was used for review and fix suggestions for the prototype python parser, which was then hand ported to JavaScript. That code has been rebased away.
TODO
Fix bugs in parser/web interface.- Done, though probably wants more testing.Introduce a three column layout, as it is commonly requested.Pushed out to Three column layout for web interface #1870.Tweak the CSS to make it look pretty.- No longer absolutely horrendous.Add query help text and examples to the UI.Contribution checklist
Aim to have all relevant checks ticked off before merging. See the developer's guide for more detail.