UNPKG

@ahmedaoui/ngx-org-chart

Version:
19 lines 3.21 kB
export class Node { constructor(structure, parent) { this.parent = parent; const [name, ...reports] = structure; this.name = name.split('(')[0].trim(); const titleMatch = name.match(/\(([^)]+)\)/); this.title = titleMatch && titleMatch[1].trim(); this.childs = reports.map(r => r.substring(1)) .reduce((previous, current) => { if (!current.startsWith(' ')) { previous.push([]); } previous[previous.length - 1].push(current); return previous; }, []) .map(r => new Node(r, this)); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1vcmctY2hhcnQvc3JjL2xpYi9ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sT0FBTyxJQUFJO0lBUWYsWUFBWSxTQUFtQixFQUFFLE1BQWE7UUFDNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUNyQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFaEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMzQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDN0IsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNwQixDQUFDO1lBRUQsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsRUFBRSxFQUFnQixDQUFDO2FBQ25CLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSU5vZGUge1xuICBuYW1lOiBzdHJpbmc7XG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICBpbWFnZT86IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmcgfCBudWxsO1xuICBjaGlsZHM/OiBJTm9kZVtdO1xufVxuXG5leHBvcnQgY2xhc3MgTm9kZSBpbXBsZW1lbnRzIElOb2RlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBjc3NDbGFzcz86IHN0cmluZztcbiAgaW1hZ2U/OiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nIHwgbnVsbDtcbiAgY2hpbGRzOiBOb2RlW107XG4gIHBhcmVudD86IE5vZGU7XG5cbiAgY29uc3RydWN0b3Ioc3RydWN0dXJlOiBzdHJpbmdbXSwgcGFyZW50PzogTm9kZSkge1xuICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICAgIGNvbnN0IFtuYW1lLCAuLi5yZXBvcnRzXSA9IHN0cnVjdHVyZTtcbiAgICB0aGlzLm5hbWUgPSBuYW1lLnNwbGl0KCcoJylbMF0udHJpbSgpO1xuICAgIGNvbnN0IHRpdGxlTWF0Y2ggPSBuYW1lLm1hdGNoKC9cXCgoW14pXSspXFwpLyk7XG4gICAgdGhpcy50aXRsZSA9IHRpdGxlTWF0Y2ggJiYgdGl0bGVNYXRjaFsxXS50cmltKCk7XG5cbiAgICB0aGlzLmNoaWxkcyA9IHJlcG9ydHMubWFwKHIgPT4gci5zdWJzdHJpbmcoMSkpXG4gICAgICAucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4ge1xuICAgICAgICBpZiAoIWN1cnJlbnQuc3RhcnRzV2l0aCgnICcpKSB7XG4gICAgICAgICAgcHJldmlvdXMucHVzaChbXSk7XG4gICAgICAgIH1cblxuICAgICAgICBwcmV2aW91c1twcmV2aW91cy5sZW5ndGggLSAxXS5wdXNoKGN1cnJlbnQpO1xuICAgICAgICByZXR1cm4gcHJldmlvdXM7XG4gICAgICB9LCBbXSBhcyBzdHJpbmdbXVtdKVxuICAgICAgLm1hcChyID0+IG5ldyBOb2RlKHIsIHRoaXMpKTtcbiAgfVxufVxuIl19