PageSourceSearch

https://www.tourisme-bearn-gaves.com/app/dist/bearndesgaves/addons…/js/utilities/synchronizer.b455e9788a.js

js tourisme-bearn-gaves.com collected 2026-10-02 11:01:51 UTC 3,592 bytes, 1 lines download raw bytes

1class h{get syncDataID(){return`[${this.selector}="${this._sync_id}"]`}set sync_id(e){if(this.manageTriggeringsClasses(e),this._sync_id=e.getAttribute(this.selector),!this._sync_id){const s=e.querySelector(`[${this.selector}]`);this._sync_id=s?s.getAttribute(this.selector):""}}get relatedSwipers(){return this.element.querySelectorAll(".swiper-container")}constructor(e,s,t){this.params=s||{},this.callback=t,this.selector=this.params.selector?this.params.selector:"click-sync",this.element=e,this.current_elements=[],this.params.switchClass=this.params.switchClass?this.params.switchClass:"sync-active",this.params.switchClass=typeof this.params.switchClass=="string"?this.params.switchClass.split(" "):this.params.switchClass,this.params.initClasses=this.params.initClasses!==void 0?this.params.initClasses:!0,this.params.swiperEvent=this.params.swiperEvent!==void 0?this.params.swiperEvent:"slideChangeTransitionStart",this.currentAction=null,this.init()}init(){let e=this;Array.from(this.element.querySelectorAll("["+e.selector+"]")).forEach(function(s){s=e.swiperSlideParent(s),(e.params.initClasses&&[...s.parentElement.children].indexOf(s)==0||s.classList.contains("swiper-slide-active")||s.getAttribute("data-swiper-slide-index")===0)&&Array.from(e.params.switchClass).forEach(function(t){s.classList.add(t)}),e.attachEvent(s)}),this.manageSwipers(),this.element.Synchronizer=this}swiperSlideParent(e){return e.parentElement.classList.contains("swiper-slide")?e.parentElement:e}manageTriggeringsClasses(e){Array.from(this.element.querySelectorAll(".sync-trigger")).forEach(function(s){s.classList.remove("sync-trigger")}),e.classList.add("sync-trigger")}manageSwipers(){let e=this,s=this.element.querySelectorAll(".swiper-container");e.hasSwipers=s.length>0,Array.from(this.element.querySelectorAll(".swiper-controls [class*=swiper-button]")).forEach(function(t){t.addEventListener("click",function(r){e.currentAction="swipe"})}),Array.from(s).forEach(function(t){if(t.querySelectorAll(`[${e.selector}]`).length){let i=!1;t.swiper.on("touchStart",function(n){e.currentAction="swipe"}),t.swiper.on("slideChangeTransitionStart",function(n){i=!0}),t.swiper.on(e.params.swiperEvent,function(n,u){if(i){i=!1;let a=t.querySelector(".swiper-slide-active");e.sync_id=a;let l=a.getAttribute(e.selector);l=l||a.querySelector(`[${e.selector}]`).getAttribute(e.selector);let c=e.element.querySelectorAll(`[${e.selector}="${l}"]`);e.manageClasses(c),e.swiperChange(a)}})}})}attachEvent(e){let s=this;e.addEventListener("click",function(t){return s.currentElIsActive(t)?!0:(t.preventDefault(),s.onClick(t),!1)})}currentElIsActive(e){let s=this,t=!1;return Array.from(this.current_elements).forEach(function(r){e.currentTarget==s.swiperSlideParent(r)&&(t=!0)}),t}onClick(e){let s=this;s.currentAction="click";let t=e.currentTarget;s.sync_id=t;let r=this.element.querySelectorAll(this.syncDataID);s.hasSwipers||this.manageClasses(r),this.swiperChange(),Array.from(r).forEach(function(i){i!=t&&s.callback&&s.callback({event_el:t,target_element:i})})}manageClasses(e){let s=this;s.current_elements=e,Array.from(s.element.querySelectorAll("."+s.params.switchClass)).forEach(function(t){t.classList.remove(...s.params.switchClass)}),Array.from(e).forEach(function(t){t.classList.add(...s.params.switchClass)})}swiperChange(){let e=this;this.relatedSwipers.forEach(function(s){let t=s.querySelector(".sync-trigger");t||(t=s.querySelector(e.syncDataID),t=e.swiperSlideParent(t));let r=[...t.parentElement.children].indexOf(t),i=s.swiper.params.speed;s.swiper.slideTo(r,i)})}}var f=h;export{f as default};

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.