12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- 'use strict';
- Object.defineProperty(exports, '__esModule', { value: true });
- exports.pageScrollMixin = void 0;
- var utils_1 = require('../common/utils');
- function onPageScroll(event) {
- var _a = utils_1.getCurrentPage().vanPageScroller,
- vanPageScroller = _a === void 0 ? [] : _a;
- vanPageScroller.forEach(function (scroller) {
- if (typeof scroller === 'function') {
- // @ts-ignore
- scroller(event);
- }
- });
- }
- var pageScrollMixin = function (scroller) {
- return Behavior({
- attached: function () {
- var page = utils_1.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 () {
- var _a;
- var page = utils_1.getCurrentPage();
- if (!utils_1.isDef(page)) {
- page.vanPageScroller =
- ((_a = page.vanPageScroller) === null || _a === void 0
- ? void 0
- : _a.filter(function (item) {
- return item !== scroller;
- })) || [];
- }
- },
- });
- };
- exports.pageScrollMixin = pageScrollMixin;
|