-
Bug
-
Resolution: Invalid
-
Major
-
None
-
6.0.2
I have a MVVM class method handling a user action to delete an entry. The code inside the MVVM class method displays a messagebox to prompt a confirmation from the user.
The use of this messagebox seems to interfere with the 'NotifyChange' related updates.
@SuppressWarnings(
{ "rawtypes", "unchecked" })@Command("deleteSelected")
@NotifyChange({"locationModel","selectedLocation","showEdit"})
public void deleteSelected() {
if (getSelectedLocation() != null) {
try {
if (geoLocationManager.isUsed(getSelectedLocation().getData().getID())) { Messagebox.show("This Location cannot be deleted as it is being used by requirements or available resources","Delete", Messagebox.OK, Messagebox.INFORMATION); }
else {
Messagebox.show("Confirm deletion of ["+getSelectedLocation().getData().getTitle()+"]?", "Confirm Dialog", Messagebox.OK | Messagebox.CANCEL,
Messagebox.QUESTION, new org.zkoss.zk.ui.event.EventListener() {
public void onEvent(Event evt) throws InterruptedException {
if (evt.getName().equals("onOK")) {
try { geoLocationManager.delete(getSelectedLocation().getData().getID()); buildModel(); setSelectedLocation(null); BindUtils.postNotifyChange(DataAreaIDs.QUEUE_NAME,DataAreaIDs.QUEUE_SCOPE,this,"showEdit"); BindUtils.postNotifyChange(DataAreaIDs.QUEUE_NAME,DataAreaIDs.QUEUE_SCOPE,this,"locationModel"); }
catch (PersistenceException e) { showErrorView(getCommand(), e); }
catch (UnknownGeoLocationException e) {
}
}
}
});
}
}
catch (PersistenceException e) { showErrorView(getCommand(), e); } }
}
I've even tried forcing the refresh using the 'bindUtils' calls, but the view remains unaffected.
If I take out the 'Messagebox.show' code, like:
@SuppressWarnings({ "rawtypes", "unchecked" }
)
@Command("deleteSelected")
@NotifyChange(
)
public void deleteSelected() {
try
catch (UnknownGeoLocationException e)
{ // TODO Auto-generated catch block e.printStackTrace(); }catch (PersistenceException e) { // TODO Auto-generated catch block e.printStackTrace(); }
... the @NotifyChange updates refresh the page correctly.
A bug I presume