Changeset 5536


Ignore:
Timestamp:
Dec 21, 2010, 12:42:42 PM (12 years ago)
Author:
Nicklas Nordborg
Message:

References #1559: Place biomaterial on plates

Changes in the gui to make it look more like the "move" event. Use the BioPlateEvent? context for passing in the query and storing recently used item so which is the same approach as in the "move" event.

Location:
trunk/www/biomaterials
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/www/biomaterials/extracts/index.jsp

    r5527 r5536  
    3232  import="net.sf.basedb.core.Extract"
    3333  import="net.sf.basedb.core.BioMaterialEvent"
     34  import="net.sf.basedb.core.BioPlateEventType"
    3435  import="net.sf.basedb.core.BioWell"
    3536  import="net.sf.basedb.core.Protocol"
     
    430431    final ItemQuery<Extract> query = Extract.getQuery();
    431432    cc.configureQuery(query, true);
    432     cc.setQuery(query);
     433    cc.filterOnSelectedItems(query);
     434    sc.getCurrentContext(Item.BIOPLATEEVENT, BioPlateEventType.PLACE_ON_PLATE).setQuery(query);
    433435    redirect = "../wizards/place_on_plate.jsp?ID="+ID+"&itemType=EXTRACT";
    434436  }
  • trunk/www/biomaterials/labeledextracts/index.jsp

    r5527 r5536  
    3333  import="net.sf.basedb.core.Label"
    3434  import="net.sf.basedb.core.BioMaterialEvent"
     35  import="net.sf.basedb.core.BioPlateEventType"
    3536  import="net.sf.basedb.core.BioWell"
    3637  import="net.sf.basedb.core.Protocol"
     
    429430    final ItemQuery<LabeledExtract> query = LabeledExtract.getQuery();
    430431    cc.configureQuery(query, true);
    431     cc.setQuery(query);
     432    cc.filterOnSelectedItems(query);
     433    sc.getCurrentContext(Item.BIOPLATEEVENT, BioPlateEventType.PLACE_ON_PLATE).setQuery(query);
    432434    redirect = "../wizards/place_on_plate.jsp?ID="+ID+"&itemType=LABELEDEXTRACT";
    433435  }
  • trunk/www/biomaterials/lists/members/index.jsp

    r5529 r5536  
    3333  import="net.sf.basedb.core.BioMaterialList"
    3434  import="net.sf.basedb.core.BioMaterial"
     35  import="net.sf.basedb.core.BioPlateEventType"
    3536  import="net.sf.basedb.core.OwnedItem"
    3637  import="net.sf.basedb.core.query.Restrictions"
     
    240241    final ItemQuery<? extends BioMaterial> query = list.getMemberBioMaterials();
    241242    cc.configureQuery(dc, query, true);
    242     cc.setQuery(query);
     243    cc.filterOnSelectedItems(query);
     244    sc.getCurrentContext(Item.BIOPLATEEVENT, BioPlateEventType.PLACE_ON_PLATE).setQuery(query);
    243245    redirect = "../../wizards/place_on_plate.jsp?ID="+ID+"&itemType=" + itemType.name() + "&subcontext="+subContext;
    244246    dc.close();
  • trunk/www/biomaterials/samples/index.jsp

    r5527 r5536  
    3232  import="net.sf.basedb.core.BioSource"
    3333  import="net.sf.basedb.core.BioMaterialEvent"
     34  import="net.sf.basedb.core.BioPlateEventType"
    3435  import="net.sf.basedb.core.BioWell"
    3536  import="net.sf.basedb.core.Extract"
     
    432433    final ItemQuery<Sample> query = Sample.getQuery();
    433434    cc.configureQuery(query, true);
    434     cc.setQuery(query);
     435    cc.filterOnSelectedItems(query);
     436    sc.getCurrentContext(Item.BIOPLATEEVENT, BioPlateEventType.PLACE_ON_PLATE).setQuery(query);
    435437    redirect = "../wizards/place_on_plate.jsp?ID="+ID+"&itemType=SAMPLE";
    436438  }
  • trunk/www/biomaterials/wizards/index.jsp

    r5535 r5536  
    6868    Item bioMaterialType = Item.valueOf(request.getParameter("itemType"));
    6969    String subContext = Values.getString(request.getParameter("subcontext"), "");
    70     ItemContext cc = Base.getAndSetCurrentContext(sc, bioMaterialType, subContext, null, null);
     70    ItemContext cc = sc.getCurrentContext(Item.BIOPLATEEVENT, BioPlateEventType.PLACE_ON_PLATE);
    7171    final int maxRecent = Base.getMaxRecent(sc);
    7272
     
    9090      Protocol pt = Protocol.getById(dc, protocolId);
    9191      event.setProtocol(pt);
    92       cc.setRecent(pt, "place-on-plate", maxRecent);
     92      cc.setRecent(pt, maxRecent);
    9393    }
    9494    int hardwareId = Values.getInt(request.getParameter("hardware_id"));
     
    9797      Hardware hw = Hardware.getById(dc, hardwareId);
    9898      event.setHardware(hw);
    99       cc.setRecent(hw, "place-on-plate", maxRecent);
     99      cc.setRecent(hw, maxRecent);
    100100    }
    101101    dc.saveItem(event);
  • trunk/www/biomaterials/wizards/place_on_plate.jsp

    r5533 r5536  
    2424<%@ page pageEncoding="UTF-8" session="false"
    2525  import="net.sf.basedb.core.BioPlateEvent"
     26  import="net.sf.basedb.core.BioPlateEventType"
    2627  import="net.sf.basedb.core.MeasuredBioMaterial"
    2728  import="net.sf.basedb.core.Hardware"
     
    4849<%
    4950final Item itemType = Item.valueOf(request.getParameter("itemType"));
    50 final String subContext = Values.getString(request.getParameter("subcontext"), "");
     51//final String subContext = Values.getString(request.getParameter("subcontext"), "");
    5152final SessionControl sc = Base.getExistingSessionControl(pageContext, true);
    52 final ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, subContext, null, null);
     53//final ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, subContext, null, null);
     54final ItemContext cc = sc.getCurrentContext(Item.BIOPLATEEVENT, BioPlateEventType.PLACE_ON_PLATE);
    5355final String ID = sc.getId();
    5456final float scale = Base.getScale(sc);
     
    5759{
    5860  // Load recently used items
    59   List<Hardware> recentHardware = (List<Hardware>)cc.getRecent(dc, Item.HARDWARE, "place-on-plate");
    60   List<Protocol> recentProtocols = (List<Protocol>)cc.getRecent(dc, Item.PROTOCOL, "place-on-plate");
     61  List<Hardware> recentHardware = (List<Hardware>)cc.getRecent(dc, Item.HARDWARE);
     62  List<Protocol> recentProtocols = (List<Protocol>)cc.getRecent(dc, Item.PROTOCOL);
    6163 
    6264  ItemQuery<MeasuredBioMaterial> query = (ItemQuery<MeasuredBioMaterial>)cc.getQuery();
     
    6466  if (query != null)
    6567  {
    66     cc.filterOnSelectedItems(query);
    6768    query.restrict(Restrictions.eq(Hql.property("bioWell"), null));
    6869    query.setMaxResults(-1);
    6970    query.setFirstResult(0);
    7071    bioMaterial = query.list(dc);
     72    cc.setQuery(null);
    7173  }
    72   cc.setQuery(null);
    7374  final String clazz = "class=\"text\"";
    7475  final String requiredClazz = "class=\"text required\"";
     
    493494    }
    494495   
    495     function showMoreEventProperties()
    496     {
    497       Main.show('moreeventproperties');
    498       Main.hide('more');
    499     }
    500    
    501     function hideMoreEventProperties()
    502     {
    503       Main.hide('moreeventproperties');
    504       Main.show('more');
    505     }
    506 
    507496    function selectHardwareOnClick()
    508497    {
     
    564553      <input type="hidden" name="cmd" value="PlaceOnPlate">
    565554      <input type="hidden" name="itemType" value="<%=itemType.name()%>">
    566       <input type="hidden" name="subcontext" value="<%=subContext%>">
    567555      <input type="hidden" name="plate_id" value="">
    568556      <input type="hidden" name="rows" value="">
     
    582570    {
    583571      %>
     572     
    584573      <table cellspacing="0" border="0" width="100%">
     574      <tr valign="top">
     575        <td style="width: 50%;">
     576          <table class="form" cellspacing=0>
     577          <tr>
     578            <td class="prompt" style="width: 90px;">Event name</td>
     579            <td><input <%=requiredClazz%> type="text" name="name"
     580              value="Place biomaterial on plate"
     581              size="40" maxlength="<%=BioPlateEvent.MAX_NAME_LENGTH%>"></td>
     582          </tr>
     583          <tr>
     584            <td class="prompt">Event date</td>
     585            <td>
     586              <table border="0" cellspacing="0" cellpadding="0">
     587              <tr>
     588              <td>
     589                <input <%=clazz%> type="text" name="event_date"
     590                  value="<%=HTML.encodeTags(dateFormatter.format(new Date()))%>"
     591                  size="20" maxlength="20" title="Enter date in format: <%=htmlDateFormat%>">
     592                &nbsp;
     593              </td>
     594              <td>
     595              <base:button
     596                onclick="<%="Dates.selectDate('Event date', 'main', 'event_date', null, '"+jsDateFormat+"')"%>"
     597                image="calendar.png"
     598                title="Calendar&hellip;"
     599                tooltip="Select a date from a calendar"
     600              />
     601              </td>
     602              </tr>
     603              </table>
     604            </td>
     605          </tr>
     606          <tr>
     607            <td class="prompt">Protocol</td>
     608            <td>
     609              <base:select
     610                id="protocol_id"
     611                clazz="selectionlist"
     612                required="false"
     613                current="<%=null%>"
     614                recent="<%=recentProtocols%>"
     615                onselect="selectProtocolOnClick()"
     616              />
     617            </td>
     618          </tr>
     619          <tr>
     620            <td class="prompt">Hardware</td>
     621            <td>
     622              <base:select
     623                id="hardware_id"
     624                clazz="selectionlist"
     625                required="false"
     626                current="<%=null%>"
     627                recent="<%=recentHardware%>"
     628                onselect="selectHardwareOnClick()"
     629              />
     630            </td>
     631          </tr>
     632          </table>
     633        </td>
     634        <td style="width: 50%;">
     635          <b>Description</b><br>
     636          <textarea <%=clazz%> rows="4" cols="40" name="description" wrap="virtual"
     637            ></textarea>
     638          <a href="javascript:Main.zoom('Description', 'main', 'description')"
     639            title="Edit in larger window"><base:icon image="zoom.gif" /></a>
     640        </td>
     641      </tr>
     642      </table>
     643     
     644      <table cellspacing="0" border="0">
    585645      <tr>
    586646        <td><b>Items to place</b></td>
    587         <td><b>Event</b></td>
     647        <td><b>Destination plate</b> (<span id="plate.name">no plate selected</span>) <a href="javascript:selectBioPlateOnClick()">Select plate...</a></td>
    588648      </tr>
    589649      <tr valign="top">
    590         <td style="width: 250px;">
    591         <div id="itemlist" class="biomateriallist" style="height: <%=(int)(scale*420)%>px; width:240px;" onscroll="onItemListScroll()">
     650        <td style="width: 280px;">
     651        <div id="itemlist" class="biomateriallist" style="height: <%=(int)(scale*300)%>px; width:270px;" onscroll="onItemListScroll()">
    592652          <table border="0" cellspacing="0" cellpadding="0" width="100%">
    593653          <%
     
    612672        </td>
    613673        <td>
    614           <div style="height: <%=(int)(scale*400)%>px; overflow: auto;">
    615           <table class="form" cellspacing=0>
    616           <tbody>
    617             <tr>
    618               <td class="prompt" style="width: 90px;">Name</td>
    619               <td><input <%=requiredClazz%> type="text" name="name"
    620                 value="Place biomaterial on plate"
    621                 size="40" maxlength="<%=BioPlateEvent.MAX_NAME_LENGTH%>"></td>
    622             </tr>
    623             <tr>
    624               <td class="prompt">Plate</td>
    625               <td><span id="plate.name">No plate selected</span>. <a href="javascript:selectBioPlateOnClick()">Select plate...</a></td>
    626             </tr>
    627             <tr id="more" style="vertical-align: middle;">
    628               <td class="subprompt"><base:icon id="more" image="show_section.gif"
    629                 onclick="showMoreEventProperties()" tooltip="Show more event properties" /></td>
    630               <td>more</td>
    631             </tr>
    632           </tbody>
    633           <tbody id="moreeventproperties" style="display: none">
    634             <tr id="less" style="vertical-align: middle;">
    635               <td class="subprompt"><base:icon image="hide_section.gif"
    636                 onclick="hideMoreEventProperties()" tooltip="Show less event properties" /></td>
    637               <td>less</td>
    638             </tr>
    639             <tr>
    640               <td class="prompt">Event date</td>
    641               <td>
    642                 <table border="0" cellspacing="0" cellpadding="0">
    643                 <tr>
    644                 <td>
    645                   <input <%=clazz%> type="text" name="event_date"
    646                     value="<%=HTML.encodeTags(dateFormatter.format(new Date()))%>"
    647                     size="20" maxlength="20" title="Enter date in format: <%=htmlDateFormat%>">
    648                   &nbsp;
    649                 </td>
    650                 <td>
    651                 <base:button
    652                   onclick="<%="Dates.selectDate('Event date', 'main', 'event_date', null, '"+jsDateFormat+"')"%>"
    653                   image="calendar.png"
    654                   title="Calendar&hellip;"
    655                   tooltip="Select a date from a calendar"
    656                 />
    657                 </td>
    658                 </tr>
    659                 </table>
    660               </td>
    661             </tr>
    662             <tr>
    663               <td class="prompt">Protocol</td>
    664               <td>
    665                 <base:select
    666                   id="protocol_id"
    667                   clazz="selectionlist"
    668                   required="false"
    669                   current="<%=null%>"
    670                   recent="<%=recentProtocols%>"
    671                   onselect="selectProtocolOnClick()"
    672                 />
    673               </td>
    674             </tr>
    675             <tr>
    676               <td class="prompt">Hardware</td>
    677               <td>
    678                 <base:select
    679                   id="hardware_id"
    680                   clazz="selectionlist"
    681                   required="false"
    682                   current="<%=null%>"
    683                   recent="<%=recentHardware%>"
    684                   onselect="selectHardwareOnClick()"
    685                 />
    686               </td>
    687             </tr>
    688             <tr valign=top>
    689               <td class="prompt">Description</td>
    690               <td nowrap>
    691                 <textarea <%=clazz%> rows="4" cols="40" name="description" wrap="virtual"
    692                   ></textarea>
    693                 <a href="javascript:Main.zoom('Description', 'main', 'description')"
    694                   title="Edit in larger window"><base:icon image="zoom.gif" /></a>
    695               </td>
    696             </tr>
    697           </tbody>
    698           </table>
    699          
    700           <tbl:toolbar id="toolbar.mappings" style="display: none; margin-top: 6px;">
     674          <tbl:toolbar id="toolbar.mappings" style="display: none;">
    701675            <tbl:button title="Clear"
    702676              onclick="clearMapping()"
Note: See TracChangeset for help on using the changeset viewer.