| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.getAllNodes = exports.getField = exports.NODE_ANCESTORS_FIELD = exports.CHILD_NODE_COUNT = exports.NODE_INDEX_FIELD = void 0;
- var util_1 = require("@antv/util");
- /** export 一些字段常量 */
- /** 在同层级,同一父节点下的节点索引顺序 */
- exports.NODE_INDEX_FIELD = 'nodeIndex';
- /** child 节点数量 */
- exports.CHILD_NODE_COUNT = 'childNodeCount';
- /** 节点的祖先节点 */
- exports.NODE_ANCESTORS_FIELD = 'nodeAncestor';
- var INVALID_FIELD_ERR_MSG = 'Invalid field: it must be a string!';
- function getField(options, defaultField) {
- var field = options.field, fields = options.fields;
- if ((0, util_1.isString)(field)) {
- return field;
- }
- if ((0, util_1.isArray)(field)) {
- console.warn(INVALID_FIELD_ERR_MSG);
- return field[0];
- }
- console.warn("".concat(INVALID_FIELD_ERR_MSG, " will try to get fields instead."));
- if ((0, util_1.isString)(fields)) {
- return fields;
- }
- if ((0, util_1.isArray)(fields) && fields.length) {
- return fields[0];
- }
- if (defaultField) {
- return defaultField;
- }
- throw new TypeError(INVALID_FIELD_ERR_MSG);
- }
- exports.getField = getField;
- function getAllNodes(root) {
- var nodes = [];
- if (root && root.each) {
- var parent_1;
- var index_1;
- // d3-hierarchy: Invokes the specified function for node and each descendant in **breadth-first order**
- root.each(function (node) {
- var _a, _b;
- if (node.parent !== parent_1) {
- parent_1 = node.parent;
- index_1 = 0;
- }
- else {
- index_1 += 1;
- }
- var ancestors = (0, util_1.filter)((((_a = node.ancestors) === null || _a === void 0 ? void 0 : _a.call(node)) || []).map(function (d) { return nodes.find(function (n) { return n.name === d.name; }) || d; }), function (_a) {
- var depth = _a.depth;
- return depth > 0 && depth < node.depth;
- });
- node[exports.NODE_ANCESTORS_FIELD] = ancestors;
- node[exports.CHILD_NODE_COUNT] = ((_b = node.children) === null || _b === void 0 ? void 0 : _b.length) || 0;
- node[exports.NODE_INDEX_FIELD] = index_1;
- nodes.push(node);
- });
- }
- else if (root && root.eachNode) {
- // @antv/hierarchy
- root.eachNode(function (node) {
- nodes.push(node);
- });
- }
- return nodes;
- }
- exports.getAllNodes = getAllNodes;
- //# sourceMappingURL=util.js.map
|