graphql-form 0.0.10 → 0.0.11
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 +6 -0
- package/lib/renderer/fields.js +11 -3
- package/lib/renderer/fields.js.map +1 -1
- package/package.json +1 -1
- package/src/models.ts +7 -1
- package/src/renderer/fields.tsx +18 -1
package/lib/models.d.ts
CHANGED
@@ -16,6 +16,11 @@ export declare type SavedForms = {
|
|
16
16
|
[selector: string]: FormObject;
|
17
17
|
};
|
18
18
|
export declare type ReturnedDictType = any;
|
19
|
+
export declare type WidgetVariantType = {
|
20
|
+
name: string;
|
21
|
+
widget: string;
|
22
|
+
data: ReturnedDictType;
|
23
|
+
};
|
19
24
|
export declare type PassedFormProps<WidgetData = ReturnedDictType> = {
|
20
25
|
f: ParserField;
|
21
26
|
nodes: ParserField[];
|
@@ -25,6 +30,7 @@ export declare type PassedFormProps<WidgetData = ReturnedDictType> = {
|
|
25
30
|
required?: boolean;
|
26
31
|
runQuery: (q: string) => Promise<ReturnedDictType>;
|
27
32
|
widgetComponents: WidgetType[];
|
33
|
+
widgetVariants?: WidgetVariantType[];
|
28
34
|
currentPath: string;
|
29
35
|
widgets?: SavedWidgets;
|
30
36
|
widgetData?: WidgetData;
|
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/package.json
CHANGED
package/src/models.ts
CHANGED
@@ -16,10 +16,15 @@ export type SavedWidgets = {
|
|
16
16
|
export type SavedForms = {
|
17
17
|
[selector: string]: FormObject;
|
18
18
|
};
|
19
|
-
|
20
19
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
21
20
|
export type ReturnedDictType = any;
|
22
21
|
|
22
|
+
export type WidgetVariantType = {
|
23
|
+
name: string;
|
24
|
+
widget: string;
|
25
|
+
data: ReturnedDictType;
|
26
|
+
};
|
27
|
+
|
23
28
|
export type PassedFormProps<WidgetData = ReturnedDictType> = {
|
24
29
|
f: ParserField;
|
25
30
|
nodes: ParserField[];
|
@@ -29,6 +34,7 @@ export type PassedFormProps<WidgetData = ReturnedDictType> = {
|
|
29
34
|
required?: boolean;
|
30
35
|
runQuery: (q: string) => Promise<ReturnedDictType>;
|
31
36
|
widgetComponents: WidgetType[];
|
37
|
+
widgetVariants?: WidgetVariantType[];
|
32
38
|
currentPath: string;
|
33
39
|
widgets?: SavedWidgets;
|
34
40
|
widgetData?: WidgetData;
|
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
|
}
|