evmtools-node
Version:
このライブラリは、プライムブレインズ社で利用している「進捗管理ツール(Excel)」ファイルを読み込み、 プロジェクトの進捗状況や要員別の作業量を可視化するためのライブラリです。
54 lines • 2.35 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TaskNode = void 0;
const TaskRow_1 = require("./TaskRow");
class TaskNode extends TaskRow_1.TaskRow {
constructor(sharp, id, level, name, assignee, workload, startDate, endDate,
// public progress?: number,
actualStartDate, actualEndDate, progressRate, scheduledWorkDays, pv, ev, spi, expectedProgressDate, delayDays, remarks, parentId, isLeaf, plotMap, children = []) {
super(sharp, id, level, name, assignee, workload, startDate, endDate,
// progress,
actualStartDate, actualEndDate, progressRate, scheduledWorkDays, pv, ev, spi, expectedProgressDate, delayDays, remarks, parentId, isLeaf, plotMap);
this.sharp = sharp;
this.id = id;
this.level = level;
this.name = name;
this.assignee = assignee;
this.workload = workload;
this.startDate = startDate;
this.endDate = endDate;
this.actualStartDate = actualStartDate;
this.actualEndDate = actualEndDate;
this.progressRate = progressRate;
this.scheduledWorkDays = scheduledWorkDays;
this.pv = pv;
this.ev = ev;
this.spi = spi;
this.expectedProgressDate = expectedProgressDate;
this.delayDays = delayDays;
this.remarks = remarks;
this.parentId = parentId;
this.isLeaf = isLeaf;
this.plotMap = plotMap;
this.children = children;
}
/**
* Iterableであるための関数。子があれば子を返す。
*/
*[Symbol.iterator]() {
yield this;
for (const child of this.children) {
yield* child;
}
}
/**
* TaskRowからTaskNodeへ変換する静的ファクトリメソッド
* @param row 元のTaskRow
* @param children 子ノードの配列(省略時は空配列)
*/
static fromRow(row, children = []) {
return new TaskNode(row.sharp, row.id, row.level, row.name, row.assignee, row.workload, row.startDate, row.endDate, row.actualStartDate, row.actualEndDate, row.progressRate, row.scheduledWorkDays, row.pv, row.ev, row.spi, row.expectedProgressDate, row.delayDays, row.remarks, row.parentId, row.isLeaf, row.plotMap, children);
}
}
exports.TaskNode = TaskNode;
//# sourceMappingURL=TaskNode.js.map