cv-dialog-sdk
Version:
Catavolt Dialog Javascript API
55 lines (45 loc) • 1.74 kB
text/typescript
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++]);
}
}
}