www/common/expression_builder.jsp

Code
Comments
Other
Rev Date Author Line
2222 09 May 06 nicklas 1 <%-- $Id$
2222 09 May 06 nicklas 2   ------------------------------------------------------------------
3675 16 Aug 07 jari 3   Copyright (C) 2006, 2007 Nicklas Nordborg
2222 09 May 06 nicklas 4
2222 09 May 06 nicklas 5   This file is part of BASE - BioArray Software Environment.
2222 09 May 06 nicklas 6   Available at http://base.thep.lu.se/
2222 09 May 06 nicklas 7
2222 09 May 06 nicklas 8   BASE is free software; you can redistribute it and/or modify it
2222 09 May 06 nicklas 9   under the terms of the GNU General Public License as published by
4476 05 Sep 08 jari 10   the Free Software Foundation; either version 3 of the License, or
2222 09 May 06 nicklas 11   (at your option) any later version.
2222 09 May 06 nicklas 12
2222 09 May 06 nicklas 13   BASE is distributed in the hope that it will be useful, but
2222 09 May 06 nicklas 14   WITHOUT ANY WARRANTY; without even the implied warranty of
2222 09 May 06 nicklas 15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
2222 09 May 06 nicklas 16   General Public License for more details.
2222 09 May 06 nicklas 17
2222 09 May 06 nicklas 18   You should have received a copy of the GNU General Public License
4510 11 Sep 08 jari 19   along with BASE. If not, see <http://www.gnu.org/licenses/>.
2222 09 May 06 nicklas 20   ------------------------------------------------------------------
2222 09 May 06 nicklas 21
2222 09 May 06 nicklas 22   @author Nicklas
2222 09 May 06 nicklas 23   @version 2.0
2222 09 May 06 nicklas 24 --%>
5426 24 Sep 10 nicklas 25 <%@ page pageEncoding="UTF-8" session="false"
2222 09 May 06 nicklas 26   import="net.sf.basedb.core.DbControl"
2222 09 May 06 nicklas 27   import="net.sf.basedb.core.SessionControl"
2666 26 Sep 06 nicklas 28   import="net.sf.basedb.core.Item"
2666 26 Sep 06 nicklas 29   import="net.sf.basedb.core.BioAssaySet"
5879 18 Nov 11 nicklas 30   import="net.sf.basedb.core.VirtualDb"
5879 18 Nov 11 nicklas 31   import="net.sf.basedb.core.ReporterCloneTemplate"
2222 09 May 06 nicklas 32   import="net.sf.basedb.core.RawDataType"
2222 09 May 06 nicklas 33   import="net.sf.basedb.core.RawDataTypes"
2222 09 May 06 nicklas 34   import="net.sf.basedb.core.RawDataProperty"
2222 09 May 06 nicklas 35   import="net.sf.basedb.core.ExtendedProperty"
2222 09 May 06 nicklas 36   import="net.sf.basedb.core.ExtendedProperties"
2222 09 May 06 nicklas 37   import="net.sf.basedb.core.Formula"
4917 30 Apr 09 nicklas 38   import="net.sf.basedb.core.IntensityTransform"
2399 20 Jun 06 nicklas 39   import="net.sf.basedb.core.ReporterList"
2399 20 Jun 06 nicklas 40   import="net.sf.basedb.core.ItemQuery"
2399 20 Jun 06 nicklas 41   import="net.sf.basedb.core.Include"
2399 20 Jun 06 nicklas 42   import="net.sf.basedb.core.query.Orders"
2399 20 Jun 06 nicklas 43   import="net.sf.basedb.core.query.Hql"
2292 19 May 06 nicklas 44   import="net.sf.basedb.util.Enumeration"
2292 19 May 06 nicklas 45   import="net.sf.basedb.util.jep.Jep"
2222 09 May 06 nicklas 46   import="net.sf.basedb.clients.web.Base"
2753 20 Oct 06 nicklas 47   import="net.sf.basedb.util.Values"
2222 09 May 06 nicklas 48   import="net.sf.basedb.clients.web.util.HTML"
2222 09 May 06 nicklas 49   import="net.sf.basedb.clients.web.DynamicUtil"
2222 09 May 06 nicklas 50   import="net.sf.basedb.clients.web.taglib.table.TableColumn"
2222 09 May 06 nicklas 51   import="java.util.List"
2222 09 May 06 nicklas 52   import="java.util.LinkedList"
2222 09 May 06 nicklas 53 %>
2222 09 May 06 nicklas 54 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
2222 09 May 06 nicklas 55 <%@ taglib prefix="tbl" uri="/WEB-INF/table.tld" %>
2222 09 May 06 nicklas 56 <%
2222 09 May 06 nicklas 57   String title = request.getParameter("title");
2222 09 May 06 nicklas 58   String textarea = request.getParameter("textarea");
2222 09 May 06 nicklas 59   Formula.Type formulaType = Formula.Type.valueOf(request.getParameter("formulatype"));
2222 09 May 06 nicklas 60   RawDataType rawDataType = RawDataTypes.getRawDataType(request.getParameter("rawdatatype"));
2666 26 Sep 06 nicklas 61   int bioAssaySetId = Values.getInt(request.getParameter("bioassayset_id"), -1);
2222 09 May 06 nicklas 62   boolean restrictions = Values.getBoolean(request.getParameter("restrictions"));
2222 09 May 06 nicklas 63   int channels = Values.getInt(request.getParameter("channels"));
2222 09 May 06 nicklas 64   final SessionControl sc = Base.getExistingSessionControl(pageContext, true);
6314 02 Sep 13 nicklas 65
7954 12 May 21 nicklas 66   DbControl dc = sc.newDbControl(":Expression builder");
2222 09 May 06 nicklas 67   try
2222 09 May 06 nicklas 68   {
2666 26 Sep 06 nicklas 69     BioAssaySet bas = bioAssaySetId == -1 ? null : BioAssaySet.getById(dc, bioAssaySetId);
5879 18 Nov 11 nicklas 70     VirtualDb vdb = bas != null ? bas.getExperiment().getVirtualDb() : null;
5879 18 Nov 11 nicklas 71     ReporterCloneTemplate template = vdb != null && vdb.hasClonedReporters() ? vdb.getReporterCloneTemplate() : null;
5879 18 Nov 11 nicklas 72         
4917 30 Apr 09 nicklas 73     IntensityTransform transform = bas == null ? null : bas.getIntensityTransform();
2993 01 Dec 06 nicklas 74     int maxRawMappings = bas == null ? 1 : bas.getMaxRawMappingsForSpot();
2666 26 Sep 06 nicklas 75
2222 09 May 06 nicklas 76     List<TableColumn> spotProperties = new LinkedList<TableColumn>();
4917 30 Apr 09 nicklas 77     DynamicUtil.addSpotColumns(spotProperties, dc, channels, transform);
2222 09 May 06 nicklas 78     List<TableColumn> rawProperties = new LinkedList<TableColumn>();
2222 09 May 06 nicklas 79     if (rawDataType != null)
2222 09 May 06 nicklas 80     {
4917 30 Apr 09 nicklas 81       DynamicUtil.addFormulaColumns(spotProperties, dc, rawDataType, 
4917 30 Apr 09 nicklas 82         Formula.Type.COLUMN_EXPRESSION, transform, "", "", maxRawMappings == 1);
2666 26 Sep 06 nicklas 83       if (bas != null) DynamicUtil.addExtraColumns(spotProperties, dc, bas, "", "", "[Xtra] ");
2993 01 Dec 06 nicklas 84       if (maxRawMappings == 1) DynamicUtil.addRawDataColumns(rawProperties, dc, rawDataType, "", "", "");
2222 09 May 06 nicklas 85     }
2222 09 May 06 nicklas 86     List<TableColumn> reporterProperties = new LinkedList<TableColumn>();
5879 18 Nov 11 nicklas 87     DynamicUtil.addReporterColumns(reporterProperties, dc, template, "", "", "");
2399 20 Jun 06 nicklas 88     
2399 20 Jun 06 nicklas 89     ItemQuery<ReporterList> reporterListQuery = ReporterList.getQuery();
2399 20 Jun 06 nicklas 90     reporterListQuery.include(Include.MINE, Include.SHARED, Include.IN_PROJECT, Include.OTHERS);
2399 20 Jun 06 nicklas 91     reporterListQuery.order(Orders.asc(Hql.property("name")));
2399 20 Jun 06 nicklas 92     List<ReporterList> reporterLists = reporterListQuery.list(dc);
2399 20 Jun 06 nicklas 93     
2222 09 May 06 nicklas 94   %>
2222 09 May 06 nicklas 95   <base:page type="popup" title="<%=title%>">
6314 02 Sep 13 nicklas 96   <base:head scripts="table.js,~expression_builder.js" styles="toolbar.css" />
6314 02 Sep 13 nicklas 97   <base:body>
5916 19 Dec 11 nicklas 98     <h1>Expression builder <base:help helpid="expressionbuilder" /></h1>
6314 02 Sep 13 nicklas 99     <div id="page-data" class="datacontainer"
6314 02 Sep 13 nicklas 100       data-textarea="<%=textarea%>"
6314 02 Sep 13 nicklas 101       data-formula-type="<%=formulaType.name() %>"
6314 02 Sep 13 nicklas 102       data-raw-data-type="<%=rawDataType == null ? "" : rawDataType.getId()%>"
6314 02 Sep 13 nicklas 103       data-channels="<%=channels%>"
6314 02 Sep 13 nicklas 104     ></div>
2222 09 May 06 nicklas 105   
6162 10 Oct 12 nicklas 106     <form name="expression">
5916 19 Dec 11 nicklas 107     <div class="content">
6607 19 Nov 14 nicklas 108       <table class="input100 " style="width: 100%; height: 100%;">
6124 13 Sep 12 nicklas 109       <tr>
6607 19 Nov 14 nicklas 110         <td>
6605 18 Nov 14 nicklas 111         <tbl:toolbar subclass="bottomborder bg-filled-50">
2222 09 May 06 nicklas 112           <tbl:label
2222 09 May 06 nicklas 113             style="width: 100px;"
2222 09 May 06 nicklas 114             title="Operators:"
2222 09 May 06 nicklas 115           />
2222 09 May 06 nicklas 116           <tbl:button 
2222 09 May 06 nicklas 117             title="AND"
6314 02 Sep 13 nicklas 118             subclass="auto-init"
6314 02 Sep 13 nicklas 119             data-auto-init="enclose-selection"
6314 02 Sep 13 nicklas 120             data-prefix=" &amp;&amp; "
6314 02 Sep 13 nicklas 121             data-suffix=""
2222 09 May 06 nicklas 122             tooltip="BOOLEAN AND: expr1 &amp;&amp; expr2"
2222 09 May 06 nicklas 123           />
2222 09 May 06 nicklas 124           <tbl:button 
2222 09 May 06 nicklas 125             title="OR"
6314 02 Sep 13 nicklas 126             subclass="auto-init"
6314 02 Sep 13 nicklas 127             data-auto-init="enclose-selection"
6314 02 Sep 13 nicklas 128             data-prefix=" || "
6314 02 Sep 13 nicklas 129             data-suffix=""
2222 09 May 06 nicklas 130             tooltip="BOOLEAN OR: expr1 || expr2"
2222 09 May 06 nicklas 131           />
2222 09 May 06 nicklas 132           <tbl:button 
2222 09 May 06 nicklas 133             title="NOT"
6314 02 Sep 13 nicklas 134             subclass="auto-init"
6314 02 Sep 13 nicklas 135             data-auto-init="enclose-selection"
6314 02 Sep 13 nicklas 136             data-prefix="!"
6314 02 Sep 13 nicklas 137             data-suffix=""
2222 09 May 06 nicklas 138             tooltip="BOOLEAN NOT: !expr1"
2222 09 May 06 nicklas 139           />
2222 09 May 06 nicklas 140           <tbl:button 
2222 09 May 06 nicklas 141             title="=="
6314 02 Sep 13 nicklas 142             subclass="auto-init"
6314 02 Sep 13 nicklas 143             data-auto-init="enclose-selection"
6314 02 Sep 13 nicklas 144             data-prefix=" == "
6314 02 Sep 13 nicklas 145             data-suffix=""
2222 09 May 06 nicklas 146             tooltip="EQUAL: expr1 == expr2"
2222 09 May 06 nicklas 147           />
2222 09 May 06 nicklas 148           <tbl:button 
2222 09 May 06 nicklas 149             title="!="
6314 02 Sep 13 nicklas 150             subclass="auto-init"
6314 02 Sep 13 nicklas 151             data-auto-init="enclose-selection"
6314 02 Sep 13 nicklas 152             data-prefix=" != "
6314 02 Sep 13 nicklas 153             data-suffix=""
2222 09 May 06 nicklas 154             tooltip="INEQUAL: expr1 != expr2"
2222 09 May 06 nicklas 155           />
2222 09 May 06 nicklas 156           <tbl:button 
2659 22 Sep 06 nicklas 157             title="&lt;"
6314 02 Sep 13 nicklas 158             subclass="auto-init"
6314 02 Sep 13 nicklas 159             data-auto-init="enclose-selection"
6314 02 Sep 13 nicklas 160             data-prefix=" &lt; "
6314 02 Sep 13 nicklas 161             data-suffix=""
2659 22 Sep 06 nicklas 162             tooltip="LESS: expr1 &lt; expr2"
2222 09 May 06 nicklas 163           />
2222 09 May 06 nicklas 164           <tbl:button 
2659 22 Sep 06 nicklas 165             title="&lt;="
6314 02 Sep 13 nicklas 166             subclass="auto-init"
6314 02 Sep 13 nicklas 167             data-auto-init="enclose-selection"
6314 02 Sep 13 nicklas 168             data-prefix=" &lt;= "
6314 02 Sep 13 nicklas 169             data-suffix=""
2659 22 Sep 06 nicklas 170             tooltip="LESS OR EQUAL: expr1 &lt;= expr2"
2659 22 Sep 06 nicklas 171           />
2659 22 Sep 06 nicklas 172           <tbl:button 
2222 09 May 06 nicklas 173             title="&gt;="
6314 02 Sep 13 nicklas 174             subclass="auto-init"
6314 02 Sep 13 nicklas 175             data-auto-init="enclose-selection"
6314 02 Sep 13 nicklas 176             data-prefix=" &gt;= "
6314 02 Sep 13 nicklas 177             data-suffix=""
2222 09 May 06 nicklas 178             tooltip="MORE OR EQUAL: expr1 &gt;= expr2"
2222 09 May 06 nicklas 179             visible="<%=restrictions%>"
2222 09 May 06 nicklas 180           />
2222 09 May 06 nicklas 181           <tbl:button 
2659 22 Sep 06 nicklas 182             title="&gt;"
6314 02 Sep 13 nicklas 183             subclass="auto-init"
6314 02 Sep 13 nicklas 184             data-auto-init="enclose-selection"
6314 02 Sep 13 nicklas 185             data-prefix=" &gt; "
6314 02 Sep 13 nicklas 186             data-suffix=""
2659 22 Sep 06 nicklas 187             tooltip="MORE: expr1 &gt; expr2"
2222 09 May 06 nicklas 188           />
2222 09 May 06 nicklas 189           <tbl:button 
2222 09 May 06 nicklas 190             title="+"
6314 02 Sep 13 nicklas 191             subclass="auto-init"
6314 02 Sep 13 nicklas 192             data-auto-init="enclose-selection"
6314 02 Sep 13 nicklas 193             data-prefix=" + "
6314 02 Sep 13 nicklas 194             data-suffix=""
2222 09 May 06 nicklas 195             tooltip="ADD: expr1 + expr2"
2222 09 May 06 nicklas 196           />
2222 09 May 06 nicklas 197           <tbl:button 
2222 09 May 06 nicklas 198             title="-"
6314 02 Sep 13 nicklas 199             subclass="auto-init"
6314 02 Sep 13 nicklas 200             data-auto-init="enclose-selection"
6314 02 Sep 13 nicklas 201             data-prefix=" - "
6314 02 Sep 13 nicklas 202             data-suffix=""
2222 09 May 06 nicklas 203             tooltip="SUBTRACT: expr1 - expr2"
2222 09 May 06 nicklas 204           />
2222 09 May 06 nicklas 205           <tbl:button 
2222 09 May 06 nicklas 206             title="*"
6314 02 Sep 13 nicklas 207             subclass="auto-init"
6314 02 Sep 13 nicklas 208             data-auto-init="enclose-selection"
6314 02 Sep 13 nicklas 209             data-prefix=" * "
6314 02 Sep 13 nicklas 210             data-suffix=""
2222 09 May 06 nicklas 211             tooltip="MULTIPLY: expr1 * expr2"
2222 09 May 06 nicklas 212           />
2222 09 May 06 nicklas 213           <tbl:button 
2222 09 May 06 nicklas 214             title="/"
6314 02 Sep 13 nicklas 215             subclass="auto-init"
6314 02 Sep 13 nicklas 216             data-auto-init="enclose-selection"
6314 02 Sep 13 nicklas 217             data-prefix=" / "
6314 02 Sep 13 nicklas 218             data-suffix=""
2222 09 May 06 nicklas 219             tooltip="DIVIDE: expr1 / expr2"
2222 09 May 06 nicklas 220           />
2222 09 May 06 nicklas 221           <tbl:button 
2222 09 May 06 nicklas 222             title="( )"
6314 02 Sep 13 nicklas 223             subclass="auto-init"
6314 02 Sep 13 nicklas 224             data-auto-init="enclose-selection"
6314 02 Sep 13 nicklas 225             data-prefix="("
6314 02 Sep 13 nicklas 226             data-suffix=")"
2222 09 May 06 nicklas 227             tooltip="PARENTHESIS: (expr1)"
2222 09 May 06 nicklas 228           />
2222 09 May 06 nicklas 229         </tbl:toolbar>
6605 18 Nov 14 nicklas 230         <tbl:toolbar subclass="bottomborder bg-filled-50">
2222 09 May 06 nicklas 231           <tbl:label
2222 09 May 06 nicklas 232             title="Functions:"
2222 09 May 06 nicklas 233             style="width: 100px;"
2222 09 May 06 nicklas 234           />
2292 19 May 06 nicklas 235           <%
2292 19 May 06 nicklas 236           Enumeration<String, String> functions = Jep.getFunctions();
2292 19 May 06 nicklas 237           for (int i = 0; i < functions.size(); ++i)
2292 19 May 06 nicklas 238           {
2292 19 May 06 nicklas 239             String function = functions.getKey(i);
2292 19 May 06 nicklas 240             %>
2292 19 May 06 nicklas 241             <tbl:button 
2292 19 May 06 nicklas 242               title="<%=function%>"
6314 02 Sep 13 nicklas 243               subclass="auto-init"
6314 02 Sep 13 nicklas 244               data-auto-init="enclose-selection"
6314 02 Sep 13 nicklas 245               data-prefix="<%=function+"(" %>"
6314 02 Sep 13 nicklas 246               data-suffix=")"
2292 19 May 06 nicklas 247               tooltip="<%=functions.getValue(i)%>"
2292 19 May 06 nicklas 248             />
2292 19 May 06 nicklas 249             <%
2292 19 May 06 nicklas 250           }
2292 19 May 06 nicklas 251           %>
3456 06 Jun 07 nicklas 252           <tbl:label
3456 06 Jun 07 nicklas 253             title="Constants:"
3456 06 Jun 07 nicklas 254             style="width: 100px;"
3456 06 Jun 07 nicklas 255           />
3456 06 Jun 07 nicklas 256           <tbl:button 
3456 06 Jun 07 nicklas 257             title="null"
6314 02 Sep 13 nicklas 258             subclass="auto-init"
6314 02 Sep 13 nicklas 259             data-auto-init="enclose-selection"
6314 02 Sep 13 nicklas 260             data-prefix=""
6314 02 Sep 13 nicklas 261             data-suffix="null"
3456 06 Jun 07 nicklas 262             tooltip="The null (unknown) value"
3456 06 Jun 07 nicklas 263           />
3456 06 Jun 07 nicklas 264           <tbl:button 
3456 06 Jun 07 nicklas 265             title="pi"
6314 02 Sep 13 nicklas 266             subclass="auto-init"
6314 02 Sep 13 nicklas 267             data-auto-init="enclose-selection"
6314 02 Sep 13 nicklas 268             data-prefix=""
6314 02 Sep 13 nicklas 269             data-suffix="<%=Math.PI%>"
3456 06 Jun 07 nicklas 270             tooltip="<%="The pi value: " + Math.PI %>"
3456 06 Jun 07 nicklas 271           />
3456 06 Jun 07 nicklas 272           <tbl:button 
3456 06 Jun 07 nicklas 273             title="e"
6314 02 Sep 13 nicklas 274             subclass="auto-init"
6314 02 Sep 13 nicklas 275             data-auto-init="enclose-selection"
6314 02 Sep 13 nicklas 276             data-prefix=""
6314 02 Sep 13 nicklas 277             data-suffix="<%=Math.E %>"
3456 06 Jun 07 nicklas 278             tooltip="<%="The base of the natural logarithm: " + Math.E%>"
3456 06 Jun 07 nicklas 279           />
2222 09 May 06 nicklas 280         </tbl:toolbar>
6605 18 Nov 14 nicklas 281         <tbl:toolbar subclass="bottomborder bg-filled-50">
6314 02 Sep 13 nicklas 282           <%
6314 02 Sep 13 nicklas 283           if (formulaType != Formula.Type.INTENSITY_EXPRESSION)
6314 02 Sep 13 nicklas 284           {
6314 02 Sep 13 nicklas 285             %>
6314 02 Sep 13 nicklas 286             <td class="label">Spot:
6314 02 Sep 13 nicklas 287               <select name="spot" id="spot" style="width: 12em;">
6314 02 Sep 13 nicklas 288               <option value="">- select -
6314 02 Sep 13 nicklas 289               <%
6314 02 Sep 13 nicklas 290               for (TableColumn tc : spotProperties)
2222 09 May 06 nicklas 291               {
6314 02 Sep 13 nicklas 292                 if (tc.getJepExpression() != null)
6314 02 Sep 13 nicklas 293                 {
6314 02 Sep 13 nicklas 294                   %>
6314 02 Sep 13 nicklas 295                   <option data-prefix="<%=tc.getJepExpression()%>" 
6314 02 Sep 13 nicklas 296                     title="<%=HTML.encodeTags(tc.getDescription())%>"><%=HTML.encodeTags(tc.getTitle())%>
6314 02 Sep 13 nicklas 297                   <%
6314 02 Sep 13 nicklas 298                 }
2222 09 May 06 nicklas 299               }
6314 02 Sep 13 nicklas 300               %>
6314 02 Sep 13 nicklas 301               </select>    
6314 02 Sep 13 nicklas 302             </td>
6314 02 Sep 13 nicklas 303             <%
6314 02 Sep 13 nicklas 304           }
6314 02 Sep 13 nicklas 305           %>
2222 09 May 06 nicklas 306           <%
2993 01 Dec 06 nicklas 307           if (rawDataType != null && rawDataType.isStoredInDb() && rawProperties.size() > 0)
2222 09 May 06 nicklas 308           {
2222 09 May 06 nicklas 309             %>
2222 09 May 06 nicklas 310             <td class="label">Raw data:
6314 02 Sep 13 nicklas 311               <select name="rawdata" id="rawdata" style="width: 12em;">
2222 09 May 06 nicklas 312               <option value="">- select -
2222 09 May 06 nicklas 313               <%
2222 09 May 06 nicklas 314               for (TableColumn tc : rawProperties)
2222 09 May 06 nicklas 315               {
2222 09 May 06 nicklas 316                 %>
6314 02 Sep 13 nicklas 317                 <option data-prefix="<%=tc.getJepExpression()%>" 
2222 09 May 06 nicklas 318                   title="<%=HTML.encodeTags(tc.getDescription())%>"><%=HTML.encodeTags(tc.getTitle())%>
2222 09 May 06 nicklas 319                 <%
2222 09 May 06 nicklas 320               }
2222 09 May 06 nicklas 321               %>
2222 09 May 06 nicklas 322               </select>
2222 09 May 06 nicklas 323             </td>
2222 09 May 06 nicklas 324             <%
2222 09 May 06 nicklas 325           }
2222 09 May 06 nicklas 326           %>
2222 09 May 06 nicklas 327           
2222 09 May 06 nicklas 328           <td class="label">Reporter:
6314 02 Sep 13 nicklas 329             <select name="reporter" id="reporter" style="width: 12em;">
2222 09 May 06 nicklas 330             <option value="">- select -
2222 09 May 06 nicklas 331               <%
2222 09 May 06 nicklas 332               for (TableColumn tc : reporterProperties)
2222 09 May 06 nicklas 333               {
2222 09 May 06 nicklas 334                 %>
6314 02 Sep 13 nicklas 335                 <option data-prefix="<%=tc.getJepExpression()%>" 
2222 09 May 06 nicklas 336                   title="<%=HTML.encodeTags(tc.getDescription())%>"><%=HTML.encodeTags(tc.getTitle())%>
2222 09 May 06 nicklas 337                 <%
2222 09 May 06 nicklas 338               }
2222 09 May 06 nicklas 339               %>
2222 09 May 06 nicklas 340             </select>
2222 09 May 06 nicklas 341         </tbl:toolbar>
6124 13 Sep 12 nicklas 342         <tbl:toolbar subclass="bottomborder"
2666 26 Sep 06 nicklas 343           visible="<%=reporterLists.size() > 0%>">
2399 20 Jun 06 nicklas 344           <td class="label">
2399 20 Jun 06 nicklas 345             Reporter lists: 
2399 20 Jun 06 nicklas 346             
2666 26 Sep 06 nicklas 347             <select name="listFunction"  >
2399 20 Jun 06 nicklas 348             <option value="score">score
2669 27 Sep 06 nicklas 349             <%
2669 27 Sep 06 nicklas 350             if (restrictions)
2669 27 Sep 06 nicklas 351             {
2669 27 Sep 06 nicklas 352               %>
2669 27 Sep 06 nicklas 353               <option value="inList">in
2669 27 Sep 06 nicklas 354               <option value="notInList">not in
2669 27 Sep 06 nicklas 355               <%
2669 27 Sep 06 nicklas 356             }
2669 27 Sep 06 nicklas 357             %>
2399 20 Jun 06 nicklas 358             </select>
2399 20 Jun 06 nicklas 359             
6314 02 Sep 13 nicklas 360             <select name="reporterList" id="reporterList">
2399 20 Jun 06 nicklas 361             <option value="">- select -
2399 20 Jun 06 nicklas 362               <%
2399 20 Jun 06 nicklas 363               for (ReporterList list : reporterLists)
2399 20 Jun 06 nicklas 364               {
2399 20 Jun 06 nicklas 365                 %>
2399 20 Jun 06 nicklas 366                 <option value="<%=list.getId()%>" 
2399 20 Jun 06 nicklas 367                   title="<%=HTML.encodeTags(list.getDescription())%>"><%=HTML.encodeTags(list.getName())%>
2399 20 Jun 06 nicklas 368                 <%
2399 20 Jun 06 nicklas 369               }
2399 20 Jun 06 nicklas 370               %>
2399 20 Jun 06 nicklas 371             </select>
2399 20 Jun 06 nicklas 372           </td>
2399 20 Jun 06 nicklas 373         </tbl:toolbar>
5916 19 Dec 11 nicklas 374         </td>
6124 13 Sep 12 nicklas 375       </tr>
6607 19 Nov 14 nicklas 376       <tr style="height: 100%;">
6607 19 Nov 14 nicklas 377         <td>
6610 20 Nov 14 nicklas 378         <textarea class="autoheight" name="expression" rows="16"></textarea>
6124 13 Sep 12 nicklas 379         </td>
6124 13 Sep 12 nicklas 380       </tr>
6124 13 Sep 12 nicklas 381       </table>
2292 19 May 06 nicklas 382
5916 19 Dec 11 nicklas 383       </div>
2222 09 May 06 nicklas 384     </form>
5916 19 Dec 11 nicklas 385
5916 19 Dec 11 nicklas 386     <base:buttongroup subclass="dialogbuttons">
5916 19 Dec 11 nicklas 387       <base:button 
6314 02 Sep 13 nicklas 388         id="btnValidate"
6314 02 Sep 13 nicklas 389         title="Validate&hellip;" 
5946 03 Feb 12 nicklas 390         image="validate_formula.png"
5916 19 Dec 11 nicklas 391         tooltip="Validate the expression. EXPERIMENTAL!!" />
6314 02 Sep 13 nicklas 392       <base:button id="btnSave" title="Ok" />
6314 02 Sep 13 nicklas 393       <base:button id="close" title="Cancel" />
5916 19 Dec 11 nicklas 394     </base:buttongroup>
2222 09 May 06 nicklas 395   </base:body>
2222 09 May 06 nicklas 396   </base:page>
2222 09 May 06 nicklas 397   <%
2222 09 May 06 nicklas 398   }
2222 09 May 06 nicklas 399 finally
2222 09 May 06 nicklas 400 {
2222 09 May 06 nicklas 401   if (dc != null) dc.close();
2222 09 May 06 nicklas 402 }
2222 09 May 06 nicklas 403 %>