You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2022/12/08 15:39:18 UTC

[myfaces-tobago] branch tobago-5.x updated: Tobago 5.x demo search (#3509)

This is an automated email from the ASF dual-hosted git repository.

lofwyr pushed a commit to branch tobago-5.x
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git


The following commit(s) were added to refs/heads/tobago-5.x by this push:
     new 9689feae09 Tobago 5.x demo search (#3509)
9689feae09 is described below

commit 9689feae09003fbd5515ba25239f7338d5022bca
Author: Udo Schnurpfeil <lo...@apache.org>
AuthorDate: Thu Dec 8 16:39:12 2022 +0100

    Tobago 5.x demo search (#3509)
    
    feat: demo search
    
    issue: TOBAGO-2160
---
 .../apache/myfaces/tobago/example/demo/NavigationState.java   |  2 ++
 .../apache/myfaces/tobago/example/demo/NavigationTree.java    |  6 +++---
 .../src/main/webapp/content/000-intro/05-search/Search.xhtml  | 11 ++++++++++-
 3 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationState.java b/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationState.java
index f680a32f2d..fb74f2c302 100644
--- a/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationState.java
+++ b/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationState.java
@@ -34,6 +34,7 @@ import javax.inject.Inject;
 import javax.inject.Named;
 import java.io.Serializable;
 import java.lang.invoke.MethodHandles;
+import java.util.Collections;
 import java.util.List;
 
 @SessionScoped
@@ -126,6 +127,7 @@ public class NavigationState implements Serializable {
 
   public String search() {
     searchResult = tree.search(this.searchString);
+    Collections.sort(searchResult);
     return Outcome.SEARCH.toString();
   }
 
diff --git a/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationTree.java b/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationTree.java
index e7a117fb9a..9fa9528525 100644
--- a/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationTree.java
+++ b/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/NavigationTree.java
@@ -107,9 +107,9 @@ public class NavigationTree implements Serializable {
       if (s.contains(searchString.toLowerCase())) {
         result.add(searchIndex.get(s));
       }
-      if (result.size() >= 20) {
-        break;
-      }
+//      if (result.size() >= 20) {
+//        break;
+//      }
     }
     return result;
   }
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/000-intro/05-search/Search.xhtml b/tobago-example/tobago-example-demo/src/main/webapp/content/000-intro/05-search/Search.xhtml
index e9dafc7fdb..7e798ebe85 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/000-intro/05-search/Search.xhtml
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/000-intro/05-search/Search.xhtml
@@ -25,12 +25,21 @@
 
   <tc:section label="Searching the Demo">
 
-    <tc:in label="Search" value="#{navigationState.searchString}">
+    <tc:in label="Search" value="#{navigationState.searchString}" required="true">
       <f:facet name="after">
         <tc:button label="go" action="#{navigationState.search}" defaultCommand="true"/>
       </f:facet>
     </tc:in>
 
+    <tc:panel rendered="#{navigationState.searchResult.size() == 0}">
+      <p>
+        <tc:badge value="Info" markup="info"/> Not search results found!
+      </p>
+      <p>
+        The search currently scans the menu items only!
+      </p>
+    </tc:panel>
+
     <ul>
       <ui:repeat value="#{navigationState.searchResult}" var="node">
         <tc:link label="#{node.labelPath}" link="#{request.contextPath}#{node.outcome}"/><br/>