PluginProbe
Elementor Website Builder – more than just a page builder / 3.0.2
Elementor Website Builder – more than just a page builder v3.0.2
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 / includes / editor-templates / panel.php

panel.php in Elementor Website Builder – more than just a page builder 3.0.2, at includes/editor-templates/panel.php

298 lines 14.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Elementor;
3
4 use Elementor\Core\Responsive\Responsive;
5
6 if ( ! defined( 'ABSPATH' ) ) {
7 exit; // Exit if accessed directly.
8 }
9
10 $document = Plugin::$instance->documents->get( Plugin::$instance->editor->get_post_id() );
11 ?>
12 <script type="text/template" id="tmpl-elementor-panel">
13 <div id="elementor-mode-switcher"></div>
14 <div id="elementor-panel-state-loading">
15 <i class="eicon-loading eicon-animation-spin"></i>
16 </div>
17 <header id="elementor-panel-header-wrapper"></header>
18 <main id="elementor-panel-content-wrapper"></main>
19 <footer id="elementor-panel-footer">
20 <div class="elementor-panel-container">
21 </div>
22 </footer>
23 </script>
24
25 <script type="text/template" id="tmpl-elementor-panel-menu">
26 <div id="elementor-panel-page-menu-content"></div>
27 <# if ( elementor.config.document.panel.needHelpUrl ) { #>
28 <div id="elementor-panel__editor__help">
29 <a id="elementor-panel__editor__help__link" href="{{{ elementor.config.document.panel.needHelpUrl }}}" target="_blank">
30 <?php echo __( 'Need Help', 'elementor' ); ?>
31 <i class="eicon-help-o"></i>
32 </a>
33 </div>
34 <# } #>
35 </script>
36
37 <script type="text/template" id="tmpl-elementor-panel-menu-group">
38 <div class="elementor-panel-menu-group-title">{{{ title }}}</div>
39 <div class="elementor-panel-menu-items"></div>
40 </script>
41
42 <script type="text/template" id="tmpl-elementor-panel-menu-item">
43 <div class="elementor-panel-menu-item-icon">
44 <i class="{{ icon }}"></i>
45 </div>
46 <# if ( 'undefined' === typeof type || 'link' !== type ) { #>
47 <div class="elementor-panel-menu-item-title">{{{ title }}}</div>
48 <# } else {
49 let target = ( 'undefined' !== typeof newTab && newTab ) ? '_blank' : '_self';
50 #>
51 <a href="{{ link }}" target="{{ target }}"><div class="elementor-panel-menu-item-title">{{{ title }}}</div></a>
52 <# } #>
53 </script>
54
55 <script type="text/template" id="tmpl-elementor-panel-header">
56 <div id="elementor-panel-header-menu-button" class="elementor-header-button">
57 <i class="elementor-icon eicon-menu-bar tooltip-target" aria-hidden="true" data-tooltip="<?php esc_attr_e( 'Menu', 'elementor' ); ?>"></i>
58 <span class="elementor-screen-only"><?php echo __( 'Menu', 'elementor' ); ?></span>
59 </div>
60 <div id="elementor-panel-header-title"></div>
61 <div id="elementor-panel-header-add-button" class="elementor-header-button">
62 <i class="elementor-icon eicon-apps tooltip-target" aria-hidden="true" data-tooltip="<?php esc_attr_e( 'Widgets Panel', 'elementor' ); ?>"></i>
63 <span class="elementor-screen-only"><?php echo __( 'Widgets Panel', 'elementor' ); ?></span>
64 </div>
65 </script>
66
67 <script type="text/template" id="tmpl-elementor-panel-footer-content">
68 <div id="elementor-panel-footer-settings" class="elementor-panel-footer-tool elementor-leave-open tooltip-target" data-tooltip="<?php esc_attr_e( 'Settings', 'elementor' ); ?>">
69 <i class="eicon-cog" aria-hidden="true"></i>
70 <span class="elementor-screen-only"><?php printf( __( '%s Settings', 'elementor' ), $document::get_title() ); ?></span>
71 </div>
72 <div id="elementor-panel-footer-navigator" class="elementor-panel-footer-tool tooltip-target" data-tooltip="<?php esc_attr_e( 'Navigator', 'elementor' ); ?>">
73 <i class="eicon-navigator" aria-hidden="true"></i>
74 <span class="elementor-screen-only"><?php echo __( 'Navigator', 'elementor' ); ?></span>
75 </div>
76 <div id="elementor-panel-footer-history" class="elementor-panel-footer-tool elementor-leave-open tooltip-target" data-tooltip="<?php esc_attr_e( 'History', 'elementor' ); ?>">
77 <i class="eicon-history" aria-hidden="true"></i>
78 <span class="elementor-screen-only"><?php echo __( 'History', 'elementor' ); ?></span>
79 </div>
80 <div id="elementor-panel-footer-responsive" class="elementor-panel-footer-tool elementor-toggle-state">
81 <i class="eicon-device-desktop tooltip-target" aria-hidden="true" data-tooltip="<?php esc_attr_e( 'Responsive Mode', 'elementor' ); ?>"></i>
82 <span class="elementor-screen-only">
83 <?php echo __( 'Responsive Mode', 'elementor' ); ?>
84 </span>
85 <div class="elementor-panel-footer-sub-menu-wrapper">
86 <div class="elementor-panel-footer-sub-menu">
87 <div class="elementor-panel-footer-sub-menu-item" data-device-mode="desktop">
88 <i class="elementor-icon eicon-device-desktop" aria-hidden="true"></i>
89 <span class="elementor-title"><?php echo __( 'Desktop', 'elementor' ); ?></span>
90 <span class="elementor-description"><?php echo __( 'Default Preview', 'elementor' ); ?></span>
91 </div>
92 <div class="elementor-panel-footer-sub-menu-item" data-device-mode="tablet">
93 <i class="elementor-icon eicon-device-tablet" aria-hidden="true"></i>
94 <span class="elementor-title"><?php echo __( 'Tablet', 'elementor' ); ?></span>
95 <?php $breakpoints = Responsive::get_breakpoints(); ?>
96 <span class="elementor-description"><?php echo sprintf( __( 'Preview for %s', 'elementor' ), $breakpoints['md'] . 'px' ); ?></span>
97 </div>
98 <div class="elementor-panel-footer-sub-menu-item" data-device-mode="mobile">
99 <i class="elementor-icon eicon-device-mobile" aria-hidden="true"></i>
100 <span class="elementor-title"><?php echo __( 'Mobile', 'elementor' ); ?></span>
101 <span class="elementor-description"><?php echo sprintf( __( 'Preview for %s', 'elementor' ), '360px' ); ?></span>
102 </div>
103 </div>
104 </div>
105 </div>
106 <div id="elementor-panel-footer-saver-preview" class="elementor-panel-footer-tool tooltip-target" data-tooltip="<?php esc_attr_e( 'Preview Changes', 'elementor' ); ?>">
107 <span id="elementor-panel-footer-saver-preview-label">
108 <i class="eicon-preview-medium" aria-hidden="true"></i>
109 <span class="elementor-screen-only"><?php echo __( 'Preview Changes', 'elementor' ); ?></span>
110 </span>
111 </div>
112 <div id="elementor-panel-footer-saver-publish" class="elementor-panel-footer-tool">
113 <button id="elementor-panel-saver-button-publish" class="elementor-button elementor-button-success elementor-disabled">
114 <span class="elementor-state-icon">
115 <i class="eicon-loading eicon-animation-spin" aria-hidden="true"></i>
116 </span>
117 <span id="elementor-panel-saver-button-publish-label">
118 <?php echo __( 'Publish', 'elementor' ); ?>
119 </span>
120 </button>
121 </div>
122 <div id="elementor-panel-footer-saver-options" class="elementor-panel-footer-tool elementor-toggle-state">
123 <button id="elementor-panel-saver-button-save-options" class="elementor-button elementor-button-success tooltip-target elementor-disabled" data-tooltip="<?php esc_attr_e( 'Save Options', 'elementor' ); ?>" data-tooltip-offset="7">
124 <i class="eicon-caret-up" aria-hidden="true"></i>
125 <span class="elementor-screen-only"><?php echo __( 'Save Options', 'elementor' ); ?></span>
126 </button>
127 <div class="elementor-panel-footer-sub-menu-wrapper">
128 <p class="elementor-last-edited-wrapper">
129 <span class="elementor-state-icon">
130 <i class="eicon-loading eicon-animation-spin" aria-hidden="true"></i>
131 </span>
132 <span class="elementor-last-edited">
133 </span>
134 </p>
135 <div class="elementor-panel-footer-sub-menu">
136 <div id="elementor-panel-footer-sub-menu-item-save-draft" class="elementor-panel-footer-sub-menu-item elementor-disabled">
137 <i class="elementor-icon eicon-save" aria-hidden="true"></i>
138 <span class="elementor-title"><?php echo __( 'Save Draft', 'elementor' ); ?></span>
139 </div>
140 <div id="elementor-panel-footer-sub-menu-item-save-template" class="elementor-panel-footer-sub-menu-item">
141 <i class="elementor-icon eicon-folder" aria-hidden="true"></i>
142 <span class="elementor-title"><?php echo __( 'Save as Template', 'elementor' ); ?></span>
143 </div>
144 </div>
145 </div>
146 </div>
147 </script>
148
149 <script type="text/template" id="tmpl-elementor-mode-switcher-content">
150 <input id="elementor-mode-switcher-preview-input" type="checkbox">
151 <label for="elementor-mode-switcher-preview-input" id="elementor-mode-switcher-preview">
152 <i class="eicon" aria-hidden="true" title="<?php esc_attr_e( 'Hide Panel', 'elementor' ); ?>"></i>
153 <span class="elementor-screen-only"><?php echo __( 'Hide Panel', 'elementor' ); ?></span>
154 </label>
155 </script>
156
157 <script type="text/template" id="tmpl-editor-content">
158 <div class="elementor-panel-navigation">
159 <# _.each( elementData.tabs_controls, function( tabTitle, tabSlug ) {
160 if ( 'content' !== tabSlug && ! elementor.userCan( 'design' ) ) {
161 return;
162 }
163 $e.bc.ensureTab( 'panel/editor', tabSlug );
164 #>
165 <div class="elementor-component-tab elementor-panel-navigation-tab elementor-tab-control-{{ tabSlug }}" data-tab="{{ tabSlug }}">
166 <a href="#">{{{ tabTitle }}}</a>
167 </div>
168 <# } ); #>
169 </div>
170 <# if ( elementData.reload_preview ) { #>
171 <div class="elementor-update-preview">
172 <div class="elementor-update-preview-title"><?php echo __( 'Update changes to page', 'elementor' ); ?></div>
173 <div class="elementor-update-preview-button-wrapper">
174 <button class="elementor-update-preview-button elementor-button elementor-button-success"><?php echo __( 'Apply', 'elementor' ); ?></button>
175 </div>
176 </div>
177 <# } #>
178 <div id="elementor-controls"></div>
179 <# if ( elementData.help_url ) { #>
180 <div id="elementor-panel__editor__help">
181 <a id="elementor-panel__editor__help__link" href="{{ elementData.help_url }}" target="_blank">
182 <?php echo __( 'Need Help', 'elementor' ); ?>
183 <i class="eicon-help-o"></i>
184 </a>
185 </div>
186 <# } #>
187 </script>
188
189 <script type="text/template" id="tmpl-elementor-panel-schemes-disabled">
190 <img class="elementor-nerd-box-icon" src="<?php echo ELEMENTOR_ASSETS_URL . 'images/information.svg'; ?>" />
191 <div class="elementor-nerd-box-title">{{{ '<?php echo __( '%s are disabled', 'elementor' ); ?>'.replace( '%s', disabledTitle ) }}}</div>
192 <div class="elementor-nerd-box-message"><?php printf( __( 'You can enable it from the <a href="%s" target="_blank">Elementor settings page</a>.', 'elementor' ), Settings::get_url() ); ?></div>
193 </script>
194
195 <script type="text/template" id="tmpl-elementor-panel-scheme-color-item">
196 <div class="elementor-panel-scheme-color-picker-placeholder"></div>
197 <div class="elementor-panel-scheme-color-title">{{{ title }}}</div>
198 </script>
199
200 <script type="text/template" id="tmpl-elementor-panel-scheme-typography-item">
201 <div class="elementor-panel-heading">
202 <div class="elementor-panel-heading-toggle">
203 <i class="eicon" aria-hidden="true"></i>
204 </div>
205 <div class="elementor-panel-heading-title">{{{ title }}}</div>
206 </div>
207 <div class="elementor-panel-scheme-typography-items elementor-panel-box-content">
208 <?php
209 $scheme_fields_keys = Group_Control_Typography::get_scheme_fields_keys();
210
211 $typography_group = Plugin::$instance->controls_manager->get_control_groups( 'typography' );
212 $typography_fields = $typography_group->get_fields();
213
214 $scheme_fields = array_intersect_key( $typography_fields, array_flip( $scheme_fields_keys ) );
215
216 foreach ( $scheme_fields as $option_name => $option ) :
217 ?>
218 <div class="elementor-panel-scheme-typography-item elementor-control elementor-control-type-select">
219 <div class="elementor-panel-scheme-item-title elementor-control-title"><?php echo $option['label']; ?></div>
220 <div class="elementor-panel-scheme-typography-item-value elementor-control-input-wrapper">
221 <?php if ( 'select' === $option['type'] ) : ?>
222 <select name="<?php echo esc_attr( $option_name ); ?>" class="elementor-panel-scheme-typography-item-field">
223 <?php foreach ( $option['options'] as $field_key => $field_value ) : ?>
224 <option value="<?php echo esc_attr( $field_key ); ?>"><?php echo $field_value; ?></option>
225 <?php endforeach; ?>
226 </select>
227 <?php elseif ( 'font' === $option['type'] ) : ?>
228 <select name="<?php echo esc_attr( $option_name ); ?>" class="elementor-panel-scheme-typography-item-field">
229 <option value=""><?php echo __( 'Default', 'elementor' ); ?></option>
230 <?php foreach ( Fonts::get_font_groups() as $group_type => $group_label ) : ?>
231 <optgroup label="<?php echo esc_attr( $group_label ); ?>">
232 <?php foreach ( Fonts::get_fonts_by_groups( [ $group_type ] ) as $font_title => $font_type ) : ?>
233 <option value="<?php echo esc_attr( $font_title ); ?>"><?php echo $font_title; ?></option>
234 <?php endforeach; ?>
235 </optgroup>
236 <?php endforeach; ?>
237 </select>
238 <?php elseif ( 'text' === $option['type'] ) : ?>
239 <input name="<?php echo esc_attr( $option_name ); ?>" class="elementor-panel-scheme-typography-item-field" />
240 <?php endif; ?>
241 </div>
242 </div>
243 <?php endforeach; ?>
244 </div>
245 </script>
246
247 <script type="text/template" id="tmpl-elementor-control-responsive-switchers">
248 <div class="elementor-control-responsive-switchers">
249 <div class="elementor-control-responsive-switchers__holder">
250 <#
251 var devices = responsive.devices || [ 'desktop', 'tablet', 'mobile' ];
252
253 _.each( devices, function( device ) {
254 var deviceLabel = device.charAt(0).toUpperCase() + device.slice(1),
255 tooltipDir = "<?php echo is_rtl() ? 'e' : 'w'; ?>";
256 #>
257 <a class="elementor-responsive-switcher tooltip-target elementor-responsive-switcher-{{ device }}" data-device="{{ device }}" data-tooltip="{{ deviceLabel }}" data-tooltip-pos="{{ tooltipDir }}">
258 <i class="eicon-device-{{ device }}"></i>
259 </a>
260 <# } );
261 #>
262 </div>
263 </div>
264 </script>
265
266 <script type="text/template" id="tmpl-elementor-control-dynamic-switcher">
267 <div class="elementor-control-dynamic-switcher elementor-control-unit-1" data-tooltip="<?php echo __( 'Dynamic Tags', 'elementor' ); ?>">
268 <i class="eicon-database"></i>
269 </div>
270 </script>
271
272 <script type="text/template" id="tmpl-elementor-control-dynamic-cover">
273 <div class="elementor-dynamic-cover__settings">
274 <i class="eicon-{{ hasSettings ? 'wrench' : 'database' }}"></i>
275 </div>
276 <div class="elementor-dynamic-cover__title" title="{{{ title + ' ' + content }}}">{{{ title + ' ' + content }}}</div>
277 <# if ( isRemovable ) { #>
278 <div class="elementor-dynamic-cover__remove">
279 <i class="eicon-close-circle"></i>
280 </div>
281 <# } #>
282 </script>
283
284 <script type="text/template" id="tmpl-elementor-dynamic-tags-promo">
285 <div class="elementor-tags-list__teaser">
286 <div class="elementor-tags-list__group-title elementor-tags-list__teaser-title">
287 <i class="eicon-info-circle"></i><?php echo __( 'Elementor Dynamic Content', 'elementor' ); ?>
288 </div>
289 <div class="elementor-tags-list__teaser-text">
290 <?php echo __( 'You’re missing out!', 'elementor' ); ?><br />
291 <?php echo __( 'Get more dynamic capabilities by incorporating dozens of Elementor\'s native dynamic tags.', 'elementor' ); ?>
292 <a href="{{{ elementor.config.dynamicPromotionURL }}}" class="elementor-tags-list__teaser-link" target="_blank">
293 <?php echo __( 'See it in action', 'elementor' ); ?>
294 </a>
295 </div>
296 </div>
297 </script>
298