1'use-strict'; 2 3(function ($) { 4 5 $(window).on('elementor/frontend/init', function () { 6 7 const ModuleHandler = elementorModules.frontend.handlers.Base 8 9 const AGLHandler = ModuleHandler.extend({ 10 11 onInit: function () { 12 13 ModuleHandler.prototype.onInit.apply(this, arguments); 14 15 const agl_in_name = this.getElementSettings('agl_in_name') 16 17 if (elementorFrontend.isEditMode() && agl_in_name) { 18 const direction = this.getElementSettings('agl_in_direction') 19 const duration = this.getElementSettings('agl_in_duration').size 20 const delay = this.getElementSettings('agl_in_delay').size 21 const distance = this.getElementSettings('agl_in_distance').size 22 const classes = agl_in_name == 'custom' ? 'agl' : `agl agl-${agl_in_name}${direction}` 23 this.$element.addClass(classes) 24 this.$element.addClass(`agl-in-duration-${duration}`) 25 this.$element.addClass(`agl-in-delay-${delay}`) 26 this.$element.addClass(`agl-in-distance-${distance}`) 27 const easing = this.getElementSettings('agl_in_easing') 28 if (easing) 29 this.$element.addClass(`agl-in-easing-${easing}`) 30 const repeat = this.getElementSettings('agl_in_repeat') 31 if (repeat == 'yes') 32 this.$element.addClass(`agl-in-repeat`) 33 const lockToScrollbar = this.getElementSettings('agl_in_lockToScrollbar') 34 if (lockToScrollbar == 'yes') 35 this.$element.addClass(`agl-in-lockToScrollbar`) 36 } 37 38 }, 39 40 onElementChange: function (changedProp) { 41 42 if (!changedProp.startsWith('agl')) return 43 44 // agl property changed 45 46 // remove all agl classes 47 48 const element = this.$element[0] 49 const classes = element.classList; 50 let className = element.className 51 for (let i = 0; i < classes.length; i++) { 52 if (classes[i].startsWith('agl')) { 53 className = className.replace(classes[i], '') 54 } 55 } 56 57 const settings = this.getElementSettings() 58 const agl_in_name = settings['agl_in_name'] 59 60 61 // add agl classes if entrance animation is selected 62 if (agl_in_name) { 63 const direction = settings['agl_in_direction'] 64 const duration = settings['agl_in_duration'].size 65 const delay = settings['agl_in_delay'].size 66 const distance = settings['agl_in_distance'].size 67 const easing = settings['agl_in_easing'] 68 const repeat = settings['agl_in_repeat'] == 'yes' 69 const lockToScrollbar = settings['agl_in_lockToScrollbar'] == 'yes' 70 const classes = agl_in_name == 'custom' ? ' agl' : ` agl agl-${agl_in_name}${direction}` 71 let newClasses = `${classes} agl-in-duration-${duration} agl-in-delay-${delay} agl-in-distance-${distance}` 72 if (easing) 73 newClasses += ` agl-in-easing-${easing}` 74 if (repeat) 75 newClasses += ` agl-in-repeat`; 76 if (lockToScrollbar) 77 newClasses += ` agl-in-lockToScrollbar`; 78 79 element.className = className + newClasses; 80 } 81 82 }, 83 84 }); 85 86 elementorFrontend.hooks.addAction('frontend/element_ready/global', function ($scope) { 87 elementorFrontend.elementsHandler.addHandler(AGLHandler, { $element: $scope }); 88 }); 89 90 }); 91 92})(jQuery)
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.