PHP 8.2.31
Preview: api-keys.js Size: 3.89 KB
/home/nshryvcy/radiantskinclinics.org/wp-content/plugins/woocommerce/assets/js/admin/api-keys.js

/*global jQuery, Backbone, _, woocommerce_admin_api_keys, wcSetClipboard, wcClearClipboard */
(function( $ ) {

	var APIView = Backbone.View.extend({
		/**
		 * Element
		 *
		 * @param {Object} '#key-fields'
		 */
		el: $( '#key-fields' ),

		/**
		 * Events
		 *
		 * @type {Object}
		 */
		events: {
			'click input#update_api_key': 'saveKey'
		},

		/**
		 * Initialize actions
		 */
		initialize: function(){
			_.bindAll( this, 'saveKey' );
		},

		/**
		 * Init jQuery.BlockUI
		 */
		block: function() {
			$( this.el ).block({
				message: null,
				overlayCSS: {
					background: '#fff',
					opacity: 0.6
				}
			});
		},

		/**
		 * Remove jQuery.BlockUI
		 */
		unblock: function() {
			$( this.el ).unblock();
		},

		/**
		 * Init TipTip
		 */
		initTipTip: function( css_class ) {
			$( document.body )
				.on( 'click', css_class, function( evt ) {
					evt.preventDefault();
					if ( ! document.queryCommandSupported( 'copy' ) ) {
						$( css_class ).parent().find( 'input' ).trigger( 'focus' ).trigger( 'select' );
						$( '#copy-error' ).text( woocommerce_admin_api_keys.clipboard_failed );
					} else {
						$( '#copy-error' ).text( '' );
						wcClearClipboard();
						wcSetClipboard( $( this ).prev( 'input' ).val().trim(), $( css_class ) );
					}
				} )
				.on( 'aftercopy', css_class, function() {
					$( '#copy-error' ).text( '' );
					$( css_class ).tipTip( {
						'attribute':  'data-tip',
						'activation': 'focus',
						'fadeIn':     50,
						'fadeOut':    50,
						'delay':      0
					} ).trigger( 'focus' );
				} )
				.on( 'aftercopyerror', css_class, function() {
					$( css_class ).parent().find( 'input' ).trigger( 'focus' ).trigger( 'select' );
					$( '#copy-error' ).text( woocommerce_admin_api_keys.clipboard_failed );
				} );
		},

		/**
		 * Create qrcode
		 *
		 * @param {string} consumer_key
		 * @param {string} consumer_secret
		 */
		createQRCode: function( consumer_key, consumer_secret ) {
			$( '#keys-qrcode' ).qrcode({
				text: consumer_key + '|' + consumer_secret,
				width: 120,
				height: 120
			});
		},

		/**
		 * Save API Key using ajax
		 *
		 * @param {Object} e
		 */
		saveKey: function( e ) {
			e.preventDefault();

			var self = this;

			self.block();

			Backbone.ajax({
				method:   'POST',
				dataType: 'json',
				url:      woocommerce_admin_api_keys.ajax_url,
				data:     {
					action:      'woocommerce_update_api_key',
					security:    woocommerce_admin_api_keys.update_api_nonce,
					key_id:      $( '#key_id', self.el ).val(),
					description: $( '#key_description', self.el ).val(),
					user:        $( '#key_user', self.el ).val(),
					permissions: $( '#key_permissions', self.el ).val()
				},
				success: function( response ) {
					$( '.wc-api-message', self.el ).remove();

					if ( response.success ) {
						var data = response.data;

						$( 'h2, h3', self.el ).first().append( '<div class="wc-api-message updated"><p>' + data.message + '</p></div>' );

						if ( 0 < data.consumer_key.length && 0 < data.consumer_secret.length ) {
							$( '#api-keys-options', self.el ).remove();
							$( 'p.submit', self.el ).empty().append( data.revoke_url );

							var template = wp.template( 'api-keys-template' );

							$( 'p.submit', self.el ).before( template({
								consumer_key:    data.consumer_key,
								consumer_secret: data.consumer_secret
							}) );
							self.createQRCode( data.consumer_key, data.consumer_secret );
							self.initTipTip( '.copy-key' );
							self.initTipTip( '.copy-secret' );
						} else {
							$( '#key_description', self.el ).val( data.description );
							$( '#key_user', self.el ).val( data.user_id );
							$( '#key_permissions', self.el ).val( data.permissions );
						}
					} else {
						$( 'h2, h3', self.el )
							.first()
							.append( '<div class="wc-api-message error"><p>' + response.data.message + '</p></div>' );
					}

					self.unblock();
				}
			});
		}
	});

	new APIView();

})( jQuery );

Directory Contents

Dirs: 0 × Files: 70

Name Size Perms Modified Actions
3.89 KB lrw-r--r-- 2021-05-18 21:00:20
Edit Download
2.23 KB lrw-r--r-- 2023-07-18 23:53:36
Edit Download
4.35 KB lrw-r--r-- 2023-12-27 00:45:02
Edit Download
2.77 KB lrw-r--r-- 2023-12-27 00:45:02
Edit Download
16.84 KB lrw-r--r-- 2025-09-01 23:44:48
Edit Download
6.66 KB lrw-r--r-- 2025-09-01 23:44:48
Edit Download
2.99 KB lrw-r--r-- 2025-04-01 15:51:36
Edit Download
1.61 KB lrw-r--r-- 2025-04-01 15:51:36
Edit Download
54.51 KB lrw-r--r-- 2026-02-23 17:58:34
Edit Download
33.12 KB lrw-r--r-- 2026-02-23 17:58:34
Edit Download
42.26 KB lrw-r--r-- 2025-05-12 21:07:28
Edit Download
22.55 KB lrw-r--r-- 2025-05-12 21:07:28
Edit Download
37.39 KB lrw-r--r-- 2026-05-05 14:26:50
Edit Download
19.50 KB lrw-r--r-- 2026-05-05 14:26:50
Edit Download
4.95 KB lrw-r--r-- 2026-02-23 17:58:34
Edit Download
3.02 KB lrw-r--r-- 2026-02-23 17:58:34
Edit Download
2.34 KB lrw-r--r-- 2018-05-23 19:30:10
Edit Download
1.25 KB lrw-r--r-- 2023-07-18 23:53:36
Edit Download
1.16 KB lrw-r--r-- 2023-12-27 00:45:02
Edit Download
730 B lrw-r--r-- 2023-12-27 00:45:02
Edit Download
696 B lrw-r--r-- 2025-07-29 12:34:58
Edit Download
298 B lrw-r--r-- 2025-07-29 12:34:58
Edit Download
2.60 KB lrw-r--r-- 2026-03-30 17:12:24
Edit Download
1.66 KB lrw-r--r-- 2026-03-30 17:12:24
Edit Download
7.06 KB lrw-r--r-- 2025-03-03 22:28:12
Edit Download
4.58 KB lrw-r--r-- 2025-03-03 22:28:12
Edit Download
5.39 KB lrw-r--r-- 2024-11-14 01:17:00
Edit Download
2.70 KB lrw-r--r-- 2024-11-14 01:17:00
Edit Download
12.04 KB lrw-r--r-- 2025-03-03 22:28:12
Edit Download
6.08 KB lrw-r--r-- 2025-03-03 22:28:12
Edit Download
11.95 KB lrw-r--r-- 2025-05-12 21:07:28
Edit Download
6.25 KB lrw-r--r-- 2025-05-12 21:07:28
Edit Download
5.38 KB lrw-r--r-- 2026-03-30 17:12:24
Edit Download
3.08 KB lrw-r--r-- 2026-03-30 17:12:24
Edit Download
4.62 KB lrw-r--r-- 2026-03-30 17:12:24
Edit Download
2.52 KB lrw-r--r-- 2026-03-30 17:12:24
Edit Download
3.78 KB lrw-r--r-- 2021-05-18 21:00:20
Edit Download
1.87 KB lrw-r--r-- 2023-07-18 23:53:36
Edit Download
4.06 KB lrw-r--r-- 2024-09-23 20:44:04
Edit Download
1.59 KB lrw-r--r-- 2024-09-23 20:44:04
Edit Download
869 B lrw-r--r-- 2021-05-18 21:00:20
Edit Download
336 B lrw-r--r-- 2021-05-18 21:00:20
Edit Download
1.61 KB lrw-r--r-- 2025-09-01 23:44:48
Edit Download
1.13 KB lrw-r--r-- 2025-09-01 23:44:48
Edit Download
13.58 KB lrw-r--r-- 2023-08-16 00:05:04
Edit Download
7.71 KB lrw-r--r-- 2023-08-16 00:05:04
Edit Download
1.98 KB lrw-r--r-- 2022-10-19 00:34:38
Edit Download
1.17 KB lrw-r--r-- 2023-07-18 23:53:36
Edit Download
3.79 KB lrw-r--r-- 2025-05-12 21:07:28
Edit Download
2.09 KB lrw-r--r-- 2025-05-12 21:07:28
Edit Download
2.92 KB lrw-r--r-- 2023-05-24 03:17:54
Edit Download
1.70 KB lrw-r--r-- 2023-07-18 23:53:36
Edit Download
1.43 KB lrw-r--r-- 2026-02-23 17:58:34
Edit Download
638 B lrw-r--r-- 2026-02-23 17:58:34
Edit Download
10.05 KB lrw-r--r-- 2021-05-18 21:00:20
Edit Download
6.35 KB lrw-r--r-- 2023-07-18 23:53:36
Edit Download
6.57 KB lrw-r--r-- 2025-03-03 22:28:12
Edit Download
3.57 KB lrw-r--r-- 2025-03-03 22:28:12
Edit Download
7.04 KB lrw-r--r-- 2026-03-30 17:12:24
Edit Download
3.90 KB lrw-r--r-- 2026-03-30 17:12:24
Edit Download
35.43 KB lrw-r--r-- 2026-01-19 14:46:18
Edit Download
17.10 KB lrw-r--r-- 2026-01-19 14:46:18
Edit Download
9.23 KB lrw-r--r-- 2025-03-03 22:28:12
Edit Download
4.85 KB lrw-r--r-- 2025-03-03 22:28:12
Edit Download
1.33 KB lrw-r--r-- 2026-02-23 17:58:34
Edit Download
574 B lrw-r--r-- 2026-02-23 17:58:34
Edit Download
1.78 KB lrw-r--r-- 2024-11-14 01:17:00
Edit Download
1.05 KB lrw-r--r-- 2024-11-14 01:17:00
Edit Download
22.32 KB lrw-r--r-- 2026-02-23 17:58:34
Edit Download
11.93 KB lrw-r--r-- 2026-02-23 17:58:34
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).