MDL-62815 mod_lti: Conditionally execute JS related to tool type

This commit is contained in:
Jun Pataleta 2019-06-13 22:32:16 +08:00 committed by Davo Smith
parent 477e87170b
commit b93c99aa54

View File

@ -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) {