root/trunk/grails-app/views/studyWizard/pages/_samples.gsp @ 2152

Revision 2152, 6.9 KB (checked in by ferryjagers@…, 2 years ago)

studyWizardController - infoIcon with TemplateField? (String+Time) added to _assay_groups + _samples

  • Property svn:keywords set to Rev Author Date
Line 
1<%
2/**
3 * Samples page
4 *
5 * @author  Jeroen Wesbeek
6 * @since   20100212
7 * @package wizard
8 * @see     dbnp.studycapturing.WizardTagLib::previousNext
9 * @see     dbnp.studycapturing.WizardController
10 *
11 * Revision information:
12 * $Rev$
13 * $Author$
14 * $Date$
15 */
16%>
17<%@ page import="org.dbnp.gdt.TemplateFieldType" %>
18<%@ page import="org.dbnp.gdt.RelTime" %>
19<af:page>
20
21        <% /* g:if env="development">
22                <af:ajaxButtonElement description="Development feature (regenerate samples)" name="regenerate" value="regenerate new samples" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" afterSuccess="onWizardPage()">
23                        This functionality is only available in development mode for debugging purposes and will not show in test and production environments
24                </af:ajaxButtonElement>
25        </g:if */ %>
26       
27        <span class="info">
28                <span class="title">Samples</span>
29                Below you see all samples generated based on the subject / sampling event relations
30                you have specified in the previous screens.<br/>
31        </span>
32
33        <script type="text/javascript">
34                function switchTemplate( element ) {
35                        <af:ajaxSubmitJs functionName="switchTemplate" this="element" afterSuccess="onPage()"/>
36                }
37        </script>
38
39        <g:if test="${study.samples}">
40                <g:if test="${study.samples.findAll{!it?.template}.size()}">
41                <h1>Samples that still need to have a template assigned</h1>
42                <div class="tableEditor">
43                <div class="header">
44                        <div class="firstColumn"></div>
45                        <div class="column">Sampling Event</div>
46                        <div class="column">Subject</div>
47                        <div class="column">Template</div>
48                        <div class="column" style="width:200px;">Name</div>
49                </div>
50                <g:set var="previousEventIdentifier" value=""/>
51                <g:each var="sample" in="${study.samples}">
52                        <g:if test="${!sample?.template}">
53                                <div class="row">
54                                        <div class="firstColumn">&nbsp;</div>
55                                        <div class="column">
56                                                <g:if test="${previousEventIdentifier != sample.parentEvent?.getIdentifier()}">
57                                                        <g:set var="previousEventIdentifier" value="${sample.parentEvent?.getIdentifier()}"/>
58                                                        ${sample.parentEvent?.template?.name}
59                                                        <div class="helpIcon"></div>
60                                                        <div class="helpContent">
61                                                                <h1>${sample.parentEvent?.template?.name}</h1>
62                                                                <h2>Template Fields:</h2>
63                                                                <g:each var="field" in="${sample.parentEvent?.giveFields()}">
64                                                                        ${field.name[0].toUpperCase() + field.name.substring(1)}<br/>
65                                                                </g:each>
66                                                        </div>
67                                                </g:if>
68                                        </div>
69                                        <div class="column">
70                                                ${sample.parentSubject?.name}
71                                                <div class="helpIcon"></div>
72                                                <div class="helpContent">
73                                                        <h1>${sample.parentSubject?.template?.name}</h1>
74                                                        <h2>Template Fields:</h2>
75                                                        <g:each var="field" in="${sample.parentSubject?.giveFields()}">
76                                                                ${field.name[0].toUpperCase() + field.name.substring(1)}<br/>
77                                                        </g:each>
78                                                </div>
79                                        </div>
80                                        <div class="column">
81                                                <af:templateSelect name="template_${sample.getIdentifier()}" entity="${dbnp.studycapturing.Sample}" value="${sample.template}" tableEditorChangeEvent="switchTemplate(element);" addDummy="true" />
82                                        </div>
83                                        <div class="column">${sample.name}</div>
84                                        <af:templateColumns name="sample_${sample.getIdentifier()}" class="column" id="1" entity="${sample}"/>
85                                </div>
86                        </g:if>
87                </g:each>
88                </div>
89                </g:if>
90
91                <g:each var="sampleTemplate" in="${study.giveSampleTemplates()}">
92                        <h1>${sampleTemplate.name}</h1>
93                        <g:set var="showHeader" value="${true}" />
94                        <g:set var="previousEventIdentifier" value=""/>
95                        <div class="tableEditor">
96                        <g:each var="sample" in="${study.giveSamplesForTemplate(sampleTemplate)}">
97                                <g:if test="${showHeader}">
98                                        <g:set var="showHeader" value="${false}" />
99                                        <div class="header">
100                                                <div class="firstColumn"></div>
101                                                <div class="column" style="width:200px;">Sampling Event</div>
102                                                <div class="column">Subject</div>
103                                                <div class="column">Template</div>
104                                                <af:templateColumnHeaders entity="${sample}" class="column" columnWidths="[Name:250]"/>
105                                        </div>
106                                </g:if>
107                                <div class="row">
108                                        <div class="firstColumn"></div>
109                                        <div class="column">
110                                                <g:if test="${previousEventIdentifier != sample.parentEvent?.getIdentifier()}">
111                                                        <g:set var="previousEventIdentifier" value="${sample.parentEvent?.getIdentifier()}"/>
112                                                        ${sample.parentEvent?.template?.name}
113                                                        (${new RelTime(sample.parentEvent?.startTime)})
114                                                        <div class="helpIcon"></div>
115                                                        <div class="helpContent">
116                                                                <h1>${sample.parentEvent?.template?.name}</h1>
117                                                                <h2>Template Fields:</h2>
118                                                                <g:each var="field" in="${sample.parentEvent?.giveFields()}">
119                                                                        ${field.name[0].toUpperCase() + field.name.substring(1)}<br/>
120                                                                </g:each>
121                                                        </div>
122                                                </g:if>
123                                        </div>
124                                        <div class="column">
125                                                ${sample.parentSubject?.name}
126                                                <div class="helpIcon"></div>
127                                                <div class="helpContent">
128                                                        <h1>${sample.parentSubject?.template?.name}</h1>
129                                                        <h2>Template Fields:</h2>
130                                                        <g:each var="field" in="${sample.parentSubject?.giveFields()}">
131                                                                ${field.name[0].toUpperCase() + field.name.substring(1)}<br/>
132                                                        </g:each>
133                                                </div>
134                                        </div>
135                                        <div class="column">
136                                                <af:templateSelect name="template_${sample.getIdentifier()}" entity="${dbnp.studycapturing.Sample}" value="${sample?.template}" addDummy="true" tableEditorChangeEvent="switchTemplate(element);" />
137                        <div class="helpIcon"></div>
138                        <div class="helpContent">
139                            <h2>Time info:</h2>
140                            <g:if test="${sample.parentEvent?.template.getFieldsByType(TemplateFieldType.RELTIME).isEmpty()}">
141                                <b>Not available</b>
142                            </g:if>
143                            <g:else>
144                                <g:each var="field" in="${sample.parentEvent?.template.getFieldsByType(TemplateFieldType.RELTIME)}">
145                                    <b>${field.name}</b><br/>
146                                    ${new RelTime(sample.parentEvent?.getFieldValue(field.name))}<br/>
147                                </g:each>
148                            </g:else>
149                            <h2>String info:</h2>
150                            <g:if test="${sample.parentEvent?.template.getFieldsByType(TemplateFieldType.STRING).isEmpty()}">
151                                <b>Not available</b>
152                            </g:if>
153                            <g:else>
154                                <g:each var="field" in="${sample.parentEvent?.template.getFieldsByType(TemplateFieldType.STRING)}">
155                                    <b>${field.name}</b><br/>
156                                    ${sample.parentEvent?.getFieldValue(field.name)}<br/>
157                                </g:each>
158                            </g:else>
159                        </div>
160                                        </div>
161                                        <af:templateColumns name="sample_${sample.getIdentifier()}" class="column" id="1" entity="${sample}"/>
162                                </div>
163                        </g:each>
164                        </div>
165                </g:each>
166        </g:if>
167</af:page>
Note: See TracBrowser for help on using the browser.