import {FormLayoutNode, patchLayoutSpec} from 'app/client/components/FormRenderer'; import {TypedFormData, typedFormDataToJson} from 'app/client/lib/formUtils'; import {makeT} from 'app/client/lib/localization'; import {getHomeUrl} from 'app/client/models/AppModel'; import {urlState} from 'app/client/models/gristUrlState'; import {Form, FormAPI, FormAPIImpl} from 'app/client/ui/FormAPI'; import {ApiError} from 'app/common/ApiError'; import {safeJsonParse} from 'app/common/gutil'; import {bundleChanges, Computed, Disposable, Observable} from 'grainjs'; const t = makeT('FormModel'); export interface FormModel { readonly form: Observable