www/admin/annotationtypes/list_annotationtypes.jsp

Code
Comments
Other
Rev Date Author Line
1980 14 Feb 06 nicklas 1 <%-- $Id$
1980 14 Feb 06 nicklas 2   ------------------------------------------------------------------
5425 23 Sep 10 nicklas 3   Copyright (C) 2006 Jari Häkkinen, Nicklas Nordborg, Martin Svensson
3675 16 Aug 07 jari 4   Copyright (C) 2007 Johan Enell, Nicklas Nordborg, Martin Svensson
1980 14 Feb 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/
1980 14 Feb 06 nicklas 8
1980 14 Feb 06 nicklas 9   BASE is free software; you can redistribute it and/or
1980 14 Feb 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
1980 14 Feb 06 nicklas 12   of the License, or (at your option) any later version.
1980 14 Feb 06 nicklas 13
1980 14 Feb 06 nicklas 14   BASE is distributed in the hope that it will be useful,
1980 14 Feb 06 nicklas 15   but WITHOUT ANY WARRANTY; without even the implied warranty of
1980 14 Feb 06 nicklas 16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1980 14 Feb 06 nicklas 17   GNU General Public License for more details.
1980 14 Feb 06 nicklas 18
1980 14 Feb 06 nicklas 19   You should have received a copy of the GNU General Public License
4510 11 Sep 08 jari 20   along with BASE. If not, see <http://www.gnu.org/licenses/>.
1980 14 Feb 06 nicklas 21   ------------------------------------------------------------------
1980 14 Feb 06 nicklas 22
1980 14 Feb 06 nicklas 23   @author Nicklas
1980 14 Feb 06 nicklas 24   @version 2.0
1980 14 Feb 06 nicklas 25 --%>
5426 24 Sep 10 nicklas 26 <%@ page pageEncoding="UTF-8" session="false"
1980 14 Feb 06 nicklas 27   import="net.sf.basedb.core.SessionControl"
1980 14 Feb 06 nicklas 28   import="net.sf.basedb.core.DbControl"
1980 14 Feb 06 nicklas 29   import="net.sf.basedb.core.Item"
1980 14 Feb 06 nicklas 30   import="net.sf.basedb.core.AnnotationType"
2515 14 Aug 06 nicklas 31   import="net.sf.basedb.core.AnnotationTypeCategory"
4544 25 Sep 08 nicklas 32   import="net.sf.basedb.core.Quantity"
1980 14 Feb 06 nicklas 33   import="net.sf.basedb.core.ItemQuery"
1980 14 Feb 06 nicklas 34   import="net.sf.basedb.core.Include"
1980 14 Feb 06 nicklas 35   import="net.sf.basedb.core.Type"
1980 14 Feb 06 nicklas 36   import="net.sf.basedb.core.Metadata"
1980 14 Feb 06 nicklas 37   import="net.sf.basedb.core.ItemResultIterator"
1980 14 Feb 06 nicklas 38   import="net.sf.basedb.core.ItemResultList"
1980 14 Feb 06 nicklas 39   import="net.sf.basedb.core.ItemContext"
3552 06 Jul 07 martin 40   import="net.sf.basedb.core.Nameable"
1980 14 Feb 06 nicklas 41   import="net.sf.basedb.core.Permission"
1980 14 Feb 06 nicklas 42   import="net.sf.basedb.core.PluginDefinition"
2515 14 Aug 06 nicklas 43   import="net.sf.basedb.core.query.Restrictions"
2515 14 Aug 06 nicklas 44   import="net.sf.basedb.core.query.Expressions"
1980 14 Feb 06 nicklas 45   import="net.sf.basedb.core.query.Orders"
1980 14 Feb 06 nicklas 46   import="net.sf.basedb.core.query.Hql"
1980 14 Feb 06 nicklas 47   import="net.sf.basedb.core.plugin.GuiContext"
1980 14 Feb 06 nicklas 48   import="net.sf.basedb.core.plugin.Plugin"
1980 14 Feb 06 nicklas 49   import="net.sf.basedb.util.Enumeration"
3552 06 Jul 07 martin 50   import="net.sf.basedb.util.ShareableUtil"
1980 14 Feb 06 nicklas 51   import="net.sf.basedb.clients.web.Base"
2401 21 Jun 06 martin 52   import="net.sf.basedb.clients.web.PermissionUtil"
1980 14 Feb 06 nicklas 53   import="net.sf.basedb.clients.web.ModeInfo"
1980 14 Feb 06 nicklas 54   import="net.sf.basedb.clients.web.util.HTML"
2753 20 Oct 06 nicklas 55   import="net.sf.basedb.util.Values"
4698 10 Dec 08 nicklas 56   import="net.sf.basedb.util.formatter.Formatter"
4698 10 Dec 08 nicklas 57   import="net.sf.basedb.clients.web.formatter.FormatterFactory"
4886 03 Apr 09 nicklas 58   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
4886 03 Apr 09 nicklas 59   import="net.sf.basedb.clients.web.extensions.JspContext"
4886 03 Apr 09 nicklas 60   import="net.sf.basedb.clients.web.extensions.renderer.PrefixSuffixRenderer"
7604 25 Feb 19 nicklas 61   import="net.sf.basedb.clients.web.extensions.toolbar.ButtonAction" 
4886 03 Apr 09 nicklas 62   import="net.sf.basedb.clients.web.extensions.toolbar.ToolbarUtil"
7604 25 Feb 19 nicklas 63   import="net.sf.basedb.clients.web.extensions.list.ListColumnAction"
6045 03 Apr 12 nicklas 64   import="net.sf.basedb.clients.web.extensions.list.ListColumnUtil"
4886 03 Apr 09 nicklas 65   import="net.sf.basedb.util.extensions.ExtensionsInvoker"
4698 10 Dec 08 nicklas 66   import="java.util.Date"
3552 06 Jul 07 martin 67   import="java.util.Iterator"
1980 14 Feb 06 nicklas 68   import="java.util.List"
1980 14 Feb 06 nicklas 69   import="java.util.Map"
1980 14 Feb 06 nicklas 70   import="java.util.Set"
5706 23 Aug 11 nicklas 71   import="java.util.EnumSet"
1980 14 Feb 06 nicklas 72 %>
1980 14 Feb 06 nicklas 73 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
1980 14 Feb 06 nicklas 74 <%@ taglib prefix="tbl" uri="/WEB-INF/table.tld" %>
1980 14 Feb 06 nicklas 75 <%@ taglib prefix="m" uri="/WEB-INF/menu.tld" %>
4886 03 Apr 09 nicklas 76 <%@ taglib prefix="ext" uri="/WEB-INF/extensions.tld" %>
1980 14 Feb 06 nicklas 77 <%!
1980 14 Feb 06 nicklas 78   private static final Item itemType = Item.ANNOTATIONTYPE;
1980 14 Feb 06 nicklas 79   private static final GuiContext guiContext = new GuiContext(itemType, GuiContext.Type.LIST);
1980 14 Feb 06 nicklas 80   
1980 14 Feb 06 nicklas 81   private static final Enumeration<String, String> items = new Enumeration<String, String>();
1980 14 Feb 06 nicklas 82   private static Enumeration<String, String> types = new Enumeration<String, String>();
1980 14 Feb 06 nicklas 83   static
1980 14 Feb 06 nicklas 84   {
4278 08 May 08 nicklas 85     items.add("", "- none -");
1980 14 Feb 06 nicklas 86     for (Item item : Metadata.getAnnotatableItems())
1980 14 Feb 06 nicklas 87     {
1980 14 Feb 06 nicklas 88       items.add(Integer.toString(item.getValue()), item.toString());
1980 14 Feb 06 nicklas 89     }
1980 14 Feb 06 nicklas 90     for (Type v : Type.values())
1980 14 Feb 06 nicklas 91     {
1980 14 Feb 06 nicklas 92       types.add(Integer.toString(v.getValue()), v.toString());
1980 14 Feb 06 nicklas 93     }
1980 14 Feb 06 nicklas 94   }
1980 14 Feb 06 nicklas 95 %>
1980 14 Feb 06 nicklas 96 <%
1980 14 Feb 06 nicklas 97 final SessionControl sc = Base.getExistingSessionControl(pageContext, Permission.DENIED, itemType);
1980 14 Feb 06 nicklas 98 final String ID = sc.getId();
1980 14 Feb 06 nicklas 99 final boolean createPermission = sc.hasPermission(Permission.CREATE, itemType);
1980 14 Feb 06 nicklas 100 final ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, null, null);
1980 14 Feb 06 nicklas 101
1980 14 Feb 06 nicklas 102 final ModeInfo mode = ModeInfo.get(request.getParameter("mode"));
1980 14 Feb 06 nicklas 103 final String callback = request.getParameter("callback");
1980 14 Feb 06 nicklas 104 final String title = mode.generateTitle("annotation type", "annotation types");
7954 12 May 21 nicklas 105 final DbControl dc = sc.newDbControl(":List "+itemType);
1980 14 Feb 06 nicklas 106 ItemResultIterator<AnnotationType> annotationTypes = null;
1980 14 Feb 06 nicklas 107 try
1980 14 Feb 06 nicklas 108 {
4698 10 Dec 08 nicklas 109   Formatter<Date> dateFormatter = FormatterFactory.getDateFormatter(sc);
2515 14 Aug 06 nicklas 110   // Query for categories of the current annotation type
2515 14 Aug 06 nicklas 111   final ItemQuery<AnnotationTypeCategory> categoryQuery = AnnotationTypeCategory.getQuery();
2515 14 Aug 06 nicklas 112   categoryQuery.include(cc.getInclude());
2515 14 Aug 06 nicklas 113   categoryQuery.join(Hql.innerJoin("annotationTypes", "atp"));
2515 14 Aug 06 nicklas 114   categoryQuery.restrict(Restrictions.eq(Hql.alias("atp"), Expressions.parameter("annotationType")));
2515 14 Aug 06 nicklas 115   categoryQuery.order(Orders.asc(Hql.property("name"))); 
1980 14 Feb 06 nicklas 116
4544 25 Sep 08 nicklas 117   // Get all quantities
4544 25 Sep 08 nicklas 118   final ItemQuery<Quantity> quantityQuery = Quantity.getQuery();
4544 25 Sep 08 nicklas 119   quantityQuery.order(Orders.asc(Hql.property("name")));
4544 25 Sep 08 nicklas 120   quantityQuery.setCacheResult(true);
4544 25 Sep 08 nicklas 121
1980 14 Feb 06 nicklas 122   Map<Plugin.MainType, Integer> pluginCount = PluginDefinition.countPlugins(dc, guiContext);
7914 23 Feb 21 nicklas 123   JspContext jspContext = ExtensionsControl.createContext(dc, pageContext, guiContext, null);
1980 14 Feb 06 nicklas 124   try
1980 14 Feb 06 nicklas 125   {
7914 23 Feb 21 nicklas 126     final ItemQuery<AnnotationType> query = Base.getConfiguredQuery(dc, cc, jspContext, true, AnnotationType.getQuery(null), mode);
1980 14 Feb 06 nicklas 127     annotationTypes = query.iterate(dc);
1980 14 Feb 06 nicklas 128   }
1980 14 Feb 06 nicklas 129   catch (Throwable ex)
1980 14 Feb 06 nicklas 130   {
1980 14 Feb 06 nicklas 131     cc.setMessage(ex.getMessage());
1980 14 Feb 06 nicklas 132   }
1980 14 Feb 06 nicklas 133   int numListed = 0;
7604 25 Feb 19 nicklas 134   ExtensionsInvoker<ButtonAction> invoker = ToolbarUtil.useExtensions(jspContext);
7604 25 Feb 19 nicklas 135   ExtensionsInvoker<ListColumnAction<AnnotationType,?>> columnsInvoker = ListColumnUtil.useExtensions(jspContext);
1980 14 Feb 06 nicklas 136   %>
6289 05 Jun 13 nicklas 137   <base:page title="<%=title==null ? "Annotation types" : title%>" type="<%=mode.getPageType()%>" id="list-page">
6289 05 Jun 13 nicklas 138   <base:head scripts="table.js,~annotationtypes.js" styles="table.css,toolbar.css">
4886 03 Apr 09 nicklas 139     <ext:scripts context="<%=jspContext%>" />
4886 03 Apr 09 nicklas 140     <ext:stylesheets context="<%=jspContext%>" />
1980 14 Feb 06 nicklas 141   </base:head>
1980 14 Feb 06 nicklas 142   
1980 14 Feb 06 nicklas 143   <base:body>
6149 25 Sep 12 nicklas 144     <m:menu 
6289 05 Jun 13 nicklas 145       id="mnuNewAnnotationType"
6149 25 Sep 12 nicklas 146       style="display: none;">
6149 25 Sep 12 nicklas 147       <%
6149 25 Sep 12 nicklas 148       Set<Type> separator = EnumSet.of(Type.DOUBLE, Type.TEXT, Type.BOOLEAN);
6149 25 Sep 12 nicklas 149       for (Type valueType : Type.values())
6149 25 Sep 12 nicklas 150       {
6149 25 Sep 12 nicklas 151         %>
6149 25 Sep 12 nicklas 152         <m:menuitem 
6149 25 Sep 12 nicklas 153           title="<%=valueType.toString()+" annotation type"%>" 
6289 05 Jun 13 nicklas 154           data-value-type="<%=valueType.name() %>"
6149 25 Sep 12 nicklas 155         />
6149 25 Sep 12 nicklas 156         <%
6149 25 Sep 12 nicklas 157         if (separator.contains(valueType))
6149 25 Sep 12 nicklas 158         {
6149 25 Sep 12 nicklas 159           %>
6149 25 Sep 12 nicklas 160           <m:menuseparator />
6149 25 Sep 12 nicklas 161           <%
6149 25 Sep 12 nicklas 162         }
6149 25 Sep 12 nicklas 163       }
6149 25 Sep 12 nicklas 164       %>
6149 25 Sep 12 nicklas 165     </m:menu>
5954 13 Feb 12 nicklas 166     <h1><%=title==null ? "Annotation types" : title%></h1>
5954 13 Feb 12 nicklas 167     <div class="content">
1980 14 Feb 06 nicklas 168     <tbl:table 
1980 14 Feb 06 nicklas 169       id="annotationTypes" 
1980 14 Feb 06 nicklas 170       columns="<%=cc.getSetting("columns")%>"
1980 14 Feb 06 nicklas 171       sortby="<%=cc.getSortProperty()%>" 
1980 14 Feb 06 nicklas 172       direction="<%=cc.getSortDirection()%>"
1980 14 Feb 06 nicklas 173       action="index.jsp"
1980 14 Feb 06 nicklas 174       sc="<%=sc%>"
1980 14 Feb 06 nicklas 175       item="<%=itemType%>"
6706 02 Feb 15 nicklas 176       filterrows="<%=cc.getFilterRows()%>"
5954 13 Feb 12 nicklas 177       subclass="fulltable"
7982 14 Jun 21 nicklas 178       stickyheaders="<%=cc.getSetting("columns.sticky", "name")%>"
1980 14 Feb 06 nicklas 179       >
1980 14 Feb 06 nicklas 180       <tbl:hidden 
1980 14 Feb 06 nicklas 181         name="mode" 
1980 14 Feb 06 nicklas 182         value="<%=mode.getName()%>" 
1980 14 Feb 06 nicklas 183       />
1980 14 Feb 06 nicklas 184       <tbl:hidden 
1980 14 Feb 06 nicklas 185         name="callback" 
1980 14 Feb 06 nicklas 186         value="<%=callback%>" 
1980 14 Feb 06 nicklas 187         skip="<%=callback == null%>" 
1980 14 Feb 06 nicklas 188       />
1980 14 Feb 06 nicklas 189       <tbl:columndef 
1980 14 Feb 06 nicklas 190         id="name"
1980 14 Feb 06 nicklas 191         property="name"
1980 14 Feb 06 nicklas 192         datatype="string"
1980 14 Feb 06 nicklas 193         title="Name"
1980 14 Feb 06 nicklas 194         sortable="true" 
1980 14 Feb 06 nicklas 195         filterable="true"
1980 14 Feb 06 nicklas 196         exportable="true"
1980 14 Feb 06 nicklas 197         show="always" 
1980 14 Feb 06 nicklas 198       />
1980 14 Feb 06 nicklas 199       <tbl:columndef 
4332 12 Jun 08 martin 200         id="id"
4387 11 Aug 08 nicklas 201         clazz="uniquecol"
4332 12 Jun 08 martin 202         property="id"
4332 12 Jun 08 martin 203         datatype="int"
4332 12 Jun 08 martin 204         title="ID"
4332 12 Jun 08 martin 205         sortable="true"
4332 12 Jun 08 martin 206         filterable="true"
4332 12 Jun 08 martin 207         exportable="true"
4332 12 Jun 08 martin 208       />
4332 12 Jun 08 martin 209       <tbl:columndef 
4698 10 Dec 08 nicklas 210         id="entryDate"
4698 10 Dec 08 nicklas 211         property="entryDate"
4698 10 Dec 08 nicklas 212         datatype="date"
4698 10 Dec 08 nicklas 213         title="Registered"
4698 10 Dec 08 nicklas 214         sortable="true" 
4698 10 Dec 08 nicklas 215         filterable="true"
4698 10 Dec 08 nicklas 216         exportable="true"
4698 10 Dec 08 nicklas 217         formatter="<%=dateFormatter%>"
4698 10 Dec 08 nicklas 218       />
4698 10 Dec 08 nicklas 219       <tbl:columndef 
2933 17 Nov 06 nicklas 220         id="externalId"
2933 17 Nov 06 nicklas 221         property="externalId"
2933 17 Nov 06 nicklas 222         datatype="string"
2933 17 Nov 06 nicklas 223         title="External id"
2933 17 Nov 06 nicklas 224         sortable="true" 
2933 17 Nov 06 nicklas 225         filterable="true"
2933 17 Nov 06 nicklas 226         exportable="true"
2933 17 Nov 06 nicklas 227       />
2933 17 Nov 06 nicklas 228       <tbl:columndef 
1980 14 Feb 06 nicklas 229         id="valueType"
1980 14 Feb 06 nicklas 230         property="valueType"
1980 14 Feb 06 nicklas 231         datatype="int"
1980 14 Feb 06 nicklas 232         enumeration="<%=types%>"
1980 14 Feb 06 nicklas 233         title="Value type"
1980 14 Feb 06 nicklas 234         sortable="true" 
1980 14 Feb 06 nicklas 235         filterable="true"
1980 14 Feb 06 nicklas 236         exportable="true"
1980 14 Feb 06 nicklas 237       />
4544 25 Sep 08 nicklas 238       <%
4544 25 Sep 08 nicklas 239       Enumeration<String, String> quantities = new Enumeration<String, String>();
4544 25 Sep 08 nicklas 240       quantities.add("", "- none -");
4544 25 Sep 08 nicklas 241       for (Quantity q : quantityQuery.list(dc))
4544 25 Sep 08 nicklas 242       {
4544 25 Sep 08 nicklas 243         quantities.add(Integer.toString(q.getId()), q.getName());
4544 25 Sep 08 nicklas 244       }
4544 25 Sep 08 nicklas 245       %>
1980 14 Feb 06 nicklas 246       <tbl:columndef 
4544 25 Sep 08 nicklas 247         id="quantity"
4544 25 Sep 08 nicklas 248         property="quantity"
4544 25 Sep 08 nicklas 249         sortproperty="quantity.name"
6037 29 Mar 12 nicklas 250         exportproperty="quantity.name:string"
4544 25 Sep 08 nicklas 251         datatype="int"
4544 25 Sep 08 nicklas 252         enumeration="<%=quantities%>"
4544 25 Sep 08 nicklas 253         title="Quantity"
4544 25 Sep 08 nicklas 254         sortable="true" 
4544 25 Sep 08 nicklas 255         filterable="true"
4544 25 Sep 08 nicklas 256         exportable="true"
4544 25 Sep 08 nicklas 257       />
4544 25 Sep 08 nicklas 258       <tbl:columndef 
4544 25 Sep 08 nicklas 259         id="defaultUnit"
4544 25 Sep 08 nicklas 260         property="defaultUnit.name"
4544 25 Sep 08 nicklas 261         datatype="string"
4544 25 Sep 08 nicklas 262         title="Default unit"
4544 25 Sep 08 nicklas 263         sortable="true" 
4544 25 Sep 08 nicklas 264         filterable="true"
4544 25 Sep 08 nicklas 265         exportable="true"
4544 25 Sep 08 nicklas 266       />
4544 25 Sep 08 nicklas 267       <tbl:columndef 
7616 04 Mar 19 nicklas 268         id="isIdentifier"
7616 04 Mar 19 nicklas 269         property="identifier"
7616 04 Mar 19 nicklas 270         datatype="boolean"
7616 04 Mar 19 nicklas 271         title="Is identifier"
7616 04 Mar 19 nicklas 272         sortable="true" 
7616 04 Mar 19 nicklas 273         filterable="true"
7616 04 Mar 19 nicklas 274         exportable="true"
7616 04 Mar 19 nicklas 275       />
7616 04 Mar 19 nicklas 276       <tbl:columndef 
1980 14 Feb 06 nicklas 277         id="requiredForMiame"
1980 14 Feb 06 nicklas 278         property="requiredForMiame"
1980 14 Feb 06 nicklas 279         datatype="boolean"
1980 14 Feb 06 nicklas 280         title="Required for MIAME"
1980 14 Feb 06 nicklas 281         sortable="true" 
1980 14 Feb 06 nicklas 282         filterable="true"
1980 14 Feb 06 nicklas 283         exportable="true"
1980 14 Feb 06 nicklas 284       />
1980 14 Feb 06 nicklas 285       <tbl:columndef 
6358 27 Nov 13 nicklas 286         id="disableLogOfValues"
6358 27 Nov 13 nicklas 287         property="disableLogOfValues"
6358 27 Nov 13 nicklas 288         datatype="boolean"
7166 07 Jun 16 nicklas 289         title="Disable history log"
6358 27 Nov 13 nicklas 290         sortable="true" 
6358 27 Nov 13 nicklas 291         filterable="true"
6358 27 Nov 13 nicklas 292         exportable="true"
6358 27 Nov 13 nicklas 293       />
6358 27 Nov 13 nicklas 294       <tbl:columndef 
6728 13 Feb 15 nicklas 295         id="disableInheritance"
6728 13 Feb 15 nicklas 296         property="disableInheritance"
6728 13 Feb 15 nicklas 297         datatype="boolean"
6728 13 Feb 15 nicklas 298         title="Disable inheritance"
6728 13 Feb 15 nicklas 299         sortable="true" 
6728 13 Feb 15 nicklas 300         filterable="true"
6728 13 Feb 15 nicklas 301         exportable="true"
6728 13 Feb 15 nicklas 302       />
6728 13 Feb 15 nicklas 303       <tbl:columndef 
7244 01 Dec 16 nicklas 304         id="projectAnnotations"
7244 01 Dec 16 nicklas 305         property="projectAnnotations"
7244 01 Dec 16 nicklas 306         datatype="boolean"
7244 01 Dec 16 nicklas 307         title="Project annotations"
7244 01 Dec 16 nicklas 308         sortable="true" 
7244 01 Dec 16 nicklas 309         filterable="true"
7244 01 Dec 16 nicklas 310         exportable="true"
7244 01 Dec 16 nicklas 311       />
7244 01 Dec 16 nicklas 312       <tbl:columndef 
1980 14 Feb 06 nicklas 313         id="isEnumeration"
1980 14 Feb 06 nicklas 314         property="enumeration"
1980 14 Feb 06 nicklas 315         datatype="boolean"
1980 14 Feb 06 nicklas 316         title="Enumeration"
1980 14 Feb 06 nicklas 317         sortable="true" 
1980 14 Feb 06 nicklas 318         filterable="true"
1980 14 Feb 06 nicklas 319         exportable="true"
1980 14 Feb 06 nicklas 320       />
1980 14 Feb 06 nicklas 321       <tbl:columndef 
2875 08 Nov 06 nicklas 322         id="isProtocolParameter"
2875 08 Nov 06 nicklas 323         property="protocolParameter"
2875 08 Nov 06 nicklas 324         datatype="boolean"
2875 08 Nov 06 nicklas 325         title="Protocol parameter"
2875 08 Nov 06 nicklas 326         sortable="true" 
2875 08 Nov 06 nicklas 327         filterable="true"
2875 08 Nov 06 nicklas 328         exportable="true"
2875 08 Nov 06 nicklas 329       />
2875 08 Nov 06 nicklas 330       <tbl:columndef 
1980 14 Feb 06 nicklas 331         id="multiplicity"
1980 14 Feb 06 nicklas 332         property="multiplicity"
1980 14 Feb 06 nicklas 333         datatype="int"
1980 14 Feb 06 nicklas 334         title="Multiplicity"
1980 14 Feb 06 nicklas 335         sortable="true" 
1980 14 Feb 06 nicklas 336         filterable="true"
1980 14 Feb 06 nicklas 337         exportable="true"
1980 14 Feb 06 nicklas 338       />
1980 14 Feb 06 nicklas 339       <tbl:columndef 
1980 14 Feb 06 nicklas 340         id="defaultValue"
1980 14 Feb 06 nicklas 341         property="defaultValue"
1980 14 Feb 06 nicklas 342         datatype="string"
1980 14 Feb 06 nicklas 343         title="Default value"
1980 14 Feb 06 nicklas 344         sortable="true" 
1980 14 Feb 06 nicklas 345         filterable="true"
1980 14 Feb 06 nicklas 346         exportable="true"
1980 14 Feb 06 nicklas 347       />
1980 14 Feb 06 nicklas 348       <tbl:columndef 
7103 09 Mar 16 nicklas 349         id="minValue"
7105 10 Mar 16 nicklas 350         property="@options('minValue')"
7103 09 Mar 16 nicklas 351         datatype="string"
7103 09 Mar 16 nicklas 352         title="Min value"
7103 09 Mar 16 nicklas 353         exportable="true"
7105 10 Mar 16 nicklas 354         filterable="true"
7103 09 Mar 16 nicklas 355       />
7103 09 Mar 16 nicklas 356       <tbl:columndef 
7103 09 Mar 16 nicklas 357         id="maxValue"
7105 10 Mar 16 nicklas 358         property="@options('maxValue')"
7103 09 Mar 16 nicklas 359         datatype="string"
7103 09 Mar 16 nicklas 360         title="Max value"
7103 09 Mar 16 nicklas 361         exportable="true"
7105 10 Mar 16 nicklas 362         filterable="true"
7103 09 Mar 16 nicklas 363       />
7103 09 Mar 16 nicklas 364       <tbl:columndef 
1980 14 Feb 06 nicklas 365         id="itemTypes"
1980 14 Feb 06 nicklas 366         property="@itemTypes"
1980 14 Feb 06 nicklas 367         datatype="int"
1980 14 Feb 06 nicklas 368         enumeration="<%=items%>"
1980 14 Feb 06 nicklas 369         title="Item types"
1980 14 Feb 06 nicklas 370         sortable="false" 
1980 14 Feb 06 nicklas 371         filterable="true"
7088 03 Mar 16 nicklas 372         exportable="true"
1980 14 Feb 06 nicklas 373       />
1980 14 Feb 06 nicklas 374       <tbl:columndef 
2515 14 Aug 06 nicklas 375         id="categories"
2515 14 Aug 06 nicklas 376         title="Categories"
4609 28 Oct 08 nicklas 377         property="&categories(name)"
4609 28 Oct 08 nicklas 378         datatype="string"
4609 28 Oct 08 nicklas 379         filterable="true"
4907 28 Apr 09 martin 380         exportable="true"
2515 14 Aug 06 nicklas 381       />
2515 14 Aug 06 nicklas 382       <tbl:columndef 
1980 14 Feb 06 nicklas 383         id="owner"
1980 14 Feb 06 nicklas 384         property="owner.name"
1980 14 Feb 06 nicklas 385         datatype="string"
1980 14 Feb 06 nicklas 386         title="Owner"
1980 14 Feb 06 nicklas 387         sortable="true" 
1980 14 Feb 06 nicklas 388         filterable="true"
1980 14 Feb 06 nicklas 389         exportable="true"
1980 14 Feb 06 nicklas 390       />
1980 14 Feb 06 nicklas 391       <tbl:columndef 
1980 14 Feb 06 nicklas 392         id="description"
1980 14 Feb 06 nicklas 393         property="description"
1980 14 Feb 06 nicklas 394         datatype="string"
1980 14 Feb 06 nicklas 395         title="Description" 
1980 14 Feb 06 nicklas 396         sortable="true" 
1980 14 Feb 06 nicklas 397         filterable="true" 
1980 14 Feb 06 nicklas 398         exportable="true"
1980 14 Feb 06 nicklas 399       />
2401 21 Jun 06 martin 400       <tbl:columndef
2401 21 Jun 06 martin 401         id="permission"
2401 21 Jun 06 martin 402         title="Permission"
2401 21 Jun 06 martin 403       />
5165 28 Oct 09 nicklas 404       <tbl:columndef
3552 06 Jul 07 martin 405         id="sharedTo"
3552 06 Jul 07 martin 406         title="Shared to"
5165 28 Oct 09 nicklas 407         filterable="true"
5165 28 Oct 09 nicklas 408         filterproperty="!sharedTo.name"
5165 28 Oct 09 nicklas 409         datatype="string"
3552 06 Jul 07 martin 410       />
6045 03 Apr 12 nicklas 411       <tbl:columndef 
6045 03 Apr 12 nicklas 412         id="xt-columns" 
6045 03 Apr 12 nicklas 413         extensions="<%=columnsInvoker%>" 
6045 03 Apr 12 nicklas 414         jspcontext="<%=jspContext%>" 
6045 03 Apr 12 nicklas 415       />
6604 18 Nov 14 nicklas 416       <div class="panelgroup bg-filled-50 bottomborder">
5954 13 Feb 12 nicklas 417         <tbl:toolbar
5954 13 Feb 12 nicklas 418           subclass="bottomborder"
5954 13 Feb 12 nicklas 419           visible="<%=mode.hasToolbar()%>"
5954 13 Feb 12 nicklas 420           >
5954 13 Feb 12 nicklas 421           <tbl:button 
6289 05 Jun 13 nicklas 422             id="btnNewItem"
6289 05 Jun 13 nicklas 423             subclass="auto-init"
6289 05 Jun 13 nicklas 424             data-auto-init="menu-anchor"
6289 05 Jun 13 nicklas 425             data-menu-id="mnuNewAnnotationType"
5954 13 Feb 12 nicklas 426             disabled="<%=!createPermission%>" 
5954 13 Feb 12 nicklas 427             image="new.png" 
5954 13 Feb 12 nicklas 428             title="New&hellip;" 
5954 13 Feb 12 nicklas 429             tooltip="<%=createPermission ? "Create new annotation type" : "You do not have permission to create annotation types"%>" 
5954 13 Feb 12 nicklas 430           />
5954 13 Feb 12 nicklas 431           <tbl:button 
6289 05 Jun 13 nicklas 432             id="btnDeleteItems"
5954 13 Feb 12 nicklas 433             image="delete.png"
5954 13 Feb 12 nicklas 434             title="Delete" 
5954 13 Feb 12 nicklas 435             tooltip="Delete the selected items" 
5954 13 Feb 12 nicklas 436           />
5954 13 Feb 12 nicklas 437           <tbl:button 
6289 05 Jun 13 nicklas 438             id="btnRestoreItems"
5954 13 Feb 12 nicklas 439             image="restore.png"
5954 13 Feb 12 nicklas 440             title="Restore" 
5954 13 Feb 12 nicklas 441             tooltip="Restore the selected (deleted) items"
5954 13 Feb 12 nicklas 442           />
5954 13 Feb 12 nicklas 443           <tbl:button 
6289 05 Jun 13 nicklas 444             id="btnShareItems"
5954 13 Feb 12 nicklas 445             image="share.png"
5954 13 Feb 12 nicklas 446             title="Share&hellip;" 
5954 13 Feb 12 nicklas 447             tooltip="Share the selected items"
5954 13 Feb 12 nicklas 448           />
5954 13 Feb 12 nicklas 449           <tbl:button 
6289 05 Jun 13 nicklas 450             id="btnSetOwner"
5954 13 Feb 12 nicklas 451             image="take_ownership.png"
5954 13 Feb 12 nicklas 452             title="Set owner&hellip;"
5954 13 Feb 12 nicklas 453             tooltip="Change owner of the selected items"
5954 13 Feb 12 nicklas 454           />
5954 13 Feb 12 nicklas 455           <tbl:button 
6289 05 Jun 13 nicklas 456             id="btnColumns"
5954 13 Feb 12 nicklas 457             image="columns.png" 
5954 13 Feb 12 nicklas 458             title="Columns&hellip;" 
5954 13 Feb 12 nicklas 459             tooltip="Show, hide and re-order columns" 
5954 13 Feb 12 nicklas 460           />
5954 13 Feb 12 nicklas 461           <tbl:button 
6289 05 Jun 13 nicklas 462             id="btnImport"
6289 05 Jun 13 nicklas 463             data-plugin-type="IMPORT"
5954 13 Feb 12 nicklas 464             image="import.png" 
5954 13 Feb 12 nicklas 465             title="Import&hellip;" 
5954 13 Feb 12 nicklas 466             tooltip="Import data" 
5954 13 Feb 12 nicklas 467             visible="<%=pluginCount.containsKey(Plugin.MainType.IMPORT)%>"
5954 13 Feb 12 nicklas 468           />
5954 13 Feb 12 nicklas 469           <tbl:button 
6289 05 Jun 13 nicklas 470             id="btnExport"
6289 05 Jun 13 nicklas 471             data-plugin-type="EXPORT"
5954 13 Feb 12 nicklas 472             image="export.png" 
5954 13 Feb 12 nicklas 473             title="Export&hellip;" 
5954 13 Feb 12 nicklas 474             tooltip="Export data" 
5954 13 Feb 12 nicklas 475             visible="<%=pluginCount.containsKey(Plugin.MainType.EXPORT)%>"
5954 13 Feb 12 nicklas 476           />
5954 13 Feb 12 nicklas 477           <tbl:button 
6289 05 Jun 13 nicklas 478             id="btnRunPlugin"
6289 05 Jun 13 nicklas 479             data-plugin-type="OTHER"
5954 13 Feb 12 nicklas 480             image="runplugin.png" 
5954 13 Feb 12 nicklas 481             title="Run plugin&hellip;" 
5954 13 Feb 12 nicklas 482             tooltip="Run a plugin" 
5954 13 Feb 12 nicklas 483             visible="<%=pluginCount.containsKey(Plugin.MainType.OTHER)%>"
5954 13 Feb 12 nicklas 484           />
5954 13 Feb 12 nicklas 485           <ext:render extensions="<%=invoker%>" context="<%=jspContext%>" 
7604 25 Feb 19 nicklas 486             wrapper="<%=new PrefixSuffixRenderer<ButtonAction>(jspContext, "<td>", "</td>") %>"/>
5954 13 Feb 12 nicklas 487         </tbl:toolbar>
5954 13 Feb 12 nicklas 488         <tbl:panel>
6182 23 Oct 12 nicklas 489           <tbl:presetselector />
5954 13 Feb 12 nicklas 490           <tbl:navigator
5954 13 Feb 12 nicklas 491             page="<%=cc.getPage()%>" 
5954 13 Feb 12 nicklas 492             rowsperpage="<%=cc.getRowsPerPage()%>" 
5954 13 Feb 12 nicklas 493             totalrows="<%=annotationTypes == null ? 0 : annotationTypes.getTotalCount()%>" 
5954 13 Feb 12 nicklas 494             visible="<%=mode.hasNavigator()%>"
5954 13 Feb 12 nicklas 495           />
5954 13 Feb 12 nicklas 496         </tbl:panel>
5954 13 Feb 12 nicklas 497       </div>
1980 14 Feb 06 nicklas 498       <tbl:data>
5948 08 Feb 12 nicklas 499         <tbl:headers>
5948 08 Feb 12 nicklas 500           <tbl:headerrow>
7943 04 May 21 nicklas 501             <tbl:header clazz="row-index bg-filled-100" />
5948 08 Feb 12 nicklas 502             <tbl:columnheaders />
5948 08 Feb 12 nicklas 503           </tbl:headerrow>
6706 02 Feb 15 nicklas 504           <%
6706 02 Feb 15 nicklas 505           int numFilters = cc.getNumPropertyFilters();
6706 02 Feb 15 nicklas 506           int numRows = cc.getFilterRows();
6706 02 Feb 15 nicklas 507           for (int filterNo = 0; filterNo < numRows; filterNo++)
6706 02 Feb 15 nicklas 508           {
6706 02 Feb 15 nicklas 509             boolean lastRow = filterNo == numRows-1;
6706 02 Feb 15 nicklas 510             %>
6706 02 Feb 15 nicklas 511             <tbl:headerrow>
7943 04 May 21 nicklas 512               <tbl:header subclass="row-index bg-filled-100">
7943 04 May 21 nicklas 513                 <div class="index-<%=mode.getName()%>">
7943 04 May 21 nicklas 514                   <div class="index"></div>
7943 04 May 21 nicklas 515                   <div class="check">
7943 04 May 21 nicklas 516                     <base:icon 
7943 04 May 21 nicklas 517                       subclass="link table-check"
7943 04 May 21 nicklas 518                       image="check_uncheck.png" 
7943 04 May 21 nicklas 519                       tooltip="Toggle all (use CTRL, ALT or SHIFT to check/uncheck)" 
7943 04 May 21 nicklas 520                       visible="<%=lastRow && mode.hasCheck()%>"
7943 04 May 21 nicklas 521                     />
7943 04 May 21 nicklas 522                   </div>
7943 04 May 21 nicklas 523                   <div class="icons">
7943 04 May 21 nicklas 524                     <base:icon
7943 04 May 21 nicklas 525                       subclass="link table-filter-row-action"
7943 04 May 21 nicklas 526                       image="add.png"
7943 04 May 21 nicklas 527                       tooltip="Add extra filter row"
7943 04 May 21 nicklas 528                       visible="<%=lastRow%>"
7943 04 May 21 nicklas 529                     /><base:icon
7943 04 May 21 nicklas 530                       subclass="link table-filter-row-action"
7943 04 May 21 nicklas 531                       image="remove.png"
7943 04 May 21 nicklas 532                       tooltip="Remove this filter row"
7943 04 May 21 nicklas 533                       visible="<%=numRows > 1 || numFilters > 0 %>"
7943 04 May 21 nicklas 534                       data-remove-row="<%=filterNo%>"
7943 04 May 21 nicklas 535                     />
7943 04 May 21 nicklas 536                   </div>
7943 04 May 21 nicklas 537                 </div>
6706 02 Feb 15 nicklas 538               </tbl:header>
6706 02 Feb 15 nicklas 539               <tbl:propertyfilter row="<%=filterNo%>" />
6706 02 Feb 15 nicklas 540             </tbl:headerrow>
6706 02 Feb 15 nicklas 541             <%
6706 02 Feb 15 nicklas 542           }
6706 02 Feb 15 nicklas 543           %>
7913 22 Feb 21 nicklas 544           <tbl:columnsubtitles />
5948 08 Feb 12 nicklas 545         </tbl:headers>
5948 08 Feb 12 nicklas 546         <tbl:rows>
1980 14 Feb 06 nicklas 547           <%
5954 13 Feb 12 nicklas 548           if (cc.getMessage() != null)
5954 13 Feb 12 nicklas 549           {
5954 13 Feb 12 nicklas 550             %>
6604 18 Nov 14 nicklas 551             <tbl:panel subclass="bg-filled-50">
5954 13 Feb 12 nicklas 552               <div class="messagecontainer error"><%=cc.getMessage()%></div>
5954 13 Feb 12 nicklas 553             </tbl:panel>
5954 13 Feb 12 nicklas 554             <%
5954 13 Feb 12 nicklas 555             cc.setMessage(null);
5954 13 Feb 12 nicklas 556           }
1980 14 Feb 06 nicklas 557           int index = cc.getPage()*cc.getRowsPerPage();
1980 14 Feb 06 nicklas 558           int selectedItemId = cc.getId();
2374 13 Jun 06 martin 559           
1980 14 Feb 06 nicklas 560           if (annotationTypes != null)
1980 14 Feb 06 nicklas 561           {
1980 14 Feb 06 nicklas 562             while (annotationTypes.hasNext())
1980 14 Feb 06 nicklas 563             {
1980 14 Feb 06 nicklas 564               AnnotationType item = annotationTypes.next();
1980 14 Feb 06 nicklas 565               int itemId = item.getId();
6221 10 Jan 13 nicklas 566               
6221 10 Jan 13 nicklas 567               
4003 26 Nov 07 nicklas 568               boolean deletePermission = item.hasPermission(Permission.DELETE);
2437 28 Jun 06 nicklas 569               boolean sharePermission = item.hasPermission(Permission.SET_PERMISSION);
2500 09 Aug 06 martin 570               boolean writePermission = item.hasPermission(Permission.WRITE);
1980 14 Feb 06 nicklas 571               String name = HTML.encodeTags(item.getName());
2500 09 Aug 06 martin 572               String tooltip = mode.isSelectionMode() ? 
2500 09 Aug 06 martin 573                   "Select this item" : "View this item" + (writePermission ? " (use CTRL, ALT or SHIFT to edit)" : "");
1980 14 Feb 06 nicklas 574               index++;
1980 14 Feb 06 nicklas 575               numListed++;
1980 14 Feb 06 nicklas 576               Set<Item> itemTypes = item.getEnabledItems();
1980 14 Feb 06 nicklas 577               %>
1980 14 Feb 06 nicklas 578               <tbl:row>
7943 04 May 21 nicklas 579                 <tbl:header clazz="row-index bg-filled-100">
7943 04 May 21 nicklas 580                   <div class="index-<%=mode.getName()%>">
7943 04 May 21 nicklas 581                     <div class="index <%=index>999?"index-smaller":""%>"><%=index%></div>
7943 04 May 21 nicklas 582                     <div class="check">
7943 04 May 21 nicklas 583                       <base:input
7943 04 May 21 nicklas 584                         type="checkbox" 
7943 04 May 21 nicklas 585                         name="<%=itemId%>" 
7943 04 May 21 nicklas 586                         value="<%=itemId%>" 
7943 04 May 21 nicklas 587                         title="<%=name%>" 
7943 04 May 21 nicklas 588                         checked="<%=cc.getSelected().contains(itemId)%>"
7943 04 May 21 nicklas 589                         visible="<%=mode.hasCheck()%>"
7943 04 May 21 nicklas 590                       />
7943 04 May 21 nicklas 591                       <base:input 
7943 04 May 21 nicklas 592                         type="radio" 
7943 04 May 21 nicklas 593                         name="item_id" 
7943 04 May 21 nicklas 594                         value="<%=itemId%>" 
7943 04 May 21 nicklas 595                         title="<%=name%>" 
7943 04 May 21 nicklas 596                         checked="<%=selectedItemId == itemId%>"
7943 04 May 21 nicklas 597                         visible="<%=mode.hasRadio()%>"
7943 04 May 21 nicklas 598                       />
7943 04 May 21 nicklas 599                     </div>
7943 04 May 21 nicklas 600                     <div class="icons">
7943 04 May 21 nicklas 601                       <base:icon 
7943 04 May 21 nicklas 602                         image="deleted.png"
7943 04 May 21 nicklas 603                         id="<%="delete."+itemId %>"
7943 04 May 21 nicklas 604                         subclass="<%=deletePermission ? "table-delete-item" : "disabled" %>"
7943 04 May 21 nicklas 605                         data-item-id="<%=itemId%>"
7943 04 May 21 nicklas 606                         tooltip="This item has been scheduled for deletion" 
7943 04 May 21 nicklas 607                         visible="<%=item.isRemoved()%>"
7943 04 May 21 nicklas 608                       /><base:icon 
7943 04 May 21 nicklas 609                         image="shared.png" 
7943 04 May 21 nicklas 610                         id="<%="share."+itemId %>"
7943 04 May 21 nicklas 611                         subclass="<%=sharePermission ? "table-share-item" : "disabled" %>"
7943 04 May 21 nicklas 612                         data-item-id="<%=itemId%>"
7943 04 May 21 nicklas 613                         tooltip="This item is shared to other users, groups and/or projects" 
7943 04 May 21 nicklas 614                         visible="<%=item.isShared()%>"
7943 04 May 21 nicklas 615                       />
7943 04 May 21 nicklas 616                     </div>
7943 04 May 21 nicklas 617                   </div>
7943 04 May 21 nicklas 618                 </tbl:header>
6289 05 Jun 13 nicklas 619                 <tbl:cell column="name"><div 
6289 05 Jun 13 nicklas 620                   class="link table-item"
6289 05 Jun 13 nicklas 621                   data-item-id="<%=itemId%>"
6289 05 Jun 13 nicklas 622                   data-no-edit="<%=writePermission ? 0 : 1 %>" 
6289 05 Jun 13 nicklas 623                   tabindex="0"
2443 28 Jun 06 nicklas 624                   title="<%=tooltip%>"><%=name%></div></tbl:cell>
4332 12 Jun 08 martin 625                 <tbl:cell column="id"><%=item.getId()%></tbl:cell>
4698 10 Dec 08 nicklas 626                 <tbl:cell column="entryDate" value="<%=item.getEntryDate()%>" />
2933 17 Nov 06 nicklas 627                 <tbl:cell column="externalId"><%=HTML.encodeTags(item.getExternalId())%></tbl:cell>
1980 14 Feb 06 nicklas 628                 <tbl:cell column="valueType"><%=item.getValueType()%></tbl:cell>
4544 25 Sep 08 nicklas 629                 <tbl:cell column="quantity"><base:propertyvalue 
4544 25 Sep 08 nicklas 630                     item="<%=item%>" 
4544 25 Sep 08 nicklas 631                     property="quantity"
4544 25 Sep 08 nicklas 632                     enableEditLink="<%=mode.hasEditLink()%>" 
4544 25 Sep 08 nicklas 633                     enablePropertyLink="<%=mode.hasPropertyLink()%>"
4544 25 Sep 08 nicklas 634                   /></tbl:cell>
4544 25 Sep 08 nicklas 635                 <tbl:cell column="defaultUnit"><base:propertyvalue 
4544 25 Sep 08 nicklas 636                     item="<%=item%>" 
4544 25 Sep 08 nicklas 637                     property="defaultUnit"
4544 25 Sep 08 nicklas 638                     enableEditLink="<%=mode.hasEditLink()%>" 
4544 25 Sep 08 nicklas 639                     enablePropertyLink="<%=mode.hasPropertyLink()%>"
4544 25 Sep 08 nicklas 640                   /></tbl:cell>
1980 14 Feb 06 nicklas 641                 <tbl:cell column="isEnumeration"><%=item.isEnumeration() ? 
7605 26 Feb 19 nicklas 642                   HTML.encodeTags(Values.getString(item.getValues(), ", ", true, FormatterFactory.getTypeFormatter(sc, item.getValueType()) )) : 
1980 14 Feb 06 nicklas 643                   "<i>- no -</i>"%></tbl:cell>
7616 04 Mar 19 nicklas 644                 <tbl:cell column="isIdentifier"><%=item.isIdentifier() ? "yes" : "no"%></tbl:cell>
1980 14 Feb 06 nicklas 645                 <tbl:cell column="requiredForMiame"><%=item.isRequiredForMiame() ? "yes" : "no"%></tbl:cell>
2875 08 Nov 06 nicklas 646                 <tbl:cell column="isProtocolParameter"><%=item.isProtocolParameter() ? "yes" : "no"%></tbl:cell>
6358 27 Nov 13 nicklas 647                 <tbl:cell column="disableLogOfValues"><%=item.getDisableLogOfValues() ? "yes" : "no"%></tbl:cell>
6728 13 Feb 15 nicklas 648                 <tbl:cell column="disableInheritance"><%=item.getDisableInheritance() ? "yes" : "no"%></tbl:cell>
7244 01 Dec 16 nicklas 649                 <tbl:cell column="projectAnnotations"><%=item.getProjectAnnotations() ? "yes" : "no"%></tbl:cell>
1980 14 Feb 06 nicklas 650                 <tbl:cell column="multiplicity"><%=item.getMultiplicity() == 0 ? "<i>- unlimited -</i>" : item.getMultiplicity()%></tbl:cell>
1980 14 Feb 06 nicklas 651                 <tbl:cell column="defaultValue"><%=HTML.encodeTags(item.getDefaultValue())%></tbl:cell>
7103 09 Mar 16 nicklas 652                 <tbl:cell column="minValue"><%=HTML.encodeTags(item.getOption("minValue"))%></tbl:cell>
7103 09 Mar 16 nicklas 653                 <tbl:cell column="maxValue"><%=HTML.encodeTags(item.getOption("maxValue"))%></tbl:cell>
1980 14 Feb 06 nicklas 654                 <tbl:cell column="itemTypes"><%=itemTypes.isEmpty() ? "<i>- none -</i>" : Values.getString(itemTypes, ", ", true)%></tbl:cell>
2354 07 Jun 06 martin 655                 <tbl:cell column="owner"
2354 07 Jun 06 martin 656                   ><base:propertyvalue 
2354 07 Jun 06 martin 657                     item="<%=item%>" 
2354 07 Jun 06 martin 658                     property="owner"
2354 07 Jun 06 martin 659                     enableEditLink="<%=mode.hasEditLink()%>" 
2354 07 Jun 06 martin 660                     enablePropertyLink="<%=mode.hasPropertyLink()%>"
2354 07 Jun 06 martin 661                   /></tbl:cell>
1980 14 Feb 06 nicklas 662                 <tbl:cell column="description"><%=HTML.encodeTags(item.getDescription())%></tbl:cell>
2401 21 Jun 06 martin 663                 <tbl:cell column="permission"><%=PermissionUtil.getShortPermissions(item)%></tbl:cell>
2515 14 Aug 06 nicklas 664                 <tbl:cell column="categories">
2515 14 Aug 06 nicklas 665                   <%
2515 14 Aug 06 nicklas 666                   categoryQuery.setParameter("annotationType", itemId, Type.INT);
2515 14 Aug 06 nicklas 667                   try
2515 14 Aug 06 nicklas 668                   {
2515 14 Aug 06 nicklas 669                     String separator = "";
2515 14 Aug 06 nicklas 670                     for (AnnotationTypeCategory c : categoryQuery.list(dc))
2515 14 Aug 06 nicklas 671                     {
2515 14 Aug 06 nicklas 672                       out.write(separator);
2515 14 Aug 06 nicklas 673                       if (mode.hasPropertyLink())
2515 14 Aug 06 nicklas 674                       {
2515 14 Aug 06 nicklas 675                         out.write(Base.getLinkedName(ID, c, false, mode.hasEditLink()));
2515 14 Aug 06 nicklas 676                       }
2515 14 Aug 06 nicklas 677                       else
2515 14 Aug 06 nicklas 678                       {
2515 14 Aug 06 nicklas 679                         out.write(HTML.encodeTags(c.getName()));
2515 14 Aug 06 nicklas 680                       }
2515 14 Aug 06 nicklas 681                       separator = ", ";
2515 14 Aug 06 nicklas 682                     }
2515 14 Aug 06 nicklas 683                   }
2515 14 Aug 06 nicklas 684                   catch (Throwable t)
2515 14 Aug 06 nicklas 685                   {
2515 14 Aug 06 nicklas 686                     %>
2515 14 Aug 06 nicklas 687                     <div class="error"><%=t.getMessage()%></div>
2515 14 Aug 06 nicklas 688                     <%
2515 14 Aug 06 nicklas 689                   }
2515 14 Aug 06 nicklas 690                   %>
2515 14 Aug 06 nicklas 691                 </tbl:cell>
3552 06 Jul 07 martin 692                 <tbl:cell column="sharedTo">
3552 06 Jul 07 martin 693                   <%
3552 06 Jul 07 martin 694                   Iterator<Nameable> sharees = ShareableUtil.getSharedTo(dc, item).iterator();
3552 06 Jul 07 martin 695                   while(sharees.hasNext())
3552 06 Jul 07 martin 696                   {
3552 06 Jul 07 martin 697                     Nameable n = sharees.next();
3552 06 Jul 07 martin 698                     if (mode.hasPropertyLink())
3552 06 Jul 07 martin 699                     {
3552 06 Jul 07 martin 700                       out.write(Base.getLinkedName(ID, n, false, mode.hasEditLink()));
3552 06 Jul 07 martin 701                     }
3552 06 Jul 07 martin 702                     else
3552 06 Jul 07 martin 703                     {
3552 06 Jul 07 martin 704                       out.write(HTML.encodeTags(n.getName()));
3552 06 Jul 07 martin 705                     }
3552 06 Jul 07 martin 706                     out.write(sharees.hasNext() ? ", " : "");
3552 06 Jul 07 martin 707                   }
3552 06 Jul 07 martin 708                   %>
3552 06 Jul 07 martin 709                 </tbl:cell>
6045 03 Apr 12 nicklas 710                 <tbl:xt-cells dc="<%=dc%>" item="<%=item%>">
6045 03 Apr 12 nicklas 711                   <tbl:cell column="xt-columns" />
6045 03 Apr 12 nicklas 712                 </tbl:xt-cells>
1980 14 Feb 06 nicklas 713               </tbl:row>
1980 14 Feb 06 nicklas 714               <%
1980 14 Feb 06 nicklas 715             }
1980 14 Feb 06 nicklas 716           }
5954 13 Feb 12 nicklas 717           if (numListed == 0)
5954 13 Feb 12 nicklas 718           {
5954 13 Feb 12 nicklas 719             %>
6604 18 Nov 14 nicklas 720             <tbl:panel subclass="bg-filled-50">
5954 13 Feb 12 nicklas 721               <div class="messagecontainer note">
5954 13 Feb 12 nicklas 722               <%=annotationTypes == null || annotationTypes.getTotalCount() == 0 ? "No annotation types were found" : "No annotation types on this page. Please select another page!" %>
5954 13 Feb 12 nicklas 723               </div>
5954 13 Feb 12 nicklas 724             </tbl:panel>
5954 13 Feb 12 nicklas 725             <%
5954 13 Feb 12 nicklas 726           }
1980 14 Feb 06 nicklas 727           %>
5954 13 Feb 12 nicklas 728         </tbl:rows>
1980 14 Feb 06 nicklas 729       </tbl:data>
1980 14 Feb 06 nicklas 730     </tbl:table>
5954 13 Feb 12 nicklas 731     </div>
5954 13 Feb 12 nicklas 732     
5951 09 Feb 12 nicklas 733     <base:buttongroup subclass="dialogbuttons">
6289 05 Jun 13 nicklas 734       <base:button id="btnOk" title="Ok" visible="<%=mode.hasOkButton()%>" />
6289 05 Jun 13 nicklas 735       <base:button id="close" title="Cancel" visible="<%=mode.hasCancelButton()%>" />
6289 05 Jun 13 nicklas 736       <base:button id="close" title="Close" visible="<%=mode.hasCloseButton()%>" />
1980 14 Feb 06 nicklas 737     </base:buttongroup>
5951 09 Feb 12 nicklas 738     
1980 14 Feb 06 nicklas 739   </base:body>
1980 14 Feb 06 nicklas 740   </base:page>
1980 14 Feb 06 nicklas 741   <%
1980 14 Feb 06 nicklas 742 }
1980 14 Feb 06 nicklas 743 finally
1980 14 Feb 06 nicklas 744 {
1980 14 Feb 06 nicklas 745   if (annotationTypes != null) annotationTypes.close();
1980 14 Feb 06 nicklas 746   if (dc != null) dc.close();
1980 14 Feb 06 nicklas 747 }
3675 16 Aug 07 jari 748 %>