code refactor

This commit is contained in:
Denis Baranov
2018-06-05 15:39:18 +03:00
parent 46904999ca
commit 804984e587
6 changed files with 63 additions and 33 deletions
@@ -258,3 +258,7 @@ p.disabled-on-off .um-admin-yesno *{
visibility: hidden;
height: 0;
}
.um-admin-cur-condition-template {
display: none;
}
+1 -1
View File
@@ -28,7 +28,7 @@ jQuery(document).ready(function() {
jQuery('.tipsy').hide();
um_admin_remove_modal();
console.log(um_admin_ajax_data.ajax_url);
jQuery.ajax({
url: um_admin_ajax_data.ajax_url,
type: 'POST',
+1 -17
View File
@@ -1,24 +1,8 @@
jQuery(document).ready(function() {
/* Remove deleted condition fields */
jQuery(document).on('click', '.um-admin-btn-toggle a', function(){
var fields = jQuery('.um-admin-btn-content').find('[name*="_conditional_field"]');
jQuery(document).on('click', '', function(){
jQuery.each(fields, function(index, value) {
if ( !jQuery(value).val() ) {
console.log(jQuery(value).parents('.um-admin-cur-condition').find('.um-admin-remove-condition'));
jQuery(value).parents('.um-admin-cur-condition').remove();
}
});
var form = jQuery('form.um_add_field');
jQuery.ajax({
url: um_admin_field_data.ajax_url,
type: 'POST',
dataType: 'json',
data: form.serialize()
});
});
/* Remove field permanently */
+13 -8
View File
@@ -198,21 +198,26 @@ jQuery(document).ready(function() {
if ( jQuery(this).hasClass('disabled') )
return false;
var content = jQuery(this).parents('.um-admin-btn-content');
var length = content.find('.um-admin-cur-condition').length;
var content = jQuery(this).parents('.um-admin-btn-content'),
length = content.find('.um-admin-cur-condition').length;
if ( length < 5 ) {
//content.find('select').select2('destroy');
var cloned = jQuery(this).parents('.um-admin-cur-condition').clone();
cloned.find('input[type=text],select').each(function(){
var template = jQuery('.um-admin-btn-content').find('.um-admin-cur-condition-template').clone();
template.find('input[type=text],select').each(function(){
jQuery(this).attr('id', jQuery(this).attr('id') + length );
jQuery(this).attr('name', jQuery(this).attr('name') + length );
});
cloned.find('input[type=text]').val('');
cloned.find('.um-admin-new-condition').replaceWith('<p><a href="#" class="um-admin-remove-condition button um-admin-tipsy-n" title="Remove condition"><i class="um-icon-close" style="margin-right:0!important"></i></a></p>');
cloned.appendTo( content );
cloned.find('select').val('');
template.find('input[type=text]').val('');
template.find('select').val('');
template.appendTo( content );
jQuery(template).removeClass("um-admin-cur-condition-template");
jQuery(template).addClass("um-admin-cur-condition");
um_admin_live_update_scripts();
um_admin_modal_responsive();
} else {
+14 -7
View File
@@ -231,10 +231,11 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
<div class="um-admin-btn-content">
<p class="um-admin-reset-conditions"><a href="#" class="button button-primary"><?php _e( 'Reset all rules', 'ultimate-member' ); ?></a></p>
<p><a href="#" class="um-admin-new-condition button button-primary um-admin-tipsy-n" title="Add new condition"><?php _e( 'Add new rule', 'ultimate-member' ); ?></a></p>
<p class="um-admin-reset-conditions"><a href="#" class="button"><?php _e( 'Reset all rules', 'ultimate-member' ); ?></a></p>
<div class="um-admin-clear"></div>
<?php if ( isset( $edit_array['conditions'] ) ) {
<?php if ( isset( $edit_array['conditions'] ) && count( $edit_array['conditions'] ) != 0 ) {
foreach ( $edit_array['conditions'] as $k => $arr ) {
@@ -247,11 +248,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
<?php $metabox->field_input( '_conditional_operator' . $k, $form_id ); ?>
<?php $metabox->field_input( '_conditional_value' . $k, $form_id ); ?>
<?php if ( $k == '' ) { ?>
<p><a href="#" class="um-admin-new-condition button um-admin-tipsy-n" title="Add new condition"><i class="um-icon-plus" style="margin-right:0!important"></i></a></p>
<?php } else { ?>
<p><a href="#" class="um-admin-remove-condition button um-admin-tipsy-n" title="Remove condition"><i class="um-icon-close" style="margin-right:0!important"></i></a></p>
<?php } ?>
<p><a href="#" class="um-admin-remove-condition button um-admin-tipsy-n" title="Remove condition"><i class="um-icon-close" style="margin-right:0!important"></i></a></p>
<div class="um-admin-clear"></div>
</div>
@@ -274,7 +271,17 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
</div>
<?php } ?>
<div class="um-admin-cur-condition-template">
<?php $metabox->field_input( '_conditional_action', $form_id ); ?>
<?php $metabox->field_input( '_conditional_field', $form_id ); ?>
<?php $metabox->field_input( '_conditional_operator', $form_id ); ?>
<?php $metabox->field_input( '_conditional_value', $form_id ); ?>
<p><a href="#" class="um-admin-remove-condition button um-admin-tipsy-n" title="Remove condition"><i class="um-icon-close" style="margin-right:0!important"></i></a></p>
<div class="um-admin-clear"></div>
</div>
</div>
</div>
+30
View File
@@ -182,7 +182,37 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
*/
function delete_field_from_form( $id, $form_id ) {
$fields = UM()->query()->get_attr( 'custom_fields', $form_id );
if (isset( $fields[$id] )) {
$condition_fields = get_option( 'um_fields' );
foreach ( $condition_fields as $key => $value ) {
$deleted_field = array_search( $id, $value );
if ( $key != $id && $deleted_field != false ) {
$deleted_field_id = str_replace( 'conditional_field', '', $deleted_field );
if ( $deleted_field_id == '' ) {
$arr_id = 0;
} else {
$arr_id = $deleted_field_id;
}
unset( $condition_fields[$key]['conditional_action' . $deleted_field_id] );
unset( $condition_fields[$key][$deleted_field] );
unset( $condition_fields[$key]['conditional_operator' . $deleted_field_id] );
unset( $condition_fields[$key]['conditional_value' . $deleted_field_id] );
unset( $condition_fields[$key]['conditions'][$arr_id] );
unset( $fields[$key]['conditional_action' . $deleted_field_id] );
unset( $fields[$key][$deleted_field] );
unset( $fields[$key]['conditional_operator' . $deleted_field_id] );
unset( $fields[$key]['conditional_value' . $deleted_field_id] );
unset( $fields[$key]['conditions'][$arr_id] );
}
}
update_option( 'um_fields' , $condition_fields );
unset( $fields[$id] );
UM()->query()->update_attr( 'custom_fields', $form_id, $fields );
}