UNPKG

cv-dialog-sdk

Version:

Catavolt Dialog Javascript API

55 lines (45 loc) 1.74 kB
import {RecordSetVisitor} from "../proxy/RecordSetVisitor"; import {WorkPackageVisitor} from "./WorkPackageVisitor"; /** * */ export class WorkPackagesRecordSetVisitor extends RecordSetVisitor { constructor(value: string | object) { super(value); } // --- State Management Helpers --- // public static emptyRecordSetVisitor(): WorkPackagesRecordSetVisitor { return new WorkPackagesRecordSetVisitor(super.emptyRecordSetVisitor().enclosedJsonObject()); } // --- State Management --- // public updateBriefcaseColumnUsingSelections(selectedWorkPackageIds: string[]) { const workPackages = this.enclosedJsonObject().records; if (workPackages) { for (const r of workPackages) { let inBriefcase = false; for (const selectedId of selectedWorkPackageIds) { if (r.id === selectedId) { inBriefcase = true; break; } } const briefcaseProperty = { "name": "briefcase", "annotations": [], "type": "hxgn.api.dialog.Property", "value": inBriefcase }; r.properties.push(briefcaseProperty); } } } public visitRecordAtId(id: string): WorkPackageVisitor { return super.visitRecordAtId(id) as WorkPackageVisitor; } public * visitRecords(): IterableIterator<WorkPackageVisitor> { let index = 0; while (index < this.enclosedJsonObject().records.length) { yield new WorkPackageVisitor(this.enclosedJsonObject().records[index++]); } } }