[% META title="FluidX XTR-96 Plate Reader Import" %]
<!-- BEGIN [% template.name %] -->
[% # INCLUDE dumper.tt dump = data %]
[% # INCLUDE dumper.tt dump = data.storage %]
<h2 class="header">FluidX XTR-96 plate reader data import</h2>
<script type="text/javascript">
function submitForm(s) {
s.value = "Scanning plate, please wait ...";
return true;
}
</script>
[% BLOCK form_header %]action="[% app_url %]/storage/read_xtr_96" name="scan"
id="scan" onsubmit="return submitForm(this.scan);" method="post"[% END %]
[% IF data.size; # INCLUDE dumper.tt dump = xtr_96;
import(data); # provides 'plate_data', 'storage' & 'plateId' keys
missing_id = '<span class="error">RACK ID MISSING</span>';
USE format; concat = format('%s%02d');
%]
[% IF storage.have_missing; # INCLUDE dumper.tt dump = storage.have_missing %]
<p class="indent error">Warning: unknown vial(s) present - either
uncatalogued or already removed. Requires resolution before
import/export.
</p>
[% END %]
<table class="indent">
<tr>
<th colspan="12">Plate ID :: [% plateId || missing_id %]</th>
</tr>
[% FOREACH row IN ['A' .. 'H'] %]
<tr>
[% FOREACH col IN [1 .. 12]; # INCLUDE dumper.tt dump = [row, col];
cell = concat(row,col); # ie format('%s%02d')
# highlight if vialId NOT already in catalog:
class = storage.rack_data.item(plate_data.${cell})
? 'xtr-96-vial' : 'red';
%]
<td>
<div class="xtr-96-cell">[% cell %]</div>
<div class="[% class %]">[% plate_data.${cell} %]</div>
</td>
[% END %]
</tr>
[% END %]
<tr class="borderless">
<td align="right" colspan="12">
<form [% INCLUDE form_header %]>
<input type="submit" class="scan-btn" name="scan" value="RESCAN" />
</form>
</td>
</tr>
</table>
[% IF plateId AND NOT storage.have_missing; # will need to fix & re-scan %]
<form action="[% app_url %]/storage/import_xtr_96_data" method="post"
name="import-data" id="import-data">
<div class="indent">
<span class="info">
[% rack_in_use = storage.storage_rack.is_active %]
Rack [% rack_in_use ? 'exists' : 'does not exist' %]
in storage:
</span>
<input type="submit" name="import"
class="[% rack_in_use ? 'export' : 'import' %]-btn"
value="[% rack_in_use ? 'EXPORT ALL' : 'IMPORT' %]" />
[% IF storage.have_empty %]
<span class="warning">
empty co-ordinates detected, ensure this is correct
before importing!!
</span>
[% END %]
</div>
</form>
[% END %]
[% ELSIF can_scan %]
<form [% INCLUDE form_header; %]>
<p class="indent warning">Ensure rack is mounted on plate reader .....
<input type="submit" class="button scan-btn" name="scan" value="GO" />
</p>
</form>
[% ELSE %]
<p class="indent info">Cannot activate plate reader at
<span class="error">[% xtr_96_addr %]</span> from remote location
<span class="error">[% remote_addr %]</span>
</p>
[% END %]
<!-- END [% template.name %] -->