extensions/net.sf.basedb.reggie/trunk/resources/libprep/select_rna.jsp

Code
Comments
Other
Rev Date Author Line
1742 23 Nov 12 nicklas 1 <%@ page
1742 23 Nov 12 nicklas 2   pageEncoding="UTF-8"
1742 23 Nov 12 nicklas 3   session="false"
1742 23 Nov 12 nicklas 4   import="net.sf.basedb.core.Application"
1742 23 Nov 12 nicklas 5   import="net.sf.basedb.core.User"
1742 23 Nov 12 nicklas 6   import="net.sf.basedb.core.DbControl"
1742 23 Nov 12 nicklas 7   import="net.sf.basedb.core.SessionControl"
1742 23 Nov 12 nicklas 8   import="net.sf.basedb.clients.web.Base"
1742 23 Nov 12 nicklas 9   import="net.sf.basedb.clients.web.util.HTML"
1742 23 Nov 12 nicklas 10   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
1742 23 Nov 12 nicklas 11   import="net.sf.basedb.util.Values"
1742 23 Nov 12 nicklas 12   import="net.sf.basedb.util.formatter.WellCoordinateFormatter"
1742 23 Nov 12 nicklas 13 %>
1742 23 Nov 12 nicklas 14 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
1761 03 Dec 12 nicklas 15 <%@ taglib prefix="m" uri="/WEB-INF/menu.tld" %>
1742 23 Nov 12 nicklas 16 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
1742 23 Nov 12 nicklas 17 <%@ taglib prefix="tbl" uri="/WEB-INF/table.tld" %>
1742 23 Nov 12 nicklas 18 <%
3976 26 May 16 nicklas 19 final SessionControl sc = Base.getExistingSessionControl(request, "net.sf.basedb.reggie", true);
1742 23 Nov 12 nicklas 20 final String ID = sc.getId();
1742 23 Nov 12 nicklas 21 final float scale = Base.getScale(sc);
1742 23 Nov 12 nicklas 22 final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.reggie");
5881 25 Mar 20 nicklas 23 final String plateType = Values.getString(request.getParameter("plateType"), "MRNA");
5881 25 Mar 20 nicklas 24
3645 03 Dec 15 nicklas 25 final boolean autoDesign = Values.getBoolean(request.getParameter("autoDesign"));
1742 23 Nov 12 nicklas 26 DbControl dc = null;
1742 23 Nov 12 nicklas 27 try
1742 23 Nov 12 nicklas 28 {
1742 23 Nov 12 nicklas 29   dc = sc.newDbControl();
1742 23 Nov 12 nicklas 30   final User user = User.getById(dc, sc.getLoggedInUserId());
1742 23 Nov 12 nicklas 31 %>
2803 14 Oct 14 nicklas 32 <base:page type="default">
2803 14 Oct 14 nicklas 33 <base:head 
2803 14 Oct 14 nicklas 34   scripts="~../reggie-2.js,~select_rna.js,~plate.js,~pools.js,js-draw.js" 
2803 14 Oct 14 nicklas 35   styles="path.css,toolbar.css,~../css/reggie-2.css,~../css/plate.css"
2803 14 Oct 14 nicklas 36   >
1742 23 Nov 12 nicklas 37 <style>
1742 23 Nov 12 nicklas 38
3645 03 Dec 15 nicklas 39 .auto-design .hide-auto-design
3645 03 Dec 15 nicklas 40 {
3645 03 Dec 15 nicklas 41   display: none;
3645 03 Dec 15 nicklas 42 }
3645 03 Dec 15 nicklas 43
1960 06 May 13 nicklas 44 /* Empty wells should have greyed, italic text */
1960 06 May 13 nicklas 45 .well.empty
1960 06 May 13 nicklas 46 {
1960 06 May 13 nicklas 47   text-align: center;
1960 06 May 13 nicklas 48   vertical-align: middle;
1960 06 May 13 nicklas 49   font-style: italic;
1960 06 May 13 nicklas 50   color: #999999;
1960 06 May 13 nicklas 51 }
1960 06 May 13 nicklas 52
1742 23 Nov 12 nicklas 53 /* A well assigned for QC include a background icon as indicator */
1742 23 Nov 12 nicklas 54 .well.qc
1742 23 Nov 12 nicklas 55 {
1742 23 Nov 12 nicklas 56   background-image: url('../images/mrnaqc.png');
3757 18 Feb 16 nicklas 57   background-position: 98% 98%;
1742 23 Nov 12 nicklas 58   background-repeat: no-repeat;
1742 23 Nov 12 nicklas 59 }
1742 23 Nov 12 nicklas 60
1742 23 Nov 12 nicklas 61 /* A well which contain replicate RNA is also marked with an icon */
1742 23 Nov 12 nicklas 62 .well.replicate
1742 23 Nov 12 nicklas 63 {
1742 23 Nov 12 nicklas 64   background-image: url('../images/copy.png');
3757 18 Feb 16 nicklas 65   background-position: 98% 98%;
1742 23 Nov 12 nicklas 66   background-repeat: no-repeat;
1742 23 Nov 12 nicklas 67 }
1742 23 Nov 12 nicklas 68
1742 23 Nov 12 nicklas 69 /* A well that is both a replicate and QC need to re-arrange the icons a bit */
1742 23 Nov 12 nicklas 70 .well.qc.replicate
1742 23 Nov 12 nicklas 71 {
1742 23 Nov 12 nicklas 72   background-image: url('../images/mrnaqc.png'), url('../images/copy.png');
3757 18 Feb 16 nicklas 73   background-position: 98% 50%, 98% 98%;
1742 23 Nov 12 nicklas 74   background-repeat: no-repeat;
1742 23 Nov 12 nicklas 75 }
1742 23 Nov 12 nicklas 76
3757 18 Feb 16 nicklas 77 .yellow-specimen .if-yellow
3757 18 Feb 16 nicklas 78 {
3757 18 Feb 16 nicklas 79   background-image: url('../images/yellow-label-small.png');
3757 18 Feb 16 nicklas 80   background-position: 1px 50%;
3757 18 Feb 16 nicklas 81   background-repeat: no-repeat;
3757 18 Feb 16 nicklas 82   /* Grow background without shifting text position veritcally, move to right to make room for icon*/
3757 18 Feb 16 nicklas 83   padding: 2px 2px 2px 14px;
3757 18 Feb 16 nicklas 84   margin: -2px;
3757 18 Feb 16 nicklas 85 }
3757 18 Feb 16 nicklas 86
1742 23 Nov 12 nicklas 87 .well .missing
1742 23 Nov 12 nicklas 88 {
1742 23 Nov 12 nicklas 89   font-style: italic;
1742 23 Nov 12 nicklas 90 }
1742 23 Nov 12 nicklas 91
1742 23 Nov 12 nicklas 92 .plate.hide-location .location
1742 23 Nov 12 nicklas 93 {
1742 23 Nov 12 nicklas 94   display: none;
1742 23 Nov 12 nicklas 95 }
1742 23 Nov 12 nicklas 96 .plate.hide-quantity .quantity
1742 23 Nov 12 nicklas 97 {
1742 23 Nov 12 nicklas 98   display: none;
1742 23 Nov 12 nicklas 99 }
1760 30 Nov 12 nicklas 100 .plate.hide-volumes .volumes
1742 23 Nov 12 nicklas 101 {
1742 23 Nov 12 nicklas 102   display: none;
1742 23 Nov 12 nicklas 103 }
6218 20 Apr 21 nicklas 104 .plate.hide-conc .conc
1742 23 Nov 12 nicklas 105 {
1742 23 Nov 12 nicklas 106   display: none;
1742 23 Nov 12 nicklas 107 }
1939 18 Apr 13 nicklas 108 .plate.hide-quality-score .quality-score
1939 18 Apr 13 nicklas 109 {
1939 18 Apr 13 nicklas 110   display: none;
1939 18 Apr 13 nicklas 111 }
2143 19 Nov 13 nicklas 112 .plate.hide-qiacube-date .qiacube-date
2143 19 Nov 13 nicklas 113 {
2143 19 Nov 13 nicklas 114   display: none;
2143 19 Nov 13 nicklas 115 }
2906 07 Nov 14 nicklas 116 .plate.hide-qiacube-date .dilution-date
2906 07 Nov 14 nicklas 117 {
2906 07 Nov 14 nicklas 118   display: none;
2906 07 Nov 14 nicklas 119 }
1760 30 Nov 12 nicklas 120 .volume
1760 30 Nov 12 nicklas 121 {
1760 30 Nov 12 nicklas 122   color: #C80000;
1760 30 Nov 12 nicklas 123 }
1760 30 Nov 12 nicklas 124 .water
1760 30 Nov 12 nicklas 125 {
1760 30 Nov 12 nicklas 126   color: #0000C8;
1760 30 Nov 12 nicklas 127 }
1816 31 Jan 13 nicklas 128 .comment
1816 31 Jan 13 nicklas 129 {
1816 31 Jan 13 nicklas 130   font-style: italic;
1816 31 Jan 13 nicklas 131 }
1761 03 Dec 12 nicklas 132 #iconSpecialSelect
1761 03 Dec 12 nicklas 133 {
1761 03 Dec 12 nicklas 134   cursor: pointer;
1761 03 Dec 12 nicklas 135 }
1803 18 Jan 13 nicklas 136 #flaggedRna:before
1803 18 Jan 13 nicklas 137 {
1803 18 Jan 13 nicklas 138   content: url('../images/flag.png');
1803 18 Jan 13 nicklas 139   padding-right: 4px;
1803 18 Jan 13 nicklas 140 }
3300 04 May 15 nicklas 141 #select-barcode-all
3300 04 May 15 nicklas 142 {
3300 04 May 15 nicklas 143   max-height: 20em;
3300 04 May 15 nicklas 144   overflow: auto;
3300 04 May 15 nicklas 145 }
3300 04 May 15 nicklas 146
3300 04 May 15 nicklas 147 #select-barcode .menuitem
3300 04 May 15 nicklas 148 {
3300 04 May 15 nicklas 149   padding-left: 16px;
3300 04 May 15 nicklas 150 }
3300 04 May 15 nicklas 151
3300 04 May 15 nicklas 152 #select-barcode div.current
3300 04 May 15 nicklas 153 {
3300 04 May 15 nicklas 154   font-weight: bold;
3300 04 May 15 nicklas 155   background-image: url('../images/selected.gif');
3300 04 May 15 nicklas 156   background-position: 2px 50%;
3300 04 May 15 nicklas 157   background-repeat: no-repeat;
3300 04 May 15 nicklas 158 }
3300 04 May 15 nicklas 159
3300 04 May 15 nicklas 160 #select-barcode .menuitem:hover
3300 04 May 15 nicklas 161 {
3300 04 May 15 nicklas 162   padding-left: 14px;
3300 04 May 15 nicklas 163   background-position: 0px 50%;
3300 04 May 15 nicklas 164 }
3300 04 May 15 nicklas 165
1742 23 Nov 12 nicklas 166 </style>
1742 23 Nov 12 nicklas 167 </base:head>
2803 14 Oct 14 nicklas 168 <base:body>
1742 23 Nov 12 nicklas 169   <p:path><p:pathelement 
1742 23 Nov 12 nicklas 170     title="Reggie" href="<%="../index.jsp?ID="+ID%>" 
5882 26 Mar 20 nicklas 171     /><p:pathelement title="<%="Create new <span>library</span> plate" + (autoDesign ? " (auto-design)" : "") %>" 
1742 23 Nov 12 nicklas 172     /></p:path>
2803 14 Oct 14 nicklas 173
3288 30 Apr 15 nicklas 174   <div id="page-data" class="datacontainer"
5881 25 Mar 20 nicklas 175     data-plate-type="<%=plateType%>"
3645 03 Dec 15 nicklas 176     data-auto-design="<%=autoDesign ? 1 : 0%>"
3288 30 Apr 15 nicklas 177   ></div>
3288 30 Apr 15 nicklas 178
1742 23 Nov 12 nicklas 179   <div id="canvas" class="absolutefull" style="z-index: -1;">
2803 14 Oct 14 nicklas 180   
1742 23 Nov 12 nicklas 181   <div class="content">
1791 17 Dec 12 nicklas 182   <m:menu
1791 17 Dec 12 nicklas 183     id="menuSpecialSelect"
1791 17 Dec 12 nicklas 184     style="display: none; font-weight: normal; text-align: left;">
1791 17 Dec 12 nicklas 185     <m:menuitem 
1791 17 Dec 12 nicklas 186       title="All" 
2803 14 Oct 14 nicklas 187       subclass="auto-init"
2803 14 Oct 14 nicklas 188       data-auto-init="special-select"
2803 14 Oct 14 nicklas 189       data-special="all"
1791 17 Dec 12 nicklas 190       tooltip="Select/deselect all wells on the plate"
1791 17 Dec 12 nicklas 191     />
1791 17 Dec 12 nicklas 192     <m:menuitem 
1791 17 Dec 12 nicklas 193       title="None" 
2803 14 Oct 14 nicklas 194       subclass="auto-init"
2803 14 Oct 14 nicklas 195       data-auto-init="special-select"
2803 14 Oct 14 nicklas 196       data-special="none"
1791 17 Dec 12 nicklas 197       tooltip="Deselect all wells on the plate (no toggle!)"
1791 17 Dec 12 nicklas 198     />
1791 17 Dec 12 nicklas 199     <m:menuitem 
1795 18 Dec 12 nicklas 200       title="Primary" 
2803 14 Oct 14 nicklas 201       subclass="auto-init"
2803 14 Oct 14 nicklas 202       data-auto-init="special-select"
2803 14 Oct 14 nicklas 203       data-special="pools"
1795 18 Dec 12 nicklas 204       tooltip="Select/deselect all primary wells on the plate"
1791 17 Dec 12 nicklas 205     />
1791 17 Dec 12 nicklas 206     <m:menuitem 
1791 17 Dec 12 nicklas 207       title="All empty" 
2803 14 Oct 14 nicklas 208       subclass="auto-init"
2803 14 Oct 14 nicklas 209       data-auto-init="special-select"
2803 14 Oct 14 nicklas 210       data-special="empty"
1791 17 Dec 12 nicklas 211       tooltip="Select/deselect all empty wells on the plate"
1791 17 Dec 12 nicklas 212     />
1791 17 Dec 12 nicklas 213     <m:menuitem 
1795 18 Dec 12 nicklas 214       title="Empty in primary" 
2803 14 Oct 14 nicklas 215       subclass="auto-init"
2803 14 Oct 14 nicklas 216       data-auto-init="special-select"
2803 14 Oct 14 nicklas 217       data-special="empty-pools"
1795 18 Dec 12 nicklas 218       tooltip="Select/deselect all empty primary wells on the plate"
1791 17 Dec 12 nicklas 219     />
1791 17 Dec 12 nicklas 220     <m:menuseparator />
1791 17 Dec 12 nicklas 221     <m:menuitem 
1800 09 Jan 13 nicklas 222       icon="<%=home+"/images/stratagene.png"%>"
1791 17 Dec 12 nicklas 223       title="Stratagene" 
2803 14 Oct 14 nicklas 224       subclass="auto-init"
2803 14 Oct 14 nicklas 225       data-auto-init="special-select"
2803 14 Oct 14 nicklas 226       data-special="stratagene"
1791 17 Dec 12 nicklas 227       tooltip="Select/deselect all wells with Stratagene"
1791 17 Dec 12 nicklas 228     />
1791 17 Dec 12 nicklas 229     <m:menuitem 
1800 09 Jan 13 nicklas 230       icon="<%=home+"/images/external.png"%>"
1800 09 Jan 13 nicklas 231       title="External" 
2803 14 Oct 14 nicklas 232       subclass="auto-init"
2803 14 Oct 14 nicklas 233       data-auto-init="special-select"
2803 14 Oct 14 nicklas 234       data-special="external"
1800 09 Jan 13 nicklas 235       tooltip="Select/deselect all wells with external RNA"
1800 09 Jan 13 nicklas 236     />
1800 09 Jan 13 nicklas 237     <m:menuitem 
1791 17 Dec 12 nicklas 238       icon="<%=home+"/images/copy.png"%>"
1791 17 Dec 12 nicklas 239       title="Replicates" 
2803 14 Oct 14 nicklas 240       subclass="auto-init"
2803 14 Oct 14 nicklas 241       data-auto-init="special-select"
2803 14 Oct 14 nicklas 242       data-special="replicates"
1791 17 Dec 12 nicklas 243       tooltip="Select/deselect all wells with replicated RNA"
1791 17 Dec 12 nicklas 244     />
1791 17 Dec 12 nicklas 245     <m:menuitem 
1791 17 Dec 12 nicklas 246       icon="<%=home+"/images/error.png"%>"
1791 17 Dec 12 nicklas 247       title="Error" 
2803 14 Oct 14 nicklas 248       subclass="auto-init"
2803 14 Oct 14 nicklas 249       data-auto-init="special-select"
2803 14 Oct 14 nicklas 250       data-special="error"
1791 17 Dec 12 nicklas 251       tooltip="Select/deselect all wells with an error"
1791 17 Dec 12 nicklas 252     />
1791 17 Dec 12 nicklas 253     <m:menuitem 
1791 17 Dec 12 nicklas 254       icon="<%=home+"/images/warning.png"%>"
1791 17 Dec 12 nicklas 255       title="Warning" 
2803 14 Oct 14 nicklas 256       subclass="auto-init"
2803 14 Oct 14 nicklas 257       data-auto-init="special-select"
2803 14 Oct 14 nicklas 258       data-special="warning"
1791 17 Dec 12 nicklas 259       tooltip="Select/deselect all wells with an error"
1791 17 Dec 12 nicklas 260     />
1791 17 Dec 12 nicklas 261   </m:menu>
1761 03 Dec 12 nicklas 262   
1796 18 Dec 12 nicklas 263   <m:menu
1796 18 Dec 12 nicklas 264     id="menuContext"
1807 23 Jan 13 nicklas 265     style="display: none; font-weight: normal; text-align: left;">
1796 18 Dec 12 nicklas 266     <m:menuitem 
2803 14 Oct 14 nicklas 267       id="mnuComment"
1816 31 Jan 13 nicklas 268       title="Comments&hellip;" 
1816 31 Jan 13 nicklas 269       icon="<%=home+"/images/comment.png"%>" 
1816 31 Jan 13 nicklas 270       tooltip="Add a comment to the selected wells"
1816 31 Jan 13 nicklas 271     />
3645 03 Dec 15 nicklas 272     <%
3645 03 Dec 15 nicklas 273     if (!autoDesign)
3645 03 Dec 15 nicklas 274     {
3645 03 Dec 15 nicklas 275       %>
3645 03 Dec 15 nicklas 276       <m:menuitem 
3645 03 Dec 15 nicklas 277         id="mnuToggleQc"
3645 03 Dec 15 nicklas 278         title="Toggle QC" 
3645 03 Dec 15 nicklas 279         icon="<%=home+"/images/mrnaqc.png"%>" 
3645 03 Dec 15 nicklas 280         tooltip="Select/deselect RNA for QC" 
3645 03 Dec 15 nicklas 281       />
3645 03 Dec 15 nicklas 282       <m:menuseparator />
3645 03 Dec 15 nicklas 283       <m:menuitem 
3645 03 Dec 15 nicklas 284         id="mnuCutSelected"
3645 03 Dec 15 nicklas 285         title="Cut&hellip;" 
3645 03 Dec 15 nicklas 286         icon="<%=home+"/images/cut.png"%>" 
3645 03 Dec 15 nicklas 287         tooltip="Clear the selected wells" 
3645 03 Dec 15 nicklas 288       />
3645 03 Dec 15 nicklas 289       <m:menuitem  
3645 03 Dec 15 nicklas 290         id="mnuCopySelected"
3645 03 Dec 15 nicklas 291         title="Copy" 
3645 03 Dec 15 nicklas 292         icon="<%=home+"/images/copy.png"%>" 
3645 03 Dec 15 nicklas 293         tooltip="Make a copy of the selected RNA" 
3645 03 Dec 15 nicklas 294       />
3645 03 Dec 15 nicklas 295       <m:menuitem  
3645 03 Dec 15 nicklas 296         id="mnuPasteToSelected"
3645 03 Dec 15 nicklas 297         title="Paste" 
3645 03 Dec 15 nicklas 298         icon="<%=home+"/images/paste.png"%>" 
3645 03 Dec 15 nicklas 299         tooltip="Paste RNA into selected wells" 
3645 03 Dec 15 nicklas 300       />
3645 03 Dec 15 nicklas 301       <m:menuitem  
3645 03 Dec 15 nicklas 302         id="mnuSwitch"
3645 03 Dec 15 nicklas 303         title="Switch" 
3645 03 Dec 15 nicklas 304         icon="<%=home+"/images/switch.png"%>" 
3645 03 Dec 15 nicklas 305         tooltip="Switch the selected wells (if exactly two)" 
3645 03 Dec 15 nicklas 306       />
3645 03 Dec 15 nicklas 307       <m:menuseparator />
3645 03 Dec 15 nicklas 308       <m:submenu
3645 03 Dec 15 nicklas 309         subid="flagMenu"
3645 03 Dec 15 nicklas 310         title="Flag"
3645 03 Dec 15 nicklas 311         icon="<%=home+"/images/flag.png"%>"
3645 03 Dec 15 nicklas 312       />
3645 03 Dec 15 nicklas 313       <m:menuseparator id="sepCaseSummary" />
3645 03 Dec 15 nicklas 314       <%
3645 03 Dec 15 nicklas 315     }
3645 03 Dec 15 nicklas 316     %>
1951 24 Apr 13 nicklas 317     <m:menuitem
1951 24 Apr 13 nicklas 318       id="mnuCaseSummary"
1951 24 Apr 13 nicklas 319       icon="<%=home+"/images/case_summary.png"%>"
1951 24 Apr 13 nicklas 320       tooltip="Show case summary"
1951 24 Apr 13 nicklas 321       title="Case summary&hellip;"
1951 24 Apr 13 nicklas 322     />
1946 19 Apr 13 nicklas 323   </m:menu>
1946 19 Apr 13 nicklas 324
1946 19 Apr 13 nicklas 325   <m:menu
1946 19 Apr 13 nicklas 326     id="flagMenu"
1946 19 Apr 13 nicklas 327     style="display: none;"
1946 19 Apr 13 nicklas 328     >
1796 18 Dec 12 nicklas 329     <m:menuitem 
2803 14 Oct 14 nicklas 330       id="mnuFlagLowQualityScore"
2803 14 Oct 14 nicklas 331       data-flag="LowQualityScore"
1946 19 Apr 13 nicklas 332       title="LowQualityScore" 
1947 22 Apr 13 nicklas 333       tooltip="Flag the selected RNA as having a too low RQS/RIN value"
1796 18 Dec 12 nicklas 334     />
1946 19 Apr 13 nicklas 335     <m:menuitem 
2803 14 Oct 14 nicklas 336       id="mnuFlagNotEnoughRemainingQuantity"
2803 14 Oct 14 nicklas 337       data-flag="NotEnoughRemainingQuantity"
1946 19 Apr 13 nicklas 338       title="NotEnoughRemainingQuantity" 
1947 22 Apr 13 nicklas 339       tooltip="Flag the selected RNA as having too little remaining quantity"
1946 19 Apr 13 nicklas 340     />
1947 22 Apr 13 nicklas 341     <m:menuseparator />
1946 19 Apr 13 nicklas 342     <m:menuitem 
2803 14 Oct 14 nicklas 343       id="mnuFlagOther"
2803 14 Oct 14 nicklas 344       data-flag="ManualFlag"
1946 19 Apr 13 nicklas 345       title="Other..." 
1947 22 Apr 13 nicklas 346       tooltip="Flag the selected RNA for some other reason"
1946 19 Apr 13 nicklas 347     />
1796 18 Dec 12 nicklas 348   </m:menu>
3300 04 May 15 nicklas 349   
3300 04 May 15 nicklas 350   <div id="select-barcode" class="menu vertical bg-filled-100" style="width: 15em; z-index: 2; display: none;">
3300 04 May 15 nicklas 351     <div class="menuitem interactable enabled" id="select-barcode-default">Default</div>
3300 04 May 15 nicklas 352     <div class="menuseparator" id="select-barcode-default-separator"></div>
3300 04 May 15 nicklas 353     <div id="select-barcode-all"></div>
3300 04 May 15 nicklas 354   </div>
1796 18 Dec 12 nicklas 355
3645 03 Dec 15 nicklas 356   <form name="reggie" id="wizard" class="wizard <%=autoDesign ? "auto-design" : ""%>">
1742 23 Nov 12 nicklas 357   
2803 14 Oct 14 nicklas 358   <div class="step auto-hide" id="step-1">
2803 14 Oct 14 nicklas 359     <div class="step-no">1</div>
5882 26 Mar 20 nicklas 360     <div class="step-title">Design new library plate</div>
2803 14 Oct 14 nicklas 361     <div class="step-content">
2803 14 Oct 14 nicklas 362
3645 03 Dec 15 nicklas 363       <table class="step-form bottomborder">
1742 23 Nov 12 nicklas 364       <tr>
1742 23 Nov 12 nicklas 365         <td class="prompt">Name</td>
1742 23 Nov 12 nicklas 366         <td class="input" id="plateName"></td>
1942 19 Apr 13 nicklas 367         <td class="status"></td>
3288 30 Apr 15 nicklas 368         <td class="help">Select RNA items to use for the new plate.</td>
1742 23 Nov 12 nicklas 369       </tr>
5882 26 Mar 20 nicklas 370       <tr>
5882 26 Mar 20 nicklas 371         <td class="prompt">Preliminary pool layout</td>
5882 26 Mar 20 nicklas 372         <td class="input">
5882 26 Mar 20 nicklas 373           <select name="pool_schema" id="pool_schema" class="required"></select>
5882 26 Mar 20 nicklas 374         </td>
5882 26 Mar 20 nicklas 375         <td class="status"></td>
5882 26 Mar 20 nicklas 376         <td class="help">Preliminary pool layout (can be changed later).</td>
5882 26 Mar 20 nicklas 377       </tr>
3645 03 Dec 15 nicklas 378       <tr class="hide-auto-design">
1938 17 Apr 13 nicklas 379         <td class="prompt">Stratagene to use</td>
1938 17 Apr 13 nicklas 380         <td class="input">
2803 14 Oct 14 nicklas 381           <select name="stratagene" class="required"></select>
1938 17 Apr 13 nicklas 382         </td>
1942 19 Apr 13 nicklas 383         <td class="status"></td>
1938 17 Apr 13 nicklas 384         <td class="help">
1938 17 Apr 13 nicklas 385           Select the Stratagene tube to use. If not known, the
1946 19 Apr 13 nicklas 386           generic <b>Stratagene.r</b> should be used.
1938 17 Apr 13 nicklas 387         </td>
1938 17 Apr 13 nicklas 388       </tr>
2803 14 Oct 14 nicklas 389       <tr>
3832 07 Apr 16 nicklas 390         <td class="prompt">Dilution protocol</td>
1807 23 Jan 13 nicklas 391         <td class="input">
3832 07 Apr 16 nicklas 392           <select name="normalizationProtocol" id="normalizationProtocol" class="required"></select>
1807 23 Jan 13 nicklas 393         </td>
3832 07 Apr 16 nicklas 394         <td class="status" id="normalizationProtocol.status"></td>
1942 19 Apr 13 nicklas 395         <td class="help">
3832 07 Apr 16 nicklas 396           <span id="normalizationProtocol.message" class="message"></span>
3832 07 Apr 16 nicklas 397           Select the protocol that specifies the amount and volume of RNA
3832 07 Apr 16 nicklas 398           that is needed for the library preparation.
1942 19 Apr 13 nicklas 399         </td>
1807 23 Jan 13 nicklas 400       </tr>
2803 14 Oct 14 nicklas 401       <tr class="align-top">
1792 17 Dec 12 nicklas 402         <td class="prompt">Comments</td>
1792 17 Dec 12 nicklas 403         <td class="input">
2803 14 Oct 14 nicklas 404           <textarea rows="2" name="comments" id="comments"></textarea>
1792 17 Dec 12 nicklas 405         </td>
1942 19 Apr 13 nicklas 406         <td class="status"></td>
3288 30 Apr 15 nicklas 407         <td class="help">Comments about the new plate.</td>
1792 17 Dec 12 nicklas 408       </tr>
2803 14 Oct 14 nicklas 409       <tr class="align-top">
1742 23 Nov 12 nicklas 410         <td class="prompt">Show</td>
1947 22 Apr 13 nicklas 411         <td class="input" colspan="2">
1742 23 Nov 12 nicklas 412           <table>
2803 14 Oct 14 nicklas 413           <tr>
1742 23 Nov 12 nicklas 414             <td>
2803 14 Oct 14 nicklas 415               <input type="checkbox" name="location" id="location" checked><label for="location">Bioplate location</label><br>
2803 14 Oct 14 nicklas 416               <input type="checkbox" name="quantity" id="quantity" checked><label for="quantity">Remaining quantity</label><br>
1742 23 Nov 12 nicklas 417             </td>
1742 23 Nov 12 nicklas 418             <td>
2803 14 Oct 14 nicklas 419               <input type="checkbox" name="quality-score" id="quality-score"><label for="quality-score">RQS/RIN</label><br>
6218 20 Apr 21 nicklas 420               <input type="checkbox" name="conc" id="conc"><label for="conc" title="NanoDrop or Qubit concentration">Conc.</label><br>
1947 22 Apr 13 nicklas 421             </td>
1947 22 Apr 13 nicklas 422             <td>
2803 14 Oct 14 nicklas 423               <input type="checkbox" name="volumes" id="volumes"><label for="volumes">Used volume+water</label><br>
2906 07 Nov 14 nicklas 424               <input type="checkbox" name="qiacube-date" id="qiacube-date"><label for="qiacube-date">Qiacube/Dilution date</label><br>
1742 23 Nov 12 nicklas 425             </td>
1742 23 Nov 12 nicklas 426           </tr>
1742 23 Nov 12 nicklas 427           </table>
1796 18 Dec 12 nicklas 428         </td>
1796 18 Dec 12 nicklas 429         <td class="help">Toggles visiblity of the selected information inside each well on the plate.</td>
1796 18 Dec 12 nicklas 430       </tr>
3645 03 Dec 15 nicklas 431       <tr class="hide-auto-design">
1947 22 Apr 13 nicklas 432         <td class="prompt">Warning levels</td>
1947 22 Apr 13 nicklas 433         <td class="input">
2803 14 Oct 14 nicklas 434           Remaining quantity&lt;<input type="text" class="text" name="warning_quantity" id="warning_quantity"
5882 26 Mar 20 nicklas 435             value="1.0" style="width: 4em;">µg,
2803 14 Oct 14 nicklas 436           RQS/RIN&lt;<input type="text" class="text" name="warning_quality_score" id="warning_quality_score" 
2803 14 Oct 14 nicklas 437             value="8" style="width: 4em;">
1947 22 Apr 13 nicklas 438         </td>
1947 22 Apr 13 nicklas 439         <td class="status" id="warnings.status"></td>
1947 22 Apr 13 nicklas 440         <td class="help">
1947 22 Apr 13 nicklas 441           <span id="warnings.message" class="message" style="display: none;"></span>
1947 22 Apr 13 nicklas 442           Warning levels for remaining quantity and RQS/RIN values.
1947 22 Apr 13 nicklas 443         </td>
1947 22 Apr 13 nicklas 444       </tr>
1742 23 Nov 12 nicklas 445       </table>
2803 14 Oct 14 nicklas 446
3645 03 Dec 15 nicklas 447       <tbl:toolbar subclass="bottomborder bg-filled-50 hide-auto-design">
1742 23 Nov 12 nicklas 448         <tbl:button 
2803 14 Oct 14 nicklas 449           id="btnAutoSelect"
1803 18 Jan 13 nicklas 450           title="Auto-select&hellip;" 
1742 23 Nov 12 nicklas 451           image="<%=home+"/images/wizard.png"%>" 
1742 23 Nov 12 nicklas 452           tooltip="Let the wizard auto-select RNA"
1742 23 Nov 12 nicklas 453         />
1742 23 Nov 12 nicklas 454         <tbl:button 
2803 14 Oct 14 nicklas 455           id="btnManualSelect"
1742 23 Nov 12 nicklas 456           title="Manual select&hellip;" 
1742 23 Nov 12 nicklas 457           image="<%=home+"/images/manual_rna.png"%>" 
1742 23 Nov 12 nicklas 458           tooltip="Manually select RNA items" 
1742 23 Nov 12 nicklas 459         />
1742 23 Nov 12 nicklas 460         <tbl:button 
2803 14 Oct 14 nicklas 461           id="btnStratagene"
1742 23 Nov 12 nicklas 462           title="Stratagene" 
1742 23 Nov 12 nicklas 463           image="<%=home+"/images/stratagene.png"%>" 
1742 23 Nov 12 nicklas 464           tooltip="Place stratagene in the selected wells" 
1742 23 Nov 12 nicklas 465         />
1742 23 Nov 12 nicklas 466         <tbl:button 
2803 14 Oct 14 nicklas 467           id="btnExternal"
1800 09 Jan 13 nicklas 468           title="External" 
1800 09 Jan 13 nicklas 469           image="<%=home+"/images/external.png"%>" 
1800 09 Jan 13 nicklas 470           tooltip="Mark selected wells as used by external RNA" 
1800 09 Jan 13 nicklas 471         />
1800 09 Jan 13 nicklas 472         <tbl:button 
2803 14 Oct 14 nicklas 473           id="btnToggleQc"
1742 23 Nov 12 nicklas 474           title="Toggle QC" 
1742 23 Nov 12 nicklas 475           image="<%=home+"/images/mrnaqc.png"%>" 
1742 23 Nov 12 nicklas 476           tooltip="Select/deselect RNA for QC" 
1742 23 Nov 12 nicklas 477         />
1742 23 Nov 12 nicklas 478         <tbl:button 
2803 14 Oct 14 nicklas 479           id="btnComment"
1816 31 Jan 13 nicklas 480           title="Comments&hellip;" 
1816 31 Jan 13 nicklas 481           image="<%=home+"/images/comment.png"%>" 
1816 31 Jan 13 nicklas 482           tooltip="Add a comment to the selected wells" 
1816 31 Jan 13 nicklas 483         />
1816 31 Jan 13 nicklas 484         <tbl:button 
2803 14 Oct 14 nicklas 485           id="btnCutSelected"
1742 23 Nov 12 nicklas 486           title="Cut&hellip;" 
1742 23 Nov 12 nicklas 487           image="<%=home+"/images/cut.png"%>" 
1742 23 Nov 12 nicklas 488           tooltip="Clear the selected wells" 
1742 23 Nov 12 nicklas 489         />
1742 23 Nov 12 nicklas 490         <tbl:button 
2803 14 Oct 14 nicklas 491           id="btnCopySelected"
1742 23 Nov 12 nicklas 492           title="Copy" 
1742 23 Nov 12 nicklas 493           image="<%=home+"/images/copy.png"%>" 
1742 23 Nov 12 nicklas 494           tooltip="Make a copy of the selected RNA" 
1742 23 Nov 12 nicklas 495         />
1742 23 Nov 12 nicklas 496         <tbl:button 
2803 14 Oct 14 nicklas 497           id="btnPasteToSelected"
1742 23 Nov 12 nicklas 498           title="Paste" 
1742 23 Nov 12 nicklas 499           image="<%=home+"/images/paste.png"%>" 
1742 23 Nov 12 nicklas 500           tooltip="Paste RNA into selected wells" 
1742 23 Nov 12 nicklas 501         />
1790 17 Dec 12 nicklas 502         <tbl:button 
2803 14 Oct 14 nicklas 503           id="btnSwitch"
1790 17 Dec 12 nicklas 504           title="Switch" 
1790 17 Dec 12 nicklas 505           image="<%=home+"/images/switch.png"%>" 
1790 17 Dec 12 nicklas 506           tooltip="Switch the selected wells (if exactly two)" 
1790 17 Dec 12 nicklas 507         />
1742 23 Nov 12 nicklas 508       </tbl:toolbar>
2803 14 Oct 14 nicklas 509         <div id="flaggedRna" style="margin: 0.5em; display: none; text-align: center;" class="link">
1803 18 Jan 13 nicklas 510           Flagged RNA items.
1803 18 Jan 13 nicklas 511         </div>
1803 18 Jan 13 nicklas 512
6218 20 Apr 21 nicklas 513         <table id="plate" class="plate hide-volumes hide-conc hide-quality-score hide-qiacube-date" 
3297 30 Apr 15 nicklas 514           style="margin: 1em auto 0 auto;">
1742 23 Nov 12 nicklas 515         <%
5882 26 Mar 20 nicklas 516         int columns = 12;
1742 23 Nov 12 nicklas 517         int rows = 8;
1742 23 Nov 12 nicklas 518         WellCoordinateFormatter rowF = new WellCoordinateFormatter(true);
1742 23 Nov 12 nicklas 519         WellCoordinateFormatter colF = new WellCoordinateFormatter(false);
1742 23 Nov 12 nicklas 520         %>
1742 23 Nov 12 nicklas 521         <tr class="header">
1742 23 Nov 12 nicklas 522           <th>
1742 23 Nov 12 nicklas 523             <base:icon image="<%=home+"/images/select_all.png"%>" 
1761 03 Dec 12 nicklas 524               id="iconSpecialSelect"
1761 03 Dec 12 nicklas 525               tooltip="Select/deselect wells on the plate with specific condition" 
2803 14 Oct 14 nicklas 526             ></base:icon>
2803 14 Oct 14 nicklas 527           </th>
1742 23 Nov 12 nicklas 528           <%
1742 23 Nov 12 nicklas 529           for (int c = 0; c < columns; ++c)
1742 23 Nov 12 nicklas 530           {
1742 23 Nov 12 nicklas 531             %>
2803 14 Oct 14 nicklas 532             <th class="link auto-init" id="col.<%=c%>"
2803 14 Oct 14 nicklas 533               data-auto-init="plate-col" data-col="<%=c%>"
1802 16 Jan 13 nicklas 534               title="Select/deselect all wells in this column"><%=colF.format(c)%></th>
1742 23 Nov 12 nicklas 535             <%
1742 23 Nov 12 nicklas 536           }
1742 23 Nov 12 nicklas 537           %>
1742 23 Nov 12 nicklas 538         </tr>
1742 23 Nov 12 nicklas 539         <tbody>
1742 23 Nov 12 nicklas 540         <%
1742 23 Nov 12 nicklas 541         for (int r = 0; r < rows; ++r)
1742 23 Nov 12 nicklas 542         {
1742 23 Nov 12 nicklas 543           String row = rowF.format(r);
1742 23 Nov 12 nicklas 544           %>
1742 23 Nov 12 nicklas 545           <tr class="row-<%=r%>">
2803 14 Oct 14 nicklas 546             <th class="link auto-init" id="row.<%=r%>"
2803 14 Oct 14 nicklas 547               data-auto-init="plate-row" data-row="<%=r%>"
1742 23 Nov 12 nicklas 548               title="Select/deselect all wells in this row"><%=row%></th>
1742 23 Nov 12 nicklas 549             <%
1742 23 Nov 12 nicklas 550             for (int c = 0; c < columns; ++c)
1742 23 Nov 12 nicklas 551             {
1742 23 Nov 12 nicklas 552               %>
2803 14 Oct 14 nicklas 553               <td id="well.<%=r%>.<%=c%>" class="well empty primary auto-init"
2803 14 Oct 14 nicklas 554                 data-auto-init="plate-well" data-col="<%=c%>" data-row="<%=r%>"
2143 19 Nov 13 nicklas 555                 title="Select/deselect this well">empty</td>
1742 23 Nov 12 nicklas 556               <%
1742 23 Nov 12 nicklas 557             }
1742 23 Nov 12 nicklas 558             %>
1742 23 Nov 12 nicklas 559           </tr>
1742 23 Nov 12 nicklas 560           <%
1742 23 Nov 12 nicklas 561         }
1742 23 Nov 12 nicklas 562         %>
1742 23 Nov 12 nicklas 563         </tbody>
2803 14 Oct 14 nicklas 564         <tr id="pool-row">
3297 30 Apr 15 nicklas 565           <th colspan="<%=columns+1%>">&nbsp;</th>
1742 23 Nov 12 nicklas 566         </tr>
1742 23 Nov 12 nicklas 567         </table>
2803 14 Oct 14 nicklas 568         <div style="margin: 0.5em; text-align: center;">
1742 23 Nov 12 nicklas 569           <base:icon image="<%=home+"/images/mrnaqc.png"%>" />=Selected for QC
1742 23 Nov 12 nicklas 570           <base:icon image="<%=home+"/images/copy.png"%>" style="padding-left: 1em;" />=Replicated RNA
1742 23 Nov 12 nicklas 571           <base:icon image="<%=home+"/images/error.png"%>" style="padding-left: 1em;" />=Error that prevent plate creation
1742 23 Nov 12 nicklas 572           <base:icon image="<%=home+"/images/warning.png"%>" style="padding-left: 1em;" />=Warning but plate can be created
1742 23 Nov 12 nicklas 573         </div>
2803 14 Oct 14 nicklas 574     </div>
2803 14 Oct 14 nicklas 575   </div>
1742 23 Nov 12 nicklas 576
1742 23 Nov 12 nicklas 577
2803 14 Oct 14 nicklas 578   <div id="wizard-status"></div>
2803 14 Oct 14 nicklas 579   
2803 14 Oct 14 nicklas 580   <table class="navigation" id="navigation">
1742 23 Nov 12 nicklas 581   <tr>
2803 14 Oct 14 nicklas 582     <td><base:button id="gocancel" title="Cancel" /></td>
2803 14 Oct 14 nicklas 583     <td><base:button id="gonext" title="Next" image="<%=home+"/images/gonext.png"%>" /></td>
2803 14 Oct 14 nicklas 584     <td><base:button id="goregister" title="Register" image="<%=home+"/images/import.png"%>"  /></td>
2803 14 Oct 14 nicklas 585     <td><base:button id="gorestart" title="Restart" image="<%=home+"/images/goback.png"%>" /></td>
2803 14 Oct 14 nicklas 586     <td id="gonext-message" class="message"></td>
1742 23 Nov 12 nicklas 587   </tr>
1742 23 Nov 12 nicklas 588   </table>
2803 14 Oct 14 nicklas 589
1742 23 Nov 12 nicklas 590   </form>
1742 23 Nov 12 nicklas 591   </div>
2803 14 Oct 14 nicklas 592   </div>
1742 23 Nov 12 nicklas 593 </base:body>
1742 23 Nov 12 nicklas 594 </base:page>
1742 23 Nov 12 nicklas 595 <%
1742 23 Nov 12 nicklas 596 }
1742 23 Nov 12 nicklas 597 finally
1742 23 Nov 12 nicklas 598 {
1742 23 Nov 12 nicklas 599   if (dc != null) dc.close();
1742 23 Nov 12 nicklas 600 }
1742 23 Nov 12 nicklas 601 %>