date-time.php (1869B)
1 <?php 2 namespace Elementor; 3 4 if ( ! defined( 'ABSPATH' ) ) { 5 exit; // Exit if accessed directly. 6 } 7 8 /** 9 * Elementor date/time control. 10 * 11 * A base control for creating date time control. Displays a date/time picker 12 * based on the Flatpickr library @see https://chmln.github.io/flatpickr/ . 13 * 14 * @since 1.0.0 15 */ 16 class Control_Date_Time extends Base_Data_Control { 17 18 /** 19 * Get date time control type. 20 * 21 * Retrieve the control type, in this case `date_time`. 22 * 23 * @since 1.0.0 24 * @access public 25 * 26 * @return string Control type. 27 */ 28 public function get_type() { 29 return 'date_time'; 30 } 31 32 /** 33 * Get date time control default settings. 34 * 35 * Retrieve the default settings of the date time control. Used to return the 36 * default settings while initializing the date time control. 37 * 38 * @since 1.8.0 39 * @access protected 40 * 41 * @return array Control default settings. 42 */ 43 protected function get_default_settings() { 44 return [ 45 'label_block' => true, 46 'picker_options' => [], 47 ]; 48 } 49 50 /** 51 * Render date time control output in the editor. 52 * 53 * Used to generate the control HTML in the editor using Underscore JS 54 * template. The variables for the class are available using `data` JS 55 * object. 56 * 57 * @since 1.0.0 58 * @access public 59 */ 60 public function content_template() { 61 ?> 62 <div class="elementor-control-field"> 63 <label for="<?php $this->print_control_uid(); ?>" class="elementor-control-title">{{{ data.label }}}</label> 64 <div class="elementor-control-input-wrapper"> 65 <input id="<?php $this->print_control_uid(); ?>" placeholder="{{ view.getControlPlaceholder() }}" class="elementor-date-time-picker flatpickr" type="text" data-setting="{{ data.name }}"> 66 </div> 67 </div> 68 <# if ( data.description ) { #> 69 <div class="elementor-control-field-description">{{{ data.description }}}</div> 70 <# } #> 71 <?php 72 } 73 }