| @@ -1,56 +1,32 @@ | ||
| 1 | -jQuery(document).ready(function ($) { | |
| 2 | - jQuery('.uam_group_selection').on('click', '.uam_group_date', function () { | |
| 3 | - var $element = jQuery(this); | |
| 4 | - var $next = $element.next('.uam_group_date_form'); | |
| 5 | - $next.toggle(); | |
| 6 | - $element.hide(); | |
| 7 | - }); | |
| 8 | - | |
| 1 | +jQuery(document).ready(function () { | |
| 9 | 2 | //Functions for the setting page |
| 10 | - var toggleGroup = function (group, elementIndex, hiddenFlag, elementsToHide) { | |
| 11 | - hiddenFlag = hiddenFlag || 'true'; | |
| 12 | - var $group = jQuery(group); | |
| 13 | - var $inputs = jQuery('tr:eq('+elementIndex+') input', $group); | |
| 3 | + var toggleGroup = function (groupName) { | |
| 4 | + var $groups = jQuery(groupName); | |
| 14 | 5 | |
| 15 | - var toggleElement = function (element) { | |
| 16 | - var $element = jQuery(element); | |
| 17 | - var $subElements = jQuery('tr:gt('+elementIndex+')', $group); | |
| 18 | - var currentState = ($element.val() === hiddenFlag); | |
| 19 | - elementsToHide = elementsToHide || $subElements.length; | |
| 6 | + jQuery.each($groups, function (key, group) { | |
| 7 | + var $group = jQuery(group); | |
| 8 | + var $firstElements = jQuery('tr:first input', $group); | |
| 20 | 9 | |
| 21 | - for (var index = 0; index < $subElements.length; index++) { | |
| 22 | - var $subElement = jQuery($subElements[index]); | |
| 23 | - var data = $subElement.data('hidden') || {}; | |
| 24 | - data[elementIndex] = (index < elementsToHide) ? currentState : !currentState; | |
| 25 | - $subElement.data('hidden', data); | |
| 10 | + var toggleElements = function (element) { | |
| 11 | + var $element = jQuery(element); | |
| 26 | 12 | |
| 27 | - var showElement = true; | |
| 13 | + if ($element.val() === 'true') { | |
| 14 | + jQuery('tr:not(:first)', $group).hide(); | |
| 15 | + } else { | |
| 16 | + jQuery('tr:not(:first)', $group).show(); | |
| 17 | + } | |
| 18 | + }; | |
| 28 | 19 | |
| 29 | - jQuery.each(data, function(key, value) { | |
| 30 | - if (value === true) { | |
| 31 | - showElement = false; | |
| 32 | - return null; | |
| 33 | - } | |
| 34 | - }); | |
| 20 | + $firstElements.change(function () { | |
| 21 | + toggleElements(this); | |
| 22 | + }); | |
| 35 | 23 | |
| 36 | - $subElement.toggle(showElement); | |
| 37 | - } | |
| 38 | - }; | |
| 39 | - | |
| 40 | - $inputs.on('change', function () { | |
| 41 | - toggleElement(this); | |
| 24 | + toggleElements(jQuery('tr:first input:checked', $group)); | |
| 42 | 25 | }); |
| 43 | - | |
| 44 | - toggleElement($inputs.filter(':checked')); | |
| 45 | 26 | }; |
| 46 | 27 | |
| 47 | - toggleGroup('.uam_settings_group_post_type', 0); | |
| 48 | - toggleGroup('.uam_settings_group_post_type:not(.default)', 1); | |
| 49 | - toggleGroup('.uam_settings_group_taxonomies:not(.default)', 0); | |
| 50 | - toggleGroup('.uam_settings_group_file:not(.default)', 1); | |
| 51 | - toggleGroup('#uam_settings_group_file', 0, 'false'); | |
| 52 | - toggleGroup('#uam_settings_group_file', 4, 'false', 1); | |
| 28 | + toggleGroup('.uam_settings_group_post_type'); | |
| 53 | 29 | |
| 54 | 30 | // Functions for the setup page |
| 55 | 31 | jQuery('#uam_reset_confirm').on('change paste keyup', function () { |
| 56 | 32 | var $button = jQuery('#uam_reset_submit'); |
| @@ -59,15 +35,6 @@ | ||
| 59 | 35 | $button.removeAttr('disabled'); |
| 60 | 36 | } else if (typeof $button.attr('disabled') === 'undefined') { |
| 61 | 37 | $button.attr('disabled', 'disabled'); |
| 62 | 38 | } |
| 63 | - }); | |
| 64 | - | |
| 65 | - jQuery('#uam_settings_group_section').on('change', function () { | |
| 66 | - var $selected = jQuery(this).find(':selected'); | |
| 67 | - window.location.href = $selected.data('link'); | |
| 68 | - }); | |
| 69 | - | |
| 70 | - /** global: ajaxurl */ | |
| 71 | - $('#uam_dynamic_groups').uamGroupSuggest(ajaxurl + '?action=uam-get-dynamic-group', { delay: 500, multiple: true }); | |
| 72 | - $('.uam_time_input').uamTimeInput(); | |
| 39 | + }) | |
| 73 | 40 | }); |