PageSourceSearch

https://abi-center.com/wp-content/plugins/binox-essential/assets/js/wcf--global-core.min.js?ver=6.9.9

js abi-center.com collected 2026-09-25 03:30:06 UTC 10,965 bytes, 278 lines download raw bytes

1( function( $ ) {
2  /**
3   * @param $scope The Widget wrapper element as a jQuery element
4   * @param $ The jQuery alias
5   */
6  var Wcf_Accordion = function ($scope, $) {      
7 
8      var $wrapper = $scope.find('.elementor-accordion');
9      var $items   = $wrapper.find('.elementor-accordion-item');
10      
11      if($items.length && $wrapper.attr('data-active') === 'yes'){
12         $items.find('[data-active="yes"]').addClass('elementor-active');
13         $items.find('.elementor-tab-content[data-active="yes"]').addClass('elementor-active').slideToggle();               
14      }
15      
16      $scope.find('.elementor-tab-title').on('click',function(){       
17          $(this).toggleClass("elementor-active").next(".elementor-tab-content").slideToggle().parent().siblings().find(".elementor-tab-content").slideUp().prev().removeClass("elementor-active");            
18      });
19     
20  };
21  var Wcf_Accordion_2 = function ($scope, $) {      
22 
23      var $wrapper = $scope.find('.elementor-accordion');
24      var $items   = $wrapper.find('.elementor-accordion-item');
25      
26      if($items.length && $wrapper.attr('data-active') === 'yes'){
27         $items.find('[data-active="yes"]').addClass('elementor-active');
28         $items.find('.elementor-tab-content[data-active="yes"]').addClass('elementor-active').slideToggle();               
29      }
30      
31      $scope.find('.elementor-tab-title').on('click',function(){       
32          $(this).toggleClass("elementor-active").next(".elementor-tab-content").slideToggle().parent().siblings().find(".elementor-tab-content").slideUp().prev().removeClass("elementor-active");            
33      });
34     
35  };
36  function wcf_ess_addScript(path,id) {
37      var head = document.getElementsByTagName("head")[0];
38      var s = document.createElement("script");
39      s.type = "text/javascript";
40      s.src = path;
41      s.id = id;
42      head.appendChild(s);
43  } 
44  // Make sure you run this code under Elementor.
45  $( window ).on( 'elementor/frontend/init', function() {
46
47      const icon_box  =  elementorModules.frontend.handlers.Base.extend({
48          bindEvents : function bindEvents() {
49          this.run();            
50          },
51          
52          run : function(){
53    
54          if(this.getElementSettings('wcf_enable_bottom_top_scroll') === 'yes'){   
55              
56              // if (!document.getElementById('gsap-js')) {
57              //     wcf_ess_addScript(binox_elglcore_object.gsap,'gsap-js'); //adding script dynamically                    
58              // }
59
60              // if (!document.getElementById('ScrollTrigger-js')) {
61              //     wcf_ess_addScript(binox_elglcore_object.ScrollTrigger,'ScrollTrigger-js'); //adding script dynamically                    
62              // }
63
64              // if (!document.getElementById('ScrollToPlugin-js')) {
65              //     wcf_ess_addScript(binox_elglcore_object.ScrollToPlugin,'ScrollToPlugin-js'); //adding script dynamically                    
66              // }
67              
68              if(this.findElement('a').length){
69              
70                  let target = this.findElement('a').attr('href');                      
71                  if ( !target ){                        
72                      this.findElement('a').on('click', function(e){
73                          e.preventDefault();
74                          if (typeof(gsap) === "object") {
75                              gsap.to(window, {duration: 1, scrollTo:{y:'body', offsetY:70}});
76                          }
77                      });
78                  }else{
79                  
80                      try{
81                          if (typeof(gsap) === "object") {
82                          let element = document.querySelector(this.findElement('a').attr('href'));
83                          let linkST = ScrollTrigger.create({
84                            trigger: element,
85                            start: "top top",
86                          });
87                          
88                          ScrollTrigger.create({
89                            trigger: element,
90                            start: "top center",
91                            end: "bottom center"                          
92                          });
93                          
94                          this.findElement('a').on('click', function(e){
95                              e.preventDefault();   
96                              gsap.to(window, {
97                                  duration: 0.1,
98                                  scrollTo: linkST.start,
99                                  overwrite: "auto"
100                              });                           
101                          });
102                      }
103                          
104                      }catch (e) {}
105                  }                                       
106                  
107              }else{
108                  
109                 this.findElement('.elementor-widget-container').css({'cursor':'pointer'});
110                 this.findElement('.elementor-widget-container').on('click' , function(e){
111                      e.preventDefault();  
112                      if (typeof(gsap) === "object") {
113                          gsap.to(window, {duration: 1, scrollTo:{y:'body', offsetY:70}});
114                      }
115                 }); 
116              }
117          } 
118         
119          }
120      
121      })
122  
123      elementorFrontend.hooks.addAction( 'frontend/element_ready/accordion.skin-wcf-accordion', Wcf_Accordion );
124      elementorFrontend.hooks.addAction( 'frontend/element_ready/accordion.skin-wcf-accordion-two', Wcf_Accordion_2 );
125      
126      const addIcon_BoxHandler = ( $element ) => {
127          elementorFrontend.elementsHandler.addHandler( icon_box, {
128              $element,
129          } );
130      };
131       
132      elementorFrontend.hooks.addAction( 'frontend/element_ready/icon-box.default', addIcon_BoxHandler );
133      elementorFrontend.hooks.addAction( 'frontend/element_ready/wcf--button.default', addIcon_BoxHandler );
134      elementorFrontend.hooks.addAction( 'frontend/element_ready/button.default', addIcon_BoxHandler );
135  } );
136} )( jQuery );
137
138// Sticky Section
139(function ($) {
140
141    // sticky
142    
143    var Wcf_Sticky_Menu = {
144
145        elementorSection: function( $scope ) {
146            var $_target   = $scope,
147                instance  = null,
148                editMode  = Boolean( elementorFrontend.isEditMode() );
149                instance = new Wcf_Sticky_Menu_Plugin( $_target );
150                // run main functionality                
151                instance.init(instance);
152              
153        },
154    };
155
156    Wcf_Sticky_Menu_Plugin = function( $target ) {
157
158        var self         = this,
159        sectionId        = $target.data('id'),
160        settings         = false,
161        editMode         = Boolean( elementorFrontend.isEditMode() ),
162        $window          = $( window ),
163        $body            = $( 'body' );
164       
165        /**
166         * Init
167         */
168        self.init = function() {
169            
170            self.wcf_infos_sticky( sectionId );         
171            return false;
172        };
173
174        
175        self.wcf_infos_sticky = function (sectionId){
176          
177            var wcf_global_sticky = false;
178            var wcf_sticky_offset = 150;
179            var wcf_sticky_type   = null;
180
181            wcf_global_sticky = self.getSettings( sectionId, 'wcf_global_sticky' );
182            wcf_sticky_type   = self.getSettings( sectionId, 'wcf_sticky_type' );
183            wcf_sticky_offset = parseInt(self.getSettings( sectionId, 'wcf_sticky_offset' ));
184            
185            if(isNaN( wcf_sticky_offset)){
186                wcf_sticky_offset = 150;  
187            }
188            //default offset
189            if(wcf_sticky_offset < 5 ){
190                 wcf_sticky_offset = 110;  
191            }
192          
193            if(wcf_global_sticky == 'yes'){
194
195                $target.addClass('wcf-sticky-container');
196
197                if(wcf_sticky_type == 'top'){
198                    $target.addClass('top');
199                    $target.removeClass('bottom');
200                }
201
202                if(wcf_sticky_type == 'bottom'){
203                    $target.addClass('bottom');
204                    $target.removeClass('top');
205                }
206                if(wcf_sticky_type == ''){
207                    $target.removeClass('top');
208                    $target.removeClass('bottom');
209                }   
210                  
211                $window.on('scroll', function (event) {                   
212                    var scroll = $window.scrollTop();                    
213                    if (scroll < wcf_sticky_offset) {
214                        $target.removeClass("wcf-is-sticky");
215                    } else {
216                        $target.addClass("wcf-is-sticky");
217                    }
218                });
219            }else{
220
221                $target.removeClass('wcf-sticky-container');                
222            }
223
224
225        };
226
227        self.getSettings = function(sectionId, key){
228            var editorElements      = null,
229            sectionData             = {};
230             
231
232            if ( ! editMode ) {
233                sectionId = 'section' + sectionId;
234
235                if(!window.wcf_section_sticky_data || ! window.wcf_section_sticky_data.hasOwnProperty( sectionId )){
236                    return false;
237                }
238
239                if(! window.wcf_section_sticky_data[ sectionId ].hasOwnProperty( key )){
240                    return false;
241                }
242
243                return window.wcf_section_sticky_data[ sectionId ][key];
244            }else{
245                 
246                if ( ! window.elementor.hasOwnProperty( 'elements' ) ) {
247                    return false;
248                }
249                editorElements = window.elementor.elements;
250                
251                if ( ! editorElements.models ) {
252                    return false;
253                }
254                $.each( editorElements.models, function( index, obj ) {
255                    if ( sectionId == obj.id ) {
256                        sectionData = obj.attributes.settings.attributes;
257                    }
258                });
259
260                if ( ! sectionData.hasOwnProperty( key ) ) {
261                    return false;
262                }
263            }
264
265            return sectionData[ key ];
266        };
267    }
268    
269    $(window).on('elementor/frontend/init', function () {
270      
271        elementorFrontend.hooks.addAction( 'frontend/element_ready/section', Wcf_Sticky_Menu.elementorSection );
272        elementorFrontend.hooks.addAction( 'frontend/element_ready/container', Wcf_Sticky_Menu.elementorSection );        
273      
274    });
275    
276 
277
278})(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.