@Override public void onSuccess(UpdateTransUnitResult result) { TransUnit updatedTU = result.getUpdateInfoList().get(0).getTransUnit(); Log.debug("save resulted TU: " + updatedTU.debugString()); if (result.isSingleSuccess()) { eventBus.fireEvent( new NotificationEvent( NotificationEvent.Severity.Info, messages.notifyUpdateSaved(updatedTU.getRowIndex(), updatedTU.getId().toString()), goToRowLink)); int rowIndexOnPage = navigationService.findRowIndexById(updatedTU.getId()); if (rowIndexOnPage != NavigationService.UNDEFINED) { UndoLink undoLink = undoLinkProvider.get(); undoLink.prepareUndoFor(result); targetContentsPresenter.addUndoLink(rowIndexOnPage, undoLink); navigationService.updateDataModel(updatedTU); targetContentsPresenter.confirmSaved(updatedTU); targetContentsPresenter.setFocus(); } queue.removeSaved(event, updatedTU.getVerNum()); } else { saveFailure(result.getUpdateInfoList().get(0).getErrorMessage()); } if (queue.hasPending()) { performSave(id); } }
@Override public void prepareUndoFor(UpdateTransUnitResult updateTransUnitResult) { ClickHandler clickHandler = new RevertTransUnitUpdateClickHandler(updateTransUnitResult.getUpdateInfoList()); handlerRegistration = addClickHandler(clickHandler); canUndo = true; }