UNPKG

1.23 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _getParents = require('./get-parents');
8
9var _getParents2 = _interopRequireDefault(_getParents);
10
11function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13var filterTree = function filterTree() {
14 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
15 fieldName = _ref.fieldName,
16 _ref$idField = _ref.idField,
17 idField = _ref$idField === undefined ? 'id' : _ref$idField,
18 _ref$parentField = _ref.parentField,
19 parentField = _ref$parentField === undefined ? 'parent' : _ref$parentField;
20
21 return function (rows) {
22 if (!fieldName) {
23 throw new Error('tree.filterTree - Missing fieldName!');
24 }
25
26 return rows.filter(function (row, index) {
27 if (typeof row[parentField] === 'undefined' || row[parentField] === null) {
28 return true;
29 }
30
31 var parents = (0, _getParents2.default)({ index: index, idField: idField, parentField: parentField })(rows);
32
33 return parents.filter(function (parent) {
34 return parent[fieldName];
35 }).length === parents.length;
36 });
37 };
38};
39
40exports.default = filterTree;
\No newline at end of file