From 97b712a4d2820e09d6b1d0d920fe02749b8dfd6a Mon Sep 17 00:00:00 2001
From: andrewshuba
Date: Wed, 31 Oct 2018 14:55:33 +0200
Subject: [PATCH] style and/or conditions. fix reset all fields. fix bug add 2
fields
---
includes/admin/assets/css/um-admin-modal.css | 38 ++++++
includes/admin/assets/js/um-admin-modal.js | 129 ++++++++++---------
includes/admin/core/class-admin-builder.php | 6 +-
3 files changed, 109 insertions(+), 64 deletions(-)
diff --git a/includes/admin/assets/css/um-admin-modal.css b/includes/admin/assets/css/um-admin-modal.css
index 837ba538..43baf6eb 100644
--- a/includes/admin/assets/css/um-admin-modal.css
+++ b/includes/admin/assets/css/um-admin-modal.css
@@ -300,9 +300,47 @@ span.um-admin-icon-clear i {font-size: 20px;vertical-align: middle;}
.um-admin-new-condition-compare-and {
margin-top: 10px !important;
margin-bottom: 10px !important;
+ text-align: center;
}
.um-admin-new-condition-compare-or {
display: block !important;
width: 150px;
margin-top: 20px !important;
+ text-align: center;
+}
+hr.or-devider {
+ border-width: 3px;
+ position: relative;
+ overflow: visible;
+ margin: 10px 0;
+}
+hr.or-devider:after {
+ content: 'OR';
+ display: block;
+ position: absolute;
+ background: #fff;
+ left: 50%;
+ margin: -11px 0 0 -13px;
+ top: 50%;
+ text-align: center;
+ color: #000;
+ width: 26px;
+}
+.um-admin-cur-condition {
+ position: relative;
+}
+.um-admin-cur-condition:after {
+ clear: both;
+ content: '';
+ display: block;
+}
+.um-admin-cur-condition + .um-admin-cur-condition:before {
+ content: 'AND';
+ display: block;
+ position: absolute;
+ top: -25px;
+ right: -7px;
+}
+.um-admin-cur-condition p:last-of-type('p') {
+ float: right;
}
\ No newline at end of file
diff --git a/includes/admin/assets/js/um-admin-modal.js b/includes/admin/assets/js/um-admin-modal.js
index f431068d..97457da0 100644
--- a/includes/admin/assets/js/um-admin-modal.js
+++ b/includes/admin/assets/js/um-admin-modal.js
@@ -14,22 +14,22 @@ function um_admin_live_update_scripts(count) {
if ( jQuery('.um-admin-colorpicker').length ) {
jQuery('.um-admin-colorpicker').wpColorPicker();
}
-
+
}
function um_admin_new_modal( id, ajax, size ){
-
+
var modal = jQuery('body').find('.um-admin-overlay');
-
+
jQuery('.tipsy').hide();
-
+
um_admin_remove_modal();
-
+
jQuery('body').addClass('um-admin-modal-open').append('');
jQuery('#' + id).prependTo('.um-admin-modal');
jQuery('#' + id).show();
jQuery('.um-admin-modal').show();
-
+
jQuery('.um-admin-modal-head').append('');
if ( ajax == true ) {
@@ -39,7 +39,7 @@ function um_admin_new_modal( id, ajax, size ){
} else {
um_admin_modal_responsive();
}
-
+
}
function um_admin_modal_ajaxcall( act_id, arg1, arg2, arg3 ) {
@@ -48,14 +48,14 @@ function um_admin_modal_ajaxcall( act_id, arg1, arg2, arg3 ) {
in_sub_row = '';
in_column = '';
in_group = '';
-
+
if ( jQuery('.um-col-demon-settings').data('in_column') ) {
in_row = jQuery('.um-col-demon-settings').data('in_row');
in_sub_row = jQuery('.um-col-demon-settings').data('in_sub_row');
in_column = jQuery('.um-col-demon-settings').data('in_column');
in_group = jQuery('.um-col-demon-settings').data('in_group');
}
-
+
jQuery.ajax({
url: wp.ajax.settings.url,
type: 'POST',
@@ -67,9 +67,9 @@ function um_admin_modal_ajaxcall( act_id, arg1, arg2, arg3 ) {
success: function(data){
jQuery('.um-admin-modal').find('.um-admin-modal-body').html( data );
-
+
um_responsive();
-
+
um_admin_live_update_scripts(count);
jQuery( "#_custom_dropdown_options_source" ).trigger('blur');
@@ -81,11 +81,11 @@ function um_admin_modal_ajaxcall( act_id, arg1, arg2, arg3 ) {
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_edit');
jQuery('.um-admin-editor:visible').html( jQuery('.um-hidden-editor-edit').contents() );
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_edit');
-
+
jQuery('.switch-html').trigger('click');
jQuery('.switch-html').trigger('click');
jQuery('.switch-tmce').trigger('click');
-
+
jQuery('#um_editor_edit_ifr').height(200);
var editor = tinyMCE.get('um_editor_edit');
@@ -97,19 +97,19 @@ function um_admin_modal_ajaxcall( act_id, arg1, arg2, arg3 ) {
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_new');
jQuery('.um-admin-editor:visible').html( jQuery('.um-hidden-editor-new').contents() );
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_new');
-
+
jQuery('.switch-html').trigger('click');
jQuery('.switch-html').trigger('click');
jQuery('.switch-tmce').trigger('click');
-
+
jQuery('#um_editor_new_ifr').height(200);
-
+
}
-
+
}
um_init_tooltips();
-
+
},
error: function(data){
@@ -126,23 +126,23 @@ function um_admin_modal_responsive() {
function um_admin_remove_modal(){
if ( jQuery('.um-admin-editor:visible').length > 0 ) {
-
+
if ( jQuery('.um-admin-modal:visible').find('form').parent().attr('id') == 'UM_edit_field' ) {
-
+
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_edit');
jQuery('.um-hidden-editor-edit').html( jQuery('.um-admin-editor:visible').contents() );
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_edit');
-
+
} else {
-
+
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_new');
jQuery('.um-hidden-editor-new').html( jQuery('.um-admin-editor:visible').contents() );
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_new');
-
+
}
-
+
}
-
+
jQuery('body').removeClass('um-admin-modal-open');
jQuery('.um-admin-modal div[id^="UM_"]').hide().appendTo('body');
jQuery('.um-admin-modal,.um-admin-overlay').remove();
@@ -170,7 +170,7 @@ function um_admin_modal_add_attr( id, value ) {
**/
jQuery(document).ready(function() {
-
+
/**
disable link
**/
@@ -178,7 +178,7 @@ jQuery(document).ready(function() {
e.preventDefault();
return false;
});
-
+
/**
toggle area
**/
@@ -188,9 +188,9 @@ jQuery(document).ready(function() {
var cond_operator = jQuery(this).find('[id^="_conditional_operator"]').val();
var cond_value = jQuery(this).find('[id^="_conditional_value"]');
if( cond_operator === 'empty' || cond_operator === 'not empty' ){
- cond_value.hide();
+ cond_value.attr('disabled','disabled');
} else {
- cond_value.show();
+ cond_value.removeAttr('disabled');
}
});
@@ -215,9 +215,9 @@ jQuery(document).ready(function() {
var cond_operator = jQuery(this).val();
var cond_value = jQuery(this).closest('.um-admin-cur-condition').find('[id^="_conditional_value"]');
if( cond_operator === 'empty' || cond_operator === 'not empty' ){
- cond_value.hide();
+ cond_value.attr('disabled','disabled');
} else {
- cond_value.show();
+ cond_value.removeAttr('disabled');
}
});
@@ -233,9 +233,13 @@ jQuery(document).ready(function() {
length = content.find('.um-admin-cur-condition').length;
if ( length < 5 ) {
- //content.find('select').select2('destroy');
- var template = jQuery('.um-admin-btn-content').find('.um-admin-cur-condition-template').clone();
+ if( jQuery('#UM_add_field .um-admin-btn-content .um-admin-cur-condition-template').length>0 ){
+ var template = jQuery('#UM_add_field .um-admin-btn-content').find('.um-admin-cur-condition-template').clone();
+ } else {
+ var template = jQuery('#UM_edit_field .um-admin-btn-content').find('.um-admin-cur-condition-template').clone();
+ }
+
template.find('input[type=text]').val('');
template.find('select').val('');
@@ -243,7 +247,7 @@ jQuery(document).ready(function() {
template.find('#_conditional_compare').val('and');
var group = jQuery(this).prev('.um-admin-cur-condition').find('[id^="_conditional_group"]').val();
- console.log(group);
+
template.find('#_conditional_group').val(group);
var templatehtml = template.html();
template.insertBefore( jQuery(this) );
@@ -254,9 +258,9 @@ jQuery(document).ready(function() {
var group = jQuery('.condition-wrap .um-admin-cur-condition').last().find('[id^="_conditional_group"]').val();
template.find('#_conditional_group').val(parseInt(group)+1);
var button = jQuery('.um-admin-new-condition-compare-and:first').clone();
- $( "
" ).insertBefore( jQuery(this) );
+ jQuery('
').insertBefore( jQuery(this) );
template.insertBefore( jQuery(this) );
- button.insertBefore( jQuery(this) );
+ button.addClass('for-remove-on-reset').insertBefore( jQuery(this) );
}
@@ -291,20 +295,23 @@ jQuery(document).ready(function() {
} );
});
-
+
/**
reset conditions
**/
jQuery(document).on('click', '.um-admin-reset-conditions a', function(){
- var content = jQuery(this).parents('.um-admin-btn-content');
- content.find('.um-admin-cur-condition').slice(1).remove();
- content.find('input[type=text]').val('');
- content.find('select').val('');
- jQuery('.um-admin-new-condition').removeClass('disabled');
- um_admin_live_update_scripts();
- um_admin_modal_responsive();
+ var content = jQuery(this).parents('.um-admin-btn-content');
+ content.find('.um-admin-cur-condition').slice(1).remove();
+ content.find('input[type=text]').val('');
+ content.find('select').val('');
+ jQuery('.um-admin-new-condition').removeClass('disabled');
+ jQuery('.condition-wrap hr').remove();
+ jQuery('.condition-wrap .for-remove-on-reset').remove();
+
+ um_admin_live_update_scripts();
+ um_admin_modal_responsive();
});
-
+
/**
remove a condition
**/
@@ -343,44 +350,44 @@ jQuery(document).ready(function() {
um_admin_live_update_scripts();
um_admin_modal_responsive();
});
-
+
/**
remove modal via action
**/
jQuery(document).on('click', '.um-admin-overlay, a[data-action="UM_remove_modal"]', function(){
um_admin_remove_modal();
});
-
+
/**
fire new modal
**/
jQuery(document).on('click', 'a[data-modal^="UM_"], span[data-modal^="UM_"]', function(e){
-
+
e.preventDefault();
var modal_id = jQuery(this).attr('data-modal');
if ( jQuery(this).attr('data-back') ) {
-
+
jQuery('#UM_fonticons').find('a.um-admin-modal-back').attr("data-modal", jQuery(this).attr('data-back') );
var current_icon = jQuery( '#' + jQuery(this).attr('data-back') ).find('input#_icon').val();
if ( current_icon == '' ) {
jQuery('#UM_fonticons').find('.um-admin-icons span').removeClass('highlighted');
}
-
+
}
-
+
if ( jQuery(this).data('dynamic-content') ) {
um_admin_new_modal( modal_id, true, jQuery(this).data('modal-size') );
um_admin_modal_ajaxcall( jQuery(this).data('dynamic-content'), jQuery(this).data('arg1'), jQuery(this).data('arg2'), jQuery(this).data('arg3') );
} else {
um_admin_new_modal( modal_id );
}
-
+
return false;
});
-
+
/**
choose font icon
**/
@@ -390,7 +397,7 @@ jQuery(document).ready(function() {
jQuery(this).addClass('highlighted');
jQuery('#UM_fonticons').find('a.um-admin-modal-back').attr("data-code", icon);
});
-
+
/**
submit font icon
**/
@@ -412,7 +419,7 @@ jQuery(document).ready(function() {
um_admin_remove_modal();
}
});
-
+
/**
restore font icon
**/
@@ -427,7 +434,7 @@ jQuery(document).ready(function() {
element.find('.um-admin-icon-value').html('No Icon');
jQuery(this).hide();
});
-
+
/**
search font icons
**/
@@ -441,14 +448,14 @@ jQuery(document).ready(function() {
um_admin_modal_responsive();
});
-
+
/**
* Retrieve options from a callback function
*/
jQuery(document).on('blur',"#_custom_dropdown_options_source", function(){
var me = jQuery(this);
var _options = jQuery('textarea[id=_options]');
-
+
if( me.val() != '' ){
var um_option_callback = me.val();
jQuery.ajax({
@@ -456,17 +463,17 @@ jQuery(document).ready(function() {
type: 'POST',
data: { action:'populate_dropdown_options',um_option_callback: um_option_callback },
complete: function(){
-
+
},
success: function( response ){
var arr_opts = [];
-
+
for (var key in response.data ){
arr_opts.push( response.data[ key ] );
}
_options.val( arr_opts.join('\n') );
-
+
}
});
}
diff --git a/includes/admin/core/class-admin-builder.php b/includes/admin/core/class-admin-builder.php
index ec4ba069..7f280250 100644
--- a/includes/admin/core/class-admin-builder.php
+++ b/includes/admin/core/class-admin-builder.php
@@ -243,7 +243,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
-
+
*/ ?>
@@ -253,9 +253,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
if ( $k == 0 ) $k = ''; ?>
-
+
-
+