@@ -35,7 +35,7 @@ class AyeCode_UI_Settings {
3535 *
3636 * @var string
3737 */
38- public $ version = '0.2.43 ' ;
38+ public $ version = '0.2.44 ' ;
3939
4040 /**
4141 * Class textdomain.
@@ -2655,7 +2655,7 @@ function aui_cf_field_init_rules($) {
26552655 if (!$('[data-has-rule]').length) {
26562656 return;
26572657 }
2658- $('input.select2-search__field').attr('data-ignore-rule','');
2658+ $('input.select2-search__field,.aui-cf-ignore-rule ').attr('data-ignore-rule','');
26592659 $('[data-rule-key]').on('change keypress keyup gdclear', 'input, textarea', function() {
26602660 if (!$(this).hasClass('select2-search__field')) {
26612661 aui_cf_field_apply_rules($(this));
@@ -2884,7 +2884,7 @@ function aui_cf_field_apply_rules($el) {
28842884 * Get the field element.
28852885 */
28862886 function aui_cf_field_get_element($el) {
2887- var el = $el.find('input: not(" [data-ignore-rule]"),textarea,select '), type = aui_cf_field_get_type($el);
2887+ var el = $el.find('input,textarea,select'). not(' [data-ignore-rule]'), type = aui_cf_field_get_type($el);
28882888 if (type && window._aui_cf_field_elements && typeof window._aui_cf_field_elements == 'object' && typeof window._aui_cf_field_elements[type] != 'undefined') {
28892889 el = window._aui_cf_field_elements[type];
28902890 }
@@ -2906,19 +2906,19 @@ function aui_cf_field_get_value($el) {
29062906
29072907 if ($el.is(':checkbox')) {
29082908 current_value = '';
2909- if ($el.parents('[data-rule-key]').find('input:checked').length > 1) {
2910- $el.parents('[data-rule-key]').find('input:checked').each(function() {
2909+ if ($el.parents('[data-rule-key]').find('input:checked').not('[data-ignore-rule]'). length > 1) {
2910+ $el.parents('[data-rule-key]').find('input:checked').not('[data-ignore-rule]'). each(function() {
29112911 current_value = current_value + jQuery(this).val() + ' ';
29122912 });
29132913 } else {
2914- if ($el.parents('[data-rule-key]').find('input:checked').length >= 1) {
2915- current_value = $el.parents('[data-rule-key]').find('input:checked').val();
2914+ if ($el.parents('[data-rule-key]').find('input:checked').not('[data-ignore-rule]'). length >= 1) {
2915+ current_value = $el.parents('[data-rule-key]').find('input:checked').not('[data-ignore-rule]'). val();
29162916 }
29172917 }
29182918 }
29192919
29202920 if ($el.is(':radio')) {
2921- current_value = $el.parents('[data-rule-key]').find('input[type=radio]:checked').val();
2921+ current_value = $el.parents('[data-rule-key]').find('input[type=radio]:checked').not('[data-ignore-rule]'). val();
29222922 }
29232923
29242924 return current_value;
@@ -2936,7 +2936,7 @@ function aui_cf_field_get_default_value($el) {
29362936 case 'date':
29372937 case 'textarea':
29382938 case 'select':
2939- value = $el.find('input:text,input[type="number"],textarea,select').val();
2939+ value = $el.find('input:text,input[type="number"],textarea,select').not('[data-ignore-rule]'). val();
29402940 break;
29412941 case 'phone':
29422942 case 'email':
@@ -2945,27 +2945,27 @@ function aui_cf_field_get_default_value($el) {
29452945 case 'hidden':
29462946 case 'password':
29472947 case 'file':
2948- value = $el.find('input[type="' + type + '"]').val();
2948+ value = $el.find('input[type="' + type + '"]').not('[data-ignore-rule]'). val();
29492949 break;
29502950 case 'multiselect':
2951- value = $el.find('select').val();
2951+ value = $el.find('select').not('[data-ignore-rule]'). val();
29522952 break;
29532953 case 'radio':
2954- if ($el.find('input[type="radio"]:checked').length >= 1) {
2955- value = $el.find('input[type="radio"]:checked').val();
2954+ if ($el.find('input[type="radio"]:checked').not('[data-ignore-rule]'). length >= 1) {
2955+ value = $el.find('input[type="radio"]:checked').not('[data-ignore-rule]'). val();
29562956 }
29572957 break;
29582958 case 'checkbox':
2959- if ($el.find('input[type="checkbox"]:checked').length >= 1) {
2960- if ($el.find('input[type="checkbox"]:checked').length > 1) {
2959+ if ($el.find('input[type="checkbox"]:checked').not('[data-ignore-rule]'). length >= 1) {
2960+ if ($el.find('input[type="checkbox"]:checked').not('[data-ignore-rule]'). length > 1) {
29612961 var values = [];
29622962 values.push(value);
2963- $el.find('input[type="checkbox"]:checked').each(function() {
2963+ $el.find('input[type="checkbox"]:checked').not('[data-ignore-rule]'). each(function() {
29642964 values.push(jQuery(this).val());
29652965 });
29662966 value = values;
29672967 } else {
2968- value = $el.find('input[type="checkbox"]:checked').val();
2968+ value = $el.find('input[type="checkbox"]:checked').not('[data-ignore-rule]'). val();
29692969 }
29702970 }
29712971 break;
@@ -2998,7 +2998,7 @@ function aui_cf_field_reset_default_value($el, bHide, setVal) {
29982998 case 'number':
29992999 case 'date':
30003000 case 'textarea':
3001- $el.find('input:text,input[type="number"],textarea').val(setVal);
3001+ $el.find('input:text,input[type="number"],textarea').not('[data-ignore-rule]'). val(setVal);
30023002 break;
30033003 case 'phone':
30043004 case 'email':
@@ -3007,45 +3007,47 @@ function aui_cf_field_reset_default_value($el, bHide, setVal) {
30073007 case 'hidden':
30083008 case 'password':
30093009 case 'file':
3010- $el.find('input[type="' + type + '"]').val(setVal);
3010+ $el.find('input[type="' + type + '"]:not("[data-ignore-rule]") ').val(setVal);
30113011 break;
30123012 case 'select':
3013- $el.find('select').find('option').prop('selected', false);
3014- $el.find('select').val(setVal);
3015- $el.find('select').trigger('change');
3013+ var $elSelect = $el.find('select').not('[data-ignore-rule]');
3014+ $elSelect.find('option').prop('selected', false);
3015+ $elSelect.val(setVal);
3016+ $elSelect.trigger('change');
30163017 break;
30173018 case 'multiselect':
3018- $el.find('select').find('option').prop('selected', false);
3019- if ((typeof setVal === 'object' || typeof setVal === 'array') && !setVal.length && $el.find('select option:first').text() == '') {
3020- $el.find('select option:first').remove(); // Clear first option to show placeholder.
3019+ var $elSelect = $el.find('select').not('[data-ignore-rule]');
3020+ $elSelect.find('option').prop('selected', false);
3021+ if ((typeof setVal === 'object' || typeof setVal === 'array') && !setVal.length && $elSelect.find('option:first').text() == '') {
3022+ $elSelect.find('option:first').remove(); // Clear first option to show placeholder.
30213023 }
30223024 if (typeof setVal === 'string') {
3023- $el.find('select') .val(setVal);
3025+ $elSelect .val(setVal);
30243026 } else {
30253027 jQuery.each(setVal, function(i, v) {
3026- $el.find('select') .find('option[value="' + v + '"]').prop('selected', true);
3028+ $elSelect .find('option[value="' + v + '"]').prop('selected', true);
30273029 });
30283030 }
3029- $el.find('select') .trigger('change');
3031+ $elSelect .trigger('change');
30303032 break;
30313033 case 'checkbox':
3032- if ($el.find('input[type="checkbox"]:checked').length >= 1) {
3033- $el.find('input[type="checkbox"]:checked').prop('checked', false).removeAttr('checked');
3034+ if ($el.find('input[type="checkbox"]:checked').not('[data-ignore-rule]'). length >= 1) {
3035+ $el.find('input[type="checkbox"]:checked').not('[data-ignore-rule]'). prop('checked', false).removeAttr('checked');
30343036 }
30353037 if (Array.isArray(setVal)) {
30363038 jQuery.each(setVal, function(i, v) {
3037- $el.find('input[type="checkbox"][value="' + v + '"]').prop('checked', true);
3039+ $el.find('input[type="checkbox"][value="' + v + '"]').not('[data-ignore-rule]'). prop('checked', true);
30383040 });
30393041 } else {
3040- $el.find('input[type="checkbox"][value="' + setVal + '"]').prop('checked', true);
3042+ $el.find('input[type="checkbox"][value="' + setVal + '"]').not('[data-ignore-rule]'). prop('checked', true);
30413043 }
30423044 break;
30433045 case 'radio':
30443046 setTimeout(function() {
3045- if ($el.find('input[type="radio"]:checked').length >= 1) {
3046- $el.find('input[type="radio"]:checked').prop('checked', false).removeAttr('checked');
3047+ if ($el.find('input[type="radio"]:checked').not('[data-ignore-rule]'). length >= 1) {
3048+ $el.find('input[type="radio"]:checked').not('[data-ignore-rule]'). prop('checked', false).removeAttr('checked');
30473049 }
3048- $el.find('input[type="radio"][value="' + setVal + '"]').prop('checked', true);
3050+ $el.find('input[type="radio"][value="' + setVal + '"]').not('[data-ignore-rule]'). prop('checked', true);
30493051 }, 100);
30503052 break;
30513053 default:
0 commit comments