Currently, pluggable widgets are sometimes limited compared to default widgets. This is an overarching suggestion to extend the features of pluggable widgets to match the default widgets. The overall goal should be: Every default widget can be implemented using pluggable widgets. This includes the generated representation in the DOM / the styling as well as the behaviour in the Studio (pro).
I understand that this probably requires non-trivial architectural changes. But this idea might be kept in mind while working on other suggestions.
Here is my yet short list of desired features. If something is missing, I can add it here. If something can actually be implemented as of now, I am happy to read more and remove it here.
Currently, widgets (as far as I can tell) provide no way to define content areas. They are just opaque to the Studio. In order to faciliate building widgets that operate on some other content, it needs to define arbitrary content areas (e.g. header, content, footer / left, center, right / … displayed as drop areas in the Studio (pro) in some kind of grid system). These operations might be some kind of conditional visibility or instantiating the content multiple times (e.g. for a list view).
Each content area should be able to define some provided context (entity type), and the content inside the area can be instantiated using data that fits the context (e.g. for a list view, to instantiate the content area with every list element in a loop).
The content areas should also be configurable by properties, e.g. as in “Show footer”.
Currently, operations on content (e.g. as provided by the widget ShowByCondition) are implemented using CSS selectors or "inverse logic” where the widget operates on its parent container. But this approach is rather limiting.
The need for more flexible lists is also evident by ideas such as New grid widgets to replace grid/template grid / listviews for UI flexibility.
Thank you for your suggestion. We are currently working hard on extending the pluggable widget framework.
Please have a look at the Maximizing Next Generation Experiences with Mendix Pluggable Components session at Mendix world. Presentations is found here https://www.mendix.com/mendix-world/2019-recap/
There is a hint for the roadmap (but no timeline). We will keep you posted when new feature are be added.
Our first focus will be making input widgets like the Mendix core, more feature will we added later.
Reference docs: https://docs.mendix.com/apidocs-mxsdk/apidocs/pluggable-widgets