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
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs