diff --git a/calendar/amd/build/event_form.min.js b/calendar/amd/build/event_form.min.js index d90e7c8e11e..3a3c97625df 100644 --- a/calendar/amd/build/event_form.min.js +++ b/calendar/amd/build/event_form.min.js @@ -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}}); \ No newline at end of file +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}}); \ No newline at end of file diff --git a/calendar/amd/src/event_form.js b/calendar/amd/src/event_form.js index e6abfd81d69..ea3e4172d08 100644 --- a/calendar/amd/src/event_form.js +++ b/calendar/amd/src/event_form.js @@ -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