All files / src/components/ManualAddCompanyForm RegionPicker.tsx

100% Statements 11/11
100% Branches 2/2
100% Functions 2/2
100% Lines 11/11

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 363x 3x   3x 3x   8x   179x 179x 179x 8x     179x 179x                                        
import React, { useEffect } from 'react';
import { Form, useFormContext, useI18nContext } from '@procore/core-react';
import { ManualAddCompanyFormData } from './schema';
import { useAddCompanyContext } from '../../Context/AddCompanyContext';
import { useListSubregionsQuery } from '../../hooks/useListSubregionsQuery';
 
export function RegionPicker() {
  const { values, setFieldValue, disabled } =
    useFormContext<ManualAddCompanyFormData>();
  const i18n = useI18nContext();
  useEffect(() => {
    setFieldValue('state', null);
  }, [setFieldValue, values.country]);
 
  const { vendorConfigurableFieldSets } = useAddCompanyContext();
  const { data: regions, isFetching } = useListSubregionsQuery(
    values.country?.id
  );
 
  return (
    <Form.Select
      name="state"
      label={i18n.t('views.generic.directory.add_company_package.state')}
      disabled={!values.country?.id || disabled}
      colStart={1}
      colWidth={6}
      options={regions}
      loading={isFetching}
      placeholder={i18n.t(
        'views.generic.directory.add_company_package.state_placeholder'
      )}
      required={vendorConfigurableFieldSets.country_code.required}
    />
  );
}