@aibsweb/faceted-search
Version:
A generalized faceted search application.
70 lines (60 loc) • 2.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _dendrogramNodes = _interopRequireDefault(require("./dendrogram-nodes"));
var _dendrogramLinks = _interopRequireDefault(require("./dendrogram-links"));
require("../../../../scss/pivot-table.scss");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
/**
* Renders a dendrogram
*
* @param {Object} props Component Props
*/
var Dendrogram = function Dendrogram(_ref) {
var width = _ref.width,
height = _ref.height,
scrollLeft = _ref.scrollLeft,
className = _ref.className,
data = _ref.data,
verticalOffset = _ref.verticalOffset,
dataAccessors = _ref.dataAccessors;
var edgeData = (0, _react.useMemo)(function () {
return data.links();
}, [data]);
var nodeData = (0, _react.useMemo)(function () {
return data.descendants().filter(function (d) {
return !!d.children;
});
}, [data]);
return _react["default"].createElement("svg", {
className: className,
width: width,
height: height,
viewBox: [scrollLeft, 0, width, height]
}, _react["default"].createElement(_dendrogramLinks["default"], {
data: edgeData,
dataAccessors: dataAccessors,
verticalOffset: verticalOffset
}), _react["default"].createElement(_dendrogramNodes["default"], {
data: nodeData,
dataAccessors: dataAccessors,
verticalOffset: verticalOffset,
tooltipId: "header"
}));
};
Dendrogram.propTypes = {
width: _propTypes["default"].number,
height: _propTypes["default"].number,
scrollLeft: _propTypes["default"].number,
className: _propTypes["default"].string,
data: _propTypes["default"].object,
dataAccessors: _propTypes["default"].object.isRequired,
verticalOffset: _propTypes["default"].number
};
var _default = Dendrogram;
exports["default"] = _default;