diff --git a/app/NavBar.tsx b/app/NavBar.tsx
index 0863450..dd5de5f 100644
--- a/app/NavBar.tsx
+++ b/app/NavBar.tsx
@@ -2,8 +2,6 @@ import Link from "next/link";
import Image from "next/image";
export default function NavBar() {
-
-
return (
);
diff --git a/app/_app.tsx b/app/_app.tsx
index bda571c..4979847 100644
--- a/app/_app.tsx
+++ b/app/_app.tsx
@@ -2,6 +2,6 @@
import "./globals.css";
import { AppProps } from "next/app";
-export default function App({ Component, pageProps } :AppProps) {
+export default function App({ Component, pageProps }: AppProps) {
return ;
}
diff --git a/app/components/Group.tsx b/app/components/Group.tsx
index 3c1e55b..26dbea3 100644
--- a/app/components/Group.tsx
+++ b/app/components/Group.tsx
@@ -23,7 +23,9 @@ export default function Group({
return (
-
{group.name}
+
+ {group.name}
+
diff --git a/app/components/GroupUtils.test.ts b/app/components/GroupUtils.test.ts
index 1c8a847..3e0d17b 100644
--- a/app/components/GroupUtils.test.ts
+++ b/app/components/GroupUtils.test.ts
@@ -3,7 +3,7 @@ import { IfcGroup } from "./IfcGroup";
class MockGroup implements IfcGroup {
blocks: MockBlock[];
- name:string;
+ name: string;
constructor(blocks: Array) {
this.blocks = blocks;
this.name = "test";
diff --git a/app/components/IfcGroup.ts b/app/components/IfcGroup.ts
index b0cd8ad..12ed097 100644
--- a/app/components/IfcGroup.ts
+++ b/app/components/IfcGroup.ts
@@ -1,4 +1,4 @@
export interface IfcGroup {
- name:string;
- blocks:Array
-}
\ No newline at end of file
+ name: string;
+ blocks: Array;
+}
diff --git a/app/components/InstList.ts b/app/components/InstList.ts
index 36b3972..9e35bf9 100644
--- a/app/components/InstList.ts
+++ b/app/components/InstList.ts
@@ -1,4 +1,3 @@
-
import useWebSocket from "react-use-websocket";
import { dehex_and_decompress } from "./dehex_and_decompress";
@@ -15,14 +14,14 @@ export default function InstList() {
let instList = null;
- if (lastJsonMessage) {
- if (lastJsonMessage.b64byt && typeof lastJsonMessage.b64byt == "string") {
- const response: any = dehex_and_decompress(atob(lastJsonMessage.b64byt));
- if (typeof response == "string") {
- instList = JSON.parse(response);
- }
+ if (lastJsonMessage) {
+ if (lastJsonMessage.b64byt && typeof lastJsonMessage.b64byt == "string") {
+ const response: any = dehex_and_decompress(atob(lastJsonMessage.b64byt));
+ if (typeof response == "string") {
+ instList = JSON.parse(response);
}
}
+ }
if (!instList) {
return;
diff --git a/app/components/Instrument.ts b/app/components/Instrument.ts
index 07bcf57..83b83f1 100644
--- a/app/components/Instrument.ts
+++ b/app/components/Instrument.ts
@@ -12,7 +12,7 @@ export class Instrument {
runInfoPVs: Map;
configname: string;
groups: Array;
- constructor(prefix:string) {
+ constructor(prefix: string) {
this.prefix = prefix;
this.dashboard_prefix = `${this.prefix}${DASHBOARD}`;
@@ -20,7 +20,7 @@ export class Instrument {
Object.entries({
[`${this.prefix}DAE:TITLE`]: "Title:",
[`${this.prefix}DAE:_USERNAME`]: "Users:",
- })
+ }),
);
this.dictLongerInstPVs = new Map(
@@ -31,7 +31,7 @@ export class Instrument {
[`${this.dashboard_prefix}1:2:LABEL`]: `${this.dashboard_prefix}1:2:VALUE`,
[`${this.dashboard_prefix}2:2:LABEL`]: `${this.dashboard_prefix}2:2:VALUE`,
[`${this.dashboard_prefix}3:2:LABEL`]: `${this.dashboard_prefix}3:2:VALUE`,
- })
+ }),
);
// PV name: [human readable name, column in top bar(null is monitor but don't show)]
@@ -67,7 +67,7 @@ export class Instrument {
[`${this.prefix}DAE:RUNDURATION_PD`]: "Period Run Time",
[`${this.prefix}DAE:PERIODSEQ`]: "Period Sequence",
[`${this.prefix}DAE:DAEMEMORYUSED`]: "DAE Memory Used",
- })
+ }),
);
// (label) PV address : [row, col, label, value]
diff --git a/app/components/InstrumentData.tsx b/app/components/InstrumentData.tsx
index d19aff9..e8237d5 100644
--- a/app/components/InstrumentData.tsx
+++ b/app/components/InstrumentData.tsx
@@ -1,4 +1,4 @@
-"use client"
+"use client";
import React from "react";
import TopBar from "./TopBar";
import Groups from "./Groups";
@@ -6,25 +6,38 @@ import { useEffect, useState } from "react";
import useWebSocket from "react-use-websocket";
import { dehex_and_decompress } from "./dehex_and_decompress";
import { Instrument } from "./Instrument";
-import {PV} from "./PV";
+import { PV } from "./PV";
import { PVWSMessage } from "./IfcPVWSMessage";
let lastUpdate: string = "";
-export default function InstrumentData({instrumentName}: {instrumentName:string} ) {
+export default function InstrumentData({
+ instrumentName,
+}: {
+ instrumentName: string;
+}) {
// set up the different states for the instrument data
- const socketURL = process.env.NEXT_PUBLIC_WS_URL || "ws://localhost:8080/pvws/pv";
+ const socketURL =
+ process.env.NEXT_PUBLIC_WS_URL || "ws://localhost:8080/pvws/pv";
- const instName = instrumentName ;
+ const instName = instrumentName;
- const { sendJsonMessage, lastJsonMessage }: {sendJsonMessage:any,lastJsonMessage:PVWSMessage} = useWebSocket(socketURL, {
- shouldReconnect: (closeEvent) => true,
- });
+ const {
+ sendJsonMessage,
+ lastJsonMessage,
+ }: { sendJsonMessage: any; lastJsonMessage: PVWSMessage } = useWebSocket(
+ socketURL,
+ {
+ shouldReconnect: (closeEvent) => true,
+ },
+ );
const CONFIG_DETAILS = "CS:BLOCKSERVER:GET_CURR_CONFIG_DETAILS";
- const [instlist, setInstlist] = useState|null>(null);
- const [currentInstrument, setCurrentInstrument] = useState(null);
+ const [instlist, setInstlist] = useState | null>(null);
+ const [currentInstrument, setCurrentInstrument] = useState(
+ null,
+ );
useEffect(() => {
sendJsonMessage({
@@ -32,8 +45,7 @@ export default function InstrumentData({instrumentName}: {instrumentName:string}
pvs: ["CS:INSTLIST"],
});
-
- if (instName == "" || instName == null || instlist == null ) {
+ if (instName == "" || instName == null || instlist == null) {
return;
}
@@ -81,10 +93,10 @@ export default function InstrumentData({instrumentName}: {instrumentName:string}
}
const updatedPV: PVWSMessage = lastJsonMessage;
const updatedPVName: string = updatedPV.pv;
- const updatedPVbytes: string|null|undefined = updatedPV.b64byt;
+ const updatedPVbytes: string | null | undefined = updatedPV.b64byt;
if (updatedPVName == "CS:INSTLIST" && updatedPVbytes != null) {
- const dehexedInstList = dehex_and_decompress(atob(updatedPVbytes))
+ const dehexedInstList = dehex_and_decompress(atob(updatedPVbytes));
if (dehexedInstList != null && typeof dehexedInstList == "string") {
setInstlist(JSON.parse(dehexedInstList));
}
@@ -135,7 +147,7 @@ export default function InstrumentData({instrumentName}: {instrumentName:string}
});
for (const block of groupBlocks) {
- const newBlock = blocks.find((b:any) => b.name === block);
+ const newBlock = blocks.find((b: any) => b.name === block);
const completePV = new PV(newBlock.pv);
completePV.human_readable_name = newBlock.name;
@@ -181,7 +193,7 @@ export default function InstrumentData({instrumentName}: {instrumentName:string}
// This is a top bar label PV
if (!currentInstrument.topBarPVs.has(updatedPVName) && updatedPV.text) {
let prefixRemoved = updatedPVName.split(
- currentInstrument.dashboard_prefix
+ currentInstrument.dashboard_prefix,
)[1];
let row = prefixRemoved[0];
let col = prefixRemoved[2];
@@ -198,11 +210,15 @@ export default function InstrumentData({instrumentName}: {instrumentName:string}
pvs: [value_pv],
});
}
- } else if (currentInstrument.columnZeroPVs.has(updatedPVName) && updatedPVbytes != null ) {
+ } else if (
+ currentInstrument.columnZeroPVs.has(updatedPVName) &&
+ updatedPVbytes != null
+ ) {
// this is a top bar column zero value
const row = updatedPVName.endsWith("TITLE") ? 0 : 1; // if title, column 1
- // Both of these are base64 encoded. PVWS gives a null byte back if there is no value, so replace with null.
- const value = atob(updatedPVbytes) != "\x00" ? atob(updatedPVbytes) : null;
+ // Both of these are base64 encoded. PVWS gives a null byte back if there is no value, so replace with null.
+ const value =
+ atob(updatedPVbytes) != "\x00" ? atob(updatedPVbytes) : null;
currentInstrument.topBarPVs.set(updatedPVName, [
row,
0,
@@ -211,7 +227,7 @@ export default function InstrumentData({instrumentName}: {instrumentName:string}
]);
} else if (
Array.from(currentInstrument.dictLongerInstPVs.values()).includes(
- updatedPVName
+ updatedPVName,
)
) {
// this is a top bar value
@@ -223,7 +239,7 @@ export default function InstrumentData({instrumentName}: {instrumentName:string}
} else if (currentInstrument.runInfoMap.has(updatedPVName)) {
currentInstrument.runInfoPVs.set(
currentInstrument.runInfoMap.get(updatedPVName),
- pvVal
+ pvVal,
);
} else {
// This is a block - check if in groups
@@ -256,7 +272,7 @@ export default function InstrumentData({instrumentName}: {instrumentName:string}
}
const pv = document.getElementById(
- block.human_readable_name + "_CIRCLE"
+ block.human_readable_name + "_CIRCLE",
);
if (!pv) return;
@@ -287,7 +303,7 @@ export default function InstrumentData({instrumentName}: {instrumentName:string}
setShowHiddenBlocks(!showHiddenBlocks);
};
- if (!instName || instName==null|| !currentInstrument) {
+ if (!instName || instName == null || !currentInstrument) {
return Loading...
;
}
return (
diff --git a/app/components/InstrumentWallCard.tsx b/app/components/InstrumentWallCard.tsx
index de2ee28..e7a5bc9 100644
--- a/app/components/InstrumentWallCard.tsx
+++ b/app/components/InstrumentWallCard.tsx
@@ -2,13 +2,13 @@ import Link from "next/link";
import { motion } from "framer-motion";
import { getForegroundColor, getStatusColor } from "./getRunstateColours";
-export default function WallCard({ instrument }: {instrument:any}) {
+export default function WallCard({ instrument }: { instrument: any }) {
return (
, instName:string, runInfoPVs:Map }) => {
- if (!monitoredPVs || !monitoredPVs.size || !runInfoPVs || !runInfoPVs.size|| !instName) {
+const TopBar = ({
+ monitoredPVs,
+ instName,
+ runInfoPVs,
+}: {
+ monitoredPVs: Map;
+ instName: string;
+ runInfoPVs: Map;
+}) => {
+ if (
+ !monitoredPVs ||
+ !monitoredPVs.size ||
+ !runInfoPVs ||
+ !runInfoPVs.size ||
+ !instName
+ ) {
return (
Loading...
@@ -56,7 +70,7 @@ const TopBar = ({ monitoredPVs, instName, runInfoPVs }: {monitoredPVs: Map
- {[0, 1, 2].map((index:number) => (
+ {[0, 1, 2].map((index: number) => (
{getMonitoredPVs(index, monitoredPVs)}
|
@@ -90,7 +104,7 @@ const TopBar = ({ monitoredPVs, instName, runInfoPVs }: {monitoredPVs: Map
{label} |
- {value!=null?value:"Hidden/unknown"}
+
+ {value != null ? value : "Hidden/unknown"}
+
|