wix-style-react
Version:
wix-style-react
54 lines (53 loc) • 2.16 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.getStickyColumnStyle = void 0;
exports.virtualRowsAreEqual = virtualRowsAreEqual;
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 {
style: prevStyle,
data: prevData,
index: prevIndex
} = prevProps,
prevRest = (0, _objectWithoutProperties2.default)(prevProps, _excluded);
var {
style: nextStyle,
data: nextData,
index: nextIndex
} = nextProps,
nextRest = (0, _objectWithoutProperties2.default)(nextProps, _excluded2);
var {
data: nextItemData
} = nextData,
restNextItemData = (0, _objectWithoutProperties2.default)(nextData, _excluded3);
var {
data: prevItemData
} = prevData,
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 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