UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

42 lines (38 loc) 1.68 kB
/** * DevExtreme (renovation/ui/scroll_view/utils/get_boundary_props.js) * Version: 21.2.3 * Build date: Thu Oct 28 2021 * * Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; exports.getBoundaryProps = getBoundaryProps; exports.isReachedBottom = isReachedBottom; exports.isReachedRight = isReachedRight; var _get_scroll_left_max = require("./get_scroll_left_max"); var _get_scroll_top_max = require("./get_scroll_top_max"); var _scroll_direction = require("./scroll_direction"); function isReachedRight(element, scrollOffsetLeft) { return Math.round((0, _get_scroll_left_max.getScrollLeftMax)(element) - scrollOffsetLeft) <= 0 } function isReachedBottom(element, scrollOffsetTop, pocketHeight) { return Math.round((0, _get_scroll_top_max.getScrollTopMax)(element) - scrollOffsetTop - pocketHeight) <= 0 } function getBoundaryProps(direction, scrollOffset, element, pocketHeight) { var left = scrollOffset.left, top = scrollOffset.top; var boundaryProps = {}; var _ScrollDirection = new _scroll_direction.ScrollDirection(direction), isHorizontal = _ScrollDirection.isHorizontal, isVertical = _ScrollDirection.isVertical; if (isHorizontal) { boundaryProps.reachedLeft = Math.round(left) <= 0; boundaryProps.reachedRight = isReachedRight(element, left) } if (isVertical) { boundaryProps.reachedTop = Math.round(top) <= 0; boundaryProps.reachedBottom = isReachedBottom(element, top, pocketHeight) } return boundaryProps }