PluginProbe
aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder / 2.16.0
aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder v2.16.0
2.16.0 2.15.0 2.14.0 2.13.0 2.13.1 2.12.0 2.11.1 2.11.0 2.10.0 2.9.0 2.7.4 2.7.5 2.7.6 2.7.7 2.8.0 2.8.1 2.9.1 trunk 1.0 1.0-beta1 1.0-beta2 1.0-beta3 1.0.1 1.0.2 1.0.3 All 83 releases
← All changes | assets/build/blocks/scroll-to-top/view.js +2 -0 2.7.7 → 2.16.0 View file →
@@ -1,0 +1,2 @@
1 +(()=>{"use strict";const t=class{constructor(t,e){this.element=t,this.isFrontend=e,this.scrollTarget=e?window:document.querySelector('[name="editor-canvas"]')?.contentWindow,this.circle=this.element?.querySelector(".ablocks-scroll-progress-ring__circle"),this.scrollButton=this.element?.querySelector(".ablocks-scroll-progress-wrapper, .ablocks-scroll-to-top-button-text, .ablocks-icon-wrap"),this.setupCircle(),this.init()}setupCircle(){this.circle&&(this.radius=this.circle.r.baseVal.value,this.circumference=2*Math.PI*this.radius,Object.assign(this.circle.style,{strokeDasharray:`${this.circumference} ${this.circumference}`,strokeDashoffset:this.circumference,transform:"rotate(-90deg)",transformOrigin:"50% 50%"}))}init(){this.element&&this.scrollTarget&&(this.scrollTarget.addEventListener("scroll",()=>this.updateProgress()),this.scrollButton?.addEventListener("click",()=>{this.scrollTarget.scrollTo({top:0,behavior:"smooth"})}),this.updateProgress())}updateProgress(){
2 +if(!this.scrollTarget?.document)return;const{document:t,innerHeight:e,scrollY:s}=this.scrollTarget,i=t.documentElement.scrollHeight-e,r=s??t.documentElement.scrollTop;if(this.isFrontend&&(0===r?(this.element.style.visibility="hidden",this.element.style.opacity="0",this.element.style.transition="opacity 0.3s ease"):(this.element.style.visibility="visible",this.element.style.opacity="1",this.element.style.transition="opacity 0.3s ease")),this.circle){const t=i>0?r/i:0;this.circle.style.strokeDashoffset=this.circumference*(1-t)}}};document.addEventListener("DOMContentLoaded",()=>{!function(t,e,s="ablocksInitialized"){t&&("function"==typeof t.forEach?t:[t]).forEach(t=>{t&&t.dataset&&!t.dataset[s]&&(t.dataset[s]="1",e(t))})}(document.querySelectorAll(".ablocks-block--scroll-to-top"),e=>{new t(e,!0)},"ablocksScrollTopInit")})})();