Skip to content
Snippets Groups Projects
Commit 7631cb24 authored by Marcin Kolanko's avatar Marcin Kolanko
Browse files

Merge branch 'feature/new-fields' into 'master'

Feature/new fields

See merge request wpdesk/wp-forms!5
parents b945de4a ee85f8e6
No related branches found
No related tags found
No related merge requests found
Pipeline #4995 failed
# Changelog # Changelog
## [2.0.4] - 2020-06-24
### Added
- new button form field
- new input type number form field
### Changed
- fixed nonce template
## [2.0.3] - 2020-06-22 ## [2.0.3] - 2020-06-22
### Added ### Added
- css class in JSON renderer - css class in JSON renderer
......
<?php
namespace DropshippingXmlVendor\WPDesk\Forms\Field;
class ButtonField extends \DropshippingXmlVendor\WPDesk\Forms\Field\NoValueField
{
public function get_template_name()
{
return 'button';
}
public function get_type()
{
return 'button';
}
}
<?php
namespace DropshippingXmlVendor\WPDesk\Forms\Field;
use DropshippingXmlVendor\WPDesk\Forms\Sanitizer\TextFieldSanitizer;
class InputNumberField extends \DropshippingXmlVendor\WPDesk\Forms\Field\BasicField
{
public function __construct()
{
parent::__construct();
$this->set_default_value('');
$this->set_attribute('type', 'number');
}
public function get_sanitizer()
{
return new \DropshippingXmlVendor\WPDesk\Forms\Sanitizer\TextFieldSanitizer();
}
public function get_template_name()
{
return 'input-number';
}
}
<?php
/**
* @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.
*
*/
?>
<button
<?php if ($field->has_classes()): ?>
class="<?php echo \esc_attr($field->get_classes()); ?>"
<?php endif; ?>
<?php foreach ($field->get_attributes([]) as $key => $val): ?>
<?php echo $key.'="'.\esc_attr($val).'"'; ?>
<?php endforeach; ?>
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()); ?>"
value="<?php echo \esc_html($value); ?>"
<?php if ($field->is_required()): ?>required="required"<?php endif; ?>
<?php if ($field->is_disabled()): ?>disabled="disabled"<?php endif; ?>
<?php if ($field->is_readonly()): ?>readonly="readonly"<?php endif; ?>
><?php echo \esc_html($field->get_label()); ?></button>
<?php
/**
* @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.
*
*/
echo $renderer->render('input', ['field' => $field, 'renderer' => $renderer, 'name_prefix' => $name_prefix, 'value' => $value]);
<?php <?php
/** /**
* @var \WPDesk\Forms\Field $field * @var \WPDesk\Forms\Field $field
* @var string $name_prefix * @var string $name_prefix
...@@ -6,39 +7,42 @@ ...@@ -6,39 +7,42 @@
*/ */
?> ?>
<?php if ( ! in_array( $field->get_type(), [ 'text', 'hidden' ] ) ): ?> <?php if (!\in_array($field->get_type(), ['number', 'text', 'hidden'])): ?>
<input type="hidden" name="<?php echo $name_prefix; ?>[<?php echo $field->get_name(); ?>]" value="no"/> <input type="hidden" name="<?php echo $name_prefix.'['.$field->get_name().']'; ?>" value="no"/>
<?php endif; ?> <?php endif; ?>
<?php if ( $field->get_type() === 'checkbox' && $field->has_sublabel() ) : ?> <?php if ($field->get_type() === 'checkbox' && $field->has_sublabel()): ?><label><?php endif; ?>
<label>
<?php endif; ?>
<input <input
type="<?php echo esc_attr( $field->get_type() ); ?>" type="<?php echo \esc_attr($field->get_type()); ?>"
name="<?php echo esc_attr( $name_prefix ); ?>[<?php echo esc_attr( $field->get_name() ); ?>]" name="<?php echo \esc_attr($name_prefix).'['.\esc_attr($field->get_name()).']'; ?>"
id="<?php echo esc_attr( $field->get_id() ); ?>" id="<?php echo \esc_attr($field->get_id()); ?>"
<?php if ( $field->has_classes() ): ?>class="<?php echo esc_attr( $field->get_classes() ); ?>"<?php endif; ?> <?php if ($field->has_classes()): ?>
class="<?php echo \esc_attr($field->get_classes()); ?>"
<?php endif; ?>
<?php if ( $field->get_type() === 'text' && $field->has_placeholder() ): ?>placeholder="<?php echo esc_html( $field->get_placeholder() ); ?>"<?php endif; ?> <?php if ($field->get_type() === 'text' && $field->has_placeholder()):?>
placeholder="<?php echo \esc_html($field->get_placeholder());?>"
<?php endif; ?>
<?php foreach ( $field->get_attributes() as $key => $atr_val ): ?> <?php foreach ($field->get_attributes() as $key => $atr_val):
<?php echo $key ?>="<?php echo esc_attr( $atr_val ); ?>" echo $key.'="'.\esc_attr($atr_val).'"'; ?>
<?php endforeach; ?> <?php endforeach; ?>
<?php if ($field->is_required()): ?>required="required"<?php endif; ?> <?php if ($field->is_required()): ?>required="required"<?php endif; ?>
<?php if ($field->is_disabled()): ?>disabled="disabled"<?php endif; ?> <?php if ($field->is_disabled()): ?>disabled="disabled"<?php endif; ?>
<?php if ($field->is_readonly()): ?>readonly="readonly"<?php endif; ?> <?php if ($field->is_readonly()): ?>readonly="readonly"<?php endif; ?>
<?php if (\in_array($field->get_type(), ['number', 'text', 'hidden'])): ?>
<?php if ( in_array( $field->get_type(), [ 'text', 'hidden' ] ) ): ?> value="<?php echo \esc_html($value); ?>"
value="<?php echo esc_html( $value ); ?>"
<?php else: ?> <?php else: ?>
value="yes" value="yes"
<?php if ( $value === 'yes' ): ?>checked="checked"<?php endif; ?> <?php if ($value === 'yes'): ?>
checked="checked"
<?php endif; ?>
<?php endif; ?> <?php endif; ?>
/> />
<?php if ($field->get_type() === 'checkbox' && $field->has_sublabel()): ?> <?php if ($field->get_type() === 'checkbox' && $field->has_sublabel()): ?>
<?php echo esc_html( $field->get_sublabel() ); ?></label> <?php echo \esc_html($field->get_sublabel()); ?></label>
<?php endif; ?> <?php endif; ?>
<?php <?php
/** /**
* @var \WPDesk\Forms\Field $field * @var \WPDesk\Forms\Field $field
* @var string $name_prefix * @var string $name_prefix
* @var string $value * @var string $value
*/ */
?> \wp_nonce_field($field->get_meta_value('action'), $name_prefix .'['. $field->get_name().']');
<?php wp_nonce_field( $field->get_meta_value( 'action' ), $name_prefix . $field->get_name() );
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment