diff --git a/assets/js/um-scripts.js b/assets/js/um-scripts.js index 4a24e4ae..b7ee1b5d 100644 --- a/assets/js/um-scripts.js +++ b/assets/js/um-scripts.js @@ -79,7 +79,7 @@ function um_init_datetimepicker() { function init_tipsy() { - if ( typeof( jQuery.fn.tipsy ) === "function" ) { + if ( typeof( jQuery.fn.tipsy ) === 'function' ) { jQuery('.um-tip-n').tipsy({gravity: 'n', opacity: 1, live: 'a.live', offset: 3 }); jQuery('.um-tip-w').tipsy({gravity: 'w', opacity: 1, live: 'a.live', offset: 3 }); jQuery('.um-tip-e').tipsy({gravity: 'e', opacity: 1, live: 'a.live', offset: 3 }); @@ -105,7 +105,7 @@ jQuery(document).ready(function() { return false; }); - jQuery( document.body ).on('click', 'a.um-manual-trigger', function(){ + jQuery( document.body ).on('click', 'a.um-manual-trigger', function() { var child = jQuery(this).attr('data-child'); var parent = jQuery(this).attr('data-parent'); jQuery(this).parents( parent ).find( child ).trigger('click'); @@ -115,24 +115,35 @@ jQuery(document).ready(function() { jQuery('.um-s1,.um-s2').css({'display':'block'}); - // if( jQuery(".um-s1").length > 0 ){ - // jQuery(".um-s1").each(function () { - // var select = jQuery(this); - // if( select.val() === '' && select.attr('data-default') ) { - // select.val(select.attr('data-default')); - // } - // }); - // } + /** + * Unselect empty option if something is selected + * + * @since 2.1.16 + * @param {object} e + * @returns {undefined} + */ + function unselectEmptyOption( e ) { + var $element = jQuery( e.currentTarget ); + var $selected = $element.find(':selected'); + if ( $selected.length > 1 ) { + $selected.each( function ( i, option ) { + if ( option.value === '' ) { + option.selected = false; + $element.trigger( 'change' ); + } + }); + } + } - if( typeof(jQuery.fn.select2) === "function" ){ + if ( typeof( jQuery.fn.select2 ) === 'function' ) { jQuery(".um-s1").select2({ allowClear: true - }); + }).on( 'change', unselectEmptyOption ); jQuery(".um-s2").select2({ allowClear: false, minimumResultsForSearch: 10 - }); + }).on( 'change', unselectEmptyOption ); jQuery(".um-s3").select2({ allowClear: false, @@ -142,15 +153,21 @@ jQuery(document).ready(function() { init_tipsy(); - if ( typeof( jQuery.fn.um_raty ) === "function" ) { + if ( typeof( jQuery.fn.um_raty ) === 'function' ) { jQuery('.um-rating').um_raty({ - half: false, - starType: 'i', - number: function() {return jQuery(this).attr('data-number');}, - score: function() {return jQuery(this).attr('data-score');}, - scoreName: function(){return jQuery(this).attr('data-key');}, - hints: false, - click: function( score, evt ) { + half: false, + starType: 'i', + number: function() { + return jQuery(this).attr('data-number'); + }, + score: function() { + return jQuery(this).attr('data-score'); + }, + scoreName: function() { + return jQuery(this).attr('data-key'); + }, + hints: false, + click: function( score, evt ) { um_live_field = this.id; um_live_value = score; um_apply_conditions( jQuery(this), false ); @@ -158,17 +175,23 @@ jQuery(document).ready(function() { }); jQuery('.um-rating-readonly').um_raty({ - half: false, - starType: 'i', - number: function() {return jQuery(this).attr('data-number');}, - score: function() {return jQuery(this).attr('data-score');}, - scoreName: function(){return jQuery(this).attr('data-key');}, - hints: false, - readOnly: true + half: false, + starType: 'i', + number: function() { + return jQuery(this).attr('data-number'); + }, + score: function() { + return jQuery(this).attr('data-score'); + }, + scoreName: function() { + return jQuery(this).attr('data-key'); + }, + hints: false, + readOnly: true }); } - jQuery(document).on('change', '.um-field-area input[type="radio"]', function(){ + jQuery(document).on('change', '.um-field-area input[type="radio"]', function() { var field = jQuery(this).parents('.um-field-area'); var this_field = jQuery(this).parents('label'); field.find('.um-field-radio').removeClass('active'); @@ -177,7 +200,7 @@ jQuery(document).ready(function() { this_field.find('i').removeAttr('class').addClass('um-icon-android-radio-button-on'); }); - jQuery(document).on('change', '.um-field-area input[type="checkbox"]', function(){ + jQuery(document).on('change', '.um-field-area input[type="checkbox"]', function() { var this_field = jQuery(this).parents('label'); if ( this_field.hasClass('active') ) { this_field.removeClass('active'); @@ -191,7 +214,7 @@ jQuery(document).ready(function() { um_init_datetimepicker(); - jQuery(document).on('click', '.um .um-single-image-preview a.cancel', function(e){ + jQuery(document).on('click', '.um .um-single-image-preview a.cancel', function( e ) { e.preventDefault(); var parent = jQuery(this).parents('.um-field'); @@ -224,7 +247,7 @@ jQuery(document).ready(function() { return false; }); - jQuery(document).on('click', '.um .um-single-file-preview a.cancel', function(e) { + jQuery(document).on('click', '.um .um-single-file-preview a.cancel', function( e ) { e.preventDefault(); var parent = jQuery(this).parents('.um-field'); var filename = parent.find( 'input[type="hidden"]#' + parent.data('key') + '-' + jQuery(this).parents('form').find('input[type="hidden"][name="form_id"]').val() ).val(); @@ -254,7 +277,7 @@ jQuery(document).ready(function() { return false; }); - jQuery(document).on('click', '.um-field-group-head:not(.disabled)', function(){ + jQuery(document).on('click', '.um-field-group-head:not(.disabled)', function() { var field = jQuery(this).parents('.um-field-group'); var limit = field.data('max_entries'); @@ -282,7 +305,7 @@ jQuery(document).ready(function() { } }); - jQuery(document).on('click', '.um-field-group-cancel', function(e){ + jQuery(document).on('click', '.um-field-group-cancel', function( e ) { e.preventDefault(); var field = jQuery(this).parents('.um-field-group'); @@ -302,7 +325,7 @@ jQuery(document).ready(function() { }); - jQuery( document.body ).on( 'click', '.um-ajax-paginate', function(e) { + jQuery( document.body ).on( 'click', '.um-ajax-paginate', function( e ) { e.preventDefault(); var obj = jQuery(this); @@ -385,7 +408,7 @@ jQuery(document).ready(function() { }); - jQuery(document).on('click', '.um-ajax-action', function(e){ + jQuery(document).on('click', '.um-ajax-action', function( e ) { e.preventDefault(); var hook = jQuery(this).data('hook'); var user_id = jQuery(this).data('user_id'); diff --git a/assets/js/um-scripts.min.js b/assets/js/um-scripts.min.js index 894fbdfa..d8a026fb 100644 --- a/assets/js/um-scripts.min.js +++ b/assets/js/um-scripts.min.js @@ -1 +1 @@ -function um_init_datetimepicker(){jQuery(".um-datepicker:not(.picker__input)").each(function(){var e=jQuery(this),t=!1;void 0!==e.attr("data-disabled_weekdays")&&""!==e.attr("data-disabled_weekdays")&&(t=JSON.parse(e.attr("data-disabled_weekdays")));var a=null;void 0!==e.attr("data-years")&&(a=e.attr("data-years"));var i=e.attr("data-date_min"),r=e.attr("data-date_max"),n=[],u=[];void 0!==i&&(n=i.split(",")),void 0!==r&&(u=r.split(","));var o=n.length?new Date(n):null,s=n.length?new Date(u):null;if(o&&"Invalid Date"==o.toString()&&3==n.length){var d=n[1]+"/"+n[2]+"/"+n[0];o=new Date(Date.parse(d))}if(s&&"Invalid Date"==s.toString()&&3==u.length){var l=u[1]+"/"+u[2]+"/"+u[0];s=new Date(Date.parse(l))}var m={disable:t,format:e.attr("data-format"),formatSubmit:"yyyy/mm/dd",hiddenName:!0,onOpen:function(){e.blur()},onClose:function(){e.blur()}};null!==a&&(m.selectYears=a),null!==o&&(m.min=o),null!==s&&(m.max=s),e.pickadate(m)}),jQuery(".um-timepicker:not(.picker__input)").each(function(){var e=jQuery(this);e.pickatime({format:e.attr("data-format"),interval:parseInt(e.attr("data-intervals")),formatSubmit:"HH:i",hiddenName:!0,onOpen:function(){e.blur()},onClose:function(){e.blur()}})})}function init_tipsy(){"function"==typeof jQuery.fn.tipsy&&(jQuery(".um-tip-n").tipsy({gravity:"n",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-w").tipsy({gravity:"w",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-e").tipsy({gravity:"e",opacity:1,live:"a.live",offset:3}),jQuery(".um-tip-s").tipsy({gravity:"s",opacity:1,live:"a.live",offset:3}))}jQuery(document).ready(function(){jQuery(document.body).on("click",".um-dropdown a.real_url",function(){window.location=jQuery(this).attr("href")}),jQuery(document.body).on("click",".um-trigger-menu-on-click",function(){return jQuery(".um-dropdown").hide(),jQuery(this).find(".um-dropdown").show(),!1}),jQuery(document.body).on("click",".um-dropdown-hide",function(){return UM_hide_menus(),!1}),jQuery(document.body).on("click","a.um-manual-trigger",function(){var e=jQuery(this).attr("data-child"),t=jQuery(this).attr("data-parent");return jQuery(this).parents(t).find(e).trigger("click"),UM_hide_menus(),!1}),jQuery(".um-s1,.um-s2").css({display:"block"}),"function"==typeof jQuery.fn.select2&&(jQuery(".um-s1").select2({allowClear:!0}),jQuery(".um-s2").select2({allowClear:!1,minimumResultsForSearch:10}),jQuery(".um-s3").select2({allowClear:!1,minimumResultsForSearch:-1})),init_tipsy(),"function"==typeof jQuery.fn.um_raty&&(jQuery(".um-rating").um_raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,click:function(e,t){um_live_field=this.id,um_live_value=e,um_apply_conditions(jQuery(this),!1)}}),jQuery(".um-rating-readonly").um_raty({half:!1,starType:"i",number:function(){return jQuery(this).attr("data-number")},score:function(){return jQuery(this).attr("data-score")},scoreName:function(){return jQuery(this).attr("data-key")},hints:!1,readOnly:!0})),jQuery(document).on("change",'.um-field-area input[type="radio"]',function(){var e=jQuery(this).parents(".um-field-area"),t=jQuery(this).parents("label");e.find(".um-field-radio").removeClass("active"),e.find(".um-field-radio").find("i").removeAttr("class").addClass("um-icon-android-radio-button-off"),t.addClass("active"),t.find("i").removeAttr("class").addClass("um-icon-android-radio-button-on")}),jQuery(document).on("change",'.um-field-area input[type="checkbox"]',function(){var e=jQuery(this).parents("label");e.hasClass("active")?(e.removeClass("active"),e.find("i").removeAttr("class").addClass("um-icon-android-checkbox-outline-blank")):(e.addClass("active"),e.find("i").removeAttr("class").addClass("um-icon-android-checkbox-outline"))}),um_init_datetimepicker(),jQuery(document).on("click",".um .um-single-image-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),a=t.find('input[type="hidden"]#'+t.data("key")+"-"+jQuery(this).parents("form").find('input[type="hidden"][name="form_id"]').val()).val(),i=jQuery(this).parents(".um-field").find(".um-single-image-preview img").attr("src"),r=t.data("mode"),n={data:{mode:r,filename:a,src:i,nonce:um_scripts.nonce},success:function(){t.find(".um-single-image-preview img").attr("src",""),t.find(".um-single-image-preview").hide(),t.find(".um-btn-auto-width").html(t.data("upload-label")),t.find("input[type=hidden]").val("empty_file")}};return"register"!==r&&(n.data.user_id=jQuery(this).parents("form").find("#user_id").val()),wp.ajax.send("um_remove_file",n),!1}),jQuery(document).on("click",".um .um-single-file-preview a.cancel",function(e){e.preventDefault();var t=jQuery(this).parents(".um-field"),a=t.find('input[type="hidden"]#'+t.data("key")+"-"+jQuery(this).parents("form").find('input[type="hidden"][name="form_id"]').val()).val(),i=jQuery(this).parents(".um-field").find(".um-single-fileinfo a").attr("href"),r=t.data("mode"),n={data:{mode:r,filename:a,src:i,nonce:um_scripts.nonce},success:function(){t.find(".um-single-file-preview").hide(),t.find(".um-btn-auto-width").html(t.data("upload-label")),t.find("input[type=hidden]").val("empty_file")}};return"register"!==r&&(n.data.user_id=jQuery(this).parents("form").find("#user_id").val()),wp.ajax.send("um_remove_file",n),!1}),jQuery(document).on("click",".um-field-group-head:not(.disabled)",function(){var e=jQuery(this).parents(".um-field-group"),t=e.data("max_entries");e.find(".um-field-group-body").is(":hidden")?e.find(".um-field-group-body").show():e.find(".um-field-group-body:first").clone().appendTo(e);var a=0;e.find(".um-field-group-body").each(function(){a++,jQuery(this).find("input").each(function(){var e=jQuery(this);e.attr("id",e.data("key")+"-"+a),e.attr("name",e.data("key")+"-"+a),e.parent().parent().find("label").attr("for",e.data("key")+"-"+a)})}),0