[ML] Data Frame Analytics exploration page: filters improvements#91748
Conversation
|
Pinging @elastic/ml-ui (:ml) |
There was a problem hiding this comment.
Can you explain how the code knows this is about the training attribute? Or is this just an example and it's applicable to attributes in general?
There was a problem hiding this comment.
Good question - the filter key property (filters are passed in as props) shows what field value the filter option corresponds to to be 'selected'
So for example the filter's columnId is ml.is_training'and the key for Training is training: true - so ml.is_training value would betrue. The key for Testing is testing: false meaning ml.is_training value should be false when this is selected.
So right now it would only work with filters where the column id value is a boolean. It is only used in dfa exploration right now, though so that should be fine as these are just quick filters and it is unlikely we would add quick filters for non boolean field values.
There was a problem hiding this comment.
Oh so "filter" refers to what's available as the buttons and not something derived from the free text query is that correct, that's why it can only be training?
There was a problem hiding this comment.
Yes, "filters" are what's available as the buttons and is passed into this component from the parent component.
training is just an example since that's the only current value is but it would be whatever is passed in as a filter.
🤔 Maybe this comment is more confusing than clarifying. Would it help to replace it with something like <filter_key_value: true> ? Or remove it entirely and add a comment for an example filter up by the filter type?
There was a problem hiding this comment.
Think it's fine to leave as is - just maybe update the comment above before the useEffect to emphasize this is about "restoring state from the URL once on load" or similar - I missed that and only now noticed the [] to make it trigger only once. 👍
02b23ec to
150ee8b
Compare
There was a problem hiding this comment.
should it have filters?.columnId is the dependencies array?
There was a problem hiding this comment.
Yes, it should - good catch 🙏
There was a problem hiding this comment.
Let's use a named function instead. It makes troubleshooting easier, as the effect callback name appears in stack trace.
| useEffect(() => { | |
| useEffect(function updateIdToSelectedMap() { |
| */ | ||
| useEffect(() => { | ||
| if (filters !== undefined) { | ||
| const match: string[] | null = query.query.match(regex); |
There was a problem hiding this comment.
is there a better way to parse the query? I think you can use esQuery or esKuery instead
There was a problem hiding this comment.
Hm, here we just need to check the query string for the filter pattern - I'm not sure we need to parse it. Leaving as is for now as the regex check has been used for the quick filters since the beginning. Happy to revisit in the next release and do some testing around another way to parse the query.
|
This has been updated and is ready for a final look when you get a chance. 🙏 cc @walterra, @darnautov |
|
@elasticmachine merge upstream |
💚 Build SucceededMetrics [docs]Async chunks
History
To update your PR or re-run it, just comment with: |
…stic#91748) * exploration query bar filter reflects url query state on page load * wrap filter handler in debounce * add dep to memoized regex. update comment Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* master: Ability to filter alerts by string parameters (elastic#92036) [APM] Fix for flaky correlations API test (elastic#91673) (elastic#92094) [Enterprise Search] Migrate shared role mapping components (elastic#91723) [file_upload] move ml Importer classes to file_upload plugin (elastic#91559) [Discover] Always show the "hide missing fields" toggle (elastic#91889) v2 migrations should exit process on corrupt saved object document (elastic#91465) [ML] Data Frame Analytics exploration page: filters improvements (elastic#91748) [ML] Data Frame Analytics: Improved error handling for scatterplot matrix. (elastic#91993) [coverage] speed up merging results of functional tests (elastic#92111) Adds a Reason indicator to the onClose handler in AddAlert and EditAlert (elastic#92149)
…stic#91748) * exploration query bar filter reflects url query state on page load * wrap filter handler in debounce * add dep to memoized regex. update comment Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
) (#92210) * exploration query bar filter reflects url query state on page load * wrap filter handler in debounce * add dep to memoized regex. update comment Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
) (#92209) * exploration query bar filter reflects url query state on page load * wrap filter handler in debounce * add dep to memoized regex. update comment Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Summary
Fixes #84500
Checklist
Delete any items that are not applicable to this PR.