PluginProbe
King Addons for Elementor – 100+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce Builder, Mega Menu, Popup Builder / 51.1.87
King Addons for Elementor – 100+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce Builder, Mega Menu, Popup Builder v51.1.87
51.1.87 51.1.86 51.1.84 51.1.85 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 All 41 releases
← All changes | includes/controls/Ajax_Select2/Ajax_Select2.php +54 -0 51.1.2 → 51.1.87 View file →
@@ -1,0 +1,54 @@
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 +}