],
function($, notification, str, templates, FormField, ModalFactory, ModalEvents) {
var dialogue;
+ var doneCallback;
var contentItem = {
/**
* Init function.
* @param {string} url The URL for the content item selection.
* @param {object} postData The data to be sent for the content item selection request.
*/
- init: function(url, postData) {
+ init: function(url, postData, cb) {
+ doneCallback = cb;
var context = {
url: url,
postData: postData
new FormField('instructorcustomparameters', FormField.TYPES.TEXT, true, ''),
new FormField('icon', FormField.TYPES.TEXT, true, ''),
new FormField('secureicon', FormField.TYPES.TEXT, true, ''),
- new FormField('launchcontainer', FormField.TYPES.SELECT, true, 0)
+ new FormField('launchcontainer', FormField.TYPES.SELECT, true, 0),
+ new FormField('grade_modgrade_point', FormField.TYPES.TEXT, false, ''),
+ new FormField('cmidnumber', FormField.TYPES.TEXT, true, '')
];
/**
}
field.setFieldValue(value);
}
+
+ if (doneCallback) {
+ doneCallback();
+ }
};
return contentItem;
} else {
$config->typeid = $typeid;
}
+ $config->instructorchoiceacceptgrades = LTI_SETTING_NEVER;
+ if (!$islti2 && isset($typeconfig['acceptgrades'])) {
+ $acceptgrades = $typeconfig['acceptgrades'];
+ if ($acceptgrades == LTI_SETTING_ALWAYS) {
+ // We create a line item regardless if the definition contains one or not.
+ $config->instructorchoiceacceptgrades = LTI_SETTING_ALWAYS;
+ }
+ if ($acceptgrades == LTI_SETTING_DELEGATE || $acceptgrades == LTI_SETTING_ALWAYS) {
+ if (isset($item->lineItem)) {
+ $lineitem = $item->lineItem;
+ $config->instructorchoiceacceptgrades = LTI_SETTING_ALWAYS;
+ $maxscore = 100;
+ if (isset($lineitem->scoreConstraints)) {
+ $sc = $lineitem->scoreConstraints;
+ if (isset($sc->totalMaximum)) {
+ $maxscore = $sc->totalMaximum;
+ } else if (isset($sc->normalMaximum)) {
+ $maxscore = $sc->normalMaximum;
+ }
+ }
+ $config->grade_modgrade_point = $maxscore;
+ if (isset($lineitem->assignedActivity) && isset($lineitem->assignedActivity->activityId)) {
+ $config->cmidnumber = $lineitem->assignedActivity->activityId;
+ }
+ }
+ }
+ }
$config->instructorchoicesendname = LTI_SETTING_NEVER;
$config->instructorchoicesendemailaddr = LTI_SETTING_NEVER;
- $config->instructorchoiceacceptgrades = LTI_SETTING_NEVER;
$config->launchcontainer = LTI_LAUNCH_CONTAINER_DEFAULT;
if (isset($item->placementAdvice->presentationDocumentTarget)) {
if ($item->placementAdvice->presentationDocumentTarget === 'window') {
}
$config->instructorcustomparameters = implode("\n", $customparameters);
}
+ $config->contentitemjson = json_encode($item);
}
return $config;
}
};
require(['mod_lti/contentitem'], function(contentitem) {
- contentitem.init(contentItemUrl, postData);
+ contentitem.init(contentItemUrl, postData, function() {
+ M.mod_lti.editor.toggleGradeSection();
+ });
});
}
});