source: trunk/grails-app/views/wizard/pages/_events.gsp @ 390

Last change on this file since 390 was 390, checked in by duh, 9 years ago
  • refactored TemplateEntity? to check for and handle event + domain fields properly
  • refactored wizard event page to

1) display events seperated in event templates
2) display cross-template event groups

  • todo: event fields are not yet properly handled
  • Property svn:keywords set to Date Author Rev
File size: 8.0 KB
Line 
1<%
2/**
3 * Events 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: 390 $
13 * $Author: duh $
14 * $Date: 2010-05-03 13:55:29 +0000 (ma, 03 mei 2010) $
15 */
16%>
17<wizard:pageContent>
18        <span class="info">
19                <span class="title">Define all events that occur in your study</span>
20                Bla bla bla we need a good help text here ;)
21        </span>
22
23        <wizard:templateElement name="template" description="Template" value="${event?.template}" entity="${dbnp.studycapturing.Event}" addDummy="true" ajaxOnChange="switchTemplate" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" afterSuccess="onWizardPage()" >
24                The template to use for this study
25        </wizard:templateElement>
26        <g:if test="${event?.template}"><wizard:templateElements entity="${event}" /></g:if>
27        <g:if test="${event?.template}"><wizard:buttonElement name="add" value="Add" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" afterSuccess="onWizardPage()"/></g:if>
28
29<g:if test="${events}">
30        <g:each var="eventTemplate" in="${eventTemplates}">
31                <h1>${eventTemplate.getValue().name} template</h1>
32        <div class="table">
33                <div class="header">
34                        <div class="firstColumn">#</div>
35                        <div class="firstColumn"></div>
36                        <wizard:templateColumnHeaders template="${eventTemplate.getValue().template}" class="column"/>
37                        <g:if test="${eventGroups}"><g:each var="eventGroup" status="g" in="${eventGroups}">
38                        <div class="column">
39                                <g:textField name="eventGroup_${g}_name" value="${eventGroup.name}" />
40                                <wizard:ajaxButton name="deleteEventGroup" src="../images/icons/famfamfam/delete.png" alt="delete this eventgroup" class="famfamfam" value="-" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" before="\$(\'input[name=do]\').val(${g});" afterSuccess="onWizardPage()" />
41                        </div>
42                        </g:each></g:if>
43                        <div class="column">
44                                <wizard:ajaxButton name="addEventGroup" src="../images/icons/famfamfam/add.png" alt="add a new eventgroup" class="famfamfam" value="+" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" afterSuccess="onWizardPage()" />
45                        </div>
46                </div>
47                <g:each var="eventId" in="${eventTemplate.getValue().events}">
48                        <div class="row">
49                                <div class="firstColumn">${eventId + 1}</div>
50                                <div class="firstColumn">
51                                        <wizard:ajaxButton name="delete" src="../images/icons/famfamfam/delete.png" alt="delete this subject" class="famfamfam" value="-" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" before="\$(\'input[name=do]\').val(${eventId});" afterSuccess="onWizardPage()"/>
52                                </div>
53                                <wizard:templateColumns id="${eventId}" entity="${events[ eventId ]}" template="${events[ eventId ].template}" name="event_${eventId}" class="column" />
54                                <g:if test="${eventGroups}"><g:each var="eventGroup" status="j" in="${eventGroups}">
55                                <div class="column">
56                                        <g:if test="${eventGroup.events.find{ it == event} }">
57                                                <input type="checkbox" name="event_${eventId}_group_${j}" checked="checked" />
58                                        </g:if><g:else>
59                                                <input type="checkbox" name="event_${eventId}_group_${j}"/>
60                                        </g:else>
61                                </div>
62                                </g:each></g:if>
63                                <div class="column"></div>
64                        </div>
65                </g:each>
66        </div>
67        <div class="sliderContainer">
68                <div class="slider"></div>
69        </div>
70        </g:each>
71</g:if>
72
73<% /*
74        ----- START ----- <br/>
75        <g:each var="event" status="i" in="${events}">
76        <div class="table">
77                <div class="header">
78                        <div class="firstColumn">#</div>
79                        <div class="firstColumn"></div>
80                        <div class="column">Template</div>
81                        <wizard:templateColumnHeaders template="${event.template}" class="column" />
82                        <g:if test="${eventGroups}"><g:each var="eventGroup" status="g" in="${eventGroups}">
83                        <div class="column">
84                                <g:textField name="eventGroup_${g}_name" value="${eventGroup.name}" />
85                                <wizard:ajaxButton name="deleteEventGroup" src="../images/icons/famfamfam/delete.png" alt="delete this eventgroup" class="famfamfam" value="-" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" before="\$(\'input[name=do]\').val(${g});" afterSuccess="onWizardPage()" />
86                        </div>
87                        </g:each></g:if>
88                        <div class="column">
89                                <wizard:ajaxButton name="addEventGroup" src="../images/icons/famfamfam/add.png" alt="add a new eventgroup" class="famfamfam" value="+" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" afterSuccess="onWizardPage()" />
90                        </div>
91                </div>
92                <div class="row">
93                        <div class="firstColumn">${i + 1}</div>
94                        <div class="firstColumn">
95                                <wizard:ajaxButton name="delete" src="../images/icons/famfamfam/delete.png" alt="delete this event" class="famfamfam" value="-" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" before="\$(\'input[name=do]\').val(${i});" afterSuccess="onWizardPage()" />
96                        </div>
97                        <div class="column">${event.template}</div>
98                        <wizard:templateColumns id="${i}" entity="${event}" template="${event.template}" name="event_${i}" class="column" />
99                        <g:if test="${eventGroups}"><g:each var="eventGroup" status="j" in="${eventGroups}">
100                        <div class="column">
101                                <g:if test="${eventGroup.events.find{ it == event} }">
102                                        <input type="checkbox" name="event_${i}_group_${j}" checked="checked" />
103                                </g:if><g:else>
104                                        <input type="checkbox" name="event_${i}_group_${j}"/>
105                                </g:else>
106                        </div>
107                        </g:each></g:if>
108                        <div class="column"></div>
109                </div>
110        </div>
111                <div class="sliderContainer">
112                        <div class="slider"></div>
113                </div>
114
115        </g:each>
116
117        <div class="table">
118                <div class="header">
119                        <div class="firstColumn">#</div>
120                        <div class="firstColumn"></div>
121                        <div class="column">eventDescription</div>
122                        <div class="column">startTime</div>
123                        <div class="column">endTime</div>
124                        <div class="column">duration</div>
125                        <g:if test="${eventGroups}"><g:each var="eventGroup" status="i" in="${eventGroups}">
126                        <div class="column">
127                                <g:textField name="eventGroup_${i}_name" value="${eventGroup.name}" />
128                                <wizard:ajaxButton name="deleteEventGroup" src="../images/icons/famfamfam/delete.png" alt="delete this eventgroup" class="famfamfam" value="-" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" before="\$(\'input[name=do]\').val(${i});" afterSuccess="onWizardPage()" />
129                        </div>
130                        </g:each></g:if>
131                        <div class="column">
132                                <wizard:ajaxButton name="addEventGroup" src="../images/icons/famfamfam/add.png" alt="add a new eventgroup" class="famfamfam" value="+" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" afterSuccess="onWizardPage()" />
133                        </div>
134                </div>
135        <g:each var="event" status="i" in="${events}">
136                <div class="row">
137                        <div class="firstColumn">${i+1}</div>
138                        <div class="firstColumn">
139                                <wizard:ajaxButton name="deleteEvent" src="../images/icons/famfamfam/delete.png" alt="delete this event" class="famfamfam" value="-" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" before="\$(\'input[name=do]\').val(${i});" afterSuccess="onWizardPage()" />                               
140                        </div>
141                        <div class="column">${event.eventDescription}</div>
142                        <div class="column"><g:formatDate format="dd/MM/yyyy hh:mm" date="${event.startTime}" /></div>
143                        <div class="column"><g:formatDate format="dd/MM/yyyy hh:mm" date="${event.endTime}" /></div>
144                        <div class="column">${event.getShortDuration()}</div>
145                        <g:if test="${eventGroups}"><g:each var="eventGroup" status="j" in="${eventGroups}">
146                        <div class="column">
147                                <g:if test="${eventGroup.events.find{ it == event} }">
148                                        <input type="checkbox" name="event_${i}_group_${j}" checked="checked" />
149                                </g:if><g:else>
150                                        <input type="checkbox" name="event_${i}_group_${j}"/>
151                                </g:else>
152                        </div>
153                        </g:each></g:if>
154                        <div class="column"></div>
155                </div>
156        </g:each>
157        </div>
158        <div class="sliderContainer">
159                <div class="slider"></div>
160        </div>
161</g:if>
162 */ %>
163       
164</wizard:pageContent>
Note: See TracBrowser for help on using the repository browser.