Author: michiel
Date: 2010-03-30 12:01:11 +0200 (Tue, 30 Mar 2010)
New Revision: 41665

Added:
   
mmbase/trunk/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/pathsearch.tagx
Modified:
   
mmbase/trunk/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/relate.tagx
   
mmbase/trunk/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/relatednodes.tagx
   
mmbase/trunk/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/search.tagx
Log:
mm-sr:pathsearch plus some cleanups

Added: 
mmbase/trunk/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/pathsearch.tagx
===================================================================
--- 
mmbase/trunk/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/pathsearch.tagx
                             (rev 0)
+++ 
mmbase/trunk/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/pathsearch.tagx
     2010-03-30 10:01:11 UTC (rev 41665)
@@ -0,0 +1,54 @@
+<jsp:root
+    xmlns:jsp="http://java.sun.com/JSP/Page";
+    xmlns:mm="http://www.mmbase.org/mmbase-taglib-2.0";
+    xmlns:c="http://java.sun.com/jsp/jstl/core";
+    xmlns:fn="http://java.sun.com/jsp/jstl/functions";
+    xmlns:mm-srt="urn:jsptagdir:/WEB-INF/tags/mm/searchrelate/"
+    version="2.0"
+    >
+  <!--
+
+
+
+      @author Michiel Meeuwissen
+      @version $Id: relate.tagx,v 1.40 2008-11-27 16:03:47 andre Exp $
+  -->
+  <jsp:directive.tag
+      example=""
+      description="Combines mm-sr:search to a an 'accordion' search" />
+
+  <jsp:directive.attribute name="path"        type="java.lang.String"  
required="true"
+                           description="Node type to search" />
+
+  <jsp:directive.attribute name="config"               type="java.lang.String"
+                           description="Configuration file defaults to 
('searchrelate')" />
+
+  <jsp:directive.attribute name="create"        type="java.lang.Boolean"
+                           />
+
+  <mm:import id="requestid">P<mm:escape 
escape="crc32,radix(36)">${pageContext.request.requestURI}</mm:escape>${param.requestID}</mm:import>
+
+  <mm:listnodescontainer path="${path}" id="query">
+    <jsp:doBody />
+  </mm:listnodescontainer>
+
+  <mm:write session="${requestid}" referid="query" />
+
+  <table class="mmsr_pathsearch" id="${requestid}">
+    <tr>
+      <c:forEach items="${query.steps}" var="p" step="2">
+        <th><mm:nodeinfo nodetype="${p.tableName}" type="guitype" /></th>
+      </c:forEach>
+    </tr>
+    <tr>
+      <td>
+        <mm:include page="/mmbase/searchrelate/path/searcher.jspx" 
referids="reques...@pid">
+          <mm:param name="step">0</mm:param>
+        </mm:include>
+      </td>
+      <c:forEach begin="3" end="${fn:length(query.steps)}" step="2">
+        <td />
+      </c:forEach>
+    </tr>
+  </table>
+</jsp:root>

Modified: 
mmbase/trunk/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/relate.tagx
===================================================================
--- 
mmbase/trunk/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/relate.tagx
 2010-03-30 09:58:02 UTC (rev 41664)
+++ 
mmbase/trunk/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/relate.tagx
 2010-03-30 10:01:11 UTC (rev 41665)
@@ -84,6 +84,7 @@
                            description="Wether or not to load the javascript. 
Default should be ok, but sometimes it isn't (e.g. when using in ajax-included 
pieces of HTML)" />
 
 
+
   <mm:import externid="current" from="this" />
 
   <mm:import id="requestid">S<mm:escape 
escape="crc32,radix(36)">${pageContext.request.requestURI}?${pageContext.request.queryString}</mm:escape></mm:import>
@@ -106,15 +107,6 @@
   </c:if>
   <jsp:directive.include file="/mmbase/searchrelate/settings.jspf" />
   <script type="text/javascript">
-    $(document).ready(function(){
-    $("body").find("div.mm_related").each(function() {
-    if (this.relater == null) {
-      this.relater = new MMBaseRelater(this);
-      }
-    });
-    });
-  </script>
-  <script type="text/javascript">
     $(document).ready(function() {
     <c:if test="${! empty submit}"><!-- submit attribute given: commit 
search/relate on click of that element -->
       $("${submit}").click(function(el) {
@@ -180,7 +172,11 @@
         </div>
       </c:if>
 
-      <div class="mm_relate_repository searchable">
+      <mm:listnodescontainer referid="repository">
+        <mm:size id="nosearchsize" write="false" />
+      </mm:listnodescontainer>
+
+      <div class="mm_relate_repository searchable ${nosearchsize lt (empty 
pagesize ? 10 : pagesize) ? 'nosearchneeded' : 'searchneeded'}">
         <jsp:invoke fragment="repositoryTitle" />
         <c:choose>
           <c:when test="${empty forms or forms}">
@@ -212,7 +208,7 @@
             <c:if test="${select}">
               <jsp:text> </jsp:text>
               <a href="#move" class="move"><mm-sr:button type="move" 
alt="move" /></a>
-            </c:if>            
+            </c:if>
           </c:otherwise>
         </c:choose>
 
@@ -222,12 +218,12 @@
                         referids="customizedir?,relations?,fields?">
               <c:if test="${! empty pagesize}">
                 <mm:param name="pagesize" referid="pagesize" />
-            </c:if>
-            <c:if test="${! empty maxpages}">
-              <mm:param name="maxpages" referid="maxpages" />
-            </c:if>
-            <mm:param name="id">mm_related_${sid}_repository</mm:param>
-            <mm:param name="extraClass">implicit</mm:param>
+              </c:if>
+              <c:if test="${! empty maxpages}">
+                <mm:param name="maxpages" referid="maxpages" />
+              </c:if>
+              <mm:param name="id">mm_related_${sid}_repository</mm:param>
+              <mm:param name="extraClass">implicit</mm:param>
             </mm:include>
           </c:when>
           <c:otherwise>

Modified: 
mmbase/trunk/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/relatednodes.tagx
===================================================================
--- 
mmbase/trunk/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/relatednodes.tagx
   2010-03-30 09:58:02 UTC (rev 41664)
+++ 
mmbase/trunk/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/relatednodes.tagx
   2010-03-30 10:01:11 UTC (rev 41665)
@@ -101,6 +101,10 @@
                            description="Include also the possibility to search 
existing nodes"
                            />
 
+  <jsp:directive.attribute name="searcher"    fragment="true"
+                           description="You may provide your own 
implementation of the search tool"
+                           />
+
   <jsp:directive.attribute name="implicitSearch"    type="java.lang.Boolean"
                            description="Wether to fill automaticly even when 
not yet explicitely searched (defaults to the property 'implicitRepository' of 
searchrelate.xml, which itself defaults to 'true')" />
 
@@ -196,7 +200,7 @@
   <mm:import id="_formtag">${empty __formtag ? parentformtag : 
__formtag}</mm:import>
   <mm:import id="_orderby">${empty orderby ? _role : orderby}${empty orderby ? 
(_role eq 'posrel' ? '.pos' : '.number') : ''}</mm:import>
   <mm:import id="_fields">${fields}</mm:import>
-  <mm:import id="_search">${empty searchRepository ? (empty search ? false : 
search) : true}</mm:import>
+  <mm:import id="_search">${empty searchRepository and empty searcher ? (empty 
search ? false : search) : true}</mm:import>
   <mm:import id="_delete">${empty delete ? (! _search) : delete}</mm:import>
   <mm:import id="_confirm">${empty confirm ? false : confirm}</mm:import>
   <mm:import id="_create">${empty create ? 'true' : create}</mm:import>
@@ -368,18 +372,30 @@
       </mm:relatednodescontainer>
 
       <mm:import id="searcher">
-        <c:if test="${parameters.search}">
+        <c:if test="${parameters.search || ! empty searcher}">
           <mm:cloud>
             <c:choose>
-              <c:when test="${empty searchRepository}">
-                <mm-sr:search type="${query.nodeManager.name}" load="false" 
implicit="${empty implicitSearch ? settings['implicitRepository'] : 
implicitSearch}">
-                  <mm:constraint field="number" operator="IN" inverse="true" 
referid="related" />
-                </mm-sr:search>
+              <c:when test="${empty searcher}">
+                <c:choose>
+                  <c:when test="${empty searchRepository}">
+                    <mm-sr:search
+                        styleClass="relatednodes_search_simple"
+                        type="${query.nodeManager.name}" load="false" 
implicit="${empty implicitSearch ? settings['implicitRepository'] : 
implicitSearch}">
+                      <mm:constraint field="number" operator="IN" 
inverse="true" referid="related" />
+                    </mm-sr:search>
+                  </c:when>
+                  <c:otherwise>
+                    <mm-sr:relate
+                        repository="${searchRepository}" load="false"
+                        styleClass="relatednodes_search_simple"
+                        >
+                      <mm:constraint field="number" operator="IN" 
inverse="true" referid="related" />
+                    </mm-sr:relate>
+                  </c:otherwise>
+                </c:choose>
               </c:when>
               <c:otherwise>
-                <mm-sr:relate repository="${searchRepository}" load="false">
-                  <mm:constraint field="number" operator="IN" inverse="true" 
referid="related" />
-                </mm-sr:relate>
+                <jsp:invoke fragment="searcher" />
               </c:otherwise>
             </c:choose>
           </mm:cloud>

Modified: 
mmbase/trunk/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/search.tagx
===================================================================
--- 
mmbase/trunk/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/search.tagx
 2010-03-30 09:58:02 UTC (rev 41664)
+++ 
mmbase/trunk/applications/searchrelate/src/main/resources/META-INF/tags/mm/searchrelate/search.tagx
 2010-03-30 10:01:11 UTC (rev 41665)
@@ -3,7 +3,6 @@
     xmlns:mm="http://www.mmbase.org/mmbase-taglib-2.0";
     xmlns:c="http://java.sun.com/jsp/jstl/core";
     xmlns:mm-sr="http://www.mmbase.org/tags/mm/searchrelate";
-    xmlns:mm-srt="urn:jsptagdir:/WEB-INF/tags/mm/searchrelate/"
     version="2.0"
     >
   <!--
@@ -33,11 +32,25 @@
   <jsp:directive.attribute name="create"        type="java.lang.Boolean"
                            />
 
+  <jsp:directive.attribute name="styleClass"               
type="java.lang.String"
+                           description="Extra style class" />
 
+  <jsp:directive.attribute name="pagesize"               
type="java.lang.Integer"
+                           description="Size of one page. Defaults to 10." />
+
+  <mm:import id="_pagesize" vartype="integer">${empty pagesize ? 10 : 
pagesize}</mm:import>
+
   <mm:listnodescontainer type="${type}" id="repository">
     <jsp:doBody />
     <mm:sortorder field="number" direction="down" />
   </mm:listnodescontainer>
   <jsp:directive.include file="/mmbase/searchrelate/settings.jspf" />
-  <mm-sr:relate repository="${repository}" load="${load}" 
implicitRepository="${empty implicit ? settings['implicitRepository'] : 
implicit}" create="${create}" />
+  <mm-sr:relate
+      repository="${repository}"
+      load="${load}"
+      pagesize="${_pagesize}"
+      implicitRepository="${empty implicit ? settings['implicitRepository'] : 
implicit}"
+      create="${create}"
+      styleClass="${styleClass}"
+      />
 </jsp:root>

_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to