All files / libs/reporting/custom-reports/views/details/src/lib use-field-definition.ts

0% Statements 0/27
0% Branches 0/1
0% Functions 0/1
0% Lines 0/27

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                                                       
import { useCallback, useMemo } from 'react';

import {
  getCustomReportFieldDefinition,
  type CustomReportConfigurationField,
} from '@amalia/reporting/custom-reports/shared';

import { useCustomReportEditContext } from './CustomReportEditContext';

export const useFieldDefinition = (field: Pick<CustomReportConfigurationField, 'identifier' | 'joins'>) => {
  const { customReport, manifestsMap } = useCustomReportEditContext();

  return useMemo(
    () => getCustomReportFieldDefinition(customReport, manifestsMap, field),
    [customReport, manifestsMap, field],
  );
};

export const useGetFieldDefinition = () => {
  const { customReport, manifestsMap } = useCustomReportEditContext();

  return useCallback(
    (field: Pick<CustomReportConfigurationField, 'identifier' | 'joins'>) =>
      getCustomReportFieldDefinition(customReport, manifestsMap, field),
    [customReport, manifestsMap],
  );
};