graphql-form 0.0.10 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/models.d.ts +8 -1
- package/lib/renderer/fields.js +11 -3
- package/lib/renderer/fields.js.map +1 -1
- package/lib/renderer/index.js +5 -3
- package/lib/renderer/index.js.map +1 -1
- package/package.json +1 -1
- package/src/models.ts +11 -2
- package/src/renderer/fields.tsx +18 -1
- package/src/renderer/index.tsx +3 -1
package/lib/models.d.ts
CHANGED
@@ -7,6 +7,7 @@ export declare type FormLabelProps = React.FC<PassedFormProps & {
|
|
7
7
|
}>;
|
8
8
|
export declare type WidgetSavedData = {
|
9
9
|
widget: string;
|
10
|
+
hideLabel?: boolean;
|
10
11
|
[x: string]: unknown;
|
11
12
|
};
|
12
13
|
export declare type SavedWidgets = {
|
@@ -16,6 +17,11 @@ export declare type SavedForms = {
|
|
16
17
|
[selector: string]: FormObject;
|
17
18
|
};
|
18
19
|
export declare type ReturnedDictType = any;
|
20
|
+
export declare type WidgetVariantType = {
|
21
|
+
name: string;
|
22
|
+
widget: string;
|
23
|
+
data: ReturnedDictType;
|
24
|
+
};
|
19
25
|
export declare type PassedFormProps<WidgetData = ReturnedDictType> = {
|
20
26
|
f: ParserField;
|
21
27
|
nodes: ParserField[];
|
@@ -25,6 +31,7 @@ export declare type PassedFormProps<WidgetData = ReturnedDictType> = {
|
|
25
31
|
required?: boolean;
|
26
32
|
runQuery: (q: string) => Promise<ReturnedDictType>;
|
27
33
|
widgetComponents: WidgetType[];
|
34
|
+
widgetVariants?: WidgetVariantType[];
|
28
35
|
currentPath: string;
|
29
36
|
widgets?: SavedWidgets;
|
30
37
|
widgetData?: WidgetData;
|
@@ -53,7 +60,7 @@ export declare type FormDisplayerProps = Omit<PassedFormProps, 'formObject' | 'o
|
|
53
60
|
onChange: (o: FormFile, query: string) => void;
|
54
61
|
};
|
55
62
|
export declare type FormLibraryProps = Omit<FormDisplayerProps, 'required' | 'components'>;
|
56
|
-
export declare type CastToWidgetSettingsPassedForm<WidgetData = ReturnedDictType> = PassedFormProps<Partial<WidgetData
|
63
|
+
export declare type CastToWidgetSettingsPassedForm<WidgetData = ReturnedDictType> = Partial<PassedFormProps<Partial<WidgetData>>> & {
|
57
64
|
widgetSettingsChange: (data: WidgetData) => void;
|
58
65
|
};
|
59
66
|
export declare type WidgetType = {
|
package/lib/renderer/fields.js
CHANGED
@@ -18,8 +18,8 @@ exports.Fields = void 0;
|
|
18
18
|
var graphql_js_tree_1 = require("graphql-js-tree");
|
19
19
|
var react_1 = __importDefault(require("react"));
|
20
20
|
var Fields = function (props) {
|
21
|
-
var _a;
|
22
|
-
var nodes = props.nodes, widgetComponents = props.widgetComponents, f = props.f, widgets = props.widgets,
|
21
|
+
var _a, _b;
|
22
|
+
var nodes = props.nodes, widgetComponents = props.widgetComponents, f = props.f, widgets = props.widgets, widgetVariants = props.widgetVariants, _c = props.components, ArrayField = _c.ArrayField, ObjectField = _c.ObjectField;
|
23
23
|
var seekNode = nodes.find(function (n) { return n.name === (0, graphql_js_tree_1.getTypeName)(f.type.fieldType); });
|
24
24
|
var isInput = (seekNode === null || seekNode === void 0 ? void 0 : seekNode.data.type) === graphql_js_tree_1.TypeDefinition.InputObjectTypeDefinition;
|
25
25
|
if (f.data.type === graphql_js_tree_1.TypeSystemDefinition.FieldDefinition) {
|
@@ -35,7 +35,15 @@ var Fields = function (props) {
|
|
35
35
|
if (widget) {
|
36
36
|
var WidgetComponent = (_a = widgetComponents.find(function (wc) { return wc.name === widget.widget; })) === null || _a === void 0 ? void 0 : _a.Component;
|
37
37
|
if (!WidgetComponent) {
|
38
|
-
|
38
|
+
var widgetVariant_1 = widgetVariants === null || widgetVariants === void 0 ? void 0 : widgetVariants.find(function (wv) { return wv.name === widget.widget; });
|
39
|
+
if (!widgetVariant_1) {
|
40
|
+
return react_1.default.createElement(react_1.default.Fragment, null);
|
41
|
+
}
|
42
|
+
var WidgetComponent_1 = (_b = widgetComponents.find(function (wc) { return wc.name === widgetVariant_1.widget; })) === null || _b === void 0 ? void 0 : _b.Component;
|
43
|
+
if (!WidgetComponent_1) {
|
44
|
+
return react_1.default.createElement(react_1.default.Fragment, null);
|
45
|
+
}
|
46
|
+
return (react_1.default.createElement(WidgetComponent_1, __assign({}, props, { widgetData: __assign({ widget: widgetVariant_1.widget }, widgetVariant_1.data) })));
|
39
47
|
}
|
40
48
|
return react_1.default.createElement(WidgetComponent, __assign({}, props, { widgetData: widget }));
|
41
49
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/renderer/fields.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,mDAA0G;AAC1G,gDAA0B;AAEnB,IAAM,MAAM,GAA8B,UAAC,KAAK;;IAE/C,IAAA,KAAK,
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/renderer/fields.tsx"],"names":[],"mappings":"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"}
|
package/lib/renderer/index.js
CHANGED
@@ -50,17 +50,19 @@ var fields_1 = require("./fields");
|
|
50
50
|
var graphql_js_tree_1 = require("graphql-js-tree");
|
51
51
|
var react_1 = __importStar(require("react"));
|
52
52
|
var Renderer = function (props) {
|
53
|
-
var
|
53
|
+
var _a;
|
54
|
+
var formObject = props.formObject, f = props.f, nodes = props.nodes, widgets = props.widgets, _b = props.components, NullField = _b.NullField, FormLabel = _b.FormLabel, FormField = _b.FormField;
|
54
55
|
var children = props.children, allProps = __rest(props, ["children"]);
|
55
56
|
var seekNode = nodes.find(function (n) { return n.name === (0, graphql_js_tree_1.getTypeName)(f.type.fieldType); });
|
56
57
|
var isInput = (seekNode === null || seekNode === void 0 ? void 0 : seekNode.data.type) === graphql_js_tree_1.TypeDefinition.InputObjectTypeDefinition;
|
57
58
|
var canBeOpened = props.f.data.type === graphql_js_tree_1.TypeSystemDefinition.FieldDefinition || isInput;
|
58
|
-
var
|
59
|
+
var _c = (0, react_1.useState)(props.f.data.type === graphql_js_tree_1.TypeSystemDefinition.FieldDefinition || props.required), open = _c[0], setOpen = _c[1];
|
59
60
|
if (f.type.fieldType.type === graphql_js_tree_1.Options.required) {
|
60
61
|
return (react_1.default.createElement(exports.Renderer, __assign({}, props, { f: __assign(__assign({}, f), { type: __assign(__assign({}, f.type), { fieldType: __assign({}, f.type.fieldType.nest) }) }), required: true })));
|
61
62
|
}
|
63
|
+
var showLabel = !((_a = widgets === null || widgets === void 0 ? void 0 : widgets[props.currentPath]) === null || _a === void 0 ? void 0 : _a.hideLabel);
|
62
64
|
return (react_1.default.createElement(FormField, __assign({}, allProps),
|
63
|
-
react_1.default.createElement(FormLabel, __assign({}, allProps, { open: open, setOpen: setOpen, children: children })),
|
65
|
+
showLabel && react_1.default.createElement(FormLabel, __assign({}, allProps, { open: open, setOpen: setOpen, children: children })),
|
64
66
|
formObject.value === null ? (react_1.default.createElement(NullField, __assign({}, allProps))) : (react_1.default.createElement(react_1.default.Fragment, null, (!canBeOpened || open) && react_1.default.createElement(fields_1.Fields, __assign({}, allProps))))));
|
65
67
|
};
|
66
68
|
exports.Renderer = Renderer;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderer/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mCAA2C;AAC3C,mDAA6F;AAC7F,6CAAwC;AAEjC,IAAM,QAAQ,GAA8B,UAAC,KAAK
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderer/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mCAA2C;AAC3C,mDAA6F;AAC7F,6CAAwC;AAEjC,IAAM,QAAQ,GAA8B,UAAC,KAAK;;IAEjD,IAAA,UAAU,GAKV,KAAK,WALK,EACV,CAAC,GAID,KAAK,EAJJ,EACD,KAAK,GAGL,KAAK,MAHA,EACL,OAAO,GAEP,KAAK,QAFE,EACP,KACA,KAAK,WAD0C,EAAjC,SAAS,eAAA,EAAE,SAAS,eAAA,EAAE,SAAS,eAAE,CACzC;IACF,IAAA,QAAQ,GAAkB,KAAK,SAAvB,EAAK,QAAQ,UAAK,KAAK,EAAjC,YAAyB,CAAF,CAAW;IACxC,IAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,IAAA,6BAAW,EAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAxC,CAAwC,CAAC,CAAC;IAC7E,IAAM,OAAO,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC,IAAI,MAAK,gCAAc,CAAC,yBAAyB,CAAC;IACjF,IAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,sCAAoB,CAAC,eAAe,IAAI,OAAO,CAAC;IACpF,IAAA,KAAkB,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,sCAAoB,CAAC,eAAe,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAvG,IAAI,QAAA,EAAE,OAAO,QAA0F,CAAC;IAC/G,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,yBAAO,CAAC,QAAQ,EAAE;QAC5C,OAAO,CACH,8BAAC,gBAAQ,eACD,KAAK,IACT,CAAC,wBACM,CAAC,KACJ,IAAI,wBAAO,CAAC,CAAC,IAAI,KAAE,SAAS,eAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,SAE5D,QAAQ,EAAE,IAAI,IAChB,CACL,CAAC;KACL;IACD,IAAM,SAAS,GAAG,CAAC,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,KAAK,CAAC,WAAW,CAAC,0CAAE,SAAS,CAAA,CAAC;IAC3D,OAAO,CACH,8BAAC,SAAS,eAAK,QAAQ;QAClB,SAAS,IAAI,8BAAC,SAAS,eAAK,QAAQ,IAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,IAAI;QAC1F,UAAU,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CACzB,8BAAC,SAAS,eAAK,QAAQ,EAAI,CAC9B,CAAC,CAAC,CAAC,CACA,8DAAG,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,8BAAC,eAAM,eAAK,QAAQ,EAAI,CAAI,CAC5D,CACO,CACf,CAAC;AACN,CAAC,CAAC;AApCW,QAAA,QAAQ,YAoCnB"}
|
package/package.json
CHANGED
package/src/models.ts
CHANGED
@@ -7,6 +7,7 @@ export type FormLabelProps = React.FC<PassedFormProps & { open?: boolean; setOpe
|
|
7
7
|
|
8
8
|
export type WidgetSavedData = {
|
9
9
|
widget: string;
|
10
|
+
hideLabel?: boolean;
|
10
11
|
[x: string]: unknown;
|
11
12
|
};
|
12
13
|
|
@@ -16,10 +17,15 @@ export type SavedWidgets = {
|
|
16
17
|
export type SavedForms = {
|
17
18
|
[selector: string]: FormObject;
|
18
19
|
};
|
19
|
-
|
20
20
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
21
21
|
export type ReturnedDictType = any;
|
22
22
|
|
23
|
+
export type WidgetVariantType = {
|
24
|
+
name: string;
|
25
|
+
widget: string;
|
26
|
+
data: ReturnedDictType;
|
27
|
+
};
|
28
|
+
|
23
29
|
export type PassedFormProps<WidgetData = ReturnedDictType> = {
|
24
30
|
f: ParserField;
|
25
31
|
nodes: ParserField[];
|
@@ -29,6 +35,7 @@ export type PassedFormProps<WidgetData = ReturnedDictType> = {
|
|
29
35
|
required?: boolean;
|
30
36
|
runQuery: (q: string) => Promise<ReturnedDictType>;
|
31
37
|
widgetComponents: WidgetType[];
|
38
|
+
widgetVariants?: WidgetVariantType[];
|
32
39
|
currentPath: string;
|
33
40
|
widgets?: SavedWidgets;
|
34
41
|
widgetData?: WidgetData;
|
@@ -67,7 +74,9 @@ export type FormDisplayerProps = Omit<
|
|
67
74
|
|
68
75
|
export type FormLibraryProps = Omit<FormDisplayerProps, 'required' | 'components'>;
|
69
76
|
|
70
|
-
export type CastToWidgetSettingsPassedForm<WidgetData = ReturnedDictType> =
|
77
|
+
export type CastToWidgetSettingsPassedForm<WidgetData = ReturnedDictType> = Partial<
|
78
|
+
PassedFormProps<Partial<WidgetData>>
|
79
|
+
> & {
|
71
80
|
widgetSettingsChange: (data: WidgetData) => void;
|
72
81
|
};
|
73
82
|
|
package/src/renderer/fields.tsx
CHANGED
@@ -8,6 +8,7 @@ export const Fields: React.FC<PassedFormProps> = (props) => {
|
|
8
8
|
widgetComponents,
|
9
9
|
f,
|
10
10
|
widgets,
|
11
|
+
widgetVariants,
|
11
12
|
components: { ArrayField, ObjectField },
|
12
13
|
} = props;
|
13
14
|
const seekNode = nodes.find((n) => n.name === getTypeName(f.type.fieldType));
|
@@ -25,7 +26,23 @@ export const Fields: React.FC<PassedFormProps> = (props) => {
|
|
25
26
|
if (widget) {
|
26
27
|
const WidgetComponent = widgetComponents.find((wc) => wc.name === widget.widget)?.Component;
|
27
28
|
if (!WidgetComponent) {
|
28
|
-
|
29
|
+
const widgetVariant = widgetVariants?.find((wv) => wv.name === widget.widget);
|
30
|
+
if (!widgetVariant) {
|
31
|
+
return <></>;
|
32
|
+
}
|
33
|
+
const WidgetComponent = widgetComponents.find((wc) => wc.name === widgetVariant.widget)?.Component;
|
34
|
+
if (!WidgetComponent) {
|
35
|
+
return <></>;
|
36
|
+
}
|
37
|
+
return (
|
38
|
+
<WidgetComponent
|
39
|
+
{...props}
|
40
|
+
widgetData={{
|
41
|
+
widget: widgetVariant.widget,
|
42
|
+
...widgetVariant.data,
|
43
|
+
}}
|
44
|
+
/>
|
45
|
+
);
|
29
46
|
}
|
30
47
|
return <WidgetComponent {...props} widgetData={widget} />;
|
31
48
|
}
|
package/src/renderer/index.tsx
CHANGED
@@ -8,6 +8,7 @@ export const Renderer: React.FC<PassedFormProps> = (props) => {
|
|
8
8
|
formObject,
|
9
9
|
f,
|
10
10
|
nodes,
|
11
|
+
widgets,
|
11
12
|
components: { NullField, FormLabel, FormField },
|
12
13
|
} = props;
|
13
14
|
const { children, ...allProps } = props;
|
@@ -27,9 +28,10 @@ export const Renderer: React.FC<PassedFormProps> = (props) => {
|
|
27
28
|
/>
|
28
29
|
);
|
29
30
|
}
|
31
|
+
const showLabel = !widgets?.[props.currentPath]?.hideLabel;
|
30
32
|
return (
|
31
33
|
<FormField {...allProps}>
|
32
|
-
<FormLabel {...allProps} open={open} setOpen={setOpen} children={children} />
|
34
|
+
{showLabel && <FormLabel {...allProps} open={open} setOpen={setOpen} children={children} />}
|
33
35
|
{formObject.value === null ? (
|
34
36
|
<NullField {...allProps} />
|
35
37
|
) : (
|