Merge branch 'MDL-59974-master' of git://github.com/lameze/moodle
This commit is contained in:
Vendored
+1
-1
@@ -1 +1 @@
|
||||
define(["jquery","core/templates"],function(a,b){var c={EVENT_TYPE:'[name="eventtype"]',EVENT_COURSE_ID:'[name="courseid"]',EVENT_GROUP_COURSE_ID:'[name="groupcourseid"]',EVENT_GROUP_ID:'[name="groupid"]',FORM_GROUP:".form-group",SELECT_OPTION:"option",ADVANCED_ELEMENT:".fitem.advanced",FIELDSET_ADVANCED_ELEMENTS:"fieldset.containsadvancedelements",MORELESS_TOGGLE:".moreless-actions"},d={USER:"user",SITE:"site",COURSE:"course",GROUP:"group"},e={SHOW_ADVANCED:"event_form-show-advanced",HIDE_ADVANCED:"event_form-hide-advanced",ADVANCED_SHOWN:"event_form-advanced-shown",ADVANCED_HIDDEN:"event_form-advanced-hidden"},f=function(a){a.find(c.FIELDSET_ADVANCED_ELEMENTS).removeClass("containsadvancedelements");var d=a.find(c.MORELESS_TOGGLE);b.replaceNode(d,"","")},g=function(a){a.find(c.ADVANCED_ELEMENT).removeClass("hidden"),a.trigger(e.ADVANCED_SHOWN)},h=function(a){a.find(c.ADVANCED_ELEMENT).addClass("hidden"),a.trigger(e.ADVANCED_HIDDEN)},i=function(a){a.on(e.SHOW_ADVANCED,function(){g(a)}),a.on(e.HIDE_ADVANCED,function(){h(a)})},j=function(b){b.find(c.EVENT_GROUP_ID).find(c.SELECT_OPTION).each(function(b,c){c=a(c);var d=c.attr("value"),e=d.split("-"),f=e[0];c.attr("data-course-id",f)})},k=function(a){var b=a.find(c.EVENT_TYPE),e=b.val(),f=a.find(c.EVENT_COURSE_ID).closest(c.FORM_GROUP).removeClass("hidden"),g=a.find(c.EVENT_GROUP_COURSE_ID).closest(c.FORM_GROUP).removeClass("hidden"),h=a.find(c.EVENT_GROUP_ID).closest(c.FORM_GROUP).removeClass("hidden");switch(e){case d.COURSE:g.addClass("hidden"),h.addClass("hidden");break;case d.GROUP:f.addClass("hidden");break;default:f.addClass("hidden"),g.addClass("hidden"),h.addClass("hidden")}},l=function(a){var b=a.find(c.EVENT_TYPE);b.on("change",function(){k(a)})},m=function(b){var d=b.find(c.EVENT_GROUP_COURSE_ID),e=b.find(c.EVENT_GROUP_ID),f=e.find(c.SELECT_OPTION),g=function(){var b=d.val(),c=null;f.each(function(d,e){e=a(e),e.attr("data-course-id")==b?(e.removeClass("hidden"),e.prop("disabled",!1),(null===c||e.attr("selected"))&&(c=d)):(e.addClass("hidden"),e.prop("disabled",!0))}),e.prop("selectedIndex",c)};d.on("change",g),g()},n=function(b,c){var d=a("#"+b);i(d),f(d),k(d),j(d),l(d),m(d),c?g(d):h(d)};return{init:n,events:e}});
|
||||
define(["jquery","core/templates"],function(a,b){var c={EVENT_TYPE:'[name="eventtype"]',EVENT_COURSE_ID:'[name="courseid"]',EVENT_GROUP_COURSE_ID:'[name="groupcourseid"]',EVENT_GROUP_ID:'[name="groupid"]',FORM_GROUP:".form-group",SELECT_OPTION:"option",ADVANCED_ELEMENT:".fitem.advanced",FIELDSET_ADVANCED_ELEMENTS:"fieldset.containsadvancedelements",MORELESS_TOGGLE:".moreless-actions"},d={SHOW_ADVANCED:"event_form-show-advanced",HIDE_ADVANCED:"event_form-hide-advanced",ADVANCED_SHOWN:"event_form-advanced-shown",ADVANCED_HIDDEN:"event_form-advanced-hidden"},e=function(a){a.find(c.FIELDSET_ADVANCED_ELEMENTS).removeClass("containsadvancedelements");var d=a.find(c.MORELESS_TOGGLE);b.replaceNode(d,"","")},f=function(a){a.find(c.ADVANCED_ELEMENT).removeClass("hidden"),a.trigger(d.ADVANCED_SHOWN)},g=function(a){a.find(c.ADVANCED_ELEMENT).addClass("hidden"),a.trigger(d.ADVANCED_HIDDEN)},h=function(a){a.on(d.SHOW_ADVANCED,function(){f(a)}),a.on(d.HIDE_ADVANCED,function(){g(a)})},i=function(b){b.find(c.EVENT_GROUP_ID).find(c.SELECT_OPTION).each(function(b,c){c=a(c);var d=c.attr("value"),e=d.split("-"),f=e[0];c.attr("data-course-id",f)})},j=function(b){var d=b.find(c.EVENT_GROUP_COURSE_ID),e=b.find(c.EVENT_GROUP_ID),f=e.find(c.SELECT_OPTION),g=function(){var b=d.val(),c=null;f.each(function(d,e){e=a(e),e.attr("data-course-id")==b?(e.removeClass("hidden"),e.prop("disabled",!1),(null===c||e.attr("selected"))&&(c=d)):(e.addClass("hidden"),e.prop("disabled",!0))}),e.prop("selectedIndex",c)};d.on("change",g),g()},k=function(b,c){var d=a("#"+b);h(d),e(d),i(d),j(d),c?f(d):g(d)};return{init:k,events:d}});
|
||||
@@ -35,13 +35,6 @@ define(['jquery', 'core/templates'], function($, Templates) {
|
||||
MORELESS_TOGGLE: '.moreless-actions'
|
||||
};
|
||||
|
||||
var EVENT_TYPES = {
|
||||
USER: 'user',
|
||||
SITE: 'site',
|
||||
COURSE: 'course',
|
||||
GROUP: 'group'
|
||||
};
|
||||
|
||||
var EVENTS = {
|
||||
SHOW_ADVANCED: 'event_form-show-advanced',
|
||||
HIDE_ADVANCED: 'event_form-hide-advanced',
|
||||
@@ -140,75 +133,6 @@ define(['jquery', 'core/templates'], function($, Templates) {
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Toggle the visibility of the secondary select elements based on
|
||||
* the event type the user has selected.
|
||||
*
|
||||
* There are 3 secondary select elements within the form:
|
||||
* - course: a list of all courses a user can add course events to
|
||||
* - group course: a list of all courses a user can add group events to.
|
||||
* this list can be different from the course list above.
|
||||
* - group: a list of all groups a user can add an event to. This list will
|
||||
* be filtered further based on the group course selected.
|
||||
*
|
||||
* There are 4 event types:
|
||||
* - user: none of the secondary selects should be visible.
|
||||
* - site: none of the secondary selects should be visible.
|
||||
* - course: "course" select should be visible and both "group course"
|
||||
* and "group" should be hidden.
|
||||
* - group: "group course" and "group" should be visible and "course"
|
||||
* should be hidden.
|
||||
*
|
||||
* @method hideTypeSubSelects
|
||||
* @param {object} formElement The root form element
|
||||
*/
|
||||
var hideTypeSubSelects = function(formElement) {
|
||||
var typeSelect = formElement.find(SELECTORS.EVENT_TYPE);
|
||||
var eventType = typeSelect.val();
|
||||
var courseIdSelect = formElement.find(SELECTORS.EVENT_COURSE_ID)
|
||||
.closest(SELECTORS.FORM_GROUP)
|
||||
.removeClass('hidden');
|
||||
var groupCourseIdSelect = formElement.find(SELECTORS.EVENT_GROUP_COURSE_ID)
|
||||
.closest(SELECTORS.FORM_GROUP)
|
||||
.removeClass('hidden');
|
||||
var groupIdSelect = formElement.find(SELECTORS.EVENT_GROUP_ID)
|
||||
.closest(SELECTORS.FORM_GROUP)
|
||||
.removeClass('hidden');
|
||||
|
||||
// Hide the unreleated selectors for the given event type.
|
||||
switch (eventType) {
|
||||
case EVENT_TYPES.COURSE:
|
||||
groupCourseIdSelect.addClass('hidden');
|
||||
groupIdSelect.addClass('hidden');
|
||||
break;
|
||||
case EVENT_TYPES.GROUP:
|
||||
courseIdSelect.addClass('hidden');
|
||||
break;
|
||||
default:
|
||||
courseIdSelect.addClass('hidden');
|
||||
groupCourseIdSelect.addClass('hidden');
|
||||
groupIdSelect.addClass('hidden');
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Listen for when the user changes the event type select in the
|
||||
* form and then toggle the visibility of the appropriate secondary
|
||||
* select elements.
|
||||
*
|
||||
* See: hideTypeSubSelects.
|
||||
*
|
||||
* @method addTypeSelectListeners
|
||||
* @param {object} formElement The root form element
|
||||
*/
|
||||
var addTypeSelectListeners = function(formElement) {
|
||||
var typeSelect = formElement.find(SELECTORS.EVENT_TYPE);
|
||||
|
||||
typeSelect.on('change', function() {
|
||||
hideTypeSubSelects(formElement);
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Listen for when the user changes the group course when configuring
|
||||
* a group event and filter the options in the group select to only
|
||||
@@ -260,9 +184,7 @@ define(['jquery', 'core/templates'], function($, Templates) {
|
||||
|
||||
listenForShowHideEvents(formElement);
|
||||
destroyOldMoreLessToggle(formElement);
|
||||
hideTypeSubSelects(formElement);
|
||||
parseGroupSelect(formElement);
|
||||
addTypeSelectListeners(formElement);
|
||||
addCourseGroupSelectListeners(formElement);
|
||||
|
||||
// If we know that the form has been rendered with server side
|
||||
|
||||
@@ -214,7 +214,7 @@ class create extends \moodleform {
|
||||
}
|
||||
|
||||
$mform->addElement('select', 'courseid', get_string('course'), $courseoptions);
|
||||
$mform->disabledIf('courseid', 'eventtype', 'noteq', 'course');
|
||||
$mform->hideIf('courseid', 'eventtype', 'noteq', 'course');
|
||||
}
|
||||
|
||||
if (isset($eventtypes['group'])) {
|
||||
@@ -225,7 +225,7 @@ class create extends \moodleform {
|
||||
}
|
||||
|
||||
$mform->addElement('select', 'groupcourseid', get_string('course'), $courseoptions);
|
||||
$mform->disabledIf('groupcourseid', 'eventtype', 'noteq', 'group');
|
||||
$mform->hideIf('groupcourseid', 'eventtype', 'noteq', 'group');
|
||||
|
||||
$groupoptions = [];
|
||||
foreach ($eventtypes['group'] as $group) {
|
||||
@@ -237,7 +237,7 @@ class create extends \moodleform {
|
||||
}
|
||||
|
||||
$mform->addElement('select', 'groupid', get_string('group'), $groupoptions);
|
||||
$mform->disabledIf('groupid', 'eventtype', 'noteq', 'group');
|
||||
$mform->hideIf('groupid', 'eventtype', 'noteq', 'group');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user