Changeset 264 for trunk/grails-app
- Timestamp:
- Mar 15, 2010, 2:59:21 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/grails-app/views/event/edit.gsp
r247 r264 9 9 10 10 11 12 13 11 14 <body> 12 15 13 16 17 18 19 <script type="text/javascript"> 20 21 var nextSampleRowId=0; 22 23 function addAddButton(elementId,sampleTableId) { 24 var parent=document.getElementById(elementId); 25 var button=document.createElement('input'); 26 button.setAttribute('type','button'); 27 button.setAttribute('onclick','addEmptySampleRow(\''+sampleTableId+'\');'); 28 button.value='add Sample'; 29 parent.appendChild(button); 30 } 31 32 33 function addEmptySampleRow(elementId) { 34 addSampleRow(elementId,'',''); 35 } 36 37 38 function addSampleRow(elementId,text1,text2) { 39 addSampleRowWithId(elementId,text1,text2,nextSampleRowId); 40 nextSampleRowId++; 41 } 42 43 44 function addSampleRowWithId(elementId,text1,text2,newId) { 45 46 var parent=document.getElementById(elementId); 47 var tr=document.createElement('tr'); 48 tr.id='samplerow'+newId; 49 parent.appendChild(tr); 50 51 var td1=document.createElement('td'); 52 var input1= document.createElement('input'); 53 input1.type='text'; 54 input1.value=text1; 55 input1.name='sampleName'+(newId); 56 input1.id=input1.name 57 td1.appendChild(input1); 58 59 var td2=document.createElement('td'); 60 var input2= document.createElement('input'); 61 input2.type='text'; 62 input2.value=text2; 63 input2.name='sampleMaterial'+(newId); 64 input2.id=input2.name 65 td2.appendChild(input2); 66 67 tr.appendChild(td1); 68 tr.appendChild(td2); 69 70 var td3=document.createElement('td'); 71 var button=document.createElement('input'); 72 button.setAttribute('type','button'); 73 button.value='delete'; 74 button.onclick=function(){jQuery(tr).remove();} 75 tr.appendChild(td3); 76 td3.appendChild(button); 77 } 78 79 </script> 80 81 82 83 14 84 <div class="body"> 15 85 16 86 <h1><g:message code="default.create.label" args="[entityName]" /></h1> 87 17 88 18 89 <g:if test="${flash.message}"> … … 24 95 25 96 26 27 97 <g:form action="save" method="post" id="${eventInstance.id}"> 28 98 … … 32 102 33 103 34 <tr class="prop"> 35 <td valign="top" class="name"> 36 <label for="subject"><g:message code="event.subject.label" default="Subject" /></label> 37 </td> 38 <td valign="top" class="value" > 39 <g:select id="subject" name="subject.id" from="${dbnp.studycapturing.Subject.list()}" optionKey="id" optionValue="name" value="${eventInstance?.subject?.id}" /> 40 </td> 41 </tr> 104 <!-- show the EventDescription --> 105 106 <tr class="prop"> 107 <td valign="top" class="name"> 108 <label for="name"><g:message code="eventDescription.name.label" default="Name" /></label> 109 </td> 110 <td valign="top" class="value ${hasErrors(bean: description, field: 'name', 'errors')}"> 111 <g:textField name="name" value="${description?.name}" /> 112 </td> 113 </tr> 114 115 116 <tr class="prop"> 117 <td valign="top" class="name"> 118 <label for="description"><g:message code="eventDescription.description.label" default="Description" /></label> 119 </td> 120 <td valign="top" class="value ${hasErrors(bean: description, field: 'description', 'errors')}"> 121 <g:textArea name="description" value="${description?.description}" cols="40" rows="6" /> 122 </td> 123 </tr> 124 125 126 <!-- show Event members --> 42 127 43 128 <tr class="prop"> … … 75 160 </tr> 76 161 77 <g:render template="../common/eventDescriptionTableRows" model="${[description:description, event:event]}"/> 78 79 80 <tr class="prop"> 81 <td>This is a sampling event </td> 82 <td valign="top" class="value ${hasErrors(bean: description, field: 'protocol', 'errors')}"> 83 <g:select name="mySampleEvent" id="mySampleEvent" from="${['yes','no']}" value="${isSamplingEvent}" onchange="${remoteFunction(action:'showSample', controller='event', update:'samplePartial', onComplete:'Effect.Appear(samplePartial)', id:params['id'], params:'\'wantSample=\' + this.value',)}" /> 84 </td> 85 </tr> 86 87 88 </tbody> 89 90 91 92 <tbody id="samplePartial"> 93 94 <g:if test="${(eventInstance.isSamplingEvent()) && (eventInstance.samples!=null)}" > 95 <% def list = eventInstance.samples %> 96 <% list.sort{ a,b -> a.name <=> b.name }%> 97 <g:each in="${list}"> 98 <tr class="prop"> 99 <td valign="top" class="name" width=200 > 100 <label><%= it.name %> </label> 101 </td> 102 <td valign="top" class="name"> 103 <g:textField name="${it.name}" value="" /> 104 </td> 105 </tr> 106 </g:each> 107 </g:if> 108 </tbody> 109 110 162 163 164 <!-- select protocol --> 165 166 <tr class="prop"> 167 168 <td valign="top" class="name" width=200 > 169 <label for="protocol"><g:message code="eventDescription.protocol.label" default="Protocol" /></label> 170 </td> 171 <td valign="top" class="value ${hasErrors(bean: description, field: 'rotocol', 'errors')}"> 172 <% protocols=dbnp.studycapturing.Protocol.list() %> 173 <g:select name="protocol" id="protocol" from="${protocols}" optionKey="id" optionValue="${{it.name}}" 174 value="${{it?.id}}" onchange="${remoteFunction(action:'showPartial', controller:'eventDescription', update:'preview', 175 params:'\'protocolid=\' + this.value')} " /> 176 </td> 177 </tr> 178 179 180 <!-- this part changes dynamically on select --> 181 182 <tbody id="preview"> 183 <g:include action='showPartial' controller='eventDescription' params="[protocolid:protocols[0].id]" id="${eventInstance.id}" /> 184 </tbody> 185 186 187 188 </tbody> <!-- end of main table --> 189 190 191 192 193 194 195 196 <!-- samplePartial --> 197 198 <g:if test="${showSample}"> 199 200 <tbody> 201 <tr> <td> Sample </td> <td> 202 <table> 203 <thead> <th>Name</th> <th>Material</th> <th> Delete </th> </thead> 204 <tbody id="Samples" class="Samples"> </tbody> 205 </table> 206 </td> </tr> 207 <g:each var="sample" in="${samples}"> 208 <script type="text/javascript"> 209 addSampleRowWithId('Samples',"${sample.name}","${sample.material}","_existing_${sample.id}") 210 </script> 211 </g:each> 212 <tr><td></td><td id="sampleAddButtonRow"></td></tr> 213 </tbody> 214 215 <script type="text/javascript"> 216 addAddButton('sampleAddButtonRow','Samples'); 217 </script> 218 219 </g:if> 111 220 112 221 … … 115 224 </div> 116 225 117 118 226 <div class="buttons"> 119 <span class="button"><g:submitButton name=" create" class="save" value="${message(code: 'default.button.create.label', default: 'Save')}" /></span>227 <span class="button"><g:submitButton name="save" class="save" value="${message(code: 'default.button.save.label', default: 'Save')}" /></span> 120 228 </div> 121 229 … … 123 231 </g:form> 124 232 </div> 233 234 125 235 </body> 126 236 </html>
Note: See TracChangeset
for help on using the changeset viewer.