www/biomaterials/bioplateeventtypes/list_eventtypes.jsp

Code
Comments
Other
Rev Date Author Line
5525 06 Dec 10 nicklas 1 <%-- $Id $
5525 06 Dec 10 nicklas 2   ------------------------------------------------------------------
5525 06 Dec 10 nicklas 3   Copyright (C) 2010 Nicklas Nordborg
5525 06 Dec 10 nicklas 4
5525 06 Dec 10 nicklas 5   This file is part of BASE - BioArray Software Environment.
5525 06 Dec 10 nicklas 6   Available at http://base.thep.lu.se/
5525 06 Dec 10 nicklas 7
5525 06 Dec 10 nicklas 8   BASE is free software; you can redistribute it and/or
5525 06 Dec 10 nicklas 9   modify it under the terms of the GNU General Public License
5525 06 Dec 10 nicklas 10   as published by the Free Software Foundation; either version 3
5525 06 Dec 10 nicklas 11   of the License, or (at your option) any later version.
5525 06 Dec 10 nicklas 12
5525 06 Dec 10 nicklas 13   BASE is distributed in the hope that it will be useful,
5525 06 Dec 10 nicklas 14   but WITHOUT ANY WARRANTY; without even the implied warranty of
5525 06 Dec 10 nicklas 15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5525 06 Dec 10 nicklas 16   GNU General Public License for more details.
5525 06 Dec 10 nicklas 17
5525 06 Dec 10 nicklas 18   You should have received a copy of the GNU General Public License
5525 06 Dec 10 nicklas 19   along with BASE. If not, see <http://www.gnu.org/licenses/>.
5525 06 Dec 10 nicklas 20   ------------------------------------------------------------------
5525 06 Dec 10 nicklas 21
5525 06 Dec 10 nicklas 22   @author Nicklas
5525 06 Dec 10 nicklas 23   @version 2.0
5525 06 Dec 10 nicklas 24 --%>
5525 06 Dec 10 nicklas 25 <%@ page pageEncoding="UTF-8" session="false"
5525 06 Dec 10 nicklas 26   import="net.sf.basedb.core.SessionControl"
5525 06 Dec 10 nicklas 27   import="net.sf.basedb.core.DbControl"
5525 06 Dec 10 nicklas 28   import="net.sf.basedb.core.Item"
5525 06 Dec 10 nicklas 29   import="net.sf.basedb.core.BioPlateEventType"
5525 06 Dec 10 nicklas 30   import="net.sf.basedb.core.ItemQuery"
5525 06 Dec 10 nicklas 31   import="net.sf.basedb.core.Include"
5525 06 Dec 10 nicklas 32   import="net.sf.basedb.core.Type"
5525 06 Dec 10 nicklas 33   import="net.sf.basedb.core.ItemResultIterator"
5525 06 Dec 10 nicklas 34   import="net.sf.basedb.core.ItemResultList"
5525 06 Dec 10 nicklas 35   import="net.sf.basedb.core.ItemContext"
5525 06 Dec 10 nicklas 36   import="net.sf.basedb.core.Permission"
5525 06 Dec 10 nicklas 37   import="net.sf.basedb.core.PluginDefinition"
5525 06 Dec 10 nicklas 38   import="net.sf.basedb.core.query.Hql"
5525 06 Dec 10 nicklas 39   import="net.sf.basedb.core.query.Restrictions"
5525 06 Dec 10 nicklas 40   import="net.sf.basedb.core.query.Expressions"
5525 06 Dec 10 nicklas 41   import="net.sf.basedb.core.query.Orders"
5525 06 Dec 10 nicklas 42   import="net.sf.basedb.core.plugin.GuiContext"
5525 06 Dec 10 nicklas 43   import="net.sf.basedb.core.plugin.Plugin"
5525 06 Dec 10 nicklas 44   import="net.sf.basedb.util.Enumeration"
5525 06 Dec 10 nicklas 45   import="net.sf.basedb.clients.web.Base"
5525 06 Dec 10 nicklas 46   import="net.sf.basedb.clients.web.ModeInfo"
5525 06 Dec 10 nicklas 47   import="net.sf.basedb.clients.web.PermissionUtil"
5525 06 Dec 10 nicklas 48   import="net.sf.basedb.clients.web.util.HTML"
5525 06 Dec 10 nicklas 49   import="net.sf.basedb.util.Values"
5525 06 Dec 10 nicklas 50   import="net.sf.basedb.util.formatter.Formatter"
5525 06 Dec 10 nicklas 51   import="net.sf.basedb.clients.web.formatter.FormatterFactory"
5525 06 Dec 10 nicklas 52   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
5525 06 Dec 10 nicklas 53   import="net.sf.basedb.clients.web.extensions.JspContext"
5525 06 Dec 10 nicklas 54   import="net.sf.basedb.clients.web.extensions.renderer.PrefixSuffixRenderer"
7604 25 Feb 19 nicklas 55   import="net.sf.basedb.clients.web.extensions.toolbar.ButtonAction" 
5525 06 Dec 10 nicklas 56   import="net.sf.basedb.clients.web.extensions.toolbar.ToolbarUtil"
7604 25 Feb 19 nicklas 57   import="net.sf.basedb.clients.web.extensions.list.ListColumnAction"
6038 29 Mar 12 nicklas 58   import="net.sf.basedb.clients.web.extensions.list.ListColumnUtil"
5525 06 Dec 10 nicklas 59   import="net.sf.basedb.util.extensions.ExtensionsInvoker"
5525 06 Dec 10 nicklas 60   import="java.util.Date"
5525 06 Dec 10 nicklas 61   import="java.util.List"
5525 06 Dec 10 nicklas 62   import="java.util.Map"
5525 06 Dec 10 nicklas 63 %>
5525 06 Dec 10 nicklas 64 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
5525 06 Dec 10 nicklas 65 <%@ taglib prefix="tbl" uri="/WEB-INF/table.tld" %>
5525 06 Dec 10 nicklas 66 <%@ taglib prefix="ext" uri="/WEB-INF/extensions.tld" %>
5525 06 Dec 10 nicklas 67 <%!
5525 06 Dec 10 nicklas 68   private static final Item itemType = Item.BIOPLATEEVENTTYPE;
5525 06 Dec 10 nicklas 69   private static final GuiContext guiContext = new GuiContext(itemType, GuiContext.Type.LIST);
5525 06 Dec 10 nicklas 70 %>
5525 06 Dec 10 nicklas 71 <%
5525 06 Dec 10 nicklas 72 final SessionControl sc = Base.getExistingSessionControl(pageContext, Permission.DENIED, itemType);
5525 06 Dec 10 nicklas 73 final String ID = sc.getId();
5525 06 Dec 10 nicklas 74 final boolean createPermission = sc.hasPermission(Permission.CREATE, itemType);
5525 06 Dec 10 nicklas 75 final boolean deletePermission = sc.hasPermission(Permission.DELETE, itemType);
5525 06 Dec 10 nicklas 76 final ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, null, null);
5525 06 Dec 10 nicklas 77
5525 06 Dec 10 nicklas 78 final ModeInfo mode = ModeInfo.get(request.getParameter("mode"));
5525 06 Dec 10 nicklas 79 final String callback = request.getParameter("callback");
5525 06 Dec 10 nicklas 80 final String title = mode.generateTitle("bioplate event type", "bioplate event types");
7954 12 May 21 nicklas 81 final DbControl dc = sc.newDbControl(":List "+itemType);
5525 06 Dec 10 nicklas 82 ItemResultIterator<BioPlateEventType> bioPlateEventTypes = null;
5525 06 Dec 10 nicklas 83 try
5525 06 Dec 10 nicklas 84 {
5525 06 Dec 10 nicklas 85   Map<Plugin.MainType, Integer> pluginCount = PluginDefinition.countPlugins(dc, guiContext);
7914 23 Feb 21 nicklas 86   JspContext jspContext = ExtensionsControl.createContext(dc, pageContext, guiContext, null);
5525 06 Dec 10 nicklas 87   try
5525 06 Dec 10 nicklas 88   {
7914 23 Feb 21 nicklas 89     final ItemQuery<BioPlateEventType> query = Base.getConfiguredQuery(dc, cc, jspContext, true, BioPlateEventType.getQuery(), mode);
5525 06 Dec 10 nicklas 90     bioPlateEventTypes = query.iterate(dc);
5525 06 Dec 10 nicklas 91   }
5525 06 Dec 10 nicklas 92   catch (Throwable t)
5525 06 Dec 10 nicklas 93   {
5525 06 Dec 10 nicklas 94     cc.setMessage(t.getMessage());
5525 06 Dec 10 nicklas 95   }
5525 06 Dec 10 nicklas 96   int numListed = 0;
7604 25 Feb 19 nicklas 97   ExtensionsInvoker<ButtonAction> invoker = ToolbarUtil.useExtensions(jspContext);
7604 25 Feb 19 nicklas 98   ExtensionsInvoker<ListColumnAction<BioPlateEventType,?>> columnsInvoker = ListColumnUtil.useExtensions(jspContext);
5525 06 Dec 10 nicklas 99   %>
6260 27 Mar 13 nicklas 100   <base:page title="<%=title==null ? "Bioplate event types" : title%>" type="<%=mode.getPageType()%>" id="list-page">
6260 27 Mar 13 nicklas 101   <base:head scripts="table.js,~bioplateeventtypes.js" styles="table.css,toolbar.css">
5525 06 Dec 10 nicklas 102     <ext:scripts context="<%=jspContext%>" />
5525 06 Dec 10 nicklas 103     <ext:stylesheets context="<%=jspContext%>" />
5525 06 Dec 10 nicklas 104   </base:head>
5525 06 Dec 10 nicklas 105   
5525 06 Dec 10 nicklas 106   <base:body>
5951 09 Feb 12 nicklas 107     <h1><%=title==null ? "Bioplate event types" : title%></h1>
5951 09 Feb 12 nicklas 108     <div class="content">
5525 06 Dec 10 nicklas 109     <tbl:table 
6260 27 Mar 13 nicklas 110       id="bioplateeventtypes" 
5525 06 Dec 10 nicklas 111       columns="<%=cc.getSetting("columns")%>"
5525 06 Dec 10 nicklas 112       sortby="<%=cc.getSortProperty()%>" 
5525 06 Dec 10 nicklas 113       direction="<%=cc.getSortDirection()%>"
5525 06 Dec 10 nicklas 114       action="index.jsp"
5525 06 Dec 10 nicklas 115       sc="<%=sc%>"
5525 06 Dec 10 nicklas 116       item="<%=itemType%>"
6701 30 Jan 15 nicklas 117       filterrows="<%=cc.getFilterRows()%>"
5951 09 Feb 12 nicklas 118       subclass="fulltable"
7982 14 Jun 21 nicklas 119       stickyheaders="<%=cc.getSetting("columns.sticky", "name")%>"
5525 06 Dec 10 nicklas 120       >
5525 06 Dec 10 nicklas 121       <tbl:hidden 
5525 06 Dec 10 nicklas 122         name="mode" 
5525 06 Dec 10 nicklas 123         value="<%=mode.getName()%>" 
5525 06 Dec 10 nicklas 124       />
5525 06 Dec 10 nicklas 125       <tbl:hidden 
5525 06 Dec 10 nicklas 126         name="callback" 
5525 06 Dec 10 nicklas 127         value="<%=callback%>" 
5525 06 Dec 10 nicklas 128         skip="<%=callback == null%>" 
5525 06 Dec 10 nicklas 129       />
5525 06 Dec 10 nicklas 130       <tbl:columndef 
5525 06 Dec 10 nicklas 131         id="name"
5525 06 Dec 10 nicklas 132         property="name"
5525 06 Dec 10 nicklas 133         datatype="string"
5525 06 Dec 10 nicklas 134         title="Name"
5525 06 Dec 10 nicklas 135         sortable="true" 
5525 06 Dec 10 nicklas 136         filterable="true"
5525 06 Dec 10 nicklas 137         exportable="true"
5525 06 Dec 10 nicklas 138         show="always" 
5525 06 Dec 10 nicklas 139       />
5525 06 Dec 10 nicklas 140       <tbl:columndef 
5525 06 Dec 10 nicklas 141         id="id"
5525 06 Dec 10 nicklas 142         clazz="uniquecol"
5525 06 Dec 10 nicklas 143         property="id"
5525 06 Dec 10 nicklas 144         datatype="int"
5525 06 Dec 10 nicklas 145         title="ID"
5525 06 Dec 10 nicklas 146         sortable="true"
5525 06 Dec 10 nicklas 147         filterable="true"
5525 06 Dec 10 nicklas 148         exportable="true"
5525 06 Dec 10 nicklas 149       />
5525 06 Dec 10 nicklas 150       <tbl:columndef 
5525 06 Dec 10 nicklas 151         id="systemId"
5525 06 Dec 10 nicklas 152         clazz="uniquecol"
5525 06 Dec 10 nicklas 153         property="systemId"
5525 06 Dec 10 nicklas 154         datatype="string"
5525 06 Dec 10 nicklas 155         title="System ID" 
5525 06 Dec 10 nicklas 156         sortable="true" 
5525 06 Dec 10 nicklas 157         filterable="true" 
5525 06 Dec 10 nicklas 158         exportable="true"
5525 06 Dec 10 nicklas 159       />
5525 06 Dec 10 nicklas 160       <tbl:columndef 
5525 06 Dec 10 nicklas 161         id="description"
5525 06 Dec 10 nicklas 162         property="description"
5525 06 Dec 10 nicklas 163         datatype="string"
5525 06 Dec 10 nicklas 164         title="Description" 
5525 06 Dec 10 nicklas 165         sortable="true" 
5525 06 Dec 10 nicklas 166         filterable="true" 
5525 06 Dec 10 nicklas 167         exportable="true"
5525 06 Dec 10 nicklas 168       />
6038 29 Mar 12 nicklas 169       <tbl:columndef 
6038 29 Mar 12 nicklas 170         id="xt-columns" 
6038 29 Mar 12 nicklas 171         extensions="<%=columnsInvoker%>" 
6038 29 Mar 12 nicklas 172         jspcontext="<%=jspContext%>" 
6038 29 Mar 12 nicklas 173       />
6604 18 Nov 14 nicklas 174       <div class="panelgroup bg-filled-50 bottomborder">
5951 09 Feb 12 nicklas 175         <tbl:toolbar
5951 09 Feb 12 nicklas 176           subclass="bottomborder"
5951 09 Feb 12 nicklas 177           visible="<%=mode.hasToolbar()%>"
5951 09 Feb 12 nicklas 178           >
5951 09 Feb 12 nicklas 179           <tbl:button 
6260 27 Mar 13 nicklas 180             id="btnNewItem"
5951 09 Feb 12 nicklas 181             disabled="<%=!createPermission%>" 
5951 09 Feb 12 nicklas 182             image="new.png" 
5951 09 Feb 12 nicklas 183             title="New&hellip;" 
5951 09 Feb 12 nicklas 184             tooltip="<%=createPermission ? "Create new bioplate event type" : "You do not have permission to create bioplate event types"%>" 
5951 09 Feb 12 nicklas 185           />
5951 09 Feb 12 nicklas 186           <tbl:button 
6260 27 Mar 13 nicklas 187             id="btnDeleteItems"
5951 09 Feb 12 nicklas 188             image="delete.png"
5951 09 Feb 12 nicklas 189             title="Delete" 
5951 09 Feb 12 nicklas 190             tooltip="Delete the selected items" 
5951 09 Feb 12 nicklas 191           />
5951 09 Feb 12 nicklas 192           <tbl:button 
6260 27 Mar 13 nicklas 193             id="btnRestoreItems"
5951 09 Feb 12 nicklas 194             image="restore.png"
5951 09 Feb 12 nicklas 195             title="Restore" 
5951 09 Feb 12 nicklas 196             tooltip="Restore the selected (deleted) items"
5951 09 Feb 12 nicklas 197           />
5951 09 Feb 12 nicklas 198           <tbl:button 
6260 27 Mar 13 nicklas 199             id="btnColumns"
5951 09 Feb 12 nicklas 200             image="columns.png" 
5951 09 Feb 12 nicklas 201             title="Columns&hellip;" 
5951 09 Feb 12 nicklas 202             tooltip="Show, hide and re-order columns" 
5951 09 Feb 12 nicklas 203           />
5951 09 Feb 12 nicklas 204           <tbl:button 
6260 27 Mar 13 nicklas 205             id="btnImport"
6260 27 Mar 13 nicklas 206             data-plugin-type="IMPORT"
5951 09 Feb 12 nicklas 207             image="import.png" 
5951 09 Feb 12 nicklas 208             title="Import&hellip;" 
5951 09 Feb 12 nicklas 209             tooltip="Import data" 
5951 09 Feb 12 nicklas 210             visible="<%=pluginCount.containsKey(Plugin.MainType.IMPORT)%>"
5951 09 Feb 12 nicklas 211           />
5951 09 Feb 12 nicklas 212           <tbl:button 
6260 27 Mar 13 nicklas 213             id="btnExport"
6260 27 Mar 13 nicklas 214             data-plugin-type="EXPORT"
5951 09 Feb 12 nicklas 215             image="export.png" 
5951 09 Feb 12 nicklas 216             title="Export&hellip;" 
5951 09 Feb 12 nicklas 217             tooltip="Export data" 
5951 09 Feb 12 nicklas 218             visible="<%=pluginCount.containsKey(Plugin.MainType.EXPORT)%>"
5951 09 Feb 12 nicklas 219           />
5951 09 Feb 12 nicklas 220           <tbl:button 
6260 27 Mar 13 nicklas 221             id="btnRunPlugin"
6260 27 Mar 13 nicklas 222             data-plugin-type="OTHER"
5951 09 Feb 12 nicklas 223             image="runplugin.png" 
5951 09 Feb 12 nicklas 224             title="Run plugin&hellip;" 
5951 09 Feb 12 nicklas 225             tooltip="Run a plugin" 
5951 09 Feb 12 nicklas 226             visible="<%=pluginCount.containsKey(Plugin.MainType.OTHER)%>"
5951 09 Feb 12 nicklas 227           />
5951 09 Feb 12 nicklas 228           <ext:render extensions="<%=invoker%>" context="<%=jspContext%>" 
7604 25 Feb 19 nicklas 229             wrapper="<%=new PrefixSuffixRenderer<ButtonAction>(jspContext, "<td>", "</td>") %>"/>
5951 09 Feb 12 nicklas 230         </tbl:toolbar>
5951 09 Feb 12 nicklas 231         <tbl:panel>
6182 23 Oct 12 nicklas 232           <tbl:presetselector />
5951 09 Feb 12 nicklas 233           <tbl:navigator
5951 09 Feb 12 nicklas 234             page="<%=cc.getPage()%>" 
5951 09 Feb 12 nicklas 235             rowsperpage="<%=cc.getRowsPerPage()%>" 
5951 09 Feb 12 nicklas 236             totalrows="<%=bioPlateEventTypes == null ? 0 : bioPlateEventTypes.getTotalCount()%>" 
5951 09 Feb 12 nicklas 237             visible="<%=mode.hasNavigator()%>"
5951 09 Feb 12 nicklas 238           />
5951 09 Feb 12 nicklas 239         </tbl:panel>
5951 09 Feb 12 nicklas 240       </div>
5525 06 Dec 10 nicklas 241       <tbl:data>
5948 08 Feb 12 nicklas 242         <tbl:headers>
5948 08 Feb 12 nicklas 243           <tbl:headerrow>
7943 04 May 21 nicklas 244             <tbl:header clazz="row-index bg-filled-100" />
5948 08 Feb 12 nicklas 245             <tbl:columnheaders />
5948 08 Feb 12 nicklas 246           </tbl:headerrow>
6701 30 Jan 15 nicklas 247           <%
6701 30 Jan 15 nicklas 248           int numFilters = cc.getNumPropertyFilters();
6701 30 Jan 15 nicklas 249           int numRows = cc.getFilterRows();
6701 30 Jan 15 nicklas 250           for (int filterNo = 0; filterNo < numRows; filterNo++)
6701 30 Jan 15 nicklas 251           {
6701 30 Jan 15 nicklas 252             boolean lastRow = filterNo == numRows-1;
6701 30 Jan 15 nicklas 253             %>
6701 30 Jan 15 nicklas 254             <tbl:headerrow>
7943 04 May 21 nicklas 255               <tbl:header subclass="row-index bg-filled-100">
7943 04 May 21 nicklas 256                 <div class="index-<%=mode.getName()%>">
7943 04 May 21 nicklas 257                   <div class="index"></div>
7943 04 May 21 nicklas 258                   <div class="check">
7943 04 May 21 nicklas 259                     <base:icon 
7943 04 May 21 nicklas 260                       subclass="link table-check"
7943 04 May 21 nicklas 261                       image="check_uncheck.png" 
7943 04 May 21 nicklas 262                       tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)" 
7943 04 May 21 nicklas 263                       visible="<%=lastRow && mode.hasCheck()%>"
7943 04 May 21 nicklas 264                     />
7943 04 May 21 nicklas 265                   </div>
7943 04 May 21 nicklas 266                   <div class="icons">
7943 04 May 21 nicklas 267                     <base:icon
7943 04 May 21 nicklas 268                       subclass="link table-filter-row-action"
7943 04 May 21 nicklas 269                       image="add.png"
7943 04 May 21 nicklas 270                       tooltip="Add extra filter row"
7943 04 May 21 nicklas 271                       visible="<%=lastRow%>"
7943 04 May 21 nicklas 272                     /><base:icon
7943 04 May 21 nicklas 273                       subclass="link table-filter-row-action"
7943 04 May 21 nicklas 274                       image="remove.png"
7943 04 May 21 nicklas 275                       tooltip="Remove this filter row"
7943 04 May 21 nicklas 276                       visible="<%=numRows > 1 || numFilters > 0 %>"
7943 04 May 21 nicklas 277                       data-remove-row="<%=filterNo%>"
7943 04 May 21 nicklas 278                     />
7943 04 May 21 nicklas 279                   </div>
7943 04 May 21 nicklas 280                 </div>
6701 30 Jan 15 nicklas 281               </tbl:header>
6701 30 Jan 15 nicklas 282               <tbl:propertyfilter row="<%=filterNo%>" />
6701 30 Jan 15 nicklas 283             </tbl:headerrow>
6701 30 Jan 15 nicklas 284             <%
6701 30 Jan 15 nicklas 285           }
6701 30 Jan 15 nicklas 286           %>
7913 22 Feb 21 nicklas 287           <tbl:columnsubtitles />
5948 08 Feb 12 nicklas 288         </tbl:headers>
5948 08 Feb 12 nicklas 289         <tbl:rows>
5525 06 Dec 10 nicklas 290           <%
5951 09 Feb 12 nicklas 291           if (cc.getMessage() != null)
5951 09 Feb 12 nicklas 292           {
5951 09 Feb 12 nicklas 293             %>
6604 18 Nov 14 nicklas 294             <tbl:panel subclass="bg-filled-50">
5951 09 Feb 12 nicklas 295               <div class="messagecontainer error"><%=cc.getMessage()%></div>
5951 09 Feb 12 nicklas 296             </tbl:panel>
5951 09 Feb 12 nicklas 297             <%
5951 09 Feb 12 nicklas 298             cc.setMessage(null);
5951 09 Feb 12 nicklas 299           }
5525 06 Dec 10 nicklas 300           int index = cc.getPage()*cc.getRowsPerPage();
5525 06 Dec 10 nicklas 301           int selectedItemId = cc.getId();
5525 06 Dec 10 nicklas 302           if (bioPlateEventTypes != null)
5525 06 Dec 10 nicklas 303           {            
5525 06 Dec 10 nicklas 304             while (bioPlateEventTypes.hasNext())
5525 06 Dec 10 nicklas 305             {
5525 06 Dec 10 nicklas 306               BioPlateEventType item = bioPlateEventTypes.next();
5525 06 Dec 10 nicklas 307               int itemId = item.getId();
5525 06 Dec 10 nicklas 308               String name = HTML.encodeTags(item.getName());
5525 06 Dec 10 nicklas 309               boolean usePermission = item.hasPermission(Permission.USE);
5525 06 Dec 10 nicklas 310               boolean writePermission = item.hasPermission(Permission.WRITE);
6221 10 Jan 13 nicklas 311               
5525 06 Dec 10 nicklas 312               String tooltip = mode.isSelectionMode() ? 
5525 06 Dec 10 nicklas 313                   "Select this item" : "View this item" + (writePermission ? " (use CTRL, ALT or SHIFT to edit)" : "");
5525 06 Dec 10 nicklas 314               index++;
5525 06 Dec 10 nicklas 315               numListed++;
5525 06 Dec 10 nicklas 316               %>
5525 06 Dec 10 nicklas 317               <tbl:row>
7943 04 May 21 nicklas 318                 <tbl:header clazz="row-index bg-filled-100">
7943 04 May 21 nicklas 319                   <div class="index-<%=mode.getName()%>">
7943 04 May 21 nicklas 320                     <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
7943 04 May 21 nicklas 321                     <div class="check">
7943 04 May 21 nicklas 322                       <base:input
7943 04 May 21 nicklas 323                         type="checkbox" 
7943 04 May 21 nicklas 324                         name="<%=itemId%>" 
7943 04 May 21 nicklas 325                         value="<%=itemId%>" 
7943 04 May 21 nicklas 326                         title="<%=name%>" 
7943 04 May 21 nicklas 327                         checked="<%=cc.getSelected().contains(itemId)%>"
7943 04 May 21 nicklas 328                         visible="<%=mode.hasCheck()%>"
7943 04 May 21 nicklas 329                       />
7943 04 May 21 nicklas 330                       <base:input 
7943 04 May 21 nicklas 331                         type="radio" 
7943 04 May 21 nicklas 332                         name="item_id" 
7943 04 May 21 nicklas 333                         value="<%=itemId%>" 
7943 04 May 21 nicklas 334                         title="<%=name%>" 
7943 04 May 21 nicklas 335                         checked="<%=selectedItemId == itemId%>"
7943 04 May 21 nicklas 336                         visible="<%=mode.hasRadio()%>"
7943 04 May 21 nicklas 337                       />
7943 04 May 21 nicklas 338                     </div>
7943 04 May 21 nicklas 339                     <div class="icons">
7943 04 May 21 nicklas 340                       <base:icon 
7943 04 May 21 nicklas 341                         image="deleted.png"
7943 04 May 21 nicklas 342                         id="<%="delete."+itemId %>"
7943 04 May 21 nicklas 343                         subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
7943 04 May 21 nicklas 344                         data-item-id="<%=itemId%>"
7943 04 May 21 nicklas 345                         tooltip="This item has been scheduled for deletion" 
7943 04 May 21 nicklas 346                         visible="<%=item.isRemoved()%>"
7943 04 May 21 nicklas 347                       />
7943 04 May 21 nicklas 348                     </div>
7943 04 May 21 nicklas 349                   </div>
7943 04 May 21 nicklas 350                 </tbl:header>
6260 27 Mar 13 nicklas 351                 <tbl:cell column="name"><div 
6260 27 Mar 13 nicklas 352                   class="link table-item"
6260 27 Mar 13 nicklas 353                   data-item-id="<%=itemId%>"
6260 27 Mar 13 nicklas 354                   data-no-edit="<%=writePermission ? 0 : 1 %>" 
6260 27 Mar 13 nicklas 355                   tabindex="0"
5525 06 Dec 10 nicklas 356                   title="<%=tooltip%>"><%=name%></div></tbl:cell>
5525 06 Dec 10 nicklas 357                 <tbl:cell column="id"><%=item.getId()%></tbl:cell>
5525 06 Dec 10 nicklas 358                 <tbl:cell column="systemId"><%=HTML.encodeTags(item.getSystemId())%></tbl:cell>
5525 06 Dec 10 nicklas 359                 <tbl:cell column="description"><%=HTML.encodeTags(item.getDescription())%></tbl:cell>
6038 29 Mar 12 nicklas 360                 <tbl:xt-cells dc="<%=dc%>" item="<%=item%>">
6038 29 Mar 12 nicklas 361                   <tbl:cell column="xt-columns" />
6038 29 Mar 12 nicklas 362                 </tbl:xt-cells>
5525 06 Dec 10 nicklas 363               </tbl:row>
5525 06 Dec 10 nicklas 364               <%
5525 06 Dec 10 nicklas 365               }
5525 06 Dec 10 nicklas 366             }
5951 09 Feb 12 nicklas 367           if (numListed == 0)
5951 09 Feb 12 nicklas 368           {
5951 09 Feb 12 nicklas 369             %>
6604 18 Nov 14 nicklas 370             <tbl:panel subclass="bg-filled-50">
5951 09 Feb 12 nicklas 371               <div class="messagecontainer note">
5951 09 Feb 12 nicklas 372               <%=bioPlateEventTypes == null || bioPlateEventTypes.getTotalCount() == 0 ? "No bioplate event types were found" : "No bioplate event types on this page. Please select another page!" %>
5951 09 Feb 12 nicklas 373               </div>
5951 09 Feb 12 nicklas 374             </tbl:panel>
5951 09 Feb 12 nicklas 375             <%
5951 09 Feb 12 nicklas 376           }
5525 06 Dec 10 nicklas 377           %>
5951 09 Feb 12 nicklas 378         </tbl:rows>
5525 06 Dec 10 nicklas 379       </tbl:data>
5525 06 Dec 10 nicklas 380     </tbl:table>
5951 09 Feb 12 nicklas 381     </div>
5951 09 Feb 12 nicklas 382     
5951 09 Feb 12 nicklas 383     <base:buttongroup subclass="dialogbuttons">
6260 27 Mar 13 nicklas 384       <base:button id="btnOk" title="Ok" visible="<%=mode.hasOkButton()%>" />
6260 27 Mar 13 nicklas 385       <base:button id="close" title="Cancel" visible="<%=mode.hasCancelButton()%>" />
6260 27 Mar 13 nicklas 386       <base:button id="close" title="Close" visible="<%=mode.hasCloseButton()%>" />
5525 06 Dec 10 nicklas 387     </base:buttongroup>
5951 09 Feb 12 nicklas 388     
5525 06 Dec 10 nicklas 389   </base:body>
5525 06 Dec 10 nicklas 390   </base:page>
5525 06 Dec 10 nicklas 391   <%
5525 06 Dec 10 nicklas 392 }
5525 06 Dec 10 nicklas 393 finally
5525 06 Dec 10 nicklas 394 {
5525 06 Dec 10 nicklas 395   if (bioPlateEventTypes != null) bioPlateEventTypes.close();
5525 06 Dec 10 nicklas 396   if (dc != null) dc.close();
5525 06 Dec 10 nicklas 397 }
5525 06 Dec 10 nicklas 398 %>