remove ns2 example doing DOM manip

This commit is contained in:
Olivier Gagnon
2021-09-20 00:14:30 -04:00
parent 7355f4212b
commit a3e624deba
7 changed files with 36 additions and 41 deletions
+2 -2
View File
@@ -22,8 +22,8 @@ export function ActiveScriptsRoot(props: IProps): React.ReactElement {
}
useEffect(() => {
const id = setInterval(rerender, 20);
return () => clearInterval(id);
// const id = setInterval(rerender, 20);
// return () => clearInterval(id);
}, []);
return (
@@ -21,10 +21,17 @@ export function ServerAccordionContent(props: IProps): React.ReactElement {
setPage(0);
};
let safePage = page;
while (safePage * rowsPerPage + 1 > props.workerScripts.length) {
safePage--;
}
if (safePage != page) setPage(safePage);
return (
<>
<List dense disablePadding>
{props.workerScripts.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage).map((ws) => (
{props.workerScripts.slice(safePage * rowsPerPage, safePage * rowsPerPage + rowsPerPage).map((ws) => (
<WorkerScriptAccordion key={`${ws.name}_${ws.args}`} workerScript={ws} />
))}
</List>
@@ -33,7 +40,7 @@ export function ServerAccordionContent(props: IProps): React.ReactElement {
component="div"
count={props.workerScripts.length}
rowsPerPage={rowsPerPage}
page={page}
page={safePage}
onPageChange={handleChangePage}
onRowsPerPageChange={handleChangeRowsPerPage}
ActionsComponent={TablePaginationActionsAll}
+13 -7
View File
@@ -35,13 +35,6 @@ export function ServerAccordions(props: IProps): React.ReactElement {
const [page, setPage] = useState(0);
const [rowsPerPage, setRowsPerPage] = useState(10);
const setRerender = useState(false)[1];
function rerender(): void {
setRerender((old) => !old);
}
useEffect(() => {
return WorkerScriptStartStopEventEmitter.subscribe(rerender);
}, []);
const handleChangePage = (event: unknown, newPage: number): void => {
setPage(newPage);
@@ -79,6 +72,19 @@ export function ServerAccordions(props: IProps): React.ReactElement {
const filtered = Object.values(serverToScriptMap).filter((data) => data && data.server.hostname.includes(filter));
function rerender(): void {
setRerender((old) => !old);
let safePage = page;
while (safePage * rowsPerPage + 1 >= filtered.length) {
safePage--;
}
if (safePage != page) setPage(safePage);
}
useEffect(() => WorkerScriptStartStopEventEmitter.subscribe(rerender));
return (
<>
<TextField