20 lines
788 B
TypeScript
20 lines
788 B
TypeScript
import { ViewModel } from "../contracts/view-models/ViewModel";
|
|
import type { LeagueSettingsViewData } from "../view-data/LeagueSettingsViewData";
|
|
import { DriverSummaryViewModel } from './DriverSummaryViewModel';
|
|
|
|
export class LeagueSettingsViewModel extends ViewModel {
|
|
private readonly data: LeagueSettingsViewData;
|
|
readonly owner: DriverSummaryViewModel | null;
|
|
readonly members: DriverSummaryViewModel[];
|
|
|
|
constructor(data: LeagueSettingsViewData) {
|
|
super();
|
|
this.data = data;
|
|
this.owner = data.owner ? new DriverSummaryViewModel(data.owner) : null;
|
|
this.members = data.members.map(m => new DriverSummaryViewModel(m));
|
|
}
|
|
|
|
get league() { return this.data.league; }
|
|
get config() { return this.data.config; }
|
|
get presets() { return this.data.presets; }
|
|
} |