WebGradientsControl.php (2171B)
1 <?php 2 3 namespace Materialis; 4 5 6 class WebGradientsControl extends \Kirki_Customize_Control { 7 public $type = "web-gradients"; 8 9 public function __construct( $manager, $id, $args = array() ) { 10 $this->button_label = __( 'Change Gradient', 'materialis' ); 11 parent::__construct( $manager, $id, $args ); 12 } 13 14 public function enqueue() { 15 $jsRoot = get_template_directory_uri() . "/customizer/js"; 16 wp_enqueue_script( 'materialis-webgradients-media-tab', $jsRoot . "/webgradients-media-tab.js", array( 'media-views' ) ); 17 wp_enqueue_script( 'materialis-webgradients-control', $jsRoot . "/webgradients-control.js", array( "materialis-webgradients-media-tab" ) ); 18 } 19 20 public function to_json() { 21 parent::to_json(); 22 $this->json['button_label'] = $this->button_label; 23 } 24 25 26 protected function content_template() { 27 ?> 28 <# if ( data.tooltip ) { #> 29 <a href="#" class="tooltip hint--left" data-hint="{{ data.tooltip }}"><span class='dashicons dashicons-info'></span></a> 30 <# } #> 31 <label> 32 <# if ( data.label ) { #> 33 <span class="customize-control-title">{{{ data.label }}}</span> 34 <# } #> 35 <# if ( data.description ) { #> 36 <span class="description customize-control-description">{{{ data.description }}}</span> 37 <# } #> 38 </label> 39 40 <div class="webgradient-icon-container"> 41 <div class="webgradient-icon-preview"> 42 <div class="webgradient {{data.value}}"></i> 43 <input type="hidden" value="{{ data.value }}" name="_customize-input-{{ data.id }}" {{{ data.link }}}/> 44 </div> 45 <div class="label">{{data.value.replace(/_/ig,' ')}}</div> 46 <div class="webgradient-controls"> 47 <button type="button" class="button upload-button control-focus" id="_customize-button-{{ data.id }}">{{{ data.button_label }}}</button> 48 </div> 49 </div> 50 <?php 51 52 } 53 }