<?php
namespace FSVendor;
/**
* @var \WPDesk\Forms\Field $field
* @var \WPDesk\View\Renderer\Renderer $renderer
* @var string $name_prefix
* @var string $value
* @var string $template_name Real field template.
*/
if (empty($value) || \is_string($value)) {
$input_values[] = '';
} else {
$input_values = $value;
}
?>
<div class="clone-element-container">
<?php
foreach ($input_values as $text_value) {
?>
<?php
if (!\in_array($field->get_type(), ['number', 'text', 'hidden'], \true)) {
?>
<input type="hidden" name="<?php
echo \esc_attr($name_prefix) . '[' . \esc_attr($field->get_name()) . ']';
?>" value="no"/>
<?php
}
?>
<?php
if ($field->get_type() === 'checkbox' && $field->has_sublabel()) {
?>
<label><?php
}
?>
<div class="clone-wrapper">
<input
type="<?php
echo \esc_attr($field->get_type());
?>"
name="<?php
echo \esc_attr($name_prefix) . '[' . \esc_attr($field->get_name()) . '][]';
?>"
id="<?php
echo \esc_attr($field->get_id());
?>"
<?php
if ($field->has_classes()) {
?>
class="<?php
echo \esc_attr($field->get_classes());
?>"
<?php
}
?>
<?php
if ($field->get_type() === 'text' && $field->has_placeholder()) {
?>
placeholder="<?php
echo \esc_html($field->get_placeholder());
?>"
<?php
}
?>
<?php
foreach ($field->get_attributes() as $key => $atr_val) {
echo \esc_attr($key) . '="' . \esc_attr($atr_val) . '"';
?>
<?php
}
?>
<?php
if ($field->is_required()) {
?>
required="required"<?php
}
?>
<?php
if ($field->is_disabled()) {
?>
disabled="disabled"<?php
}
?>
<?php
if ($field->is_readonly()) {
?>
readonly="readonly"<?php
}
?>
<?php
if (\in_array($field->get_type(), ['number', 'text', 'hidden'], \true)) {
?>
value="<?php
echo \esc_html($text_value);
?>"
<?php
} else {
?>
value="yes"
<?php
if ($value === 'yes') {
?>
checked="checked"
<?php
}
?>
<?php
}
?>
/>
<span class="add-field"><span class="dashicons dashicons-plus-alt"></span></span>
<span class="remove-field hidden"><span class="dashicons dashicons-remove"></span></span>
</div>
<?php
if ($field->get_type() === 'checkbox' && $field->has_sublabel()) {
?>
<?php
echo \esc_html($field->get_sublabel());
?></label>
<?php
}
}
?>
</div>
<style>
.clone-element-container .clone-wrapper .add-field {
display: none;
}
.clone-element-container .clone-wrapper:first-child .add-field {
display: inline-block;
}
.clone-element-container .clone-wrapper .remove-field {
display: inline-block;
}
.clone-element-container .clone-wrapper:first-child .remove-field {
display: none;
}
</style>
<script>
jQuery( function ( $ ) {
var add_field = jQuery( '.add-field' );
if ( add_field.length ) {
add_field.click( function ( e ) {
let html = jQuery( this ).closest( '.clone-wrapper' ).clone();
html.find( 'input' ).val( '' );
jQuery( this ).closest( '.clone-wrapper' ).after( html );
} )
jQuery( '.clone-element-container' ).on( "click", ".remove-field", function ( e ) {
let is_disabled = jQuery( this ).hasClass( 'field-disabled' );
if ( !is_disabled ) {
jQuery( this ).closest( '.clone-wrapper' ).remove();
}
} )
jQuery( '.form-table' ).find( 'input,select' ).each( function ( i, v ) {
let disabled = jQuery( this ).attr( 'data-disabled' );
if ( disabled === 'yes' ) {
jQuery( this ).attr( 'disabled', 'disabled' )
jQuery( this ).parent().addClass( 'field-disabled' );
}
} );
}
} );
</script>
<?php