| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <?php
- namespace Elementor;
- if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly.
- }
- /**
- * Elementor button control.
- *
- * A base control for creating a button control. Displays a button that can
- * trigger an event.
- *
- * @since 1.9.0
- */
- class Control_Button extends Base_UI_Control {
- /**
- * Get button control type.
- *
- * Retrieve the control type, in this case `button`.
- *
- * @since 1.9.0
- * @access public
- *
- * @return string Control type.
- */
- public function get_type() {
- return 'button';
- }
- /**
- * Get button control default settings.
- *
- * Retrieve the default settings of the button control. Used to
- * return the default settings while initializing the button
- * control.
- *
- * @since 1.9.0
- * @access protected
- *
- * @return array Control default settings.
- */
- protected function get_default_settings() {
- return [
- 'text' => '',
- 'event' => '',
- 'button_type' => 'default',
- ];
- }
- /**
- * Render button control output in the editor.
- *
- * Used to generate the control HTML in the editor using Underscore JS
- * template. The variables for the class are available using `data` JS
- * object.
- *
- * @since 1.9.0
- * @access public
- */
- public function content_template() {
- ?>
- <div class="elementor-control-field">
- <label class="elementor-control-title">{{{ data.label }}}</label>
- <div class="elementor-control-input-wrapper">
- <button type="button" class="elementor-button elementor-button-{{{ data.button_type }}}" data-event="{{{ data.event }}}">{{{ data.text }}}</button>
- </div>
- </div>
- <# if ( data.description ) { #>
- <div class="elementor-control-field-description">{{{ data.description }}}</div>
- <# } #>
- <?php
- }
- }
|