Skip to content

Hide pinned filter state in embed mode#10816

Merged
stacey-gammon merged 2 commits intoelastic:masterfrom
stacey-gammon:hide-pinned-filter-state-in-embed-mode
Mar 29, 2017
Merged

Hide pinned filter state in embed mode#10816
stacey-gammon merged 2 commits intoelastic:masterfrom
stacey-gammon:hide-pinned-filter-state-in-embed-mode

Conversation

@stacey-gammon
Copy link
Copy Markdown

It doesn’t make sense there, since there won’t be any cross app
navigation, so don’t expose it.

fixes #5056

@stacey-gammon
Copy link
Copy Markdown
Author

Jenkins test this

Error:

17:43:41.238: Taking screenshot "/var/lib/jenkins/workspace/elastic+kibana+pull-request+multijob-selenium/test/screenshots/failure/failure_1490031821238_dashboard tab_filters when a pie chart slice is clicked.png"
>> FAIL: chrome on any platform - kibana - dashboard app - dashboard tab - filters when a pie chart slice is clicked (1353ms)
UnknownError: [POST http://localhost:4444/wd/hub/session/f67e2d2940e0721c36ed40af112675f1/element/0.8209386374089278-45/click] unknown error: Element is not clickable at point (388, 216). Other element would receive the click: <path d="M81.89307514392158,-83.35134518093881A116.85,116.85 0 0,1 116.39530873398452,-10.298281639206838L0,0Z" class="slice" data-label="40,000" style="stroke: rgb(255, 255, 255); fill: rgb(111, 135, 216);"></path>
  (Session info: chrome=56.0.2924.87)
  (Driver info: chromedriver=2.24.417424 (c5c5ea873213ee72e3d0929b47482681555340c3),platform=Linux 4.4.0-45-generic x86_64)
  at runRequest  <node_modules/leadfoot/Session.js:88:40>
  at <node_modules/leadfoot/Session.js:109:39>
  at new Promise  <node_modules/dojo/_debug/Promise.ts:411:4>
  at ProxiedSession._post  <node_modules/leadfoot/Session.js:63:10>
  at Element._post  <node_modules/leadfoot/Element.js:23:31>
  at Element.click  <node_modules/leadfoot/Element.js:163:15>
  at <test/support/page_objects/dashboard_page.js:379:24>
  at undefined.next  <native>
  at step  <test/support/page_objects/dashboard_page.js:19:191>
  at <test/support/page_objects/dashboard_page.js:19:361>

@stacey-gammon stacey-gammon force-pushed the hide-pinned-filter-state-in-embed-mode branch from cffc1ce to d03857c Compare March 22, 2017 19:35
@stacey-gammon stacey-gammon requested review from Bargs and removed request for spalger March 23, 2017 21:00
@stacey-gammon
Copy link
Copy Markdown
Author

ping @Bargs. This is a low-fruit mend it monday pr, should be a pretty easy review (famous last words).

@stacey-gammon stacey-gammon force-pushed the hide-pinned-filter-state-in-embed-mode branch from d03857c to 807b7f3 Compare March 28, 2017 13:22
@stacey-gammon
Copy link
Copy Markdown
Author

@snide This is super minor, but I'll tag you in case you just want to give a quick glance. Before this PR we showed pinned state, and the ability to pin:
screen shot 2017-03-28 at 9 21 29 am
screen shot 2017-03-28 at 9 21 35 am

And after they are hidden (in embed mode only):
screen shot 2017-03-28 at 9 22 18 am
screen shot 2017-03-28 at 9 22 22 am

Since pinned state only matters when moving across apps.

Copy link
Copy Markdown
Contributor

@Bargs Bargs left a comment

Choose a reason for hiding this comment

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

I think we should make the "(Un)Pin all" actions conditional as well https://github.com/elastic/kibana/blob/807b7f39f5a78ae9e2b8f9ff865e3d3ec70fa6d4/src/ui/public/filter_bar/filter_bar.html#L93-L98

Otherwise looks good

@stacey-gammon stacey-gammon force-pushed the hide-pinned-filter-state-in-embed-mode branch from 10faa2c to 306a2eb Compare March 28, 2017 20:46
@stacey-gammon
Copy link
Copy Markdown
Author

Great call @Bargs, forgot about that Actions section. Updated.

@Bargs
Copy link
Copy Markdown
Contributor

Bargs commented Mar 28, 2017

LGTM

Stacey Gammon added 2 commits March 29, 2017 07:28
It doesn’t make sense there, since there won’t be any cross app
navigation, so don’t expose it.

fixes elastic#5056
@stacey-gammon stacey-gammon force-pushed the hide-pinned-filter-state-in-embed-mode branch from 306a2eb to 6314e43 Compare March 29, 2017 11:28
@stacey-gammon
Copy link
Copy Markdown
Author

S3 error with jenkins.

jenkins, test this

@stacey-gammon stacey-gammon merged commit d41042a into elastic:master Mar 29, 2017
elastic-jasper added a commit that referenced this pull request Mar 29, 2017
Backports PR #10816

**Commit 1:**
Hide pinned filter state in embed mode

It doesn’t make sense there, since there won’t be any cross app
navigation, so don’t expose it.

fixes #5056

* Original sha: db3b881
* Authored by Stacey Gammon <gammon@elastic.co> on 2017-03-20T17:05:21Z

**Commit 2:**
Also conditionally hide "all filter" pin state actions

* Original sha: 6314e43
* Authored by Stacey Gammon <gammon@elastic.co> on 2017-03-28T20:44:44Z
stacey-gammon pushed a commit that referenced this pull request Mar 30, 2017
Backports PR #10816

**Commit 1:**
Hide pinned filter state in embed mode

It doesn’t make sense there, since there won’t be any cross app
navigation, so don’t expose it.

fixes #5056

* Original sha: db3b881
* Authored by Stacey Gammon <gammon@elastic.co> on 2017-03-20T17:05:21Z

**Commit 2:**
Also conditionally hide "all filter" pin state actions

* Original sha: 6314e43
* Authored by Stacey Gammon <gammon@elastic.co> on 2017-03-28T20:44:44Z
@robcowart
Copy link
Copy Markdown

Since pinned state only matters when moving across apps.

This is not true. Pin state matters when moving between dashboards, for example when using a markup vizualization with links to create a navigation bar.

bmf_overview

Pinning is an important concept in the way our dashboards behave for the user (some of which are embedded in portal pages). I would really recommend making this change configurable in the Kibana advanced settings, similar to how one can configure whether filters are pinned by default. My feeling is that there are use-cases here which have not been considered.

@stacey-gammon
Copy link
Copy Markdown
Author

stacey-gammon commented Apr 4, 2017

Thanks @robacj, you are right, we did not consider that use case.

Pinning is an important concept in the way our dashboards behave for the user (some of which are embedded in portal pages).

Are your users pinning the filters themselves in embedded mode? Or do you only want those filters to show up for all dashboards in embedded mode? If the latter, it will continue to work. The underlying pin state remains the same. If you remove the &embed=true parameter you'll see the pinned state, and each pinned filter will still appear for all dashboards, no matter the mode. But you won't be able to pin, or unpin, a filter when in embedded mode, nor tell which filters are pinned and which are not.

Knowing this, would this change still pose a problem?

@robcowart
Copy link
Copy Markdown

We have created some portal widgets that manipulate the url which is used to launch various embedded dashboards in an iframe. Those URL manipulation include setting '$state':(store:globalState) or '$state':(store:appState) depending on whether the desired starting point is pinned or not pinned. Users have the freedom to pin, unpin and add their own filters by clicking on elements of the visualization (and pin or unpin those). Users know that they can do this. How many are actually doing it??? Now that is a good question. This has long been one of the issues with "unintentional software features". Without reaching out to everyone to learn who has discovered and leveraged the features it is hard to assess the impact. However when those "features" disappear, users that find their workflow disrupted and are not happy.

I completely understand that removing the pinning options is 100% OK for some users, maybe even the majority. However for the rest of us, it would be great if the behaviour could be controlled by an advanced option... OR could be configured 'per dashboard'. I would prefer that even more as I would also like to see "pinned by default" be configurable per dashboard.

NOTE: I haven't post before this thread, so please don't interpret my commits as just complaining. You are all doing great work and I think Kibana is awesome and still getting better all of the time. However this morning this spooked me enough that I felt I needed to share my concerns.

Rob

@Bargs
Copy link
Copy Markdown
Contributor

Bargs commented Apr 4, 2017

@robacj you've brought up a great point and we highly value this kind of feedback! We definitely don't see it as complaining. I hope you join more discussions in the future!

@stacey-gammon tbh I felt a bit uncomfortable with this PR when reviewing it. I was worried there would be unintended side effects but I couldn't think of any issues at the time so I didn't want to block it just because it "didn't feel right". With this recent issue brought to light I think we should reconsider implementing it. IMO removing the pin icon in embed mode provides very little benefit at a risk of hurting some users.

@stacey-gammon
Copy link
Copy Markdown
Author

@Bargs I agree with you, just left a comment on the original issue. I also vote to revert this PR.

Thank you @robacj for bringing this to our attention!

stacey-gammon pushed a commit to stacey-gammon/kibana that referenced this pull request Apr 4, 2017
stacey-gammon pushed a commit that referenced this pull request Apr 5, 2017
stacey-gammon pushed a commit to stacey-gammon/kibana that referenced this pull request Apr 5, 2017
stacey-gammon pushed a commit that referenced this pull request Apr 5, 2017
@stacey-gammon stacey-gammon deleted the hide-pinned-filter-state-in-embed-mode branch April 6, 2017 11:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove ability to pin filters in embedded dashboards

4 participants