<?php
namespace ColibriWP\Theme\Customizer\Controls;
use ColibriWP\Theme\Core\Utils;
use ColibriWP\Theme\Translations;
use WP_Customize_Manager;
class ButtonGroupControl extends VueControl {
public $type = 'colibri-button-group';
public function __construct( WP_Customize_Manager $manager, $id, array $args = array() ) {
parent::__construct( $manager, $id, $args );
}
public static function sanitize( $value, $control_data, $default = '' ) {
$list_value = Utils::sanitizeSelectControl( $control_data, $value );
$none_value = Utils::pathGet( $control_data, 'none_value', null );
if ( ! $list_value && $none_value !== null && $none_value === $value ) {
$list_value = $none_value;
}
return $list_value;
}
/**
* @return bool|mixed
*/
public function getNoneValue() {
return $this->getParam( 'none_value' );
}
protected function content_template() {
$this->printVueMountPoint();
?>
<div class="customize-control-notifications-container"></div>
<?php
}
protected function printVueContent() {
?>
<div class="colibri-fullwidth">
<div class="inline-elements-container">
<div class="inline-element">
<# if ( data.label ) { #>
<span class="customize-control-title">{{{ data.label }}}</span>
<# } #>
</div>
<div class="inline-element fit">
<# if ( data.none_value ) { #>
<el-button @click="noneClicked"
type="text"><?php Translations::escHtmlE( 'none' ); ?></el-button>
<# } #>
</div>
</div>
<colibri-group-control
:items="options"
:value="value"
:size="size"
@change="handleButtonClicked"></colibri-group-control>
</div>
<?php
}
}