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