1/** 2 * Elementor Preview Controller 3 */ 4class WidgetHandlerClass extends elementorModules.frontend.handlers.Base { 5 getDefaultSettings() { 6 return { 7 selectors: { 8 selectButtonSelector: '.sr--block--preview--select', 9 editButtonSelector: '.sr--block--preview--edit' 10 }, 11 }; 12 } 13 getDefaultElements() { 14 const selectors = this.getSettings('selectors'); 15 return { 16 $selectButtonSelector: this.$element.find(selectors.selectButtonSelector), 17 $editButtonSelector: this.$element.find(selectors.editButtonSelector), 18 }; 19 } 20 bindEvents() { 21 this.elements.$selectButtonSelector.on('click', this.onSelectButtonClick.bind(this)); 22 this.elements.$editButtonSelector.on('click', this.onEditButtonClick.bind(this)); 23 } 24 onSelectButtonClick(event) { 25 event.preventDefault(); 26 setTimeout(() => window.parent.document.querySelector('#elementor-controls button[data-event="sr7.selectModule"]').click(), 1000); 27 } 28 onEditButtonClick(event) { 29 event.preventDefault(); 30 setTimeout(() => window.parent.document.querySelector('#elementor-controls button[data-event="sr7.editModule"]').click(), 1000); 31 } 32} 33 34function checkElementorModule($element) { 35 const id = $element.attr('data-id'); 36 if (!elementorFrontend.isEditMode() || !id || window.parent === window) return; 37 38 const parent = window.parent; 39 parent.SR7 ??= {}; 40 parent.SR7.E ??= {}; 41 const controller = parent.SR7.B?.elementorShortcode; 42 if (controller?.checkModule) { 43 controller.checkModule(id); 44 } else { 45 parent.SR7.E.elementorChecks ??= []; 46 if (!parent.SR7.E.elementorChecks.includes(id)) parent.SR7.E.elementorChecks.push(id); 47 } 48} 49 50window.addEventListener('elementor/frontend/init', () => { 51 elementorFrontend.hooks.addAction('frontend/element_ready/slider_revolution.default', $element => { 52 checkElementorModule($element); 53 54 // Post upgrade force reload preview 55 if ($element.find(".sr--block--force--reload").length !== 0) { 56 $element.trigger("click"); 57 } 58 elementorFrontend.elementsHandler.addHandler(WidgetHandlerClass, { 59 $element, 60 }); 61 }); 62});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.