import { Fragment } from 'inferno';
import { useBackend, useSharedState } from '../backend';
import { Box, Button, LabeledList, Section, Tabs } from '../components';
import { Window } from '../layouts';
import { filter } from 'common/collections';
export const ResearchServerController = (props, context) => {
const { act, data } = useBackend(context);
return (
);
};
const ResearchControllerContent = (props, context) => {
const { act, data } = useBackend(context);
const { badmin, servers, consoles } = data;
const [selectedServer, setSelectedServer] = useSharedState(context, 'selectedServer', null);
let realServer = servers.find((s) => s.id === selectedServer);
if (realServer) {
return ;
}
return (
{servers.map((server) => (
))}
);
};
const ResearchServer = (props, context) => {
const { act, data } = useBackend(context);
const { badmin } = data;
const { server, setSelectedServer } = props;
const [tab, setTab] = useSharedState(context, 'tab', 0);
return (
setSelectedServer(null)}>
Back
}>
setTab(0)}>
Access Rights
setTab(1)}>
Data Management
{(badmin && (
setTab(2)} color="red">
Server-to-Server Transfer
)) ||
null}
{(tab === 0 && ) || null}
{(tab === 1 && ) || null}
{(tab === 2 && badmin && ) || null}
);
};
const ResearchServerAccess = (props, context) => {
const { act, data } = useBackend(context);
const { server } = props;
const { consoles } = data;
const hasUploadAccess = (server, console) => {
if (server.id_with_upload.indexOf(console.id) !== -1) {
return true;
}
return false;
};
const hasDownloadAccess = (server, console) => {
if (server.id_with_download.indexOf(console.id) !== -1) {
return true;
}
return false;
};
return (
{consoles.length &&
consoles.map((console) => (
))}
);
};
const ResearchServerData = (props, context) => {
const { act, data } = useBackend(context);
const { server } = props;
return (
{server.tech.map((tech) => (
act('reset_tech', { server: server.ref, tech: tech.id })}
/>
}
/>
))}
{filter((design) => !!design.name)(server.designs).map((design) => (
act('reset_design', { server: server.ref, design: design.id })}
/>
}
/>
))}
);
};
const ResearchServerTransfer = (props, context) => {
const { act, data } = useBackend(context);
const { server } = props;
const { badmin, servers } = data;
if (!badmin) {
return null;
}
return (
{servers.map((newserver) => (
Transfer from {server.name} To {newserver.name}
}
onClick={() => act('transfer_data', { server: server.ref, target: newserver.ref })}
/>
))}
);
};