UNPKG

wix-style-react

Version:
62 lines (48 loc) 2.48 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.virtualRowsAreEqual = virtualRowsAreEqual; exports.getStickyColumnStyle = void 0; var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _shallowequal = _interopRequireDefault(require("shallowequal")); var _DataTableSt = require("./DataTable.st.css"); var _excluded = ["style", "data", "index"], _excluded2 = ["style", "data", "index"], _excluded3 = ["data"], _excluded4 = ["data"]; function virtualRowsAreEqual(prevProps, nextProps) { var prevStyle = prevProps.style, prevData = prevProps.data, prevIndex = prevProps.index, prevRest = (0, _objectWithoutProperties2["default"])(prevProps, _excluded); var nextStyle = nextProps.style, nextData = nextProps.data, nextIndex = nextProps.index, nextRest = (0, _objectWithoutProperties2["default"])(nextProps, _excluded2); var nextItemData = nextData.data, restNextItemData = (0, _objectWithoutProperties2["default"])(nextData, _excluded3); var prevItemData = prevData.data, restPrevItemData = (0, _objectWithoutProperties2["default"])(prevData, _excluded4); return nextIndex === prevIndex && (0, _shallowequal["default"])(prevStyle, nextStyle) && (0, _shallowequal["default"])(prevItemData[prevIndex], nextItemData[nextIndex]) && (0, _shallowequal["default"])(restPrevItemData, restNextItemData) && (0, _shallowequal["default"])(prevRest, nextRest); } var CELL_PADDING = parseInt(_DataTableSt.stVars.cellHorizontalPadding, 10); var CELL_EDGE_PADDING = parseInt(_DataTableSt.stVars.cellHorizontalEdgePadding, 10); var CELL_EDGE_PADDING_REDUCED_SPACING = parseInt(_DataTableSt.stVars.cellHorizontalEdgePaddingReducedSpacing, 10); var getStickyColumnStyle = function getStickyColumnStyle(columns, column, reducedSpacingAndImprovedLayout) { var cellEdgePadding = reducedSpacingAndImprovedLayout ? CELL_EDGE_PADDING_REDUCED_SPACING : CELL_EDGE_PADDING; var left = 0; for (var i = 0; i < columns.length; i++) { var col = columns[i]; if (col === column) { break; } var horizontalPadding = i === 0 ? cellEdgePadding + CELL_PADDING : 2 * CELL_PADDING; left += parseInt(col.width, 10) + horizontalPadding; } return { left: left }; }; exports.getStickyColumnStyle = getStickyColumnStyle;