From 17108a441d28e9becdf24bfe4ea28655838d4bf1 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Sat, 4 Jan 2020 13:03:03 +0800 Subject: [PATCH 1/2] Fix checkbox options missing selections with conditional settings --- assets/js/um-conditional.js | 8 ++++++-- assets/js/um-conditional.min.js | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/assets/js/um-conditional.js b/assets/js/um-conditional.js index e1faba53..06787be7 100644 --- a/assets/js/um-conditional.js +++ b/assets/js/um-conditional.js @@ -35,9 +35,12 @@ function um_get_field_default_value( $dom ) { if ($dom.find('input[type=checkbox]:checked').length >= 1) { if ($dom.find('input[type=checkbox]:checked').length > 1) { + var arr_values = []; + arr_values.push( default_value ); $dom.find('input[type=checkbox]:checked').each(function () { - default_value = default_value + jQuery(this).val() + ' '; + arr_values.push( jQuery(this).val() ); }); + default_value = arr_values; } else { default_value = $dom.find('input[type=checkbox]:checked').val(); } @@ -387,6 +390,7 @@ function um_field_restore_default_value( $dom ) { case 'checkbox': + if ( $dom.find('input[type=checkbox]:checked').length >= 1 ) { $dom.find('input[type=checkbox]:checked').removeAttr('checked'); @@ -408,7 +412,7 @@ function um_field_restore_default_value( $dom ) { cbox_elem.closest('.um-field-checkbox').find('i').removeClass('um-icon-android-checkbox-outline-blank'); cbox_elem.closest('.um-field-checkbox').find('i').addClass('um-icon-android-checkbox-outline'); cbox_elem.closest('.um-field-checkbox').addClass('active'); - } + } } diff --git a/assets/js/um-conditional.min.js b/assets/js/um-conditional.min.js index 5e32c136..8074be31 100644 --- a/assets/js/um-conditional.min.js +++ b/assets/js/um-conditional.min.js @@ -1 +1 @@ -var arr_all_conditions=[],um_field_conditions={},um_field_default_values={};function um_get_field_default_value(e){var i="",n=um_get_field_type(e);switch(n){case"text":case"number":case"date":case"textarea":case"select":i=e.find("input:text,input[type=number],textarea,select").val();break;case"multiselect":i=e.find("select").val();break;case"radio":1<=e.find("input[type=radio]:checked").length&&(i=e.find("input[type=radio]:checked").val());break;case"checkbox":1<=e.find("input[type=checkbox]:checked").length&&(1parseInt(i.value)?u[i.owner][e]=!0:u[i.owner][e]=!1),"less than"==i.operator&&(jQuery.isNumeric(i.value)&&parseInt(a)parseInt(i.value)?u[i.owner][e]=!0:u[i.owner][e]=!1),"less than"==i.operator&&(jQuery.isNumeric(i.value)&&parseInt(t) Date: Tue, 7 Jan 2020 20:57:24 +0800 Subject: [PATCH 2/2] Fix empty space when icon is not set --- includes/core/class-fields.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/core/class-fields.php b/includes/core/class-fields.php index 774ea3ef..a9dbec72 100644 --- a/includes/core/class-fields.php +++ b/includes/core/class-fields.php @@ -2674,7 +2674,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) { $output .= $this->field_label( $label, $key, $data ); } - $output .= '
'; + $output .= '
'; if ( ! empty( $icon ) && isset( $this->field_icons ) && $this->field_icons == 'field' ) { $output .= '
'; } @@ -3008,7 +3008,7 @@ if ( ! class_exists( 'um\core\Fields' ) ) { */ $use_keyword = apply_filters( 'um_multiselect_option_value', 0, $data['type'] ); - $output .= '
'; + $output .= '
'; if ( ! empty( $icon ) && isset( $this->field_icons ) && $this->field_icons == 'field') { $output .= '
'; }