diff --git a/mod/lti/mod_form.js b/mod/lti/mod_form.js index f341ccc63ab..eb01bcb53e4 100644 --- a/mod/lti/mod_form.js +++ b/mod/lti/mod_form.js @@ -42,64 +42,68 @@ this.urlCache = {}; this.toolTypeCache = {}; - this.addOptGroups(); - var updateToolMatches = function(){ self.updateAutomaticToolMatch(Y.one('#id_toolurl')); self.updateAutomaticToolMatch(Y.one('#id_securetoolurl')); }; var typeSelector = Y.one('#id_typeid'); - typeSelector.on('change', function(e){ - // Reset configuration fields when another preconfigured tool is selected. - self.resetToolFields(); + if (typeSelector) { + this.addOptGroups(); - updateToolMatches(); + typeSelector.on('change', function(e){ + // Reset configuration fields when another preconfigured tool is selected. + self.resetToolFields(); - self.toggleEditButtons(); + updateToolMatches(); - if (self.getSelectedToolTypeOption().getAttribute('toolproxy')){ - var allowname = Y.one('#id_instructorchoicesendname'); - allowname.set('checked', !self.getSelectedToolTypeOption().getAttribute('noname')); + self.toggleEditButtons(); - var allowemail = Y.one('#id_instructorchoicesendemailaddr'); - allowemail.set('checked', !self.getSelectedToolTypeOption().getAttribute('noemail')); + if (self.getSelectedToolTypeOption().getAttribute('toolproxy')){ + var allowname = Y.one('#id_instructorchoicesendname'); + allowname.set('checked', !self.getSelectedToolTypeOption().getAttribute('noname')); - var allowgrades = Y.one('#id_instructorchoiceacceptgrades'); - allowgrades.set('checked', !self.getSelectedToolTypeOption().getAttribute('nogrades')); - self.toggleGradeSection(); - } - }); + var allowemail = Y.one('#id_instructorchoicesendemailaddr'); + allowemail.set('checked', !self.getSelectedToolTypeOption().getAttribute('noemail')); + + var allowgrades = Y.one('#id_instructorchoiceacceptgrades'); + allowgrades.set('checked', !self.getSelectedToolTypeOption().getAttribute('nogrades')); + self.toggleGradeSection(); + } + }); + + this.createTypeEditorButtons(); + + this.toggleEditButtons(); + } var contentItemButton = Y.one('[name="selectcontent"]'); - var contentItemUrl = contentItemButton.getAttribute('data-contentitemurl'); - // Handle configure from link button click. - contentItemButton.on('click', function() { - var contentItemId = self.getContentItemId(); - if (contentItemId) { - // Get activity name and description values. - var title = Y.one('#id_name').get('value').trim(); - var text = Y.one('#id_introeditor').get('value').trim(); + if (contentItemButton) { + var contentItemUrl = contentItemButton.getAttribute('data-contentitemurl'); + // Handle configure from link button click. + contentItemButton.on('click', function() { + var contentItemId = self.getContentItemId(); + if (contentItemId) { + // Get activity name and description values. + var title = Y.one('#id_name').get('value').trim(); + var text = Y.one('#id_introeditor').get('value').trim(); - // Set data to be POSTed. - var postData = { - id: contentItemId, - course: self.settings.courseId, - title: title, - text: text - }; + // Set data to be POSTed. + var postData = { + id: contentItemId, + course: self.settings.courseId, + title: title, + text: text + }; - require(['mod_lti/contentitem'], function(contentitem) { - contentitem.init(contentItemUrl, postData, function() { - M.mod_lti.editor.toggleGradeSection(); + require(['mod_lti/contentitem'], function(contentitem) { + contentitem.init(contentItemUrl, postData, function() { + M.mod_lti.editor.toggleGradeSection(); + }); }); - }); - } - }); - - this.createTypeEditorButtons(); - - this.toggleEditButtons(); + } + }); + } var textAreas = new Y.NodeList([ Y.one('#id_toolurl'), @@ -121,7 +125,9 @@ var allowgrades = Y.one('#id_instructorchoiceacceptgrades'); allowgrades.on('change', this.toggleGradeSection, this); - updateToolMatches(); + if (typeSelector) { + updateToolMatches(); + } }, toggleGradeSection: function(e) {