UNPKG

@tots/ngx-org-chart

Version:
19 lines 3.17 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1vcmctY2hhcnQvc3JjL2xpYi9ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sT0FBTyxJQUFJO0lBUWYsWUFBWSxTQUFtQixFQUFFLE1BQWE7UUFDNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUNyQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFaEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMzQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzVCLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDbkI7WUFFRCxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxFQUFFLEVBQWdCLENBQUM7YUFDbkIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJTm9kZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgY3NzQ2xhc3M6IHN0cmluZztcbiAgaW1hZ2U6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgY2hpbGRzOiBJTm9kZVtdO1xufVxuXG5leHBvcnQgY2xhc3MgTm9kZSBpbXBsZW1lbnRzIElOb2RlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBjc3NDbGFzczogc3RyaW5nO1xuICBpbWFnZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBjaGlsZHM6IE5vZGVbXTtcbiAgcGFyZW50PzogTm9kZTtcblxuICBjb25zdHJ1Y3RvcihzdHJ1Y3R1cmU6IHN0cmluZ1tdLCBwYXJlbnQ/OiBOb2RlKSB7XG4gICAgdGhpcy5wYXJlbnQgPSBwYXJlbnQ7XG4gICAgY29uc3QgW25hbWUsIC4uLnJlcG9ydHNdID0gc3RydWN0dXJlO1xuICAgIHRoaXMubmFtZSA9IG5hbWUuc3BsaXQoJygnKVswXS50cmltKCk7XG4gICAgY29uc3QgdGl0bGVNYXRjaCA9IG5hbWUubWF0Y2goL1xcKChbXildKylcXCkvKTtcbiAgICB0aGlzLnRpdGxlID0gdGl0bGVNYXRjaCAmJiB0aXRsZU1hdGNoWzFdLnRyaW0oKTtcblxuICAgIHRoaXMuY2hpbGRzID0gcmVwb3J0cy5tYXAociA9PiByLnN1YnN0cmluZygxKSlcbiAgICAgIC5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PiB7XG4gICAgICAgIGlmICghY3VycmVudC5zdGFydHNXaXRoKCcgJykpIHtcbiAgICAgICAgICBwcmV2aW91cy5wdXNoKFtdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByZXZpb3VzW3ByZXZpb3VzLmxlbmd0aCAtIDFdLnB1c2goY3VycmVudCk7XG4gICAgICAgIHJldHVybiBwcmV2aW91cztcbiAgICAgIH0sIFtdIGFzIHN0cmluZ1tdW10pXG4gICAgICAubWFwKHIgPT4gbmV3IE5vZGUociwgdGhpcykpO1xuICB9XG59XG4iXX0=