| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- // TODO: Fix error collecting.
- //window.onerror = function(message, url, lineNumber) {
- // var data;
- //
- // data = {
- // 'action': 'nf_log_js_error',
- // 'security': nfFrontEnd.ajaxNonce,
- // 'message': message,
- // 'url': url,
- // 'lineNumber': lineNumber
- // };
- //
- // jQuery.ajax({
- // url: nfFrontEnd.adminAjax,
- // type: 'POST',
- // data: data,
- // cache: false,
- // success: function( data, textStatus, jqXHR ) {
- // try {
- //
- // } catch( e ) {
- // console.log( e );
- // console.log( 'Parse Error' );
- // console.log( e );
- // }
- //
- // },
- // error: function( jqXHR, textStatus, errorThrown ) {
- // // Handle errors here
- // console.log('ERRORS: ' + errorThrown);
- // console.log( jqXHR );
- //
- // try {
- //
- // } catch( e ) {
- // console.log( 'Parse Error' );
- // }
- // }
- // });
- // return false;
- //};
- var nfRadio = Backbone.Radio;
- nfRadio.channel( 'form' ).on( 'render:view', function() {
- jQuery( '.g-recaptcha' ).each( function() {
- var callback = jQuery( this ).data( 'callback' );
- var fieldID = jQuery( this ).data( 'fieldid' );
- if ( typeof window[ callback ] !== 'function' ){
- window[ callback ] = function( response ) {
- nfRadio.channel( 'recaptcha' ).request( 'update:response', response, fieldID );
- };
- }
- } );
- } );
- var nfRecaptcha = Marionette.Object.extend( {
- initialize: function() {
- /*
- * If we've already rendered our form view, render our recaptcha fields.
- */
- if ( 0 != jQuery( '.g-recaptcha' ).length ) {
- this.renderCaptcha();
- }
- /*
- * We haven't rendered our form view, so hook into the view render radio message, and then render.
- */
- this.listenTo( nfRadio.channel( 'form' ), 'render:view', this.renderCaptcha );
- this.listenTo( nfRadio.channel( 'captcha' ), 'reset', this.renderCaptcha );
- },
- renderCaptcha: function() {
- jQuery( '.g-recaptcha' ).each( function() {
- var opts = {
- fieldid: jQuery( this ).data( 'fieldid' ),
- size: jQuery( this ).data( 'size' ),
- theme: jQuery( this ).data( 'theme' ),
- sitekey: jQuery( this ).data( 'sitekey' ),
- callback: jQuery( this ).data( 'callback' )
- };
- var grecaptchaID = grecaptcha.render( jQuery( this )[0], opts );
- if ( opts.size === 'invisible' ) {
- try {
- grecaptcha.execute( grecaptchaID );
- } catch( e ){
- console.log( 'Notice: Error trying to execute grecaptcha.' );
- }
- }
- } );
- }
- } );
- var nfRenderRecaptcha = function() {
- new nfRecaptcha();
- }
|