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

Last change on this file since 637 was 637, checked in by duh, 12 years ago
  • forgot to re-enable commented template element
  • Property svn:keywords set to Date Author Rev
File size: 5.4 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: 637 $
13 * $Author: duh $
14 * $Date: 2010-07-01 14:34:22 +0000 (do, 01 jul 2010) $
15 */
16%>
17<wizard:pageContent>
18        <g:if env="development">
19                <wizard:ajaxButtonElement description="Development feature (clear events)" name="clear" value="clear events" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" afterSuccess="onWizardPage()">
20                        This functionality is only available in development mode for debugging purposes and will not show in test and production environments
21                </wizard:ajaxButtonElement>
22        </g:if>
23
24        <span class="info">
25                <span class="title">Define all events that occur in your study</span>
26                An event is any change ‘forced’ upon a subject, such as treatment, challenge, sampling. Choose an event type an define the different parameters of the event.               
27        </span>
28
29        <wizard:radioElement name="eventType" description="Type" elements="['event','sample']" value="${values?.eventType}">
30                Type of event
31        </wizard:radioElement>
32        <wizard:templateElement name="eventTemplate" elementId="eventTemplate" description="Event Template" value="${event?.template}" entity="${dbnp.studycapturing.Event}" addDummy="true" ajaxOnChange="switchTemplate" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" afterSuccess="onWizardPage()" >
33                The template to use for this study
34        </wizard:templateElement>
35        <wizard:templateElement name="sampleTemplate" elementId="sampleTemplate" description="Sample Template" value="${event?.template}" entity="${dbnp.studycapturing.SamplingEvent}" addDummy="true" ajaxOnChange="switchTemplate" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" afterSuccess="onWizardPage()" >
36                The template to use for this study
37        </wizard:templateElement>
38        <g:if test="${event?.template}">
39        <div id="${values?.eventType}TemplateFields">
40        <g:if test="${event?.template}"><wizard:templateElements entity="${event}" /></g:if>
41        <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>
42        </div>
43        </g:if>
44       
45        <script type="text/javascript">
46        function swapTemplate(value,refresh) {
47                $("div[id$='Template'],div[id$='TemplateFields']").each(function() {
48                        var e = $(this);
49                        if (e.attr('id').match("^"+value) != null) {
50                                e.show();
51                        } else {
52                                e.hide();
53                        }
54                });
55
56                if(refresh) {
57                }
58        }
59
60        // handle template selectors
61        $(document).ready(function() {
62                // bind event handlers
63                $("input[name=eventType]").click(function() {
64                        swapTemplate($(this).val(),true);
65                });
66
67                // handle selects
68                swapTemplate($('input:radio[name=eventType]:checked').val(),false);
69        });
70        </script>
71
72        <g:if test="${events}">
73        <g:each var="eventTemplate" in="${eventTemplates}">
74                <g:set var="showHeader" value="${true}" />
75                <h1>${eventTemplate.value.name}</h1>
76        <div class="table">
77                <g:each var="eventId" in="${eventTemplate.value.events}">
78                        <g:if test="${showHeader}">
79                        <g:set var="showHeader" value="${false}" />
80                        <div class="header">
81                                <div class="firstColumn">#</div>
82                                <div class="firstColumn"></div>
83                                <g:if test="${eventGroups}"><g:each var="eventGroup" status="g" in="${eventGroups}">
84                                <div class="column">
85                                        <g:textField name="eventGroup_${g}_name" value="${eventGroup.name}" />
86                                        <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()" />
87                                </div>
88                                </g:each></g:if>
89                                <div class="firstColumn">
90                                        <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()" />
91                                </div>
92                                <wizard:templateColumnHeaders entity="${events[ eventId ]}" class="column"/>
93                        </div>
94                        </g:if>
95                        <div class="row">
96                                <div class="firstColumn">${eventId + 1}</div>
97                                <div class="firstColumn">
98                                        <wizard:ajaxButton name="deleteEvent" 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()"/>
99                                </div>
100                                <g:if test="${eventGroups}"><g:each var="eventGroup" status="j" in="${eventGroups}">
101                                <div class="column">
102                                        <g:if test="${eventGroup.events.find{ it == events[ eventId ] } }">
103                                                <input type="checkbox" name="event_${eventId}_group_${j}" checked="checked" />
104                                        </g:if><g:else>
105                                                <input type="checkbox" name="event_${eventId}_group_${j}"/>
106                                        </g:else>
107                                </div>
108                                </g:each></g:if>
109                                <div class="firstColumn"></div>
110                                <wizard:templateColumns id="${eventId}" entity="${events[ eventId ]}" template="${events[ eventId ].template}" name="event_${eventId}" class="column" />
111                        </div>
112                </g:each>
113        </div>
114        <div class="sliderContainer">
115                <div class="slider"></div>
116        </div>
117        </g:each>
118</g:if>
119
120</wizard:pageContent>
Note: See TracBrowser for help on using the repository browser.