www/lims/plates/wells/list_wells.jsp

Code
Comments
Other
Rev Date Author Line
1862 30 Jan 06 nicklas 1 <%-- $Id$
1862 30 Jan 06 nicklas 2   ------------------------------------------------------------------
5425 23 Sep 10 nicklas 3   Copyright (C) 2006 Johan Enell, Jari Häkkinen, Nicklas Nordborg, Martin Svensson
3675 16 Aug 07 jari 4   Copyright (C) 2007 Johan Enell, Nicklas Nordborg
1862 30 Jan 06 nicklas 5
2304 22 May 06 jari 6   This file is part of BASE - BioArray Software Environment.
2304 22 May 06 jari 7   Available at http://base.thep.lu.se/
1862 30 Jan 06 nicklas 8
1862 30 Jan 06 nicklas 9   BASE is free software; you can redistribute it and/or
1862 30 Jan 06 nicklas 10   modify it under the terms of the GNU General Public License
4476 05 Sep 08 jari 11   as published by the Free Software Foundation; either version 3
1862 30 Jan 06 nicklas 12   of the License, or (at your option) any later version.
1862 30 Jan 06 nicklas 13
1862 30 Jan 06 nicklas 14   BASE is distributed in the hope that it will be useful,
1862 30 Jan 06 nicklas 15   but WITHOUT ANY WARRANTY; without even the implied warranty of
1862 30 Jan 06 nicklas 16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1862 30 Jan 06 nicklas 17   GNU General Public License for more details.
1862 30 Jan 06 nicklas 18
1862 30 Jan 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/>.
1862 30 Jan 06 nicklas 21   ------------------------------------------------------------------
1862 30 Jan 06 nicklas 22
1862 30 Jan 06 nicklas 23   @author Nicklas
1862 30 Jan 06 nicklas 24   @version 2.0
1862 30 Jan 06 nicklas 25 --%>
5426 24 Sep 10 nicklas 26 <%@ page pageEncoding="UTF-8" session="false"
1862 30 Jan 06 nicklas 27   import="net.sf.basedb.core.SessionControl"
1862 30 Jan 06 nicklas 28   import="net.sf.basedb.core.DbControl"
1862 30 Jan 06 nicklas 29   import="net.sf.basedb.core.Item"
1862 30 Jan 06 nicklas 30   import="net.sf.basedb.core.ItemContext"
1862 30 Jan 06 nicklas 31   import="net.sf.basedb.core.AnnotationType"
1862 30 Jan 06 nicklas 32   import="net.sf.basedb.core.AnnotationSet"
4560 06 Oct 08 nicklas 33   import="net.sf.basedb.core.Annotation"
1862 30 Jan 06 nicklas 34   import="net.sf.basedb.core.Plate"
1862 30 Jan 06 nicklas 35   import="net.sf.basedb.core.Well"
1940 08 Feb 06 nicklas 36   import="net.sf.basedb.core.ReporterType"
1940 08 Feb 06 nicklas 37   import="net.sf.basedb.core.Reporter"
1862 30 Jan 06 nicklas 38   import="net.sf.basedb.core.ItemQuery"
1862 30 Jan 06 nicklas 39   import="net.sf.basedb.core.ItemResultIterator"
1862 30 Jan 06 nicklas 40   import="net.sf.basedb.core.ItemResultList"
1862 30 Jan 06 nicklas 41   import="net.sf.basedb.core.Permission"
1862 30 Jan 06 nicklas 42   import="net.sf.basedb.core.PluginDefinition"
1940 08 Feb 06 nicklas 43   import="net.sf.basedb.core.ExtendedProperty"
1940 08 Feb 06 nicklas 44   import="net.sf.basedb.core.ExtendedProperties"
1862 30 Jan 06 nicklas 45   import="net.sf.basedb.core.PermissionDeniedException"
1862 30 Jan 06 nicklas 46   import="net.sf.basedb.core.query.Restrictions"
1862 30 Jan 06 nicklas 47   import="net.sf.basedb.core.query.Expressions"
1862 30 Jan 06 nicklas 48   import="net.sf.basedb.core.query.Orders"
1862 30 Jan 06 nicklas 49   import="net.sf.basedb.core.query.Hql"
1862 30 Jan 06 nicklas 50   import="net.sf.basedb.core.plugin.GuiContext"
1862 30 Jan 06 nicklas 51   import="net.sf.basedb.core.plugin.Plugin"
6541 29 Sep 14 nicklas 52   import="net.sf.basedb.core.snapshot.AnnotationLoaderUtil"
6541 29 Sep 14 nicklas 53   import="net.sf.basedb.core.snapshot.AnnotationTypeFilter"
6541 29 Sep 14 nicklas 54   import="net.sf.basedb.core.snapshot.AnnotationSnapshot"
6541 29 Sep 14 nicklas 55   import="net.sf.basedb.core.snapshot.AnnotationSetSnapshot"
6541 29 Sep 14 nicklas 56   import="net.sf.basedb.core.snapshot.SnapshotManager"
1940 08 Feb 06 nicklas 57   import="net.sf.basedb.core.data.ReporterData"
1862 30 Jan 06 nicklas 58   import="net.sf.basedb.util.Enumeration"
1862 30 Jan 06 nicklas 59   import="net.sf.basedb.clients.web.Base"
1862 30 Jan 06 nicklas 60   import="net.sf.basedb.clients.web.ModeInfo"
5062 19 Aug 09 nicklas 61   import="net.sf.basedb.clients.web.ChangeHistoryUtil"
2401 21 Jun 06 martin 62   import="net.sf.basedb.clients.web.PermissionUtil"
1862 30 Jan 06 nicklas 63   import="net.sf.basedb.clients.web.util.HTML"
2753 20 Oct 06 nicklas 64   import="net.sf.basedb.util.Values"
2942 22 Nov 06 nicklas 65   import="net.sf.basedb.util.formatter.Formatter"
4860 27 Mar 09 martin 66   import="net.sf.basedb.util.formatter.WellCoordinateFormatter"
2942 22 Nov 06 nicklas 67   import="net.sf.basedb.clients.web.formatter.FormatterFactory"
4884 03 Apr 09 nicklas 68   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
4884 03 Apr 09 nicklas 69   import="net.sf.basedb.clients.web.extensions.JspContext"
4884 03 Apr 09 nicklas 70   import="net.sf.basedb.clients.web.extensions.renderer.PrefixSuffixRenderer"
7604 25 Feb 19 nicklas 71   import="net.sf.basedb.clients.web.extensions.toolbar.ButtonAction" 
4884 03 Apr 09 nicklas 72   import="net.sf.basedb.clients.web.extensions.toolbar.ToolbarUtil"
7604 25 Feb 19 nicklas 73   import="net.sf.basedb.clients.web.extensions.list.ListColumnAction"
6039 29 Mar 12 nicklas 74   import="net.sf.basedb.clients.web.extensions.list.ListColumnUtil"
7337 12 Apr 17 nicklas 75   import="net.sf.basedb.clients.web.util.ProjectSpecificInfoFilter"
4884 03 Apr 09 nicklas 76   import="net.sf.basedb.util.extensions.ExtensionsInvoker"
4866 31 Mar 09 martin 77   import="java.util.ArrayList"
1862 30 Jan 06 nicklas 78   import="java.util.List"
1862 30 Jan 06 nicklas 79   import="java.util.Map"
1940 08 Feb 06 nicklas 80   import="java.util.Date"
1862 30 Jan 06 nicklas 81 %>
1862 30 Jan 06 nicklas 82 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
1862 30 Jan 06 nicklas 83 <%@ taglib prefix="tbl" uri="/WEB-INF/table.tld" %>
1862 30 Jan 06 nicklas 84 <%@ taglib prefix="t" uri="/WEB-INF/tab.tld" %>
1862 30 Jan 06 nicklas 85 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
4884 03 Apr 09 nicklas 86 <%@ taglib prefix="ext" uri="/WEB-INF/extensions.tld" %>
1862 30 Jan 06 nicklas 87 <%!
1862 30 Jan 06 nicklas 88   private static final Item itemType = Item.WELL;
1862 30 Jan 06 nicklas 89   private static final GuiContext guiContext = new GuiContext(itemType, GuiContext.Type.LIST);
1862 30 Jan 06 nicklas 90 %>
1862 30 Jan 06 nicklas 91 <%
1862 30 Jan 06 nicklas 92 final int plateId = Values.getInt(request.getParameter("plate_id"));
1862 30 Jan 06 nicklas 93 final SessionControl sc = Base.getExistingSessionControl(pageContext, Permission.DENIED, itemType);
1862 30 Jan 06 nicklas 94 final String ID = sc.getId();
1862 30 Jan 06 nicklas 95 final ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, null, null);
1862 30 Jan 06 nicklas 96
1862 30 Jan 06 nicklas 97 final ModeInfo mode = ModeInfo.get(request.getParameter("mode"));
1862 30 Jan 06 nicklas 98 final String callback = request.getParameter("callback");
1862 30 Jan 06 nicklas 99 final String title = mode.generateTitle("well", "wells");
7954 12 May 21 nicklas 100 final DbControl dc = sc.newDbControl(":List "+itemType);
1862 30 Jan 06 nicklas 101 ItemResultIterator<Well> wells = null;
6541 29 Sep 14 nicklas 102 List<AnnotationLoaderUtil> annotationLoaders = new ArrayList<AnnotationLoaderUtil>();
1862 30 Jan 06 nicklas 103 try
1862 30 Jan 06 nicklas 104 {
7014 12 Nov 15 nicklas 105   final boolean readReporter = !sc.hasPermission(Permission.DENIED, Item.REPORTER);
7014 12 Nov 15 nicklas 106
1862 30 Jan 06 nicklas 107   final ItemQuery<AnnotationType> annotationTypeQuery = Base.getAnnotationTypesQuery(itemType);
6541 29 Sep 14 nicklas 108   SnapshotManager manager = new SnapshotManager();
7439 25 Jan 18 nicklas 109   ProjectSpecificInfoFilter psInfo = new ProjectSpecificInfoFilter();
6541 29 Sep 14 nicklas 110   for (AnnotationType at : annotationTypeQuery.list(dc))
6541 29 Sep 14 nicklas 111   {
6541 29 Sep 14 nicklas 112     annotationLoaders.add(new AnnotationLoaderUtil(dc, manager, at));
6541 29 Sep 14 nicklas 113   }
1862 30 Jan 06 nicklas 114   final Plate plate = Plate.getById(dc, plateId);
1862 30 Jan 06 nicklas 115   final boolean createPermission = plate.hasPermission(Permission.WRITE);
1862 30 Jan 06 nicklas 116   final boolean deletePermission = createPermission;
1862 30 Jan 06 nicklas 117
1862 30 Jan 06 nicklas 118   Map<Plugin.MainType, Integer> pluginCount = PluginDefinition.countPlugins(dc, guiContext);
1940 08 Feb 06 nicklas 119   final ItemQuery<ReporterType> typeQuery = ReporterType.getQuery();
1940 08 Feb 06 nicklas 120   typeQuery.order(Orders.asc(Hql.property("name")));
1940 08 Feb 06 nicklas 121   typeQuery.setCacheResult(true);
2747 19 Oct 06 enell 122   List<ExtendedProperty> reporterProperties = ExtendedProperties.getProperties("ReporterData");
4698 10 Dec 08 nicklas 123   Formatter<Date> dateTimeFormatter = FormatterFactory.getDateTimeFormatter(sc);
4698 10 Dec 08 nicklas 124   Formatter<Date> dateFormatter = FormatterFactory.getDateFormatter(sc);
1940 08 Feb 06 nicklas 125   
4866 31 Mar 09 martin 126   Enumeration<String,String> rows = new Enumeration<String, String>();
4866 31 Mar 09 martin 127   WellCoordinateFormatter rowFormatter = new WellCoordinateFormatter(true);
6497 26 Jun 14 nicklas 128   for (int i=0; i<plate.getPlateType().getPlateGeometry().getRows() && i < 256; i++)
4866 31 Mar 09 martin 129   {
4866 31 Mar 09 martin 130     rows.add(Integer.toString(i), rowFormatter.format(i));
4866 31 Mar 09 martin 131   }
4866 31 Mar 09 martin 132   
6497 26 Jun 14 nicklas 133   Enumeration<String,String> columns = new Enumeration<String, String>();
6497 26 Jun 14 nicklas 134   WellCoordinateFormatter columnFormatter = new WellCoordinateFormatter(false);
6497 26 Jun 14 nicklas 135   for (int i=0; i<plate.getPlateType().getPlateGeometry().getColumns() && i < 256; i++)
6497 26 Jun 14 nicklas 136   {
6497 26 Jun 14 nicklas 137     columns.add(Integer.toString(i), columnFormatter.format(i));
6497 26 Jun 14 nicklas 138   }
6497 26 Jun 14 nicklas 139   
7914 23 Feb 21 nicklas 140   JspContext jspContext = ExtensionsControl.createContext(dc, pageContext, guiContext, plate);
2029 20 Feb 06 nicklas 141   try
2029 20 Feb 06 nicklas 142   {
7914 23 Feb 21 nicklas 143     final ItemQuery<Well> query = Base.getConfiguredQuery(dc, cc, jspContext, true, plate.getWells(), mode);
5049 17 Aug 09 martin 144     query.join(Hql.leftJoin(null, "reporter", "rpt", null, true));
2942 22 Nov 06 nicklas 145     if (!"row".equals(cc.getSortProperty())) query.order(Orders.asc(Hql.property("row")));
2942 22 Nov 06 nicklas 146     if (!"column".equals(cc.getSortProperty())) query.order(Orders.asc(Hql.property("column")));
2029 20 Feb 06 nicklas 147     wells = query.iterate(dc);
2029 20 Feb 06 nicklas 148   }
2029 20 Feb 06 nicklas 149   catch (Throwable t)
2029 20 Feb 06 nicklas 150   {
2029 20 Feb 06 nicklas 151     cc.setMessage(t.getMessage());
4560 06 Oct 08 nicklas 152     t.printStackTrace();
2029 20 Feb 06 nicklas 153   }
1862 30 Jan 06 nicklas 154   int numListed = 0;
7604 25 Feb 19 nicklas 155   ExtensionsInvoker<ButtonAction> invoker = ToolbarUtil.useExtensions(jspContext);
7604 25 Feb 19 nicklas 156   ExtensionsInvoker<ListColumnAction<Well,?>> columnsInvoker = ListColumnUtil.useExtensions(jspContext);
1862 30 Jan 06 nicklas 157   %>
6307 15 Aug 13 nicklas 158   <base:page title="<%=title%>" type="<%=mode.getPageType()%>" id="list-page">
6307 15 Aug 13 nicklas 159   <base:head scripts="table.js,tabcontrol-2.js,~wells.js" styles="table.css,toolbar.css,headertabcontrol.css,path.css">
4884 03 Apr 09 nicklas 160     <ext:scripts context="<%=jspContext%>" />
4884 03 Apr 09 nicklas 161     <ext:stylesheets context="<%=jspContext%>" />
1862 30 Jan 06 nicklas 162   </base:head>
1862 30 Jan 06 nicklas 163   
1862 30 Jan 06 nicklas 164   <base:body>
5954 13 Feb 12 nicklas 165     <p:path><p:pathelement 
5954 13 Feb 12 nicklas 166       title="Plates" href="<%="../index.jsp?ID="+ID%>" 
5954 13 Feb 12 nicklas 167       /><p:pathelement title="<%=HTML.encodeTags(plate.getName())%>" 
5954 13 Feb 12 nicklas 168       /></p:path>
1862 30 Jan 06 nicklas 169
5954 13 Feb 12 nicklas 170     <t:tabcontrol 
5954 13 Feb 12 nicklas 171       id="main" 
5954 13 Feb 12 nicklas 172       subclass="content mastertabcontrol"
6307 15 Aug 13 nicklas 173       active="wells">
1862 30 Jan 06 nicklas 174     <t:tab id="properties" title="Properties" />
1862 30 Jan 06 nicklas 175     <t:tab id="annotations" title="Annotations" />
1862 30 Jan 06 nicklas 176     <t:tab id="events" title="Events" />
1862 30 Jan 06 nicklas 177     
1862 30 Jan 06 nicklas 178     <t:tab id="wells" title="Wells">
1862 30 Jan 06 nicklas 179     <tbl:table 
1862 30 Jan 06 nicklas 180       id="wells" 
1862 30 Jan 06 nicklas 181       columns="<%=cc.getSetting("columns")%>"
1862 30 Jan 06 nicklas 182       sortby="<%=cc.getSortProperty()%>" 
1862 30 Jan 06 nicklas 183       direction="<%=cc.getSortDirection()%>"
1862 30 Jan 06 nicklas 184       action="index.jsp"
1862 30 Jan 06 nicklas 185       sc="<%=sc%>"
1862 30 Jan 06 nicklas 186       item="<%=itemType%>"
6702 02 Feb 15 nicklas 187       filterrows="<%=cc.getFilterRows()%>"
5954 13 Feb 12 nicklas 188       subclass="fulltable"
7982 14 Jun 21 nicklas 189       stickyheaders="<%=cc.getSetting("columns.sticky", null)%>"
1862 30 Jan 06 nicklas 190       >
1862 30 Jan 06 nicklas 191       <tbl:hidden 
1862 30 Jan 06 nicklas 192         name="mode" 
1862 30 Jan 06 nicklas 193         value="<%=mode.getName()%>" 
1862 30 Jan 06 nicklas 194       />
1862 30 Jan 06 nicklas 195       <tbl:hidden 
1862 30 Jan 06 nicklas 196         name="plate_id" 
1862 30 Jan 06 nicklas 197         value="<%=String.valueOf(plateId)%>" 
1862 30 Jan 06 nicklas 198       />
1862 30 Jan 06 nicklas 199       <tbl:hidden 
1862 30 Jan 06 nicklas 200         name="callback" 
1862 30 Jan 06 nicklas 201         value="<%=callback%>" 
1862 30 Jan 06 nicklas 202         skip="<%=callback == null%>" 
1862 30 Jan 06 nicklas 203       />
1862 30 Jan 06 nicklas 204       <tbl:columndef 
1862 30 Jan 06 nicklas 205         id="row"
1862 30 Jan 06 nicklas 206         property="row"
1862 30 Jan 06 nicklas 207         datatype="int"
1862 30 Jan 06 nicklas 208         title="Row"
1862 30 Jan 06 nicklas 209         sortable="true" 
1862 30 Jan 06 nicklas 210         filterable="true"
1862 30 Jan 06 nicklas 211         exportable="true"
4866 31 Mar 09 martin 212         enumeration="<%=rows%>"
4860 27 Mar 09 martin 213         show="always"
4860 27 Mar 09 martin 214         formatter="<%=new WellCoordinateFormatter(true)%>"  
1862 30 Jan 06 nicklas 215       />
1862 30 Jan 06 nicklas 216       <tbl:columndef 
1862 30 Jan 06 nicklas 217         id="column"
1862 30 Jan 06 nicklas 218         property="column"
1862 30 Jan 06 nicklas 219         datatype="int"
1862 30 Jan 06 nicklas 220         title="Column"
1862 30 Jan 06 nicklas 221         sortable="true" 
1862 30 Jan 06 nicklas 222         filterable="true"
1862 30 Jan 06 nicklas 223         exportable="true"
6497 26 Jun 14 nicklas 224         enumeration="<%=columns%>"
1862 30 Jan 06 nicklas 225         show="always" 
4860 27 Mar 09 martin 226         formatter="<%=new WellCoordinateFormatter(false)%>" 
1862 30 Jan 06 nicklas 227       />
1862 30 Jan 06 nicklas 228       <tbl:columndef 
4332 12 Jun 08 martin 229         id="id"
4387 11 Aug 08 nicklas 230         clazz="uniquecol"
4332 12 Jun 08 martin 231         property="id"
4332 12 Jun 08 martin 232         datatype="int"
4332 12 Jun 08 martin 233         title="ID"
4332 12 Jun 08 martin 234         sortable="true"
4332 12 Jun 08 martin 235         filterable="true"
4332 12 Jun 08 martin 236         exportable="true"
4332 12 Jun 08 martin 237       />
4332 12 Jun 08 martin 238       <tbl:columndef 
1940 08 Feb 06 nicklas 239         id="parent"
1940 08 Feb 06 nicklas 240         title="Parent"
1940 08 Feb 06 nicklas 241       />
4302 19 May 08 nicklas 242       <tbl:columndef
4302 19 May 08 nicklas 243         id="reporterList"
5425 23 Sep 10 nicklas 244         property="$rpt.£reporterListScores"
4302 19 May 08 nicklas 245         datatype="int"
4302 19 May 08 nicklas 246         title="[Rep] Reporter list"
4302 19 May 08 nicklas 247         filterable="true"
4302 19 May 08 nicklas 248         enumeration="<%=Base.getReporterListsEnum(dc)%>"
4302 19 May 08 nicklas 249         multiple="false"
4302 19 May 08 nicklas 250       />
1940 08 Feb 06 nicklas 251       <tbl:columndef 
1940 08 Feb 06 nicklas 252         id="reporter.name"
6702 02 Feb 15 nicklas 253         property="$rpt.name"
6702 02 Feb 15 nicklas 254         exportproperty="reporter.name"
1862 30 Jan 06 nicklas 255         datatype="string"
1940 08 Feb 06 nicklas 256         title="[Rep] Name"
7014 12 Nov 15 nicklas 257         sortable="<%=readReporter %>" 
7014 12 Nov 15 nicklas 258         filterable="<%=readReporter %>"
7014 12 Nov 15 nicklas 259         exportable="<%=readReporter %>"
1862 30 Jan 06 nicklas 260       />
1862 30 Jan 06 nicklas 261       <%
7014 12 Nov 15 nicklas 262       if (readReporter)
1940 08 Feb 06 nicklas 263       {
7014 12 Nov 15 nicklas 264         %>
7014 12 Nov 15 nicklas 265         <tbl:columndef 
7014 12 Nov 15 nicklas 266           id="reporter.externalId"
7014 12 Nov 15 nicklas 267           clazz="uniquecol"
7014 12 Nov 15 nicklas 268           property="$rpt.externalId"
7014 12 Nov 15 nicklas 269           exportproperty="reporter.externalId"
7014 12 Nov 15 nicklas 270           datatype="string"
7014 12 Nov 15 nicklas 271           title="[Rep] ID"
7014 12 Nov 15 nicklas 272           sortable="true" 
7014 12 Nov 15 nicklas 273           filterable="true"
7014 12 Nov 15 nicklas 274           exportable="true"
7014 12 Nov 15 nicklas 275         />
7014 12 Nov 15 nicklas 276         <tbl:columndef 
7014 12 Nov 15 nicklas 277           id="reporter.symbol"
7014 12 Nov 15 nicklas 278           property="$rpt.symbol"
7014 12 Nov 15 nicklas 279           exportproperty="reporter.symbol"
7014 12 Nov 15 nicklas 280           datatype="string"
7014 12 Nov 15 nicklas 281           title="[Rep] Gene symbol"
7014 12 Nov 15 nicklas 282           sortable="true" 
7014 12 Nov 15 nicklas 283           filterable="true"
7014 12 Nov 15 nicklas 284           exportable="true"
7014 12 Nov 15 nicklas 285         />
7014 12 Nov 15 nicklas 286         <tbl:columndef 
7014 12 Nov 15 nicklas 287           id="reporter.description"
7014 12 Nov 15 nicklas 288           property="$rpt.description"
7014 12 Nov 15 nicklas 289           exportproperty="reporter.description"
7014 12 Nov 15 nicklas 290           datatype="string"
7014 12 Nov 15 nicklas 291           title="[Rep] Description" 
7014 12 Nov 15 nicklas 292           sortable="true" 
7014 12 Nov 15 nicklas 293           filterable="true" 
7014 12 Nov 15 nicklas 294           exportable="true"
7014 12 Nov 15 nicklas 295         />
7014 12 Nov 15 nicklas 296         <tbl:columndef 
7014 12 Nov 15 nicklas 297           id="reporter.entryDate"
7014 12 Nov 15 nicklas 298           property="$rpt.entryDate"
7014 12 Nov 15 nicklas 299           exportproperty="reporter.entryDate"
7014 12 Nov 15 nicklas 300           datatype="date"
7014 12 Nov 15 nicklas 301           title="[Rep] Registered"
7014 12 Nov 15 nicklas 302           sortable="true" 
7014 12 Nov 15 nicklas 303           filterable="true"
7014 12 Nov 15 nicklas 304           exportable="true"
7014 12 Nov 15 nicklas 305           formatter="<%=dateFormatter%>"
7014 12 Nov 15 nicklas 306         />
7014 12 Nov 15 nicklas 307         <tbl:columndef 
7014 12 Nov 15 nicklas 308           id="reporter.lastUpdate"
7014 12 Nov 15 nicklas 309           property="$rpt.lastUpdate"
7014 12 Nov 15 nicklas 310           exportproperty="reporter.lastUpdate"
7014 12 Nov 15 nicklas 311           datatype="timestamp"
7014 12 Nov 15 nicklas 312           title="[Rep] Last update" 
7014 12 Nov 15 nicklas 313           sortable="true" 
7014 12 Nov 15 nicklas 314           filterable="true" 
7014 12 Nov 15 nicklas 315           exportable="true"
7014 12 Nov 15 nicklas 316           formatter="<%=dateTimeFormatter%>"
7014 12 Nov 15 nicklas 317         />
7014 12 Nov 15 nicklas 318         <%
7014 12 Nov 15 nicklas 319         Enumeration<String, String> types = new Enumeration<String, String>();
7014 12 Nov 15 nicklas 320         ItemResultList<ReporterType> reporterTypes = typeQuery.list(dc);
7014 12 Nov 15 nicklas 321         types.add("", "- none -");
7014 12 Nov 15 nicklas 322         for (ReporterType rt : reporterTypes)
2747 19 Oct 06 enell 323         {
7014 12 Nov 15 nicklas 324           types.add(Integer.toString(rt.getId()), HTML.encodeTags(rt.getName()));
2747 19 Oct 06 enell 325         }
7014 12 Nov 15 nicklas 326         %>
7014 12 Nov 15 nicklas 327         <tbl:columndef 
7014 12 Nov 15 nicklas 328           id="reporter.reporterType"
7014 12 Nov 15 nicklas 329           property="$rpt.reporterType"
7014 12 Nov 15 nicklas 330           sortproperty="$rpt.reporterType.name"
7014 12 Nov 15 nicklas 331           exportproperty="reporter.reporterType.name:string"
7014 12 Nov 15 nicklas 332           datatype="int"
7014 12 Nov 15 nicklas 333           enumeration="<%=types%>"
7014 12 Nov 15 nicklas 334           title="[Rep] Type"
7014 12 Nov 15 nicklas 335           sortable="true" 
7014 12 Nov 15 nicklas 336           filterable="true"
7014 12 Nov 15 nicklas 337           exportable="true"
7014 12 Nov 15 nicklas 338         />
7014 12 Nov 15 nicklas 339         <%
7014 12 Nov 15 nicklas 340         if (reporterProperties != null)
7014 12 Nov 15 nicklas 341         {
7014 12 Nov 15 nicklas 342           for (ExtendedProperty ep : reporterProperties)
7014 12 Nov 15 nicklas 343           {
7014 12 Nov 15 nicklas 344             String name = ep.getName();
7014 12 Nov 15 nicklas 345             %>
7014 12 Nov 15 nicklas 346             <tbl:columndef
7014 12 Nov 15 nicklas 347               id="<%="reporter."+name%>"
7014 12 Nov 15 nicklas 348               property="<%="$rpt."+name%>"
7014 12 Nov 15 nicklas 349               exportproperty="<%="reporter."+name%>"
7014 12 Nov 15 nicklas 350               datatype="<%=ep.getType().getStringValue()%>"
7014 12 Nov 15 nicklas 351               title="<%="[Rep] "+HTML.encodeTags(ep.getTitle())%>"
7014 12 Nov 15 nicklas 352               sortable="true"
7014 12 Nov 15 nicklas 353               filterable="true"
7014 12 Nov 15 nicklas 354               exportable="true"
7014 12 Nov 15 nicklas 355               formatter="<%=FormatterFactory.getExtendedPropertyFormatter(sc, ep)%>"
7014 12 Nov 15 nicklas 356             />
7014 12 Nov 15 nicklas 357             <%
7014 12 Nov 15 nicklas 358           }
7014 12 Nov 15 nicklas 359         }
1940 08 Feb 06 nicklas 360       }
1940 08 Feb 06 nicklas 361       %>
1940 08 Feb 06 nicklas 362       <%
6541 29 Sep 14 nicklas 363       for (AnnotationLoaderUtil loader : annotationLoaders)
1862 30 Jan 06 nicklas 364       {
6541 29 Sep 14 nicklas 365         AnnotationType at = loader.getAnnotationType();
1862 30 Jan 06 nicklas 366         Enumeration<String, String> annotationEnum = null;
7605 26 Feb 19 nicklas 367         Formatter<Object> formatter = FormatterFactory.getTypeFormatter(sc, at.getValueType());
1862 30 Jan 06 nicklas 368         if (at.isEnumeration())
1862 30 Jan 06 nicklas 369         {
1862 30 Jan 06 nicklas 370           annotationEnum = new Enumeration<String, String>();
6784 18 Mar 15 nicklas 371           if (!at.getDisplayAsList()) annotationEnum.add("", "-none-");
1862 30 Jan 06 nicklas 372           List<?> values = at.getValues();
1862 30 Jan 06 nicklas 373           for (Object value : values)
1862 30 Jan 06 nicklas 374           {
2942 22 Nov 06 nicklas 375             String encoded = formatter.format(value);
1862 30 Jan 06 nicklas 376             annotationEnum.add(encoded, encoded);
1862 30 Jan 06 nicklas 377           }
1862 30 Jan 06 nicklas 378         }
1862 30 Jan 06 nicklas 379         %>
1862 30 Jan 06 nicklas 380         <tbl:columndef 
1862 30 Jan 06 nicklas 381           id="<%="at"+at.getId()%>"
1862 30 Jan 06 nicklas 382           title="<%=HTML.encodeTags(at.getName())+" [A]"%>" 
1862 30 Jan 06 nicklas 383           property="<%="#"+at.getId()%>"
1862 30 Jan 06 nicklas 384           annotation="true"
1862 30 Jan 06 nicklas 385           datatype="<%=at.getValueType().getStringValue()%>"
1862 30 Jan 06 nicklas 386           enumeration="<%=annotationEnum%>"
5674 27 Jun 11 nicklas 387           smartenum="<%=at.getDisplayAsList() %>"
6027 23 Mar 12 nicklas 388           sortable="<%=at.getMultiplicity() == 1%>" 
1862 30 Jan 06 nicklas 389           filterable="true" 
1862 30 Jan 06 nicklas 390           exportable="true"
2942 22 Nov 06 nicklas 391           formatter="<%=formatter%>"
4560 06 Oct 08 nicklas 392           unit="<%=at.getDefaultUnit()%>"
1862 30 Jan 06 nicklas 393         />
1862 30 Jan 06 nicklas 394         <%
1862 30 Jan 06 nicklas 395       }
1862 30 Jan 06 nicklas 396       %>
2401 21 Jun 06 martin 397       <tbl:columndef
2401 21 Jun 06 martin 398         id="permission"
2401 21 Jun 06 martin 399         title="Permission"
2401 21 Jun 06 martin 400       />
6039 29 Mar 12 nicklas 401       <tbl:columndef 
6039 29 Mar 12 nicklas 402         id="xt-columns" 
6039 29 Mar 12 nicklas 403         extensions="<%=columnsInvoker%>" 
6039 29 Mar 12 nicklas 404         jspcontext="<%=jspContext%>" 
6039 29 Mar 12 nicklas 405       />
6604 18 Nov 14 nicklas 406       <div class="panelgroup bg-filled-50 bottomborder">
5954 13 Feb 12 nicklas 407         <tbl:toolbar
5954 13 Feb 12 nicklas 408           subclass="bottomborder"
5954 13 Feb 12 nicklas 409           visible="<%=mode.hasToolbar()%>"
5954 13 Feb 12 nicklas 410           >
5954 13 Feb 12 nicklas 411           <tbl:button 
6307 15 Aug 13 nicklas 412             id="btnColumns"
5954 13 Feb 12 nicklas 413             image="columns.png" 
5954 13 Feb 12 nicklas 414             title="Columns&hellip;" 
5954 13 Feb 12 nicklas 415             tooltip="Show, hide and re-order columns" 
5954 13 Feb 12 nicklas 416           />
5954 13 Feb 12 nicklas 417           <tbl:button
6307 15 Aug 13 nicklas 418             id="btnNewReporterList"
5954 13 Feb 12 nicklas 419             image="add.png"
5954 13 Feb 12 nicklas 420             title="New reporter list&hellip;"
5954 13 Feb 12 nicklas 421             tooltip="Create a new reporter list from matching wells"
5954 13 Feb 12 nicklas 422             visible="<%=sc.hasPermission(Permission.CREATE, Item.REPORTERLIST)%>"
5954 13 Feb 12 nicklas 423           />
5954 13 Feb 12 nicklas 424           <tbl:button 
6307 15 Aug 13 nicklas 425             id="btnImport"
6307 15 Aug 13 nicklas 426             data-plugin-type="IMPORT"
5954 13 Feb 12 nicklas 427             image="import.png" 
5954 13 Feb 12 nicklas 428             title="Import&hellip;" 
5954 13 Feb 12 nicklas 429             tooltip="Import data" 
5954 13 Feb 12 nicklas 430             visible="<%=pluginCount.containsKey(Plugin.MainType.IMPORT)%>"
5954 13 Feb 12 nicklas 431           />
5954 13 Feb 12 nicklas 432           <tbl:button 
6307 15 Aug 13 nicklas 433             id="btnExport"
6307 15 Aug 13 nicklas 434             data-plugin-type="EXPORT"
5954 13 Feb 12 nicklas 435             image="export.png" 
5954 13 Feb 12 nicklas 436             title="Export&hellip;" 
5954 13 Feb 12 nicklas 437             tooltip="Export data" 
5954 13 Feb 12 nicklas 438             visible="<%=pluginCount.containsKey(Plugin.MainType.EXPORT)%>"
5954 13 Feb 12 nicklas 439           />
5954 13 Feb 12 nicklas 440           <tbl:button 
6307 15 Aug 13 nicklas 441             id="btnRunPlugin"
6307 15 Aug 13 nicklas 442             data-plugin-type="OTHER"
5954 13 Feb 12 nicklas 443             image="runplugin.png" 
5954 13 Feb 12 nicklas 444             title="Run plugin&hellip;" 
5954 13 Feb 12 nicklas 445             tooltip="Run a plugin" 
5954 13 Feb 12 nicklas 446             visible="<%=pluginCount.containsKey(Plugin.MainType.OTHER)%>"
5954 13 Feb 12 nicklas 447           />
5954 13 Feb 12 nicklas 448           <ext:render extensions="<%=invoker%>" context="<%=jspContext%>" 
7604 25 Feb 19 nicklas 449             wrapper="<%=new PrefixSuffixRenderer<ButtonAction>(jspContext, "<td>", "</td>") %>"/>
5954 13 Feb 12 nicklas 450         </tbl:toolbar>
5954 13 Feb 12 nicklas 451         <tbl:panel>
6182 23 Oct 12 nicklas 452           <tbl:presetselector />
5954 13 Feb 12 nicklas 453           <tbl:navigator
5954 13 Feb 12 nicklas 454             page="<%=cc.getPage()%>" 
5954 13 Feb 12 nicklas 455             rowsperpage="<%=cc.getRowsPerPage()%>" 
5954 13 Feb 12 nicklas 456             totalrows="<%=wells == null ? 0 : wells.getTotalCount()%>" 
5954 13 Feb 12 nicklas 457             visible="<%=mode.hasNavigator()%>"
5954 13 Feb 12 nicklas 458           />
5954 13 Feb 12 nicklas 459         </tbl:panel>
5954 13 Feb 12 nicklas 460       </div>
1862 30 Jan 06 nicklas 461       <tbl:data>
5948 08 Feb 12 nicklas 462         <tbl:headers>
5948 08 Feb 12 nicklas 463           <tbl:headerrow>
7943 04 May 21 nicklas 464             <tbl:header clazz="row-index bg-filled-100" />
5948 08 Feb 12 nicklas 465             <tbl:columnheaders />
5948 08 Feb 12 nicklas 466           </tbl:headerrow>
6702 02 Feb 15 nicklas 467           <%
6702 02 Feb 15 nicklas 468           int numFilters = cc.getNumPropertyFilters();
6702 02 Feb 15 nicklas 469           int numRows = cc.getFilterRows();
6702 02 Feb 15 nicklas 470           for (int filterNo = 0; filterNo < numRows; filterNo++)
6702 02 Feb 15 nicklas 471           {
6702 02 Feb 15 nicklas 472             boolean lastRow = filterNo == numRows-1;
6702 02 Feb 15 nicklas 473             %>
6702 02 Feb 15 nicklas 474             <tbl:headerrow>
7943 04 May 21 nicklas 475               <tbl:header subclass="row-index bg-filled-100">
7943 04 May 21 nicklas 476                 <div class="index-<%=mode.getName()%>">
7943 04 May 21 nicklas 477                   <div class="index"></div>
7943 04 May 21 nicklas 478                   <div class="check">
7943 04 May 21 nicklas 479                     <base:icon 
7943 04 May 21 nicklas 480                       subclass="link table-check"
7943 04 May 21 nicklas 481                       image="check_uncheck.png" 
7943 04 May 21 nicklas 482                       tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)" 
7943 04 May 21 nicklas 483                       visible="<%=lastRow && mode.hasCheck()%>"
7943 04 May 21 nicklas 484                     />
7943 04 May 21 nicklas 485                   </div>
7943 04 May 21 nicklas 486                   <div class="icons">
7943 04 May 21 nicklas 487                     <base:icon
7943 04 May 21 nicklas 488                       subclass="link table-filter-row-action"
7943 04 May 21 nicklas 489                       image="add.png"
7943 04 May 21 nicklas 490                       tooltip="Add extra filter row"
7943 04 May 21 nicklas 491                       visible="<%=lastRow%>"
7943 04 May 21 nicklas 492                     /><base:icon
7943 04 May 21 nicklas 493                       subclass="link table-filter-row-action"
7943 04 May 21 nicklas 494                       image="remove.png"
7943 04 May 21 nicklas 495                       tooltip="Remove this filter row"
7943 04 May 21 nicklas 496                       visible="<%=numRows > 1 || numFilters > 0 %>"
7943 04 May 21 nicklas 497                       data-remove-row="<%=filterNo%>"
7943 04 May 21 nicklas 498                     />
7943 04 May 21 nicklas 499                   </div>
7943 04 May 21 nicklas 500                 </div>
6702 02 Feb 15 nicklas 501               </tbl:header>
6702 02 Feb 15 nicklas 502               <tbl:propertyfilter row="<%=filterNo%>" />
6702 02 Feb 15 nicklas 503             </tbl:headerrow>
6702 02 Feb 15 nicklas 504             <%
6702 02 Feb 15 nicklas 505           }
6702 02 Feb 15 nicklas 506           %>
7913 22 Feb 21 nicklas 507           <tbl:columnsubtitles />
5948 08 Feb 12 nicklas 508         </tbl:headers>
5948 08 Feb 12 nicklas 509         <tbl:rows>
1862 30 Jan 06 nicklas 510           <%
5954 13 Feb 12 nicklas 511           if (cc.getMessage() != null)
5954 13 Feb 12 nicklas 512           {
5954 13 Feb 12 nicklas 513             %>
6604 18 Nov 14 nicklas 514             <tbl:panel subclass="bg-filled-50">
5954 13 Feb 12 nicklas 515               <div class="messagecontainer error"><%=cc.getMessage()%></div>
5954 13 Feb 12 nicklas 516             </tbl:panel>
5954 13 Feb 12 nicklas 517             <%
5954 13 Feb 12 nicklas 518             cc.setMessage(null);
5954 13 Feb 12 nicklas 519           }
1862 30 Jan 06 nicklas 520           int index = cc.getPage()*cc.getRowsPerPage();
1862 30 Jan 06 nicklas 521           int selectedItemId = cc.getId();
2029 20 Feb 06 nicklas 522           if (wells != null)
2503 09 Aug 06 martin 523           {            
2029 20 Feb 06 nicklas 524             while (wells.hasNext())
2029 20 Feb 06 nicklas 525             {
2029 20 Feb 06 nicklas 526               Well item = wells.next();
2029 20 Feb 06 nicklas 527               int itemId = item.getId();
2503 09 Aug 06 martin 528               boolean writePermission = item.hasPermission(Permission.WRITE);
2503 09 Aug 06 martin 529               String tooltip = mode.isSelectionMode() ? 
2503 09 Aug 06 martin 530                   "Select this item" : "View this item" + (writePermission ? " (use CTRL, ALT or SHIFT to edit)" : ""); 
2029 20 Feb 06 nicklas 531               index++;
2029 20 Feb 06 nicklas 532               numListed++;
2029 20 Feb 06 nicklas 533               %>
2029 20 Feb 06 nicklas 534               <tbl:row>
7943 04 May 21 nicklas 535                 <tbl:header clazz="row-index bg-filled-100">
7943 04 May 21 nicklas 536                   <div class="index-<%=mode.getName()%>">
7943 04 May 21 nicklas 537                     <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
7943 04 May 21 nicklas 538                     <div class="check">
7943 04 May 21 nicklas 539                       <base:input
7943 04 May 21 nicklas 540                         type="checkbox" 
7943 04 May 21 nicklas 541                         name="<%=itemId%>" 
7943 04 May 21 nicklas 542                         value="<%=itemId%>" 
7943 04 May 21 nicklas 543                         checked="<%=cc.getSelected().contains(itemId)%>"
7943 04 May 21 nicklas 544                         visible="<%=mode.hasCheck()%>"
7943 04 May 21 nicklas 545                       />
7943 04 May 21 nicklas 546                       <base:input 
7943 04 May 21 nicklas 547                         type="radio" 
7943 04 May 21 nicklas 548                         name="item_id" 
7943 04 May 21 nicklas 549                         value="<%=itemId%>" 
7943 04 May 21 nicklas 550                         checked="<%=selectedItemId == itemId%>"
7943 04 May 21 nicklas 551                         visible="<%=mode.hasRadio()%>"
7943 04 May 21 nicklas 552                       />
7943 04 May 21 nicklas 553                     </div>
7943 04 May 21 nicklas 554                     <div class="icons"></div>
7943 04 May 21 nicklas 555                   </div>
7943 04 May 21 nicklas 556                 </tbl:header>
6307 15 Aug 13 nicklas 557                 <tbl:cell column="row"><div 
6307 15 Aug 13 nicklas 558                   class="link table-item"
6307 15 Aug 13 nicklas 559                   data-item-id="<%=itemId%>"
6307 15 Aug 13 nicklas 560                   data-no-edit="<%=writePermission ? 0 : 1 %>"
6307 15 Aug 13 nicklas 561                   tabindex="0"
4860 27 Mar 09 martin 562                   title="<%=tooltip%>"><tbl:cellvalue value="<%=item.getRow()%>" /></div></tbl:cell>
4866 31 Mar 09 martin 563                 <tbl:cell column="column"><tbl:cellvalue value="<%=item.getColumn()%>"/></tbl:cell>
4332 12 Jun 08 martin 564                 <tbl:cell column="id"><%=item.getId()%></tbl:cell>
2029 20 Feb 06 nicklas 565                 <tbl:cell column="parent">
2029 20 Feb 06 nicklas 566                   <%
2029 20 Feb 06 nicklas 567                   try
1940 08 Feb 06 nicklas 568                   {
2029 20 Feb 06 nicklas 569                     Well parent = item.getParent();
2029 20 Feb 06 nicklas 570                     if (parent == null)
2029 20 Feb 06 nicklas 571                     {
2029 20 Feb 06 nicklas 572                       %>
2029 20 Feb 06 nicklas 573                       <i>- none -</i>
2029 20 Feb 06 nicklas 574                       <%
2029 20 Feb 06 nicklas 575                     }
2029 20 Feb 06 nicklas 576                     else
2029 20 Feb 06 nicklas 577                     {
2029 20 Feb 06 nicklas 578                       %>
2446 29 Jun 06 nicklas 579                       <%=Base.getLink(ID, 
2446 29 Jun 06 nicklas 580                         parent.getPlate().getName() + " [" + parent.getRow() + ", " + parent.getColumn() + "]", 
2446 29 Jun 06 nicklas 581                         Item.WELL, parent.getId(), true)%>
2029 20 Feb 06 nicklas 582                       <%
2029 20 Feb 06 nicklas 583                     }
2029 20 Feb 06 nicklas 584                   }
2029 20 Feb 06 nicklas 585                   catch (PermissionDeniedException ex)
2029 20 Feb 06 nicklas 586                   {
1940 08 Feb 06 nicklas 587                     %>
2029 20 Feb 06 nicklas 588                     <i>- denied -</i>
1940 08 Feb 06 nicklas 589                     <%
1940 08 Feb 06 nicklas 590                   }
2029 20 Feb 06 nicklas 591                   %>
2029 20 Feb 06 nicklas 592                 </tbl:cell>
2029 20 Feb 06 nicklas 593                 <%
7014 12 Nov 15 nicklas 594                 if (!readReporter)
2029 20 Feb 06 nicklas 595                 {
2029 20 Feb 06 nicklas 596                   %>
7014 12 Nov 15 nicklas 597                   <tbl:cell column="reporter.name"><i>- denied -</i></tbl:cell>
2029 20 Feb 06 nicklas 598                   <%
1862 30 Jan 06 nicklas 599                 }
2029 20 Feb 06 nicklas 600                 else
1862 30 Jan 06 nicklas 601                 {
7014 12 Nov 15 nicklas 602                   ReporterData reporter = item.getReporter();
7014 12 Nov 15 nicklas 603                   if (reporter == null)
2029 20 Feb 06 nicklas 604                   {
7014 12 Nov 15 nicklas 605                     %>
7014 12 Nov 15 nicklas 606                     <tbl:cell column="reporter.name"><i>- none -</i></tbl:cell>
7014 12 Nov 15 nicklas 607                     <tbl:cell column="reporter.externalId"><i>- none -</i></tbl:cell>
7014 12 Nov 15 nicklas 608                     <%
7014 12 Nov 15 nicklas 609                   }
7014 12 Nov 15 nicklas 610                   else
7014 12 Nov 15 nicklas 611                   {
7014 12 Nov 15 nicklas 612                     %>
7014 12 Nov 15 nicklas 613                     <tbl:cell column="reporter.name"><%=Base.getLink(ID, reporter.getName(), Item.REPORTER, reporter.getId(), true)%></tbl:cell>
7014 12 Nov 15 nicklas 614                     <tbl:cell column="reporter.externalId"><%=HTML.encodeTags(reporter.getExternalId())%></tbl:cell>
7014 12 Nov 15 nicklas 615                     <tbl:cell column="reporter.symbol"><%=HTML.encodeTags(reporter.getSymbol())%></tbl:cell>
7014 12 Nov 15 nicklas 616                     <tbl:cell column="reporter.description"><%=HTML.encodeTags(reporter.getDescription())%></tbl:cell>
7014 12 Nov 15 nicklas 617                     <tbl:cell column="reporter.entryDate" value="<%=reporter.getEntryDate()%>" />
7014 12 Nov 15 nicklas 618                     <tbl:cell column="reporter.lastUpdate" value="<%=reporter.getLastUpdate()%>" />
7014 12 Nov 15 nicklas 619                     <tbl:cell column="reporter.reporterType"
7014 12 Nov 15 nicklas 620                       ><base:propertyvalue 
7014 12 Nov 15 nicklas 621                         dbcontrol="<%=dc%>" 
7014 12 Nov 15 nicklas 622                         item="<%=reporter%>" 
7014 12 Nov 15 nicklas 623                         property="reporterType"
7014 12 Nov 15 nicklas 624                         enableEditLink="<%=mode.hasEditLink()%>" 
7014 12 Nov 15 nicklas 625                         enablePropertyLink="<%=mode.hasPropertyLink()%>"
7014 12 Nov 15 nicklas 626                       /></tbl:cell>
7014 12 Nov 15 nicklas 627                     <%
7014 12 Nov 15 nicklas 628                     if (reporterProperties != null)
2313 23 May 06 nicklas 629                     {
7014 12 Nov 15 nicklas 630                       for (ExtendedProperty ep : reporterProperties)
7014 12 Nov 15 nicklas 631                       {
7014 12 Nov 15 nicklas 632                         String name = ep.getName();
7014 12 Nov 15 nicklas 633                         %>
7014 12 Nov 15 nicklas 634                         <tbl:cell column="<%="reporter."+name%>"><tbl:cellvalue value="<%=reporter.getExtended(name)%>" /></tbl:cell>
7014 12 Nov 15 nicklas 635                         <%
7014 12 Nov 15 nicklas 636                       }
2313 23 May 06 nicklas 637                     }
2029 20 Feb 06 nicklas 638                   }
1862 30 Jan 06 nicklas 639                 }
6541 29 Sep 14 nicklas 640                 if (item.isAnnotated())
1940 08 Feb 06 nicklas 641                 {
6541 29 Sep 14 nicklas 642                   AnnotationSetSnapshot snapshot = manager.getSnapshot(dc, item.getAnnotationSet().getId());
6541 29 Sep 14 nicklas 643                   for (AnnotationLoaderUtil loader : annotationLoaders)
2942 22 Nov 06 nicklas 644                   {
6721 10 Feb 15 nicklas 645                     %>
6721 10 Feb 15 nicklas 646                     <tbl:cell 
6721 10 Feb 15 nicklas 647                       column="<%="at"+loader.getId()%>"
6721 10 Feb 15 nicklas 648                       ><%
7337 12 Apr 17 nicklas 649                       if (loader.find(snapshot, psInfo.reset())) 
6721 10 Feb 15 nicklas 650                       {
6721 10 Feb 15 nicklas 651                         %><tbl:cellvalue 
6541 29 Sep 14 nicklas 652                           list="<%=loader.getValues()%>"
8160 07 Jun 23 nicklas 653                           bulletlist="<%=loader.useBulletList() %>"
6541 29 Sep 14 nicklas 654                           suffix="<%=loader.getUnitSymbol()%>"
8083 20 Oct 22 nicklas 655                           clazz="<%=psInfo.hasProjectSpecificAnnotation() ? "ps-annotation" : null%>"
6721 10 Feb 15 nicklas 656                         /><%
6721 10 Feb 15 nicklas 657                       }
6721 10 Feb 15 nicklas 658                       %></tbl:cell>
6721 10 Feb 15 nicklas 659                     <%
2942 22 Nov 06 nicklas 660                   }
1940 08 Feb 06 nicklas 661                 }
1940 08 Feb 06 nicklas 662                 %>
2401 21 Jun 06 martin 663                 <tbl:cell column="permission"><%=PermissionUtil.getShortPermissions(item)%></tbl:cell>
6039 29 Mar 12 nicklas 664                 <tbl:xt-cells dc="<%=dc%>" item="<%=item%>">
6039 29 Mar 12 nicklas 665                   <tbl:cell column="xt-columns" />
6039 29 Mar 12 nicklas 666                 </tbl:xt-cells>
2029 20 Feb 06 nicklas 667               </tbl:row>
1940 08 Feb 06 nicklas 668               <%
2029 20 Feb 06 nicklas 669             }
1862 30 Jan 06 nicklas 670           }
5954 13 Feb 12 nicklas 671           if (numListed == 0)
5954 13 Feb 12 nicklas 672           {
5954 13 Feb 12 nicklas 673             %>
6604 18 Nov 14 nicklas 674             <tbl:panel subclass="bg-filled-50">
5954 13 Feb 12 nicklas 675               <div class="messagecontainer note">
5954 13 Feb 12 nicklas 676               <%=wells == null || wells.getTotalCount() == 0 ? "No wells were found" : "No wells on this page. Please select another page!" %>
5954 13 Feb 12 nicklas 677               </div>
5954 13 Feb 12 nicklas 678             </tbl:panel>
5954 13 Feb 12 nicklas 679             <%
5954 13 Feb 12 nicklas 680           }
1862 30 Jan 06 nicklas 681           %>
1862 30 Jan 06 nicklas 682           </tbl:rows>
1862 30 Jan 06 nicklas 683         </tbl:data>
1862 30 Jan 06 nicklas 684     </tbl:table>
1862 30 Jan 06 nicklas 685   
1862 30 Jan 06 nicklas 686     </t:tab>
7166 07 Jun 16 nicklas 687     <t:tab id="history" title="History"
7166 07 Jun 16 nicklas 688       tooltip="Displays a log with the history of this item"
7166 07 Jun 16 nicklas 689       visible="<%=ChangeHistoryUtil.showChangeHistoryTab(sc)%>" />
1862 30 Jan 06 nicklas 690     </t:tabcontrol>
1862 30 Jan 06 nicklas 691
5954 13 Feb 12 nicklas 692
5954 13 Feb 12 nicklas 693     <base:buttongroup>
6307 15 Aug 13 nicklas 694       <base:button id="btnOk" title="Ok" visible="<%=mode.hasOkButton()%>" />
6307 15 Aug 13 nicklas 695       <base:button id="close" title="Cancel" visible="<%=mode.hasCancelButton()%>" />
6307 15 Aug 13 nicklas 696       <base:button id="close" title="Close" visible="<%=mode.hasCloseButton()%>" />
5954 13 Feb 12 nicklas 697     </base:buttongroup>
1862 30 Jan 06 nicklas 698   
1862 30 Jan 06 nicklas 699   </base:body>
1862 30 Jan 06 nicklas 700   </base:page>
1862 30 Jan 06 nicklas 701   <%
1862 30 Jan 06 nicklas 702 }
1862 30 Jan 06 nicklas 703 finally
1862 30 Jan 06 nicklas 704 {
1862 30 Jan 06 nicklas 705   if (wells != null) wells.close();
1862 30 Jan 06 nicklas 706   if (dc != null) dc.close();
1862 30 Jan 06 nicklas 707 }
3675 16 Aug 07 jari 708 %>