Current File : /home/pacjaorg/www/copwordpres/wp-content/plugins/plugins/elementor/core/schemes/base-ui.php |
<?php
namespace Elementor\Core\Schemes;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
abstract class Base_UI extends Base {
/**
* System schemes.
*
* Holds the list of all the system schemes.
*
* @since 2.8.0
* @access private
*
* @var array System schemes.
*/
private $_system_schemes;
/**
* Get scheme title.
*
* Retrieve the scheme title.
*
* @since 2.8.0
* @access public
*/
abstract public function get_title();
/**
* Get scheme disabled title.
*
* Retrieve the scheme disabled title.
*
* @since 2.8.0
* @access public
*/
abstract public function get_disabled_title();
/**
* Get scheme titles.
*
* Retrieve the scheme titles.
*
* @since 2.8.0
* @access public
*/
abstract public function get_scheme_titles();
/**
* Print scheme content template.
*
* Used to generate the HTML in the editor using Underscore JS template. The
* variables for the class are available using `data` JS object.
*
* @since 2.8.0
* @access public
*/
abstract public function print_template_content();
/**
* Init system schemes.
*
* Initialize the system schemes.
*
* @since 2.8.0
* @access protected
* @abstract
*/
abstract protected function _init_system_schemes();
/**
* Get system schemes.
*
* Retrieve the system schemes.
*
* @since 1.0.0
* @access public
*
* @return array System schemes.
*/
final public function get_system_schemes() {
if ( null === $this->_system_schemes ) {
$this->_system_schemes = $this->_init_system_schemes();
}
return $this->_system_schemes;
}
/**
* Print scheme template.
*
* Used to generate the scheme template on the editor using Underscore JS
* template.
*
* @since 2.8.0
* @access public
*/
final public function print_template() {
?>
<script type="text/template" id="tmpl-elementor-panel-schemes-<?php echo esc_attr( static::get_type() ); ?>">
<div class="elementor-panel-scheme-buttons">
<div class="elementor-panel-scheme-button-wrapper elementor-panel-scheme-reset">
<button class="elementor-button">
<i class="fa fa-undo" aria-hidden="true"></i>
<?php echo esc_html__( 'Reset', 'elementor' ); ?>
</button>
</div>
<div class="elementor-panel-scheme-button-wrapper elementor-panel-scheme-discard">
<button class="elementor-button">
<i class="eicon-close" aria-hidden="true"></i>
<?php echo esc_html__( 'Discard', 'elementor' ); ?>
</button>
</div>
<div class="elementor-panel-scheme-button-wrapper elementor-panel-scheme-save">
<button class="elementor-button" disabled><?php echo esc_html__( 'Apply', 'elementor' ); ?></button>
</div>
</div>
<?php $this->print_template_content(); ?>
</script>
<?php
}
/**
* Get scheme.
*
* Retrieve the scheme.
*
* @since 2.8.0
* @access public
*
* @return array The scheme.
*/
public function get_scheme() {
$scheme = [];
$titles = $this->get_scheme_titles();
foreach ( $this->get_scheme_value() as $scheme_key => $scheme_value ) {
$scheme[ $scheme_key ] = [
'title' => isset( $titles[ $scheme_key ] ) ? $titles[ $scheme_key ] : '',
'value' => $scheme_value,
];
}
return $scheme;
}
}