www/views/reporterlists/reporters/list_reporters.jsp

Code
Comments
Other
Rev Date Author Line
2150 05 Apr 06 nicklas 1 <%-- $Id$
2150 05 Apr 06 nicklas 2   ------------------------------------------------------------------
3675 16 Aug 07 jari 3   Copyright (C) 2006 Johan Enell, Nicklas Nordborg, Martin Svensson
3675 16 Aug 07 jari 4   Copyright (C) 2007 Johan Enell, Nicklas Nordborg
2150 05 Apr 06 nicklas 5   
2150 05 Apr 06 nicklas 6   This file is part of BASE - BioArray Software Environment.
2150 05 Apr 06 nicklas 7   Available at http://base.thep.lu.se/
2150 05 Apr 06 nicklas 8   
2150 05 Apr 06 nicklas 9   BASE is free software; you can redistribute it and/or modify it
2150 05 Apr 06 nicklas 10   under the terms of the GNU General Public License as published by
4476 05 Sep 08 jari 11   the Free Software Foundation; either version 3 of the License, or
2150 05 Apr 06 nicklas 12   (at your option) any later version.
2150 05 Apr 06 nicklas 13   
2150 05 Apr 06 nicklas 14   BASE is distributed in the hope that it will be useful, but
2150 05 Apr 06 nicklas 15   WITHOUT ANY WARRANTY; without even the implied warranty of
2150 05 Apr 06 nicklas 16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
2150 05 Apr 06 nicklas 17   General Public License for more details.
2150 05 Apr 06 nicklas 18   
2150 05 Apr 06 nicklas 19   You should have received a copy of the GNU General Public License
4511 11 Sep 08 jari 20   along with BASE. If not, see <http://www.gnu.org/licenses/>.
2150 05 Apr 06 nicklas 21   ------------------------------------------------------------------
2150 05 Apr 06 nicklas 22
2150 05 Apr 06 nicklas 23   @author Nicklas
2150 05 Apr 06 nicklas 24   @version 2.0
2150 05 Apr 06 nicklas 25 --%>
5426 24 Sep 10 nicklas 26 <%@ page pageEncoding="UTF-8" session="false"
2150 05 Apr 06 nicklas 27   import="net.sf.basedb.core.SessionControl"
2150 05 Apr 06 nicklas 28   import="net.sf.basedb.core.DbControl"
2150 05 Apr 06 nicklas 29   import="net.sf.basedb.core.SystemItems"
2150 05 Apr 06 nicklas 30   import="net.sf.basedb.core.Item"
2150 05 Apr 06 nicklas 31   import="net.sf.basedb.core.ItemContext"
2428 27 Jun 06 nicklas 32   import="net.sf.basedb.core.ItemQuery"
2428 27 Jun 06 nicklas 33   import="net.sf.basedb.core.ItemResultList"
2150 05 Apr 06 nicklas 34   import="net.sf.basedb.core.ReporterList"
2428 27 Jun 06 nicklas 35   import="net.sf.basedb.core.ReporterType"
2150 05 Apr 06 nicklas 36   import="net.sf.basedb.core.ReporterScore"
2150 05 Apr 06 nicklas 37   import="net.sf.basedb.core.PluginDefinition"
2150 05 Apr 06 nicklas 38   import="net.sf.basedb.core.data.ReporterData"
2150 05 Apr 06 nicklas 39   import="net.sf.basedb.core.ReporterScoreQuery"
2150 05 Apr 06 nicklas 40   import="net.sf.basedb.core.ReporterScoreResultIterator"
2150 05 Apr 06 nicklas 41   import="net.sf.basedb.core.ExtendedProperty"
2150 05 Apr 06 nicklas 42   import="net.sf.basedb.core.ExtendedProperties"
2150 05 Apr 06 nicklas 43   import="net.sf.basedb.core.Permission"
2150 05 Apr 06 nicklas 44   import="net.sf.basedb.core.query.Orders"
2150 05 Apr 06 nicklas 45   import="net.sf.basedb.core.query.Hql"
2150 05 Apr 06 nicklas 46   import="net.sf.basedb.core.plugin.GuiContext"
2150 05 Apr 06 nicklas 47   import="net.sf.basedb.core.plugin.Plugin"
2150 05 Apr 06 nicklas 48   import="net.sf.basedb.util.Enumeration"
2150 05 Apr 06 nicklas 49   import="net.sf.basedb.clients.web.Base"
2150 05 Apr 06 nicklas 50   import="net.sf.basedb.clients.web.ModeInfo"
2150 05 Apr 06 nicklas 51   import="net.sf.basedb.clients.web.util.HTML"
2753 20 Oct 06 nicklas 52   import="net.sf.basedb.util.Values"
2942 22 Nov 06 nicklas 53   import="net.sf.basedb.util.formatter.Formatter"
2942 22 Nov 06 nicklas 54   import="net.sf.basedb.clients.web.formatter.FormatterFactory"
4879 03 Apr 09 nicklas 55   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
4879 03 Apr 09 nicklas 56   import="net.sf.basedb.clients.web.extensions.JspContext"
4879 03 Apr 09 nicklas 57   import="net.sf.basedb.clients.web.extensions.renderer.PrefixSuffixRenderer"
7604 25 Feb 19 nicklas 58   import="net.sf.basedb.clients.web.extensions.toolbar.ButtonAction" 
4879 03 Apr 09 nicklas 59   import="net.sf.basedb.clients.web.extensions.toolbar.ToolbarUtil"
7604 25 Feb 19 nicklas 60   import="net.sf.basedb.clients.web.extensions.list.ListColumnAction"
6040 30 Mar 12 nicklas 61   import="net.sf.basedb.clients.web.extensions.list.ListColumnUtil"
4879 03 Apr 09 nicklas 62   import="net.sf.basedb.util.extensions.ExtensionsInvoker"
2150 05 Apr 06 nicklas 63   import="java.util.Date"
2150 05 Apr 06 nicklas 64   import="java.util.Map"
2747 19 Oct 06 enell 65   import="java.util.List"
2150 05 Apr 06 nicklas 66 %>
2150 05 Apr 06 nicklas 67 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
2150 05 Apr 06 nicklas 68 <%@ taglib prefix="tbl" uri="/WEB-INF/table.tld" %>
2150 05 Apr 06 nicklas 69 <%@ taglib prefix="t" uri="/WEB-INF/tab.tld" %>
2150 05 Apr 06 nicklas 70 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
4879 03 Apr 09 nicklas 71 <%@ taglib prefix="ext" uri="/WEB-INF/extensions.tld" %>
2150 05 Apr 06 nicklas 72 <%!
2150 05 Apr 06 nicklas 73   private static final Item itemType = Item.REPORTERSCORE;
2150 05 Apr 06 nicklas 74   private static final GuiContext guiContext = new GuiContext(itemType, GuiContext.Type.LIST);
2150 05 Apr 06 nicklas 75 %>
2150 05 Apr 06 nicklas 76 <%
2150 05 Apr 06 nicklas 77 final int reporterListId = Values.getInt(request.getParameter("reporterlist_id"));
2150 05 Apr 06 nicklas 78 final SessionControl sc = Base.getExistingSessionControl(pageContext, Permission.DENIED, itemType);
2150 05 Apr 06 nicklas 79 final String ID = sc.getId();
2150 05 Apr 06 nicklas 80
2150 05 Apr 06 nicklas 81 final ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, null, null);
2150 05 Apr 06 nicklas 82
2150 05 Apr 06 nicklas 83 final ModeInfo mode = ModeInfo.get(request.getParameter("mode"));
2150 05 Apr 06 nicklas 84 final String callback = request.getParameter("callback");
2150 05 Apr 06 nicklas 85 final String title = mode.generateTitle("reporter", "reporters");
7954 12 May 21 nicklas 86 final DbControl dc = sc.newDbControl(":List "+itemType);
2150 05 Apr 06 nicklas 87 ReporterScoreResultIterator reporters = null;
2428 27 Jun 06 nicklas 88 ItemResultList<ReporterType> reporterTypes = null;
2150 05 Apr 06 nicklas 89 try
2150 05 Apr 06 nicklas 90 {
2150 05 Apr 06 nicklas 91   final ReporterList reporterList = ReporterList.getById(dc, reporterListId);
2150 05 Apr 06 nicklas 92   final boolean createPermission = reporterList.hasPermission(Permission.WRITE);
2150 05 Apr 06 nicklas 93   final boolean writePermission = createPermission;
2150 05 Apr 06 nicklas 94   final boolean deletePermission = createPermission;
2150 05 Apr 06 nicklas 95
2150 05 Apr 06 nicklas 96   final ReporterScoreQuery query = reporterList.getReporterScores();
5319 20 Apr 10 nicklas 97   query.join(Hql.innerJoin(null, "reporter", "rpt", true));
2428 27 Jun 06 nicklas 98   final ItemQuery<ReporterType> typeQuery = ReporterType.getQuery();
2428 27 Jun 06 nicklas 99   typeQuery.order(Orders.asc(Hql.property("name")));
2428 27 Jun 06 nicklas 100   typeQuery.setCacheResult(true);
2747 19 Oct 06 enell 101   List<ExtendedProperty> reporterProperties = ExtendedProperties.getProperties("ReporterData");
2150 05 Apr 06 nicklas 102   Map<Plugin.MainType, Integer> pluginCount = PluginDefinition.countPlugins(dc, guiContext);
2150 05 Apr 06 nicklas 103
7914 23 Feb 21 nicklas 104   JspContext jspContext = ExtensionsControl.createContext(dc, pageContext, guiContext, reporterList);
2150 05 Apr 06 nicklas 105   try
2150 05 Apr 06 nicklas 106   {
7914 23 Feb 21 nicklas 107     cc.configureQuery(dc, query, jspContext, true);
2150 05 Apr 06 nicklas 108     reporters = query.iterate(dc);
2150 05 Apr 06 nicklas 109   }
2150 05 Apr 06 nicklas 110   catch (Throwable t)
2150 05 Apr 06 nicklas 111   {
2150 05 Apr 06 nicklas 112     cc.setMessage(t.getMessage());
4302 19 May 08 nicklas 113     t.printStackTrace();
2150 05 Apr 06 nicklas 114   }
2150 05 Apr 06 nicklas 115   int numListed = 0;
4698 10 Dec 08 nicklas 116   Formatter<Date> dateTimeFormatter = FormatterFactory.getDateTimeFormatter(sc);
4698 10 Dec 08 nicklas 117   Formatter<Date> dateFormatter = FormatterFactory.getDateFormatter(sc);
7604 25 Feb 19 nicklas 118   ExtensionsInvoker<ButtonAction> invoker = ToolbarUtil.useExtensions(jspContext);
7604 25 Feb 19 nicklas 119   ExtensionsInvoker<ListColumnAction<ReporterScore,?>> columnsInvoker = ListColumnUtil.useExtensions(jspContext);
2150 05 Apr 06 nicklas 120   %>
6311 23 Aug 13 nicklas 121   <base:page title="<%=title%>" type="<%=mode.getPageType()%>" id="list-page">
6311 23 Aug 13 nicklas 122   <base:head scripts="table.js,tabcontrol-2.js,~reporters.js" styles="table.css,toolbar.css,headertabcontrol.css,path.css">
4879 03 Apr 09 nicklas 123     <ext:scripts context="<%=jspContext%>" />
4879 03 Apr 09 nicklas 124     <ext:stylesheets context="<%=jspContext%>" />
2150 05 Apr 06 nicklas 125   </base:head>
2150 05 Apr 06 nicklas 126   
2150 05 Apr 06 nicklas 127   <base:body>
5952 10 Feb 12 nicklas 128     <p:path><p:pathelement 
5952 10 Feb 12 nicklas 129       title="Reporter lists" href="<%="../index.jsp?ID="+ID%>" 
5952 10 Feb 12 nicklas 130       /><p:pathelement title="<%=HTML.encodeTags(reporterList.getName())%>" 
5952 10 Feb 12 nicklas 131       /></p:path>
2150 05 Apr 06 nicklas 132   
5952 10 Feb 12 nicklas 133     <t:tabcontrol 
5952 10 Feb 12 nicklas 134       id="main" 
5952 10 Feb 12 nicklas 135       subclass="mastertabcontrol content"
6311 23 Aug 13 nicklas 136       active="reporters">
2150 05 Apr 06 nicklas 137     <t:tab id="properties" title="Properties" />
2150 05 Apr 06 nicklas 138     
2150 05 Apr 06 nicklas 139     <t:tab id="reporters" title="Reporters">
2150 05 Apr 06 nicklas 140     <tbl:table 
2150 05 Apr 06 nicklas 141       id="reporters" 
2150 05 Apr 06 nicklas 142       columns="<%=cc.getSetting("columns")%>"
2150 05 Apr 06 nicklas 143       sortby="<%=cc.getSortProperty()%>" 
2150 05 Apr 06 nicklas 144       direction="<%=cc.getSortDirection()%>"
2150 05 Apr 06 nicklas 145       action="index.jsp"
2150 05 Apr 06 nicklas 146       sc="<%=sc%>"
2150 05 Apr 06 nicklas 147       item="<%=itemType%>"
6698 30 Jan 15 nicklas 148       filterrows="<%=cc.getFilterRows()%>"
5952 10 Feb 12 nicklas 149       subclass="fulltable"
7982 14 Jun 21 nicklas 150       stickyheaders="<%=cc.getSetting("columns.sticky", "name")%>"
2150 05 Apr 06 nicklas 151       >
2150 05 Apr 06 nicklas 152       <tbl:hidden 
2150 05 Apr 06 nicklas 153         name="mode" 
2150 05 Apr 06 nicklas 154         value="<%=mode.getName()%>" 
2150 05 Apr 06 nicklas 155       />
2150 05 Apr 06 nicklas 156       <tbl:hidden 
2150 05 Apr 06 nicklas 157         name="callback" 
2150 05 Apr 06 nicklas 158         value="<%=callback%>" 
2150 05 Apr 06 nicklas 159         skip="<%=callback == null%>" 
2150 05 Apr 06 nicklas 160       />
2150 05 Apr 06 nicklas 161       <tbl:hidden 
2150 05 Apr 06 nicklas 162         name="reporterlist_id" 
2150 05 Apr 06 nicklas 163         value="<%=String.valueOf(reporterListId)%>" 
2150 05 Apr 06 nicklas 164       />
2150 05 Apr 06 nicklas 165       <tbl:columndef 
2150 05 Apr 06 nicklas 166         id="externalId"
4387 11 Aug 08 nicklas 167         clazz="uniquecol"
2150 05 Apr 06 nicklas 168         property="reporter.externalId"
2150 05 Apr 06 nicklas 169         datatype="string"
2150 05 Apr 06 nicklas 170         title="External ID"
2150 05 Apr 06 nicklas 171         sortable="true" 
2150 05 Apr 06 nicklas 172         filterable="true"
2150 05 Apr 06 nicklas 173         exportable="true"
2150 05 Apr 06 nicklas 174       />
2150 05 Apr 06 nicklas 175       <tbl:columndef 
2150 05 Apr 06 nicklas 176         id="name"
2150 05 Apr 06 nicklas 177         property="reporter.name"
2150 05 Apr 06 nicklas 178         datatype="string"
2150 05 Apr 06 nicklas 179         title="Name"
2150 05 Apr 06 nicklas 180         sortable="true" 
2150 05 Apr 06 nicklas 181         filterable="true"
2150 05 Apr 06 nicklas 182         exportable="true"
2150 05 Apr 06 nicklas 183         show="always" 
2150 05 Apr 06 nicklas 184       />
2150 05 Apr 06 nicklas 185       <tbl:columndef 
4332 12 Jun 08 martin 186         id="id"
4387 11 Aug 08 nicklas 187         clazz="uniquecol"
5319 20 Apr 10 nicklas 188         property="reporter.id"
4332 12 Jun 08 martin 189         datatype="int"
4332 12 Jun 08 martin 190         title="ID"
4332 12 Jun 08 martin 191         sortable="true"
4332 12 Jun 08 martin 192         filterable="true"
4332 12 Jun 08 martin 193         exportable="true"
4332 12 Jun 08 martin 194       />
4332 12 Jun 08 martin 195       <tbl:columndef 
2150 05 Apr 06 nicklas 196         id="score"
2150 05 Apr 06 nicklas 197         property="score"
2150 05 Apr 06 nicklas 198         datatype="float"
2150 05 Apr 06 nicklas 199         title="Score"
2150 05 Apr 06 nicklas 200         sortable="true" 
2150 05 Apr 06 nicklas 201         filterable="true"
2150 05 Apr 06 nicklas 202         exportable="true"
2150 05 Apr 06 nicklas 203       />
2150 05 Apr 06 nicklas 204       <tbl:columndef 
2150 05 Apr 06 nicklas 205         id="symbol"
2150 05 Apr 06 nicklas 206         property="reporter.symbol"
2150 05 Apr 06 nicklas 207         datatype="string"
2150 05 Apr 06 nicklas 208         title="Gene symbol"
2150 05 Apr 06 nicklas 209         sortable="true" 
2150 05 Apr 06 nicklas 210         filterable="true"
2150 05 Apr 06 nicklas 211         exportable="true"
2150 05 Apr 06 nicklas 212       />
2150 05 Apr 06 nicklas 213       <tbl:columndef 
2150 05 Apr 06 nicklas 214         id="description"
2150 05 Apr 06 nicklas 215         property="reporter.description"
2150 05 Apr 06 nicklas 216         datatype="string"
2150 05 Apr 06 nicklas 217         title="Description" 
2150 05 Apr 06 nicklas 218         sortable="true" 
2150 05 Apr 06 nicklas 219         filterable="true" 
2150 05 Apr 06 nicklas 220         exportable="true"
2150 05 Apr 06 nicklas 221       />
4302 19 May 08 nicklas 222       <tbl:columndef
4302 19 May 08 nicklas 223         id="reporterList"
5425 23 Sep 10 nicklas 224         property="$rpt.£reporterListScores"
4302 19 May 08 nicklas 225         datatype="int"
4302 19 May 08 nicklas 226         title="Reporter list"
4302 19 May 08 nicklas 227         filterable="true"
4302 19 May 08 nicklas 228         enumeration="<%=Base.getReporterListsEnum(dc)%>"
4302 19 May 08 nicklas 229         multiple="false"
4302 19 May 08 nicklas 230       />
2150 05 Apr 06 nicklas 231       <tbl:columndef 
4698 10 Dec 08 nicklas 232         id="entryDate"
5319 20 Apr 10 nicklas 233         property="reporter.entryDate"
4698 10 Dec 08 nicklas 234         datatype="date"
4698 10 Dec 08 nicklas 235         title="Registered"
4698 10 Dec 08 nicklas 236         sortable="true" 
4698 10 Dec 08 nicklas 237         filterable="true"
4698 10 Dec 08 nicklas 238         exportable="true"
4698 10 Dec 08 nicklas 239         formatter="<%=dateFormatter%>"
4698 10 Dec 08 nicklas 240       />
4698 10 Dec 08 nicklas 241       <tbl:columndef 
2150 05 Apr 06 nicklas 242         id="lastUpdate"
2150 05 Apr 06 nicklas 243         property="reporter.lastUpdate"
5424 23 Sep 10 nicklas 244         datatype="timestamp"
2150 05 Apr 06 nicklas 245         title="Last update" 
2150 05 Apr 06 nicklas 246         sortable="true" 
2150 05 Apr 06 nicklas 247         filterable="true" 
2150 05 Apr 06 nicklas 248         exportable="true"
4698 10 Dec 08 nicklas 249         formatter="<%=dateTimeFormatter%>"
2150 05 Apr 06 nicklas 250       />
2150 05 Apr 06 nicklas 251       <%
2747 19 Oct 06 enell 252       if (reporterProperties != null)
2150 05 Apr 06 nicklas 253       {
2747 19 Oct 06 enell 254         for (ExtendedProperty ep : reporterProperties)
2747 19 Oct 06 enell 255         {
2747 19 Oct 06 enell 256           String name = ep.getName();
2747 19 Oct 06 enell 257           %>
2747 19 Oct 06 enell 258           <tbl:columndef
2747 19 Oct 06 enell 259             id="<%=name%>"
2747 19 Oct 06 enell 260             property="<%="reporter."+name%>"
2747 19 Oct 06 enell 261             datatype="<%=ep.getType().getStringValue()%>"
2747 19 Oct 06 enell 262             title="<%=HTML.encodeTags(ep.getTitle())%>"
2747 19 Oct 06 enell 263             sortable="true"
2747 19 Oct 06 enell 264             filterable="true"
2747 19 Oct 06 enell 265             exportable="true"
2942 22 Nov 06 nicklas 266             formatter="<%=FormatterFactory.getExtendedPropertyFormatter(sc, ep)%>"
2747 19 Oct 06 enell 267           />
2747 19 Oct 06 enell 268           <%
2747 19 Oct 06 enell 269         }
2150 05 Apr 06 nicklas 270       }
2428 27 Jun 06 nicklas 271       Enumeration<String, String> types = new Enumeration<String, String>();
2428 27 Jun 06 nicklas 272       reporterTypes = typeQuery.list(dc);
4278 08 May 08 nicklas 273       types.add("", "- none -");
2428 27 Jun 06 nicklas 274       for (ReporterType rt : reporterTypes)
2428 27 Jun 06 nicklas 275       {
2428 27 Jun 06 nicklas 276         types.add(Integer.toString(rt.getId()), HTML.encodeTags(rt.getName()));
2428 27 Jun 06 nicklas 277       }
2150 05 Apr 06 nicklas 278       %>
2428 27 Jun 06 nicklas 279       <tbl:columndef 
2428 27 Jun 06 nicklas 280         id="reporterType"
2428 27 Jun 06 nicklas 281         property="reporter.reporterType"
2428 27 Jun 06 nicklas 282         sortproperty="reporter.reporterType.name"
6037 29 Mar 12 nicklas 283         exportproperty="reporter.reporterType.name:string"
2428 27 Jun 06 nicklas 284         datatype="int"
2428 27 Jun 06 nicklas 285         enumeration="<%=types%>"
2428 27 Jun 06 nicklas 286         title="Type"
2428 27 Jun 06 nicklas 287         sortable="true" 
2428 27 Jun 06 nicklas 288         filterable="true"
2428 27 Jun 06 nicklas 289         exportable="true"
2428 27 Jun 06 nicklas 290       />
6040 30 Mar 12 nicklas 291       <tbl:columndef 
6040 30 Mar 12 nicklas 292         id="xt-columns" 
6040 30 Mar 12 nicklas 293         extensions="<%=columnsInvoker%>" 
6040 30 Mar 12 nicklas 294         jspcontext="<%=jspContext%>" 
6040 30 Mar 12 nicklas 295       />
6604 18 Nov 14 nicklas 296       <div class="panelgroup bg-filled-50 bottomborder">
5952 10 Feb 12 nicklas 297         <tbl:toolbar
5952 10 Feb 12 nicklas 298           subclass="bottomborder"
5952 10 Feb 12 nicklas 299           visible="<%=mode.hasToolbar()%>"
5952 10 Feb 12 nicklas 300           >
5952 10 Feb 12 nicklas 301           <tbl:button 
6311 23 Aug 13 nicklas 302             id="btnAddReporters"
5952 10 Feb 12 nicklas 303             disabled="<%=!writePermission%>" 
5952 10 Feb 12 nicklas 304             image="add.png" 
5952 10 Feb 12 nicklas 305             title="Add&hellip;" 
5952 10 Feb 12 nicklas 306             tooltip="<%=writePermission ? "Add reporters to this list" : "You do not have permission to add reporters" %>" 
5952 10 Feb 12 nicklas 307           />
5952 10 Feb 12 nicklas 308           <tbl:button 
6311 23 Aug 13 nicklas 309             id="btnRemoveReporters"
5952 10 Feb 12 nicklas 310             disabled="<%=!deletePermission%>" 
5952 10 Feb 12 nicklas 311             image="delete.png" 
5952 10 Feb 12 nicklas 312             title="Remove&hellip;" 
5952 10 Feb 12 nicklas 313             tooltip="<%=deletePermission ? "Remove the selected items from this list" : "You do not have permission to remove reporters" %>" 
5952 10 Feb 12 nicklas 314           />
5952 10 Feb 12 nicklas 315           <tbl:button 
6311 23 Aug 13 nicklas 316             id="btnColumns"
5952 10 Feb 12 nicklas 317             image="columns.png" 
5952 10 Feb 12 nicklas 318             title="Columns&hellip;" 
5952 10 Feb 12 nicklas 319             tooltip="Show, hide and re-order columns" 
5952 10 Feb 12 nicklas 320           />
5952 10 Feb 12 nicklas 321           <tbl:button 
6311 23 Aug 13 nicklas 322             id="btnImport"
6311 23 Aug 13 nicklas 323             data-plugin-type="IMPORT"
5952 10 Feb 12 nicklas 324             image="import.png" 
5952 10 Feb 12 nicklas 325             title="Import&hellip;" 
5952 10 Feb 12 nicklas 326             tooltip="Import data" 
5952 10 Feb 12 nicklas 327             visible="<%=pluginCount.containsKey(Plugin.MainType.IMPORT)%>"
5952 10 Feb 12 nicklas 328           />
5952 10 Feb 12 nicklas 329           <tbl:button 
6311 23 Aug 13 nicklas 330             id="btnExport"
6311 23 Aug 13 nicklas 331             data-plugin-type="EXPORT"
5952 10 Feb 12 nicklas 332             image="export.png" 
5952 10 Feb 12 nicklas 333             title="Export&hellip;" 
5952 10 Feb 12 nicklas 334             tooltip="Export data" 
5952 10 Feb 12 nicklas 335             visible="<%=pluginCount.containsKey(Plugin.MainType.EXPORT)%>"
5952 10 Feb 12 nicklas 336           />
5952 10 Feb 12 nicklas 337           <tbl:button 
6311 23 Aug 13 nicklas 338             id="btnRunPlugin"
6311 23 Aug 13 nicklas 339             data-plugin-type="OTHER"
5952 10 Feb 12 nicklas 340             image="runplugin.png" 
5952 10 Feb 12 nicklas 341             title="Run plugin&hellip;" 
5952 10 Feb 12 nicklas 342             tooltip="Run a plugin" 
5952 10 Feb 12 nicklas 343             visible="<%=pluginCount.containsKey(Plugin.MainType.OTHER)%>"
5952 10 Feb 12 nicklas 344           />
5952 10 Feb 12 nicklas 345           <ext:render extensions="<%=invoker%>" context="<%=jspContext%>" 
7604 25 Feb 19 nicklas 346             wrapper="<%=new PrefixSuffixRenderer<ButtonAction>(jspContext, "<td>", "</td>") %>"/>
5952 10 Feb 12 nicklas 347         </tbl:toolbar>
5952 10 Feb 12 nicklas 348         <tbl:panel>
6182 23 Oct 12 nicklas 349           <tbl:presetselector />
5952 10 Feb 12 nicklas 350           <tbl:navigator
5952 10 Feb 12 nicklas 351             page="<%=cc.getPage()%>" 
5952 10 Feb 12 nicklas 352             rowsperpage="<%=cc.getRowsPerPage()%>" 
5952 10 Feb 12 nicklas 353             totalrows="<%=reporters == null ? 0 : reporters.getTotalCount()%>" 
5952 10 Feb 12 nicklas 354             visible="<%=mode.hasNavigator()%>"
5952 10 Feb 12 nicklas 355           />
5952 10 Feb 12 nicklas 356         </tbl:panel>
5952 10 Feb 12 nicklas 357       </div>
2150 05 Apr 06 nicklas 358       <tbl:data>
5948 08 Feb 12 nicklas 359         <tbl:headers>
5948 08 Feb 12 nicklas 360           <tbl:headerrow>
7943 04 May 21 nicklas 361             <tbl:header clazz="row-index bg-filled-100" />
5948 08 Feb 12 nicklas 362             <tbl:columnheaders />
5948 08 Feb 12 nicklas 363           </tbl:headerrow>
6698 30 Jan 15 nicklas 364           <%
6698 30 Jan 15 nicklas 365           int numFilters = cc.getNumPropertyFilters();
6698 30 Jan 15 nicklas 366           int numRows = cc.getFilterRows();
6698 30 Jan 15 nicklas 367           for (int filterNo = 0; filterNo < numRows; filterNo++)
6698 30 Jan 15 nicklas 368           {
6698 30 Jan 15 nicklas 369             boolean lastRow = filterNo == numRows-1;
6698 30 Jan 15 nicklas 370             %>
6698 30 Jan 15 nicklas 371             <tbl:headerrow>
7943 04 May 21 nicklas 372               <tbl:header subclass="row-index bg-filled-100">
7943 04 May 21 nicklas 373                 <div class="index-<%=mode.getName()%>">
7943 04 May 21 nicklas 374                   <div class="index"></div>
7943 04 May 21 nicklas 375                   <div class="check">
7943 04 May 21 nicklas 376                     <base:icon 
7943 04 May 21 nicklas 377                       subclass="link table-check"
7943 04 May 21 nicklas 378                       image="check_uncheck.png" 
7943 04 May 21 nicklas 379                       tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)" 
7943 04 May 21 nicklas 380                       visible="<%=lastRow && mode.hasCheck()%>"
7943 04 May 21 nicklas 381                     />
7943 04 May 21 nicklas 382                   </div>
7943 04 May 21 nicklas 383                   <div class="icons">
7943 04 May 21 nicklas 384                     <base:icon
7943 04 May 21 nicklas 385                       subclass="link table-filter-row-action"
7943 04 May 21 nicklas 386                       image="add.png"
7943 04 May 21 nicklas 387                       tooltip="Add extra filter row"
7943 04 May 21 nicklas 388                       visible="<%=lastRow%>"
7943 04 May 21 nicklas 389                     /><base:icon
7943 04 May 21 nicklas 390                       subclass="link table-filter-row-action"
7943 04 May 21 nicklas 391                       image="remove.png"
7943 04 May 21 nicklas 392                       tooltip="Remove this filter row"
7943 04 May 21 nicklas 393                       visible="<%=numRows > 1 || numFilters > 0 %>"
7943 04 May 21 nicklas 394                       data-remove-row="<%=filterNo%>"
7943 04 May 21 nicklas 395                     />
7943 04 May 21 nicklas 396                   </div>
7943 04 May 21 nicklas 397                 </div>
6698 30 Jan 15 nicklas 398               </tbl:header>
6698 30 Jan 15 nicklas 399               <tbl:propertyfilter row="<%=filterNo%>" />
6698 30 Jan 15 nicklas 400             </tbl:headerrow>
6698 30 Jan 15 nicklas 401             <%
6698 30 Jan 15 nicklas 402           }
6698 30 Jan 15 nicklas 403           %>
7913 22 Feb 21 nicklas 404           <tbl:columnsubtitles />
5948 08 Feb 12 nicklas 405         </tbl:headers>
5948 08 Feb 12 nicklas 406         <tbl:rows>
2150 05 Apr 06 nicklas 407           <%
5952 10 Feb 12 nicklas 408           if (cc.getMessage() != null)
5952 10 Feb 12 nicklas 409           {
5952 10 Feb 12 nicklas 410             %>
6604 18 Nov 14 nicklas 411             <tbl:panel subclass="bg-filled-50">
5952 10 Feb 12 nicklas 412               <div class="messagecontainer error"><%=cc.getMessage()%></div>
5952 10 Feb 12 nicklas 413             </tbl:panel>
5952 10 Feb 12 nicklas 414             <%
5952 10 Feb 12 nicklas 415             cc.setMessage(null);
5952 10 Feb 12 nicklas 416           }
2150 05 Apr 06 nicklas 417           int index = cc.getPage()*cc.getRowsPerPage();
2150 05 Apr 06 nicklas 418           int selectedItemId = cc.getId();
2150 05 Apr 06 nicklas 419           if (reporters != null)
2507 09 Aug 06 martin 420           {            
2150 05 Apr 06 nicklas 421             while (reporters.hasNext())
2150 05 Apr 06 nicklas 422             {
2150 05 Apr 06 nicklas 423               ReporterScore score = reporters.next();
2150 05 Apr 06 nicklas 424               ReporterData item = score.getReporter();
2150 05 Apr 06 nicklas 425               int itemId = item.getId();
2150 05 Apr 06 nicklas 426               String name = HTML.encodeTags(item.getName());
2507 09 Aug 06 martin 427               String tooltip = mode.isSelectionMode() ?
2507 09 Aug 06 martin 428                   "Select this item" : "View this item" + (writePermission ? " (use CTRL, ALT or SHIFT to edit)" : "");
2150 05 Apr 06 nicklas 429               index++;
2150 05 Apr 06 nicklas 430               numListed++;
2150 05 Apr 06 nicklas 431               %>
2150 05 Apr 06 nicklas 432               <tbl:row>
7943 04 May 21 nicklas 433                 <tbl:header clazz="row-index bg-filled-100">
7943 04 May 21 nicklas 434                   <div class="index-<%=mode.getName()%>">
7943 04 May 21 nicklas 435                     <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
7943 04 May 21 nicklas 436                     <div class="check">
7943 04 May 21 nicklas 437                       <base:input
7943 04 May 21 nicklas 438                         type="checkbox" 
7943 04 May 21 nicklas 439                         name="<%=itemId%>" 
7943 04 May 21 nicklas 440                         value="<%=itemId%>" 
7943 04 May 21 nicklas 441                         title="<%=name%>" 
7943 04 May 21 nicklas 442                         checked="<%=cc.getSelected().contains(itemId)%>"
7943 04 May 21 nicklas 443                         visible="<%=mode.hasCheck()%>"
7943 04 May 21 nicklas 444                       />
7943 04 May 21 nicklas 445                       <base:input 
7943 04 May 21 nicklas 446                         type="radio" 
7943 04 May 21 nicklas 447                         name="item_id" 
7943 04 May 21 nicklas 448                         value="<%=itemId%>" 
7943 04 May 21 nicklas 449                         title="<%=name%>" 
7943 04 May 21 nicklas 450                         checked="<%=selectedItemId == itemId%>"
7943 04 May 21 nicklas 451                         visible="<%=mode.hasRadio()%>"
7943 04 May 21 nicklas 452                       />
7943 04 May 21 nicklas 453                     </div>
7943 04 May 21 nicklas 454                     <div class="icons"></div>
7943 04 May 21 nicklas 455                   </div>
7943 04 May 21 nicklas 456                 </tbl:header>
6311 23 Aug 13 nicklas 457                 <tbl:cell column="name"><div
6311 23 Aug 13 nicklas 458                   class="link table-item"
6311 23 Aug 13 nicklas 459                   data-item-id="<%=itemId%>"
6311 23 Aug 13 nicklas 460                   data-no-edit="<%=writePermission ? 0 : 1 %>" 
6311 23 Aug 13 nicklas 461                   tabindex="0"
2433 27 Jun 06 nicklas 462                   title="<%=tooltip%>"><%=name%></div></tbl:cell>
4332 12 Jun 08 martin 463                 <tbl:cell column="id"><%=item.getId()%></tbl:cell>
2150 05 Apr 06 nicklas 464                 <tbl:cell column="externalId"><%=HTML.encodeTags(item.getExternalId())%></tbl:cell>
2150 05 Apr 06 nicklas 465                 <tbl:cell column="score"><%=Values.formatNumber(score.getScore(), 2)%></tbl:cell>
2150 05 Apr 06 nicklas 466                 <tbl:cell column="symbol"><%=HTML.encodeTags(item.getSymbol())%></tbl:cell>
2150 05 Apr 06 nicklas 467                 <tbl:cell column="description"><%=HTML.encodeTags(item.getDescription())%></tbl:cell>
4698 10 Dec 08 nicklas 468                 <tbl:cell column="entryDate" value="<%=item.getEntryDate()%>" />
2942 22 Nov 06 nicklas 469                 <tbl:cell column="lastUpdate" value="<%=item.getLastUpdate()%>" />
2150 05 Apr 06 nicklas 470                 <tbl:cell column="reporterType"><base:propertyvalue dbcontrol="<%=dc%>" item="<%=item%>" property="reporterType.name" /></tbl:cell>
2150 05 Apr 06 nicklas 471                 <%
2747 19 Oct 06 enell 472                 if (reporterProperties != null)
2150 05 Apr 06 nicklas 473                 {
2747 19 Oct 06 enell 474                   for (ExtendedProperty ep : reporterProperties)
2313 23 May 06 nicklas 475                   {
2747 19 Oct 06 enell 476                     name = ep.getName();
2747 19 Oct 06 enell 477                     %>
2942 22 Nov 06 nicklas 478                     <tbl:cell column="<%=name%>"><tbl:cellvalue value="<%=item.getExtended(name)%>" /></tbl:cell>
2747 19 Oct 06 enell 479                     <%
2313 23 May 06 nicklas 480                   }
2150 05 Apr 06 nicklas 481                 }
2150 05 Apr 06 nicklas 482                 %>
6040 30 Mar 12 nicklas 483                 <tbl:xt-cells dc="<%=dc%>" item="<%=item%>">
6040 30 Mar 12 nicklas 484                   <tbl:cell column="xt-columns" />
6040 30 Mar 12 nicklas 485                 </tbl:xt-cells>
2150 05 Apr 06 nicklas 486               </tbl:row>
2150 05 Apr 06 nicklas 487               <%
2150 05 Apr 06 nicklas 488             }
2150 05 Apr 06 nicklas 489           }
5952 10 Feb 12 nicklas 490           if (numListed == 0)
5952 10 Feb 12 nicklas 491           {
5952 10 Feb 12 nicklas 492             %>
6604 18 Nov 14 nicklas 493             <tbl:panel subclass="bg-filled-50">
5952 10 Feb 12 nicklas 494               <div class="messagecontainer note">
5952 10 Feb 12 nicklas 495               <%=reporters == null || reporters.getTotalCount() == 0 ? "No reporters were found" : "No reporters on this page. Please select another page!" %>
5952 10 Feb 12 nicklas 496               </div>
5952 10 Feb 12 nicklas 497             </tbl:panel>
5952 10 Feb 12 nicklas 498             <%
5952 10 Feb 12 nicklas 499           }
2150 05 Apr 06 nicklas 500           %>
2150 05 Apr 06 nicklas 501           </tbl:rows>
2150 05 Apr 06 nicklas 502       </tbl:data>
2150 05 Apr 06 nicklas 503     </tbl:table>
5952 10 Feb 12 nicklas 504     </t:tab>
5952 10 Feb 12 nicklas 505     </t:tabcontrol>
5952 10 Feb 12 nicklas 506
5951 09 Feb 12 nicklas 507     <base:buttongroup subclass="dialogbuttons">
6311 23 Aug 13 nicklas 508       <base:button id="btnOk" title="Ok" visible="<%=mode.hasOkButton()%>" />
6311 23 Aug 13 nicklas 509       <base:button id="close" title="Cancel" visible="<%=mode.hasCancelButton()%>" />
6311 23 Aug 13 nicklas 510       <base:button id="close" title="Close" visible="<%=mode.hasCloseButton()%>" />
2150 05 Apr 06 nicklas 511     </base:buttongroup>
2150 05 Apr 06 nicklas 512
2150 05 Apr 06 nicklas 513   </base:body>
2150 05 Apr 06 nicklas 514   </base:page>
2150 05 Apr 06 nicklas 515   <%
2150 05 Apr 06 nicklas 516 }
2150 05 Apr 06 nicklas 517 finally
2150 05 Apr 06 nicklas 518 {
2150 05 Apr 06 nicklas 519   if (reporters != null) reporters.close();
2150 05 Apr 06 nicklas 520   if (dc != null) dc.close();
2150 05 Apr 06 nicklas 521 }
3675 16 Aug 07 jari 522 %>