woocommerce/assets/js/admin/api-keys.min.js

1 line
2.2 KiB
JavaScript

!function(e){new(Backbone.View.extend({el:e("#key-fields"),events:{"click input#update_api_key":"saveKey"},initialize:function(){_.bindAll(this,"saveKey")},block:function(){e(this.el).block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},unblock:function(){e(this.el).unblock()},initTipTip:function(i){e(document.body).on("click",i,function(o){o.preventDefault(),document.queryCommandSupported("copy")?(e("#copy-error").text(""),wcClearClipboard(),wcSetClipboard(e.trim(e(this).prev("input").val()),e(i))):(e(i).parent().find("input").focus().select(),e("#copy-error").text(woocommerce_admin_api_keys.clipboard_failed))}).on("aftercopy",i,function(){e("#copy-error").text(""),e(i).tipTip({attribute:"data-tip",activation:"focus",fadeIn:50,fadeOut:50,delay:0}).focus()}).on("aftercopyerror",i,function(){e(i).parent().find("input").focus().select(),e("#copy-error").text(woocommerce_admin_api_keys.clipboard_failed)})},createQRCode:function(i,o){e("#keys-qrcode").qrcode({text:i+"|"+o,width:120,height:120})},saveKey:function(i){i.preventDefault();var o=this;o.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:e("#key_id",o.el).val(),description:e("#key_description",o.el).val(),user:e("#key_user",o.el).val(),permissions:e("#key_permissions",o.el).val()},success:function(i){if(e(".wc-api-message",o.el).remove(),i.success){var t=i.data;if(e("h3",o.el).first().append('<div class="wc-api-message updated"><p>'+t.message+"</p></div>"),0<t.consumer_key.length&&0<t.consumer_secret.length){e("#api-keys-options",o.el).remove(),e("p.submit",o.el).empty().append(t.revoke_url);var a=wp.template("api-keys-template");e("p.submit",o.el).before(a({consumer_key:t.consumer_key,consumer_secret:t.consumer_secret})),o.createQRCode(t.consumer_key,t.consumer_secret),o.initTipTip(".copy-key"),o.initTipTip(".copy-secret")}else e("#key_description",o.el).val(t.description),e("#key_user",o.el).val(t.user_id),e("#key_permissions",o.el).val(t.permissions)}else e("h3",o.el).first().append('<div class="wc-api-message error"><p>'+i.data.message+"</p></div>");o.unblock()}})}}))}(jQuery);