Files
DCSOlympus/client/src/units/unitdatatable.ts
Pax1601 2212162239 Added spawn from airbase code
The spawn from airbase code has been added. A couple of fixes to the UnitDataTable.
2023-03-21 21:22:29 +01:00

57 lines
1.5 KiB
TypeScript

import { getUnitsManager } from "..";
import { Panel } from "../panels/panel";
import { Unit } from "./unit";
export class UnitDataTable extends Panel {
constructor(id: string) {
super(id);
this.hide();
}
update() {
var units = getUnitsManager().getUnits();
const unitsArray = Object.values(units).sort((a: Unit, b: Unit) => {
const aVal = a.getBaseData().unitName?.toLowerCase();
const bVal = b.getBaseData().unitName?.toLowerCase();
if (aVal > bVal) {
return 1;
} else if (bVal > aVal) {
return -1;
} else {
return 0;
}
});
function addRow(parentEl: HTMLElement, columns: string[]) {
const rowDiv = document.createElement("div");
for (const item of columns) {
const div = document.createElement("div");
div.innerText = item;
rowDiv.appendChild(div);
}
parentEl.appendChild(rowDiv);
}
const el = <HTMLElement> this.getElement().querySelector("#unit-list");
if (el) {
el.innerHTML = "";
addRow(el, ["Callsign", "Name", "Category", "AI/Human"])
for (const unit of unitsArray) {
const dataset = [unit.getBaseData().unitName, unit.getBaseData().name, unit.getBaseData().category, (unit.getBaseData().AI) ? "AI" : "Human"];
addRow(el, dataset);
}
}
}
}