Management API - redirect on disabled app path#55136
Management API - redirect on disabled app path#55136mattkime merged 5 commits intoelastic:masterfrom
Conversation
|
Pinging @elastic/kibana-app-arch (Team:AppArch) |
streamich
left a comment
There was a problem hiding this comment.
LGTM. One comment below that needs addressing.
| params.element | ||
| ); | ||
| } | ||
| return async () => { |
There was a problem hiding this comment.
Seems appUnmount() and ReactDOM.unmountComponentAtNode(params.element) will be called even if React was not mounted. Maybe you could do an early return
if (!this.enabledStatus) {
window.location.hash = '/management';
// Early return
return () => {};
}and leave the rest of the function as before.
azasypkin
left a comment
There was a problem hiding this comment.
Works as expected for Security plugin, thanks! Just two optional nits and +1 to comment about appUnmount that may be undefined now.
| readonly order: number; | ||
| readonly mount: ManagementSectionMount; | ||
| protected enabledStatus: boolean = true; | ||
| private enabledStatus: boolean = true; |
There was a problem hiding this comment.
optioanal nit: I believe :boolean is not needed as the correct type is derived from the initial value.
| if (!this.enabledStatus) { | ||
| window.location.hash = '/management'; | ||
| } else { | ||
| async function setBreadcrumbs(crumbs: ChromeBreadcrumb[]) { |
There was a problem hiding this comment.
optional nit: it was here before, so feel free to ignore, but technically we can move setBreadcrumbs function one level up to create it only once per app (or even make it a private class method assuming getStartServices can become a private readonly as well).
There was a problem hiding this comment.
I'll likely address this in a future refactor. Gave it a try but it twas changing a bit more code than I'd like for this PR.
💚 Build SucceededHistory
To update your PR or re-run it, just comment with: |
* redirect on disabled management app path
* redirect on disabled management app path
* upstream/master: (24 commits) Show error page when accessing unavailable app (elastic#54656) [ML] Improving job wizards with datafeed aggregations (elastic#55180) remove flaly assetion. a license presence tested anyway (elastic#55289) fix commonly used ranges uptime (elastic#54930) [SIEM] Use proper icons on Detections view (elastic#55215) Fix: invalid translation referenced (elastic#54901) [State Management] Remove AppState from edit_index_pattern page (elastic#54104) Implements `getStartServices` on server-side (elastic#55156) Move vis_vega_type/data_model tests to jest (elastic#55186) [SIEM] [Detection Engine] Update status on rule details page (elastic#55201) Fix KQL value suggestions for nested fields (elastic#54820) Enforce camelCase format for a plugin id (elastic#53759) [SIEM] Detection engine cleanup for rule details/creation/edit page (elastic#55069) Remove nested root from index pattern (elastic#54978) [Reporting/Migration] ReportingSetup, LegacySetup (elastic#54198) [SIEM] [Detection Engine] Fixes duplicate rule action (elastic#55252) [SIEM] Detections add alert & signal tab (elastic#55127) Management API - redirect on disabled app path (elastic#55136) [SIEM][Detection Engine] Fixes critical regression on the backend with immutable and tags update local (elastic#55177) ...
* master: (108 commits) [ML] Single Metric Viewer: Fix job check. (elastic#55191) Show error page when accessing unavailable app (elastic#54656) [ML] Improving job wizards with datafeed aggregations (elastic#55180) remove flaly assetion. a license presence tested anyway (elastic#55289) fix commonly used ranges uptime (elastic#54930) [SIEM] Use proper icons on Detections view (elastic#55215) Fix: invalid translation referenced (elastic#54901) [State Management] Remove AppState from edit_index_pattern page (elastic#54104) Implements `getStartServices` on server-side (elastic#55156) Move vis_vega_type/data_model tests to jest (elastic#55186) [SIEM] [Detection Engine] Update status on rule details page (elastic#55201) Fix KQL value suggestions for nested fields (elastic#54820) Enforce camelCase format for a plugin id (elastic#53759) [SIEM] Detection engine cleanup for rule details/creation/edit page (elastic#55069) Remove nested root from index pattern (elastic#54978) [Reporting/Migration] ReportingSetup, LegacySetup (elastic#54198) [SIEM] [Detection Engine] Fixes duplicate rule action (elastic#55252) [SIEM] Detections add alert & signal tab (elastic#55127) Management API - redirect on disabled app path (elastic#55136) [SIEM][Detection Engine] Fixes critical regression on the backend with immutable and tags ...
Summary
Previously a disabled app didn't show in the side nav but its path was still available to the user. This PR fixes that, but it will still be up to management apps to handle the case where a user is already viewing an app when its disabled.
Checklist
Use
strikethroughsto remove checklist items you don't feel are applicable to this PR.[ ] This was checked for cross-browser compatibility, including a check against IE11[ ] Any text added follows EUI's writing guidelines, uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/master/packages/kbn-i18n/README.md)[ ] Documentation was added for features that require explanation or tutorials