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: 959 $ |
---|
13 | * $Author: j.a.m.wesbeek@umail.leidenuniv.nl $ |
---|
14 | * $Date: 2010-10-20 19:13:14 +0000 (wo, 20 okt 2010) $ |
---|
15 | */ |
---|
16 | %> |
---|
17 | <wizard:pageContent> |
---|
18 | |
---|
19 | <g:if env="development"> |
---|
20 | <wizard:ajaxButtonElement description="Development feature (regenerate samples)" name="regenerate" value="regenerate new samples" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" afterSuccess="onWizardPage()"> |
---|
21 | This functionality is only available in development mode for debugging purposes and will not show in test and production environments |
---|
22 | </wizard:ajaxButtonElement> |
---|
23 | </g:if> |
---|
24 | |
---|
25 | <span class="info"> |
---|
26 | <span class="title">Samples</span> |
---|
27 | Below you see all samples generated based on the subject / sampling event relations |
---|
28 | you have specified in the previous screens.<br/> |
---|
29 | </span> |
---|
30 | |
---|
31 | <script type="text/javascript"> |
---|
32 | function switchTemplate( element ) { |
---|
33 | <wizard:ajaxSubmitJs functionName="switchTemplate" this="element" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" afterSuccess="onWizardPage()"/> |
---|
34 | } |
---|
35 | </script> |
---|
36 | |
---|
37 | <g:if test="${study.samples}"> |
---|
38 | <g:if test="${study.samples.findAll{!it.template}.size()}"> |
---|
39 | <h1>Samples that still need to have a template assigned</h1> |
---|
40 | <div class="table"> |
---|
41 | <div class="header"> |
---|
42 | <div class="firstColumn">#</div> |
---|
43 | <div class="column">Sampling Event</div> |
---|
44 | <div class="column">Subject</div> |
---|
45 | <div class="column">Template</div> |
---|
46 | <div class="column" style="width:200px;">Name</div> |
---|
47 | </div> |
---|
48 | <g:set var="previousTemplate" value=""/> |
---|
49 | <g:each var="sample" in="${study.samples}"> |
---|
50 | <g:if test="${!sample.template}"> |
---|
51 | <div class="row"> |
---|
52 | <div class="firstColumn">${sample.getIdentifier()}</div> |
---|
53 | <div class="column"> |
---|
54 | <g:if test="${previousTemplate != sample.parentEvent.template.name}"> |
---|
55 | <g:set var="previousTemplate" value="${sample.parentEvent.template.name}"/> |
---|
56 | ${sample.parentEvent.template.name} |
---|
57 | <div class="helpIcon"></div> |
---|
58 | <div class="helpContent"> |
---|
59 | <h1>${sample.parentEvent.template.name}</h1> |
---|
60 | <h2>Template Fields:</h2> |
---|
61 | <g:each var="field" in="${sample.parentEvent.giveFields()}"> |
---|
62 | ${field.name[0].toUpperCase() + field.name.substring(1)}<br/> |
---|
63 | </g:each> |
---|
64 | </div> |
---|
65 | </g:if> |
---|
66 | </div> |
---|
67 | <div class="column"> |
---|
68 | ${sample.parentSubject.name} |
---|
69 | <div class="helpIcon"></div> |
---|
70 | <div class="helpContent"> |
---|
71 | <h1>${sample.parentSubject.template.name}</h1> |
---|
72 | <h2>Template Fields:</h2> |
---|
73 | <g:each var="field" in="${sample.parentSubject.giveFields()}"> |
---|
74 | ${field.name[0].toUpperCase() + field.name.substring(1)}<br/> |
---|
75 | </g:each> |
---|
76 | </div> |
---|
77 | </div> |
---|
78 | <div class="column"> |
---|
79 | <wizard:templateSelect name="template_${sample.getIdentifier()}" entity="${dbnp.studycapturing.Sample}" value="${sample.template}" tableEditorChangeEvent="switchTemplate(element);" addDummy="true" /> |
---|
80 | </div> |
---|
81 | <div class="column">${sample.name}</div> |
---|
82 | <wizard:templateColumns name="sample_${sample.getIdentifier()}" class="column" id="1" entity="${sample}"/> |
---|
83 | </div> |
---|
84 | </g:if> |
---|
85 | </g:each> |
---|
86 | </div> |
---|
87 | <div class="sliderContainer"> |
---|
88 | <div class="slider" ></div> |
---|
89 | </div> |
---|
90 | </g:if> |
---|
91 | |
---|
92 | <g:each var="sampleTemplate" in="${study.giveSampleTemplates()}"> |
---|
93 | <h1>${sampleTemplate.name}</h1> |
---|
94 | <g:set var="showHeader" value="${true}" /> |
---|
95 | <g:set var="previousTemplate" value=""/> |
---|
96 | <div class="table"> |
---|
97 | <g:each var="sample" in="${study.giveSamplesForTemplate(sampleTemplate)}"> |
---|
98 | <g:if test="${showHeader}"> |
---|
99 | <g:set var="showHeader" value="${false}" /> |
---|
100 | <div class="header"> |
---|
101 | <div class="firstColumn">#</div> |
---|
102 | <div class="column">Sampling Event</div> |
---|
103 | <div class="column">Subject</div> |
---|
104 | <div class="column">Template</div> |
---|
105 | <wizard:templateColumnHeaders entity="${sample}" class="column" /> |
---|
106 | </div> |
---|
107 | </g:if> |
---|
108 | <div class="row"> |
---|
109 | <div class="firstColumn">${sample.getIdentifier()}</div> |
---|
110 | <div class="column"> |
---|
111 | <g:if test="${previousTemplate != sample.parentEvent.template.name}"> |
---|
112 | <g:set var="previousTemplate" value="${sample.parentEvent.template.name}"/> |
---|
113 | ${sample.parentEvent.template.name} |
---|
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 | <wizard:templateSelect name="template_${sample.getIdentifier()}" entity="${dbnp.studycapturing.Sample}" value="${sample.template}" addDummy="true" tableEditorChangeEvent="switchTemplate(element);" /> |
---|
137 | </div> |
---|
138 | <wizard:templateColumns name="sample_${sample.getIdentifier()}" class="column" id="1" entity="${sample}"/> |
---|
139 | </div> |
---|
140 | </g:each> |
---|
141 | </div> |
---|
142 | <div class="sliderContainer"> |
---|
143 | <div class="slider" ></div> |
---|
144 | </div> |
---|
145 | </g:each> |
---|
146 | </g:if> |
---|
147 | </wizard:pageContent> |
---|