react-lanes
Version:
Trello-like lanes for React
34 lines (27 loc) • 1.21 kB
JavaScript
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
import { createElement } from "react";
function query(_ref, data) {
var filter = _ref.filter,
sort = _ref.sort,
limit = _ref.limit;
return data.filter(filter).sort(sort).slice(0, limit);
}
var Component = function Component(props) {
return createElement("div", Object.assign({
style: { display: "flex" }
}, props));
};
var Lanes = function Lanes(_ref2) {
var _ref2$component = _ref2.component,
component = _ref2$component === undefined ? Component : _ref2$component,
_ref2$data = _ref2.data,
data = _ref2$data === undefined ? [] : _ref2$data,
_ref2$lanes = _ref2.lanes,
lanes = _ref2$lanes === undefined ? [] : _ref2$lanes,
render = _ref2.render,
props = _objectWithoutProperties(_ref2, ["component", "data", "lanes", "render"]);
return createElement(component, props, render(lanes.map(function (lane) {
return Object.assign({}, lane, { data: query(lane.query, data) });
})));
};
export default Lanes;