# HG changeset patch # User Sebastian Kruse # Date 1354118494 -3600 # Node ID 1e95995ddbb2deec112c25a5618e0ff3ca8bc2bf # Parent 4711c4ab0c23b227d0810f9bc37ff588b9e8c5ce re-added the ability to refine the dataset by a (very simple) text search diff -r 4711c4ab0c23 -r 1e95995ddbb2 src/econnect/wp3_3/client/core/StiCore.java --- a/src/econnect/wp3_3/client/core/StiCore.java Wed Nov 28 17:00:49 2012 +0100 +++ b/src/econnect/wp3_3/client/core/StiCore.java Wed Nov 28 17:01:34 2012 +0100 @@ -182,12 +182,15 @@ /** * Refines the dataset with the given index by the given text * + * Moved to DynamicStiTable. + * * @param text the refine text * @param index the index of the dataset */ + /* public final native void refineByText(String text, int index) /*-{ this.refineByText(text,index); - }-*/; + }-*///; /** * Getter for the SimileAjax value for the granularity of a second diff -r 4711c4ab0c23 -r 1e95995ddbb2 src/econnect/wp3_3/client/widgets/table/DynamicStiTable.java --- a/src/econnect/wp3_3/client/widgets/table/DynamicStiTable.java Wed Nov 28 17:00:49 2012 +0100 +++ b/src/econnect/wp3_3/client/widgets/table/DynamicStiTable.java Wed Nov 28 17:01:34 2012 +0100 @@ -199,7 +199,7 @@ fillTable(); } } - }); + }); showSelected.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { if( viewAll != -1 ){ @@ -245,7 +245,7 @@ search.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { if( !textualSearch.getText().equals("") ){ - core.refineByText(textualSearch.getText(),index); + refineByText(textualSearch.getText()); textualSearch.setEnabled(false); refine.setWidget(0, 1, buttons); } @@ -260,6 +260,17 @@ public void onClick(ClickEvent event) { textualSearch.setEnabled(true); core.reset(); + + //TODO: das gibt es nun mehrfach im Code, sollte also in eine Funktion + //Ÿberfuhrt werden + showSelected.removeStyleName("selectedView"); + showAll.addStyleName("selectedView"); + viewAll = 1; + setActualObjectSet(); + organizePages(); + checkHide(); + fillTable(); + refine.setWidget(0, 1, search); } }); @@ -349,6 +360,8 @@ } } if( objects.size() > 0 ){ + //TODO: Wenn die derzeitige Auswahl _keine_ Elemente + //enthŠlt, werden _alle_ angezeigt. Ist das sinnvoll? actualObjectSet = objects; } else { @@ -561,6 +574,40 @@ } /** + * Refines the currently selected dataset (table) by the search term entered. + * + */ + private void refineByText(String searchString){ + + String lowerCaseSearchString = searchString.toLowerCase(); + + for( int i=0; i