PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.0.4
GiveWP – Donation Plugin and Fundraising Platform v2.0.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
176 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 * Change currency position symbol on changing the currency
67 */
68 var give_settings_currency = '#give-mainform #currency';
69 var give_settings_position = '#give-mainform #currency_position';
70 $( 'body' ).on( 'change', give_settings_currency, function () {
71 var currency_text = $( give_settings_currency + ' option:selected' ).text(),
72 currency_sign = currency_text.split( '(' ).pop().split( ')' ).shift();
73
74 if ( '' === currency_sign ) {
75 currency_sign = give_vars.currency_sign;
76 }
77
78 var before_text = $( give_settings_position ).data( 'before-template' );
79 before_text = before_text.replace( '{currency_pos}', currency_sign );
80 $( give_settings_position + ' option[value="before"]' ).text( before_text );
81
82
83 var after_text = $( give_settings_position ).data( 'after-template' );
84 after_text = after_text.replace( '{currency_pos}', currency_sign );
85 $( give_settings_position + ' option[value="after"]' ).text( after_text );
86
87 } );
88
89 /**
90 * Repeater setting field event.
91 */
92 $( 'a.give-repeat-setting-field' ).on( 'click', function(e){
93 e.preventDefault();
94 var $parent = $(this).parents('td'),
95 $first_setting_field_group = $( 'p:first-child', $parent ),
96 $new_setting_field_group = $first_setting_field_group.clone(),
97 setting_field_count = $( 'p', $parent ).not('.give-field-description').length,
98 fieldID = $(this).data('id') + '_' + (++setting_field_count),
99 $prev_field = $(this).prev();
100
101 // Create new field only if previous is non empty.
102 if( $( 'input', $prev_field ).val() ) {
103 // Add setting field html to dom.
104 $(this).before( $new_setting_field_group );
105 $prev_field = $(this).prev();
106
107 // Set id and value for setting field.
108 $( 'input', $prev_field ).attr( 'id', fieldID );
109 $( 'input', $prev_field ).val( '' );
110 }
111
112 return false;
113 });
114
115 $( '.give-settings-page' ).on( 'click', 'span.give-remove-setting-field', function(e){
116 $(this).parents('p').remove();
117 });
118
119 /**
120 * Enabled & disable email notification event.
121 */
122 $( '.give-email-notification-status', 'table.giveemailnotifications' ).on( 'click', function(){
123 var $this = $(this),
124 $icon_container = $('i', $this),
125 $loader = $(this).next(),
126 set_notification_status = $(this).hasClass( 'give-email-notification-enabled' ) ? 'disabled' : 'enabled',
127 notification_id = $(this).data('id');
128
129 // Bailout if admin can not edit notification status setting.
130 if( ! parseInt( $this.data('edit') ) ) {
131 // Remove all notice.
132 $('div.give-email-notification-status-notice').remove();
133
134 // Add notice.
135 $('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>');
136
137 // Scroll to notice.
138 $('html, body').animate({scrollTop:$('div.give-email-notification-status-notice').position().top}, 'slow');
139
140 return false;
141 }
142
143 $.ajax({
144 url: ajaxurl,
145 method: 'POST',
146 data: {
147 action: 'give_set_notification_status',
148 status: set_notification_status,
149 notification_id: notification_id
150 },
151 beforeSend: function(){
152 $this.hide();
153 $loader.addClass('is-active');
154 },
155 success: function(res) {
156 if( res.success ) {
157 $this.removeClass( 'give-email-notification-' + $this.data('status') );
158 $this.addClass( 'give-email-notification-' + set_notification_status );
159 $this.data( 'status', set_notification_status );
160
161 if( 'enabled' === set_notification_status ) {
162 $icon_container.removeClass('dashicons-no-alt');
163 $icon_container.addClass('dashicons-yes');
164 } else{
165 $icon_container.removeClass('dashicons-yes');
166 $icon_container.addClass('dashicons-no-alt');
167 }
168
169 $loader.removeClass('is-active');
170 $this.show();
171 }
172 }
173 });
174 });
175 });
176