Hello, I have an improvement request for the Grid; the details are as follows:
Description:
Rerendering on record change can cause user events to be "lost" in some specific cases. Manually calling a render function expander would give more control and allow for handling these cases. It would be ideal if the render function could optionally accept a DOM object, similar to other Bryntum components, for most flexibility.
Example:
A row has several number cells, a total cell, and is expanded. The expander has a couple buttons (save and cancel). The save button is enabled/disabled based on the total.
When one of the cells is updated, beforeFinishCellEdit is called and the total is set via
record.set({ total: sumOfValues() })
.
If the user types in a number and while the input is still focused they press save, the record.set is fired on input blur (beforeFinishCellEdit) and updates the record. This rerenders the expander and the user's click event is "lost". Likely because the render begins and destroys the element, the click fires on the location where the destroyed element was, then the expander is rendered. They then must press the save button a second time.
If the render function was available, we could programmatically call it when needed.