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