PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.0.0
GiveWP – Donation Plugin and Fundraising Platform v2.0.0
4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / assets / js / admin / admin-settings.js
give / assets / js / admin Last commit date
tinymce 9 years ago admin-forms.js 8 years ago admin-forms.min.js 8 years ago admin-scripts.js 8 years ago admin-scripts.min.js 8 years ago admin-settings.js 8 years ago admin-settings.min.js 8 years ago admin-shortcodes.js 9 years ago admin-shortcodes.min.js 9 years ago admin-widgets.js 8 years ago admin-widgets.min.js 8 years ago
admin-settings.js
152 lines
1 /*!
2 * Give Admin Forms JS
3 *
4 * @description: The Give Admin Settings scripts. Only enqueued on the give-settings page; used for tabs and other show/hide functionality
5 * @package: Give
6 * @since: 1.5
7 * @subpackage: Assets/JS
8 * @copyright: Copyright (c) 2016, WordImpress
9 * @license: http://opensource.org/licenses/gpl-2.0.php GNU Public License
10 */
11
12 jQuery.noConflict();
13 jQuery(document).ready(function ($) {
14
15 /**
16 * Sortable payment gateways.
17 */
18 var $payment_gateways = jQuery( 'ul.give-payment-gatways-list' );
19 if( $payment_gateways.length ){
20 $payment_gateways.sortable();
21 }
22
23 /**
24 * Set payment gateway list under default payment gaetway option
25 */
26 var $payment_gateway_list_item = $('input', $payment_gateways),
27 $default_gateway = $('#default_gateway');
28 $payment_gateway_list_item.on('click', function () {
29
30 // Bailout.
31 if( $(this)[0].hasAttribute( 'readonly' ) ) {
32 return false;
33 }
34
35 // Selectors.
36 var saved_default_gateway = $default_gateway.val(),
37 active_payment_option_html = '',
38 $active_payment_gateways = $('input:checked', $payment_gateways);
39
40 // Set last active payment gateways to readonly.
41 if( 1 === $active_payment_gateways.length ){
42 $active_payment_gateways.prop( 'readonly', true );
43 }else{
44 $('input[readonly]:checked', $payment_gateways ).removeAttr('readonly');
45 }
46
47 // Create option html from active payment gateway list.
48 $active_payment_gateways.each(function (index, item) {
49 item = $(item);
50 var item_value = item.attr('name').match(/\[(.*?)\]/)[1];
51
52 active_payment_option_html += '<option value="' + item_value + '"';
53
54 if (saved_default_gateway === item_value) {
55 active_payment_option_html += ' selected="selected"';
56 }
57
58 active_payment_option_html += '>' + item.next('label').text() + '</option>';
59 });
60
61 // Update select html.
62 $default_gateway.html(active_payment_option_html);
63 });
64
65 /**
66 * Repeater setting field event.
67 */
68 $( 'a.give-repeat-setting-field' ).on( 'click', function(e){
69 e.preventDefault();
70 var $parent = $(this).parents('td'),
71 $first_setting_field_group = $( 'p:first-child', $parent ),
72 $new_setting_field_group = $first_setting_field_group.clone(),
73 setting_field_count = $( 'p', $parent ).not('.give-field-description').length,
74 fieldID = $(this).data('id') + '_' + (++setting_field_count),
75 $prev_field = $(this).prev();
76
77 // Create new field only if previous is non empty.
78 if( $( 'input', $prev_field ).val() ) {
79 // Add setting field html to dom.
80 $(this).before( $new_setting_field_group );
81 $prev_field = $(this).prev();
82
83 // Set id and value for setting field.
84 $( 'input', $prev_field ).attr( 'id', fieldID );
85 $( 'input', $prev_field ).val( '' );
86 }
87
88 return false;
89 });
90
91 $( '.give-settings-page' ).on( 'click', 'span.give-remove-setting-field', function(e){
92 $(this).parents('p').remove();
93 });
94
95 /**
96 * Enabled & disable email notification event.
97 */
98 $( '.give-email-notification-status', 'table.giveemailnotifications' ).on( 'click', function(){
99 var $this = $(this),
100 $icon_container = $('i', $this),
101 $loader = $(this).next(),
102 set_notification_status = $(this).hasClass( 'give-email-notification-enabled' ) ? 'disabled' : 'enabled',
103 notification_id = $(this).data('id');
104
105 // Bailout if admin can not edit notification status setting.
106 if( ! parseInt( $this.data('edit') ) ) {
107 // Remove all notice.
108 $('div.give-email-notification-status-notice').remove();
109
110 // Add notice.
111 $('hr.wp-header-end').after('<div class="updated error give-email-notification-status-notice"><p>' + $(this).closest('.give-email-notification-status').data('notice') + '</p></div>');
112
113 // Scroll to notice.
114 $('html, body').animate({scrollTop:$('div.give-email-notification-status-notice').position().top}, 'slow');
115
116 return false;
117 }
118
119 $.ajax({
120 url: ajaxurl,
121 method: 'POST',
122 data: {
123 action: 'give_set_notification_status',
124 status: set_notification_status,
125 notification_id: notification_id
126 },
127 beforeSend: function(){
128 $this.hide();
129 $loader.addClass('is-active');
130 },
131 success: function(res) {
132 if( res.success ) {
133 $this.removeClass( 'give-email-notification-' + $this.data('status') );
134 $this.addClass( 'give-email-notification-' + set_notification_status );
135 $this.data( 'status', set_notification_status );
136
137 if( 'enabled' === set_notification_status ) {
138 $icon_container.removeClass('dashicons-no-alt');
139 $icon_container.addClass('dashicons-yes');
140 } else{
141 $icon_container.removeClass('dashicons-yes');
142 $icon_container.addClass('dashicons-no-alt');
143 }
144
145 $loader.removeClass('is-active');
146 $this.show();
147 }
148 }
149 });
150 });
151 });
152