cookie-ajax-setting.js
2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
jQuery(function () {
var cookie_setting = wpml_cookie_setting,
ajax_success_action = function (response, response_text) {
if (response.success) {
response_text.text(icl_ajx_saved);
} else {
response_text.text(icl_ajx_error);
}
response_text.show();
setTimeout(function () {
response_text.fadeOut('slow');
}, 2500);
},
openTooltip = function(triggerNode) {
var content = triggerNode.data('content');
jQuery('.js-wpml-cookie-active-tooltip').pointer('close');
if(triggerNode.length && content) {
triggerNode.addClass('js-wpml-cookie-active-tooltip');
triggerNode.pointer({
pointerClass : 'js-wpml-cookie-tooltip wpml-ls-tooltip',
content: content,
position: {
edge: 'bottom',
align: 'left'
},
show: function(event, t){
t.pointer.css('marginLeft', '-54px');
},
close: function(event, t){
t.pointer.css('marginLeft', '0');
},
buttons: function( event, t ) {
var button = jQuery('<a class="close" href="#"> </a>');
return button.on( 'click.pointer', function(e) {
e.preventDefault();
t.element.pointer('close');
});
}
}).pointer('open');
}
};
jQuery( '#' + cookie_setting.button_id ).click(function(){
var store_frontend_cookie = jQuery( 'input[name*="' + cookie_setting.field_name + '"]:checked' ).val(),
response_text = jQuery( '#' + cookie_setting.ajax_response_id ),
spinner = jQuery( '#js-store-frontend-cookie-spinner' );
spinner.addClass( 'is-active' );
jQuery.ajax({
url: ajaxurl,
type: 'POST',
data: {
action: cookie_setting.ajax_action,
nonce: jQuery( '#' + cookie_setting.nonce ).val(),
store_frontend_cookie: store_frontend_cookie
},
success: function ( response ) {
spinner.removeClass( 'is-active' );
ajax_success_action( response, response_text );
}
});
});
jQuery( '.js-wpml-cookie-tooltip-open' ).click( function( e ) {
e.preventDefault();
openTooltip( jQuery( this ) );
});
});