Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Exploratory view] implement popovers for data type and metric type #112370

Conversation

dominiqueclarke
Copy link
Contributor

@dominiqueclarke dominiqueclarke commented Sep 16, 2021

Fixes #112292

This PR addresses various aspect of the exploratory view redesign

  • Transition data type and metric type to use a combination of buttons and popovers to more closely match the design
  • Move extra fields into the expanded accordion view
  • Update the name field to be editable when clicking the pencil icon

Screen Shot 2021-09-15 at 9 35 31 PM

Screen Shot 2021-09-15 at 9 35 21 PM

Note: adjustments for responsiveness will be necessary

@dominiqueclarke dominiqueclarke added enhancement New value added to drive a business result Team:Uptime - DEPRECATED Synthetics & RUM sub-team of Application Observability labels Sep 16, 2021
@dominiqueclarke dominiqueclarke requested a review from a team as a code owner September 16, 2021 01:51
@elasticmachine
Copy link
Contributor

Pinging @elastic/uptime (Team:uptime)

Comment on lines 20 to 25
return (
<div ref={seriesBuilderRef}>
<EuiPanel color="subdued">
<SeriesEditor />
<AddSeriesButton />
</EuiPanel>
<SeriesEditor />
<AddSeriesButton />
</div>
);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

might as well just delete this component, i don't see it having any purpose now.

Comment on lines -32 to +40
<ToolbarButton size="s" onClick={() => setIsOpen((prevState) => !prevState)} hasArrow={false}>
<EuiIcon type="dot" size="l" color={color} />
</ToolbarButton>
<EuiButtonEmpty size="s" onClick={() => setIsOpen((prevState) => !prevState)} flush="both">
<EuiIcon type="stopFilled" size="l" color={color} />
</EuiButtonEmpty>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should continue using ToolbarButton here, it provides better user interaction experience.

Though it's @liciavale call to make.

image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed it for the sole purpose of removing the border, which is not present in the design.

Comment on lines 82 to 118
<>
{!series.selectedMetricField && (
<EuiPopover
button={
<EuiButton
iconType="plusInCircle"
onClick={() => setShowOptions((prevState) => !prevState)}
fill
size="s"
>
{SELECT_REPORT_METRIC_LABEL}
</EuiButton>
}
isOpen={showOptions}
closePopover={() => setShowOptions((prevState) => !prevState)}
>
<EuiListGroup>
{options.map((option) => (
<EuiListGroupItem
key={option.value}
onClick={() => onChange(option.value)}
label={option.dropdownDisplay}
isDisabled={option.disabled}
/>
))}
</EuiListGroup>
</EuiPopover>
)}
{series.selectedMetricField && (
<EuiBadge>
{
seriesConfig?.metricOptions?.find((option) => option.id === series.selectedMetricField)
?.label
}
</EuiBadge>
)}
</>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In edit/expanded mode, we should allow user to change the metric option. Since report metric can be editable.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@liciavale How do you see this interaction happening? What does the edit state look like for the report metric? Does it revert back to a button?

Copy link
Contributor

@liciavale liciavale Sep 16, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my design, it is a badge that dismissed become a + add button again and we show the message that indicates that metric is missing.
After a chat with Shahzad we decided to try to find a different solution and use a single select without creating a new component behavior and my assumption is that it will always be there after they add a metric but I don't have that in my design tho' so I'm not sure how this will look like and how it will work. Would you like me to change the design to see if this is ok? Because I'm not sure about that interaction there

Copy link
Contributor

@shahzad31 shahzad31 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left few comments, though nothing blocking

LGTM !!

@shahzad31
Copy link
Contributor

Just noticed filters are getting squeezed , we should allow them to grow to full row
image

@shahzad31
Copy link
Contributor

@elasticmachine merge upstream

@dominiqueclarke
Copy link
Contributor Author

@liciavale @shahzad31 this is ready for a second look.

@shahzad31
Copy link
Contributor

Filters are still wrapping down, AFAIK, @liciavale wants them to take full row, even below breakdown component

image

@dominiqueclarke
Copy link
Contributor Author

dominiqueclarke commented Sep 21, 2021

Filters are still wrapping down, AFAIK, @liciavale wants them to take full row, even below breakdown component

image

I think the easiest way to do that here, is to have filters take up a row by itself, and move breakdown down a row next to operation. Thoughts? @liciavale

@dominiqueclarke
Copy link
Contributor Author

@elasticmachine merge upstream

@liciavale
Copy link
Contributor

@dominiqueclarke Sounds good to me

Copy link
Contributor

@shahzad31 shahzad31 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Filter changes LGTM !!

@dominiqueclarke
Copy link
Contributor Author

/oblt-deploy

@dominiqueclarke
Copy link
Contributor Author

@elasticmachine merge upstream

@liciavale
Copy link
Contributor

liciavale commented Sep 27, 2021

@dominiqueclarke Looks good!
One thing, regarding this:

  • Update the name field to be editable when clicking the pencil icon

Would it be possible that when a user clicks again on the pencil it saves the changes? I think it would be the expected behaviour for this.

The rest LGTM!

@dominiqueclarke dominiqueclarke force-pushed the feature/exploratory-view-popovers branch from ed99b8f to 32d8b78 Compare September 27, 2021 23:52
@shahzad31
Copy link
Contributor

Moved @liciavale Comment from other PR #112949

here

Hi @shahzad31 , it looks good!
I have just a couple of comments and example screenshots regarding this.

  1. Should each multi-select filter in this component be all the same sizes as the ones in user experience?

Screenshot 2021-09-27 at 13 37 04


  1. Can we use the same style of Clear filters that we have in user experience?

Screenshot 2021-09-27 at 13 39 38


  1. What do you think to leave a spacer between Filters applied and Breakdown like we do between the filter component and the filter applied? They are too close atm like we do.

Screenshot 2021-09-27 at 13 43 13


  1. I also found a small bug, if you try to remove an excluded filter this is not working (Clear filters and remove included filters seem to work fine)
    erGfHgXvxz

I think the rest of the filters looks good :)

@dominiqueclarke
Copy link
Contributor Author

dominiqueclarke commented Sep 28, 2021

Moved @liciavale Comment from other PR #112949

here

Hi @shahzad31 , it looks good! I have just a couple of comments and example screenshots regarding this.

  1. Should each multi-select filter in this component be all the same sizes as the ones in user experience?
Screenshot 2021-09-27 at 13 37 04
  1. Can we use the same style of Clear filters that we have in user experience?
Screenshot 2021-09-27 at 13 39 38
  1. What do you think to leave a spacer between Filters applied and Breakdown like we do between the filter component and the filter applied? They are too close atm.
Screenshot 2021-09-27 at 13 43 13
  1. I also found a small bug, if you try to remove an excluded filter this is not working (Clear filters and remove included filters seem to work fine)
    erGfHgXvxz

I think the rest of the filters looks good :)

@liciavale

  1. The width is based on the layout where the filters are placed. UX has a flex layout that is forcing the filter group to take up extra space. In exploratory view, we aren't using a flex layout since the filters are on a single line by themselves. So they are taking up only the space they need based on the existing EuiFilterGroup component.
  2. This has been resolved
  3. This has been resolved
  4. I'd like to keep scope of this ticket small and focused on design and not functionality, especially since it's starting to drag on. I've raised [Observability] [Exploratory View] Negate filters are not able to be removed in multi series view #113279 for this bug to address in a different PR.

@kibanamachine
Copy link
Contributor

💚 Build Succeeded

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@dominiqueclarke dominiqueclarke merged commit bff70dd into elastic:feature/observability-exploratory-view-multi-series Sep 28, 2021
@dominiqueclarke dominiqueclarke deleted the feature/exploratory-view-popovers branch September 28, 2021 17:57
dominiqueclarke added a commit that referenced this pull request Oct 4, 2021
…113464)

* Revert "[Observability][Exploratory View] revert exploratory view multi-series (#107647)"

This reverts commit 1649661.

* Revert "[Observability][Exploratory View] revert exploratory view multi-series (#107647)"

This reverts commit 1649661.

* [Observability] [Exploratory View] Create multi series feature branch (#108079)

* Revert "[Observability][Exploratory View] revert exploratory view multi-series (#107647)"

This reverts commit 1649661.

* Revert "[Observability][Exploratory View] revert exploratory view multi-series (#107647)"

This reverts commit 1649661.

* update types

* update tests

* [Observability] exploratory view design issues (#111028)

* remove custom y axis labels for better clarity

* move add series button to the bottom

* disable auto apply

* fix missing test

* When series count changes, collapse other series. (#110894)

Co-authored-by: Kibana Machine <[email protected]>

* Feature/observability exploratory view multi series panels (#111555)

Co-authored-by: Kibana Machine <[email protected]>

* [Exploratory View] Fix date range picker on secondary series (#111700)

Co-authored-by: Kibana Machine <[email protected]>

* [Exploratory View] Collapse series only on add, not delete (#111790)

* [Exploratory view] Remove preview panel (#111884)

* [Exploratory view] implement popovers for data type and metric type (#112370)

* implement popovers for data type and metric type

* adjust types

* add IncompleteBadge

* make report metric dismissable

* show date-picker even if metric is undefined

* adjust styles of expanded series row

* add truncation to series name

* move incomplete badge and add edit pencil

* add tooltip to data type badge

* adjust content

* lint

* delete extra file

* move filters row

* adjust name editing behavior

* adjust filter styles

Co-authored-by: Kibana Machine <[email protected]>

* move cases button to top

* fix types

* more types :(

Co-authored-by: Justin Kambic <[email protected]>
Co-authored-by: shahzad31 <[email protected]>
Co-authored-by: Kibana Machine <[email protected]>
Co-authored-by: Shahzad <[email protected]>
dominiqueclarke added a commit to dominiqueclarke/kibana that referenced this pull request Oct 6, 2021
…lastic#113464)

* Revert "[Observability][Exploratory View] revert exploratory view multi-series (elastic#107647)"

This reverts commit 1649661.

* Revert "[Observability][Exploratory View] revert exploratory view multi-series (elastic#107647)"

This reverts commit 1649661.

* [Observability] [Exploratory View] Create multi series feature branch (elastic#108079)

* Revert "[Observability][Exploratory View] revert exploratory view multi-series (elastic#107647)"

This reverts commit 1649661.

* Revert "[Observability][Exploratory View] revert exploratory view multi-series (elastic#107647)"

This reverts commit 1649661.

* update types

* update tests

* [Observability] exploratory view design issues (elastic#111028)

* remove custom y axis labels for better clarity

* move add series button to the bottom

* disable auto apply

* fix missing test

* When series count changes, collapse other series. (elastic#110894)

Co-authored-by: Kibana Machine <[email protected]>

* Feature/observability exploratory view multi series panels (elastic#111555)

Co-authored-by: Kibana Machine <[email protected]>

* [Exploratory View] Fix date range picker on secondary series (elastic#111700)

Co-authored-by: Kibana Machine <[email protected]>

* [Exploratory View] Collapse series only on add, not delete (elastic#111790)

* [Exploratory view] Remove preview panel (elastic#111884)

* [Exploratory view] implement popovers for data type and metric type (elastic#112370)

* implement popovers for data type and metric type

* adjust types

* add IncompleteBadge

* make report metric dismissable

* show date-picker even if metric is undefined

* adjust styles of expanded series row

* add truncation to series name

* move incomplete badge and add edit pencil

* add tooltip to data type badge

* adjust content

* lint

* delete extra file

* move filters row

* adjust name editing behavior

* adjust filter styles

Co-authored-by: Kibana Machine <[email protected]>

* move cases button to top

* fix types

* more types :(

Co-authored-by: Justin Kambic <[email protected]>
Co-authored-by: shahzad31 <[email protected]>
Co-authored-by: Kibana Machine <[email protected]>
Co-authored-by: Shahzad <[email protected]>
# Conflicts:
#	test/functional/page_objects/common_page.ts
dominiqueclarke added a commit that referenced this pull request Oct 6, 2021
…113464) (#114120)

* Revert "[Observability][Exploratory View] revert exploratory view multi-series (#107647)"

This reverts commit 1649661.

* Revert "[Observability][Exploratory View] revert exploratory view multi-series (#107647)"

This reverts commit 1649661.

* [Observability] [Exploratory View] Create multi series feature branch (#108079)

* Revert "[Observability][Exploratory View] revert exploratory view multi-series (#107647)"

This reverts commit 1649661.

* Revert "[Observability][Exploratory View] revert exploratory view multi-series (#107647)"

This reverts commit 1649661.

* update types

* update tests

* [Observability] exploratory view design issues (#111028)

* remove custom y axis labels for better clarity

* move add series button to the bottom

* disable auto apply

* fix missing test

* When series count changes, collapse other series. (#110894)

Co-authored-by: Kibana Machine <[email protected]>

* Feature/observability exploratory view multi series panels (#111555)

Co-authored-by: Kibana Machine <[email protected]>

* [Exploratory View] Fix date range picker on secondary series (#111700)

Co-authored-by: Kibana Machine <[email protected]>

* [Exploratory View] Collapse series only on add, not delete (#111790)

* [Exploratory view] Remove preview panel (#111884)

* [Exploratory view] implement popovers for data type and metric type (#112370)

* implement popovers for data type and metric type

* adjust types

* add IncompleteBadge

* make report metric dismissable

* show date-picker even if metric is undefined

* adjust styles of expanded series row

* add truncation to series name

* move incomplete badge and add edit pencil

* add tooltip to data type badge

* adjust content

* lint

* delete extra file

* move filters row

* adjust name editing behavior

* adjust filter styles

Co-authored-by: Kibana Machine <[email protected]>

* move cases button to top

* fix types

* more types :(

Co-authored-by: Justin Kambic <[email protected]>
Co-authored-by: shahzad31 <[email protected]>
Co-authored-by: Kibana Machine <[email protected]>
Co-authored-by: Shahzad <[email protected]>
# Conflicts:
#	test/functional/page_objects/common_page.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New value added to drive a business result Team:Uptime - DEPRECATED Synthetics & RUM sub-team of Application Observability
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants