Merge branch 'MDL-68189-m37' of https://github.com/NeillM/moodle into MOODLE_37_STABLE

This commit is contained in:
Eloy Lafuente (stronk7)
2020-04-16 00:19:04 +02:00
4 changed files with 59 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
define(["jquery"],function(a){var b=function(b){var d=a(this);if("sectionname"===d.data("itemtype")){var e=M.course.format.get_config(),f=d.closest("."+e.section_class);c(f,b.ajaxreturn.value)}},c=function(a,b){a.attr("aria-label",b),a.find(".hidden.sectionname").text(b)};a("body").on("updated",".inplaceeditable",b)});
+56
View File
@@ -0,0 +1,56 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Define listeners related to sections.
*
* @module core_course/sectionlistener
* @package core_course
* @copyright 2020 University of Nottingham
* @author Neill Magill <[email protected]>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define(['jquery'], function($) {
/**
* Processes an updated event.
*
* We only want to handle events related to a section, and not activities.
*
* @param {Event} e The updated event
*/
var processUpdatedEvent = function(e) {
var editable = $(this);
if (editable.data('itemtype') === 'sectionname') {
var config = M.course.format.get_config();
// A section name got updated.
var section = editable.closest('.' + config.section_class);
updateSectionName(section, e.ajaxreturn.value);
}
// Ignore other types of inplace updates, for example activity name changes.
};
/**
* Updates the name of the section in places outside of the inplace editable field.
*
* @param {jQuery} section The section that was updated.
* @param {String} newname The new name for the section.
*/
var updateSectionName = function(section, newname) {
section.attr('aria-label', newname);
section.find('.hidden.sectionname').text(newname);
};
$('body').on('updated', '.inplaceeditable', processUpdatedEvent);
});
+1
View File
@@ -59,3 +59,4 @@ if (!empty($displaysection)) {
// Include course format js module
$PAGE->requires->js('/course/format/topics/format.js');
$PAGE->requires->js_call_amd('core_course/sectionlistener');
+1
View File
@@ -50,3 +50,4 @@ if (!empty($displaysection)) {
}
$PAGE->requires->js('/course/format/weeks/format.js');
$PAGE->requires->js_call_amd('core_course/sectionlistener');