1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
<?php
namespace Elementor\Core\Kits\Documents\Tabs;
use Elementor\Controls_Manager; use Elementor\Core\Kits\Documents\Kit; use Elementor\Core\Kits\Manager; use Elementor\Plugin; use Elementor\Settings; use Elementor\Sub_Controls_Stack;
if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly }
abstract class Tab_Base extends Sub_Controls_Stack { /** * @var Kit */ protected $parent;
abstract protected function register_tab_controls();
public function get_group() { return 'settings'; }
public function get_icon() { return ''; }
public function get_help_url() { return ''; }
public function get_additional_tab_content() { return ''; }
public function register_controls() { $this->register_tab();
$this->register_tab_controls(); }
public function on_save( $data ) {}
/** * Before Save * * Allows for modifying the kit data before it is saved to the database. * * @param array $data * @return array */ public function before_save( array $data ) { return $data; }
protected function register_tab() { Controls_Manager::add_tab( $this->get_id(), $this->get_title() ); }
protected function add_default_globals_notice() { // Get the current section config (array - section id and tab) to use for creating a unique control ID and name $current_section = $this->parent->get_current_section();
/** @var Manager $module */ $kits_manager = Plugin::$instance->kits_manager;
if ( $kits_manager->is_custom_colors_enabled() || $kits_manager->is_custom_typography_enabled() ) { $this->add_control( $current_section['section'] . '_schemes_notice', [ 'name' => $current_section['section'] . '_schemes_notice', 'type' => Controls_Manager::ALERT, 'alert_type' => 'warning', 'content' => sprintf( /* translators: 1: Link open tag, 2: Link close tag. */ esc_html__( 'In order for Theme Style to affect all relevant Elementor elements, please disable Default Colors and Fonts from the %1$sSettings Page%2$s.', 'elementor' ), '<a href="' . Settings::get_settings_tab_url( 'general' ) . '" target="_blank">', '</a>' ), 'render_type' => 'ui', ] ); } } }
|