| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.addEventListener = addEventListener;
- exports.dataToArray = dataToArray;
- exports.isNumeric = exports.getTouchParentScroll = void 0;
- exports.removeEventListener = removeEventListener;
- exports.transformArguments = transformArguments;
- exports.windowIsUndefined = exports.transitionStr = exports.transitionEndFun = void 0;
- function dataToArray(vars) {
- if (Array.isArray(vars)) {
- return vars;
- }
- return [vars];
- }
- var transitionEndObject = {
- transition: 'transitionend',
- WebkitTransition: 'webkitTransitionEnd',
- MozTransition: 'transitionend',
- OTransition: 'oTransitionEnd otransitionend'
- };
- var transitionStr = Object.keys(transitionEndObject).filter(function (key) {
- if (typeof document === 'undefined') {
- return false;
- }
- var html = document.getElementsByTagName('html')[0];
- return key in (html ? html.style : {});
- })[0];
- exports.transitionStr = transitionStr;
- var transitionEndFun = transitionEndObject[transitionStr];
- exports.transitionEndFun = transitionEndFun;
- function addEventListener(target, eventType, callback, options) {
- if (target.addEventListener) {
- target.addEventListener(eventType, callback, options);
- } else if (target.attachEvent) {
- // tslint:disable-line
- target.attachEvent("on".concat(eventType), callback); // tslint:disable-line
- }
- }
- function removeEventListener(target, eventType, callback, options) {
- if (target.removeEventListener) {
- target.removeEventListener(eventType, callback, options);
- } else if (target.attachEvent) {
- // tslint:disable-line
- target.detachEvent("on".concat(eventType), callback); // tslint:disable-line
- }
- }
- function transformArguments(arg, cb) {
- var result = typeof arg === 'function' ? arg(cb) : arg;
- if (Array.isArray(result)) {
- if (result.length === 2) {
- return result;
- }
- return [result[0], result[1]];
- }
- return [result];
- }
- var isNumeric = function isNumeric(value) {
- return !isNaN(parseFloat(value)) && isFinite(value);
- };
- exports.isNumeric = isNumeric;
- var windowIsUndefined = !(typeof window !== 'undefined' && window.document && window.document.createElement);
- exports.windowIsUndefined = windowIsUndefined;
- var getTouchParentScroll = function getTouchParentScroll(root, currentTarget, differX, differY) {
- if (!currentTarget || currentTarget === document || currentTarget instanceof Document) {
- return false;
- }
- // root 为 drawer-content 设定了 overflow, 判断为 root 的 parent 时结束滚动;
- if (currentTarget === root.parentNode) {
- return true;
- }
- var isY = Math.max(Math.abs(differX), Math.abs(differY)) === Math.abs(differY);
- var isX = Math.max(Math.abs(differX), Math.abs(differY)) === Math.abs(differX);
- var scrollY = currentTarget.scrollHeight - currentTarget.clientHeight;
- var scrollX = currentTarget.scrollWidth - currentTarget.clientWidth;
- var style = document.defaultView.getComputedStyle(currentTarget);
- var overflowY = style.overflowY === 'auto' || style.overflowY === 'scroll';
- var overflowX = style.overflowX === 'auto' || style.overflowX === 'scroll';
- var y = scrollY && overflowY;
- var x = scrollX && overflowX;
- if (isY && (!y || y && (currentTarget.scrollTop >= scrollY && differY < 0 || currentTarget.scrollTop <= 0 && differY > 0)) || isX && (!x || x && (currentTarget.scrollLeft >= scrollX && differX < 0 || currentTarget.scrollLeft <= 0 && differX > 0))) {
- return getTouchParentScroll(root, currentTarget.parentNode, differX, differY);
- }
- return false;
- };
- exports.getTouchParentScroll = getTouchParentScroll;
|