controlState.tsx 763 B

123456789101112131415161718192021222324252627
  1. import {Observer} from 'mobx-react';
  2. import ControlState from 'sentry/components/forms/field/controlState';
  3. import FormModel from 'sentry/components/forms/model';
  4. import FormState from 'sentry/components/forms/state';
  5. type Props = {
  6. model: FormModel;
  7. name: string;
  8. };
  9. /**
  10. * ControlState (i.e. loading/error icons) for connected form components
  11. */
  12. const FormFieldControlState = ({model, name}: Props) => (
  13. <Observer>
  14. {() => {
  15. const isSaving = model.getFieldState(name, FormState.SAVING);
  16. const isSaved = model.getFieldState(name, FormState.READY);
  17. const error = model.getError(name);
  18. return <ControlState isSaving={isSaving} isSaved={isSaved} error={error} />;
  19. }}
  20. </Observer>
  21. );
  22. export default FormFieldControlState;