.
*
* @package ReduxFramework
* @subpackage Field_Color
* @author Daniel J Griffiths (Ghost1227)
* @author Dovy Paukstys
* @version 3.0.0
*/
// Exit if accessed directly
if( !defined( 'ABSPATH' ) ) exit;
// Don't duplicate me!
if( !class_exists( 'ReduxFramework_color' ) ) {
/**
* Main ReduxFramework_color class
*
* @since 1.0.0
*/
class ReduxFramework_color extends ReduxFramework {
/**
* Field Constructor.
*
* Required - must call the parent constructor, then assign field and value to vars, and obviously call the render field function
*
* @since 1.0.0
* @access public
* @return void
*/
function __construct( $field = array(), $value ='', $parent ) {
//parent::__construct( $parent->sections, $parent->args );
$this->parent = $parent;
$this->field = $field;
$this->value = $value;
}
/**
* Field Render Function.
*
* Takes the vars and outputs the HTML for the field in the settings
*
* @since 1.0.0
* @access public
* @return void
*/
public function render() {
echo '';
if ( !isset( $this->field['transparent'] ) || $this->field['transparent'] !== false ) {
$tChecked = "";
if ( $this->value == "transparent" ) {
$tChecked = ' checked="checked"';
}
echo '';
}
}
/**
* Enqueue Function.
*
* If this field requires any scripts, or css define this function and register/enqueue the scripts/css
*
* @since 1.0.0
* @access public
* @return void
*/
public function enqueue() {
wp_enqueue_style( 'wp-color-picker' );
wp_enqueue_script(
'redux-field-color-js',
ReduxFramework::$_url . 'inc/fields/color/field_color.js',
array( 'jquery', 'wp-color-picker' ),
time(),
true
);
wp_enqueue_style(
'redux-field-color-css',
ReduxFramework::$_url . 'inc/fields/color/field_color.css',
time(),
true
);
}
public function output() {
$style = '';
if ( !empty( $this->value ) ) {
$mode = ( isset( $this->field['mode'] ) && !empty( $this->field['mode'] ) ? $this->field['mode'] : 'color' );
$style .= $mode.':'.$this->value.';';
if ( !empty( $this->field['output'] ) && is_array( $this->field['output'] ) ) {
$keys = implode(",", $this->field['output']);
$this->parent->outputCSS .= $keys . "{" . $style . '}';
}
if ( !empty( $this->field['compiler'] ) && is_array( $this->field['compiler'] ) ) {
$keys = implode(",", $this->field['compiler']);
$this->parent->compilerCSS .= $keys . "{" . $style . '}';
}
}
}
}
}