All files / src/stock-operations/stock-operations-forms/hooks useSearchUser.ts

100% Statements 9/9
100% Branches 6/6
100% Functions 2/2
100% Lines 9/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48                3x 52x                   52x     52x     52x 52x   52x 26x               52x                    
import React, { useEffect, useState } from 'react';
import {
  type ConceptFilterCriteria,
  type UserFilterCriteria,
  useUsers,
} from '../../../stock-lookups/stock-lookups.resource';
import { ResourceRepresentation } from '../../../core/api/api';
 
const useSearchUser = (filter?: ConceptFilterCriteria) => {
  const [conceptFilter, setConceptFilter] = useState<UserFilterCriteria>(
    filter || {
      v: ResourceRepresentation.Default,
      limit: 10,
      startIndex: 0,
    },
  );
 
  const {
    items: { results: userList },
    isLoading,
  } = useUsers(conceptFilter);
 
  const [searchString, setSearchString] = useState(null);
 
  // Drug filter type
  const [limit, setLimit] = useState(filter?.limit || 10);
  const [representation, setRepresentation] = useState<string>(filter?.v || ResourceRepresentation.Default);
 
  useEffect(() => {
    setConceptFilter({
      startIndex: 0,
      v: representation as ResourceRepresentation,
      limit: limit,
      q: searchString,
    });
  }, [searchString, limit, representation]);
 
  return {
    userList,
    setLimit,
    setRepresentation,
    setSearchString,
    isLoading,
  };
};
 
export default useSearchUser;