PluginProbe
Elementor Website Builder – more than just a page builder / 3.6.0-dev1
Elementor Website Builder – more than just a page builder v3.6.0-dev1
4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 4.0.7 All 451 releases
elementor / trunk / core / breakpoints / breakpoint.php

breakpoint.php in Elementor Website Builder – more than just a page builder 3.6.0-dev1, at trunk/core/breakpoints/breakpoint.php

155 lines 2.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Elementor\Core\Breakpoints;
3
4 use Elementor\Core\Base\Base_Object;
5 use Elementor\Plugin;
6 use Elementor\Core\Breakpoints\Manager as Breakpoints_Manager;
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit; // Exit if accessed directly.
10 }
11
12 class Breakpoint extends Base_Object {
13
14 private $name;
15 private $label;
16 private $default_value;
17 private $db_key;
18 private $value;
19 private $is_custom;
20 private $direction = 'max';
21 private $is_enabled = false;
22 private $config;
23
24 /**
25 * Get Name
26 *
27 * @since 3.2.0
28 *
29 * @return string
30 */
31 public function get_name() {
32 return $this->name;
33 }
34
35 /**
36 * Is Enabled
37 *
38 * Check if the breakpoint is enabled or not. The breakpoint instance receives this data from
39 * the Breakpoints Manager.
40 *
41 * @return bool $is_enabled class variable
42 */
43 public function is_enabled() {
44 return $this->is_enabled;
45 }
46
47 /**
48 * Get Label
49 *
50 * Retrieve the breakpoint label.
51 *
52 * @since 3.2.0
53 *
54 * @return string $label class variable
55 */
56 public function get_label() {
57 return $this->label;
58 }
59
60 /**
61 * Get Value
62 *
63 * Retrieve the saved breakpoint value.
64 *
65 * @since 3.2.0
66 *
67 * @return int $value class variable
68 */
69 public function get_value() {
70 if ( ! $this->value ) {
71 $this->init_value();
72 }
73
74 return $this->value;
75 }
76
77 /**
78 * Is Custom
79 *
80 * Check if the breakpoint's value is a custom or default value.
81 *
82 * @since 3.2.0
83 *
84 * @return bool $is_custom class variable
85 */
86 public function is_custom() {
87 if ( ! $this->is_custom ) {
88 $this->get_value();
89 }
90
91 return $this->is_custom;
92 }
93
94 /**
95 * Get Default Value
96 *
97 * Returns the Breakpoint's default value.
98 *
99 * @since 3.2.0
100 *
101 * @return int $default_value class variable
102 */
103 public function get_default_value() {
104 return $this->default_value;
105 }
106
107 /**
108 * Get Direction
109 *
110 * Returns the Breakpoint's direction ('min'/'max').
111 *
112 * @since 3.2.0
113 *
114 * @return string $direction class variable
115 */
116 public function get_direction() {
117 return $this->direction;
118 }
119
120 /**
121 * Set Value
122 *
123 * Set the `$value` class variable and the `$is_custom` class variable.
124 *
125 * @since 3.2.0
126 *
127 * @return int $value class variable
128 */
129 private function init_value() {
130 $cached_value = Plugin::$instance->kits_manager->get_current_settings( $this->db_key );
131
132 if ( $cached_value ) {
133 $this->value = (int) $cached_value;
134
135 $this->is_custom = $this->value !== $this->default_value;
136 } else {
137 $this->value = $this->default_value;
138
139 $this->is_custom = false;
140 }
141
142 return $this->value;
143 }
144
145 public function __construct( $args ) {
146 $this->name = $args['name'];
147 $this->label = $args['label'];
148 // Used for CSS generation
149 $this->db_key = Breakpoints_Manager::BREAKPOINT_SETTING_PREFIX . $args['name'];
150 $this->direction = $args['direction'];
151 $this->is_enabled = $args['is_enabled'];
152 $this->default_value = $args['default_value'];
153 }
154 }
155