Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/wpforms-.../assets/js/admin/builder
File: providers.js
/**
[500] Fix | Delete
* Update selects for mapping if any form fields was added, deleted or changed.
[501] Fix | Delete
*
[502] Fix | Delete
* @since 1.6.1.2
[503] Fix | Delete
*
[504] Fix | Delete
* @param {object} $connections jQuery selector for active connections.
[505] Fix | Delete
*/
[506] Fix | Delete
updateMapSelects: function( $connections ) {
[507] Fix | Delete
[508] Fix | Delete
var fields = $.extend( {}, wpf.getFields() ),
[509] Fix | Delete
currentSaveFields,
[510] Fix | Delete
prevSaveFields;
[511] Fix | Delete
[512] Fix | Delete
// We should to detect changes for labels only.
[513] Fix | Delete
currentSaveFields = _.mapObject( fields, function( field, key ) {
[514] Fix | Delete
[515] Fix | Delete
return field.label;
[516] Fix | Delete
} );
[517] Fix | Delete
prevSaveFields = _.mapObject( __private.fields, function( field, key ) {
[518] Fix | Delete
[519] Fix | Delete
return field.label;
[520] Fix | Delete
} );
[521] Fix | Delete
[522] Fix | Delete
// Check if form has any fields and if they have changed labels after previous saving process.
[523] Fix | Delete
if (
[524] Fix | Delete
( _.isEmpty( currentSaveFields ) && _.isEmpty( prevSaveFields ) ) ||
[525] Fix | Delete
( JSON.stringify( currentSaveFields ) === JSON.stringify( prevSaveFields ) )
[526] Fix | Delete
) {
[527] Fix | Delete
return;
[528] Fix | Delete
}
[529] Fix | Delete
[530] Fix | Delete
// Prepare a current form field IDs.
[531] Fix | Delete
var fieldIds = Object.keys( currentSaveFields )
[532] Fix | Delete
.map( function( id ) {
[533] Fix | Delete
[534] Fix | Delete
return parseInt( id, 10 );
[535] Fix | Delete
} );
[536] Fix | Delete
[537] Fix | Delete
// Determine deleted field IDs - it's a diff between previous and current form state.
[538] Fix | Delete
var deleted = Object.keys( prevSaveFields )
[539] Fix | Delete
.map( function( id ) {
[540] Fix | Delete
[541] Fix | Delete
return parseInt( id, 10 );
[542] Fix | Delete
} )
[543] Fix | Delete
.filter( function( id ) {
[544] Fix | Delete
[545] Fix | Delete
return ! fieldIds.includes( id );
[546] Fix | Delete
} );
[547] Fix | Delete
[548] Fix | Delete
// Remove from mapping selects "deleted" fields.
[549] Fix | Delete
for ( var index = 0; index < deleted.length; index++ ) {
[550] Fix | Delete
$( '.wpforms-builder-provider-connection-fields-table .wpforms-builder-provider-connection-field-value option[value="' + deleted[ index ] + '"]', $connections ).remove();
[551] Fix | Delete
}
[552] Fix | Delete
[553] Fix | Delete
var label, $exists;
[554] Fix | Delete
for ( var id in fields ) {
[555] Fix | Delete
[556] Fix | Delete
// Prepare the label.
[557] Fix | Delete
if ( typeof fields[ id ].label !== 'undefined' && fields[ id ].label.toString().trim() !== '' ) {
[558] Fix | Delete
label = wpf.sanitizeHTML( fields[ id ].label.toString().trim() );
[559] Fix | Delete
} else {
[560] Fix | Delete
label = wpforms_builder.field + ' #' + id;
[561] Fix | Delete
}
[562] Fix | Delete
[563] Fix | Delete
// Try to find all select options by value.
[564] Fix | Delete
$exists = $( '.wpforms-builder-provider-connection-fields-table .wpforms-builder-provider-connection-field-value option[value="' + id + '"]', $connections );
[565] Fix | Delete
[566] Fix | Delete
// If no option was found - add a new one for all selects.
[567] Fix | Delete
if ( ! $exists.length ) {
[568] Fix | Delete
$( '.wpforms-builder-provider-connection-fields-table .wpforms-builder-provider-connection-field-value', $connections ).append( $( '<option>', { value: id, text: label } ) );
[569] Fix | Delete
continue;
[570] Fix | Delete
}
[571] Fix | Delete
[572] Fix | Delete
// Update a field label if a previous and current labels not equal.
[573] Fix | Delete
if ( wpf.sanitizeHTML( fields[ id ].label ) !== wpf.sanitizeHTML( prevSaveFields[ id ] ) ) {
[574] Fix | Delete
$exists.text( label );
[575] Fix | Delete
}
[576] Fix | Delete
}
[577] Fix | Delete
[578] Fix | Delete
// If selects for mapping was changed, that whole form state was changed as well.
[579] Fix | Delete
// That's why we need to re-save it.
[580] Fix | Delete
if ( wpf.savedState !== wpf.getFormState( '#wpforms-builder-form' ) ) {
[581] Fix | Delete
wpf.savedState = wpf.getFormState( '#wpforms-builder-form' );
[582] Fix | Delete
}
[583] Fix | Delete
[584] Fix | Delete
// Save form fields state for next saving process.
[585] Fix | Delete
__private.fields = fields;
[586] Fix | Delete
[587] Fix | Delete
app.panelHolder.trigger( 'WPForms.Admin.Builder.Providers.updatedMapSelects', [ $connections, fields ] );
[588] Fix | Delete
},
[589] Fix | Delete
[590] Fix | Delete
/**
[591] Fix | Delete
* All methods that modify UI of a page.
[592] Fix | Delete
*
[593] Fix | Delete
* @since 1.4.7
[594] Fix | Delete
*/
[595] Fix | Delete
ui: {
[596] Fix | Delete
[597] Fix | Delete
/**
[598] Fix | Delete
* Process UI related actions/events: click, change etc. - that are triggered from UI.
[599] Fix | Delete
*
[600] Fix | Delete
* @since 1.4.7
[601] Fix | Delete
*/
[602] Fix | Delete
bindActions: function() {
[603] Fix | Delete
[604] Fix | Delete
// CONNECTION: ADD/DELETE.
[605] Fix | Delete
app.panelHolder
[606] Fix | Delete
.on( 'click', '.js-wpforms-builder-provider-account-add', function( e ) {
[607] Fix | Delete
[608] Fix | Delete
e.preventDefault();
[609] Fix | Delete
app.ui.account.setProvider( $( this ).data( 'provider' ) );
[610] Fix | Delete
app.ui.account.add();
[611] Fix | Delete
} )
[612] Fix | Delete
.on( 'click', '.js-wpforms-builder-provider-connection-add', function( e ) {
[613] Fix | Delete
[614] Fix | Delete
e.preventDefault();
[615] Fix | Delete
app.ui.connectionAdd( $( this ).data( 'provider' ) );
[616] Fix | Delete
} )
[617] Fix | Delete
.on( 'click', '.js-wpforms-builder-provider-connection-delete', function( e ) {
[618] Fix | Delete
[619] Fix | Delete
var $btn = $( this );
[620] Fix | Delete
[621] Fix | Delete
e.preventDefault();
[622] Fix | Delete
app.ui.connectionDelete(
[623] Fix | Delete
$btn.closest( '.wpforms-builder-provider' ).data( 'provider' ),
[624] Fix | Delete
$btn.closest( '.wpforms-builder-provider-connection' )
[625] Fix | Delete
);
[626] Fix | Delete
} );
[627] Fix | Delete
[628] Fix | Delete
// CONNECTION: FIELDS - ADD/DELETE.
[629] Fix | Delete
app.panelHolder
[630] Fix | Delete
.on( 'click', '.js-wpforms-builder-provider-connection-fields-add', function( e ) {
[631] Fix | Delete
[632] Fix | Delete
e.preventDefault();
[633] Fix | Delete
[634] Fix | Delete
var $table = $( this ).parents( '.wpforms-builder-provider-connection-fields-table' ),
[635] Fix | Delete
$clone = $table.find( 'tr' ).last().clone( true ),
[636] Fix | Delete
nextID = parseInt( /\[.+]\[.+]\[.+]\[(\d+)]/.exec( $clone.find( '.wpforms-builder-provider-connection-field-name' ).attr( 'name' ) )[ 1 ], 10 ) + 1;
[637] Fix | Delete
[638] Fix | Delete
// Clear the row and increment the counter.
[639] Fix | Delete
$clone.find( '.wpforms-builder-provider-connection-field-name' )
[640] Fix | Delete
.attr( 'name', $clone.find( '.wpforms-builder-provider-connection-field-name' ).attr( 'name' ).replace( /\[fields_meta\]\[(\d+)\]/g, '[fields_meta][' + nextID + ']' ) )
[641] Fix | Delete
.val( '' );
[642] Fix | Delete
$clone.find( '.wpforms-builder-provider-connection-field-value' )
[643] Fix | Delete
.attr( 'name', $clone.find( '.wpforms-builder-provider-connection-field-value' ).attr( 'name' ).replace( /\[fields_meta\]\[(\d+)\]/g, '[fields_meta][' + nextID + ']' ) )
[644] Fix | Delete
.val( '' );
[645] Fix | Delete
[646] Fix | Delete
// Re-enable "delete" button.
[647] Fix | Delete
$clone.find( '.js-wpforms-builder-provider-connection-fields-delete' ).removeClass( 'hidden' );
[648] Fix | Delete
[649] Fix | Delete
// Put it back to the table.
[650] Fix | Delete
$table.find( 'tbody' ).append( $clone.get( 0 ) );
[651] Fix | Delete
} )
[652] Fix | Delete
.on( 'click', '.js-wpforms-builder-provider-connection-fields-delete', function( e ) {
[653] Fix | Delete
[654] Fix | Delete
e.preventDefault();
[655] Fix | Delete
[656] Fix | Delete
var $row = $( this ).parents( '.wpforms-builder-provider-connection-fields-table tr' );
[657] Fix | Delete
[658] Fix | Delete
$row.remove();
[659] Fix | Delete
} );
[660] Fix | Delete
[661] Fix | Delete
// CONNECTION: Generated.
[662] Fix | Delete
app.panelHolder.on( 'connectionGenerated', function( e, data ) {
[663] Fix | Delete
[664] Fix | Delete
wpf.initTooltips();
[665] Fix | Delete
[666] Fix | Delete
// Hide provider default settings screen.
[667] Fix | Delete
$( this )
[668] Fix | Delete
.find( '.wpforms-builder-provider-connection[data-connection_id="' + data.connection.id + '"]' )
[669] Fix | Delete
.closest( '.wpforms-panel-content-section' )
[670] Fix | Delete
.find( '.wpforms-builder-provider-connections-default' )
[671] Fix | Delete
.addClass( 'wpforms-hidden' );
[672] Fix | Delete
} );
[673] Fix | Delete
[674] Fix | Delete
// CONNECTION: Rendered.
[675] Fix | Delete
app.panelHolder.on( 'connectionRendered', function( e, provider, connectionId ) {
[676] Fix | Delete
[677] Fix | Delete
wpf.initTooltips();
[678] Fix | Delete
[679] Fix | Delete
// Some our addons have another arguments for this trigger.
[680] Fix | Delete
// We will fix it asap.
[681] Fix | Delete
if ( typeof connectionId === 'undefined' ) {
[682] Fix | Delete
if ( ! _.isObject( provider ) || ! _.has( provider, 'connection_id' ) ) {
[683] Fix | Delete
return;
[684] Fix | Delete
}
[685] Fix | Delete
connectionId = provider.connection_id;
[686] Fix | Delete
}
[687] Fix | Delete
[688] Fix | Delete
// If connection has mapped select fields - call `wpformsFieldUpdate` trigger.
[689] Fix | Delete
if ( $( this ).find( '.wpforms-builder-provider-connection[data-connection_id="' + connectionId + '"] .wpforms-field-map-select' ).length ) {
[690] Fix | Delete
wpf.fieldUpdate();
[691] Fix | Delete
}
[692] Fix | Delete
} );
[693] Fix | Delete
[694] Fix | Delete
// Remove error class in required fields if a value is supplied.
[695] Fix | Delete
app.panelHolder.on( 'change', '.wpforms-builder-provider select.wpforms-required', function() {
[696] Fix | Delete
[697] Fix | Delete
const $this = $( this );
[698] Fix | Delete
[699] Fix | Delete
if ( ! $this.hasClass( 'wpforms-error' ) || $this.val().length === 0 ) {
[700] Fix | Delete
return;
[701] Fix | Delete
}
[702] Fix | Delete
[703] Fix | Delete
$this.removeClass( 'wpforms-error' );
[704] Fix | Delete
} );
[705] Fix | Delete
},
[706] Fix | Delete
[707] Fix | Delete
/**
[708] Fix | Delete
* Add a connection to a page.
[709] Fix | Delete
* This is a multistep process, where the 1st step is always the same for all providers.
[710] Fix | Delete
*
[711] Fix | Delete
* @since 1.4.7
[712] Fix | Delete
* @since 1.5.9 Added a new parameter - provider.
[713] Fix | Delete
*
[714] Fix | Delete
* @param {string} provider Current provider slug.
[715] Fix | Delete
*/
[716] Fix | Delete
connectionAdd: function( provider ) {
[717] Fix | Delete
[718] Fix | Delete
$.confirm( {
[719] Fix | Delete
title: false,
[720] Fix | Delete
content: wpforms_builder_providers.prompt_connection.replace( /%type%/g, 'connection' ) +
[721] Fix | Delete
'<input autofocus="" type="text" id="wpforms-builder-provider-connection-name" placeholder="' + wpforms_builder_providers.prompt_placeholder + '">' +
[722] Fix | Delete
'<p class="error">' + wpforms_builder_providers.error_name + '</p>',
[723] Fix | Delete
icon: 'fa fa-info-circle',
[724] Fix | Delete
type: 'blue',
[725] Fix | Delete
buttons: {
[726] Fix | Delete
confirm: {
[727] Fix | Delete
text: wpforms_builder.ok,
[728] Fix | Delete
btnClass: 'btn-confirm',
[729] Fix | Delete
keys: [ 'enter' ],
[730] Fix | Delete
action: function() {
[731] Fix | Delete
[732] Fix | Delete
var name = this.$content.find( '#wpforms-builder-provider-connection-name' ).val().trim(),
[733] Fix | Delete
error = this.$content.find( '.error' );
[734] Fix | Delete
[735] Fix | Delete
if ( name === '' ) {
[736] Fix | Delete
error.show();
[737] Fix | Delete
return false;
[738] Fix | Delete
[739] Fix | Delete
} else {
[740] Fix | Delete
app.getProviderHolder( provider ).trigger( 'connectionCreate', [ name ] );
[741] Fix | Delete
}
[742] Fix | Delete
},
[743] Fix | Delete
},
[744] Fix | Delete
cancel: {
[745] Fix | Delete
text: wpforms_builder.cancel,
[746] Fix | Delete
},
[747] Fix | Delete
},
[748] Fix | Delete
} );
[749] Fix | Delete
[750] Fix | Delete
},
[751] Fix | Delete
[752] Fix | Delete
/**
[753] Fix | Delete
* What to do with UI when connection is deleted.
[754] Fix | Delete
*
[755] Fix | Delete
* @since 1.4.7
[756] Fix | Delete
* @since 1.5.9 Added a new parameter - provider.
[757] Fix | Delete
*
[758] Fix | Delete
* @param {string} provider Current provider slug.
[759] Fix | Delete
* @param {object} $connection jQuery DOM element for a connection.
[760] Fix | Delete
*/
[761] Fix | Delete
connectionDelete: function( provider, $connection ) {
[762] Fix | Delete
[763] Fix | Delete
$.confirm( {
[764] Fix | Delete
title: false,
[765] Fix | Delete
content: wpforms_builder_providers.confirm_connection,
[766] Fix | Delete
icon: 'fa fa-exclamation-circle',
[767] Fix | Delete
type: 'orange',
[768] Fix | Delete
buttons: {
[769] Fix | Delete
confirm: {
[770] Fix | Delete
text: wpforms_builder.ok,
[771] Fix | Delete
btnClass: 'btn-confirm',
[772] Fix | Delete
keys: [ 'enter' ],
[773] Fix | Delete
action: function() {
[774] Fix | Delete
[775] Fix | Delete
// We need this BEFORE removing, as some handlers might need DOM element.
[776] Fix | Delete
app.getProviderHolder( provider ).trigger( 'connectionDelete', [ $connection ] );
[777] Fix | Delete
[778] Fix | Delete
var $section = $connection.closest( '.wpforms-panel-content-section' );
[779] Fix | Delete
[780] Fix | Delete
$connection.fadeOut( 'fast', function() {
[781] Fix | Delete
[782] Fix | Delete
$( this ).remove();
[783] Fix | Delete
[784] Fix | Delete
app.getProviderHolder( provider ).trigger( 'connectionDeleted', [ $connection ] );
[785] Fix | Delete
[786] Fix | Delete
if ( ! $section.find( '.wpforms-builder-provider-connection' ).length ) {
[787] Fix | Delete
$section.find( '.wpforms-builder-provider-connections-default' ).removeClass( 'wpforms-hidden' );
[788] Fix | Delete
}
[789] Fix | Delete
} );
[790] Fix | Delete
},
[791] Fix | Delete
},
[792] Fix | Delete
cancel: {
[793] Fix | Delete
text: wpforms_builder.cancel,
[794] Fix | Delete
},
[795] Fix | Delete
},
[796] Fix | Delete
} );
[797] Fix | Delete
},
[798] Fix | Delete
[799] Fix | Delete
/**
[800] Fix | Delete
* Account specific methods.
[801] Fix | Delete
*
[802] Fix | Delete
* @since 1.4.8
[803] Fix | Delete
* @since 1.5.8 Added binding `onClose` event.
[804] Fix | Delete
*/
[805] Fix | Delete
account: {
[806] Fix | Delete
[807] Fix | Delete
/**
[808] Fix | Delete
* Current provider in the context of account creation.
[809] Fix | Delete
*
[810] Fix | Delete
* @since 1.4.8
[811] Fix | Delete
*
[812] Fix | Delete
* @param {string}
[813] Fix | Delete
*/
[814] Fix | Delete
provider: '',
[815] Fix | Delete
[816] Fix | Delete
/**
[817] Fix | Delete
* Preserve a list of action to perform when new account creation form is submitted.
[818] Fix | Delete
* Provider specific.
[819] Fix | Delete
*
[820] Fix | Delete
* @since 1.4.8
[821] Fix | Delete
*
[822] Fix | Delete
* @param {Array<string, callable>}
[823] Fix | Delete
*/
[824] Fix | Delete
submitHandlers: [],
[825] Fix | Delete
[826] Fix | Delete
/**
[827] Fix | Delete
* Set the account specific provider.
[828] Fix | Delete
*
[829] Fix | Delete
* @since 1.4.8
[830] Fix | Delete
*
[831] Fix | Delete
* @param {string} provider Provider slug.
[832] Fix | Delete
*/
[833] Fix | Delete
setProvider: function( provider ) {
[834] Fix | Delete
this.provider = provider;
[835] Fix | Delete
},
[836] Fix | Delete
[837] Fix | Delete
/**
[838] Fix | Delete
* Add an account for provider.
[839] Fix | Delete
*
[840] Fix | Delete
* @since 1.4.8
[841] Fix | Delete
*/
[842] Fix | Delete
add: function() {
[843] Fix | Delete
[844] Fix | Delete
var account = this;
[845] Fix | Delete
[846] Fix | Delete
$.confirm( {
[847] Fix | Delete
title: false,
[848] Fix | Delete
smoothContent: true,
[849] Fix | Delete
content: function() {
[850] Fix | Delete
[851] Fix | Delete
var modal = this;
[852] Fix | Delete
[853] Fix | Delete
return app.ajax
[854] Fix | Delete
.request( account.provider, {
[855] Fix | Delete
data: {
[856] Fix | Delete
task: 'account_template_get',
[857] Fix | Delete
},
[858] Fix | Delete
} )
[859] Fix | Delete
.done( function( response ) {
[860] Fix | Delete
[861] Fix | Delete
if ( ! response.success ) {
[862] Fix | Delete
return;
[863] Fix | Delete
}
[864] Fix | Delete
[865] Fix | Delete
if ( response.data.title.length ) {
[866] Fix | Delete
modal.setTitle( response.data.title );
[867] Fix | Delete
}
[868] Fix | Delete
[869] Fix | Delete
if ( response.data.content.length ) {
[870] Fix | Delete
modal.setContent( response.data.content );
[871] Fix | Delete
}
[872] Fix | Delete
[873] Fix | Delete
if ( response.data.type.length ) {
[874] Fix | Delete
modal.setType( response.data.type );
[875] Fix | Delete
}
[876] Fix | Delete
[877] Fix | Delete
app.getProviderHolder( account.provider ).trigger( 'accountAddModal.content.done', [ modal, account.provider, response ] );
[878] Fix | Delete
} )
[879] Fix | Delete
.fail( function() {
[880] Fix | Delete
app.getProviderHolder( account.provider ).trigger( 'accountAddModal.content.fail', [ modal, account.provider ] );
[881] Fix | Delete
} )
[882] Fix | Delete
.always( function() {
[883] Fix | Delete
app.getProviderHolder( account.provider ).trigger( 'accountAddModal.content.always', [ modal, account.provider ] );
[884] Fix | Delete
} );
[885] Fix | Delete
},
[886] Fix | Delete
contentLoaded: function( data, status, xhr ) {
[887] Fix | Delete
[888] Fix | Delete
var modal = this;
[889] Fix | Delete
[890] Fix | Delete
// Data is already set in content.
[891] Fix | Delete
this.buttons.add.enable();
[892] Fix | Delete
this.buttons.cancel.enable();
[893] Fix | Delete
[894] Fix | Delete
app.getProviderHolder( account.provider ).trigger( 'accountAddModal.contentLoaded', [ modal ] );
[895] Fix | Delete
},
[896] Fix | Delete
onOpenBefore: function() { // Before the modal is displayed.
[897] Fix | Delete
[898] Fix | Delete
var modal = this;
[899] Fix | Delete
[900] Fix | Delete
modal.buttons.add.disable();
[901] Fix | Delete
modal.buttons.cancel.disable();
[902] Fix | Delete
modal.$body.addClass( 'wpforms-providers-account-add-modal' );
[903] Fix | Delete
[904] Fix | Delete
app.getProviderHolder( account.provider ).trigger( 'accountAddModal.onOpenBefore', [ modal ] );
[905] Fix | Delete
},
[906] Fix | Delete
onClose: function() { // Before the modal is hidden.
[907] Fix | Delete
[908] Fix | Delete
// If an account was configured successfully - show a modal with adding a new connection.
[909] Fix | Delete
if ( true === app.ui.account.isConfigured( account.provider ) ) {
[910] Fix | Delete
app.ui.connectionAdd( account.provider );
[911] Fix | Delete
}
[912] Fix | Delete
},
[913] Fix | Delete
icon: 'fa fa-info-circle',
[914] Fix | Delete
type: 'blue',
[915] Fix | Delete
buttons: {
[916] Fix | Delete
add: {
[917] Fix | Delete
text: wpforms_builder.provider_add_new_acc_btn,
[918] Fix | Delete
btnClass: 'btn-confirm',
[919] Fix | Delete
keys: [ 'enter' ],
[920] Fix | Delete
action: function() {
[921] Fix | Delete
var modal = this;
[922] Fix | Delete
[923] Fix | Delete
app.getProviderHolder( account.provider ).trigger( 'accountAddModal.buttons.add.action.before', [ modal ] );
[924] Fix | Delete
[925] Fix | Delete
if (
[926] Fix | Delete
! _.isEmpty( account.provider ) &&
[927] Fix | Delete
typeof account.submitHandlers[ account.provider ] !== 'undefined'
[928] Fix | Delete
) {
[929] Fix | Delete
return account.submitHandlers[ account.provider ]( modal );
[930] Fix | Delete
}
[931] Fix | Delete
},
[932] Fix | Delete
},
[933] Fix | Delete
cancel: {
[934] Fix | Delete
text: wpforms_builder.cancel,
[935] Fix | Delete
},
[936] Fix | Delete
},
[937] Fix | Delete
} );
[938] Fix | Delete
},
[939] Fix | Delete
[940] Fix | Delete
/**
[941] Fix | Delete
* Register a template for Add New Account modal window.
[942] Fix | Delete
*
[943] Fix | Delete
* @since 1.4.8
[944] Fix | Delete
*/
[945] Fix | Delete
registerAddHandler: function( provider, handler ) {
[946] Fix | Delete
[947] Fix | Delete
if ( typeof provider === 'string' && typeof handler === 'function' ) {
[948] Fix | Delete
this.submitHandlers[ provider ] = handler;
[949] Fix | Delete
}
[950] Fix | Delete
},
[951] Fix | Delete
[952] Fix | Delete
/**
[953] Fix | Delete
* Check whether the defined provider is configured or not.
[954] Fix | Delete
*
[955] Fix | Delete
* @since 1.5.8
[956] Fix | Delete
* @since 1.5.9 Added a new parameter - provider.
[957] Fix | Delete
*
[958] Fix | Delete
* @param {string} provider Current provider slug.
[959] Fix | Delete
*
[960] Fix | Delete
* @returns {boolean} Account status.
[961] Fix | Delete
*/
[962] Fix | Delete
isConfigured: function( provider ) {
[963] Fix | Delete
[964] Fix | Delete
// Check if `Add New Account` button is hidden.
[965] Fix | Delete
return app.getProviderHolder( provider ).find( '.js-wpforms-builder-provider-account-add' ).hasClass( 'hidden' );
[966] Fix | Delete
},
[967] Fix | Delete
},
[968] Fix | Delete
},
[969] Fix | Delete
[970] Fix | Delete
/**
[971] Fix | Delete
* Get a jQuery DOM object, that has all the provider-related DOM inside.
[972] Fix | Delete
*
[973] Fix | Delete
* @since 1.4.7
[974] Fix | Delete
*
[975] Fix | Delete
* @returns {object} jQuery DOM element.
[976] Fix | Delete
*/
[977] Fix | Delete
getProviderHolder: function( provider ) {
[978] Fix | Delete
return $( '#' + provider + '-provider' );
[979] Fix | Delete
},
[980] Fix | Delete
};
[981] Fix | Delete
[982] Fix | Delete
// Provide access to public functions/properties.
[983] Fix | Delete
return app;
[984] Fix | Delete
[985] Fix | Delete
}( document, window, jQuery ) );
[986] Fix | Delete
[987] Fix | Delete
// Initialize.
[988] Fix | Delete
WPForms.Admin.Builder.Providers.init();
[989] Fix | Delete
[990] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function