relay-forms-nodeps 2.0.0 → 2.2.0
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/RelayFormsTypes.d.ts +5 -1
- package/lib/es/RelayFormsTypes.d.ts +5 -1
- package/lib/es/relay/queryErrorsFieldQuery.graphql.d.ts +28 -0
- package/lib/es/relay/queryErrorsFieldQuery.graphql.js +103 -0
- package/lib/es/relay/queryFieldFragment.graphql.d.ts +18 -0
- package/lib/es/relay/queryFieldFragment.graphql.js +28 -0
- package/lib/es/relay/queryFieldQuery.graphql.d.ts +25 -0
- package/lib/es/relay/queryFieldQuery.graphql.js +85 -0
- package/lib/es/relay/queryValueFieldFragment.graphql.d.ts +20 -0
- package/lib/es/relay/queryValueFieldFragment.graphql.js +40 -0
- package/lib/es/useFormField.d.ts +1 -1
- package/lib/es/useFormField.js +48 -10
- package/lib/relay/queryErrorsFieldQuery.graphql.d.ts +28 -0
- package/lib/relay/queryErrorsFieldQuery.graphql.js +108 -0
- package/lib/relay/queryFieldFragment.graphql.d.ts +18 -0
- package/lib/relay/queryFieldFragment.graphql.js +33 -0
- package/lib/relay/queryFieldQuery.graphql.d.ts +25 -0
- package/lib/relay/queryFieldQuery.graphql.js +90 -0
- package/lib/relay/queryValueFieldFragment.graphql.d.ts +20 -0
- package/lib/relay/queryValueFieldFragment.graphql.js +45 -0
- package/lib/umd/relay-forms-nodeps.js +126 -64
- package/lib/umd/relay-forms-nodeps.js.map +1 -1
- package/lib/umd/relay-forms-nodeps.min.js +1 -1
- package/lib/umd/relay-forms-nodeps.min.js.map +1 -1
- package/lib/useFormField.d.ts +1 -1
- package/lib/useFormField.js +48 -10
- package/package.json +4 -4
package/lib/useFormField.js
CHANGED
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var __assign = this && this.__assign || function () {
|
|
4
|
+
__assign = Object.assign || function (t) {
|
|
5
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
+
s = arguments[i];
|
|
7
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
3
13
|
Object.defineProperty(exports, "__esModule", {
|
|
4
14
|
value: true
|
|
5
15
|
});
|
|
6
16
|
var React = require("react");
|
|
7
17
|
var queries_1 = require("./relay/queries");
|
|
18
|
+
var queryValueFieldFragment_graphql_1 = require("./relay/queryValueFieldFragment.graphql");
|
|
8
19
|
var RelayStoreProvider_1 = require("./relay/RelayStoreProvider");
|
|
9
20
|
var RelayStoreUtils_1 = require("./relay/RelayStoreUtils");
|
|
10
21
|
var useForceUpdate_1 = require("./useForceUpdate");
|
|
@@ -28,10 +39,15 @@ function logicSetValue(params) {
|
|
|
28
39
|
initialValue = params.initialValue,
|
|
29
40
|
forceUpdate = params.forceUpdate,
|
|
30
41
|
validateOnChange = params.validateOnChange,
|
|
31
|
-
label = params.label
|
|
42
|
+
label = params.label,
|
|
43
|
+
dependsOn = params.dependsOn;
|
|
32
44
|
var validate = undefined;
|
|
33
45
|
var firstSet = true;
|
|
46
|
+
var deps = {};
|
|
34
47
|
var localId = Utils_1.getFieldId(key);
|
|
48
|
+
function getDeps() {
|
|
49
|
+
return deps;
|
|
50
|
+
}
|
|
35
51
|
function getValidate() {
|
|
36
52
|
return validate;
|
|
37
53
|
}
|
|
@@ -106,13 +122,14 @@ function logicSetValue(params) {
|
|
|
106
122
|
}
|
|
107
123
|
commitField(false);
|
|
108
124
|
}
|
|
109
|
-
function internalValidate(value, validateFunction) {
|
|
125
|
+
function internalValidate(value, validateFunction, depsValidation) {
|
|
110
126
|
ref.isChecking = true;
|
|
111
|
-
var result = validateFunction(value);
|
|
127
|
+
var result = validateFunction(value, deps);
|
|
112
128
|
function internalFinalize(error) {
|
|
113
129
|
var validate = getValidate();
|
|
114
|
-
|
|
115
|
-
|
|
130
|
+
var deps = getDeps();
|
|
131
|
+
if (value !== dataResult.value || validate !== validateFunction || deps !== depsValidation) {
|
|
132
|
+
internalValidate(dataResult.value, validate, deps);
|
|
116
133
|
return;
|
|
117
134
|
}
|
|
118
135
|
finalizeCheck(error);
|
|
@@ -136,9 +153,25 @@ function logicSetValue(params) {
|
|
|
136
153
|
ref.check = getInitCheck(validate);
|
|
137
154
|
setValueInternal(initialValue);
|
|
138
155
|
} else if (isValidating && !ref.isChecking) {
|
|
139
|
-
internalValidate(dataResult.value, validate);
|
|
156
|
+
internalValidate(dataResult.value, validate, deps);
|
|
140
157
|
}
|
|
141
158
|
}).dispose;
|
|
159
|
+
var disposeDeps = [];
|
|
160
|
+
if (dependsOn != null) {
|
|
161
|
+
dependsOn.forEach(function (depKey) {
|
|
162
|
+
var snapshot = Utils_1.getSnapshot(environment, queryValueFieldFragment_graphql_1.default, depKey);
|
|
163
|
+
var disposeDep = environment.subscribe(snapshot, function (s) {
|
|
164
|
+
var _a;
|
|
165
|
+
var data = s.data;
|
|
166
|
+
deps = __assign(__assign({}, deps), (_a = {}, _a[depKey] = data, _a));
|
|
167
|
+
if (ref.check == DONEVALIDATED && !ref.isChecking) {
|
|
168
|
+
ref.check = exports.VALIDATING;
|
|
169
|
+
commitField(false);
|
|
170
|
+
}
|
|
171
|
+
}).dispose;
|
|
172
|
+
disposeDeps.push(disposeDep);
|
|
173
|
+
});
|
|
174
|
+
}
|
|
142
175
|
var dispose = function () {
|
|
143
176
|
disposeSubscrition();
|
|
144
177
|
Utils_1.commit(environment, function (store, form) {
|
|
@@ -149,9 +182,12 @@ function logicSetValue(params) {
|
|
|
149
182
|
form.setLinkedRecords(newEntries, 'entries');
|
|
150
183
|
store.delete(localId);
|
|
151
184
|
});
|
|
185
|
+
disposeDeps.forEach(function (dispose) {
|
|
186
|
+
return dispose;
|
|
187
|
+
});
|
|
152
188
|
};
|
|
153
189
|
if (validateOnChange) {
|
|
154
|
-
internalValidate(initialValue, getValidate());
|
|
190
|
+
internalValidate(initialValue, getValidate(), deps);
|
|
155
191
|
}
|
|
156
192
|
return dispose;
|
|
157
193
|
}
|
|
@@ -167,7 +203,8 @@ function useFormField(_a) {
|
|
|
167
203
|
initialValue = _a.initialValue,
|
|
168
204
|
validate = _a.validate,
|
|
169
205
|
validateOnChange = _a.validateOnChange,
|
|
170
|
-
label = _a.label
|
|
206
|
+
label = _a.label,
|
|
207
|
+
dependsOn = _a.dependsOn;
|
|
171
208
|
var forceUpdate = useForceUpdate_1.useForceUpdate();
|
|
172
209
|
var environment = RelayStoreProvider_1.useStore();
|
|
173
210
|
var resolver = React.useMemo(function () {
|
|
@@ -177,9 +214,10 @@ function useFormField(_a) {
|
|
|
177
214
|
label: label,
|
|
178
215
|
initialValue: initialValue,
|
|
179
216
|
forceUpdate: forceUpdate,
|
|
180
|
-
validateOnChange: validateOnChange
|
|
217
|
+
validateOnChange: validateOnChange,
|
|
218
|
+
dependsOn: dependsOn
|
|
181
219
|
});
|
|
182
|
-
}, [environment, key, initialValue, forceUpdate, validateOnChange, label]);
|
|
220
|
+
}, [environment, key, initialValue, forceUpdate, validateOnChange, label, dependsOn]);
|
|
183
221
|
resolver.setValidate(validate);
|
|
184
222
|
React.useEffect(function () {
|
|
185
223
|
return resolver.subscribe();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "relay-forms-nodeps",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"forms",
|
|
6
6
|
"relay",
|
|
@@ -65,11 +65,11 @@
|
|
|
65
65
|
"graphql": "^14.2.0",
|
|
66
66
|
"@types/react": "18.0.26",
|
|
67
67
|
"@types/react-dom": "18.0.10",
|
|
68
|
-
"relay-compiler": "^
|
|
68
|
+
"relay-compiler": "^17.0.0",
|
|
69
69
|
"replace-in-file": "6.2.0",
|
|
70
70
|
"react-test-renderer": "^18.0.0",
|
|
71
|
-
"relay-test-utils": "^
|
|
72
|
-
"relay-test-utils-internal": "^
|
|
71
|
+
"relay-test-utils": "^17.0.0",
|
|
72
|
+
"relay-test-utils-internal": "^17.0.0",
|
|
73
73
|
"@types/jest": "24.0.18",
|
|
74
74
|
"ts-jest": "^26.5.6",
|
|
75
75
|
"jest": "^26.0.0",
|