payload 1.1.22 → 1.1.23
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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useCallback, useMemo } from 'react';
|
|
1
|
+
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
2
2
|
import { useAuth } from '../../utilities/Auth';
|
|
3
3
|
import { useFormProcessing, useFormSubmitted, useFormModified, useForm, useFormFields } from '../Form/context';
|
|
4
4
|
import { useDocumentInfo } from '../../utilities/DocumentInfo';
|
|
@@ -15,10 +15,14 @@ const useField = (options) => {
|
|
|
15
15
|
const field = useFormFields(([fields]) => fields[path]);
|
|
16
16
|
const dispatchField = useFormFields(([_, dispatch]) => dispatch);
|
|
17
17
|
const { getData, getSiblingData, setModified } = useForm();
|
|
18
|
-
const value = field === null || field === void 0 ? void 0 : field.value;
|
|
19
18
|
const initialValue = field === null || field === void 0 ? void 0 : field.initialValue;
|
|
20
19
|
const valid = typeof (field === null || field === void 0 ? void 0 : field.valid) === 'boolean' ? field.valid : true;
|
|
21
20
|
const showError = valid === false && submitted;
|
|
21
|
+
// We store internal value to ensure that components react immediately
|
|
22
|
+
// to any value changes, therefore preventing "cursor jump" that can be seen
|
|
23
|
+
// if a user types quickly in an input
|
|
24
|
+
const [internalValue, setInternalValue] = useState(() => field === null || field === void 0 ? void 0 : field.value);
|
|
25
|
+
const [internalInitialValue, setInternalInitialValue] = useState(() => field === null || field === void 0 ? void 0 : field.initialValue);
|
|
22
26
|
// Method to return from `useField`, used to
|
|
23
27
|
// update field values from field component(s)
|
|
24
28
|
const setValue = useCallback((e, disableModifyingForm = false) => {
|
|
@@ -28,6 +32,7 @@ const useField = (options) => {
|
|
|
28
32
|
setModified(true);
|
|
29
33
|
}
|
|
30
34
|
}
|
|
35
|
+
setInternalValue(val);
|
|
31
36
|
dispatchField({
|
|
32
37
|
type: 'UPDATE',
|
|
33
38
|
path,
|
|
@@ -46,12 +51,12 @@ const useField = (options) => {
|
|
|
46
51
|
const result = useMemo(() => ({
|
|
47
52
|
showError,
|
|
48
53
|
errorMessage: field === null || field === void 0 ? void 0 : field.errorMessage,
|
|
49
|
-
value,
|
|
54
|
+
value: internalValue,
|
|
50
55
|
formSubmitted: submitted,
|
|
51
56
|
formProcessing: processing,
|
|
52
57
|
setValue,
|
|
53
58
|
initialValue,
|
|
54
|
-
}), [field, processing, setValue, showError, submitted,
|
|
59
|
+
}), [field, processing, setValue, showError, submitted, internalValue, initialValue]);
|
|
55
60
|
// Throttle the validate function
|
|
56
61
|
useThrottledEffect(() => {
|
|
57
62
|
const validateField = async () => {
|
|
@@ -61,7 +66,7 @@ const useField = (options) => {
|
|
|
61
66
|
disableFormData,
|
|
62
67
|
validate,
|
|
63
68
|
condition,
|
|
64
|
-
value,
|
|
69
|
+
value: internalValue,
|
|
65
70
|
valid: false,
|
|
66
71
|
errorMessage: undefined,
|
|
67
72
|
};
|
|
@@ -72,7 +77,7 @@ const useField = (options) => {
|
|
|
72
77
|
siblingData: getSiblingData(path),
|
|
73
78
|
operation,
|
|
74
79
|
};
|
|
75
|
-
const validationResult = typeof validate === 'function' ? await validate(
|
|
80
|
+
const validationResult = typeof validate === 'function' ? await validate(internalValue, validateOptions) : true;
|
|
76
81
|
if (typeof validationResult === 'string') {
|
|
77
82
|
action.errorMessage = validationResult;
|
|
78
83
|
action.valid = false;
|
|
@@ -87,7 +92,7 @@ const useField = (options) => {
|
|
|
87
92
|
};
|
|
88
93
|
validateField();
|
|
89
94
|
}, 150, [
|
|
90
|
-
|
|
95
|
+
internalValue,
|
|
91
96
|
condition,
|
|
92
97
|
disableFormData,
|
|
93
98
|
dispatchField,
|
|
@@ -99,6 +104,12 @@ const useField = (options) => {
|
|
|
99
104
|
user,
|
|
100
105
|
validate,
|
|
101
106
|
]);
|
|
107
|
+
useEffect(() => {
|
|
108
|
+
if (initialValue !== internalInitialValue) {
|
|
109
|
+
setInternalValue(initialValue);
|
|
110
|
+
setInternalInitialValue(initialValue);
|
|
111
|
+
}
|
|
112
|
+
}, [initialValue, internalInitialValue]);
|
|
102
113
|
return result;
|
|
103
114
|
};
|
|
104
115
|
export default useField;
|
|
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const url_1 = __importDefault(require("url"));
|
|
7
7
|
const passport_jwt_1 = __importDefault(require("passport-jwt"));
|
|
8
|
-
const findByID_1 = __importDefault(require("../../collections/operations/findByID"));
|
|
9
8
|
const getExtractJWT_1 = __importDefault(require("../getExtractJWT"));
|
|
10
9
|
const JwtStrategy = passport_jwt_1.default.Strategy;
|
|
11
10
|
exports.default = ({ secret, config, collections }) => {
|
|
@@ -22,11 +21,10 @@ exports.default = ({ secret, config, collections }) => {
|
|
|
22
21
|
const collection = collections[token.collection];
|
|
23
22
|
const parsedURL = url_1.default.parse(req.url);
|
|
24
23
|
const isGraphQL = parsedURL.pathname === config.routes.graphQL;
|
|
25
|
-
const user = await
|
|
24
|
+
const user = await req.payload.findByID({
|
|
26
25
|
id: token.id,
|
|
27
|
-
collection,
|
|
26
|
+
collection: token.collection,
|
|
28
27
|
req,
|
|
29
|
-
overrideAccess: true,
|
|
30
28
|
depth: isGraphQL ? 0 : collection.config.auth.depth,
|
|
31
29
|
});
|
|
32
30
|
if (user && (!collection.config.auth.verify || user._verified)) {
|
|
@@ -43,4 +41,4 @@ exports.default = ({ secret, config, collections }) => {
|
|
|
43
41
|
}
|
|
44
42
|
});
|
|
45
43
|
};
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F1dGgvc3RyYXRlZ2llcy9qd3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4Q0FBc0I7QUFDdEIsZ0VBQTREO0FBRzVELHFFQUE2QztBQUU3QyxNQUFNLFdBQVcsR0FBRyxzQkFBVyxDQUFDLFFBQVEsQ0FBQztBQUV6QyxrQkFBZSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQVcsRUFBb0IsRUFBRTtJQUM1RSxNQUFNLElBQUksR0FBb0I7UUFDNUIsaUJBQWlCLEVBQUUsSUFBSTtRQUN2QixjQUFjLEVBQUUsSUFBQSx1QkFBYSxFQUFDLE1BQU0sQ0FBQztRQUNyQyxXQUFXLEVBQUUsTUFBTTtLQUNwQixDQUFDO0lBRUYsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDdEQsSUFBSSxHQUFHLENBQUMsSUFBSSxFQUFFO1lBQ1osSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEI7UUFFRCxJQUFJO1lBQ0YsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUVqRCxNQUFNLFNBQVMsR0FBRyxhQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBRS9ELE1BQU0sSUFBSSxHQUFHLE1BQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7Z0JBQ3RDLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDWixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7Z0JBQzVCLEdBQUc7Z0JBQ0gsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLO2FBQ3BELENBQUMsQ0FBQztZQUVILElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUM5RCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNsQjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ25CO1NBQ0Y7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDbkI7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyJ9
|