diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/TransMemoryPresenter.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/TransMemoryPresenter.java index 2a66796afe..7c67375392 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/TransMemoryPresenter.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/TransMemoryPresenter.java @@ -38,7 +38,7 @@ public interface Display extends WidgetDisplay HasText getTmTextBox(); - void createTable(ArrayList memories); + void createTable(String query, ArrayList memories); void startProcessing(); @@ -88,7 +88,7 @@ public void showResultsFor(TransUnit transUnit) showResults(query, searchType); } - private void showResults(String query, GetTranslationMemory.SearchType searchType) + private void showResults(final String query, GetTranslationMemory.SearchType searchType) { display.startProcessing(); final GetTranslationMemory action = new GetTranslationMemory(query, workspaceContext.getWorkspaceId().getLocaleId(), searchType); @@ -104,7 +104,7 @@ public void onFailure(Throwable caught) public void onSuccess(GetTranslationMemoryResult result) { ArrayList memories = result.getMemories(); - display.createTable(memories); + display.createTable(query, memories); } }); } diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/TransMemoryView.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/TransMemoryView.java index 85ae8254b7..8cd0b2dee8 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/TransMemoryView.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/TransMemoryView.java @@ -5,6 +5,7 @@ import net.customware.gwt.presenter.client.EventBus; import org.zanata.webtrans.client.events.TransMemoryCopyEvent; +import org.zanata.webtrans.client.ui.DiffMatchPatchLabel; import org.zanata.webtrans.client.ui.HighlightingLabel; import org.zanata.webtrans.shared.model.TranslationMemoryItem; @@ -150,7 +151,7 @@ public void stopProcessing() } @Override - public void createTable(ArrayList memories) + public void createTable(String query, ArrayList memories) { // TODO most of this should be in TransMemoryPresenter clearResults(); @@ -166,7 +167,7 @@ public void createTable(ArrayList memories) final String targetMessage = memory.getTarget(); final int similarity = memory.getSimilarityPercent(); - resultTable.setWidget(row, SOURCE_COL, new HighlightingLabel(sourceMessage)); + resultTable.setWidget(row, SOURCE_COL, new DiffMatchPatchLabel(query, sourceMessage)); resultTable.setWidget(row, TARGET_COL, new HighlightingLabel(targetMessage)); resultTable.setText(row, SIMILARITY_COL, similarity + "%"); diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/CodeMirror.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/CodeMirror.java deleted file mode 100644 index 8fce724003..0000000000 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/CodeMirror.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2010, Red Hat, Inc. and individual contributors as indicated by the - * @author tags. See the copyright.txt file in the distribution for a full - * listing of individual contributors. - * - * This is free software; you can redistribute it and/or modify it under the - * terms of the GNU Lesser General Public License as published by the Free - * Software Foundation; either version 2.1 of the License, or (at your option) - * any later version. - * - * This software is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more - * details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this software; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF - * site: http://www.fsf.org. - */ -package org.zanata.webtrans.client.ui; - -import com.google.gwt.user.client.Element; - -public class CodeMirror -{ - - public static native void doHighlight(String text, Element elem)/*-{ - elem.innerHTML = ''; - $wnd.highlightText(text, elem); - }-*/; - - public static native void highlightSearch(String searchTerm, Element elem)/*-{ - // the highlightStartTag and highlightEndTag parameters are optional - var bodyText = elem.innerHTML; - - var highlightStartTag = ""; - var highlightEndTag = ""; - - // find all occurences of the search term in the given text, - // and add some "highlight" tags to them (we're not using a - // regular expression search, because we want to filter out - // matches that occur within HTML tags and script blocks, so - // we have to do a little extra validation) - var newText = ""; - var i = -1; - var lcSearchTerm = searchTerm.toLowerCase(); - var lcBodyText = bodyText.toLowerCase(); - - while (bodyText.length > 0) { - i = lcBodyText.indexOf(lcSearchTerm, i+1); - if (i < 0) { - newText += bodyText; - bodyText = ""; - } else { - // skip anything inside an HTML tag - if (bodyText.lastIndexOf(">", i) >= bodyText.lastIndexOf("<", i)) { - // skip anything inside a + +