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
},
[5000] Fix | Delete
[5001] Fix | Delete
/**
[5002] Fix | Delete
* Init Display Previous option for Pagebreak field.
[5003] Fix | Delete
*
[5004] Fix | Delete
* @since 1.5.8
[5005] Fix | Delete
*
[5006] Fix | Delete
* @param {jQuery} $field Page Break field jQuery object.
[5007] Fix | Delete
*/
[5008] Fix | Delete
fieldPageBreakInitDisplayPrevious( $field ) {
[5009] Fix | Delete
const id = $field.data( 'field-id' ),
[5010] Fix | Delete
$prevToggle = $( '#wpforms-field-option-row-' + id + '-prev_toggle' ),
[5011] Fix | Delete
$prev = $( '#wpforms-field-option-row-' + id + '-prev' ),
[5012] Fix | Delete
$prevBtn = $field.find( '.wpforms-pagebreak-prev' );
[5013] Fix | Delete
[5014] Fix | Delete
if ( $field.prevAll( '.wpforms-field-pagebreak.wpforms-pagebreak-normal' ).length > 0 ) {
[5015] Fix | Delete
$prevToggle.removeClass( 'hidden' );
[5016] Fix | Delete
$prev.removeClass( 'hidden' );
[5017] Fix | Delete
if ( $prevToggle.find( 'input' ).is( ':checked' ) ) {
[5018] Fix | Delete
$prevBtn.removeClass( 'wpforms-hidden' ).text( $prev.find( 'input' ).val() );
[5019] Fix | Delete
}
[5020] Fix | Delete
} else {
[5021] Fix | Delete
$prevToggle.addClass( 'hidden' );
[5022] Fix | Delete
$prev.addClass( 'hidden' );
[5023] Fix | Delete
$prevBtn.addClass( 'wpforms-hidden' );
[5024] Fix | Delete
}
[5025] Fix | Delete
},
[5026] Fix | Delete
[5027] Fix | Delete
/**
[5028] Fix | Delete
* Field Dynamic Choice toggle.
[5029] Fix | Delete
*
[5030] Fix | Delete
* @since 1.2.8
[5031] Fix | Delete
*
[5032] Fix | Delete
* @param {Element} el Element.
[5033] Fix | Delete
*/
[5034] Fix | Delete
fieldDynamicChoiceToggle( el ) { // eslint-disable-line complexity, max-lines-per-function
[5035] Fix | Delete
let optionHTML;
[5036] Fix | Delete
const $this = $( el ),
[5037] Fix | Delete
$thisOption = $this.parent(),
[5038] Fix | Delete
value = $this.val(),
[5039] Fix | Delete
id = $thisOption.data( 'field-id' );
[5040] Fix | Delete
const $choices = $( '#wpforms-field-option-row-' + id + '-choices' ),
[5041] Fix | Delete
$images = $( '#wpforms-field-option-' + id + '-choices_images' ),
[5042] Fix | Delete
$icons = $( '#wpforms-field-option-' + id + '-choices_icons' );
[5043] Fix | Delete
[5044] Fix | Delete
// Hide image and icon choices if "dynamic choices" is not off.
[5045] Fix | Delete
app.fieldDynamicChoiceToggleImageChoices();
[5046] Fix | Delete
app.fieldDynamicChoiceToggleIconChoices();
[5047] Fix | Delete
[5048] Fix | Delete
// Fire an event when a field's dynamic choices option was changed.
[5049] Fix | Delete
$builder.trigger( 'wpformsFieldDynamicChoiceToggle', [ id ] );
[5050] Fix | Delete
[5051] Fix | Delete
// Loading
[5052] Fix | Delete
wpf.fieldOptionLoading( $thisOption );
[5053] Fix | Delete
[5054] Fix | Delete
// Remove previous dynamic post type or taxonomy source options.
[5055] Fix | Delete
$( '#wpforms-field-option-row-' + id + '-dynamic_post_type' ).remove();
[5056] Fix | Delete
$( '#wpforms-field-option-row-' + id + '-dynamic_taxonomy' ).remove();
[5057] Fix | Delete
[5058] Fix | Delete
/*
[5059] Fix | Delete
* Post type- or Taxonomy-based dynamic populating.
[5060] Fix | Delete
*/
[5061] Fix | Delete
if ( '' !== value ) {
[5062] Fix | Delete
// Hide choice images and icons options, not applicable.
[5063] Fix | Delete
$images.addClass( 'wpforms-hidden' );
[5064] Fix | Delete
$icons.addClass( 'wpforms-hidden' );
[5065] Fix | Delete
[5066] Fix | Delete
// Hide `Bulk Add` toggle.
[5067] Fix | Delete
$choices.find( '.toggle-bulk-add-display' ).addClass( 'wpforms-hidden' );
[5068] Fix | Delete
[5069] Fix | Delete
const data = {
[5070] Fix | Delete
type: value,
[5071] Fix | Delete
field_id: id, // eslint-disable-line camelcase
[5072] Fix | Delete
action: 'wpforms_builder_dynamic_choices',
[5073] Fix | Delete
nonce: wpforms_builder.nonce,
[5074] Fix | Delete
};
[5075] Fix | Delete
[5076] Fix | Delete
$.post( wpforms_builder.ajax_url, data, function( res ) {
[5077] Fix | Delete
if ( res.success ) {
[5078] Fix | Delete
// New option markup.
[5079] Fix | Delete
$thisOption.after( res.data.markup );
[5080] Fix | Delete
} else {
[5081] Fix | Delete
// eslint-disable-next-line no-console
[5082] Fix | Delete
console.log( res );
[5083] Fix | Delete
}
[5084] Fix | Delete
[5085] Fix | Delete
// Hide loading indicator.
[5086] Fix | Delete
wpf.fieldOptionLoading( $thisOption, true );
[5087] Fix | Delete
[5088] Fix | Delete
// Re-init tooltips for new field.
[5089] Fix | Delete
wpf.initTooltips();
[5090] Fix | Delete
[5091] Fix | Delete
// Trigger Dynamic source updates.
[5092] Fix | Delete
$( '#wpforms-field-option-' + id + '-dynamic_' + value ).find( 'option' ).first().prop( 'selected', true );
[5093] Fix | Delete
$( '#wpforms-field-option-' + id + '-dynamic_' + value ).trigger( 'change' );
[5094] Fix | Delete
} ).fail( function( xhr, textStatus, e ) { // eslint-disable-line no-unused-vars
[5095] Fix | Delete
// eslint-disable-next-line no-console
[5096] Fix | Delete
console.log( xhr.responseText );
[5097] Fix | Delete
} );
[5098] Fix | Delete
[5099] Fix | Delete
return; // Nothing more for dynamic populating.
[5100] Fix | Delete
}
[5101] Fix | Delete
[5102] Fix | Delete
/*
[5103] Fix | Delete
* "Off" - no dynamic populating.
[5104] Fix | Delete
*/
[5105] Fix | Delete
[5106] Fix | Delete
let type = $( '#wpforms-field-option-' + id ).find( '.wpforms-field-option-hidden-type' ).val();
[5107] Fix | Delete
[5108] Fix | Delete
// Show choice images and icon options.
[5109] Fix | Delete
$images.removeClass( 'wpforms-hidden' );
[5110] Fix | Delete
$icons.removeClass( 'wpforms-hidden' );
[5111] Fix | Delete
[5112] Fix | Delete
// Show `Bulk Add` toggle.
[5113] Fix | Delete
$choices.find( '.toggle-bulk-add-display' ).removeClass( 'wpforms-hidden' );
[5114] Fix | Delete
[5115] Fix | Delete
$( '#wpforms-field-' + id ).find( '.wpforms-alert' ).remove();
[5116] Fix | Delete
[5117] Fix | Delete
if ( [ 'checkbox', 'radio', 'payment-multiple', 'payment-checkbox' ].indexOf( type ) > -1 ) {
[5118] Fix | Delete
app.fieldChoiceUpdate( type, id );
[5119] Fix | Delete
[5120] Fix | Delete
// Toggle elements and hide loading indicator.
[5121] Fix | Delete
$choices.find( 'ul' ).removeClass( 'wpforms-hidden' );
[5122] Fix | Delete
$choices.find( '.wpforms-alert' ).addClass( 'wpforms-hidden' );
[5123] Fix | Delete
[5124] Fix | Delete
wpf.fieldOptionLoading( $thisOption, true );
[5125] Fix | Delete
[5126] Fix | Delete
return; // Nothing more for those types.
[5127] Fix | Delete
}
[5128] Fix | Delete
[5129] Fix | Delete
// Get original field choices.
[5130] Fix | Delete
const $field = $( '#wpforms-field-' + id );
[5131] Fix | Delete
[5132] Fix | Delete
const choices = [],
[5133] Fix | Delete
$primary = $field.find( '.primary-input' );
[5134] Fix | Delete
let key;
[5135] Fix | Delete
[5136] Fix | Delete
$( '#wpforms-field-option-row-' + id + '-choices li' ).each( function() {
[5137] Fix | Delete
const $this = $( this );
[5138] Fix | Delete
[5139] Fix | Delete
choices.push( {
[5140] Fix | Delete
label: wpf.sanitizeHTML( $this.find( '.label' ).val() ),
[5141] Fix | Delete
selected: $this.find( '.default' ).is( ':checked' ),
[5142] Fix | Delete
} );
[5143] Fix | Delete
} );
[5144] Fix | Delete
[5145] Fix | Delete
// Restore field to display original field choices.
[5146] Fix | Delete
if ( $field.hasClass( 'wpforms-field-select' ) ) {
[5147] Fix | Delete
const isModernSelect = app.dropdownField.helpers.isModernSelect( $primary );
[5148] Fix | Delete
[5149] Fix | Delete
let selected = false;
[5150] Fix | Delete
[5151] Fix | Delete
// Remove previous items.
[5152] Fix | Delete
$primary.find( 'option' ).not( '.placeholder' ).remove();
[5153] Fix | Delete
[5154] Fix | Delete
// Update Modern Dropdown.
[5155] Fix | Delete
if ( isModernSelect && choices.length ) {
[5156] Fix | Delete
app.dropdownField.helpers.update( id, false );
[5157] Fix | Delete
} else {
[5158] Fix | Delete
// Update Classic select field.
[5159] Fix | Delete
for ( key in choices ) {
[5160] Fix | Delete
selected = choices[ key ].selected;
[5161] Fix | Delete
[5162] Fix | Delete
optionHTML = '<option';
[5163] Fix | Delete
optionHTML += selected ? ' selected>' : '>';
[5164] Fix | Delete
optionHTML += choices[ key ].label + '</option>';
[5165] Fix | Delete
[5166] Fix | Delete
$primary.append( optionHTML );
[5167] Fix | Delete
}
[5168] Fix | Delete
}
[5169] Fix | Delete
} else {
[5170] Fix | Delete
type = 'radio';
[5171] Fix | Delete
[5172] Fix | Delete
if ( $field.hasClass( 'wpforms-field-checkbox' ) ) {
[5173] Fix | Delete
type = 'checkbox';
[5174] Fix | Delete
}
[5175] Fix | Delete
[5176] Fix | Delete
// Remove previous items.
[5177] Fix | Delete
$primary.empty();
[5178] Fix | Delete
[5179] Fix | Delete
// Add new items to radio or checkbox field.
[5180] Fix | Delete
for ( key in choices ) {
[5181] Fix | Delete
optionHTML = '<li><input type="' + type + '" disabled';
[5182] Fix | Delete
optionHTML += choices[ key ].selected ? ' selected>' : '>';
[5183] Fix | Delete
optionHTML += choices[ key ].label + '</li>';
[5184] Fix | Delete
[5185] Fix | Delete
$primary.append( optionHTML );
[5186] Fix | Delete
}
[5187] Fix | Delete
}
[5188] Fix | Delete
[5189] Fix | Delete
// Toggle elements and hide loading indicator.
[5190] Fix | Delete
$choices.find( 'ul' ).removeClass( 'wpforms-hidden' );
[5191] Fix | Delete
$choices.find( '.wpforms-alert' ).addClass( 'wpforms-hidden' );
[5192] Fix | Delete
$primary.removeClass( 'wpforms-hidden' );
[5193] Fix | Delete
[5194] Fix | Delete
wpf.fieldOptionLoading( $thisOption, true );
[5195] Fix | Delete
},
[5196] Fix | Delete
[5197] Fix | Delete
/**
[5198] Fix | Delete
* Field Dynamic Choice Source toggle.
[5199] Fix | Delete
*
[5200] Fix | Delete
* @since 1.2.8
[5201] Fix | Delete
*
[5202] Fix | Delete
* @param {Element} el Element.
[5203] Fix | Delete
*/
[5204] Fix | Delete
fieldDynamicChoiceSource( el ) { // eslint-disable-line max-lines-per-function
[5205] Fix | Delete
/* eslint-disable camelcase */
[5206] Fix | Delete
const $this = $( el ),
[5207] Fix | Delete
$thisOption = $this.parent(),
[5208] Fix | Delete
value = $this.val(),
[5209] Fix | Delete
id = $thisOption.data( 'field-id' ),
[5210] Fix | Delete
form_id = $( '#wpforms-builder-form' ).data( 'id' ),
[5211] Fix | Delete
$choices = $( '#wpforms-field-option-row-' + id + '-choices' ),
[5212] Fix | Delete
$field = $( '#wpforms-field-' + id ),
[5213] Fix | Delete
type = $( '#wpforms-field-option-' + id + '-dynamic_choices option:selected' ).val();
[5214] Fix | Delete
let limit = 20;
[5215] Fix | Delete
[5216] Fix | Delete
// Loading.
[5217] Fix | Delete
wpf.fieldOptionLoading( $thisOption );
[5218] Fix | Delete
[5219] Fix | Delete
const data = {
[5220] Fix | Delete
type,
[5221] Fix | Delete
source: value,
[5222] Fix | Delete
field_id: id,
[5223] Fix | Delete
form_id,
[5224] Fix | Delete
action: 'wpforms_builder_dynamic_source',
[5225] Fix | Delete
nonce: wpforms_builder.nonce,
[5226] Fix | Delete
};
[5227] Fix | Delete
[5228] Fix | Delete
$.post( wpforms_builder.ajax_url, data, function( res ) {
[5229] Fix | Delete
if ( ! res.success ) {
[5230] Fix | Delete
// eslint-disable-next-line no-console
[5231] Fix | Delete
console.log( res );
[5232] Fix | Delete
[5233] Fix | Delete
// Toggle elements and hide loading indicator.
[5234] Fix | Delete
wpf.fieldOptionLoading( $thisOption, true );
[5235] Fix | Delete
return;
[5236] Fix | Delete
}
[5237] Fix | Delete
[5238] Fix | Delete
// Update info box and remove old choices.
[5239] Fix | Delete
$choices.find( '.dynamic-name' ).text( res.data.source_name );
[5240] Fix | Delete
$choices.find( '.dynamic-type' ).text( res.data.type_name );
[5241] Fix | Delete
$choices.find( 'ul' ).addClass( 'wpforms-hidden' );
[5242] Fix | Delete
$choices.find( '.wpforms-alert' ).removeClass( 'wpforms-hidden' );
[5243] Fix | Delete
[5244] Fix | Delete
// Update items.
[5245] Fix | Delete
app.fieldDynamicChoiceSourceItems( $field, res.data.items );
[5246] Fix | Delete
[5247] Fix | Delete
if ( $field.hasClass( 'wpforms-field-select' ) ) {
[5248] Fix | Delete
limit = 200;
[5249] Fix | Delete
}
[5250] Fix | Delete
[5251] Fix | Delete
// Remove any previous empty message.
[5252] Fix | Delete
$field.find( '.wpforms-notice-dynamic-empty' ).remove();
[5253] Fix | Delete
[5254] Fix | Delete
// If the source has more items than the field type can
[5255] Fix | Delete
// ideally handle alert the user.
[5256] Fix | Delete
if ( Number( res.data.total ) > limit ) {
[5257] Fix | Delete
let msg = wpforms_builder.dynamic_choices.limit_message;
[5258] Fix | Delete
[5259] Fix | Delete
msg = msg.replace( '{source}', res.data.source_name );
[5260] Fix | Delete
msg = msg.replace( '{type}', res.data.type_name );
[5261] Fix | Delete
msg = msg.replace( '{limit}', limit );
[5262] Fix | Delete
msg = msg.replace( '{total}', res.data.total );
[5263] Fix | Delete
[5264] Fix | Delete
$.alert( {
[5265] Fix | Delete
title: wpforms_builder.heads_up,
[5266] Fix | Delete
content: msg,
[5267] Fix | Delete
icon: 'fa fa-info-circle',
[5268] Fix | Delete
type: 'blue',
[5269] Fix | Delete
buttons: {
[5270] Fix | Delete
confirm: {
[5271] Fix | Delete
text: wpforms_builder.ok,
[5272] Fix | Delete
btnClass: 'btn-confirm',
[5273] Fix | Delete
keys: [ 'enter' ],
[5274] Fix | Delete
},
[5275] Fix | Delete
},
[5276] Fix | Delete
} );
[5277] Fix | Delete
}
[5278] Fix | Delete
[5279] Fix | Delete
// Toggle limit choices alert message.
[5280] Fix | Delete
app.firstNChoicesAlert( id, res.data.total );
[5281] Fix | Delete
[5282] Fix | Delete
// Toggle empty choices notice message.
[5283] Fix | Delete
if ( Number( res.data.total ) === 0 ) {
[5284] Fix | Delete
app.emptyChoicesNotice( id, res.data.source_name, res.data.type );
[5285] Fix | Delete
}
[5286] Fix | Delete
[5287] Fix | Delete
// Toggle elements and hide loading indicator.
[5288] Fix | Delete
wpf.fieldOptionLoading( $thisOption, true );
[5289] Fix | Delete
} ).fail( function( xhr, textStatus, e ) { // eslint-disable-line no-unused-vars
[5290] Fix | Delete
// eslint-disable-next-line no-console
[5291] Fix | Delete
console.log( xhr.responseText );
[5292] Fix | Delete
} );
[5293] Fix | Delete
},
[5294] Fix | Delete
[5295] Fix | Delete
/**
[5296] Fix | Delete
* Update a Field Items when `Dynamic Choice` Source is toggled.
[5297] Fix | Delete
*
[5298] Fix | Delete
* @since 1.6.1
[5299] Fix | Delete
*
[5300] Fix | Delete
* @param {Object} $field jQuery selector for current field.
[5301] Fix | Delete
* @param {Object} items Items collection.
[5302] Fix | Delete
*/
[5303] Fix | Delete
fieldDynamicChoiceSourceItems( $field, items ) {
[5304] Fix | Delete
const $primary = $field.find( '.primary-input' );
[5305] Fix | Delete
let key = 0;
[5306] Fix | Delete
[5307] Fix | Delete
if ( $field.hasClass( 'wpforms-field-select' ) ) {
[5308] Fix | Delete
const isModernSelect = app.dropdownField.helpers.isModernSelect( $primary );
[5309] Fix | Delete
[5310] Fix | Delete
if ( isModernSelect ) {
[5311] Fix | Delete
app.fieldDynamicChoiceSourceForModernSelect( $primary, items );
[5312] Fix | Delete
} else {
[5313] Fix | Delete
app.fieldDynamicChoiceSourceForClassicSelect( $primary, items );
[5314] Fix | Delete
}
[5315] Fix | Delete
} else {
[5316] Fix | Delete
let type = 'radio';
[5317] Fix | Delete
[5318] Fix | Delete
if ( $field.hasClass( 'wpforms-field-checkbox' ) ) {
[5319] Fix | Delete
type = 'checkbox';
[5320] Fix | Delete
}
[5321] Fix | Delete
[5322] Fix | Delete
// Remove previous items.
[5323] Fix | Delete
$primary.empty();
[5324] Fix | Delete
[5325] Fix | Delete
// Add new items to radio or checkbox field.
[5326] Fix | Delete
for ( key in items ) {
[5327] Fix | Delete
$primary.append( '<li><input type="' + type + '" disabled> ' + wpf.sanitizeHTML( items[ key ] ) + '</li>' );
[5328] Fix | Delete
}
[5329] Fix | Delete
}
[5330] Fix | Delete
},
[5331] Fix | Delete
[5332] Fix | Delete
/**
[5333] Fix | Delete
* Update options for Modern style select when `Dynamic Choice` Source is toggled.
[5334] Fix | Delete
*
[5335] Fix | Delete
* @since 1.6.1
[5336] Fix | Delete
*
[5337] Fix | Delete
* @param {Object} $jquerySelector jQuery selector for primary input.
[5338] Fix | Delete
* @param {Object} items Items collection.
[5339] Fix | Delete
*/
[5340] Fix | Delete
fieldDynamicChoiceSourceForModernSelect( $jquerySelector, items ) {
[5341] Fix | Delete
const instance = app.dropdownField.helpers.getInstance( $jquerySelector ),
[5342] Fix | Delete
fieldId = $jquerySelector.closest( '.wpforms-field' ).data().fieldId;
[5343] Fix | Delete
[5344] Fix | Delete
// Destroy the instance of Choices.js.
[5345] Fix | Delete
instance.destroy();
[5346] Fix | Delete
[5347] Fix | Delete
// Update a placeholder.
[5348] Fix | Delete
app.dropdownField.helpers.updatePlaceholderChoice( instance, fieldId );
[5349] Fix | Delete
[5350] Fix | Delete
// Update options.
[5351] Fix | Delete
app.fieldDynamicChoiceSourceForClassicSelect( $jquerySelector, items );
[5352] Fix | Delete
[5353] Fix | Delete
// Choices.js init.
[5354] Fix | Delete
app.dropdownField.events.choicesInit( $jquerySelector );
[5355] Fix | Delete
},
[5356] Fix | Delete
[5357] Fix | Delete
/**
[5358] Fix | Delete
* Update options for Classic style select when `Dynamic Choice` Source is toggled.
[5359] Fix | Delete
*
[5360] Fix | Delete
* @since 1.6.1
[5361] Fix | Delete
*
[5362] Fix | Delete
* @param {Object} $jquerySelector jQuery selector for primary input.
[5363] Fix | Delete
* @param {Object} items Items collection.
[5364] Fix | Delete
*/
[5365] Fix | Delete
fieldDynamicChoiceSourceForClassicSelect( $jquerySelector, items ) {
[5366] Fix | Delete
let index = 0;
[5367] Fix | Delete
const itemsSize = items.length;
[5368] Fix | Delete
[5369] Fix | Delete
// Clear.
[5370] Fix | Delete
$jquerySelector.find( 'option' ).not( '.placeholder' ).remove();
[5371] Fix | Delete
[5372] Fix | Delete
// Add options (items) to a single <select> field.
[5373] Fix | Delete
for ( ; index < itemsSize; index++ ) {
[5374] Fix | Delete
const item = wpf.sanitizeHTML( items[ index ] );
[5375] Fix | Delete
[5376] Fix | Delete
$jquerySelector.append( '<option value="' + item + '">' + item + '</option>' );
[5377] Fix | Delete
}
[5378] Fix | Delete
[5379] Fix | Delete
$jquerySelector.toggleClass( 'wpforms-hidden', ! itemsSize );
[5380] Fix | Delete
},
[5381] Fix | Delete
[5382] Fix | Delete
/**
[5383] Fix | Delete
* Image choice toggle, hide image choices, image choices style, choices if Dynamic choices is not OFF.
[5384] Fix | Delete
*
[5385] Fix | Delete
* @since 1.5.8
[5386] Fix | Delete
*/
[5387] Fix | Delete
fieldDynamicChoiceToggleImageChoices() {
[5388] Fix | Delete
$( '#wpforms-builder .wpforms-field-options .wpforms-field-option' ).each( function( key, value ) {
[5389] Fix | Delete
const $option = $( value ),
[5390] Fix | Delete
dynamicChoices = $option.find( '.wpforms-field-option-row-dynamic_choices select' ).val(),
[5391] Fix | Delete
isDynamicChoices = typeof dynamicChoices !== 'undefined' && '' !== dynamicChoices,
[5392] Fix | Delete
isImageChoices = $option.find( '.wpforms-field-option-row-choices_images input' ).is( ':checked' );
[5393] Fix | Delete
[5394] Fix | Delete
$option
[5395] Fix | Delete
.find( '.wpforms-field-option-row-choices_images' )
[5396] Fix | Delete
.toggleClass( 'wpforms-hidden', isDynamicChoices );
[5397] Fix | Delete
[5398] Fix | Delete
if ( ! isImageChoices || isDynamicChoices ) {
[5399] Fix | Delete
$option
[5400] Fix | Delete
.find( '.wpforms-field-option-row-choices_images_style' )
[5401] Fix | Delete
.addClass( 'wpforms-hidden' );
[5402] Fix | Delete
}
[5403] Fix | Delete
} );
[5404] Fix | Delete
},
[5405] Fix | Delete
[5406] Fix | Delete
/**
[5407] Fix | Delete
* Hide icon choice toggle, icon choices, color, size and style options if Dynamic choices is not OFF.
[5408] Fix | Delete
*
[5409] Fix | Delete
* @since 1.7.9
[5410] Fix | Delete
*/
[5411] Fix | Delete
fieldDynamicChoiceToggleIconChoices() {
[5412] Fix | Delete
$( '#wpforms-builder .wpforms-field-options .wpforms-field-option' ).each( function( key, value ) {
[5413] Fix | Delete
const $option = $( value ),
[5414] Fix | Delete
dynamicChoices = $option.find( '.wpforms-field-option-row-dynamic_choices select' ).val(),
[5415] Fix | Delete
isDynamicChoices = typeof dynamicChoices !== 'undefined' && '' !== dynamicChoices,
[5416] Fix | Delete
isIconChoices = $option.find( '.wpforms-field-option-row-choices_icons input' ).is( ':checked' );
[5417] Fix | Delete
[5418] Fix | Delete
$option
[5419] Fix | Delete
.find( '.wpforms-field-option-row-choices_icons' )
[5420] Fix | Delete
.toggleClass( 'wpforms-hidden', isDynamicChoices );
[5421] Fix | Delete
[5422] Fix | Delete
if ( ! isIconChoices || isDynamicChoices ) {
[5423] Fix | Delete
$option
[5424] Fix | Delete
.find( '.wpforms-field-option-row-choices_icons_color' )
[5425] Fix | Delete
.addClass( 'wpforms-hidden' );
[5426] Fix | Delete
$option
[5427] Fix | Delete
.find( '.wpforms-field-option-row-choices_icons_size' )
[5428] Fix | Delete
.addClass( 'wpforms-hidden' );
[5429] Fix | Delete
$option
[5430] Fix | Delete
.find( '.wpforms-field-option-row-choices_icons_style' )
[5431] Fix | Delete
.addClass( 'wpforms-hidden' );
[5432] Fix | Delete
}
[5433] Fix | Delete
} );
[5434] Fix | Delete
},
[5435] Fix | Delete
[5436] Fix | Delete
/**
[5437] Fix | Delete
* Show choices limit alert message.
[5438] Fix | Delete
*
[5439] Fix | Delete
* @since 1.6.9
[5440] Fix | Delete
*
[5441] Fix | Delete
* @param {number} fieldId Field ID.
[5442] Fix | Delete
* @param {number} total Total number of choices.
[5443] Fix | Delete
*/
[5444] Fix | Delete
firstNChoicesAlert: ( fieldId, total ) => {
[5445] Fix | Delete
const $field = $( '#wpforms-field-' + fieldId );
[5446] Fix | Delete
[5447] Fix | Delete
// Don't show a message for select fields.
[5448] Fix | Delete
if ( $field.hasClass( 'wpforms-field-select' ) ) {
[5449] Fix | Delete
return;
[5450] Fix | Delete
}
[5451] Fix | Delete
[5452] Fix | Delete
const tmpl = wp.template( 'wpforms-choices-limit-message' ),
[5453] Fix | Delete
data = {
[5454] Fix | Delete
total,
[5455] Fix | Delete
},
[5456] Fix | Delete
limit = app.settings.choicesLimit;
[5457] Fix | Delete
[5458] Fix | Delete
$field.find( '.wpforms-alert-dynamic' ).remove();
[5459] Fix | Delete
[5460] Fix | Delete
if ( total > limit ) {
[5461] Fix | Delete
$field.find( '.primary-input' ).after( tmpl( data ) );
[5462] Fix | Delete
}
[5463] Fix | Delete
},
[5464] Fix | Delete
[5465] Fix | Delete
/**
[5466] Fix | Delete
* Show an empty choice notice message.
[5467] Fix | Delete
*
[5468] Fix | Delete
* @since 1.8.2
[5469] Fix | Delete
*
[5470] Fix | Delete
* @param {number} fieldId Field ID.
[5471] Fix | Delete
* @param {string} source Source name.
[5472] Fix | Delete
* @param {string} type Source type.
[5473] Fix | Delete
*/
[5474] Fix | Delete
emptyChoicesNotice( fieldId, source, type ) {
[5475] Fix | Delete
const field = $( '#wpforms-field-' + fieldId );
[5476] Fix | Delete
[5477] Fix | Delete
const emptyDynamicChoicesMessage = wpforms_builder.dynamic_choices.empty_message
[5478] Fix | Delete
.replace( '{source}', source )
[5479] Fix | Delete
.replace( '{type}', wpforms_builder.dynamic_choices.entities[ type ] );
[5480] Fix | Delete
[5481] Fix | Delete
const template = wp.template( 'wpforms-empty-choice-message' ),
[5482] Fix | Delete
data = {
[5483] Fix | Delete
message: emptyDynamicChoicesMessage,
[5484] Fix | Delete
};
[5485] Fix | Delete
[5486] Fix | Delete
field.find( '.label-title' ).after( template( data ) );
[5487] Fix | Delete
},
[5488] Fix | Delete
[5489] Fix | Delete
/**
[5490] Fix | Delete
* Field layout selector toggling.
[5491] Fix | Delete
*
[5492] Fix | Delete
* @since 1.3.7
[5493] Fix | Delete
*
[5494] Fix | Delete
* @param {Element} el Layout selector toggle link element.
[5495] Fix | Delete
*/
[5496] Fix | Delete
fieldLayoutSelectorToggle( el ) {
[5497] Fix | Delete
const $this = $( el ),
[5498] Fix | Delete
$layoutSelectorDisplay = $this.closest( 'label' ).next( '.layout-selector-display' );
[5499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function