All files / src/form/list SearchPanel.tsx

100% Statements 6/6
100% Branches 0/0
100% Functions 1/1
100% Lines 6/6

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            66x 2x 2x 2x   2x                   2x        
import React, { ReactElement } from "react";
 
import SearchConditionDisplayPanel from "./SearchConditionDisplayPanel";
import FinderFormDisplayPanel from "./FinderFormDisplayPanel";
import { SearchPanelProps, TableMode } from "@props/RecordProps";
 
const SearchPanel = (props: SearchPanelProps): ReactElement => {
  const { tableMode } = props;
  const searchConditionDisplayPanel = (<SearchConditionDisplayPanel {...props} />);
  const finderSearchForm = (<FinderFormDisplayPanel {...props} />);
 
  const tableModeToSearchPanelMapping = {
    "detail"        : searchConditionDisplayPanel,
    "detail-drawer" : searchConditionDisplayPanel,
    "table-list"    : searchConditionDisplayPanel,
    "card-list"     : searchConditionDisplayPanel,
    "finder"        : finderSearchForm,
  } as {
    [mode in TableMode]: ReactElement;
  };
 
  return tableModeToSearchPanelMapping[tableMode];
};
 
export default SearchPanel;