This commit is contained in:
@ -15,7 +15,7 @@ export function CreateVMRoute(): React.ReactElement {
|
||||
const alert = useAlert();
|
||||
const navigate = useNavigate();
|
||||
|
||||
const [vm, setVM] = React.useState(VMInfo.NewEmpty);
|
||||
const [vm, setVM] = React.useState(VMInfo.NewEmpty());
|
||||
|
||||
const create = async (v: VMInfo) => {
|
||||
try {
|
||||
@ -103,7 +103,9 @@ function EditVMInner(p: {
|
||||
const [changed, setChanged] = React.useState(false);
|
||||
|
||||
const [, updateState] = React.useState<any>();
|
||||
const forceUpdate = React.useCallback(() => { updateState({}); }, []);
|
||||
const forceUpdate = React.useCallback(() => {
|
||||
updateState({});
|
||||
}, []);
|
||||
|
||||
const valueChanged = () => {
|
||||
setChanged(true);
|
||||
|
@ -206,7 +206,7 @@ function IsoFilesList(p: {
|
||||
try {
|
||||
const blob = await IsoFilesApi.Download(entry, setDlProgress);
|
||||
|
||||
await downloadBlob(blob, entry.filename);
|
||||
downloadBlob(blob, entry.filename);
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
alert("Failed to download iso file!");
|
||||
|
@ -66,7 +66,7 @@ function NetworkFiltersListRouteInner(p: {
|
||||
const onlyBuiltin = visibleFilters === VisibleFilters.Builtin;
|
||||
|
||||
return p.list.filter((f) => NWFilterIsBuiltin(f) === onlyBuiltin);
|
||||
}, [visibleFilters]);
|
||||
}, [visibleFilters, p.list]);
|
||||
|
||||
return (
|
||||
<VirtWebRouteContainer
|
||||
@ -78,7 +78,9 @@ function NetworkFiltersListRouteInner(p: {
|
||||
size="small"
|
||||
value={visibleFilters}
|
||||
exclusive
|
||||
onChange={(_ev, v) => { setVisibleFilters(v); }}
|
||||
onChange={(_ev, v) => {
|
||||
setVisibleFilters(v);
|
||||
}}
|
||||
aria-label="visible filters"
|
||||
>
|
||||
<ToggleButton value={VisibleFilters.All}>All</ToggleButton>
|
||||
@ -130,8 +132,8 @@ function NetworkFiltersListRouteInner(p: {
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
<ul>
|
||||
{t.join_filters.map((f, n) => (
|
||||
<li key={n}>{f}</li>
|
||||
{t.join_filters.map((f) => (
|
||||
<li key={f}>{f}</li>
|
||||
))}
|
||||
</ul>
|
||||
</TableCell>
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* eslint-disable react-x/no-array-index-key */
|
||||
import {
|
||||
mdiHarddisk,
|
||||
mdiInformation,
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* eslint-disable react-x/no-array-index-key */
|
||||
import VisibilityIcon from "@mui/icons-material/Visibility";
|
||||
import {
|
||||
Button,
|
||||
@ -99,9 +100,9 @@ export function TokensListRouteInner(p: {
|
||||
{t.max_inactivity && timeDiff(0, t.max_inactivity)}
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
{t.rights.map((r) => {
|
||||
{t.rights.map((r, n) => {
|
||||
return (
|
||||
<div>
|
||||
<div key={n}>
|
||||
{r.verb} {r.path}
|
||||
</div>
|
||||
);
|
||||
|
@ -115,8 +115,8 @@ function VMListWidget(p: {
|
||||
</TableRow>
|
||||
</TableHead>
|
||||
<TableBody>
|
||||
{p.groups.map((g, num) => (
|
||||
<React.Fragment key={num}>
|
||||
{p.groups.map((g) => (
|
||||
<React.Fragment key={g}>
|
||||
{p.groups.length > 1 && (
|
||||
<TableRow>
|
||||
<TableCell
|
||||
@ -125,7 +125,9 @@ function VMListWidget(p: {
|
||||
>
|
||||
<IconButton
|
||||
size="small"
|
||||
onClick={() => { toggleHiddenGroup(g); }}
|
||||
onClick={() => {
|
||||
toggleHiddenGroup(g);
|
||||
}}
|
||||
>
|
||||
{!hiddenGroups.has(g) ? (
|
||||
<KeyboardArrowUpIcon />
|
||||
@ -157,7 +159,9 @@ function VMListWidget(p: {
|
||||
<TableCell>
|
||||
<VMStatusWidget
|
||||
vm={row}
|
||||
onChange={(s) => { updateVMState(row, s); }}
|
||||
onChange={(s) => {
|
||||
updateVMState(row, s);
|
||||
}}
|
||||
/>
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
|
@ -44,8 +44,8 @@ function VNCInner(p: { vm: VMInfo }): React.ReactElement {
|
||||
const [counter, setCounter] = React.useState(1);
|
||||
const [connected, setConnected] = React.useState(false);
|
||||
|
||||
const vncRef = React.createRef<HTMLDivElement>();
|
||||
const vncScreenRef = React.createRef<VncScreenHandle>();
|
||||
const vncRef = React.useRef<HTMLDivElement>(null);
|
||||
const vncScreenRef = React.useRef<VncScreenHandle>(null);
|
||||
|
||||
const connect = async (force: boolean) => {
|
||||
try {
|
||||
@ -91,7 +91,9 @@ function VNCInner(p: { vm: VMInfo }): React.ReactElement {
|
||||
connect(false);
|
||||
|
||||
if (vncRef.current) {
|
||||
vncRef.current.onfullscreenchange = () => { setCounter(counter + 1); };
|
||||
vncRef.current.onfullscreenchange = () => {
|
||||
setCounter(counter + 1);
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
@ -143,7 +145,9 @@ function VNCInner(p: { vm: VMInfo }): React.ReactElement {
|
||||
console.info("VNC disconnected " + token.url);
|
||||
disconnected();
|
||||
}}
|
||||
onConnect={() => { setConnected(true); }}
|
||||
onConnect={() => {
|
||||
setConnected(true);
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user