graphql-form 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
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;
@@ -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, _b = props.components, ArrayField = _b.ArrayField, ObjectField = _b.ObjectField;
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
- return react_1.default.createElement(react_1.default.Fragment, null);
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":"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"}
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/renderer/fields.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "graphql-form",
3
- "version": "0.0.10",
3
+ "version": "0.0.11",
4
4
  "description": "Easy form creation with GraphQL Editor and React",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
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;
@@ -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
- return <></>;
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
  }