From 601393548e6d2af1ecee9a7a322d59f3b18e8e09 Mon Sep 17 00:00:00 2001 From: Alex Eng Date: Tue, 10 Apr 2012 10:05:42 +1000 Subject: [PATCH] Plural support - fire validation event for selected trans unit --- .../editor/table/TargetContentsDisplay.java | 2 -- .../editor/table/TargetContentsPresenter.java | 10 ++++++++-- .../editor/table/TargetContentsView.java | 10 +--------- .../org/zanata/webtrans/client/ui/Editor.java | 20 ++++++++++++++++--- .../zanata/webtrans/client/ui/Editor.ui.xml | 2 +- .../webtrans/client/ui/ToggleEditor.java | 5 +++-- .../ui/ValidationMessagePanelView.ui.xml | 2 +- .../zanata/webtrans/public/Application.css | 16 +++++---------- 8 files changed, 36 insertions(+), 31 deletions(-) diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/TargetContentsDisplay.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/TargetContentsDisplay.java index 0d7947b3d7..fa62548f22 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/TargetContentsDisplay.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/TargetContentsDisplay.java @@ -30,8 +30,6 @@ public interface TargetContentsDisplay extends WidgetDisplay void showButtons(boolean displayButtons); - void openEditors(); - void focusEditor(int currentEditorIndex); interface Listener diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/TargetContentsPresenter.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/TargetContentsPresenter.java index 131470c031..f4438862e4 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/TargetContentsPresenter.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/TargetContentsPresenter.java @@ -122,7 +122,12 @@ public void showEditors(int rowIndex, int editorIndex) Log.info("enter show editor with editor index:" + editorIndex + " current editor index:" + currentEditorIndex); currentDisplay = displayList.get(rowIndex); currentEditors = currentDisplay.getEditors(); - currentDisplay.openEditors(); + + for (ToggleEditor editor : currentDisplay.getEditors()) + { + editor.setViewMode(ToggleEditor.ViewMode.EDIT); + validate(editor); + } if (configHolder.isDisplayButtons()) { @@ -180,9 +185,10 @@ public void initWidgets(int pageSize) @Override public void validate(ToggleEditor editor) { - currentEditorIndex = editor.getIndex(); + // currentEditorIndex = editor.getIndex(); RunValidationEvent event = new RunValidationEvent(sourceContentsPresenter.getSelectedSource(), editor.getText(), false); event.addWidget(validationMessagePanel); + event.addWidget(editor); eventBus.fireEvent(event); } diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/TargetContentsView.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/TargetContentsView.java index 94f9aec652..48a7bc2d01 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/TargetContentsView.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/TargetContentsView.java @@ -88,15 +88,6 @@ public void showButtons(boolean displayButtons) buttons.setVisible(isEditing() && displayButtons); } - @Override - public void openEditors() - { - for (ToggleEditor editor : editors) - { - editor.setViewMode(ToggleEditor.ViewMode.EDIT); - } - } - @Override public void focusEditor(final int currentEditorIndex) { @@ -175,6 +166,7 @@ public void setToView() { for (ToggleEditor editor : editors) { + editor.removeValidationMessagePanel(); editor.setViewMode(ToggleEditor.ViewMode.VIEW); } } diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/Editor.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/Editor.java index 1fe8a24add..f761ae95ea 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/Editor.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/Editor.java @@ -7,6 +7,7 @@ import org.zanata.webtrans.client.editor.table.TargetContentsDisplay; import org.zanata.webtrans.client.resources.NavigationMessages; +import com.allen_sauer.gwt.log.client.Log; import com.google.common.base.Objects; import com.google.common.base.Strings; import com.google.gwt.core.client.GWT; @@ -27,7 +28,7 @@ import com.google.gwt.user.client.ui.PushButton; import com.google.gwt.user.client.ui.Widget; -public class Editor extends Composite implements ToggleEditor, HasUpdateValidationWarning +public class Editor extends Composite implements ToggleEditor { private String findMessage; private TargetContentsDisplay.Listener listener; @@ -309,10 +310,16 @@ public void setFocus() @Override public void addValidationMessagePanel(IsWidget validationMessagePanel) { - validationMessagePanelContainer.clear(); + removeValidationMessagePanel(); validationMessagePanelContainer.add(validationMessagePanel); } + @Override + public void removeValidationMessagePanel() + { + validationMessagePanelContainer.clear(); + } + @Override public void insertTextInCursorPosition(String suggestion) { @@ -343,6 +350,13 @@ public void showCopySourceButton(boolean displayButtons) @Override public void updateValidationWarning(List errors) { - // TODO update label css is errors is empty + if (!errors.isEmpty()) + { + textArea.addStyleName("HasValidationError"); + } + else + { + textArea.removeStyleName("HasValidationError"); + } } } diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/Editor.ui.xml b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/Editor.ui.xml index f11e7a35be..89497785d8 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/Editor.ui.xml +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/Editor.ui.xml @@ -18,7 +18,7 @@ .textArea { width:98%; - margin-left:5px; + margin-left:3px; } diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/ToggleEditor.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/ToggleEditor.java index 8312d79b10..cf0b6b84b8 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/ToggleEditor.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/ToggleEditor.java @@ -3,7 +3,7 @@ import com.google.gwt.user.client.ui.HasText; import com.google.gwt.user.client.ui.IsWidget; -public interface ToggleEditor extends IsWidget, HasText +public interface ToggleEditor extends IsWidget, HasText, HasUpdateValidationWarning { ViewMode getViewMode(); @@ -18,6 +18,8 @@ public interface ToggleEditor extends IsWidget, HasText void addValidationMessagePanel(IsWidget validationMessagePanel); + void removeValidationMessagePanel(); + int getIndex(); void showCopySourceButton(boolean displayButtons); @@ -35,5 +37,4 @@ static enum ViewMode } void setTextAndValidate(String text); - } diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/ValidationMessagePanelView.ui.xml b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/ValidationMessagePanelView.ui.xml index 2f2b71e67a..a25fb9073f 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/ValidationMessagePanelView.ui.xml +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/ValidationMessagePanelView.ui.xml @@ -53,7 +53,7 @@ - + diff --git a/server/zanata-war/src/main/resources/org/zanata/webtrans/public/Application.css b/server/zanata-war/src/main/resources/org/zanata/webtrans/public/Application.css index 9b0591ac63..10a2e25986 100644 --- a/server/zanata-war/src/main/resources/org/zanata/webtrans/public/Application.css +++ b/server/zanata-war/src/main/resources/org/zanata/webtrans/public/Application.css @@ -405,11 +405,6 @@ tr.FuzzyStateDecoration td.TableEditorCell-Target .TableEditorContent { padding-right: 5px; } -tr.FuzzyStateDecoration td.TableEditorCell-Target table.TableEditorCell-Target-Table { -/* border-left: 3px solid #ffc000; */ -/* border-right: 3px solid #ffc000; */ -} - tr.FuzzyStateDecoration td.TableEditorCell-Target div.TableEditorCell-Target { border-left: 3px solid #ffc000; border-right: 3px solid #ffc000; @@ -420,12 +415,6 @@ tr.ApprovedStateDecoration td.TableEditorCell-Target .TableEditorContent { padding-right: 5px; } -tr.ApprovedStateDecoration td.TableEditorCell-Target table.TableEditorCell-Target-Table -{ -/* border-left: 3px solid #099b09; */ -/* border-right: 3px solid #099b09; */ -} - tr.ApprovedStateDecoration td.TableEditorCell-Target div.TableEditorCell-Target { border-left: 3px solid #099b09; @@ -442,6 +431,11 @@ tr.ApprovedStateDecoration td.TableEditorCell-Target div.TableEditorCell-Target width: 99%; } +.HasValidationError { + border-left:3px solid red; + border-right:3px solid red; +} + .Severity-Error { background-color: #ffcccc; }