import { createSignal, Show } from "solid-js"; import { editNames, selectedIDs, setSelectedIDs } from "../../functions/exports"; import { apiEditHost } from "../../functions/api"; import { debounce } from "@solid-primitives/scheduled"; function TableRow(_props: any) { const [name, setName] = createSignal(_props.host.Name); let now = ; if (_props.host.Now == 1) { now = ; }; let known:boolean; _props.host.Known === 1 ? known = true : known = false; const debouncedApi = debounce(async (val: string) => { await apiEditHost(_props.host.ID, val, ""); }, 300); const handleInput = async (n: string) => { setName(n); debouncedApi(n); }; const handleToggle = async () => { await apiEditHost(_props.host.ID, name(), "toggle"); }; const handleCheck = (checked: boolean) => { const id = _props.host.ID; setSelectedIDs(prev => { if (checked) { return prev.includes(id) ? prev : [...prev, id]; } else { return prev.filter(item => item !== id); } }); }; return ( {_props.index}. handleInput(e.target.value)}> {_props.host.Iface} {_props.host.IP} {_props.host.Mac} {_props.host.Hw.slice(0,12)+".."} {_props.host.Date}
{now} } > handleCheck((e.target as HTMLInputElement).checked)} /> ) } export default TableRow