-
Notifications
You must be signed in to change notification settings - Fork 0
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
[WIP] Page layouts #24
Conversation
and converted the `TableListView` to use it
Part 1: Reduce/Reuse/Recycle[ ] A. Reduced the number of wrapping elements before getting to actual page content.It seems that over the years, instead of fixing these layers, more were added. This is trouble for the types of layouts we try to create using Essentially it boils down to: 1. Reducing the wrappers in the rendering service
The result of which is kibana/src/core/public/rendering/rendering_service.tsx Lines 49 to 63 in e653dbe
2. Added a better and reusable class name for any elements wrapping applicationsThe AppWrapper component can now be reused by individual applications to ensure proper layout, or they can use the The variable is for places like Dashboard still creating elements through the
3. Updated some naming of classes just to be more consistant:
B. [ ] Created the KibanaPageLayout componentThis is essentially a copy/paste from my POC so there will be more work to do on it to fit Kibana specifically. It contains a placeholder for where to add the KQL/time pickers as It's got some of the most commonly used layouts that I've found, but I haven't tested them all yet. C. [ ] Converted the already shared TableListView to use the KibanaPageLayoutThis is currently being reused in the Dashboard, Maps, Canvas, and Visualize listing pages. There's most likely a "bubble up" needed to happen but I didn't get too much further than just replacing the manual Conclusion so farI've looked at different applications with different layouts like Dashboard, Canvas, Lens, Maps, Overview, Stack management and a few solution pages. I haven't seen any regressions (so far). |
Part 3: Initial work on Management pagesCreate a systemBecause Management pages had page structure split between the Management app and the mounted pages from other plugins, some refactor was necessary in the Management app and some will be needed in each page. After clearing out some cruft in the Management app, the notable change is that each mounted page now gets a Each management page now needs to thread that prop through to wherever they used to render the old For the Index Pattern page it required 2 steps: For the Index Management page it required 4:
Convert a few pagesConverted Management index page, Index Management page, Index Patterns page (though styles might need to be cleaned up a little still) Need to convertHere is a list to start tracking the needed conversions for of Management pages and most likely to be turned into a meta ticket in the Kibana repo with assignments based on team ownership: Logstash
Data
Alerts and Insights
Security
Kibana
Stack
Post-follow-up ideasAllow for each item in the side-nav to add local (nested) items and auto-scroll. |
Todo: Fix pageTitle icon and supply bottom bar to layout when upgrading EUI
# Conflicts: # src/plugins/kibana_react/public/table_list_view/table_list_view.tsx
Starting in my fork as to not scare anyone... yet
With each "stage", I'll add a comment of what changed.
Checklist (specific to this endeavor)