We are currently using SGWT 4.1p.
I am trying to create a TreeGrid implementation similar to that found in the Google Earth Client for Google Earth Plugin. I am using cascading checkboxes for selecting the visibility of features on the globe.
The issue is that if a folder contains hundreds of child nodes, and you toggle the visibility of the folder, there is no mechanism for capturing just the element that was deselected. Iterating over the entire tree and kml dom is incredibly expensive and locks the browser for several minutes.
I have read through the api and attempted overriding RecordClick, RowClick, as well as addingRecordClickHandler along with calling isCheckbox to no avail. I have also debugged extensively how SelectionChangedHandler, and SelectionUpdatedHandler work.
The best mechanism I have found is that a SelectionChangedHandler will fire with the clicked elements initial state first, I can then ignore all further SelectionChangedEvents, until the SelectionUpdatedEvent is fired. However, this implemenation is entirely dependent on your API not changing in any further updates.
Due to the nature of how the kml dom handles visibility, making a parent container invisible hides all of its children, which is a very cheap operation and allows me to ignore the state of all of its children.
Is there any way that you could provide a mechanism for adding a click handler to the selection element in the tree grid? Or a similar hack like we used to do in order capture remove events, by creating a field marked as the remove field that we can then add a handler to?
I am trying to create a TreeGrid implementation similar to that found in the Google Earth Client for Google Earth Plugin. I am using cascading checkboxes for selecting the visibility of features on the globe.
The issue is that if a folder contains hundreds of child nodes, and you toggle the visibility of the folder, there is no mechanism for capturing just the element that was deselected. Iterating over the entire tree and kml dom is incredibly expensive and locks the browser for several minutes.
I have read through the api and attempted overriding RecordClick, RowClick, as well as addingRecordClickHandler along with calling isCheckbox to no avail. I have also debugged extensively how SelectionChangedHandler, and SelectionUpdatedHandler work.
The best mechanism I have found is that a SelectionChangedHandler will fire with the clicked elements initial state first, I can then ignore all further SelectionChangedEvents, until the SelectionUpdatedEvent is fired. However, this implemenation is entirely dependent on your API not changing in any further updates.
Due to the nature of how the kml dom handles visibility, making a parent container invisible hides all of its children, which is a very cheap operation and allows me to ignore the state of all of its children.
Is there any way that you could provide a mechanism for adding a click handler to the selection element in the tree grid? Or a similar hack like we used to do in order capture remove events, by creating a field marked as the remove field that we can then add a handler to?
Comment