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><!--
--></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