Mercurial > hg > STI-GWT
comparison src/econnect/wp3_3/client/widgets/table/DynamicStiTable.java @ 30:1e95995ddbb2
re-added the ability to refine the dataset by a (very simple) text search
author | Sebastian Kruse <skruse@mpiwg-berlin.mpg.de> |
---|---|
date | Wed, 28 Nov 2012 17:01:34 +0100 |
parents | 3184e8faa5c0 |
children | 20eb7596d466 |
comparison
equal
deleted
inserted
replaced
29:4711c4ab0c23 | 30:1e95995ddbb2 |
---|---|
197 organizePages(); | 197 organizePages(); |
198 checkHide(); | 198 checkHide(); |
199 fillTable(); | 199 fillTable(); |
200 } | 200 } |
201 } | 201 } |
202 }); | 202 }); |
203 showSelected.addClickHandler(new ClickHandler() { | 203 showSelected.addClickHandler(new ClickHandler() { |
204 public void onClick(ClickEvent event) { | 204 public void onClick(ClickEvent event) { |
205 if( viewAll != -1 ){ | 205 if( viewAll != -1 ){ |
206 viewAll = -1; | 206 viewAll = -1; |
207 if( setActualObjectSet() ){ | 207 if( setActualObjectSet() ){ |
243 refine.setWidget(0,0,textualSearch); | 243 refine.setWidget(0,0,textualSearch); |
244 refine.setWidget(0,1,search); | 244 refine.setWidget(0,1,search); |
245 search.addClickHandler(new ClickHandler() { | 245 search.addClickHandler(new ClickHandler() { |
246 public void onClick(ClickEvent event) { | 246 public void onClick(ClickEvent event) { |
247 if( !textualSearch.getText().equals("") ){ | 247 if( !textualSearch.getText().equals("") ){ |
248 core.refineByText(textualSearch.getText(),index); | 248 refineByText(textualSearch.getText()); |
249 textualSearch.setEnabled(false); | 249 textualSearch.setEnabled(false); |
250 refine.setWidget(0, 1, buttons); | 250 refine.setWidget(0, 1, buttons); |
251 } | 251 } |
252 } | 252 } |
253 }); | 253 }); |
258 }); | 258 }); |
259 cancelImage.addClickHandler(new ClickHandler() { | 259 cancelImage.addClickHandler(new ClickHandler() { |
260 public void onClick(ClickEvent event) { | 260 public void onClick(ClickEvent event) { |
261 textualSearch.setEnabled(true); | 261 textualSearch.setEnabled(true); |
262 core.reset(); | 262 core.reset(); |
263 | |
264 //TODO: das gibt es nun mehrfach im Code, sollte also in eine Funktion | |
265 //Ÿberfuhrt werden | |
266 showSelected.removeStyleName("selectedView"); | |
267 showAll.addStyleName("selectedView"); | |
268 viewAll = 1; | |
269 setActualObjectSet(); | |
270 organizePages(); | |
271 checkHide(); | |
272 fillTable(); | |
273 | |
263 refine.setWidget(0, 1, search); | 274 refine.setWidget(0, 1, search); |
264 } | 275 } |
265 }); | 276 }); |
266 | 277 |
267 this.results = new Label(); | 278 this.results = new Label(); |
347 if( object.isSelected() ){ | 358 if( object.isSelected() ){ |
348 objects.add(object); | 359 objects.add(object); |
349 } | 360 } |
350 } | 361 } |
351 if( objects.size() > 0 ){ | 362 if( objects.size() > 0 ){ |
363 //TODO: Wenn die derzeitige Auswahl _keine_ Elemente | |
364 //enthŠlt, werden _alle_ angezeigt. Ist das sinnvoll? | |
352 actualObjectSet = objects; | 365 actualObjectSet = objects; |
353 } | 366 } |
354 else { | 367 else { |
355 return false; | 368 return false; |
356 } | 369 } |
559 } | 572 } |
560 ); | 573 ); |
561 } | 574 } |
562 | 575 |
563 /** | 576 /** |
577 * Refines the currently selected dataset (table) by the search term entered. | |
578 * | |
579 */ | |
580 private void refineByText(String searchString){ | |
581 | |
582 String lowerCaseSearchString = searchString.toLowerCase(); | |
583 | |
584 for( int i=0; i<this.dataSet.getObjects().length(); i++){ | |
585 DataObject currentDataObject = this.dataSet.getObjects().get(i); | |
586 | |
587 String name = currentDataObject.getName(); | |
588 String description = currentDataObject.getDescription(); | |
589 String place = currentDataObject.getPlace(); | |
590 | |
591 if ( name.toLowerCase().contains(lowerCaseSearchString) || | |
592 description.toLowerCase().contains(lowerCaseSearchString) || | |
593 place.toLowerCase().contains(lowerCaseSearchString) ) | |
594 currentDataObject.setPercentage(1); | |
595 else | |
596 currentDataObject.setPercentage(0); | |
597 } | |
598 | |
599 //TODO: das gibt es nun mehrfach im Code, sollte also in eine Funktion | |
600 //Ÿberfuhrt werden | |
601 viewAll = -1; | |
602 setActualObjectSet(); | |
603 showAll.removeStyleName("selectedView"); | |
604 showSelected.addStyleName("selectedView"); | |
605 organizePages(); | |
606 checkHide(); | |
607 fillTable(); | |
608 } | |
609 | |
610 /** | |
564 * Checks, if the previous or next button has to be hidden | 611 * Checks, if the previous or next button has to be hidden |
565 */ | 612 */ |
566 private void checkHide(){ | 613 private void checkHide(){ |
567 if( this.selectedChunk == 0 ){ | 614 if( this.selectedChunk == 0 ){ |
568 previous.setVisible(false); | 615 previous.setVisible(false); |