Skip to content
Snippets Groups Projects
device.table.viewmodel.ts 981 B
Newer Older
  • Learn to ignore specific revisions
  • import { Device, setSelectedDevice } from "@component/devices/reducer/device.reducer";
    
    import { useAppDispatch } from "@hooks";
    
    import { useEffect, useState } from "react";
    
    export const useDeviceTableViewModel = (searchRef) => {
        const [searchTerm, setSearchTerm] = useState('');
    
        const dispatch = useAppDispatch();
    
    
    
        useEffect(() => {
            const handleSearchChange = () => {
                if (searchRef.current) {
                    setSearchTerm(searchRef.current.value);
                }
            };
    
            if (searchRef.current) {
                searchRef.current.addEventListener('input', handleSearchChange);
            }
    
            return () => {
                if (searchRef.current) {
                    searchRef.current.removeEventListener('input', handleSearchChange);
                }
            };
        }, []);
    
    
        const trClickHandler = (device: Device) => {
    
            dispatch(setSelectedDevice({ device }));
    
            searchTerm,
            trClickHandler