Skip to content

Commit f0fdbe9

Browse files
committed
separate provider from AutoForm
1 parent 04a7aa5 commit f0fdbe9

6 files changed

Lines changed: 58 additions & 30 deletions

File tree

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,11 @@
11
import React from "react";
2-
import { withWQ } from "@wq/react";
3-
import { AutoFormBase, AutoInput, Form, CancelButton } from "@wq/form-common";
4-
import * as components from "./components/index.js";
2+
import { AutoFormBase } from "@wq/form-common";
3+
import FormProvider from "./FormProvider.js";
54

6-
const AutoFormDefaults = {
7-
components: { ...components, AutoForm, AutoInput, Form, CancelButton },
8-
};
9-
10-
function AutoForm(props) {
11-
if (!props.action && !props.onSubmit && !props.form) {
12-
return props.children || null;
13-
}
14-
return <AutoFormBase {...props} />;
5+
export default function AutoForm(props) {
6+
return (
7+
<FormProvider>
8+
<AutoFormBase {...props} />
9+
</FormProvider>
10+
);
1511
}
16-
17-
export default withWQ(AutoForm, { defaults: AutoFormDefaults });
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import { Fragment } from "react";
2+
import { withWQ } from "@wq/react";
3+
import {
4+
AutoFormBase as AutoForm,
5+
AutoInput,
6+
Form,
7+
CancelButton,
8+
} from "@wq/form-common";
9+
import * as components from "./components/index.js";
10+
11+
const FormProviderDefaults = {
12+
components: { ...components, AutoForm, AutoInput, Form, CancelButton },
13+
};
14+
15+
export default withWQ(
16+
Fragment,
17+
{ defaults: FormProviderDefaults },
18+
"FormProvider",
19+
);

packages/form-native/src/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
import AutoForm from "./AutoForm.js";
2-
export { AutoForm };
2+
import FormProvider from "./FormProvider.js";
3+
export { AutoForm, FormProvider };
34
export * from "./components/index.js";

packages/form-web/src/AutoForm.js

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,11 @@
11
import React from "react";
2-
import { withWQ } from "@wq/react";
3-
import { AutoFormBase, AutoInput, Form, CancelButton } from "@wq/form-common";
4-
import * as components from "./components/index.js";
2+
import { AutoFormBase } from "@wq/form-common";
3+
import FormProvider from "./FormProvider.js";
54

6-
const AutoFormDefaults = {
7-
components: { ...components, AutoForm, AutoInput, Form, CancelButton },
8-
};
9-
10-
function AutoForm(props) {
11-
if (!props.action && !props.onSubmit && !props.form) {
12-
return props.children || null;
13-
}
14-
return <AutoFormBase {...props} />;
5+
export default function AutoForm(props) {
6+
return (
7+
<FormProvider>
8+
<AutoFormBase {...props} />
9+
</FormProvider>
10+
);
1511
}
16-
17-
export default withWQ(AutoForm, { defaults: AutoFormDefaults });
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import { Fragment } from "react";
2+
import { withWQ } from "@wq/react";
3+
import {
4+
AutoFormBase as AutoForm,
5+
AutoInput,
6+
Form,
7+
CancelButton,
8+
} from "@wq/form-common";
9+
import * as components from "./components/index.js";
10+
11+
const FormProviderDefaults = {
12+
components: { ...components, AutoForm, AutoInput, Form, CancelButton },
13+
};
14+
15+
export default withWQ(
16+
Fragment,
17+
{ defaults: FormProviderDefaults },
18+
"FormProvider",
19+
);

packages/form-web/src/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
import AutoForm from "./AutoForm.js";
2-
export { AutoForm };
2+
import FormProvider from "./FormProvider.js";
3+
export { AutoForm, FormProvider };
34
export * from "./components/index.js";

0 commit comments

Comments
 (0)