@wix/design-system
Version:
@wix/design-system
46 lines (45 loc) • 2.25 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.getStickyColumnStyle = exports.CELL_PADDING = exports.CELL_EDGE_PADDING = void 0;
exports.virtualRowsAreEqual = virtualRowsAreEqual;
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _shallowequal = _interopRequireDefault(require("shallowequal"));
var _DataTableSt = require("./DataTable.st.css.js");
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 = exports.CELL_PADDING = parseInt(_DataTableSt.stVars.cellHorizontalPadding, 10);
var CELL_EDGE_PADDING = exports.CELL_EDGE_PADDING = parseInt(_DataTableSt.stVars.cellHorizontalEdgePadding, 10);
var getStickyColumnStyle = (columns, column) => {
var left = 0;
for (var i = 0; i < columns.length; i++) {
var col = columns[i];
if (col === column) {
break;
}
var horizontalPadding = i === 0 ? CELL_EDGE_PADDING + CELL_PADDING : 2 * CELL_PADDING;
left += parseInt(col.width, 10) + horizontalPadding;
}
return {
left
};
};
exports.getStickyColumnStyle = getStickyColumnStyle;
//# sourceMappingURL=DataTable.utils.js.map