PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.14.10
Independent Analytics – WordPress Analytics Plugin v2.14.10
2.15.0 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
date-picker.js 1 year ago duplicate-field.js 1 year ago email-reports.js 2 months ago module-markup.js 3 months ago notices.js 1 year ago overview.js 9 months ago scroll-to-top.js 2 years ago sticky-sidebar.js 2 years ago support.js 3 months ago user-roles.js 1 year ago
email-reports.js
127 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.toggleModal();
39 });
40 $('.modal-background').on('click', function() {
41 if ($('#email-test-modal').hasClass('show')) {
42 self.toggleModal();
43 }
44 });
45 $('#cancel-test-email').on('click', function() {
46 self.toggleModal();
47 });
48 $('#send-test-email').on('click', function(e){
49 e.preventDefault();
50 var recipient = $('input[name="email-recipient"]:checked').val();
51 self.sendTestEmail(recipient);
52 self.toggleModal();
53 });
54 $('#preview-email').on('click', function(e){
55 e.preventDefault();
56 self.previewEmail(savedColors.val());
57 });
58 $('#close-email-preview').on('click', function(e) {
59 e.preventDefault();
60 $('#email-preview-container').removeClass('visible');
61 $('#email-preview').html('');
62 })
63 },
64 disableTestButtonIfEmpty: function() {
65 if ( $('.email-reports .saved input').length == 0) {
66 $('#test-email').attr('disabled', true);
67 }
68 },
69 sendTestEmail: function(recipient) {
70 const data = {
71 ...iawpActions.test_email,
72 'recipient': recipient
73 };
74
75 $('#test-email').addClass('sending');
76
77 jQuery.post(ajaxurl, data, function (response) {
78 $('#test-email').removeClass('sending');
79 if (response) {
80 $('#test-email').addClass('sent');
81 } else {
82 $('#test-email').addClass('failed');
83 }
84
85 setTimeout(function() {
86 $('#test-email').removeClass('sent failed');
87 }, 1000)
88
89 });
90 },
91 previewEmail: function(colors) {
92 const data = {
93 ...iawpActions.preview_email,
94 colors
95 };
96
97 $('#preview-email').addClass('sending');
98
99 jQuery.post(ajaxurl, data, function (response) {
100 $('#preview-email').removeClass('sending');
101 if (response.success) {
102 $('#preview-email').addClass('sent');
103 $('#email-preview').html(response.data.html);
104 $('#email-preview-container').addClass('visible');
105 } else {
106 $('#preview-email').addClass('failed');
107 }
108
109 setTimeout(function() {
110 $('#preview-email').removeClass('sent failed');
111 }, 1000)
112
113 });
114 },
115 toggleModal: function() {
116 $('#email-test-modal').toggleClass('show');
117 $('#iawp-layout').toggleClass('modal-open');
118
119 if ($('#email-test-modal').hasClass('show')) {
120 $('#test-email').addClass('modal-opened');
121 } else {
122 $('#test-email').removeClass('modal-opened');
123 }
124 },
125 }
126
127 export { EmailReports };