source: trunk/grails-app/views/studyWizard/pages/_events.gsp @ 1461

Last change on this file since 1461 was 1461, checked in by work@…, 13 years ago
  • added wizard tags to gdt taglib
  • Property svn:keywords set to Rev Author Date
File size: 5.1 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: 1461 $
13 * $Author: work@osx.eu $
14 * $Date: 2011-02-01 13:36:57 +0000 (di, 01 feb 2011) $
15 */
16%>
17<af:page>
18        <g:if env="development">
19                <af:ajaxButtonElement description="Development feature (clear events)" name="clear" value="clear events" afterSuccess="onPage()">
20                        This functionality is only available in development mode for debugging purposes and will not show in test and production environments
21                </af: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        <af:radioElement name="eventType" description="Type" elements="['event','sample']" value="${values?.eventType}">
30                Type of event
31        </af:radioElement>
32        <af:templateElement name="eventTemplate" elementId="eventTemplate" description="Event Template" value="${event?.template}" entity="${dbnp.studycapturing.Event}" addDummy="true" ajaxOnChange="switchTemplate" afterSuccess="onPage()" >
33                The template to use for this event
34        </af:templateElement>
35        <af:templateElement name="sampleTemplate" elementId="sampleTemplate" description="Sampling Event Template" value="${event?.template}" entity="${dbnp.studycapturing.SamplingEvent}" addDummy="true" ajaxOnChange="switchTemplate" afterSuccess="onPage()" >
36                The template to use for this sampling event
37        </af:templateElement>
38        <g:if test="${event?.template}">
39        <div id="${values?.eventType}TemplateFields">
40        <g:if test="${event?.template}"><af:templateElements entity="${event}" /></g:if>
41        <g:if test="${event?.template}"><af:buttonElement name="add" value="Add" afterSuccess="onPage()"/></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="${study.events || study.samplingEvents}">
73                <g:each var="template" in="${study.giveAllEventTemplates()}">
74                        <g:set var="showHeader" value="${true}" />
75                        <h1>${template}</h1>
76                        <div class="tableEditor">
77                        <g:each var="event" in="${study.giveEventsForTemplate(template)}">
78                                <g:if test="${showHeader}">
79                                <g:set var="showHeader" value="${false}" />
80                                <div class="header">
81                                        <div class="firstColumn"></div>
82                                        <g:if test="${study.eventGroups}"><g:each var="eventGroup" in="${study.eventGroups}">
83                                        <div class="column">
84                                                <g:textField name="eventGroup_${eventGroup.getIdentifier()}_${template.getIdentifier()}" value="${eventGroup.name}" />
85                                                <af:ajaxButton name="deleteEventGroup" src="${resource(dir: 'images/icons', file: 'delete.png', plugin: 'famfamfam')}" alt="delete this eventgroup" class="famfamfam" value="-" before="\$(\'input[name=do]\').val(${eventGroup.getIdentifier()});" afterSuccess="onPage()" />
86                                        </div>
87                                        </g:each></g:if>
88                                        <div class="firstColumn">
89                                                <af:ajaxButton name="addEventGroup" src="${resource(dir: 'images/icons', file: 'add.png', plugin: 'famfamfam')}" alt="add a new eventgroup" class="famfamfam" value="+" afterSuccess="onPage()" />
90                                        </div>
91                                  <af:templateColumnHeaders class="column" entity="${event}" />
92                                </div>
93                                </g:if>
94
95                                <div class="row">
96                                        <div class="firstColumn">
97                                                <af:ajaxButton name="deleteEvent" src="${resource(dir: 'images/icons', file: 'delete.png', plugin: 'famfamfam')}" alt="delete this event" class="famfamfam" value="-" before="\$(\'input[name=do]\').val(${event.getIdentifier()});" afterSuccess="onPage()"/>
98                                        </div>
99                                        <g:if test="${study.eventGroups}"><g:each var="eventGroup" in="${study.eventGroups}">
100                                        <div class="column">
101                                                <g:if test="${eventGroup.events.find{ it == event } || eventGroup.samplingEvents.find{ it == event }}">
102                                                        <input type="checkbox" name="event_${event.getIdentifier()}_group_${eventGroup.getIdentifier()}" checked="checked" />
103                                                </g:if><g:else>
104                                                        <input type="checkbox" name="event_${event.getIdentifier()}_group_${eventGroup.getIdentifier()}"/>
105                                                </g:else>
106                                        </div>
107                                        </g:each></g:if>
108                                        <div class="firstColumn">
109                                                <af:ajaxButton name="duplicate" src="${resource(dir: 'images/icons', file: 'application_put.png', plugin: 'famfamfam')}" alt="duplicate this event" class="famfamfam" value="-" before="\$(\'input[name=do]\').val(${event.getIdentifier()});" afterSuccess="onPage()" />
110                                        </div>
111                                        <af:templateColumns class="column" entity="${event}" name="event_${event.getIdentifier()}" />
112                                </div>
113
114                        </g:each>
115                        </div>
116                        <div class="sliderContainer">
117                                <div class="slider"></div>
118                        </div>
119                </g:each>
120        </g:if>
121</af:page>
Note: See TracBrowser for help on using the repository browser.