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

Allow registered applications to hide Kibana chrome #49795

Merged
merged 8 commits into from
Nov 13, 2019

Conversation

eliperelman
Copy link
Contributor

@eliperelman eliperelman commented Oct 30, 2019

Summary

When registering an application, you can now use the chromeless option to hide the Kibana chrome UI when the application is mounted.

Fixes #49100.

Checklist

Use strikethroughs to remove checklist items you don't feel are applicable to this PR.

For maintainers

Dev Docs

When registering an application, you can now use the chromeless option to hide the Kibana chrome UI when the application is mounted.

application.register({
  id: 'my-app',
  chromeless: true,
  async mount(context, params) {
    /* ... */
  },
});

@eliperelman eliperelman added Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc Feature:New Platform release_note:plugin_api_changes Contains a Plugin API changes section for the breaking plugin API changes section. v8.0.0 v7.6.0 labels Oct 30, 2019
@eliperelman eliperelman requested a review from a team October 30, 2019 20:28
@eliperelman eliperelman self-assigned this Oct 30, 2019
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-platform (Team:Platform)

@elasticmachine
Copy link
Contributor

💔 Build Failed

@joshdover
Copy link
Contributor

ack: reviewing now

@elasticmachine
Copy link
Contributor

💚 Build Succeeded

@pgayvallet
Copy link
Contributor

pgayvallet commented Nov 1, 2019

Do we know already how this is going to interact with the next point of #41981 (No icon in the left navbar)? Is an application with chromeHidden going to always be considered a standalone app (aka respect point 2 and 3 of #41981), or are we going to add specific API to register these new standalone apps ?

@eliperelman
Copy link
Contributor Author

@pgayvallet the answer to that is unknown still, but I hope to have an answer for you in the next 2 PRs. 😃

@elasticmachine
Copy link
Contributor

💚 Build Succeeded

@eliperelman
Copy link
Contributor Author

In a face-to-face meeting with @joshdover and @pgayvallet, we decided that a single chromeless flag with hide both the UI chrome and disable showing an app icon in the left navbar.

@elasticmachine
Copy link
Contributor

💚 Build Succeeded

@elasticmachine
Copy link
Contributor

💚 Build Succeeded

Copy link
Contributor

@joshdover joshdover left a comment

Choose a reason for hiding this comment

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

Looks great!

Since this behavior is a bit interwoven with a couple mechanisms, I think we should have a pair of functional tests in our plugin_functional suite. There's prior art there you should be able to steal from.

src/core/public/chrome/chrome_service.tsx Outdated Show resolved Hide resolved
src/core/public/chrome/chrome_service.tsx Outdated Show resolved Hide resolved
@elasticmachine
Copy link
Contributor

💔 Build Failed

@elasticmachine
Copy link
Contributor

💚 Build Succeeded

@elasticmachine
Copy link
Contributor

💔 Build Failed

@elasticmachine
Copy link
Contributor

💔 Build Failed

@elasticmachine
Copy link
Contributor

💚 Build Succeeded

@eliperelman eliperelman merged commit 6955593 into elastic:master Nov 13, 2019
eliperelman added a commit to eliperelman/kibana that referenced this pull request Nov 13, 2019
* Allow registered applications to hide Kibana chrome

* Fix bug in flipped value of application chromeHidden

* Add additional test for app chrome hidden versus chrome visibility

* Rename chromeHidden to chromeless

* Default chrome service app hidden observable to same value as force hidden

* Consolidate force hiding in chrome, add functional tests

* Move chromeless flag to App interface to prevent legacy applications from specifying

* Address review nits to improve separation
eliperelman added a commit that referenced this pull request Nov 13, 2019
* Allow registered applications to hide Kibana chrome

* Fix bug in flipped value of application chromeHidden

* Add additional test for app chrome hidden versus chrome visibility

* Rename chromeHidden to chromeless

* Default chrome service app hidden observable to same value as force hidden

* Consolidate force hiding in chrome, add functional tests

* Move chromeless flag to App interface to prevent legacy applications from specifying

* Address review nits to improve separation
chrisronline pushed a commit to chrisronline/kibana that referenced this pull request Nov 14, 2019
* Allow registered applications to hide Kibana chrome

* Fix bug in flipped value of application chromeHidden

* Add additional test for app chrome hidden versus chrome visibility

* Rename chromeHidden to chromeless

* Default chrome service app hidden observable to same value as force hidden

* Consolidate force hiding in chrome, add functional tests

* Move chromeless flag to App interface to prevent legacy applications from specifying

* Address review nits to improve separation
jloleysens added a commit to jloleysens/kibana that referenced this pull request Nov 14, 2019
* 'master' of github.com:elastic/kibana: (27 commits)
  [Rollup] Fix for clone job workflow (elastic#50501)
  Empty message "No data available" for Labels and User metadata sections missing (elastic#49846)
  [APM] Duration by Country map doesn't take `transactionName` into account (elastic#50315)
  Remove react references from core `Notifications` apis (elastic#49573)
  Updated APM Indices endpoints to use the SavedObjectsClient from the legacy request context, and set the apm-indices schema object to be namspace-agnostic
  [Metrics UI] Calculate interval based on the dataset's period (elastic#50194)
  chore(NA): add new platform discovered plugins as entry points to check for dependencies on clean dll tasks (elastic#50610)
  [Telemetry] change of optin status telemetry (elastic#50158)
  [SIEM][Detection Engine] REST API Additions (elastic#50514)
  [DOCS] Removes dashboard-only mode doc (elastic#50441)
  [Filters] Fix operator overflowing out popover (elastic#50030)
  Change telemetry optIn to default to true (elastic#50490)
  [Maps] make grid rectangles the default symbolization for geo grid source (elastic#50169)
  Allow registered applications to hide Kibana chrome (elastic#49795)
  Upgrade EUI to v14.9.0 (elastic#49678)
  [Metrics UI] Convert layouts to use React components (elastic#49134)
  [Search service] Add support for ES request preference (elastic#49424)
  [Newsfeed/Lint] fix chained fn lint (elastic#50515)
  [Monitoring] Fix logstash pipelines page in multi-cluster environment (elastic#50166)
  [SIEM] Events viewer fixes (elastic#50175)
  ...
@elasticmachine
Copy link
Contributor

💚 Build Succeeded

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:New Platform release_note:plugin_api_changes Contains a Plugin API changes section for the breaking plugin API changes section. Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc v7.6.0 v8.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow registered applications to hide Kibana chrome
5 participants