Url service locators#101045
Url service locators#101045streamich merged 17 commits intoelastic:masterfrom streamich:url-service-locators
Conversation
|
Pinging @elastic/kibana-app-services (Team:AppServices) |
|
@elasticmachine merge upstream |
| return { | ||
| ...this.shareMenuRegistry.setup(), | ||
| urlGenerators: this.urlGeneratorsService.setup(core), | ||
| url: this.url, |
There was a problem hiding this comment.
we return the same on start and setup contract but we should just allow registering in setup and getting in start
There was a problem hiding this comment.
I can harden it if you like, I made it this way as it is cleaner from code perspective and we have other services where we do the same.
|
@elasticmachine merge upstream |
kertal
left a comment
There was a problem hiding this comment.
Code LGTM, code owners review, didn't test, just the order on imports was changed and 2 lines were added for consistent styling.
💚 Build SucceededMetrics [docs]Module Count
Public APIs missing exports
Page load bundle
History
To update your PR or re-run it, just comment with: |
* feat: 🎸 add url service types * refactor: 💡 move locator types into its own folder * feat: 🎸 add abstract locator implementation * feat: 🎸 implement abstract locator client * feat: 🎸 add browser-side locators service * feat: 🎸 implement locator .getLocation() * feat: 🎸 implement navigate function * feat: 🎸 implement locator service in /common folder * feat: 🎸 expose locators client on browser and server * refactor: 💡 make locators async * chore: 🤖 add deprecation notice to URL generators * docs: ✏️ add deprecation notice to readme * test: 💍 make test locator async Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* master: (90 commits) Fix UI breaks on providing long search keyword in 'Search Box' (elastic#101385) Adds css class to EuiDescriptionListDescription in order to break word on exception details card (elastic#101481) [Lens] Increase timings for drag and drop tests (elastic#101380) [Lens] Fix editor react error on configuration panel (elastic#101367) [Fleet] Move integrations to a separate app (elastic#99848) Fix incorrect message displayed on importing Timeline Templates (elastic#101288) [Cases] RBAC (elastic#95058) [APM] Visual improvements for new APM layout with left navigation (elastic#101360) [master] More precise alerts matching (elastic#99820) [Lens] Value in legend (elastic#101353) Revert "[Reporting] ILM policy for managing reporting indices (elastic#100130)" (elastic#101358) [Discover] Fix header row of data grid in Firefox (elastic#101374) Add link to advanced setting in Discover (elastic#101154) Url service locators (elastic#101045) [Timelion] Update the removal message to mention the exact version (elastic#100994) [Security Solution][Detection Engine] Test cases for alias failure test cases where we don't copy aliases correctly (elastic#101437) [Event Log] Adding `type_id` to saved object array in event log (elastic#100939) [Reporting] Add `location.url` info to console message logs (elastic#101427) [Security Solutions][Detection Engine] Fixes timestamp bugs within source indexes when the formats are not ISO8601 format (elastic#101349) Improve Task Manager instrumentation (elastic#99160) ...
Closes #98104
Summary
This PR introduces URL locators as part of the URL Service. This PR just introduces the service, the next piece of work will refactor Kibana URL generators to become locators and update documentation.
Checklist
Delete any items that are not applicable to this PR.
For maintainers
Plugin API Changes
URL generators are now deprecated, to create a generator for deep links in Kibana use locators in URL Service instead.
Deep link providers
Before you would create a URL generator, like so:
Now, instead, you have to create a "locator", like so:
Deep link consumers
Before you would use a URL generator to get a relative deep link in kibana:
Now you will create a relative link, or navigate immediately using locators: