comparison test_create.html @ 2853:f75db4482006

More test-creator work. Finished global surveys
author Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk>
date Wed, 26 Apr 2017 16:38:34 +0100
parents d1cde8698cc6
children 6625f4ad24f4
comparison
equal deleted inserted replaced
2852:8372c220db7a 2853:f75db4482006
69 <div class="attribute"> 69 <div class="attribute">
70 <span>Play audio one-at-a-time: </span> 70 <span>Play audio one-at-a-time: </span>
71 <input type="checkbox" ng-model="specification.playOne" /> 71 <input type="checkbox" ng-model="specification.playOne" />
72 </div> 72 </div>
73 </div> 73 </div>
74 <div class="node">
75 <h2>Test Completed Message</h2>
76 <textarea ng-model="specification.exitText"></textarea>
77 </div>
78 <div id="metricsNode" class="node">
79 <h3>Session Metrics</h3>
80 <div class="attributes">
81 <div class="attribute">
82 <span>Collect Total Test Time: </span>
83 <input type="checkbox" value="testTimer" ng-click="enableMetric($event)" />
84 </div>
85 <div class="attribute">
86 <span>Collect Fragment Listen Time: </span>
87 <input type="checkbox" value="elementTimer" ng-click="enableMetric($event)" />
88 </div>
89 <div class="attribute">
90 <span>Collect Fragment Initial Position: </span>
91 <input type="checkbox" value="elementInitialPosition" ng-click="enableMetric($event)" />
92 </div>
93 <div class="attribute">
94 <span>Collect Fragment Position over Time: </span>
95 <input type="checkbox" value="elementTracker" ng-click="enableMetric($event)" />
96 </div>
97 <div class="attribute">
98 <span>Collect Fragment Listened To Flag: </span>
99 <input type="checkbox" value="elementFlagListenedTo" ng-click="enableMetric($event)" />
100 </div>
101 <div class="attribute">
102 <span>Collect Fragment Moved Flag: </span>
103 <input type="checkbox" value="elementFlagMoved" ng-click="enableMetric($event)" />
104 </div>
105 <div class="attribute">
106 <span>Collect Fragment Listened Flag: </span>
107 <input type="checkbox" value="elementListenTracker" ng-click="enableMetric($event)" />
108 </div>
109 </div>
110 </div>
111 <div id="globalpresurvey" class="node">
112 <h2>Pre Test Survey</h2>
113 <div class="node" ng-repeat="opt in specification.preTest.options" ng-controller="surveyOption">
114 <h3>Survey Entry</h3>
115 <div class="attributes">
116 <div class="attribute">
117 <span>Survey Type: </span>
118 <select ng-model="opt.type">
119 <option value="question">Question</option>
120 <option value="radio">Radio</option>
121 <option value="checkbox">Checkbox</option>
122 <option value="statement">Statement</option>
123 <option value="number">Number</option>
124 <option value="slider">Slider</option>
125 <option value="video">Video</option>
126 <option value="youtube">YouTube</option>
127 </select>
128 </div>
129 <div class="attribute">
130 <span>Unique Survey Entry ID:</span>
131 <input type="text" ng-model="opt.id" />
132 </div>
133 <div class="attribute">
134 <span>Entry Name:</span>
135 <input type="text" ng-model="opt.name" />
136 </div>
137 <div class="attribute" ng-show="['question', 'checkbox', 'radio', 'number'].indexOf(opt.type) >= 0">
138 <span>Mandatory:</span>
139 <input type="checkbox" ng-model="opt.mandatory" />
140 </div>
141 <div class="attribute">
142 <span>Minimum Wait Time (s):</span>
143 <input type="number" ng-model="opt.minWait" min="0" />
144 </div>
145 <div class="attribute" ng-show="opt.type == 'question'">
146 <span>Box Size:</span>
147 <select ng-model="opt.boxsize">
148 <option value="small">Small</option>
149 <option value="normal">Normal</option>
150 <option value="large">Large</option>
151 <option value="huge">Huge</option>
152 </select>
153 </div>
154 <div class="attribute" ng-show="['checkbox', 'radio'].indexOf(opt.type) >= 0">
155 <span>Minimum Selected:</span>
156 <input type="number" ng-model="opt.min" min="0" />
157 </div>
158 <div class="attribute" ng-show="['checkbox', 'radio'].indexOf(opt.type) >= 0">
159 <span>Maximum Selected:</span>
160 <input type="number" ng-model="opt.max" max="{{opt.options.length}}" />
161 </div>
162 <div class="attribute" ng-show="['slider', 'number'].indexOf(opt.type) >= 0">
163 <span>Minimum Value:</span>
164 <input type="number" ng-model="opt.min" />
165 </div>
166 <div class="attribute" ng-show="['slider', 'number'].indexOf(opt.type) >= 0">
167 <span>Maximum Value:</span>
168 <input type="number" ng-model="opt.max" />
169 </div>
170 <div class="attribute" ng-show="['video', 'youtube'].indexOf(opt.type) >= 0">
171 <span>Video URL:</span>
172 <input type="text" ng-model="opt.url" />
173 </div>
174 </div>
175 <div class="node">
176 <h4>Statement</h4>
177 <textarea ng-model="opt.statement"></textarea>
178 </div>
179 <div class="node" ng-show="['checkbox', 'radio'].indexOf(opt.type) >= 0">
180 <h4>Options</h4>
181 <div>
182 <button type="button" class="btn btn-default" ng-click="addOption();">Add Option</button>
183 </div>
184 <div class="node" ng-repeat="option in opt.options">
185 <div class="attributes">
186 <div class="attribute">
187 <button type="button" class="btn btn-default" ng-click="removeOption(option);">Remove</button>
188 </div>
189 <div class="attribute">
190 <span>Name: </span>
191 <input type="text" ng-model="option.name" />
192 </div>
193 <div class="attribute">
194 <span>Displayed Text: </span>
195 <input type="text" ng-model="option.text" />
196 </div>
197 </div>
198 </div>
199 </div>
200 </div>
201 </div>
202 <div id="globalpostsurvey" class="node">
203 <h2>Post Test Survey</h2>
204 <div class="node" ng-repeat="opt in specification.postTest.options" ng-controller="surveyOption">
205 <h3>Survey Entry</h3>
206 <div class="attributes">
207 <div class="attribute">
208 <span>Survey Type: </span>
209 <select ng-model="opt.type">
210 <option value="question">Question</option>
211 <option value="radio">Radio</option>
212 <option value="checkbox">Checkbox</option>
213 <option value="statement">Statement</option>
214 <option value="number">Number</option>
215 <option value="slider">Slider</option>
216 <option value="video">Video</option>
217 <option value="youtube">YouTube</option>
218 </select>
219 </div>
220 <div class="attribute">
221 <span>Unique Survey Entry ID:</span>
222 <input type="text" ng-model="opt.id" />
223 </div>
224 <div class="attribute">
225 <span>Entry Name:</span>
226 <input type="text" ng-model="opt.name" />
227 </div>
228 <div class="attribute" ng-show="['question', 'checkbox', 'radio', 'number'].indexOf(opt.type) >= 0">
229 <span>Mandatory:</span>
230 <input type="checkbox" ng-model="opt.mandatory" />
231 </div>
232 <div class="attribute">
233 <span>Minimum Wait Time (s):</span>
234 <input type="number" ng-model="opt.minWait" min="0" />
235 </div>
236 <div class="attribute" ng-show="opt.type == 'question'">
237 <span>Box Size:</span>
238 <select ng-model="opt.boxsize">
239 <option value="small">Small</option>
240 <option value="normal">Normal</option>
241 <option value="large">Large</option>
242 <option value="huge">Huge</option>
243 </select>
244 </div>
245 <div class="attribute" ng-show="['checkbox', 'radio'].indexOf(opt.type) >= 0">
246 <span>Minimum Selected:</span>
247 <input type="number" ng-model="opt.min" min="0" />
248 </div>
249 <div class="attribute" ng-show="['checkbox', 'radio'].indexOf(opt.type) >= 0">
250 <span>Maximum Selected:</span>
251 <input type="number" ng-model="opt.max" max="{{opt.options.length}}" />
252 </div>
253 <div class="attribute" ng-show="['slider', 'number'].indexOf(opt.type) >= 0">
254 <span>Minimum Value:</span>
255 <input type="number" ng-model="opt.min" />
256 </div>
257 <div class="attribute" ng-show="['slider', 'number'].indexOf(opt.type) >= 0">
258 <span>Maximum Value:</span>
259 <input type="number" ng-model="opt.max" />
260 </div>
261 <div class="attribute" ng-show="['video', 'youtube'].indexOf(opt.type) >= 0">
262 <span>Video URL:</span>
263 <input type="text" ng-model="opt.url" />
264 </div>
265 </div>
266 <div class="node">
267 <h4>Statement</h4>
268 <textarea ng-model="opt.statement"></textarea>
269 </div>
270 <div class="node" ng-show="['checkbox', 'radio'].indexOf(opt.type) >= 0">
271 <h4>Options</h4>
272 <div>
273 <button type="button" class="btn btn-default" ng-click="addOption();">Add Option</button>
274 </div>
275 <div class="node" ng-repeat="option in opt.options">
276 <div class="attributes">
277 <div class="attribute">
278 <button type="button" class="btn btn-default" ng-click="removeOption(option);">Remove</button>
279 </div>
280 <div class="attribute">
281 <span>Name: </span>
282 <input type="text" ng-model="option.name" />
283 </div>
284 <div class="attribute">
285 <span>Displayed Text: </span>
286 <input type="text" ng-model="option.text" />
287 </div>
288 </div>
289 </div>
290 </div>
291 </div>
292 </div>
74 </div> 293 </div>
75 <div id="popupHolder" ng-show="popupVisible"> 294 <div id="popupHolder" ng-show="popupVisible">
76 <div ng-controller="introduction" class="popup" ng-show="popupVisible"> 295 <div ng-controller="introduction" class="popup" ng-show="popupVisible">
77 <div class="popupTitle" ng-switch="state"> 296 <div class="popupTitle" ng-switch="state">
78 <span ng-switch-when="0">Test Creator</span> 297 <span ng-switch-when="0">Test Creator</span>