diff --git a/src/004-base/facility.js b/src/004-base/facility.js index 2172a12d2b73fc7072349da2d10508635b5c936a..4b8a2fb5c4e39c382a059c5c5aa0c8333ef10274 100644 --- a/src/004-base/facility.js +++ b/src/004-base/facility.js @@ -156,6 +156,14 @@ App.Entity.Facilities.Job = class { (acc, cur, idx) => { if (cur.assignment === this.desc.assignment) { acc.push(idx); } return acc; }, []); } + /** + * IDs for all slaves that are employed at this job + * @returns {number[]} + */ + employeesIds() { + return this.employees().map(s => s.ID); + } + /** * Tests if slave is broken enough * @protected @@ -331,7 +339,8 @@ App.Entity.Facilities.Facility = class { /** Number of already hosted slaves * @returns {number} */ get hostedSlaves() { - return this.job().employeesIds.length; + const job = this.job(); + return job ? job.employeesIds().length : 0; } get hasFreeSpace() { @@ -559,7 +568,7 @@ App.Entity.Facilities.FacilitySingleJob = class extends App.Entity.Facilities.Jo return ids.map(id => si[id]); } - get employeesIds() { + employeesIds() { return State.variables[this._employeeIDsVariableName]; // updated by assignJob()/removeJob(); }