Author: michiel
Date: 2010-03-30 18:41:43 +0200 (Tue, 30 Mar 2010)
New Revision: 41690

Modified:
   mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/pom.xml
   
mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/src/main/webapp/WEB-INF/tags/mm/searchrelateexample/html.tagx
   
mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/src/main/webapp/index.jspx
   
mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/src/main/webapp/pathsearch.jspx
   
mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/src/main/webapp/style.css
   
mmbase/branches/MMBase-1_9/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/pathsearch.tagx
   
mmbase/branches/MMBase-1_9/applications/searchrelate/src/main/webapp/mmbase/searchrelate/PathSearcher.js.jsp
   
mmbase/branches/MMBase-1_9/applications/searchrelate/src/main/webapp/mmbase/searchrelate/path/searcher.jspx
Log:
ported more from trunk

Modified: 
mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/pom.xml
===================================================================
--- mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/pom.xml 
2010-03-30 16:38:50 UTC (rev 41689)
+++ mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/pom.xml 
2010-03-30 16:41:43 UTC (rev 41690)
@@ -35,6 +35,14 @@
               <name>com.sun.management.jmxremote</name>
               <value></value>
             </systemProperty>
+            <systemProperty>
+              <!--
+              This may not be very safe, but we use jetty only for developing
+              See: 
http://communitymapbuilder.org/display/JETTY/How+to+enable+serving+aliased+files
+              -->
+              <name>org.mortbay.util.FileResource.checkAliases</name>
+              <value>false</value>
+            </systemProperty>
           </systemProperties>
           <scanTargets>
             <scanTarget>src/main/config</scanTarget>

Modified: 
mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/src/main/webapp/WEB-INF/tags/mm/searchrelateexample/html.tagx
===================================================================
--- 
mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/src/main/webapp/WEB-INF/tags/mm/searchrelateexample/html.tagx
   2010-03-30 16:38:50 UTC (rev 41689)
+++ 
mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/src/main/webapp/WEB-INF/tags/mm/searchrelateexample/html.tagx
   2010-03-30 16:41:43 UTC (rev 41690)
@@ -47,12 +47,6 @@
         <mm:link page="/style.css">
           <link rel="stylesheet" href="${_}" type="text/css" />
         </mm:link>
-        <mm:link page="/mmbase/searchrelate/PathSearcher.js.jsp">
-          <script type="text/javascript" src="${_}"><jsp:text> 
</jsp:text></script>
-        </mm:link>
-        <mm:link page="/mmbase/searchrelate/Toggle.js.jsp">
-          <script type="text/javascript" src="${_}"><jsp:text> 
</jsp:text></script>
-        </mm:link>
 
         <meta name="ContentRoot" content="${mm:link('/')}" />
 

Modified: 
mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/src/main/webapp/index.jspx
===================================================================
--- 
mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/src/main/webapp/index.jspx
      2010-03-30 16:38:50 UTC (rev 41689)
+++ 
mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/src/main/webapp/index.jspx
      2010-03-30 16:41:43 UTC (rev 41690)
@@ -181,7 +181,7 @@
               <a href="${_}">Lazy loaded items</a>
             </mm:link>
           </li>
-          <li>
+          <li class="done">
             <mm:link page="relatednodes-search.jspx" referids="${referids}">
               <a href="${_}">Using your own searcher implementation</a>
             </mm:link>
@@ -273,7 +273,7 @@
         </ul>
         <h2>mm-sr:pathsearch</h2>
         <ul>
-          <li class="">
+          <li class="done">
             <mm:link page="pathsearch.jspx" referids="${referids}">
               <a href="${_}">mm-sr:pathsearch</a>
             </mm:link>

Modified: 
mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/src/main/webapp/pathsearch.jspx
===================================================================
--- 
mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/src/main/webapp/pathsearch.jspx
 2010-03-30 16:38:50 UTC (rev 41689)
+++ 
mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/src/main/webapp/pathsearch.jspx
 2010-03-30 16:41:43 UTC (rev 41690)
@@ -1,5 +1,6 @@
 <?xml version="1.0" ?>
 <mm-sre:html
+    styleClass="pathsearch"
     xmlns:mm-sre="urn:jsptagdir:/WEB-INF/tags/mm/searchrelateexample"
     xmlns:mm-srt="urn:jsptagdir:/WEB-INF/tags/mm/searchrelate"
     xmlns:mm-sr="http://www.mmbase.org/tags/mm/searchrelate";
@@ -20,7 +21,7 @@
   <mm-sr:pathsearch path="mags,posrel,news" />
 
   <p>Straight forward two step searcher, not indicated role, finding people</p>
-  <mm-sr:pathsearch path="news,people" />
+  <mm-sr:pathsearch path="news,people" pagesize="100" />
 
   <p>Straight forward three step searcher to find people</p>
   <mm-sr:pathsearch path="mags,news,people" />

Modified: 
mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/src/main/webapp/style.css
===================================================================
--- 
mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/src/main/webapp/style.css
       2010-03-30 16:38:50 UTC (rev 41689)
+++ 
mmbase/branches/MMBase-1_9/applications/searchrelate/example-webapp/src/main/webapp/style.css
       2010-03-30 16:41:43 UTC (rev 41690)
@@ -13,6 +13,12 @@
 }
 
 
+body.pathsearch .searchresult.implicit {
+  display: block;
+}
+body.pathsearch form.searchform {
+  display: none;
+}
 
 body.search .searchresult.implicit {
   display: block;
@@ -193,6 +199,20 @@
   cursor: pointer;
 }
 
+table.mmsr_pathsearch {
+  width: 100%;
+}
+table.mmsr_pathsearch th.last {
+  text-decoration: underline;
+  text-transform: uppercase;
+}
+
 table.mmsr_pathsearch td {
   vertical-align: top;
+}
+table.mmsr_pathsearch.steps_3 th {
+  width: 33%;
+}
+table.mmsr_pathsearch.steps_2 th {
+  width: 50%;
 }
\ No newline at end of file

Modified: 
mmbase/branches/MMBase-1_9/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/pathsearch.tagx
===================================================================
--- 
mmbase/branches/MMBase-1_9/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/pathsearch.tagx
       2010-03-30 16:38:50 UTC (rev 41689)
+++ 
mmbase/branches/MMBase-1_9/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/pathsearch.tagx
       2010-03-30 16:41:43 UTC (rev 41690)
@@ -21,15 +21,28 @@
   <jsp:directive.attribute name="element"        type="java.lang.String"
                            description="This is equivalent to the element 
attribute of an mm:listnodescontainer, but it defaults to the _last_ element." 
/>
 
+  <jsp:directive.attribute name="pagesize"        type="java.lang.Integer"
+                           description="" />
+
   <jsp:directive.attribute name="config"               type="java.lang.String"
                            description="Configuration file defaults to 
('searchrelate')" />
 
+  <jsp:directive.attribute name="load"               type="java.lang.String"
+                           description="" />
+
   <mm:import id="requestid">P<mm:escape 
escape="crc32,radix(36)">${pageContext.request.requestURI}</mm:escape>${param.requestID}</mm:import>
   <mm:import from="request" id="seq" externid="${requestid}_sequence" 
vartype="integer">0</mm:import>
   <mm:write request="${requestid}_sequence" value="${seq + 1}" />
   <mm:import id="pid">${requestid}_${seq}</mm:import>
 
+  <mm:import from="request" id="javascript_loaded" 
externid="mm_pathsearch_javascript" />
+  <mm:import id="_load">${((empty javascript_loaded and empty load) or load) 
and load ne 'false' and param['org.mmbase.sr.relatednodes.load'] ne 
'false'}</mm:import>
+  <c:if test="${_load}">
+    <script type="text/javascript" 
src="${mm:link('/mmbase/searchrelate/PathSearcher.js.jsp')}"><jsp:text>&lt;!-- 
--&gt;</jsp:text></script>
+    <mm:write request="mm_pathsearch_javascript" value="yes" />
+  </c:if>
 
+
   <mm:listnodescontainer path="${path}" element="${element}" id="query" 
jspvar="q">
     <c:if test="${empty element}">
       <jsp:scriptlet>q.setNodeStep(q.getSteps().get(q.getSteps().size() - 
1));</jsp:scriptlet>
@@ -38,24 +51,30 @@
     <mm:import externid="laststep" 
vartype="integer"><jsp:expression>q.getSteps().indexOf(q.getNodeStep())</jsp:expression></mm:import>
   </mm:listnodescontainer>
 
-  <mm:write session="${pid}" referid="query" />
 
+  <mm:write session="${pid}_context" value="" />
+  <mm:context scope="session" id="${pid}_context">
+    <mm:import externid="query" from="parent" />
+    <mm:import id="pagesize">${empty pagesize ? 10 : pagesize}</mm:import>
+  </mm:context>
 
-  <table class="mmsr_pathsearch"
+
+  <mm:import id="numberoftd" vartype="integer">${laststep / 2 + 1}</mm:import>
+  <table class="mmsr_pathsearch steps_${numberoftd}"
          id="${pid}">
     <tr>
-      <c:forEach begin="0" end="${laststep + 1}"  var="i" step="2">
-        <th><mm:nodeinfo nodetype="${query.steps[i].tableName}" 
type="plural_guinodemanager" /></th>
+      <c:forEach begin="0" end="${laststep + 1}"  var="i" step="2" 
varStatus="status">
+        <th class="${status.first ? 'first' : ''} ${status.last ? 'last' : 
''}"><mm:nodeinfo nodetype="${query.steps[i].tableName}" 
type="plural_guinodemanager" /></th>
       </c:forEach>
     </tr>
     <tr>
-      <td>
-        <mm:include page="/mmbase/searchrelate/path/searcher.jspx" 
referids="pid">
+      <td class="first">
+        <mm:include page="/mmbase/searchrelate/path/searcher.jspx" 
referids="pid,pagesize?">
           <mm:param name="step">0</mm:param>
         </mm:include>
       </td>
-      <c:forEach begin="3" end="${laststep + 1}" step="2">
-        <td />
+      <c:forEach begin="3" end="${laststep + 1}" step="2" varStatus="status">
+        <td class="${status.last ? 'last' : ''}" />
       </c:forEach>
     </tr>
   </table>

Modified: 
mmbase/branches/MMBase-1_9/applications/searchrelate/src/main/webapp/mmbase/searchrelate/PathSearcher.js.jsp
===================================================================
--- 
mmbase/branches/MMBase-1_9/applications/searchrelate/src/main/webapp/mmbase/searchrelate/PathSearcher.js.jsp
        2010-03-30 16:38:50 UTC (rev 41689)
+++ 
mmbase/branches/MMBase-1_9/applications/searchrelate/src/main/webapp/mmbase/searchrelate/PathSearcher.js.jsp
        2010-03-30 16:41:43 UTC (rev 41690)
@@ -28,6 +28,8 @@
              var number = relater.getNumber(tr);
              var pathSearcher = 
$(e.target).closest("table.mmsr_pathsearch")[0].searcher;
              var index = $(e.target).closest("td").index() + 1;
+             $(tr).addClass("selected");
+             $(tr).siblings().removeClass("selected");
              pathSearcher.fillStep(index + 1, number);
          });
 
@@ -63,6 +65,7 @@
                                this.relater = new MMBaseRelater(this);
                            }
                        });
+                   $(td).find("~ td").empty();
                });
 
 }

Modified: 
mmbase/branches/MMBase-1_9/applications/searchrelate/src/main/webapp/mmbase/searchrelate/path/searcher.jspx
===================================================================
--- 
mmbase/branches/MMBase-1_9/applications/searchrelate/src/main/webapp/mmbase/searchrelate/path/searcher.jspx
 2010-03-30 16:38:50 UTC (rev 41689)
+++ 
mmbase/branches/MMBase-1_9/applications/searchrelate/src/main/webapp/mmbase/searchrelate/path/searcher.jspx
 2010-03-30 16:41:43 UTC (rev 41690)
@@ -11,40 +11,47 @@
   <jsp:output omit-xml-declaration="true" />
   <mm:content expires="0" postprocessor="none">
 
-  <jsp:directive.page 
import="org.mmbase.bridge.util.Queries,org.mmbase.bridge.*" />
+    <jsp:directive.page 
import="org.mmbase.bridge.util.Queries,org.mmbase.bridge.*" />
 
-  <mm:import externid="pid" from="parameters" required="true" />
-  <mm:import from="session" externid="${pid}" id="query" jspvar="q" 
required="true" vartype="org.mmbase.bridge.NodeQuery" />
+    <mm:import externid="pid" from="parameters" required="true" />
 
-  <mm:cloud>
-    <mm:import externid="step" from="request,parameters" vartype="integer" 
required="true"  jspvar="step"/>
-    <mm:import externid="nodeNumber" from="request,parameters" 
required="${step gt 0}"   />
+    <mm:context scope="session" id="parameters" referid="${pid}_context" />
 
-    <jsp:scriptlet>Node node = null;</jsp:scriptlet>
-    <c:if test="${!empty nodeNumber}">
-      <mm:node referid="nodeNumber" jspvar="n">
-        <jsp:scriptlet>node = n;</jsp:scriptlet>
-      </mm:node>
-    </c:if>
-    <jsp:scriptlet>
-      pageContext.setAttribute("laststep", 
q.getSteps().indexOf(q.getNodeStep()));
-      NodeQuery nodeQuery = Queries.getSubQuery(q, node, step);
-      pageContext.setAttribute("nodeQuery", nodeQuery);
-    </jsp:scriptlet>
 
-    <mm-srt:relate
-        styleClass="pathsearcher_${laststep eq step ? 'end' : 'ontheway'}"
-        repository="${nodeQuery}"
-        load="${step eq 0 ? null : false}"
-        implicitRepository="true"
-        create="false"
-        >
-      <jsp:attribute name="repositoryTitle">
-        <c:if test="${! empty nodeNumber}">
-          <mm:node number="${nodeNumber}"><mm:nodeinfo type="gui" /></mm:node>
+    <mm:cloud>
+      <mm:import externid="step" from="request,parameters" vartype="integer" 
required="true"  jspvar="step"/>
+      <mm:import externid="nodeNumber" from="request,parameters" 
required="${step gt 0}"   />
+
+      <mm:write referid="parameters.query" jspvar="q" 
vartype="org.mmbase.bridge.NodeQuery" write="false">
+
+
+        <jsp:scriptlet>Node node = null;</jsp:scriptlet>
+        <c:if test="${!empty nodeNumber}">
+          <mm:node referid="nodeNumber" jspvar="n">
+            <jsp:scriptlet>node = n;</jsp:scriptlet>
+          </mm:node>
         </c:if>
-      </jsp:attribute>
-    </mm-srt:relate>
-  </mm:cloud>
+        <jsp:scriptlet>
+          pageContext.setAttribute("laststep", 
q.getSteps().indexOf(q.getNodeStep()));
+          NodeQuery nodeQuery = Queries.getSubQuery(q, node, step);
+          pageContext.setAttribute("nodeQuery", nodeQuery);
+        </jsp:scriptlet>
+      </mm:write>
+
+      <mm-sr:relate
+          pagesize="${parameters.pagesize}"
+          styleClass="pathsearcher_${laststep eq step ? 'end' : 'ontheway'}"
+          repository="${nodeQuery}"
+          load="${step eq 0 ? null : false}"
+          implicitRepository="true"
+          create="false"
+          >
+        <jsp:attribute name="repositoryTitle">
+          <c:if test="${! empty nodeNumber}">
+            <mm:node number="${nodeNumber}"><mm:nodeinfo type="gui" 
/></mm:node>
+          </c:if>
+        </jsp:attribute>
+      </mm-sr:relate>
+    </mm:cloud>
   </mm:content>
 </div>

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to