graphql-form 0.0.12 → 0.0.15
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/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/models.d.ts +4 -0
- package/lib/outsideUse.d.ts +6 -0
- package/lib/outsideUse.js +45 -0
- package/lib/outsideUse.js.map +1 -0
- package/lib/renderer/fields.js +6 -17
- package/lib/renderer/fields.js.map +1 -1
- package/package.json +1 -1
- package/src/index.tsx +1 -0
- package/src/models.ts +5 -0
- package/src/outsideUse.tsx +31 -0
- package/src/renderer/fields.tsx +8 -26
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
@@ -20,4 +20,5 @@ __exportStar(require("./FormDisplayer"), exports);
|
|
20
20
|
__exportStar(require("./createWidget"), exports);
|
21
21
|
__exportStar(require("./renderer"), exports);
|
22
22
|
__exportStar(require("./FormToCode"), exports);
|
23
|
+
__exportStar(require("./outsideUse"), exports);
|
23
24
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,gDAA8B;AAC9B,kDAAgC;AAChC,iDAA+B;AAC/B,6CAA2B;AAC3B,+CAA6B"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,gDAA8B;AAC9B,kDAAgC;AAChC,iDAA+B;AAC/B,6CAA2B;AAC3B,+CAA6B;AAC7B,+CAA6B"}
|
package/lib/models.d.ts
CHANGED
@@ -12,6 +12,9 @@ export declare type WidgetSavedData = {
|
|
12
12
|
export declare type SavedWidgets = {
|
13
13
|
[selector: string]: WidgetSavedData | undefined;
|
14
14
|
};
|
15
|
+
export declare type Errors = {
|
16
|
+
[selector: string]: string;
|
17
|
+
};
|
15
18
|
export declare type SavedForms = {
|
16
19
|
[selector: string]: FormObject;
|
17
20
|
};
|
@@ -33,6 +36,7 @@ export declare type PassedFormProps<WidgetData = ReturnedDictType> = {
|
|
33
36
|
widgetVariants?: WidgetVariantType[];
|
34
37
|
currentPath: string;
|
35
38
|
widgets?: SavedWidgets;
|
39
|
+
errors?: Errors;
|
36
40
|
widgetData?: WidgetData;
|
37
41
|
components: {
|
38
42
|
ArrayField: FieldComponent;
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { PassedFormProps } from "./models";
|
2
|
+
export declare const getWidgetFromProps: (props: PassedFormProps) => {
|
3
|
+
data: any;
|
4
|
+
widget: import("./models").WidgetType;
|
5
|
+
} | undefined;
|
6
|
+
export declare const getFieldErrorsFromProps: (props: PassedFormProps) => string | undefined;
|
@@ -0,0 +1,45 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
3
|
+
__assign = Object.assign || function(t) {
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
5
|
+
s = arguments[i];
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
7
|
+
t[p] = s[p];
|
8
|
+
}
|
9
|
+
return t;
|
10
|
+
};
|
11
|
+
return __assign.apply(this, arguments);
|
12
|
+
};
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
14
|
+
exports.getFieldErrorsFromProps = exports.getWidgetFromProps = void 0;
|
15
|
+
var getWidgetFromProps = function (props) {
|
16
|
+
var _a, _b;
|
17
|
+
var w = (_a = props.widgets) === null || _a === void 0 ? void 0 : _a[props.currentPath];
|
18
|
+
var FoundBasicWidget = props.widgetComponents.find(function (wc) { return wc.name === (w === null || w === void 0 ? void 0 : w.widget); });
|
19
|
+
if (!FoundBasicWidget) {
|
20
|
+
var widgetVariant_1 = (_b = props.widgetVariants) === null || _b === void 0 ? void 0 : _b.find(function (wv) { return wv.name === (w === null || w === void 0 ? void 0 : w.widget); });
|
21
|
+
if (!widgetVariant_1) {
|
22
|
+
return;
|
23
|
+
}
|
24
|
+
var FoundVariantWidget = props.widgetComponents.find(function (wc) { return wc.name === widgetVariant_1.widget; });
|
25
|
+
if (!FoundVariantWidget) {
|
26
|
+
return;
|
27
|
+
}
|
28
|
+
return {
|
29
|
+
data: __assign({ widget: widgetVariant_1.widget }, widgetVariant_1.data),
|
30
|
+
widget: FoundVariantWidget,
|
31
|
+
};
|
32
|
+
}
|
33
|
+
return {
|
34
|
+
data: w,
|
35
|
+
widget: FoundBasicWidget,
|
36
|
+
};
|
37
|
+
};
|
38
|
+
exports.getWidgetFromProps = getWidgetFromProps;
|
39
|
+
var getFieldErrorsFromProps = function (props) {
|
40
|
+
var _a;
|
41
|
+
var e = (_a = props.errors) === null || _a === void 0 ? void 0 : _a[props.currentPath];
|
42
|
+
return e;
|
43
|
+
};
|
44
|
+
exports.getFieldErrorsFromProps = getFieldErrorsFromProps;
|
45
|
+
//# sourceMappingURL=outsideUse.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"outsideUse.js","sourceRoot":"","sources":["../src/outsideUse.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AAEO,IAAM,kBAAkB,GAAG,UAAC,KAAsB;;IACrD,IAAM,CAAC,GAAG,MAAA,KAAK,CAAC,OAAO,0CAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,IAAI,MAAK,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,MAAM,CAAA,EAArB,CAAqB,CAAC,CAAC;IACpF,IAAI,CAAC,gBAAgB,EAAE;QACnB,IAAM,eAAa,GAAG,MAAA,KAAK,CAAC,cAAc,0CAAE,IAAI,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,IAAI,MAAK,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,MAAM,CAAA,EAArB,CAAqB,CAAC,CAAC;QAChF,IAAI,CAAC,eAAa,EAAE;YAChB,OAAO;SACV;QACD,IAAM,kBAAkB,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,IAAI,KAAK,eAAa,CAAC,MAAM,EAAhC,CAAgC,CAAC,CAAC;QACjG,IAAI,CAAC,kBAAkB,EAAE;YACrB,OAAO;SACV;QACD,OAAO;YACH,IAAI,aACA,MAAM,EAAE,eAAa,CAAC,MAAM,IACzB,eAAa,CAAC,IAAI,CACxB;YACD,MAAM,EAAE,kBAAkB;SAC7B,CAAC;KACL;IACD,OAAO;QACH,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,gBAAgB;KAC3B,CAAC;AACN,CAAC,CAAC;AAxBW,QAAA,kBAAkB,sBAwB7B;AACK,IAAM,uBAAuB,GAAG,UAAC,KAAsB;;IAC1D,IAAM,CAAC,GAAG,MAAA,KAAK,CAAC,MAAM,0CAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5C,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAHW,QAAA,uBAAuB,2BAGlC"}
|
package/lib/renderer/fields.js
CHANGED
@@ -15,11 +15,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
17
|
exports.Fields = void 0;
|
18
|
+
var outsideUse_1 = require("../outsideUse");
|
18
19
|
var graphql_js_tree_1 = require("graphql-js-tree");
|
19
20
|
var react_1 = __importDefault(require("react"));
|
20
21
|
var Fields = function (props) {
|
21
|
-
var _a,
|
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;
|
22
|
+
var nodes = props.nodes, f = props.f, _a = props.components, ArrayField = _a.ArrayField, ObjectField = _a.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) {
|
@@ -31,21 +31,10 @@ var Fields = function (props) {
|
|
31
31
|
if (isInput) {
|
32
32
|
return react_1.default.createElement(ObjectField, __assign({}, props, { f: seekNode }));
|
33
33
|
}
|
34
|
-
var
|
35
|
-
if (
|
36
|
-
var
|
37
|
-
|
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) })));
|
47
|
-
}
|
48
|
-
return react_1.default.createElement(WidgetComponent, __assign({}, props, { widgetData: widget }));
|
34
|
+
var w = (0, outsideUse_1.getWidgetFromProps)(props);
|
35
|
+
if (w) {
|
36
|
+
var data = w.data, Component = w.widget.Component;
|
37
|
+
return react_1.default.createElement(Component, __assign({}, props, { widgetData: data }));
|
49
38
|
}
|
50
39
|
return react_1.default.createElement(ScalarField, __assign({}, props));
|
51
40
|
};
|
@@ -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
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/renderer/fields.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.tsx
CHANGED
package/src/models.ts
CHANGED
@@ -13,6 +13,10 @@ export type WidgetSavedData = {
|
|
13
13
|
export type SavedWidgets = {
|
14
14
|
[selector: string]: WidgetSavedData | undefined;
|
15
15
|
};
|
16
|
+
export type Errors = {
|
17
|
+
[selector: string]: string;
|
18
|
+
};
|
19
|
+
|
16
20
|
export type SavedForms = {
|
17
21
|
[selector: string]: FormObject;
|
18
22
|
};
|
@@ -37,6 +41,7 @@ export type PassedFormProps<WidgetData = ReturnedDictType> = {
|
|
37
41
|
widgetVariants?: WidgetVariantType[];
|
38
42
|
currentPath: string;
|
39
43
|
widgets?: SavedWidgets;
|
44
|
+
errors?: Errors;
|
40
45
|
widgetData?: WidgetData;
|
41
46
|
components: {
|
42
47
|
ArrayField: FieldComponent;
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { PassedFormProps } from '@/models';
|
2
|
+
|
3
|
+
export const getWidgetFromProps = (props: PassedFormProps) => {
|
4
|
+
const w = props.widgets?.[props.currentPath];
|
5
|
+
const FoundBasicWidget = props.widgetComponents.find((wc) => wc.name === w?.widget);
|
6
|
+
if (!FoundBasicWidget) {
|
7
|
+
const widgetVariant = props.widgetVariants?.find((wv) => wv.name === w?.widget);
|
8
|
+
if (!widgetVariant) {
|
9
|
+
return;
|
10
|
+
}
|
11
|
+
const FoundVariantWidget = props.widgetComponents.find((wc) => wc.name === widgetVariant.widget);
|
12
|
+
if (!FoundVariantWidget) {
|
13
|
+
return;
|
14
|
+
}
|
15
|
+
return {
|
16
|
+
data: {
|
17
|
+
widget: widgetVariant.widget,
|
18
|
+
...widgetVariant.data,
|
19
|
+
},
|
20
|
+
widget: FoundVariantWidget,
|
21
|
+
};
|
22
|
+
}
|
23
|
+
return {
|
24
|
+
data: w,
|
25
|
+
widget: FoundBasicWidget,
|
26
|
+
};
|
27
|
+
};
|
28
|
+
export const getFieldErrorsFromProps = (props: PassedFormProps) => {
|
29
|
+
const e = props.errors?.[props.currentPath];
|
30
|
+
return e;
|
31
|
+
};
|
package/src/renderer/fields.tsx
CHANGED
@@ -1,14 +1,12 @@
|
|
1
1
|
import { PassedFormProps } from '@/models';
|
2
|
+
import { getWidgetFromProps } from '@/outsideUse';
|
2
3
|
import { getTypeName, Options, ScalarTypes, TypeDefinition, TypeSystemDefinition } from 'graphql-js-tree';
|
3
4
|
import React from 'react';
|
4
5
|
|
5
6
|
export const Fields: React.FC<PassedFormProps> = (props) => {
|
6
7
|
const {
|
7
8
|
nodes,
|
8
|
-
widgetComponents,
|
9
9
|
f,
|
10
|
-
widgets,
|
11
|
-
widgetVariants,
|
12
10
|
components: { ArrayField, ObjectField },
|
13
11
|
} = props;
|
14
12
|
const seekNode = nodes.find((n) => n.name === getTypeName(f.type.fieldType));
|
@@ -22,29 +20,13 @@ export const Fields: React.FC<PassedFormProps> = (props) => {
|
|
22
20
|
if (isInput) {
|
23
21
|
return <ObjectField {...props} f={seekNode} />;
|
24
22
|
}
|
25
|
-
const
|
26
|
-
if (
|
27
|
-
const
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
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
|
-
);
|
46
|
-
}
|
47
|
-
return <WidgetComponent {...props} widgetData={widget} />;
|
23
|
+
const w = getWidgetFromProps(props);
|
24
|
+
if (w) {
|
25
|
+
const {
|
26
|
+
data,
|
27
|
+
widget: { Component },
|
28
|
+
} = w;
|
29
|
+
return <Component {...props} widgetData={data} />;
|
48
30
|
}
|
49
31
|
return <ScalarField {...props} />;
|
50
32
|
};
|