PluginProbe
King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder / 51.1.83
King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder v51.1.83
51.1.83 51.1.82 51.1.81 51.1.79 51.1.78 51.1.77 51.1.76 51.1.74 51.1.75 51.1.65 51.1.64 51.1.63 trunk 51.1.14 51.1.2 51.1.35 51.1.36 51.1.37 51.1.38 51.1.39 51.1.44 51.1.45 51.1.46 51.1.47 51.1.49 All 37 releases
king-addons / includes / controls / Ajax_Select2 / Ajax_Select2.php

Ajax_Select2.php in King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder 51.1.83, at includes/controls/Ajax_Select2/Ajax_Select2.php

54 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php /** @noinspection PhpUnused, SpellCheckingInspection, DuplicatedCode */
2
3 namespace King_Addons\AJAX_Select2;
4
5 use Elementor\Base_Data_Control;
6
7 if (!defined('ABSPATH')) {
8 exit; // Exit if accessed directly.
9 }
10
11 class Ajax_Select2 extends Base_Data_Control
12 {
13 public function get_type(): string
14 {
15 return 'king-addons-ajax-select2';
16 }
17
18 public function enqueue(): void
19 {
20 wp_enqueue_script(KING_ADDONS_ASSETS_UNIQUE_KEY . '-ajax-select2', KING_ADDONS_URL . 'includes/controls/Ajax_Select2/ajax-select2.js', array('jquery'), KING_ADDONS_VERSION);
21 }
22
23 protected function get_default_settings(): array
24 {
25 return [
26 'options' => [],
27 'multiple' => false,
28 'select2options' => [],
29 'query_slug' => '',
30 ];
31 }
32
33 public function content_template(): void
34 {
35 $control_uid = $this->get_control_uid();
36 ?>
37 <div class="elementor-control-field">
38 <label for="<?php echo esc_attr($control_uid); ?>" class="elementor-control-title">{{{ data.label }}}</label>
39 <div class="elementor-control-input-wrapper">
40 <# var multiple = ( data.multiple ) ? 'multiple' : ''; #>
41 <!--suppress HtmlUnknownAttribute -->
42 <select id="<?php echo esc_attr($control_uid); ?>"
43 class="elementor-control-type-king-addons-ajaxselect2" {{
44 multiple }} data-query-slug="{{data.query_slug}}" data-setting="{{ data.name }}"
45 data-rest-url="<?php echo esc_attr(get_rest_url() . 'kingaddons/v1' . '/{{data.options}}/'); ?>">
46 </select>
47 </div>
48 </div>
49 <# if ( data.description ) { #>
50 <div class="elementor-control-field-description">{{{ data.description }}}</div>
51 <# } #>
52 <?php
53 }
54 }