@aplus-frontend/ui
Version:
2 lines (1 loc) • 1.3 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("vue");require("../../index.js");const v=require("../../config-provider/hooks/use-global-config.js");function T(e){return e==="admin"?window:(window.top!==window?window.top:window)??window}function n(e,r){return r.document.querySelector(e)}function w(e,r=".demo",u){const t=n(r,u);t&&(t.scrollTop=e)}function S(e){const r=v.useGlobalConfig("scrollYDomName"),u=v.useGlobalConfig("uiMode"),t=T(u.value??"aplus");let a=!0;const c=s.ref(0),i=s.ref(0),m=(["reset","submit",void 0].includes(e?.refreshType)?e?.refreshType:"submit")??"submit",b=e?.refreshBefore??(()=>!0);let f=!0;const d=l=>{if(a===!1)return;const o=l.target;i.value=o.scrollTop};return s.onMounted(()=>{s.nextTick(()=>{f=!1})}),s.onActivated(()=>{const l=b?.();if(f){setTimeout(()=>{const o=n(r.value,t);o&&o.addEventListener("scroll",d)});return}l&&setTimeout(()=>{a=!0,e?.apTableRef?.value?.[m](),e?.apTableRef?.value?.scrollBar?.x?.scroll?.(c.value),w(i.value,r.value,t);const o=n(r.value,t);o&&o.addEventListener("scroll",d)})}),s.onDeactivated(()=>{a=!1,c.value=e?.apTableRef?.value?.scrollBar?.x?.getCurrentScroll?.()??0;const l=n(r.value,t);l&&l.removeEventListener("scroll",d)}),{tableScrollX:c,tableScrollY:i}}exports.useTableRefresh=S;