Skip to content

Commit cbabdb0

Browse files
authored
Merge pull request #22 from graphql-editor/fix-required-fields
Fix required fields
2 parents 1abe20c + 424dfe5 commit cbabdb0

File tree

9 files changed

+39
-27
lines changed

9 files changed

+39
-27
lines changed

package-lock.json

Lines changed: 11 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/graphql-form-mui/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "graphql-form-mui",
3-
"version": "0.1.8",
3+
"version": "0.1.9",
44
"description": "Easy form creation with GraphQL Editor and React",
55
"main": "lib/index.js",
66
"scripts": {
@@ -21,7 +21,7 @@
2121
"license": "MIT",
2222
"homepage": "https://form.graphqleditor.com",
2323
"peerDependencies": {
24-
"graphql-form": "*",
24+
"graphql-form": "^0.1.9",
2525
"react": ">=16.8.0",
2626
"react-dom": ">=16.8.0"
2727
},

packages/graphql-form/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "graphql-form",
3-
"version": "0.1.8",
3+
"version": "0.1.9",
44
"description": "Easy form creation with GraphQL Editor and React",
55
"main": "lib/index.js",
66
"scripts": {

packages/graphql-form/src/render/fields.tsx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { NewFieldProps } from '@/models';
2-
import { getTypeName, Options, ScalarTypes, TypeDefinition, TypeSystemDefinition } from 'graphql-js-tree';
2+
import { getTypeName, Options, ParserField, ScalarTypes, TypeDefinition, TypeSystemDefinition } from 'graphql-js-tree';
33
import React from 'react';
44

55
export const Fields: React.FC<NewFieldProps> = (props) => {
@@ -21,8 +21,17 @@ export const Fields: React.FC<NewFieldProps> = (props) => {
2121
if (node.type.fieldType.type === Options.array) {
2222
return <ArrayField {...props} />;
2323
}
24-
if(node.type.fieldType.type === Options.required){
25-
return <Fields {...props} required />
24+
if (node.type.fieldType.type === Options.required) {
25+
const nodeWithoutRequired: ParserField = {
26+
...node,
27+
type: {
28+
...node.type,
29+
fieldType: {
30+
...node.type.fieldType.nest,
31+
},
32+
},
33+
};
34+
return <Fields {...props} required={true} node={nodeWithoutRequired} />;
2635
}
2736
if (isInput) {
2837
return <ObjectField {...props} node={seekNode} />;

packages/graphql-form/src/render/index.tsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
import { NewFieldProps, VarFormProps } from '@/models';
22
import { Fields } from '@/render/fields';
3-
import { Parser, ScalarTypes, generateNodeId, decompileType } from 'graphql-js-tree';
3+
import { Parser, ScalarTypes, generateNodeId, decompileType, Options } from 'graphql-js-tree';
44
import React from 'react';
55

66
export const Render: React.FC<NewFieldProps> = (props) => {
77
const {
8+
node,
89
shared: {
910
components: { FormLabel, FormField },
1011
},
1112
} = props;
13+
1214
return (
13-
<FormField {...props}>
14-
<FormLabel {...props} />
15-
<Fields {...props} />
15+
<FormField {...props} required={node.type.fieldType.type === Options.required}>
16+
<FormLabel {...props} required={node.type.fieldType.type === Options.required} />
17+
<Fields {...props} required={node.type.fieldType.type === Options.required} />
1618
</FormField>
1719
);
1820
};

packages/sandbox/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sandbox",
3-
"version": "0.1.8",
3+
"version": "0.1.9",
44
"private": true,
55
"scripts": {
66
"export": "next build && next export",
@@ -13,8 +13,8 @@
1313
"@mui/material": "^5.8.0",
1414
"dotenv-cli": "^5.0.0",
1515
"framer-motion": "^6.2.8",
16-
"graphql-form": "*",
17-
"graphql-form-mui": "*",
16+
"graphql-form": "^0.1.9",
17+
"graphql-form-mui": "^0.1.9",
1818
"graphql-js-tree": "^0.1.1",
1919
"gray-matter": "^4.0.3",
2020
"highlight.js": "^11.5.0",

packages/sandbox/src/pages/index.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ const HomePage = () => {
3434
vars: [
3535
{ name: 'createObject', type: 'CreateSource' },
3636
{ name: 'myVar', type: 'String!' },
37+
{ name: 'Clients', type: '[EditClientData!]!' },
3738
],
3839
});
3940
console.log(myForm);

packages/zeus-form-mui/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "zeus-form-mui",
3-
"version": "0.1.8",
3+
"version": "0.1.9",
44
"description": "Easy form creation with GraphQL Editor and React",
55
"main": "lib/index.js",
66
"scripts": {
@@ -21,7 +21,7 @@
2121
"license": "MIT",
2222
"homepage": "https://form.graphqleditor.com",
2323
"peerDependencies": {
24-
"graphql-form": "*",
24+
"graphql-form": "^0.1.9",
2525
"react": ">=16.8.0",
2626
"react-dom": ">=16.8.0"
2727
},

packages/zeus-form/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "zeus-form",
3-
"version": "0.1.8",
3+
"version": "0.1.9",
44
"description": "Easy form creation with GraphQL Editor and React",
55
"main": "lib/index.js",
66
"scripts": {

0 commit comments

Comments
 (0)