payload 0.14.26-beta.0 → 0.14.27-beta.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/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
## [0.14.
|
|
1
|
+
## [0.14.27-beta.0](https://github.com/payloadcms/payload/compare/v0.14.0...v0.14.27-beta.0) (2022-03-01)
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
### Bug Fixes
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
|
|
45
45
|
### Features
|
|
46
46
|
|
|
47
|
+
* [#458](https://github.com/payloadcms/payload/issues/458), provides field hooks with sibling data ([8e23a24](https://github.com/payloadcms/payload/commit/8e23a24f34ef7425bb4d43e96e869b255740c739))
|
|
47
48
|
* abstracts revisions components for reuse in globals ([da5684d](https://github.com/payloadcms/payload/commit/da5684df27133b254eecd22fb3e0aad1910c382f))
|
|
48
49
|
* add before and after login components ([#427](https://github.com/payloadcms/payload/issues/427)) ([5591eea](https://github.com/payloadcms/payload/commit/5591eeafca1aa6e8abcc2d8276f7478e00b75ef2))
|
|
49
50
|
* add local api for versions on globals ([4072e7e](https://github.com/payloadcms/payload/commit/4072e7ee06bb1a4cc33d6dd2af024c8971157089))
|
|
@@ -117,7 +118,7 @@
|
|
|
117
118
|
* working autosave ([c62707c](https://github.com/payloadcms/payload/commit/c62707cd515c0a21da1dc2cd5a9c69f396d4baa0))
|
|
118
119
|
* working drafts ([b00517e](https://github.com/payloadcms/payload/commit/b00517ec20851c7ce09cc73002f61cd808350d6c))
|
|
119
120
|
|
|
120
|
-
## [0.14.
|
|
121
|
+
## [0.14.26-beta.0](https://github.com/payloadcms/payload/compare/v0.14.0...v0.14.26-beta.0) (2022-02-23)
|
|
121
122
|
|
|
122
123
|
### Bug Fixes
|
|
123
124
|
|
|
@@ -4,14 +4,15 @@ import { TypeWithID } from '../../collections/config/types';
|
|
|
4
4
|
import { PayloadRequest } from '../../express/types';
|
|
5
5
|
import { ConditionalDateProps } from '../../admin/components/elements/DatePicker/types';
|
|
6
6
|
import { Description } from '../../admin/components/forms/FieldDescription/types';
|
|
7
|
-
export declare type FieldHookArgs<T extends TypeWithID = any, P = any> = {
|
|
7
|
+
export declare type FieldHookArgs<T extends TypeWithID = any, P = any, S = any> = {
|
|
8
8
|
value?: P;
|
|
9
9
|
originalDoc?: T;
|
|
10
10
|
data?: Partial<T>;
|
|
11
|
+
siblingData: Partial<S>;
|
|
11
12
|
operation?: 'create' | 'read' | 'update' | 'delete';
|
|
12
13
|
req: PayloadRequest;
|
|
13
14
|
};
|
|
14
|
-
export declare type FieldHook<T extends TypeWithID = any, P = any> = (args: FieldHookArgs<T, P>) => Promise<P> | P;
|
|
15
|
+
export declare type FieldHook<T extends TypeWithID = any, P = any, S = any> = (args: FieldHookArgs<T, P, S>) => Promise<P> | P;
|
|
15
16
|
export declare type FieldAccess<T extends TypeWithID = any, P = any> = (args: {
|
|
16
17
|
req: PayloadRequest;
|
|
17
18
|
id?: string;
|
|
@@ -41,4 +41,4 @@ function fieldAffectsData(field) {
|
|
|
41
41
|
return 'name' in field && !fieldIsPresentationalOnly(field);
|
|
42
42
|
}
|
|
43
43
|
exports.fieldAffectsData = fieldAffectsData;
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmllbGRzL2NvbmZpZy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE2VkEsU0FBZ0IsaUJBQWlCLENBQUMsS0FBWTtJQUM1QyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQztBQUNwRixDQUFDO0FBRkQsOENBRUM7QUFFRCxTQUFnQixnQkFBZ0IsQ0FBQyxLQUFZO0lBQzNDLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUM7QUFDaEMsQ0FBQztBQUZELDRDQUVDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQUMsS0FBWTtJQUMzQyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDO0FBQ2pDLENBQUM7QUFGRCw0Q0FFQztBQUVELFNBQWdCLGNBQWMsQ0FBQyxNQUFjO0lBQzNDLE9BQU8sT0FBTyxNQUFNLEtBQUssUUFBUSxDQUFDO0FBQ3BDLENBQUM7QUFGRCx3Q0FFQztBQUVELFNBQWdCLGlCQUFpQixDQUFDLE9BQWlCO0lBQ2pELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFHLENBQUMsQ0FBQyxDQUFBLEtBQUssUUFBUSxDQUFDO0FBQ3BFLENBQUM7QUFGRCw4Q0FFQztBQUVELFNBQWdCLGFBQWEsQ0FBQyxNQUFjO0lBQzFDLE9BQU8sT0FBTyxNQUFNLEtBQUssUUFBUSxDQUFDO0FBQ3BDLENBQUM7QUFGRCxzQ0FFQztBQUVELFNBQWdCLGlCQUFpQixDQUFDLEtBQVk7SUFDNUMsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQztBQUNsRSxDQUFDO0FBRkQsOENBRUM7QUFFRCxTQUFnQixnQkFBZ0IsQ0FBQyxLQUFZO0lBQzNDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxJQUFJLE9BQU8sS0FBSyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUM7QUFDMUcsQ0FBQztBQUZELDRDQUVDO0FBRUQsU0FBZ0IseUJBQXlCLENBQUMsS0FBWTtJQUNwRCxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO0FBQzdCLENBQUM7QUFGRCw4REFFQztBQUVELFNBQWdCLGdCQUFnQixDQUFDLEtBQVk7SUFDM0MsT0FBTyxNQUFNLElBQUksS0FBSyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUZELDRDQUVDIn0=
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const executeHook = async ({ currentHook, fullOriginalDoc, fullData, operation, req, value, }) => {
|
|
3
|
+
const executeHook = async ({ currentHook, fullOriginalDoc, fullData, data, operation, req, value, }) => {
|
|
4
4
|
let hookedValue = await currentHook({
|
|
5
5
|
value,
|
|
6
6
|
originalDoc: fullOriginalDoc,
|
|
7
7
|
data: fullData,
|
|
8
|
+
siblingData: data,
|
|
8
9
|
operation,
|
|
9
10
|
req,
|
|
10
11
|
});
|
|
@@ -49,4 +50,4 @@ const hookPromise = async (args) => {
|
|
|
49
50
|
}
|
|
50
51
|
};
|
|
51
52
|
exports.default = hookPromise;
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9va1Byb21pc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmllbGRzL2hvb2tQcm9taXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBcUJBLE1BQU0sV0FBVyxHQUFHLEtBQUssRUFBRSxFQUN6QixXQUFXLEVBQ1gsZUFBZSxFQUNmLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxFQUNULEdBQUcsRUFDSCxLQUFLLEdBQ2dCLEVBQUUsRUFBRTtJQUN6QixJQUFJLFdBQVcsR0FBRyxNQUFNLFdBQVcsQ0FBQztRQUNsQyxLQUFLO1FBQ0wsV0FBVyxFQUFFLGVBQWU7UUFDNUIsSUFBSSxFQUFFLFFBQVE7UUFDZCxXQUFXLEVBQUUsSUFBSTtRQUNqQixTQUFTO1FBQ1QsR0FBRztLQUNKLENBQUMsQ0FBQztJQUVILElBQUksT0FBTyxXQUFXLEtBQUssV0FBVyxFQUFFO1FBQ3RDLFdBQVcsR0FBRyxLQUFLLENBQUM7S0FDckI7SUFFRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQUUsSUFBZSxFQUFpQixFQUFFO0lBQzNELE1BQU0sRUFDSixLQUFLLEVBQ0wsSUFBSSxFQUNKLEdBQUcsRUFDSCxjQUFjLEVBQ2QsSUFBSSxHQUNMLEdBQUcsSUFBSSxDQUFDO0lBRVQsSUFBSSxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDcEMsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxFQUFFO1lBQzlELE1BQU0sU0FBUyxDQUFDO1lBRWhCLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxLQUFLLFdBQVc7bUJBQ2pELEtBQUssQ0FBQyxTQUFTO21CQUNmLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUM7bUJBQ3pDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxRQUFRLENBQUM7WUFFMUMsSUFBSSx5QkFBeUIsRUFBRTtnQkFDN0IsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUU7b0JBQ3pGLE1BQU0sV0FBVyxHQUFHLE1BQU0sV0FBVyxDQUFDO3dCQUNwQyxHQUFHLElBQUk7d0JBQ1AsV0FBVzt3QkFDWCxLQUFLO3FCQUNOLENBQUMsQ0FBQztvQkFFSCxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUU7d0JBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsV0FBVyxDQUFDO3FCQUN4QztnQkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBRU4sTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2pDO2lCQUFNO2dCQUNMLE1BQU0sV0FBVyxHQUFHLE1BQU0sV0FBVyxDQUFDO29CQUNwQyxHQUFHLElBQUk7b0JBQ1AsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO29CQUN2QixXQUFXO2lCQUNaLENBQUMsQ0FBQztnQkFFSCxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUU7b0JBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDO2lCQUNoQzthQUNGO1FBQ0gsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0tBQ3ZCO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsa0JBQWUsV0FBVyxDQUFDIn0=
|
package/docs/hooks/fields.mdx
CHANGED
|
@@ -57,7 +57,8 @@ Field Hooks receive one `args` argument that contains the following properties:
|
|
|
57
57
|
| Option | Description |
|
|
58
58
|
| ----------------- | -------------|
|
|
59
59
|
| **`value`** | The value of the field. |
|
|
60
|
-
| **`data`** | The data passed to update the
|
|
60
|
+
| **`data`** | The data passed to update the document within `create` and `update` operations, and the full document itself in the `afterRead` hook. |
|
|
61
|
+
| **`siblingData`** | The sibling data passed to a field that the hook is running against. |
|
|
61
62
|
| **`originalDoc`** | The full original document in `update` operations. |
|
|
62
63
|
| **`operation`** | A string relating to which operation the field type is currently executing within. Useful within `beforeValidate`, `beforeChange`, and `afterChange` hooks to differentiate between `create` and `update` operations. |
|
|
63
64
|
| **`req`** | The Express `request` object. It is mocked for Local API operations. |
|
|
@@ -78,16 +79,18 @@ Payload exports a type for field hooks which can be accessed and used as follows
|
|
|
78
79
|
```js
|
|
79
80
|
import type { FieldHook } from 'payload/types';
|
|
80
81
|
|
|
81
|
-
// Field hook type is a generic that takes
|
|
82
|
+
// Field hook type is a generic that takes three arguments:
|
|
82
83
|
// 1: The document type
|
|
83
|
-
// 2:
|
|
84
|
+
// 2: The value type
|
|
85
|
+
// 3: The sibling data type
|
|
84
86
|
|
|
85
|
-
type ExampleFieldHook = FieldHook<ExampleDocumentType, string>;
|
|
87
|
+
type ExampleFieldHook = FieldHook<ExampleDocumentType, string, SiblingDataType>;
|
|
86
88
|
|
|
87
89
|
const exampleFieldHook: ExampleFieldHook = (args) => {
|
|
88
90
|
const {
|
|
89
91
|
value, // Typed as `string` as shown above
|
|
90
92
|
data, // Typed as a Partial of your ExampleDocumentType
|
|
93
|
+
siblingData, // Typed as a Partial of SiblingDataType
|
|
91
94
|
originalDoc, // Typed as ExampleDocumentType
|
|
92
95
|
operation,
|
|
93
96
|
req,
|