1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.pageScrollMixin = void 0;
- function Behavior(behavior) {
- behavior.$id = Number(new Date()) + String(Math.random()).substring(2, 7);
- return behavior;
- }
- function getCurrentPage() {
- var pages = getCurrentPages();
- return pages[pages.length - 1] || {};
- }
- function onPageScroll(event) {
- var _getCurrentPage = getCurrentPage(),
- _getCurrentPage$vanPa = _getCurrentPage.vanPageScroller,
- vanPageScroller = _getCurrentPage$vanPa === void 0 ? [] : _getCurrentPage$vanPa;
- vanPageScroller.forEach(function (scroller) {
- if (typeof scroller === "function") {
- // @ts-ignore
- scroller(event);
- }
- });
- }
- var pageScrollMixin = function pageScrollMixin(scroller) {
- return Behavior({
- attached: function attached() {
- var page = getCurrentPage();
- if (Array.isArray(page.vanPageScroller)) {
- page.vanPageScroller.push(scroller.bind(this));
- } else {
- page.vanPageScroller = typeof page.onPageScroll === "function" ? [page.onPageScroll.bind(page), scroller.bind(this)] : [scroller.bind(this)];
- }
- page.onPageScroll = onPageScroll;
- },
- detached: function detached() {
- var page = getCurrentPage();
- page.vanPageScroller = (page.vanPageScroller || []).filter(function (item) {
- return item !== scroller;
- });
- }
- });
- };
- exports.pageScrollMixin = pageScrollMixin;
|