259 lines
5.3 KiB
TypeScript
259 lines
5.3 KiB
TypeScript
export type WebSocketContextValue = {
|
|
connected: boolean;
|
|
send?: (msg: unknown) => void;
|
|
latestStats: { activeUsers: number; alerts: number } | null;
|
|
};
|
|
|
|
export type InfoBarData = {
|
|
"system-clock-utc": string;
|
|
"system-clock-local": string;
|
|
"memory-cpu-status": string;
|
|
"thread-count": string;
|
|
};
|
|
|
|
export type CameraZoomData = {
|
|
magnificationLevel: string;
|
|
};
|
|
|
|
export type StatusIndicator = "neutral-quaternary" | "dark" | "info" | "success" | "warning" | "danger";
|
|
export type Region = {
|
|
name: string;
|
|
brushColour: string;
|
|
};
|
|
|
|
export type SystemHealthStatus = {
|
|
id: string;
|
|
tags: string[];
|
|
groupID: string;
|
|
};
|
|
|
|
export type StatusGroups = {
|
|
channelA: SystemHealthStatus[];
|
|
channelB: SystemHealthStatus[];
|
|
channelC: SystemHealthStatus[];
|
|
default: SystemHealthStatus[];
|
|
};
|
|
|
|
export type BearerTypeFields = {
|
|
format: string;
|
|
enabled: boolean;
|
|
backOfficeURL: string;
|
|
username: string;
|
|
password: string;
|
|
connectTimeoutSeconds: number;
|
|
readTimeoutSeconds: number;
|
|
overviewQuality: string;
|
|
cropSizeFactor: string;
|
|
};
|
|
|
|
export type OptionalConstants = {
|
|
FFID?: string;
|
|
SCID?: string;
|
|
timestampSource?: string;
|
|
GPSFormat?: string;
|
|
};
|
|
|
|
export type OptionalLaneIDs = {
|
|
laneId?: string;
|
|
LID1?: string;
|
|
LID2?: string;
|
|
LID3?: string;
|
|
};
|
|
|
|
export type CustomField = {
|
|
label: string;
|
|
value: string;
|
|
};
|
|
|
|
export type CustomFields = {
|
|
customFields?: CustomField[];
|
|
};
|
|
|
|
export type InitialValuesFormErrors = {
|
|
backOfficeURL?: string;
|
|
username?: string;
|
|
password?: string;
|
|
connectTimeoutSeconds?: string;
|
|
readTimeoutSeconds?: string;
|
|
};
|
|
|
|
export type OSDConfigFields = {
|
|
includeVRM: boolean;
|
|
includeMotion: boolean;
|
|
includeTimeStamp: boolean;
|
|
includeCameraName: boolean;
|
|
overlayPosition: "Top" | "Bottom" | "Left" | "Right";
|
|
OSDTimestampFormat: "UTC" | "LOCAL";
|
|
};
|
|
|
|
export type FormTypes = BearerTypeFields & OptionalConstants & OptionalLaneIDs & CustomFields & OSDConfigFields;
|
|
type FieldProperty = {
|
|
datatype: string;
|
|
value: string;
|
|
};
|
|
export type OutputDataResponse = {
|
|
id: string;
|
|
configHash: string;
|
|
} & Record<string, FieldProperty>;
|
|
|
|
export type PaintedCell = {
|
|
colour: string;
|
|
region: Region;
|
|
};
|
|
|
|
export type DispatcherConfig = {
|
|
format: string;
|
|
enabled: boolean;
|
|
};
|
|
|
|
export type OptionalBOF2Constants = {
|
|
format?: string;
|
|
FFID?: string;
|
|
SCID?: string;
|
|
timestampSource?: string;
|
|
GPSFormat?: string;
|
|
};
|
|
|
|
export type OptionalUTMCConstants = {
|
|
format?: string;
|
|
SCID?: string;
|
|
timestampSource?: string;
|
|
GPSFormat?: string;
|
|
};
|
|
export type OptionalBOF2LaneIDs = {
|
|
laneId?: string;
|
|
LID1?: string;
|
|
LID2?: string;
|
|
LID3?: string;
|
|
};
|
|
|
|
export type CameraFeedState = {
|
|
cameraFeedID: "A" | "B" | "C";
|
|
paintedCells: {
|
|
A: Map<string, PaintedCell>;
|
|
B: Map<string, PaintedCell>;
|
|
C: Map<string, PaintedCell>;
|
|
};
|
|
regionsByCamera: {
|
|
A: Region[];
|
|
B: Region[];
|
|
C: Region[];
|
|
};
|
|
selectedRegionIndex: number;
|
|
modeByCamera: {
|
|
A: string;
|
|
B: string;
|
|
C: string;
|
|
};
|
|
|
|
tabIndex?: number;
|
|
zoomLevel: {
|
|
A: number;
|
|
B: number;
|
|
C: number;
|
|
};
|
|
};
|
|
|
|
export type CameraFeedAction =
|
|
| {
|
|
type: "SET_CAMERA_FEED";
|
|
payload: "A" | "B" | "C";
|
|
}
|
|
| {
|
|
type: "CHANGE_MODE";
|
|
payload: { cameraFeedID: "A" | "B" | "C"; mode: string };
|
|
}
|
|
| { type: "SET_SELECTED_REGION_INDEX"; payload: number }
|
|
| {
|
|
type: "SET_SELECTED_REGION_COLOUR";
|
|
payload: { cameraFeedID: "A" | "B" | "C"; regionName: string; newColour: string };
|
|
}
|
|
| {
|
|
type: "ADD_NEW_REGION";
|
|
payload: { cameraFeedID: "A" | "B" | "C"; regionName: string; brushColour: string };
|
|
}
|
|
| {
|
|
type: "REMOVE_REGION";
|
|
payload: { cameraFeedID: "A" | "B" | "C"; regionName: string };
|
|
}
|
|
| {
|
|
type: "RESET_PAINTED_CELLS";
|
|
payload: { cameraFeedID: "A" | "B" | "C"; paintedCells: Map<string, PaintedCell> };
|
|
}
|
|
| {
|
|
type: "SET_CAMERA_FEED_DATA";
|
|
cameraState: CameraFeedState;
|
|
}
|
|
| {
|
|
type: "RESET_CAMERA_FEED";
|
|
}
|
|
| {
|
|
type: "SET_ZOOM_LEVEL";
|
|
payload: { cameraFeedID: "A" | "B" | "C"; zoomLevel: number };
|
|
};
|
|
|
|
export type DecodeReading = {
|
|
id: number;
|
|
vrm: string;
|
|
laneID: number;
|
|
seenCount: number;
|
|
firstSeenTime?: number;
|
|
lastSeenTime?: number;
|
|
duplicate?: true;
|
|
firstSeenTimeHumane: string;
|
|
lastSeenTimeHumane: string;
|
|
plate?: string;
|
|
};
|
|
|
|
export type ColourData = {
|
|
id: string | number;
|
|
cells: number[][];
|
|
};
|
|
|
|
export type ColourDetectionPayload = {
|
|
cameraFeedID: "A" | "B" | "C";
|
|
regions: ColourData[];
|
|
};
|
|
|
|
export type SystemSettings = {
|
|
deviceName: string;
|
|
localTimeZone: string;
|
|
timeSource: string;
|
|
SNTPServer: string;
|
|
SNTPIntervalMinutes: number;
|
|
};
|
|
|
|
export type NetworkConfig = {
|
|
ipAddress: string;
|
|
subnetMask: string;
|
|
gateway: string;
|
|
primaryServer?: string;
|
|
secondaryServer?: string;
|
|
};
|
|
|
|
export type CustomFieldConfig = {
|
|
label: string;
|
|
value: string;
|
|
};
|
|
|
|
export type BlackBoardOptions = {
|
|
operation?: string;
|
|
path?: string;
|
|
value?: object | string | number | (string | number)[] | null;
|
|
};
|
|
|
|
export type CameraZoomConfig = { cameraFeedID: string; zoomLevel: number };
|
|
|
|
export type versionInfo = {
|
|
version: string;
|
|
revision: string;
|
|
buildtime: string;
|
|
appname: string;
|
|
MAC: string;
|
|
timeStamp: number;
|
|
UUID: string;
|
|
proquint: string;
|
|
"Serial No.": string;
|
|
"Model No.": string;
|
|
};
|