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: admin-builder.js
[5500] Fix | Delete
if ( $this.hasClass( 'layout-selector-showing' ) ) {
[5501] Fix | Delete
// Selector is showing, so hide it
[5502] Fix | Delete
$layoutSelectorDisplay.stop().slideUp( 400 );
[5503] Fix | Delete
$this.find( 'span' ).text( wpforms_builder.layout_selector_show );
[5504] Fix | Delete
} else {
[5505] Fix | Delete
$layoutSelectorDisplay.stop().slideDown();
[5506] Fix | Delete
$this.find( 'span' ).text( wpforms_builder.layout_selector_hide );
[5507] Fix | Delete
}
[5508] Fix | Delete
[5509] Fix | Delete
$this.toggleClass( 'layout-selector-showing' );
[5510] Fix | Delete
},
[5511] Fix | Delete
[5512] Fix | Delete
/**
[5513] Fix | Delete
* Init legacy field layout selector.
[5514] Fix | Delete
*
[5515] Fix | Delete
* @since 1.7.7
[5516] Fix | Delete
*
[5517] Fix | Delete
* @param {number} fieldId Field id.
[5518] Fix | Delete
*/
[5519] Fix | Delete
fieldLayoutSelectorInit( fieldId ) { // eslint-disable-line max-lines-per-function
[5520] Fix | Delete
const $layoutSelector = $( `#wpforms-field-option-row-${ fieldId }-css > .layout-selector-display` );
[5521] Fix | Delete
[5522] Fix | Delete
// Bail if already initialized.
[5523] Fix | Delete
if ( $layoutSelector.length ) {
[5524] Fix | Delete
return;
[5525] Fix | Delete
}
[5526] Fix | Delete
[5527] Fix | Delete
const layouts = {
[5528] Fix | Delete
'layout-1': [
[5529] Fix | Delete
{
[5530] Fix | Delete
class: 'one-half',
[5531] Fix | Delete
data: 'wpforms-one-half wpforms-first',
[5532] Fix | Delete
},
[5533] Fix | Delete
{
[5534] Fix | Delete
class: 'one-half',
[5535] Fix | Delete
data: 'wpforms-one-half',
[5536] Fix | Delete
},
[5537] Fix | Delete
],
[5538] Fix | Delete
'layout-2': [
[5539] Fix | Delete
{
[5540] Fix | Delete
class: 'one-third',
[5541] Fix | Delete
data: 'wpforms-one-third wpforms-first',
[5542] Fix | Delete
},
[5543] Fix | Delete
{
[5544] Fix | Delete
class: 'one-third',
[5545] Fix | Delete
data: 'wpforms-one-third',
[5546] Fix | Delete
},
[5547] Fix | Delete
{
[5548] Fix | Delete
class: 'one-third',
[5549] Fix | Delete
data: 'wpforms-one-third',
[5550] Fix | Delete
},
[5551] Fix | Delete
],
[5552] Fix | Delete
'layout-3': [
[5553] Fix | Delete
{
[5554] Fix | Delete
class: 'one-fourth',
[5555] Fix | Delete
data: 'wpforms-one-fourth wpforms-first',
[5556] Fix | Delete
},
[5557] Fix | Delete
{
[5558] Fix | Delete
class: 'one-fourth',
[5559] Fix | Delete
data: 'wpforms-one-fourth',
[5560] Fix | Delete
},
[5561] Fix | Delete
{
[5562] Fix | Delete
class: 'one-fourth',
[5563] Fix | Delete
data: 'wpforms-one-fourth',
[5564] Fix | Delete
},
[5565] Fix | Delete
{
[5566] Fix | Delete
class: 'one-fourth',
[5567] Fix | Delete
data: 'wpforms-one-fourth',
[5568] Fix | Delete
},
[5569] Fix | Delete
],
[5570] Fix | Delete
'layout-4': [
[5571] Fix | Delete
{
[5572] Fix | Delete
class: 'one-third',
[5573] Fix | Delete
data: 'wpforms-one-third wpforms-first',
[5574] Fix | Delete
},
[5575] Fix | Delete
{
[5576] Fix | Delete
class: 'two-third',
[5577] Fix | Delete
data: 'wpforms-two-thirds',
[5578] Fix | Delete
},
[5579] Fix | Delete
],
[5580] Fix | Delete
'layout-5': [
[5581] Fix | Delete
{
[5582] Fix | Delete
class: 'two-third',
[5583] Fix | Delete
data: 'wpforms-two-thirds wpforms-first',
[5584] Fix | Delete
},
[5585] Fix | Delete
{
[5586] Fix | Delete
class: 'one-third',
[5587] Fix | Delete
data: 'wpforms-one-third',
[5588] Fix | Delete
},
[5589] Fix | Delete
],
[5590] Fix | Delete
'layout-6': [
[5591] Fix | Delete
{
[5592] Fix | Delete
class: 'one-fourth',
[5593] Fix | Delete
data: 'wpforms-one-fourth wpforms-first',
[5594] Fix | Delete
},
[5595] Fix | Delete
{
[5596] Fix | Delete
class: 'one-fourth',
[5597] Fix | Delete
data: 'wpforms-one-fourth',
[5598] Fix | Delete
},
[5599] Fix | Delete
{
[5600] Fix | Delete
class: 'two-fourth',
[5601] Fix | Delete
data: 'wpforms-two-fourths',
[5602] Fix | Delete
},
[5603] Fix | Delete
],
[5604] Fix | Delete
'layout-7': [
[5605] Fix | Delete
{
[5606] Fix | Delete
class: 'two-fourth',
[5607] Fix | Delete
data: 'wpforms-two-fourths wpforms-first',
[5608] Fix | Delete
},
[5609] Fix | Delete
{
[5610] Fix | Delete
class: 'one-fourth',
[5611] Fix | Delete
data: 'wpforms-one-fourth',
[5612] Fix | Delete
},
[5613] Fix | Delete
{
[5614] Fix | Delete
class: 'one-fourth',
[5615] Fix | Delete
data: 'wpforms-one-fourth',
[5616] Fix | Delete
},
[5617] Fix | Delete
],
[5618] Fix | Delete
'layout-8': [
[5619] Fix | Delete
{
[5620] Fix | Delete
class: 'one-fourth',
[5621] Fix | Delete
data: 'wpforms-one-fourth wpforms-first',
[5622] Fix | Delete
},
[5623] Fix | Delete
{
[5624] Fix | Delete
class: 'two-fourth',
[5625] Fix | Delete
data: 'wpforms-two-fourths',
[5626] Fix | Delete
},
[5627] Fix | Delete
{
[5628] Fix | Delete
class: 'one-fourth',
[5629] Fix | Delete
data: 'wpforms-one-fourth',
[5630] Fix | Delete
},
[5631] Fix | Delete
],
[5632] Fix | Delete
};
[5633] Fix | Delete
[5634] Fix | Delete
// Create selector options.
[5635] Fix | Delete
let layout,
[5636] Fix | Delete
layoutOptions = `<div class="layout-selector-display unfoldable-cont">
[5637] Fix | Delete
<p class="heading">${ wpforms_builder.layout_selector_layout }</p>
[5638] Fix | Delete
<div class="layouts">`;
[5639] Fix | Delete
[5640] Fix | Delete
for ( const key in layouts ) {
[5641] Fix | Delete
layout = layouts[ key ];
[5642] Fix | Delete
[5643] Fix | Delete
layoutOptions += '<div class="layout-selector-display-layout">';
[5644] Fix | Delete
[5645] Fix | Delete
for ( const i in layout ) {
[5646] Fix | Delete
layoutOptions += `<span class="${ layout[ i ].class }" data-classes="${ layout[ i ].data }"></span>`;
[5647] Fix | Delete
}
[5648] Fix | Delete
[5649] Fix | Delete
layoutOptions += '</div>';
[5650] Fix | Delete
}
[5651] Fix | Delete
[5652] Fix | Delete
layoutOptions += '</div></div>';
[5653] Fix | Delete
[5654] Fix | Delete
$( `#wpforms-field-option-row-${ fieldId }-css > label` ).after( layoutOptions );
[5655] Fix | Delete
},
[5656] Fix | Delete
[5657] Fix | Delete
/**
[5658] Fix | Delete
* Legacy field layout selector, selecting a layout.
[5659] Fix | Delete
*
[5660] Fix | Delete
* @since 1.3.7
[5661] Fix | Delete
*
[5662] Fix | Delete
* @param {Element} el Layout selector toggle link.
[5663] Fix | Delete
*/
[5664] Fix | Delete
fieldLayoutSelectorLayout( el ) {
[5665] Fix | Delete
const $this = $( el );
[5666] Fix | Delete
[5667] Fix | Delete
$this.parent().find( '.layout-selector-display-layout' ).not( $this ).remove();
[5668] Fix | Delete
$this.parent().find( '.heading' ).text( wpforms_builder.layout_selector_column );
[5669] Fix | Delete
$this.toggleClass( 'layout-selector-display-layout layout-selector-display-columns' );
[5670] Fix | Delete
},
[5671] Fix | Delete
[5672] Fix | Delete
/**
[5673] Fix | Delete
* Field layout selector, insert into class field.
[5674] Fix | Delete
*
[5675] Fix | Delete
* @since 1.3.7
[5676] Fix | Delete
*
[5677] Fix | Delete
* @param {Element} el Element.
[5678] Fix | Delete
*/
[5679] Fix | Delete
fieldLayoutSelectorInsert( el ) {
[5680] Fix | Delete
const $this = $( el ),
[5681] Fix | Delete
$selector = $this.closest( '.layout-selector-display' ),
[5682] Fix | Delete
$parent = $selector.parent(),
[5683] Fix | Delete
$id = $parent.data( 'field-id' ),
[5684] Fix | Delete
$label = $parent.find( 'label' ),
[5685] Fix | Delete
$input = $parent.find( 'input[type=text]' );
[5686] Fix | Delete
[5687] Fix | Delete
let classes = $this.data( 'classes' );
[5688] Fix | Delete
[5689] Fix | Delete
if ( $input.val() ) {
[5690] Fix | Delete
classes = ' ' + classes;
[5691] Fix | Delete
}
[5692] Fix | Delete
[5693] Fix | Delete
$input.insertAtCaret( classes );
[5694] Fix | Delete
[5695] Fix | Delete
// Remove the list, all done!
[5696] Fix | Delete
$selector.slideUp( 400, function() {
[5697] Fix | Delete
$selector.remove();
[5698] Fix | Delete
app.fieldLayoutSelectorInit( $id );
[5699] Fix | Delete
} );
[5700] Fix | Delete
[5701] Fix | Delete
$label.find( '.toggle-layout-selector-display' ).removeClass( 'layout-selector-showing' );
[5702] Fix | Delete
$label.find( '.toggle-layout-selector-display span' ).text( wpforms_builder.layout_selector_show );
[5703] Fix | Delete
},
[5704] Fix | Delete
[5705] Fix | Delete
/**
[5706] Fix | Delete
* Toggle Order Summary Confirmation settings option.
[5707] Fix | Delete
*
[5708] Fix | Delete
* @since 1.8.7
[5709] Fix | Delete
*
[5710] Fix | Delete
* @param {Event} event Event.
[5711] Fix | Delete
* @param {string} id Field ID.
[5712] Fix | Delete
* @param {string} type Field type.
[5713] Fix | Delete
*/
[5714] Fix | Delete
toggleOrderSummaryConfirmation( event, id, type ) {
[5715] Fix | Delete
if ( type !== 'payment-total' ) {
[5716] Fix | Delete
return;
[5717] Fix | Delete
}
[5718] Fix | Delete
[5719] Fix | Delete
$( '.wpforms-confirmation' ).each( function() {
[5720] Fix | Delete
$( this ).find( '.wpforms-panel-field-confirmations-message_order_summary' ).closest( '.wpforms-panel-field' ).toggle( $( '#wpforms-panel-fields .wpforms-field-payment-total' ).length !== 0 );
[5721] Fix | Delete
} );
[5722] Fix | Delete
},
[5723] Fix | Delete
[5724] Fix | Delete
//--------------------------------------------------------------------//
[5725] Fix | Delete
// Settings Panel
[5726] Fix | Delete
//--------------------------------------------------------------------//
[5727] Fix | Delete
[5728] Fix | Delete
/**
[5729] Fix | Delete
* Element bindings for Settings panel.
[5730] Fix | Delete
*
[5731] Fix | Delete
* @since 1.0.0
[5732] Fix | Delete
*/
[5733] Fix | Delete
bindUIActionsSettings() { // eslint-disable-line max-lines-per-function
[5734] Fix | Delete
// Clicking form title/desc opens Settings panel.
[5735] Fix | Delete
$builder.on( 'click', '#wpforms-panel-fields .wpforms-title-desc, #wpforms-panel-fields .wpforms-field-submit-button, .wpforms-center-form-name', function( e ) {
[5736] Fix | Delete
e.preventDefault();
[5737] Fix | Delete
app.panelSwitch( 'settings' );
[5738] Fix | Delete
if ( $( this ).hasClass( 'wpforms-center-form-name' ) || $( this ).hasClass( 'wpforms-title-desc' ) ) {
[5739] Fix | Delete
setTimeout( function() {
[5740] Fix | Delete
$( '#wpforms-panel-field-settings-form_title' ).trigger( 'focus' );
[5741] Fix | Delete
}, 300 );
[5742] Fix | Delete
}
[5743] Fix | Delete
} );
[5744] Fix | Delete
[5745] Fix | Delete
// Clicking form previous page break button.
[5746] Fix | Delete
$builder.on( 'click', '.wpforms-field-pagebreak-last button', function( e ) {
[5747] Fix | Delete
e.preventDefault();
[5748] Fix | Delete
[5749] Fix | Delete
app.panelSwitch( 'settings' );
[5750] Fix | Delete
$( '#wpforms-panel-field-settings-pagebreak_prev' ).trigger( 'focus' );
[5751] Fix | Delete
} );
[5752] Fix | Delete
[5753] Fix | Delete
// Trigger Custom Captcha adding when clicking on its block in the Also Available section.
[5754] Fix | Delete
$builder.on( 'click', '.wpforms-panel-content-also-available-item-add-captcha', function( e ) {
[5755] Fix | Delete
e.preventDefault();
[5756] Fix | Delete
[5757] Fix | Delete
const customCaptcha = $builder.find( '#wpforms-add-fields-captcha' );
[5758] Fix | Delete
[5759] Fix | Delete
// Show educational modal if Custom Captcha is not installed or activated.
[5760] Fix | Delete
if ( customCaptcha.data( 'action' ) ) {
[5761] Fix | Delete
customCaptcha.trigger( 'click' );
[5762] Fix | Delete
[5763] Fix | Delete
return;
[5764] Fix | Delete
}
[5765] Fix | Delete
[5766] Fix | Delete
app.fieldAdd( 'captcha', {} ).done( function( res ) {
[5767] Fix | Delete
app.panelSwitch( 'fields' );
[5768] Fix | Delete
$( `#wpforms-field-${ res.data.field.id }` ).trigger( 'click' );
[5769] Fix | Delete
} );
[5770] Fix | Delete
} );
[5771] Fix | Delete
[5772] Fix | Delete
// Clicking form last page break button.
[5773] Fix | Delete
$builder.on( 'input', '#wpforms-panel-field-settings-pagebreak_prev', function() {
[5774] Fix | Delete
$( '.wpforms-field-pagebreak-last button' ).text( $( this ).val() );
[5775] Fix | Delete
} );
[5776] Fix | Delete
[5777] Fix | Delete
// Real-time updates for editing the form title.
[5778] Fix | Delete
$builder.on( 'input', '#wpforms-panel-field-settings-form_title, #wpforms-setup-name', function() {
[5779] Fix | Delete
const title = $( this ).val().toString().trim();
[5780] Fix | Delete
[5781] Fix | Delete
$( '.wpforms-preview .wpforms-form-name' ).text( title );
[5782] Fix | Delete
$( '.wpforms-center-form-name.wpforms-form-name' ).text( title );
[5783] Fix | Delete
app.trimFormTitle();
[5784] Fix | Delete
} );
[5785] Fix | Delete
[5786] Fix | Delete
// Real-time updates for editing the form description.
[5787] Fix | Delete
$builder.on( 'input', '#wpforms-panel-field-settings-form_desc', function() {
[5788] Fix | Delete
$( '.wpforms-form-desc' ).text( $( this ).val() );
[5789] Fix | Delete
} );
[5790] Fix | Delete
[5791] Fix | Delete
// Real-time updates for editing the form submit button.
[5792] Fix | Delete
$builder.on( 'input', '#wpforms-panel-field-settings-submit_text', function() {
[5793] Fix | Delete
$( '.wpforms-field-submit input[type=submit]' ).val( $( this ).val() );
[5794] Fix | Delete
} );
[5795] Fix | Delete
[5796] Fix | Delete
// Toggle form reCAPTCHA setting.
[5797] Fix | Delete
$builder.on( 'change', '#wpforms-panel-field-settings-recaptcha', function() {
[5798] Fix | Delete
app.captchaToggle();
[5799] Fix | Delete
} );
[5800] Fix | Delete
[5801] Fix | Delete
// Toggle form confirmation setting fields.
[5802] Fix | Delete
$builder.on( 'change', '.wpforms-panel-field-confirmations-type', function() {
[5803] Fix | Delete
app.confirmationFieldsToggle( $( this ) );
[5804] Fix | Delete
} );
[5805] Fix | Delete
[5806] Fix | Delete
$builder.on( 'change', '.wpforms-panel-field-confirmations-message_entry_preview', app.confirmationEntryPreviewToggle );
[5807] Fix | Delete
[5808] Fix | Delete
// Toggle form notification setting fields.
[5809] Fix | Delete
$builder.on( 'change', '#wpforms-panel-field-settings-notification_enable', function() {
[5810] Fix | Delete
app.notificationToggle();
[5811] Fix | Delete
} );
[5812] Fix | Delete
[5813] Fix | Delete
// Add new settings block.
[5814] Fix | Delete
$builder.on( 'click', '.wpforms-builder-settings-block-add', function( e ) {
[5815] Fix | Delete
e.preventDefault();
[5816] Fix | Delete
[5817] Fix | Delete
if ( ! wpforms_builder.pro ) {
[5818] Fix | Delete
return;
[5819] Fix | Delete
}
[5820] Fix | Delete
[5821] Fix | Delete
app.settingsBlockAdd( $( this ) );
[5822] Fix | Delete
} );
[5823] Fix | Delete
[5824] Fix | Delete
// Edit settings block name.
[5825] Fix | Delete
$builder.on( 'click', '.wpforms-builder-settings-block-edit', function( e ) {
[5826] Fix | Delete
e.preventDefault();
[5827] Fix | Delete
[5828] Fix | Delete
const $el = $( this );
[5829] Fix | Delete
[5830] Fix | Delete
if ( $el.parents( '.wpforms-builder-settings-block-header' ).find( '.wpforms-builder-settings-block-name' ).hasClass( 'editing' ) ) {
[5831] Fix | Delete
app.settingsBlockNameEditingHide( $el );
[5832] Fix | Delete
} else {
[5833] Fix | Delete
app.settingsBlockNameEditingShow( $el );
[5834] Fix | Delete
}
[5835] Fix | Delete
} );
[5836] Fix | Delete
[5837] Fix | Delete
// Update settings block name and close editing interface.
[5838] Fix | Delete
$builder.on( 'blur', '.wpforms-builder-settings-block-name-edit input', function( e ) {
[5839] Fix | Delete
// Do not fire if for onBlur user clicked on the edit button - it has its own event processing.
[5840] Fix | Delete
if ( ! $( e.relatedTarget ).hasClass( 'wpforms-builder-settings-block-edit' ) ) {
[5841] Fix | Delete
app.settingsBlockNameEditingHide( $( this ) );
[5842] Fix | Delete
}
[5843] Fix | Delete
} );
[5844] Fix | Delete
[5845] Fix | Delete
// Close settings block editing interface with pressed Enter.
[5846] Fix | Delete
$builder.on( 'keypress', '.wpforms-builder-settings-block-name-edit input', function( e ) {
[5847] Fix | Delete
// On Enter - hide editing interface.
[5848] Fix | Delete
if ( e.keyCode === 13 ) {
[5849] Fix | Delete
app.settingsBlockNameEditingHide( $( this ) );
[5850] Fix | Delete
[5851] Fix | Delete
// We need this preventDefault() to stop jumping to form name editing input.
[5852] Fix | Delete
e.preventDefault();
[5853] Fix | Delete
}
[5854] Fix | Delete
} );
[5855] Fix | Delete
[5856] Fix | Delete
// Clone settings block.
[5857] Fix | Delete
$builder.on( 'click', '.wpforms-builder-settings-block-clone', function( e ) {
[5858] Fix | Delete
e.preventDefault();
[5859] Fix | Delete
[5860] Fix | Delete
app.settingsBlockPanelClone( $( this ) );
[5861] Fix | Delete
} );
[5862] Fix | Delete
[5863] Fix | Delete
// Toggle settings block - slide up or down.
[5864] Fix | Delete
$builder.on( 'click', '.wpforms-builder-settings-block-toggle', function( e ) {
[5865] Fix | Delete
e.preventDefault();
[5866] Fix | Delete
[5867] Fix | Delete
app.settingsBlockPanelToggle( $( this ) );
[5868] Fix | Delete
} );
[5869] Fix | Delete
[5870] Fix | Delete
// Remove settings block.
[5871] Fix | Delete
$builder.on( 'click', '.wpforms-builder-settings-block-delete', function( e ) {
[5872] Fix | Delete
e.preventDefault();
[5873] Fix | Delete
app.settingsBlockDelete( $( this ) );
[5874] Fix | Delete
} );
[5875] Fix | Delete
},
[5876] Fix | Delete
[5877] Fix | Delete
/**
[5878] Fix | Delete
* Toggle displaying the CAPTCHA.
[5879] Fix | Delete
*
[5880] Fix | Delete
* @since 1.6.4
[5881] Fix | Delete
*/
[5882] Fix | Delete
captchaToggle() {
[5883] Fix | Delete
const $preview = $builder.find( '.wpforms-field-recaptcha' ),
[5884] Fix | Delete
$setting = $( '#wpforms-panel-field-settings-recaptcha' );
[5885] Fix | Delete
let provider = $setting.data( 'provider' );
[5886] Fix | Delete
[5887] Fix | Delete
provider = provider || 'recaptcha';
[5888] Fix | Delete
[5889] Fix | Delete
if ( ! $preview.length ) {
[5890] Fix | Delete
return;
[5891] Fix | Delete
}
[5892] Fix | Delete
[5893] Fix | Delete
if ( $setting.is( ':checked' ) ) {
[5894] Fix | Delete
$preview
[5895] Fix | Delete
.show()
[5896] Fix | Delete
.toggleClass( 'is-recaptcha', 'recaptcha' === provider );
[5897] Fix | Delete
} else {
[5898] Fix | Delete
$preview.hide();
[5899] Fix | Delete
}
[5900] Fix | Delete
},
[5901] Fix | Delete
[5902] Fix | Delete
/**
[5903] Fix | Delete
* Set up the Confirmation blocks.
[5904] Fix | Delete
*
[5905] Fix | Delete
* @since 1.4.8
[5906] Fix | Delete
*/
[5907] Fix | Delete
confirmationsSetup() {
[5908] Fix | Delete
// Toggle the setting fields in each confirmation block.
[5909] Fix | Delete
$( '.wpforms-panel-field-confirmations-type' ).each( function() {
[5910] Fix | Delete
app.confirmationFieldsToggle( $( this ) );
[5911] Fix | Delete
} );
[5912] Fix | Delete
[5913] Fix | Delete
// Init TinyMCE in each confirmation block.
[5914] Fix | Delete
$( '.wpforms-panel-field-confirmations-message' ).each( function() {
[5915] Fix | Delete
if ( typeof tinymce !== 'undefined' && typeof wp.editor !== 'undefined' ) {
[5916] Fix | Delete
wp.editor.initialize( $( this ).attr( 'id' ), s.tinymceDefaults );
[5917] Fix | Delete
}
[5918] Fix | Delete
} );
[5919] Fix | Delete
[5920] Fix | Delete
// Validate Confirmation Redirect URL.
[5921] Fix | Delete
$builder.on( 'focusout', '.wpforms-panel-field-confirmations-redirect', function( event ) { // eslint-disable-line no-unused-vars
[5922] Fix | Delete
const $field = $( this );
[5923] Fix | Delete
const url = $field.val().trim();
[5924] Fix | Delete
[5925] Fix | Delete
$field.val( url );
[5926] Fix | Delete
[5927] Fix | Delete
// The value is either a valid URL or empty, we're done.
[5928] Fix | Delete
if ( wpf.isURL( url ) || url === '' ) {
[5929] Fix | Delete
return;
[5930] Fix | Delete
}
[5931] Fix | Delete
[5932] Fix | Delete
// Show the error modal and focus the field.
[5933] Fix | Delete
app.confirmationRedirectValidationError( function() {
[5934] Fix | Delete
$field.trigger( 'focus' );
[5935] Fix | Delete
} );
[5936] Fix | Delete
} );
[5937] Fix | Delete
[5938] Fix | Delete
// Make sure Confirmation Redirect URL is not empty, verify before leaving the panel or saving.
[5939] Fix | Delete
$builder.on( 'wpformsBeforeSave wpformsPanelSectionSwitch wpformsPanelSwitch', function( event ) {
[5940] Fix | Delete
const $confirmations = $( '.wpforms-confirmation' );
[5941] Fix | Delete
[5942] Fix | Delete
$confirmations.each( function( _index, confirmation ) {
[5943] Fix | Delete
const $confirmation = $( confirmation );
[5944] Fix | Delete
const $urlField = $confirmation.find( '.wpforms-panel-field-confirmations-redirect' );
[5945] Fix | Delete
[5946] Fix | Delete
// We're starting on a panel other than Settings > Confirmations, bail.
[5947] Fix | Delete
if ( $urlField.is( ':hidden' ) ) {
[5948] Fix | Delete
return;
[5949] Fix | Delete
}
[5950] Fix | Delete
[5951] Fix | Delete
const $typeField = $confirmation.find( '.wpforms-panel-field-confirmations-type' );
[5952] Fix | Delete
[5953] Fix | Delete
// The Confirmation type is not redirect, bail.
[5954] Fix | Delete
// If the URL value is non-empty, `focusout` validation takes over.
[5955] Fix | Delete
if ( $typeField.val() !== 'redirect' || $urlField.val().trim().length > 0 ) {
[5956] Fix | Delete
return;
[5957] Fix | Delete
}
[5958] Fix | Delete
[5959] Fix | Delete
app.confirmationRedirectValidationError( function() {
[5960] Fix | Delete
$urlField.trigger( 'focus' );
[5961] Fix | Delete
} );
[5962] Fix | Delete
[5963] Fix | Delete
event.stopImmediatePropagation();
[5964] Fix | Delete
event.preventDefault();
[5965] Fix | Delete
[5966] Fix | Delete
return false;
[5967] Fix | Delete
} );
[5968] Fix | Delete
} );
[5969] Fix | Delete
},
[5970] Fix | Delete
[5971] Fix | Delete
/**
[5972] Fix | Delete
* Display confirmation popup for empty or invalid Confirmation Redirect URL.
[5973] Fix | Delete
*
[5974] Fix | Delete
* @since 1.7.6
[5975] Fix | Delete
*
[5976] Fix | Delete
* @param {Function} onDestroyCallback Callback to execute when popup is closed and removed from DOM.
[5977] Fix | Delete
*/
[5978] Fix | Delete
confirmationRedirectValidationError( onDestroyCallback ) {
[5979] Fix | Delete
$.confirm( {
[5980] Fix | Delete
title: wpforms_builder.heads_up,
[5981] Fix | Delete
content: wpforms_builder.redirect_url_field_error,
[5982] Fix | Delete
icon: 'fa fa-exclamation-circle',
[5983] Fix | Delete
type: 'orange',
[5984] Fix | Delete
buttons: {
[5985] Fix | Delete
confirm: {
[5986] Fix | Delete
text: wpforms_builder.ok,
[5987] Fix | Delete
btnClass: 'btn-confirm',
[5988] Fix | Delete
keys: [ 'enter' ],
[5989] Fix | Delete
},
[5990] Fix | Delete
},
[5991] Fix | Delete
onDestroy: onDestroyCallback,
[5992] Fix | Delete
} );
[5993] Fix | Delete
},
[5994] Fix | Delete
[5995] Fix | Delete
/**
[5996] Fix | Delete
* Toggle the different form Confirmation setting fields.
[5997] Fix | Delete
*
[5998] Fix | Delete
* @since 1.4.8
[5999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function