Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Rhbz1006063 - Fix issue with 'Return to editor' on different page #204

Merged
merged 1 commit into from
Sep 30, 2013
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -20,28 +20,63 @@
*/
package org.zanata.webtrans.client.presenter;

import java.util.*;

import org.zanata.common.*;
import org.zanata.webtrans.client.events.*;
import org.zanata.webtrans.client.events.NotificationEvent.*;
import org.zanata.webtrans.client.resources.*;
import org.zanata.webtrans.client.service.*;
import org.zanata.webtrans.client.ui.*;
import org.zanata.webtrans.client.ui.ToggleEditor.*;
import org.zanata.webtrans.client.view.*;
import org.zanata.webtrans.shared.model.*;
import org.zanata.webtrans.shared.util.*;
import com.allen_sauer.gwt.log.client.*;
import static com.google.common.base.Objects.equal;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;

import net.customware.gwt.presenter.client.EventBus;

import org.zanata.common.ContentState;
import org.zanata.webtrans.client.events.CheckStateHasChangedEvent;
import org.zanata.webtrans.client.events.CommentBeforeSaveEvent;
import org.zanata.webtrans.client.events.CopyDataToEditorEvent;
import org.zanata.webtrans.client.events.CopyDataToEditorHandler;
import org.zanata.webtrans.client.events.InsertStringInEditorEvent;
import org.zanata.webtrans.client.events.InsertStringInEditorHandler;
import org.zanata.webtrans.client.events.NavTransUnitEvent;
import org.zanata.webtrans.client.events.NotificationEvent;
import org.zanata.webtrans.client.events.NotificationEvent.Severity;
import org.zanata.webtrans.client.events.ReloadUserConfigUIEvent;
import org.zanata.webtrans.client.events.RequestSelectTableRowEvent;
import org.zanata.webtrans.client.events.RequestValidationEvent;
import org.zanata.webtrans.client.events.RequestValidationEventHandler;
import org.zanata.webtrans.client.events.RunValidationEvent;
import org.zanata.webtrans.client.events.TableRowSelectedEvent;
import org.zanata.webtrans.client.events.TransUnitEditEvent;
import org.zanata.webtrans.client.events.TransUnitEditEventHandler;
import org.zanata.webtrans.client.events.TransUnitSaveEvent;
import org.zanata.webtrans.client.events.UserConfigChangeEvent;
import org.zanata.webtrans.client.events.UserConfigChangeHandler;
import org.zanata.webtrans.client.events.WorkspaceContextUpdateEvent;
import org.zanata.webtrans.client.events.WorkspaceContextUpdateEventHandler;
import org.zanata.webtrans.client.resources.TableEditorMessages;
import org.zanata.webtrans.client.service.UserOptionsService;
import org.zanata.webtrans.client.ui.SaveAsApprovedConfirmationDisplay;
import org.zanata.webtrans.client.ui.ToggleEditor;
import org.zanata.webtrans.client.ui.ToggleEditor.ViewMode;
import org.zanata.webtrans.client.ui.UndoLink;
import org.zanata.webtrans.client.ui.ValidationWarningDisplay;
import org.zanata.webtrans.client.view.TargetContentsDisplay;
import org.zanata.webtrans.shared.model.DocumentInfo;
import org.zanata.webtrans.shared.model.TransUnit;
import org.zanata.webtrans.shared.model.TransUnitId;
import org.zanata.webtrans.shared.model.UserWorkspaceContext;
import org.zanata.webtrans.shared.model.ValidationAction;
import org.zanata.webtrans.shared.model.WorkspaceRestrictions;
import org.zanata.webtrans.shared.util.Finds;

import com.allen_sauer.gwt.log.client.Log;
import com.google.common.base.Objects;
import com.google.common.base.*;
import com.google.common.collect.*;
import com.google.gwt.core.client.*;
import com.google.inject.*;

import static com.google.common.base.Objects.*;

import net.customware.gwt.presenter.client.*;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.gwt.core.client.GWT;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;

@Singleton
// @formatter:off
Expand Down Expand Up @@ -131,6 +166,11 @@ public void savePendingChangesIfApplicable() {
}
}

public void gotoRow(DocumentInfo documentInfo, TransUnitId transUnitId) {
eventBus.fireEvent(new RequestSelectTableRowEvent(documentInfo,
transUnitId));
}

/**
* Fire TransUnitSaveEvent if there's no validation error
*
Expand All @@ -142,8 +182,9 @@ public boolean saveCurrentIfValid(ContentState status) {
display.getErrorMessages();

if (status.isTranslated() && !errorMessages.isEmpty()) {
validationWarning.center(display.getId(), currentEditorIndex,
getNewTargets(), errorMessages);
validationWarning.center(display.getId(),
userWorkspaceContext.getSelectedDoc(), getNewTargets(),
errorMessages);
return false;
} else {
eventBus.fireEvent(new TransUnitSaveEvent(getNewTargets(), status,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import java.util.Map;

import org.zanata.webtrans.client.view.TargetContentsDisplay;
import org.zanata.webtrans.shared.model.DocumentInfo;
import org.zanata.webtrans.shared.model.TransUnitId;
import org.zanata.webtrans.shared.model.ValidationAction;

Expand All @@ -37,7 +38,7 @@
*/
@ImplementedBy(ValidationWarningPanel.class)
public interface ValidationWarningDisplay {
void center(TransUnitId transUnitId, int editorIndex,
void center(TransUnitId transUnitId, DocumentInfo documentInfo,
List<String> translations,
Map<ValidationAction, List<String>> errorMessages);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import org.zanata.webtrans.client.presenter.KeyShortcutPresenter;
import org.zanata.webtrans.client.resources.TableEditorMessages;
import org.zanata.webtrans.client.view.TargetContentsDisplay;
import org.zanata.webtrans.shared.model.DocumentInfo;
import org.zanata.webtrans.shared.model.TransUnitId;
import org.zanata.webtrans.shared.model.ValidationAction;

Expand Down Expand Up @@ -57,7 +58,7 @@ interface ValidationWarningPanelUiBinder extends

private TransUnitId transUnitId;

private int editorIndex;
private DocumentInfo documentInfo;

private TargetContentsDisplay.Listener listener;

Expand Down Expand Up @@ -108,17 +109,17 @@ public void onClick(ClickEvent event) {
@Override
public void onClick(ClickEvent event) {
hide();
listener.onEditorClicked(transUnitId, editorIndex);
listener.gotoRow(documentInfo, transUnitId);
}
});
}

@Override
public void center(TransUnitId transUnitId, int editorIndex,
public void center(TransUnitId transUnitId, DocumentInfo documentInfo,
List<String> targets,
Map<ValidationAction, List<String>> errorMessages) {
this.transUnitId = transUnitId;
this.editorIndex = editorIndex;
this.documentInfo = documentInfo;
refreshView(targets, errorMessages);
center();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import org.zanata.webtrans.client.ui.HasUpdateValidationMessage;
import org.zanata.webtrans.client.ui.ToggleEditor;
import org.zanata.webtrans.client.ui.UndoLink;
import org.zanata.webtrans.shared.model.DocumentInfo;
import org.zanata.webtrans.shared.model.HasTransUnitId;
import org.zanata.webtrans.shared.model.TransUnit;
import org.zanata.webtrans.shared.model.TransUnitId;
Expand Down Expand Up @@ -109,6 +110,8 @@ interface Listener {
void acceptTranslation(TransUnitId id);

void rejectTranslation(TransUnitId id);

void gotoRow(DocumentInfo documentInfo, TransUnitId transUnitId);
}

enum EditingState {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,6 @@
import org.zanata.webtrans.client.ui.UndoLink;
import org.zanata.webtrans.client.ui.ValidationWarningDisplay;
import org.zanata.webtrans.client.view.TargetContentsDisplay;
import org.zanata.webtrans.server.locale.Gwti18nReader;
import org.zanata.webtrans.shared.model.DocumentInfo;
import org.zanata.webtrans.shared.model.TransUnit;
import org.zanata.webtrans.shared.model.TransUnitId;
import org.zanata.webtrans.shared.model.UserWorkspaceContext;
Expand Down Expand Up @@ -383,7 +381,8 @@ public void willNotMoveToNextEntryIfTranslationHasError() {
presenter.saveAsApprovedAndMoveNext(selectedTU.getId());

// Then:
verify(validationWarning).center(selectedTU.getId(), 0, NEW_TARGETS,
verify(validationWarning).center(selectedTU.getId(),
userWorkspaceContext.getSelectedDoc(), NEW_TARGETS,
errorMessage);
}

Expand Down