Mercurial > hg > webaudioevaluationtool
comparison test_create.html @ 2857:80a3b693b3f6
More test_create work
author | Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk> |
---|---|
date | Thu, 27 Apr 2017 11:24:16 +0100 |
parents | 5591d01adf1c |
children | cffde1e75b2d |
comparison
equal
deleted
inserted
replaced
2856:5591d01adf1c | 2857:80a3b693b3f6 |
---|---|
108 </div> | 108 </div> |
109 </div> | 109 </div> |
110 </div> | 110 </div> |
111 <div id="globalpresurvey" class="node"> | 111 <div id="globalpresurvey" class="node"> |
112 <h2>Pre Test Survey</h2> | 112 <h2>Pre Test Survey</h2> |
113 <button type="button" class="btn btn-success" ng-click="specification.preTest.addOption()">Add Entry</button> | |
113 <div class="node" ng-repeat="opt in specification.preTest.options" ng-controller="surveyOption"> | 114 <div class="node" ng-repeat="opt in specification.preTest.options" ng-controller="surveyOption"> |
114 <h3>Survey Entry</h3> | 115 <h3>Survey Entry</h3> |
115 <div class="attributes"> | 116 <div class="attributes"> |
116 <div class="attribute"> | 117 <div class="attribute"> |
117 <span>Survey Type: </span> | 118 <span>Survey Type: </span> |
195 <input type="text" ng-model="option.text" /> | 196 <input type="text" ng-model="option.text" /> |
196 </div> | 197 </div> |
197 </div> | 198 </div> |
198 </div> | 199 </div> |
199 </div> | 200 </div> |
201 <div class="node"> | |
202 <h4>Conditionals</h4> | |
203 <button type="button" class="btn btn-default" ng-click="addCondition()">Add Condition</button> | |
204 <div class="node" ng-repeat="condition in opt.conditions"> | |
205 <div class="attributes"> | |
206 <div class="attribute"> | |
207 <button type="button" class="btn btn-danger" ng-click="removeCondition(condition)">Remove</button> | |
208 </div> | |
209 <div class="attribute"> | |
210 <span>Check Type:</span> | |
211 <select ng-model="condition.check"> | |
212 <option value="equals">Equal To</option> | |
213 <option value="lessThan">Less Than</option> | |
214 <option value="greaterThan">Greater Than</option> | |
215 <option value="stringContains">String Contains</option> | |
216 </select> | |
217 </div> | |
218 <div class="attribute"> | |
219 <span>Value: </span> | |
220 <input type="text" ng-model="condition.value" /> | |
221 </div> | |
222 <div class="attribute"> | |
223 <span>Jump To On Pass: </span> | |
224 <select ng-model="condition.jumpToOnPass"> | |
225 <option value="">None</option> | |
226 <option ng-repeat="entry in specification.preTest.options" value="{{entry.id}}">{{entry.id}}</option> | |
227 </select> | |
228 </div> | |
229 <div class="attribute"> | |
230 <span>Jump To On Fail: </span> | |
231 <select ng-model="condition.jumpToOnFail"> | |
232 <option value="">None</option> | |
233 <option ng-repeat="entry in specification.preTest.options" value="{{entry.id}}">{{entry.id}}</option> | |
234 </select> | |
235 </div> | |
236 </div> | |
237 </div> | |
238 </div> | |
200 </div> | 239 </div> |
201 </div> | 240 </div> |
202 <div id="globalpostsurvey" class="node"> | 241 <div id="globalpostsurvey" class="node"> |
203 <h2>Post Test Survey</h2> | 242 <h2>Post Test Survey</h2> |
243 <button type="button" class="btn btn-success" ng-click="specification.postTest.addOption()">Add Entry</button> | |
204 <div class="node" ng-repeat="opt in specification.postTest.options" ng-controller="surveyOption"> | 244 <div class="node" ng-repeat="opt in specification.postTest.options" ng-controller="surveyOption"> |
205 <h3>Survey Entry</h3> | 245 <h3>Survey Entry</h3> |
206 <div class="attributes"> | 246 <div class="attributes"> |
207 <div class="attribute"> | 247 <div class="attribute"> |
208 <span>Survey Type: </span> | 248 <span>Survey Type: </span> |
286 <input type="text" ng-model="option.text" /> | 326 <input type="text" ng-model="option.text" /> |
287 </div> | 327 </div> |
288 </div> | 328 </div> |
289 </div> | 329 </div> |
290 </div> | 330 </div> |
331 <div class="node"> | |
332 <h4>Conditionals</h4> | |
333 <button type="button" class="btn btn-default" ng-click="addCondition()">Add Condition</button> | |
334 <div class="node" ng-repeat="condition in opt.conditions"> | |
335 <div class="attributes"> | |
336 <div class="attribute"> | |
337 <button type="button" class="btn btn-danger" ng-click="removeCondition(condition)">Remove</button> | |
338 </div> | |
339 <div class="attribute"> | |
340 <span>Check Type:</span> | |
341 <select ng-model="condition.check"> | |
342 <option value="equals">Equal To</option> | |
343 <option value="lessThan">Less Than</option> | |
344 <option value="greaterThan">Greater Than</option> | |
345 <option value="stringContains">String Contains</option> | |
346 </select> | |
347 </div> | |
348 <div class="attribute"> | |
349 <span>Value: </span> | |
350 <input type="text" ng-model="condition.value" /> | |
351 </div> | |
352 <div class="attribute"> | |
353 <span>Jump To On Pass: </span> | |
354 <select ng-model="condition.jumpToOnPass"> | |
355 <option value="">None</option> | |
356 <option ng-repeat="entry in specification.postTest.options" value="{{entry.id}}">{{entry.id}}</option> | |
357 </select> | |
358 </div> | |
359 <div class="attribute"> | |
360 <span>Jump To On Fail: </span> | |
361 <select ng-model="condition.jumpToOnFail"> | |
362 <option value="">None</option> | |
363 <option ng-repeat="entry in specification.postTest.options" value="{{entry.id}}">{{entry.id}}</option> | |
364 </select> | |
365 </div> | |
366 </div> | |
367 </div> | |
368 </div> | |
291 </div> | 369 </div> |
292 </div> | 370 </div> |
293 <div id="globalinterface" class="node" ng-controller="interfaceNode" ng-init="interface = specification.interfaces"> | 371 <div id="globalinterface" class="node" ng-controller="interfaceNode" ng-init="interface = specification.interfaces"> |
294 <h2>Interface (Globals)</h2> | 372 <h2>Interface (Globals)</h2> |
295 <div class="node interfaceOptions"> | 373 <div class="node interfaceOptions"> |
336 </div> | 414 </div> |
337 </div> | 415 </div> |
338 </div> | 416 </div> |
339 </div> | 417 </div> |
340 </div> | 418 </div> |
419 <div style="text-align: center;"> | |
420 <button type="button" class="btn btn-success" ng-click="addPage()">Add Page</button> | |
421 </div> | |
341 <div class="node pageNode" ng-controller="page" ng-repeat="page in specification.pages"> | 422 <div class="node pageNode" ng-controller="page" ng-repeat="page in specification.pages"> |
342 <h2>Page</h2> | 423 <h2>Page</h2> |
424 <div class="attributes"> | |
425 <div class="attribute"> | |
426 <span>Unique ID: </span> | |
427 <input type="text" ng-model="page.id" /> | |
428 </div> | |
429 <div class="attribute"> | |
430 <span>Fragment common-root URL: </span> | |
431 <input type="text" ng-model="page.hostURL" /> | |
432 </div> | |
433 <div class="attribute"> | |
434 <span>Randomise Fragment Order: </span> | |
435 <input type="checkbox" ng-model="page.randomiseOrder" /> | |
436 </div> | |
437 <div class="attribute"> | |
438 <span>Repeat Page N-times: </span> | |
439 <input type="number" ng-model="page.repeatCount" /> | |
440 </div> | |
441 <div class="attribute"> | |
442 <span>Loop audio: </span> | |
443 <input type="checkbox" ng-model="page.loop" /> | |
444 </div> | |
445 <div class="attribute"> | |
446 <span>Synchronous audio playback: </span> | |
447 <input type="checkbox" ng-model="page.synchronous" /> | |
448 </div> | |
449 <div class="attribute"> | |
450 <span>Loudness (page): </span> | |
451 <input type="number" ng-model="page.loudness" max="0" /> | |
452 </div> | |
453 <div class="attribute"> | |
454 <span>Label type: </span> | |
455 <select ng-model="page.label"> | |
456 <option value="default">Default</option> | |
457 <option value="none">None</option> | |
458 <option value="number">[1, 2, 3...]</option> | |
459 <option value="letter">[a, b, c...]</option> | |
460 <option value="capital">[A, B, C...]</option> | |
461 <option value="samediff" ng-show="specification.interface == 'AB'">[Same, Different]</option> | |
462 </select> | |
463 </div> | |
464 <div class="attribute" ng-show="page.label != 'default' && page.label != 'none'"> | |
465 <span>Label Start: </span> | |
466 <input type="text" ng-model="page.labelStart" /> | |
467 </div> | |
468 <div class="attribute"> | |
469 <span>Fragment pool size: </span> | |
470 <input type="number" ng-model="page.poolSize" min="0" max="page.audioElements.length" /> | |
471 </div> | |
472 <div class="attribute" ng-show="specification.poolSize > 0"> | |
473 <span>Always include page: </span> | |
474 <input type="checkbox" ng-model="page.alwaysInclude" /> | |
475 </div> | |
476 <div class="attribute"> | |
477 <span>Fixed Page Position: </span> | |
478 <input type="number" ng-model="page.position" max="{{specification.pages.length}}" /> | |
479 </div> | |
480 <div class="attribute"> | |
481 <span>Fixed Page Position: </span> | |
482 <input type="number" ng-model="page.position" min="0" max="{{specification.pages.length}}" /> | |
483 </div> | |
484 <div class="attribute"> | |
485 <span>Fragment pre-silence: </span> | |
486 <input type="number" ng-model="page.preSilence" min="0" step="0.1" /> | |
487 </div> | |
488 <div class="attribute"> | |
489 <span>Fragment post-silence: </span> | |
490 <input type="number" ng-model="page.postSilence" min="0" step="0.1" /> | |
491 </div> | |
492 <div class="attribute"> | |
493 <span>Cannot interupt audio: </span> | |
494 <input type="checkbox" ng-model="page.playOne" /> | |
495 </div> | |
496 <div class="attribute"> | |
497 <span>Only move playing audio: </span> | |
498 <input type="checkbox" ng-model="page.restrictMovement" /> | |
499 </div> | |
500 </div> | |
501 <div class="node"> | |
502 <h3>Page Title</h3> | |
503 <textarea ng-model="page.title"></textarea> | |
504 </div> | |
505 <div class="node"> | |
506 <h3>Comment box text prefix</h3> | |
507 <textarea ng-model="page.commentboxprefix"></textarea> | |
508 <p>Example: | |
509 <span style="font-weight:600">{{page.commentboxprefix}} A</span> | |
510 </p> | |
511 </div> | |
512 <div class="node"> | |
513 <h2>Pre Page Survey</h2> | |
514 <button type="button" class="btn btn-success" ng-click="page.preTest.addOption()">Add Entry</button> | |
515 <div class="node" ng-repeat="opt in page.preTest.options" ng-controller="surveyOption"> | |
516 <h3>Survey Entry</h3> | |
517 <div class="attributes"> | |
518 <div class="attribute"> | |
519 <span>Survey Type: </span> | |
520 <select ng-model="opt.type"> | |
521 <option value="question">Question</option> | |
522 <option value="radio">Radio</option> | |
523 <option value="checkbox">Checkbox</option> | |
524 <option value="statement">Statement</option> | |
525 <option value="number">Number</option> | |
526 <option value="slider">Slider</option> | |
527 <option value="video">Video</option> | |
528 <option value="youtube">YouTube</option> | |
529 </select> | |
530 </div> | |
531 <div class="attribute"> | |
532 <span>Unique Survey Entry ID:</span> | |
533 <input type="text" ng-model="opt.id" /> | |
534 </div> | |
535 <div class="attribute"> | |
536 <span>Entry Name:</span> | |
537 <input type="text" ng-model="opt.name" /> | |
538 </div> | |
539 <div class="attribute" ng-show="['question', 'checkbox', 'radio', 'number'].indexOf(opt.type) >= 0"> | |
540 <span>Mandatory:</span> | |
541 <input type="checkbox" ng-model="opt.mandatory" /> | |
542 </div> | |
543 <div class="attribute"> | |
544 <span>Minimum Wait Time (s):</span> | |
545 <input type="number" ng-model="opt.minWait" min="0" /> | |
546 </div> | |
547 <div class="attribute" ng-show="opt.type == 'question'"> | |
548 <span>Box Size:</span> | |
549 <select ng-model="opt.boxsize"> | |
550 <option value="small">Small</option> | |
551 <option value="normal">Normal</option> | |
552 <option value="large">Large</option> | |
553 <option value="huge">Huge</option> | |
554 </select> | |
555 </div> | |
556 <div class="attribute" ng-show="['checkbox', 'radio'].indexOf(opt.type) >= 0"> | |
557 <span>Minimum Selected:</span> | |
558 <input type="number" ng-model="opt.min" min="0" /> | |
559 </div> | |
560 <div class="attribute" ng-show="['checkbox', 'radio'].indexOf(opt.type) >= 0"> | |
561 <span>Maximum Selected:</span> | |
562 <input type="number" ng-model="opt.max" max="{{opt.options.length}}" /> | |
563 </div> | |
564 <div class="attribute" ng-show="['slider', 'number'].indexOf(opt.type) >= 0"> | |
565 <span>Minimum Value:</span> | |
566 <input type="number" ng-model="opt.min" /> | |
567 </div> | |
568 <div class="attribute" ng-show="['slider', 'number'].indexOf(opt.type) >= 0"> | |
569 <span>Maximum Value:</span> | |
570 <input type="number" ng-model="opt.max" /> | |
571 </div> | |
572 <div class="attribute" ng-show="['video', 'youtube'].indexOf(opt.type) >= 0"> | |
573 <span>Video URL:</span> | |
574 <input type="text" ng-model="opt.url" /> | |
575 </div> | |
576 </div> | |
577 <div class="node"> | |
578 <h4>Statement</h4> | |
579 <textarea ng-model="opt.statement"></textarea> | |
580 </div> | |
581 <div class="node" ng-show="['checkbox', 'radio'].indexOf(opt.type) >= 0"> | |
582 <h4>Options</h4> | |
583 <div> | |
584 <button type="button" class="btn btn-default" ng-click="addOption();">Add Option</button> | |
585 </div> | |
586 <div class="node" ng-repeat="option in opt.options"> | |
587 <div class="attributes"> | |
588 <div class="attribute"> | |
589 <button type="button" class="btn btn-default" ng-click="removeOption(option);">Remove</button> | |
590 </div> | |
591 <div class="attribute"> | |
592 <span>Name: </span> | |
593 <input type="text" ng-model="option.name" /> | |
594 </div> | |
595 <div class="attribute"> | |
596 <span>Displayed Text: </span> | |
597 <input type="text" ng-model="option.text" /> | |
598 </div> | |
599 </div> | |
600 </div> | |
601 </div> | |
602 <div class="node"> | |
603 <h4>Conditionals</h4> | |
604 <button type="button" class="btn btn-default" ng-click="addCondition()">Add Condition</button> | |
605 <div class="node" ng-repeat="condition in opt.conditions"> | |
606 <div class="attributes"> | |
607 <div class="attribute"> | |
608 <button type="button" class="btn btn-danger" ng-click="removeCondition(condition)">Remove</button> | |
609 </div> | |
610 <div class="attribute"> | |
611 <span>Check Type:</span> | |
612 <select ng-model="condition.check"> | |
613 <option value="equals">Equal To</option> | |
614 <option value="lessThan">Less Than</option> | |
615 <option value="greaterThan">Greater Than</option> | |
616 <option value="stringContains">String Contains</option> | |
617 </select> | |
618 </div> | |
619 <div class="attribute"> | |
620 <span>Value: </span> | |
621 <input type="text" ng-model="condition.value" /> | |
622 </div> | |
623 <div class="attribute"> | |
624 <span>Jump To On Pass: </span> | |
625 <select ng-model="condition.jumpToOnPass"> | |
626 <option value="">None</option> | |
627 <option ng-repeat="entry in page.postTest.options" value="{{entry.id}}">{{entry.id}}</option> | |
628 </select> | |
629 </div> | |
630 <div class="attribute"> | |
631 <span>Jump To On Fail: </span> | |
632 <select ng-model="condition.jumpToOnFail"> | |
633 <option value="">None</option> | |
634 <option ng-repeat="entry in page.postTest.options" value="{{entry.id}}">{{entry.id}}</option> | |
635 </select> | |
636 </div> | |
637 </div> | |
638 </div> | |
639 </div> | |
640 </div> | |
641 </div> | |
642 <div class="node"> | |
643 <h2>Post Page Survey</h2> | |
644 <button type="button" class="btn btn-success" ng-click="page.postTest.addOption()">Add Entry</button> | |
645 <div class="node" ng-repeat="opt in page.postTest.options" ng-controller="surveyOption"> | |
646 <h3>Survey Entry</h3> | |
647 <div class="attributes"> | |
648 <div class="attribute"> | |
649 <span>Survey Type: </span> | |
650 <select ng-model="opt.type"> | |
651 <option value="question">Question</option> | |
652 <option value="radio">Radio</option> | |
653 <option value="checkbox">Checkbox</option> | |
654 <option value="statement">Statement</option> | |
655 <option value="number">Number</option> | |
656 <option value="slider">Slider</option> | |
657 <option value="video">Video</option> | |
658 <option value="youtube">YouTube</option> | |
659 </select> | |
660 </div> | |
661 <div class="attribute"> | |
662 <span>Unique Survey Entry ID:</span> | |
663 <input type="text" ng-model="opt.id" /> | |
664 </div> | |
665 <div class="attribute"> | |
666 <span>Entry Name:</span> | |
667 <input type="text" ng-model="opt.name" /> | |
668 </div> | |
669 <div class="attribute" ng-show="['question', 'checkbox', 'radio', 'number'].indexOf(opt.type) >= 0"> | |
670 <span>Mandatory:</span> | |
671 <input type="checkbox" ng-model="opt.mandatory" /> | |
672 </div> | |
673 <div class="attribute"> | |
674 <span>Minimum Wait Time (s):</span> | |
675 <input type="number" ng-model="opt.minWait" min="0" /> | |
676 </div> | |
677 <div class="attribute" ng-show="opt.type == 'question'"> | |
678 <span>Box Size:</span> | |
679 <select ng-model="opt.boxsize"> | |
680 <option value="small">Small</option> | |
681 <option value="normal">Normal</option> | |
682 <option value="large">Large</option> | |
683 <option value="huge">Huge</option> | |
684 </select> | |
685 </div> | |
686 <div class="attribute" ng-show="['checkbox', 'radio'].indexOf(opt.type) >= 0"> | |
687 <span>Minimum Selected:</span> | |
688 <input type="number" ng-model="opt.min" min="0" /> | |
689 </div> | |
690 <div class="attribute" ng-show="['checkbox', 'radio'].indexOf(opt.type) >= 0"> | |
691 <span>Maximum Selected:</span> | |
692 <input type="number" ng-model="opt.max" max="{{opt.options.length}}" /> | |
693 </div> | |
694 <div class="attribute" ng-show="['slider', 'number'].indexOf(opt.type) >= 0"> | |
695 <span>Minimum Value:</span> | |
696 <input type="number" ng-model="opt.min" /> | |
697 </div> | |
698 <div class="attribute" ng-show="['slider', 'number'].indexOf(opt.type) >= 0"> | |
699 <span>Maximum Value:</span> | |
700 <input type="number" ng-model="opt.max" /> | |
701 </div> | |
702 <div class="attribute" ng-show="['video', 'youtube'].indexOf(opt.type) >= 0"> | |
703 <span>Video URL:</span> | |
704 <input type="text" ng-model="opt.url" /> | |
705 </div> | |
706 </div> | |
707 <div class="node"> | |
708 <h4>Statement</h4> | |
709 <textarea ng-model="opt.statement"></textarea> | |
710 </div> | |
711 <div class="node" ng-show="['checkbox', 'radio'].indexOf(opt.type) >= 0"> | |
712 <h4>Options</h4> | |
713 <div> | |
714 <button type="button" class="btn btn-default" ng-click="addOption();">Add Option</button> | |
715 </div> | |
716 <div class="node" ng-repeat="option in opt.options"> | |
717 <div class="attributes"> | |
718 <div class="attribute"> | |
719 <button type="button" class="btn btn-default" ng-click="removeOption(option);">Remove</button> | |
720 </div> | |
721 <div class="attribute"> | |
722 <span>Name: </span> | |
723 <input type="text" ng-model="option.name" /> | |
724 </div> | |
725 <div class="attribute"> | |
726 <span>Displayed Text: </span> | |
727 <input type="text" ng-model="option.text" /> | |
728 </div> | |
729 </div> | |
730 </div> | |
731 </div> | |
732 <div class="node"> | |
733 <h4>Conditionals</h4> | |
734 <button type="button" class="btn btn-default" ng-click="addCondition()">Add Condition</button> | |
735 <div class="node" ng-repeat="condition in opt.conditions"> | |
736 <div class="attributes"> | |
737 <div class="attribute"> | |
738 <button type="button" class="btn btn-danger" ng-click="removeCondition(condition)">Remove</button> | |
739 </div> | |
740 <div class="attribute"> | |
741 <span>Check Type:</span> | |
742 <select ng-model="condition.check"> | |
743 <option value="equals">Equal To</option> | |
744 <option value="lessThan">Less Than</option> | |
745 <option value="greaterThan">Greater Than</option> | |
746 <option value="stringContains">String Contains</option> | |
747 </select> | |
748 </div> | |
749 <div class="attribute"> | |
750 <span>Value: </span> | |
751 <input type="text" ng-model="condition.value" /> | |
752 </div> | |
753 <div class="attribute"> | |
754 <span>Jump To On Pass: </span> | |
755 <select ng-model="condition.jumpToOnPass"> | |
756 <option value="">None</option> | |
757 <option ng-repeat="entry in page.postTest.options" value="{{entry.id}}">{{entry.id}}</option> | |
758 </select> | |
759 </div> | |
760 <div class="attribute"> | |
761 <span>Jump To On Fail: </span> | |
762 <select ng-model="condition.jumpToOnFail"> | |
763 <option value="">None</option> | |
764 <option ng-repeat="entry in page.postTest.options" value="{{entry.id}}">{{entry.id}}</option> | |
765 </select> | |
766 </div> | |
767 </div> | |
768 </div> | |
769 </div> | |
770 </div> | |
771 </div> | |
772 <div class="node" ng-repeat="interface in page.interfaces" ng-controller="interfaceNode"> | |
773 <h2>Interface</h2> | |
774 <div class="node interfaceOptions"> | |
775 <div class="attributes"> | |
776 <div class="attribute" name="fragmentPlayed" type="check"> | |
777 <span>Check all fragments played: </span> | |
778 <input type="checkbox" ng-click="enableInterfaceOption($event)" /> | |
779 </div> | |
780 <div class="attribute" name="fragmentFullPlayback" type="check"> | |
781 <span>Check all fragments fully played: </span> | |
782 <input type="checkbox" ng-click="enableInterfaceOption($event)" /> | |
783 </div> | |
784 <div class="attribute" name="fragmentMoved" type="check"> | |
785 <span>Check all fragments have been moved: </span> | |
786 <input type="checkbox" ng-click="enableInterfaceOption($event)" /> | |
787 </div> | |
788 <div class="attribute" name="fragmentComments" type="check"> | |
789 <span>Check all fragments have comments: </span> | |
790 <input type="checkbox" ng-click="enableInterfaceOption($event)" /> | |
791 </div> | |
792 <div class="attribute" name="scalerange" type="check"> | |
793 <span>Enforce a scale usage: </span> | |
794 <input type="checkbox" ng-click="enableInterfaceOption($event)" /> | |
795 <span>Minimum:</span> | |
796 <input type="number" min="0" max="100" name="min" /> | |
797 <span>Maximum:</span> | |
798 <input type="number" min="0" max="100" name="max" /> | |
799 </div> | |
800 <div class="attribute" name="volume" type="show"> | |
801 <span>Show master volume control: </span> | |
802 <input type="checkbox" ng-click="enableInterfaceOption($event)" /> | |
803 </div> | |
804 <div class="attribute" name="playhead" type="show"> | |
805 <span>Show playhead: </span> | |
806 <input type="checkbox" ng-click="enableInterfaceOption($event)" /> | |
807 </div> | |
808 <div class="attribute" name="page-count" type="show"> | |
809 <span>Show Page Count: </span> | |
810 <input type="checkbox" ng-click="enableInterfaceOption($event)" /> | |
811 </div> | |
812 <div class="attribute" name="comments" type="show"> | |
813 <span>Show Fragment Comments: </span> | |
814 <input type="checkbox" ng-click="enableInterfaceOption($event)" /> | |
815 </div> | |
816 </div> | |
817 </div> | |
818 <div class="node"> | |
819 <h3>Axis Title</h3> | |
820 <textarea ng-model="interface.title"></textarea> | |
821 <div class="attributes"> | |
822 <div class="attribute"> | |
823 <span>Axis name (in saves): </span> | |
824 <input type="text" ng-model="interface.name" /> | |
825 </div> | |
826 </div> | |
827 </div> | |
828 <div class="node"> | |
829 <h3>Axis Image</h3> | |
830 <textarea ng-model="interface.image"></textarea> | |
831 </div> | |
832 <div class="node"> | |
833 <h3>Axis Scales</h3> | |
834 <button type="button" class="btn btn-default" ng-click="addScale();">Add</button> | |
835 <div class="node" ng-repeat="scale in interface.scales"> | |
836 <div class="attributes"> | |
837 <div class="attribute"> | |
838 <button type="button" class="btn btn-danger" ng-click="removeScale(scale);">Remove</button> | |
839 </div> | |
840 <div class="attribute"> | |
841 <span>Position: </span> | |
842 <input type="number" min="0" max="100" ng-model="scale.position" /> | |
843 </div> | |
844 <div class="attribute"> | |
845 <span>Text: </span> | |
846 <input type="text" ng-model="scale.text" /> | |
847 </div> | |
848 </div> | |
849 </div> | |
850 </div> | |
851 </div> | |
852 <div class="node"> | |
853 <h3>Comment Questions</h3> | |
854 <div class="node" ng-repeat="cq in page.commentQuestions"> | |
855 <div class="attributes"> | |
856 <div class="attribute"> | |
857 <span>Unique ID:</span> | |
858 <input type="text" ng-model="cq.id" /> | |
859 </div> | |
860 <div class="attribute"> | |
861 <span>Common Name:</span> | |
862 <input type="text" ng-model="cq.name" /> | |
863 </div> | |
864 <div class="attribute" ng-show="cq.type == 'slider'"> | |
865 <span>Minimum:</span> | |
866 <input type="number" ng-model="cq.min" /> | |
867 </div> | |
868 <div class="attribute" ng-show="cq.type == 'slider'"> | |
869 <span>Maximum:</span> | |
870 <input type="number" ng-model="cq.max" /> | |
871 </div> | |
872 <div class="attribute" ng-show="cq.type == 'slider'"> | |
873 <span>Step size:</span> | |
874 <input type="number" ng-model="cq.step" /> | |
875 </div> | |
876 <div class="attribute" ng-show="cq.type == 'slider'"> | |
877 <span>Initial Value:</span> | |
878 <input type="number" ng-model="cq.value" /> | |
879 </div> | |
880 </div> | |
881 <div class="node"> | |
882 <h4>Question:</h4> | |
883 <textarea ng-model="cq.statement"></textarea> | |
884 </div> | |
885 <div class="node" ng-show="['radio', 'checkbox'].indexOf(cq.type) >= 0"> | |
886 <h4>Options</h4> | |
887 <div class="node" ng-repeat="option in cq.options"> | |
888 <div class="attributes"> | |
889 <div class="attribute"> | |
890 <button type="button" class="btn btn-danger" ng-click="removeCommentQuestionOption(cq,option)">Remove</button> | |
891 </div> | |
892 <div class="attribute"> | |
893 <span>Name: </span> | |
894 <input type="text" ng-model="option.name" /> | |
895 </div> | |
896 <div class="attribute"> | |
897 <span>Display Text: </span> | |
898 <input type="text" ng-model="option.text" /> | |
899 </div> | |
900 </div> | |
901 </div> | |
902 </div> | |
903 </div> | |
904 </div> | |
905 <div class="node" ng-repeat="fragment in page.audioElements"> | |
906 <h3>Audio Fragment</h3> | |
907 <div class="attributes"> | |
908 <div class="attribute"> | |
909 <span>Unique ID: </span> | |
910 <input type="text" ng-model="fragment.id" /> | |
911 </div> | |
912 <div class="attribute"> | |
913 <span>URL: </span> | |
914 <input type="text" ng-model="fragment.url" /> | |
915 <span>Full URL: </span><span style="font-weight=600">{{page.hostURL}}{{fragment.url}}</span> | |
916 </div> | |
917 <div class="attribute"> | |
918 <span>Fragment Gain (dB): </span> | |
919 <input type="number" ng-model="fragment.gain" /> | |
920 </div> | |
921 <div class="attribute"> | |
922 <span>Fragment Label: </span> | |
923 <input type="text" ng-model="fragment.label" /> | |
924 </div> | |
925 <div class="attribute"> | |
926 <span>Fragment Common name: </span> | |
927 <input type="text" ng-model="fragment.name" /> | |
928 </div> | |
929 <div class="attribute"> | |
930 <span>Fragment Type: </span> | |
931 <select ng-model="fragment.type"> | |
932 <option value="normal">Normal</option> | |
933 <option value="anchor">Hidden Anchor</option> | |
934 <option value="reference">Hidden Reference</option> | |
935 <option value="outside-reference">Outside Reference</option> | |
936 </select> | |
937 </div> | |
938 <div class="attribute" ng-show="fragment.type == 'anchor'"> | |
939 <span>Anchor must be below: </span> | |
940 <input type="number" ng-model="fragment.marker" min="0" max="100" /> | |
941 </div> | |
942 <div class="attribute" ng-show="fragment.type == 'reference'"> | |
943 <span>Reference must be above: </span> | |
944 <input type="number" ng-model="fragment.marker" min="0" max="100" /> | |
945 </div> | |
946 <div class="attribute"> | |
947 <span>Loudness: </span> | |
948 <input type="number" ng-model="fragment.loudness" max="0" /> | |
949 </div> | |
950 <div class="attribute" ng-show="page.poolSize > 0"> | |
951 <span>Always include fragment: </span> | |
952 <input type="checkbox" ng-model="fragment.alwaysInclude" max="0" /> | |
953 </div> | |
954 <div class="attribute"> | |
955 <span>Fragment Pre-Silence: </span> | |
956 <input type="number" ng-model="fragment.preSilence" max="0" step="0.1" /> | |
957 </div> | |
958 <div class="attribute"> | |
959 <span>Fragment Post-Silence: </span> | |
960 <input type="number" ng-model="fragment.postSilence" max="0" step="0.1" /> | |
961 </div> | |
962 <div class="attribute"> | |
963 <span>Fragment playback start position (s): </span> | |
964 <input type="number" ng-model="fragment.startTime" min="0" max="{{fragment.stopTime}}" /> | |
965 </div> | |
966 <div class="attribute"> | |
967 <span>Fragment playback stop position (s): </span> | |
968 <input type="number" ng-model="fragment.stopTime" min="{{fragment.startTime}}" /> | |
969 </div> | |
970 <div class="attribute"> | |
971 <span>Fragment sampling rate: </span> | |
972 <input type="number" ng-model="fragment.sampleRate" min="1" /> | |
973 </div> | |
974 <div class="attribute"> | |
975 <span>Fragment Image (URL): </span> | |
976 <input type="text" ng-model="fragment.image" /> | |
977 </div> | |
978 </div> | |
979 </div> | |
343 </div> | 980 </div> |
344 <div id="popupHolder" ng-show="popupVisible"> | 981 <div id="popupHolder" ng-show="popupVisible"> |
345 <div ng-controller="introduction" class="popup" ng-show="popupVisible"> | 982 <div ng-controller="introduction" class="popup" ng-show="popupVisible"> |
346 <div class="popupTitle" ng-switch="state"> | 983 <div class="popupTitle" ng-switch="state"> |
347 <span ng-switch-when="0">Test Creator</span> | 984 <span ng-switch-when="0">Test Creator</span> |