@@ -14,7 +14,7 @@ define(
14
14
'Magento_ReCaptchaFrontendUi/js/reCaptchaScriptLoader' ,
15
15
'Magento_ReCaptchaFrontendUi/js/nonInlineReCaptchaRenderer' ,
16
16
] ,
17
- function ( Component , $ , ko , registry , reCaptchaLoader , nonInlineReCaptchaRenderer , undefined ) {
17
+ function ( Component , $ , ko , registry , reCaptchaLoader , nonInlineReCaptchaRenderer ) {
18
18
'use strict' ;
19
19
20
20
return Component . extend ( {
@@ -23,7 +23,6 @@ define(
23
23
template : 'Magento_ReCaptchaFrontendUi/reCaptcha' ,
24
24
reCaptchaId : 'recaptcha'
25
25
} ,
26
- _isApiRegistered : undefined ,
27
26
28
27
initialize : function ( ) {
29
28
this . _super ( ) ;
@@ -76,8 +75,7 @@ define(
76
75
* Initialize reCAPTCHA after first rendering
77
76
*/
78
77
initCaptcha : function ( ) {
79
- var me = this ,
80
- $parentForm ,
78
+ var $parentForm ,
81
79
$wrapper ,
82
80
$reCaptcha ,
83
81
widgetId ,
@@ -103,22 +101,23 @@ define(
103
101
$reCaptcha . attr ( 'id' , this . getReCaptchaId ( ) ) ;
104
102
105
103
$parentForm = $wrapper . parents ( 'form' ) ;
106
- me = this ;
107
104
108
105
parameters = _ . extend (
109
106
{
110
107
'callback' : function ( token ) { // jscs:ignore jsDoc
111
- me . reCaptchaCallback ( token ) ;
112
- me . validateReCaptcha ( true ) ;
113
- } ,
108
+ this . reCaptchaCallback ( token ) ;
109
+ this . validateReCaptcha ( true ) ;
110
+ } . bind ( this ) ,
114
111
'expired-callback' : function ( ) {
115
- me . validateReCaptcha ( false ) ;
116
- }
112
+ this . validateReCaptcha ( false ) ;
113
+ } . bind ( this )
117
114
} ,
118
115
this . settings . rendering
119
116
) ;
120
117
121
- nonInlineReCaptchaRenderer . add ( $reCaptcha , parameters ) ;
118
+ if ( parameters . size === 'invisible' && parameters . badge !== 'inline' ) {
119
+ nonInlineReCaptchaRenderer . add ( $reCaptcha , parameters )
120
+ }
122
121
123
122
// eslint-disable-next-line no-undef
124
123
widgetId = grecaptcha . render ( this . getReCaptchaId ( ) , parameters ) ;
@@ -137,18 +136,17 @@ define(
137
136
* @param {String } widgetId
138
137
*/
139
138
initParentForm : function ( parentForm , widgetId ) {
140
- var me = this ,
141
- listeners ;
139
+ var listeners ;
142
140
143
141
if ( this . getIsInvisibleRecaptcha ( ) && parentForm . length > 0 ) {
144
142
parentForm . submit ( function ( event ) {
145
- if ( ! me . tokenField . value ) {
143
+ if ( ! this . tokenField . value ) {
146
144
// eslint-disable-next-line no-undef
147
145
grecaptcha . execute ( widgetId ) ;
148
146
event . preventDefault ( event ) ;
149
147
event . stopImmediatePropagation ( ) ;
150
148
}
151
- } ) ;
149
+ } . bind ( this ) ) ;
152
150
153
151
// Move our (last) handler topmost. We need this to avoid submit bindings with ko.
154
152
listeners = $ . _data ( parentForm [ 0 ] , 'events' ) . submit ;
@@ -173,14 +171,12 @@ define(
173
171
* Render reCAPTCHA
174
172
*/
175
173
renderReCaptcha : function ( ) {
176
- var me = this ;
177
-
178
174
if ( window . grecaptcha && window . grecaptcha . render ) { // Check if reCAPTCHA is already loaded
179
- me . initCaptcha ( ) ;
175
+ this . initCaptcha ( ) ;
180
176
} else { // Wait for reCAPTCHA to be loaded
181
177
$ ( window ) . on ( 'recaptchaapiready' , function ( ) {
182
- me . initCaptcha ( ) ;
183
- } ) ;
178
+ this . initCaptcha ( ) ;
179
+ } . bind ( this ) ) ;
184
180
}
185
181
} ,
186
182
0 commit comments