Description
Is your feature request related to a problem? Please describe.
Currently (at least with Material UI renderer and I think also with vanilla React renderer), the onChange
method is called each time a character is typed in the text-based input (with eventual debounced introduced by the user).
For some use cases, it would be preferable to trigger the onChange
method only when the concerned text-based input looses the focus. (regardless of eventual debounce)
Of course, both scenarii are valid, and it's really a matter of personal preference.
Describe the solution you'd like
It would be nice to upgrade all text-based renderers to have the two possibilities:
- trigger
onChange
when a character is typed in the input. - trigger
onChange
when the input looses focus and its content has actually changed.
Users should be able to choose between the two behaviors by configuring a simple option in the JsonForms configuration.
Describe alternatives you've considered
As a user, it should already be possible to achieve this by providing custom renderers and overriding the behavior in each used text-based renderer. But it would be so much cleaner if the change was centralized and inherited by supporting renderers.
Plus, as this looks like a recurring user need, we should probably consider this evolution intead of having diverging user renderers.
Framework
React, Angular, Vue 3, Vue 2
RendererSet
Material, Vanilla
Additional context
See also discussion eclipse-emfcloud/emfcloud#152