PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.7.2
Independent Analytics – WordPress Analytics Plugin v2.7.2
2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / javascript-source / modules / email-reports.js
independent-analytics / javascript-source / modules Last commit date
duplicate-field.js 2 years ago email-reports.js 2 years ago notices.js 2 years ago scroll-to-top.js 2 years ago sticky-sidebar.js 2 years ago support.js 2 years ago user-roles.js 1 year ago
email-reports.js
102 lines
1 const $ = jQuery;
2
3 const EmailReports = {
4 setup: function() {
5 var self = this;
6 this.disableTestButtonIfEmpty();
7 $('.email-reports .new-address input').on('change', function() {
8 $('#test-email').attr('disabled', true);
9 });
10 $('.email-reports .saved .remove').on('click', function() {
11 self.disableTestButtonIfEmpty();
12 });
13
14 // Show the correct interval note
15 $('#' + $('#iawp_email_report_interval').val() + '-interval-note').show();
16 // Change which note is visible based on selected interval
17 $('#iawp_email_report_interval').on('change', function() {
18 $('.interval-note').hide();
19 $('#' + $(this).val() + '-interval-note').show();
20 })
21
22 var savedColors = $('#iawp_email_report_colors');
23 const colorPickers = $('.iawp-color-picker');
24 var options = {
25 change: function(event, ui) {
26 var colors = [];
27 colorPickers.each(function() {
28 colors.push($(this).iris('color'));
29 });
30 savedColors.val(colors.join(','));
31 }
32 };
33 colorPickers.each(function(){
34 $(this).wpColorPicker(options);
35 });
36 $('#test-email').on('click', function(e){
37 e.preventDefault();
38 self.sendTestEmail();
39 });
40 $('#preview-email').on('click', function(e){
41 e.preventDefault();
42 self.previewEmail(savedColors.val());
43 });
44 $('#close-email-preview').on('click', function(e) {
45 e.preventDefault();
46 $('#email-preview-container').removeClass('visible');
47 $('#email-preview').html('');
48 })
49 },
50 disableTestButtonIfEmpty: function() {
51 if ( $('.email-reports .saved input').length == 0) {
52 $('#test-email').attr('disabled', true);
53 }
54 },
55 sendTestEmail: function() {
56 const data = {
57 ...iawpActions.test_email
58 };
59
60 $('#test-email').addClass('sending');
61
62 jQuery.post(ajaxurl, data, function (response) {
63 $('#test-email').removeClass('sending');
64 if (response) {
65 $('#test-email').addClass('sent');
66 } else {
67 $('#test-email').addClass('failed');
68 }
69
70 setTimeout(function() {
71 $('#test-email').removeClass('sent failed');
72 }, 1000)
73
74 });
75 },
76 previewEmail: function(colors) {
77 const data = {
78 ...iawpActions.preview_email,
79 colors
80 };
81
82 $('#preview-email').addClass('sending');
83
84 jQuery.post(ajaxurl, data, function (response) {
85 $('#preview-email').removeClass('sending');
86 if (response.success) {
87 $('#preview-email').addClass('sent');
88 $('#email-preview').html(response.data.html);
89 $('#email-preview-container').addClass('visible');
90 } else {
91 $('#preview-email').addClass('failed');
92 }
93
94 setTimeout(function() {
95 $('#preview-email').removeClass('sent failed');
96 }, 1000)
97
98 });
99 }
100 }
101
102 export { EmailReports };