utils.scroll.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /**
  2. * DevExtreme (ui/text_box/utils.scroll.js)
  3. * Version: 19.1.16
  4. * Build date: Tue Oct 18 2022
  5. *
  6. * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED
  7. * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
  8. */
  9. "use strict";
  10. Object.defineProperty(exports, "__esModule", {
  11. value: true
  12. });
  13. exports.allowScroll = void 0;
  14. var _renderer = require("../../core/renderer");
  15. var _renderer2 = _interopRequireDefault(_renderer);
  16. function _interopRequireDefault(obj) {
  17. return obj && obj.__esModule ? obj : {
  18. "default": obj
  19. }
  20. }
  21. var allowScroll = function(container, delta, shiftKey) {
  22. var $container = (0, _renderer2.default)(container);
  23. var scrollTopPos = shiftKey ? $container.scrollLeft() : $container.scrollTop();
  24. var prop = shiftKey ? "Width" : "Height";
  25. var scrollBottomPos = $container.prop("scroll".concat(prop)) - $container.prop("client".concat(prop)) - scrollTopPos;
  26. if (0 === scrollTopPos && 0 === scrollBottomPos) {
  27. return false
  28. }
  29. var isScrollFromTop = 0 === scrollTopPos && delta >= 0;
  30. var isScrollFromBottom = 0 === scrollBottomPos && delta <= 0;
  31. var isScrollFromMiddle = scrollTopPos > 0 && scrollBottomPos > 0;
  32. if (isScrollFromTop || isScrollFromBottom || isScrollFromMiddle) {
  33. return true
  34. }
  35. };
  36. exports.allowScroll = allowScroll;