text.php (2092B)
1 <?php 2 namespace Elementor; 3 4 use Elementor\Modules\DynamicTags\Module as TagsModule; 5 6 if ( ! defined( 'ABSPATH' ) ) { 7 exit; // Exit if accessed directly. 8 } 9 10 /** 11 * Elementor text control. 12 * 13 * A base control for creating text control. Displays a simple text input. 14 * 15 * @since 1.0.0 16 */ 17 class Control_Text extends Base_Data_Control { 18 19 /** 20 * Get text control type. 21 * 22 * Retrieve the control type, in this case `text`. 23 * 24 * @since 1.0.0 25 * @access public 26 * 27 * @return string Control type. 28 */ 29 public function get_type() { 30 return 'text'; 31 } 32 33 /** 34 * Render text control output in the editor. 35 * 36 * Used to generate the control HTML in the editor using Underscore JS 37 * template. The variables for the class are available using `data` JS 38 * object. 39 * 40 * @since 1.0.0 41 * @access public 42 */ 43 public function content_template() { 44 ?> 45 <div class="elementor-control-field"> 46 <# if ( data.label ) {#> 47 <label for="<?php $this->print_control_uid(); ?>" class="elementor-control-title">{{{ data.label }}}</label> 48 <# } #> 49 <div class="elementor-control-input-wrapper elementor-control-unit-5 elementor-control-dynamic-switcher-wrapper"> 50 <input id="<?php $this->print_control_uid(); ?>" type="{{ data.input_type }}" class="tooltip-target elementor-control-tag-area" data-tooltip="{{ data.title }}" title="{{ data.title }}" data-setting="{{ data.name }}" placeholder="{{ view.getControlPlaceholder() }}" /> 51 </div> 52 </div> 53 <# if ( data.description ) { #> 54 <div class="elementor-control-field-description">{{{ data.description }}}</div> 55 <# } #> 56 <?php 57 } 58 59 /** 60 * Get text control default settings. 61 * 62 * Retrieve the default settings of the text control. Used to return the 63 * default settings while initializing the text control. 64 * 65 * @since 1.0.0 66 * @access protected 67 * 68 * @return array Control default settings. 69 */ 70 protected function get_default_settings() { 71 return [ 72 'input_type' => 'text', 73 'placeholder' => '', 74 'title' => '', 75 'dynamic' => [ 76 'categories' => [ 77 TagsModule::TEXT_CATEGORY, 78 ], 79 ], 80 ]; 81 } 82 }