PorterFormWrapper.tsx 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import React from "react";
  2. import PorterForm from "./PorterForm";
  3. import { PorterFormData } from "./types";
  4. import { PorterFormContextProvider } from "./PorterFormContextProvider";
  5. type PropsType = {
  6. formData: any,
  7. valuesToOverride?: any,
  8. isReadOnly?: boolean,
  9. onSubmit?: (values: any) => void,
  10. renderTabContents?: (currentTab: string, submitValues?: any) => any,
  11. leftTabOptions?: { value: string, label: string }[],
  12. rightTabOptions?: { value: string, label: string }[],
  13. saveButtonText?: string,
  14. isInModal?: boolean,
  15. color?: string,
  16. addendum?: any,
  17. saveValuesStatus?: string,
  18. externalValues?: any,
  19. };
  20. const PorterFormWrapper: React.FunctionComponent<PropsType> = ({
  21. formData,
  22. valuesToOverride,
  23. isReadOnly,
  24. onSubmit,
  25. renderTabContents,
  26. leftTabOptions,
  27. rightTabOptions,
  28. saveButtonText,
  29. isInModal,
  30. color,
  31. addendum,
  32. saveValuesStatus,
  33. externalValues,
  34. }) => {
  35. return (
  36. <>
  37. {formData && (formData as any).name && (
  38. <PorterFormContextProvider
  39. rawFormData={formData as PorterFormData}
  40. overrideVariables={valuesToOverride}
  41. isReadOnly={isReadOnly}
  42. onSubmit={onSubmit}
  43. >
  44. <PorterForm
  45. addendum={addendum}
  46. isReadOnly={isReadOnly}
  47. leftTabOptions={leftTabOptions}
  48. rightTabOptions={rightTabOptions}
  49. renderTabContents={renderTabContents}
  50. saveButtonText={saveButtonText}
  51. isInModal={isInModal}
  52. color={color}
  53. saveValuesStatus={saveValuesStatus}
  54. externalValues={externalValues}
  55. />
  56. </PorterFormContextProvider>
  57. )}
  58. </>
  59. );
  60. };
  61. export default PorterFormWrapper;