fixUtil.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.getCellFixedInfo = getCellFixedInfo;
  6. function getCellFixedInfo(colStart, colEnd, columns, stickyOffsets, direction) {
  7. var startColumn = columns[colStart] || {};
  8. var endColumn = columns[colEnd] || {};
  9. var fixLeft;
  10. var fixRight;
  11. if (startColumn.fixed === 'left') {
  12. fixLeft = stickyOffsets.left[colStart];
  13. } else if (endColumn.fixed === 'right') {
  14. fixRight = stickyOffsets.right[colEnd];
  15. }
  16. var lastFixLeft = false;
  17. var firstFixRight = false;
  18. var lastFixRight = false;
  19. var firstFixLeft = false;
  20. var nextColumn = columns[colEnd + 1];
  21. var prevColumn = columns[colStart - 1];
  22. if (direction === 'rtl') {
  23. if (fixLeft !== undefined) {
  24. var prevFixLeft = prevColumn && prevColumn.fixed === 'left';
  25. firstFixLeft = !prevFixLeft;
  26. } else if (fixRight !== undefined) {
  27. var nextFixRight = nextColumn && nextColumn.fixed === 'right';
  28. lastFixRight = !nextFixRight;
  29. }
  30. } else if (fixLeft !== undefined) {
  31. var nextFixLeft = nextColumn && nextColumn.fixed === 'left';
  32. lastFixLeft = !nextFixLeft;
  33. } else if (fixRight !== undefined) {
  34. var prevFixRight = prevColumn && prevColumn.fixed === 'right';
  35. firstFixRight = !prevFixRight;
  36. }
  37. return {
  38. fixLeft: fixLeft,
  39. fixRight: fixRight,
  40. lastFixLeft: lastFixLeft,
  41. firstFixRight: firstFixRight,
  42. lastFixRight: lastFixRight,
  43. firstFixLeft: firstFixLeft,
  44. isSticky: stickyOffsets.isSticky
  45. };
  46. }