AutorÃa | Ultima modificación | Ver Log |
// 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/>./*** Search user selector module.** @module block_dash/group-user-selector* @copyright 2017 The Open University* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later*/define(['jquery', 'core/ajax', 'core/templates'], function($, Ajax, Templates) {return /** @alias module:block_dash/group-user-selector */ {processResults: function(selector, results) {var users = [];$.each(results, function(index, user) {users.push({value: user.id,label: user._label});});return users;},transport: function(selector, query, success, failure) {var promise;// Search within specific course if known and if the 'search within' dropdown is set// to search within course or activity.var args = {query: query};var groupid = $(selector).data('groupid');if (typeof groupid !== "undefined" && $('#id_searchwithin').val() !== '') {args.groupid = groupid;} else {args.groupid = 0;}// Call AJAX request.promise = Ajax.call([{methodname: 'block_dash_groups_get_non_members', args: args}]);// When AJAX request returns, handle the results.promise[0].then(function(results) {var promises = [];// Render label with user name and picture.$.each(results, function(index, user) {promises.push(Templates.render('mod_assign/list_participant_user_summary', user));});// Apply the label to the results.return $.when.apply($.when, promises).then(function() {var args = arguments;var i = 0;$.each(results, function(index, user) {user._label = args[i++];});success(results);return;});}).fail(failure);}};});