-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
[Meta] Unify common UI components in Kibana App #47026
Comments
Pinging @elastic/kibana-app |
I am wondering about the package structures we are or should be using for those react components. We have a couple of options here: (1) We expose the react components (at least if they are using a specific service) via the appropriate plugin that also exposes that service, e.g. the index pattern picker via the (data) plugin exposing the index pattern service. I think we initially dropped that idea, so we don't bind the plugins to a specific framework (react in this case). I wonder what all your thoughts are about those, and if putting everything that's React into |
for app arch we are putting large components specific to just one service right next to the service. We expose the pre-wired component on the plugin contract. This is the case with for example SearchBar or ExpressionRenderer. The idea behind kibana_react was that we offer simple components, which if they work with our services will need to be wired up by the user, as they would be statically imported. FieldList is something that doesn't really depend on any of our services, so kibana_react feels lika a good place for now. Maybe sometimes in the future we see that the plugin has grows to large and at that time we can decide to split it, but I think we'll have better idea into what to split it to at that time/ |
Perfect, in that case I would use the same approach. Meaning we'll keep simple ui elements like FieldIcon in kibana_react, but as soon as we have dedicated UIs that are bound to specific services we can pull them into the appropriate plugins and expose them from there. |
All of the above components are unified now 💪 |
As the different apps of KibanaApp work with the same concepts and business objects, a lot of UI components end up looking very similar or even exactly the same. To ensure consistency and to avoid on redundant development efforts, these parts of the UI should be exposed from a central place (e.g.
kibana_react
).This issue aims to collect these components and track the individual issues unifying them.
Known components
To discuss
The text was updated successfully, but these errors were encountered: