Files
ultimatemember/assets/js/um-scripts.js
T

290 lines
7.9 KiB
JavaScript
Raw Normal View History

2014-12-15 22:38:07 +02:00
jQuery(document).ready(function() {
2015-01-15 17:15:12 +02:00
2014-12-29 15:51:55 +02:00
jQuery(document).on('click', '.um-dropdown a', function(e){
return false;
});
2015-12-28 13:58:04 -08:00
2015-01-05 01:33:17 +02:00
jQuery(document).on('click', '.um-dropdown a.real_url', function(e){
window.location = jQuery(this).attr('href');
});
2015-01-15 17:15:12 +02:00
2014-12-29 15:51:55 +02:00
jQuery(document).on('click', '.um-trigger-menu-on-click', function(e){
jQuery('.um-dropdown').hide();
menu = jQuery(this).find('.um-dropdown');
menu.show();
return false;
});
2015-01-15 17:15:12 +02:00
2014-12-29 15:51:55 +02:00
jQuery(document).on('click', '.um-dropdown-hide', function(e){
2015-01-05 01:33:17 +02:00
UM_hide_menus();
2014-12-29 15:51:55 +02:00
});
2015-01-15 17:15:12 +02:00
2014-12-29 15:51:55 +02:00
jQuery(document).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');
});
2015-01-15 17:15:12 +02:00
2015-11-05 19:51:31 +08:00
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 });
2015-01-15 17:15:12 +02:00
2015-05-05 18:06:39 +03:00
jQuery(document).on('change', '.um-field-area input[type=radio]', function(){
var field = jQuery(this).parents('.um-field-area');
2014-12-15 22:38:07 +02:00
var this_field = jQuery(this).parents('label');
field.find('.um-field-radio').removeClass('active');
2015-01-15 17:15:12 +02:00
field.find('.um-field-radio').find('i').removeClass().addClass('um-icon-android-radio-button-off');
2014-12-15 22:38:07 +02:00
this_field.addClass('active');
2015-01-15 17:15:12 +02:00
this_field.find('i').removeClass().addClass('um-icon-android-radio-button-on');
2014-12-15 22:38:07 +02:00
});
2015-01-15 17:15:12 +02:00
2015-05-05 18:06:39 +03:00
jQuery(document).on('change', '.um-field-area input[type=checkbox]', function(){
2015-12-28 13:58:04 -08:00
2015-05-05 18:06:39 +03:00
var field = jQuery(this).parents('.um-field-area');
2014-12-15 22:38:07 +02:00
var this_field = jQuery(this).parents('label');
if ( this_field.hasClass('active') ) {
this_field.removeClass('active');
2015-01-15 17:15:12 +02:00
this_field.find('i').removeClass().addClass('um-icon-android-checkbox-outline-blank');
2014-12-15 22:38:07 +02:00
} else {
this_field.addClass('active');
2015-01-15 17:15:12 +02:00
this_field.find('i').removeClass().addClass('um-icon-android-checkbox-outline');
2014-12-15 22:38:07 +02:00
}
});
2015-01-15 17:15:12 +02:00
2014-12-31 20:04:10 +02:00
jQuery('.um-datepicker').each(function(){
elem = jQuery(this);
2015-04-07 20:10:23 +02:00
2014-12-31 20:04:10 +02:00
if ( elem.attr('data-disabled_weekdays') != '' ) {
var disable = JSON.parse( elem.attr('data-disabled_weekdays') );
} else {
var disable = false;
}
2015-04-07 20:10:23 +02:00
2015-01-18 22:29:52 +02:00
var years_n = elem.attr('data-years');
2015-12-28 13:58:04 -08:00
2015-04-07 20:10:23 +02:00
var min = elem.attr('data-date_min');
var max = elem.attr('data-date_max');
2015-01-18 22:29:52 +02:00
2015-12-28 13:58:04 -08:00
var min = min.length ? new Date(min.split(",")) : null;
var max = max.length ? new Date(max.split(",")) : null;
2014-12-31 20:04:10 +02:00
elem.pickadate({
2015-01-18 22:29:52 +02:00
selectYears: years_n,
2014-12-31 20:04:10 +02:00
min: min,
max: max,
disable: disable,
format: elem.attr('data-format'),
formatSubmit: 'yyyy/mm/dd',
2015-04-07 20:10:23 +02:00
hiddenName: true,
onOpen: function() { elem.blur(); },
onClose: function() { elem.blur(); }
2014-12-31 20:04:10 +02:00
});
2014-12-15 22:38:07 +02:00
});
2015-01-05 01:33:17 +02:00
jQuery('.um-timepicker').each(function(){
elem = jQuery(this);
2015-12-28 13:58:04 -08:00
2015-01-05 01:33:17 +02:00
elem.pickatime({
format: elem.attr('data-format'),
interval: parseInt( elem.attr('data-intervals') ),
formatSubmit: 'HH:i',
2015-04-07 20:10:23 +02:00
hiddenName: true,
onOpen: function() { elem.blur(); },
onClose: function() { elem.blur(); }
2015-01-05 01:33:17 +02:00
});
2014-12-15 22:38:07 +02:00
});
2015-01-15 17:15:12 +02:00
2014-12-15 22:38:07 +02:00
jQuery('.um-rating').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) {
live_field = this.id;
live_value = score;
um_conditional();
}
});
2015-01-15 17:15:12 +02:00
2014-12-15 22:38:07 +02:00
jQuery('.um-rating-readonly').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
});
2015-01-15 17:15:12 +02:00
jQuery(document).on('click', '.um .um-single-image-preview a.cancel', function(e){
2014-12-15 22:38:07 +02:00
e.preventDefault();
var parent = jQuery(this).parents('.um-field');
2015-01-22 18:36:29 +02:00
var src = jQuery(this).parents('.um-field').find('.um-single-image-preview img').attr('src');
2015-01-03 15:31:15 +02:00
parent.find('.um-single-image-preview img').attr('src','');
parent.find('.um-single-image-preview').hide();
parent.find('.um-btn-auto-width').html('Upload');
2014-12-30 20:18:29 +02:00
parent.find('input[type=hidden]').val('');
2015-12-28 13:58:04 -08:00
2015-01-22 18:36:29 +02:00
jQuery.ajax({
2015-04-07 20:10:23 +02:00
url: um_scripts.ajaxurl,
2015-01-22 18:36:29 +02:00
type: 'post',
data: {
action: 'ultimatemember_remove_file',
src: src
}
});
2015-12-28 13:58:04 -08:00
2014-12-15 22:38:07 +02:00
return false;
});
2015-01-15 17:15:12 +02:00
2014-12-29 15:51:55 +02:00
jQuery(document).on('click', '.um .um-single-file-preview a.cancel', function(e){
2014-12-15 22:38:07 +02:00
e.preventDefault();
2014-12-29 15:51:55 +02:00
var parent = jQuery(this).parents('.um-field');
2015-01-22 18:36:29 +02:00
var src = jQuery(this).parents('.um-field').find('.um-single-fileinfo a').attr('href');
2014-12-29 15:51:55 +02:00
parent.find('.um-single-file-preview').hide();
parent.find('.um-btn-auto-width').html('Upload');
2014-12-30 20:18:29 +02:00
parent.find('input[type=hidden]').val('');
2015-12-28 13:58:04 -08:00
2015-01-22 18:36:29 +02:00
jQuery.ajax({
2015-04-07 20:10:23 +02:00
url: um_scripts.ajaxurl,
2015-01-22 18:36:29 +02:00
type: 'post',
data: {
action: 'ultimatemember_remove_file',
src: src
}
});
2015-12-28 13:58:04 -08:00
2014-12-15 22:38:07 +02:00
return false;
});
2015-01-15 17:15:12 +02:00
2015-12-28 13:58:04 -08:00
2016-01-26 15:50:12 +08:00
jQuery('.um-s1,.um-s2').each(function(){
elem = jQuery(this);
var max_entries = elem.data('maxsize');
var select_options = {
minimumResultsForSearch: 5
};
if( max_entries > 0 ){
select_options.maximumSelectionLength = max_entries;
}
2015-12-28 13:58:04 -08:00
2016-01-26 15:50:12 +08:00
if( elem.hasClass('um-s1') ){
select_options.allowClear = true;
}else if( elem.hasClass('um-s2') ){
select_options.allowClear = false;
}
elem.select2(select_options);
elem.css({'display':'block'});
});
2015-01-15 17:15:12 +02:00
2014-12-15 22:38:07 +02:00
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');
2015-12-28 13:58:04 -08:00
2014-12-15 22:38:07 +02:00
if ( field.find('.um-field-group-body').is(':hidden')){
field.find('.um-field-group-body').show();
} else {
field.find('.um-field-group-body:first').clone().appendTo( field );
}
2015-12-28 13:58:04 -08:00
2014-12-15 22:38:07 +02:00
increase_id = 0;
field.find('.um-field-group-body').each(function(){
increase_id++;
jQuery(this).find('input').each(function(){
var input = jQuery(this);
input.attr('id', input.data('key') + '-' + increase_id );
input.attr('name', input.data('key') + '-' + increase_id );
input.parent().parent().find('label').attr('for', input.data('key') + '-' + increase_id );
});
});
2015-12-28 13:58:04 -08:00
2014-12-15 22:38:07 +02:00
if ( limit > 0 && field.find('.um-field-group-body').length == limit ) {
2015-12-28 13:58:04 -08:00
2014-12-15 22:38:07 +02:00
jQuery(this).addClass('disabled');
2015-12-28 13:58:04 -08:00
2014-12-15 22:38:07 +02:00
}
2015-12-28 13:58:04 -08:00
2014-12-15 22:38:07 +02:00
});
2015-01-15 17:15:12 +02:00
2014-12-15 22:38:07 +02:00
jQuery(document).on('click', '.um-field-group-cancel', function(e){
e.preventDefault();
var field = jQuery(this).parents('.um-field-group');
2015-12-28 13:58:04 -08:00
2014-12-15 22:38:07 +02:00
var limit = field.data('max_entries');
2015-12-28 13:58:04 -08:00
2014-12-15 22:38:07 +02:00
if ( field.find('.um-field-group-body').length > 1 ) {
jQuery(this).parents('.um-field-group-body').remove();
} else {
jQuery(this).parents('.um-field-group-body').hide();
}
2015-12-28 13:58:04 -08:00
2014-12-15 22:38:07 +02:00
if ( limit > 0 && field.find('.um-field-group-body').length < limit ) {
field.find('.um-field-group-head').removeClass('disabled');
}
2015-12-28 13:58:04 -08:00
2014-12-15 22:38:07 +02:00
return false;
});
2015-12-28 13:58:04 -08:00
2015-01-25 19:59:18 +02:00
jQuery(document).on('click', '.um-ajax-paginate', function(e){
e.preventDefault();
var parent = jQuery(this).parent();
parent.addClass('loading');
var args = jQuery(this).data('args');
var hook = jQuery(this).data('hook');
var container = jQuery(this).parents('.um').find('.um-ajax-items');
jQuery.ajax({
2015-04-07 20:10:23 +02:00
url: um_scripts.ajaxurl,
2015-01-25 19:59:18 +02:00
type: 'post',
data: {
action: 'ultimatemember_ajax_paginate',
hook: hook,
args: args
},
complete: function(){
parent.removeClass('loading');
},
success: function(data){
parent.remove();
container.append( data );
}
});
return false;
});
2015-12-28 13:58:04 -08:00
2015-01-24 23:39:43 +02:00
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');
var arguments = jQuery(this).data('arguments');
2015-12-28 13:58:04 -08:00
2015-01-24 23:39:43 +02:00
if ( jQuery(this).data('js-remove') ){
jQuery(this).parents('.'+jQuery(this).data('js-remove')).fadeOut('fast');
}
2015-12-28 13:58:04 -08:00
2015-01-24 23:39:43 +02:00
jQuery.ajax({
2015-04-07 20:10:23 +02:00
url: um_scripts.ajaxurl,
2015-01-24 23:39:43 +02:00
type: 'post',
data: {
action: 'ultimatemember_muted_action',
hook: hook,
user_id: user_id,
arguments: arguments
},
success: function(data){
}
});
return false;
});
2014-12-15 22:38:07 +02:00
2015-12-28 13:58:04 -08:00
});