362 lines
17 KiB
Smarty
362 lines
17 KiB
Smarty
<div id="itemref-props-{{identifier}}" class="itemref-props props clearfix">
|
|
|
|
<h3>{{{dompurify label}}}</h3>
|
|
|
|
<!-- assessmentTest/testPart/assessmentSection/sectionPart/identifier -->
|
|
<div class="grid-row">
|
|
<div class="col-5">
|
|
<label for="itemref-identifier">{{__ 'Identifier'}} <abbr title="{{__ 'Required field'}}">*</abbr></label>
|
|
</div>
|
|
<div class="col-6">
|
|
<input type="text" name="itemref-identifier" data-bind="identifier" data-validate="$notEmpty; $testIdFormat; $testIdAvailable;" />
|
|
</div>
|
|
<div class="col-1 help">
|
|
<span class="icon-help" data-tooltip="~ .tooltip-content" data-tooltip-theme="info"></span>
|
|
<div class="tooltip-content">
|
|
{{__ 'The identifier of the item reference.'}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- assessmentTest/testPart/assessmentSection/sectionPart/href -->
|
|
<div class="grid-row">
|
|
<div class="col-5">
|
|
<label for="itemref-href">{{__ 'Reference'}} <abbr title="{{__ 'Required field'}}">*</abbr></label>
|
|
</div>
|
|
<div class="col-6">
|
|
<input type="text" name="itemref-href" data-bind="href" readonly="readonly" />
|
|
</div>
|
|
<div class="col-1 help">
|
|
<span class="icon-help" data-tooltip="~ .tooltip-content" data-tooltip-theme="info"></span>
|
|
<div class="tooltip-content">
|
|
{{__ 'The reference.'}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- assessmentTest/testPart/assessmentSection/sectionPart/required -->
|
|
<div class="grid-row pseudo-label-box">
|
|
<div class="col-5">
|
|
<label for="itemref-required">{{__ 'Required'}}</label>
|
|
</div>
|
|
<div class="col-6">
|
|
<label>
|
|
<input type="checkbox" name="itemref-required" value="true" data-bind="required" data-bind-encoder="boolean" />
|
|
<span class="icon-checkbox"></span>
|
|
</label>
|
|
</div>
|
|
<div class="col-1 help">
|
|
<span class="icon-help" data-tooltip="~ .tooltip-content" data-tooltip-theme="info"></span>
|
|
<div class="tooltip-content">
|
|
{{__ 'If required it must appear (at least once) in the selection.'}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- assessmentTest/testPart/assessmentSection/sectionPart/fixed -->
|
|
<div class="grid-row pseudo-label-box">
|
|
<div class="col-5">
|
|
<label for="itemref-fixed">{{__ 'Fixed'}}</label>
|
|
</div>
|
|
<div class="col-6">
|
|
<label>
|
|
<input type="checkbox" name="itemref-fixed" value="true" data-bind="fixed" data-bind-encoder="boolean" />
|
|
<span class="icon-checkbox"></span>
|
|
</label>
|
|
</div>
|
|
<div class="col-1 help">
|
|
<span class="icon-help" data-tooltip="~ .tooltip-content" data-tooltip-theme="info"></span>
|
|
<div class="tooltip-content">
|
|
{{__ 'Not shuffled, the position remains fixed.'}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="categories">
|
|
<div class="grid-row">
|
|
<div class="col-5">
|
|
<label for="category-custom">{{__ 'Categories'}}</label>
|
|
</div>
|
|
<div class="col-6">
|
|
<input type="text" title="{{__ 'custom categories'}}" name="category-custom"/>
|
|
</div>
|
|
<div class="col-1 help">
|
|
<span class="icon-help" data-tooltip="~ .tooltip-content" data-tooltip-theme="info"></span>
|
|
<div class="tooltip-content">
|
|
{{__ 'Items can optionally be assigned to one or more categories.'}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- assessmentTest/testPart/assessmentSection/sectionPart/category -->
|
|
<textarea title="categories" class="hidden" type="text" name="itemref-category" data-bind="categories" data-bind-encoder="str2array"></textarea>
|
|
|
|
<!-- some user features (Test Navigation, Test Taker Tools, etc.) are in fact implemented as categories. They will appear here: -->
|
|
<div class="category-presets"></div>
|
|
</div>
|
|
|
|
<h4 class="toggler closed" data-toggle="~ .itemref-weights">{{__ 'Weights'}}</h4>
|
|
|
|
<div class="itemref-weights toggled">
|
|
<div class="grid-row ">
|
|
<div class="col-9">
|
|
<strong>{{__ 'Identifier'}}</strong>
|
|
</div>
|
|
<div class="col-2">
|
|
<strong>{{__ 'Value'}}</strong>
|
|
</div>
|
|
<div class="col-1 help">
|
|
<span class="icon-help" data-tooltip="~ .tooltip-content" data-tooltip-theme="info"></span>
|
|
<div class="tooltip-content">
|
|
{{__ 'Controls the contribution of an individual item score to the overall test score.'}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- assessmentTest/testPart/assessmentSection/sectionPart/weights -->
|
|
<div data-bind-each="weights" data-bind-tmpl="itemrefweight"></div>
|
|
<div class="grid-row">
|
|
<div class="col-12">
|
|
<a class="itemref-weight-add"><span class="icon-add"></span> {{__ 'add a new weight'}}</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<h4 class="toggler closed" data-toggle="~ .itemref-item-session-control">{{__ 'Item Session Control'}}</h4>
|
|
|
|
<!-- assessmentTest/testPart/assessmentSection/sectionPart/itemSessionControl -->
|
|
<div class="itemref-item-session-control toggled">
|
|
<!-- assessmentTest/testPart/assessmentSection/sectionPart/itemSessionControl/maxAttempts -->
|
|
<div class="grid-row">
|
|
<div class="col-5">
|
|
<label for="itemref-max-attempts">{{__ 'Max Attempts'}}</label>
|
|
</div>
|
|
<div class="col-6">
|
|
<input
|
|
name="itemref-max-attempts"
|
|
type="text"
|
|
data-increment="1"
|
|
data-min="0"
|
|
data-max="151"
|
|
value="{{maxAttempts}}"
|
|
data-bind="itemSessionControl.maxAttempts"
|
|
data-bind-encoder="number"
|
|
/>
|
|
</div>
|
|
<div class="col-1 help">
|
|
<span class="icon-help" data-tooltip="~ .tooltip-content" data-tooltip-theme="info"></span>
|
|
<div class="tooltip-content">
|
|
{{__ 'Controls the maximum number of attempts allowed. 0 means unlimited.'}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- assessmentTest/testPart/assessmentSection/sectionPart/itemSessionControl/showFeedback -->
|
|
<div class="grid-row pseudo-label-box">
|
|
<div class="col-5">
|
|
<label for="itemref-show-feedback">{{__ 'Show Feedback'}}</label>
|
|
</div>
|
|
<div class="col-6">
|
|
<label>
|
|
<input type="checkbox" name="itemref-show-feedback" value="true" data-bind="itemSessionControl.showFeedback" data-bind-encoder="boolean" />
|
|
<span class="icon-checkbox"></span>
|
|
</label>
|
|
</div>
|
|
<div class="col-1 help">
|
|
<span class="icon-help" data-tooltip="~ .tooltip-content" data-tooltip-theme="info"></span>
|
|
<div class="tooltip-content">
|
|
{{__ 'This constraint affects the visibility of feedback after the end of the last attempt.'}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{!-- Property not yet available in delivery
|
|
<!-- assessmentTest/testPart/assessmentSection/sectionPart/itemSessionControl/allowReview -->
|
|
<div class="grid-row pseudo-label-box">
|
|
<div class="col-5">
|
|
<label for="itemref-show-allow-review">{{__ 'Allow Review'}}</label>
|
|
</div>
|
|
<div class="col-6">
|
|
<label>
|
|
<input type="checkbox" name="itemref-allow-review" value="true" checked="checked" data-bind="itemSessionControl.allowReview" data-bind-encoder="boolean" />
|
|
<span class="icon-checkbox"></span>
|
|
</label>
|
|
</div>
|
|
<div class="col-1 help">
|
|
<span class="icon-help" data-tooltip="~ .tooltip-content" data-tooltip-theme="info"></span>
|
|
<div class="tooltip-content">
|
|
{{__ 'Allow the candidate to review his answers.'}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
--}}
|
|
|
|
{{!-- Property not yet available in delivery
|
|
<!-- assessmentTest/testPart/assessmentSection/sectionPart/itemSessionControl/showSolution -->
|
|
<div class="grid-row pseudo-label-box">
|
|
<div class="col-5">
|
|
<label for="itemref-show-solution">{{__ 'Show Solution'}}</label>
|
|
</div>
|
|
<div class="col-6">
|
|
<label>
|
|
<input type="checkbox" name="itemref-show-solution" value="true" data-bind="itemSessionControl.showSolution" data-bind-encoder="boolean" />
|
|
<span class="icon-checkbox"></span>
|
|
</label>
|
|
</div>
|
|
<div class="col-1 help">
|
|
<span class="icon-help" data-tooltip="~ .tooltip-content" data-tooltip-theme="info"></span>
|
|
<div class="tooltip-content">
|
|
{{__ 'Show the solution once the answer is submitted.'}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
--}}
|
|
|
|
<!-- assessmentTest/testPart/assessmentSection/sectionPart/itemSessionControl/allowComment -->
|
|
<div class="grid-row pseudo-label-box">
|
|
<div class="col-5">
|
|
<label for="itemref-allow-comment">{{__ 'Allow Comment'}}</label>
|
|
</div>
|
|
<div class="col-6">
|
|
<label>
|
|
<input type="checkbox" name="itemref-allow-comment" value="true" data-bind="itemSessionControl.allowComment" data-bind-encoder="boolean" />
|
|
<span class="icon-checkbox"></span>
|
|
</label>
|
|
</div>
|
|
<div class="col-1 help">
|
|
<span class="icon-help" data-tooltip="~ .tooltip-content" data-tooltip-theme="info"></span>
|
|
<div class="tooltip-content">
|
|
{{__ 'This constraint controls whether or not the candidate is allowed to provide a comment on the item during the session. Comments are not part of the assessed responses.'}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- assessmentTest/testPart/assessmentSection/sectionPart/itemSessionControl/allowSkipping -->
|
|
<div class="grid-row pseudo-label-box">
|
|
<div class="col-5">
|
|
<label for="itemref-allow-skipping">{{__ 'Allow Skipping'}}</label>
|
|
</div>
|
|
<div class="col-6">
|
|
<label>
|
|
<input type="checkbox" name="itemref-allow-skipping" value="true" checked="checked" data-bind="itemSessionControl.allowSkipping" data-bind-encoder="boolean" />
|
|
<span class="icon-checkbox"></span>
|
|
</label>
|
|
</div>
|
|
<div class="col-1 help">
|
|
<span class="icon-help" data-tooltip="~ .tooltip-content" data-tooltip-theme="info"></span>
|
|
<div class="tooltip-content">
|
|
{{__ 'If the candidate can skip the item, without submitting a response (default is true).'}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- assessmentTest/testPart/assessmentSection/sectionPart/itemSessionControl/validateResponses -->
|
|
<div class="grid-row pseudo-label-box">
|
|
<div class="col-5">
|
|
<label for="itemref-validate-responses">{{__ 'Validate Responses'}}</label>
|
|
</div>
|
|
<div class="col-6">
|
|
<label>
|
|
<input type="checkbox" name="itemref-validate-responses" value="true" data-bind="itemSessionControl.validateResponses" data-bind-encoder="boolean" />
|
|
<span class="icon-checkbox"></span>
|
|
</label>
|
|
</div>
|
|
<div class="col-1 help">
|
|
<span class="icon-help" data-tooltip="~ .tooltip-content" data-tooltip-theme="info"></span>
|
|
<div class="tooltip-content">
|
|
{{__ "The candidate is not allowed to submit invalid responses."}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<h4 class="toggler closed" data-toggle="~ .itemref-time-limits">{{__ 'Time Limits'}}</h4>
|
|
|
|
<!-- assessmentTest/timeLimits -->
|
|
<div class="itemref-time-limits toggled">
|
|
|
|
<div class="lockedtime-container hidden">
|
|
|
|
<div class="grid-row">
|
|
<div class="col-5">
|
|
<label for="itemref-max-time">{{__ 'Maximum Duration'}}</label>
|
|
</div>
|
|
<div class="col-6 duration-group">
|
|
<input type="text" name="max-time" value="00:00:00" data-duration="HH:mm:ss" data-bind="timeLimits.maxTime" data-bind-encoder="time" />
|
|
</div>
|
|
<div class="col-1 help">
|
|
<span class="icon-help" data-tooltip="~ .tooltip-content" data-tooltip-theme="info"></span>
|
|
<div class="tooltip-content">
|
|
{{__ 'Minimum duration : enforces the test taker to stay on the item for the given duration.'}}<br>
|
|
{{__ 'Maximum duration : the items times out when the duration reaches 0.'}}<br>
|
|
{{__ 'Locked duration : guided navigation. The test transition to the next item once the duration reaches 0.'}}<br>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="locker">
|
|
<button class="unlocked" title='{{__ "Link durations to activate the guided navigation"}}' ><span class="icon-unlink"></span></button>
|
|
</div>
|
|
<div class="grid-row">
|
|
<div class="col-5">
|
|
<label for="itemref-min-time">{{__ 'Minimum Duration'}}</label>
|
|
</div>
|
|
<div class="col-6">
|
|
<input type="text" name="min-time" value="00:00:00" data-duration="HH:mm:ss" data-bind="timeLimits.minTime" data-bind-encoder="time" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- assessmentTest/testPart/assessmentSection/sectionPart/timeLimits/maxTime -->
|
|
<div class="grid-row maxtime-container {{#if isLinear}}hidden{{/if}}">
|
|
<div class="col-5">
|
|
<label for="itemref-max-time">{{__ 'Maximum Duration'}}</label>
|
|
</div>
|
|
<div class="col-6 duration-group">
|
|
<input type="text" name="max-time" value="00:00:00" data-duration="HH:mm:ss" data-bind="timeLimits.maxTime" data-bind-encoder="time" />
|
|
</div>
|
|
<div class="col-1 help">
|
|
<span class="icon-help" data-tooltip="~ .tooltip-content" data-tooltip-theme="info"></span>
|
|
<div class="tooltip-content">
|
|
{{__ 'Maximum duration for this item.'}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- assessmentTest/testPart/assessmentSection/sectionPart/timeLimits/minTime -->
|
|
<div class="grid-row mintime-container {{#unless isLinear}}hidden{{/unless}}">
|
|
<div class="col-5">
|
|
<label for="min-time">{{__ 'Minimum Duration'}}</label>
|
|
</div>
|
|
<div class="col-6 duration-group">
|
|
<input type="text" name="min-time" value="00:00:00" data-duration="HH:mm:ss" data-bind="timeLimits.minTime" data-bind-encoder="time" />
|
|
</div>
|
|
<div class="col-1 help">
|
|
<span class="icon-help" data-tooltip="~ .tooltip-content" data-tooltip-theme="info"></span>
|
|
<div class="tooltip-content">
|
|
{{__ 'Minimum duration for this item.'}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- assessmentTest/testPart/assessmentSection/sectionPart/timeLimits/allowLateSubmission -->
|
|
<div class="grid-row pseudo-label-box">
|
|
<div class="col-5">
|
|
<label for="itemref-allow-late-submission">{{__ 'Late submission allowed'}}</label>
|
|
</div>
|
|
<div class="col-6">
|
|
<label>
|
|
<input type="checkbox" name="itemref-allow-late-submission" value="true" data-bind="timeLimits.allowLateSubmission" data-bind-encoder="boolean" />
|
|
<span class="icon-checkbox"></span>
|
|
</label>
|
|
</div>
|
|
<div class="col-1 help">
|
|
<span class="icon-help" data-tooltip="~ .tooltip-content" data-tooltip-theme="info"></span>
|
|
<div class="tooltip-content">
|
|
{{__ "Whether a candidate's response that is beyond the maximum duration of the item should still be accepted."}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|