import { Button, Group, Select, Stack, Switch } from '@mantine/core'; import { useRef, useState } from 'react'; import { Controller } from 'react-hook-form'; import type { FormerAPICallType, FormerProps, FormerRef } from '../Former.types'; import { Former } from '../Former'; import { FormerRestHeadSpecAPI } from '../FormerRestHeadSpecAPI'; import { FormerModel } from '../FormerWrappers'; import { ApiFormData } from './apiFormData'; const StubAPI = (): FormerAPICallType => (mode, request, value) => { console.log('API Call', mode, request, value); if (mode === 'read') { return new Promise((resolve) => { setTimeout(() => { resolve({ a: 'Another Value', test: 'Loaded Value' }); }, 1000); }); } return new Promise((resolve) => { setTimeout(() => { resolve(value || {}); }, 1000); }); }; export const FormTest = () => { const [request, setRequest] = useState('insert'); const [wrapped, setWrapped] = useState(false); const [disableHTML, setDisableHTML] = useState(false); const [apiOptions, setApiOptions] = useState({ authToken: '', type: '', url: '', }); const [layout, setLayout] = useState({ buttonAreaGroupProps: { justify: 'center' }, buttonOnTop: false, title: 'Custom Former Title', } as FormerProps['layout']); const [open, setOpen] = useState(false); const [formData, setFormData] = useState({ a: 99, rid_usernote: 3047 }); //console.log('formData render', formData); const ref = useRef(null); return ( } /> } rules={{ required: 'Field is required' }} /> } rules={{ required: 'Field is required' }} /> {!disableHTML && ( )} {apiOptions.type === 'api' && ( { setApiOptions({ ...apiOptions, ...values }); }} values={apiOptions} /> )} ); };