@payloadcms/plugin-nested-docs 1.0.10 → 1.0.12
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/dist/fields/breadcrumbs.js +19 -19
- package/dist/fields/parent.d.ts.map +1 -1
- package/dist/fields/parent.js +6 -19
- package/dist/fields/parentFilterOptions.d.ts +4 -0
- package/dist/fields/parentFilterOptions.d.ts.map +1 -0
- package/dist/fields/parentFilterOptions.js +36 -0
- package/dist/hooks/resaveChildren.d.ts.map +1 -1
- package/dist/hooks/resaveChildren.js +54 -33
- package/dist/hooks/resaveSelfAfterCreate.d.ts +2 -1
- package/dist/hooks/resaveSelfAfterCreate.d.ts.map +1 -1
- package/dist/hooks/resaveSelfAfterCreate.js +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -11
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utilities/getParents.d.ts.map +1 -1
- package/dist/utilities/getParents.js +6 -5
- package/package.json +6 -3
|
@@ -18,46 +18,46 @@ _export(exports, {
|
|
|
18
18
|
});
|
|
19
19
|
const createBreadcrumbsField = (relationTo, overrides = {})=>({
|
|
20
20
|
name: 'breadcrumbs',
|
|
21
|
-
type: 'array',
|
|
22
21
|
localized: true,
|
|
22
|
+
type: 'array',
|
|
23
|
+
...overrides || {},
|
|
24
|
+
admin: {
|
|
25
|
+
readOnly: true,
|
|
26
|
+
...overrides?.admin || {}
|
|
27
|
+
},
|
|
23
28
|
fields: [
|
|
24
29
|
{
|
|
25
30
|
name: 'doc',
|
|
26
|
-
type: 'relationship',
|
|
27
|
-
relationTo,
|
|
28
|
-
maxDepth: 0,
|
|
29
31
|
admin: {
|
|
30
32
|
disabled: true
|
|
31
|
-
}
|
|
33
|
+
},
|
|
34
|
+
maxDepth: 0,
|
|
35
|
+
relationTo,
|
|
36
|
+
type: 'relationship'
|
|
32
37
|
},
|
|
33
38
|
{
|
|
34
|
-
type: 'row',
|
|
35
39
|
fields: [
|
|
36
40
|
{
|
|
37
41
|
name: 'url',
|
|
38
|
-
label: 'URL',
|
|
39
|
-
type: 'text',
|
|
40
42
|
admin: {
|
|
41
43
|
width: '50%'
|
|
42
|
-
}
|
|
44
|
+
},
|
|
45
|
+
label: 'URL',
|
|
46
|
+
type: 'text'
|
|
43
47
|
},
|
|
44
48
|
{
|
|
45
49
|
name: 'label',
|
|
46
|
-
type: 'text',
|
|
47
50
|
admin: {
|
|
48
51
|
width: '50%'
|
|
49
|
-
}
|
|
52
|
+
},
|
|
53
|
+
type: 'text'
|
|
50
54
|
}
|
|
51
|
-
]
|
|
55
|
+
],
|
|
56
|
+
type: 'row'
|
|
52
57
|
},
|
|
53
58
|
...overrides?.fields || []
|
|
54
|
-
]
|
|
55
|
-
admin: {
|
|
56
|
-
readOnly: true,
|
|
57
|
-
...overrides?.admin || {}
|
|
58
|
-
},
|
|
59
|
-
...overrides || {}
|
|
59
|
+
]
|
|
60
60
|
});
|
|
61
61
|
const _default = createBreadcrumbsField;
|
|
62
62
|
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvYnJlYWRjcnVtYnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBcnJheUZpZWxkLCBGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVCcmVhZGNydW1ic0ZpZWxkID0gKFxuICByZWxhdGlvblRvOiBzdHJpbmcsXG4gIG92ZXJyaWRlczogUGFydGlhbDxBcnJheUZpZWxkPiA9IHt9LFxuKTogRmllbGQgPT4gKHtcbiAgbmFtZTogJ2JyZWFkY3J1bWJzJyxcbiAgbG9jYWxpemVkOiB0cnVlLFxuICB0eXBlOiAnYXJyYXknLFxuICAuLi4ob3ZlcnJpZGVzIHx8IHt9KSxcbiAgYWRtaW46IHtcbiAgICByZWFkT25seTogdHJ1ZSxcbiAgICAuLi4ob3ZlcnJpZGVzPy5hZG1pbiB8fCB7fSksXG4gIH0sXG4gIGZpZWxkczogW1xuICAgIHtcbiAgICAgIG5hbWU6ICdkb2MnLFxuICAgICAgYWRtaW46IHtcbiAgICAgICAgZGlzYWJsZWQ6IHRydWUsXG4gICAgICB9LFxuICAgICAgbWF4RGVwdGg6IDAsXG4gICAgICByZWxhdGlvblRvLFxuICAgICAgdHlwZTogJ3JlbGF0aW9uc2hpcCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICd1cmwnLFxuICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICB3aWR0aDogJzUwJScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBsYWJlbDogJ1VSTCcsXG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2xhYmVsJyxcbiAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgd2lkdGg6ICc1MCUnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHR5cGU6ICdyb3cnLFxuICAgIH0sXG4gICAgLi4uKG92ZXJyaWRlcz8uZmllbGRzIHx8IFtdKSxcbiAgXSxcbn0pXG5cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZUJyZWFkY3J1bWJzRmllbGRcbiJdLCJuYW1lcyI6WyJjcmVhdGVCcmVhZGNydW1ic0ZpZWxkIiwicmVsYXRpb25UbyIsIm92ZXJyaWRlcyIsIm5hbWUiLCJsb2NhbGl6ZWQiLCJ0eXBlIiwiYWRtaW4iLCJyZWFkT25seSIsImZpZWxkcyIsImRpc2FibGVkIiwibWF4RGVwdGgiLCJ3aWR0aCIsImxhYmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUVhQSxzQkFBc0I7ZUFBdEJBOztJQThDYixPQUFxQztlQUFyQzs7O0FBOUNPLE1BQU1BLHlCQUF5QixDQUNwQ0MsWUFDQUMsWUFBaUMsQ0FBQyxDQUFDLEdBQ3hCLENBQUE7UUFDWEMsTUFBTTtRQUNOQyxXQUFXO1FBQ1hDLE1BQU07UUFDTixHQUFJSCxhQUFhLENBQUMsQ0FBQztRQUNuQkksT0FBTztZQUNMQyxVQUFVO1lBQ1YsR0FBSUwsV0FBV0ksU0FBUyxDQUFDLENBQUM7UUFDNUI7UUFDQUUsUUFBUTtZQUNOO2dCQUNFTCxNQUFNO2dCQUNORyxPQUFPO29CQUNMRyxVQUFVO2dCQUNaO2dCQUNBQyxVQUFVO2dCQUNWVDtnQkFDQUksTUFBTTtZQUNSO1lBQ0E7Z0JBQ0VHLFFBQVE7b0JBQ047d0JBQ0VMLE1BQU07d0JBQ05HLE9BQU87NEJBQ0xLLE9BQU87d0JBQ1Q7d0JBQ0FDLE9BQU87d0JBQ1BQLE1BQU07b0JBQ1I7b0JBQ0E7d0JBQ0VGLE1BQU07d0JBQ05HLE9BQU87NEJBQ0xLLE9BQU87d0JBQ1Q7d0JBQ0FOLE1BQU07b0JBQ1I7aUJBQ0Q7Z0JBQ0RBLE1BQU07WUFDUjtlQUNJSCxXQUFXTSxVQUFVLEVBQUU7U0FDNUI7SUFDSCxDQUFBO01BRUEsV0FBZVIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parent.d.ts","sourceRoot":"","sources":["../../src/fields/parent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAE5D,eAAO,MAAM,iBAAiB,eAChB,MAAM,cACN,QACV,uBAAuB,GAAG;IACxB,OAAO,EAAE,KAAK,CAAA;CACf,CACF,KACA,
|
|
1
|
+
{"version":3,"file":"parent.d.ts","sourceRoot":"","sources":["../../src/fields/parent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAE5D,eAAO,MAAM,iBAAiB,eAChB,MAAM,cACN,QACV,uBAAuB,GAAG;IACxB,OAAO,EAAE,KAAK,CAAA;CACf,CACF,KACA,uBAYD,CAAA;AAEF,eAAe,iBAAiB,CAAA"}
|
package/dist/fields/parent.js
CHANGED
|
@@ -18,30 +18,17 @@ _export(exports, {
|
|
|
18
18
|
});
|
|
19
19
|
const createParentField = (relationTo, overrides)=>({
|
|
20
20
|
name: 'parent',
|
|
21
|
-
relationTo,
|
|
22
|
-
type: 'relationship',
|
|
23
|
-
maxDepth: 1,
|
|
24
|
-
filterOptions: ({ id })=>{
|
|
25
|
-
if (id) {
|
|
26
|
-
return {
|
|
27
|
-
id: {
|
|
28
|
-
not_equals: id
|
|
29
|
-
},
|
|
30
|
-
'breadcrumbs.doc': {
|
|
31
|
-
not_in: [
|
|
32
|
-
id
|
|
33
|
-
]
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
return null;
|
|
38
|
-
},
|
|
39
21
|
admin: {
|
|
40
22
|
position: 'sidebar',
|
|
41
23
|
...overrides?.admin || {}
|
|
42
24
|
},
|
|
25
|
+
// filterOptions are assigned dynamically based on the pluginConfig
|
|
26
|
+
// filterOptions: parentFilterOptions(),
|
|
27
|
+
maxDepth: 1,
|
|
28
|
+
relationTo,
|
|
29
|
+
type: 'relationship',
|
|
43
30
|
...overrides || {}
|
|
44
31
|
});
|
|
45
32
|
const _default = createParentField;
|
|
46
33
|
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvcGFyZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2luZ2xlUmVsYXRpb25zaGlwRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUGFyZW50RmllbGQgPSAoXG4gIHJlbGF0aW9uVG86IHN0cmluZyxcbiAgb3ZlcnJpZGVzPzogUGFydGlhbDxcbiAgICBTaW5nbGVSZWxhdGlvbnNoaXBGaWVsZCAmIHtcbiAgICAgIGhhc01hbnk6IGZhbHNlXG4gICAgfVxuICA+
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvcGFyZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2luZ2xlUmVsYXRpb25zaGlwRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUGFyZW50RmllbGQgPSAoXG4gIHJlbGF0aW9uVG86IHN0cmluZyxcbiAgb3ZlcnJpZGVzPzogUGFydGlhbDxcbiAgICBTaW5nbGVSZWxhdGlvbnNoaXBGaWVsZCAmIHtcbiAgICAgIGhhc01hbnk6IGZhbHNlXG4gICAgfVxuICA+LFxuKTogU2luZ2xlUmVsYXRpb25zaGlwRmllbGQgPT4gKHtcbiAgbmFtZTogJ3BhcmVudCcsXG4gIGFkbWluOiB7XG4gICAgcG9zaXRpb246ICdzaWRlYmFyJyxcbiAgICAuLi4ob3ZlcnJpZGVzPy5hZG1pbiB8fCB7fSksXG4gIH0sXG4gIC8vIGZpbHRlck9wdGlvbnMgYXJlIGFzc2lnbmVkIGR5bmFtaWNhbGx5IGJhc2VkIG9uIHRoZSBwbHVnaW5Db25maWdcbiAgLy8gZmlsdGVyT3B0aW9uczogcGFyZW50RmlsdGVyT3B0aW9ucygpLFxuICBtYXhEZXB0aDogMSxcbiAgcmVsYXRpb25UbyxcbiAgdHlwZTogJ3JlbGF0aW9uc2hpcCcsXG4gIC4uLihvdmVycmlkZXMgfHwge30pLFxufSlcblxuZXhwb3J0IGRlZmF1bHQgY3JlYXRlUGFyZW50RmllbGRcbiJdLCJuYW1lcyI6WyJjcmVhdGVQYXJlbnRGaWVsZCIsInJlbGF0aW9uVG8iLCJvdmVycmlkZXMiLCJuYW1lIiwiYWRtaW4iLCJwb3NpdGlvbiIsIm1heERlcHRoIiwidHlwZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFFYUEsaUJBQWlCO2VBQWpCQTs7SUFxQmIsT0FBZ0M7ZUFBaEM7OztBQXJCTyxNQUFNQSxvQkFBb0IsQ0FDL0JDLFlBQ0FDLFlBSzZCLENBQUE7UUFDN0JDLE1BQU07UUFDTkMsT0FBTztZQUNMQyxVQUFVO1lBQ1YsR0FBSUgsV0FBV0UsU0FBUyxDQUFDLENBQUM7UUFDNUI7UUFDQSxtRUFBbUU7UUFDbkUsd0NBQXdDO1FBQ3hDRSxVQUFVO1FBQ1ZMO1FBQ0FNLE1BQU07UUFDTixHQUFJTCxhQUFhLENBQUMsQ0FBQztJQUNyQixDQUFBO01BRUEsV0FBZUYifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parentFilterOptions.d.ts","sourceRoot":"","sources":["../../src/fields/parentFilterOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAErE,eAAO,MAAM,mBAAmB,EAAE,CAAC,oBAAoB,CAAC,EAAE,MAAM,KAAK,aAWlE,CAAA;AAEH,eAAe,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
default: function() {
|
|
13
|
+
return _default;
|
|
14
|
+
},
|
|
15
|
+
parentFilterOptions: function() {
|
|
16
|
+
return parentFilterOptions;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const parentFilterOptions = (breadcrumbsFieldSlug = 'breadcrumbs')=>({ id })=>{
|
|
20
|
+
if (id) {
|
|
21
|
+
return {
|
|
22
|
+
id: {
|
|
23
|
+
not_equals: id
|
|
24
|
+
},
|
|
25
|
+
[`${breadcrumbsFieldSlug}.doc`]: {
|
|
26
|
+
not_in: [
|
|
27
|
+
id
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return null;
|
|
33
|
+
};
|
|
34
|
+
const _default = parentFilterOptions;
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvcGFyZW50RmlsdGVyT3B0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpbHRlck9wdGlvbnMgfSBmcm9tICdwYXlsb2FkL2Rpc3QvZmllbGRzL2NvbmZpZy90eXBlcydcblxuZXhwb3J0IGNvbnN0IHBhcmVudEZpbHRlck9wdGlvbnM6IChicmVhZGNydW1ic0ZpZWxkU2x1Zz86IHN0cmluZykgPT4gRmlsdGVyT3B0aW9ucyA9XG4gIChicmVhZGNydW1ic0ZpZWxkU2x1ZyA9ICdicmVhZGNydW1icycpID0+XG4gICh7IGlkIH0pID0+IHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiB7IG5vdF9lcXVhbHM6IGlkIH0sXG4gICAgICAgIFtgJHticmVhZGNydW1ic0ZpZWxkU2x1Z30uZG9jYF06IHsgbm90X2luOiBbaWRdIH0sXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG5leHBvcnQgZGVmYXVsdCBwYXJlbnRGaWx0ZXJPcHRpb25zXG4iXSwibmFtZXMiOlsicGFyZW50RmlsdGVyT3B0aW9ucyIsImJyZWFkY3J1bWJzRmllbGRTbHVnIiwiaWQiLCJub3RfZXF1YWxzIiwibm90X2luIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQWVBLE9BQWtDO2VBQWxDOztJQWJhQSxtQkFBbUI7ZUFBbkJBOzs7QUFBTixNQUFNQSxzQkFDWCxDQUFDQyx1QkFBdUIsYUFBYSxHQUNyQyxDQUFDLEVBQUVDLEVBQUUsRUFBRTtRQUNMLElBQUlBLElBQUk7WUFDTixPQUFPO2dCQUNMQSxJQUFJO29CQUFFQyxZQUFZRDtnQkFBRztnQkFDckIsQ0FBQyxDQUFDLEVBQUVELHFCQUFxQixJQUFJLENBQUMsQ0FBQyxFQUFFO29CQUFFRyxRQUFRO3dCQUFDRjtxQkFBRztnQkFBQztZQUNsRDtRQUNGO1FBRUEsT0FBTztJQUNUO01BRUYsV0FBZUYifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resaveChildren.d.ts","sourceRoot":"","sources":["../../src/hooks/resaveChildren.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"resaveChildren.d.ts","sourceRoot":"","sources":["../../src/hooks/resaveChildren.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,gBAAgB,EAAkB,MAAM,eAAe,CAAA;AAEhG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAiE5C,QAAA,MAAM,cAAc,iBACH,YAAY,cAAc,gBAAgB,KAAG,yBAqB3D,CAAA;AACH,eAAe,cAAc,CAAA"}
|
|
@@ -14,43 +14,64 @@ function _interop_require_default(obj) {
|
|
|
14
14
|
default: obj
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
const resave = async ({ collection, doc, draft, pluginConfig, req })=>{
|
|
18
|
+
const parentSlug = pluginConfig?.parentFieldSlug || 'parent';
|
|
19
|
+
const parentDocIsPublished = doc._status === 'published';
|
|
20
|
+
const children = await req.payload.find({
|
|
21
|
+
collection: collection.slug,
|
|
22
|
+
depth: 0,
|
|
23
|
+
draft,
|
|
24
|
+
locale: req.locale,
|
|
25
|
+
req,
|
|
26
|
+
where: {
|
|
27
|
+
[parentSlug]: {
|
|
28
|
+
equals: doc.id
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
const breadcrumbSlug = pluginConfig.breadcrumbsFieldSlug || 'breadcrumbs';
|
|
33
|
+
try {
|
|
34
|
+
await children.docs.reduce(async (priorSave, child)=>{
|
|
35
|
+
await priorSave;
|
|
36
|
+
const childIsPublished = typeof collection.versions === 'object' && collection.versions.drafts && child._status === 'published';
|
|
37
|
+
if (!parentDocIsPublished && childIsPublished) return;
|
|
38
|
+
await req.payload.update({
|
|
39
|
+
id: child.id,
|
|
20
40
|
collection: collection.slug,
|
|
41
|
+
data: {
|
|
42
|
+
...child,
|
|
43
|
+
[breadcrumbSlug]: await (0, _populateBreadcrumbs.default)(req, pluginConfig, collection, child)
|
|
44
|
+
},
|
|
21
45
|
depth: 0,
|
|
22
|
-
|
|
23
|
-
req,
|
|
24
|
-
|
|
25
|
-
parent: {
|
|
26
|
-
equals: doc.id
|
|
27
|
-
}
|
|
28
|
-
}
|
|
46
|
+
draft: !childIsPublished,
|
|
47
|
+
locale: req.locale,
|
|
48
|
+
req
|
|
29
49
|
});
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
}, Promise.resolve());
|
|
51
|
+
} catch (err) {
|
|
52
|
+
req.payload.logger.error(`Nested Docs plugin has had an error while re-saving a child document${draft ? ' as draft' : ' as published'}.`);
|
|
53
|
+
req.payload.logger.error(err);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
const resaveChildren = (pluginConfig, collection)=>async ({ doc, req })=>{
|
|
57
|
+
await resave({
|
|
58
|
+
collection,
|
|
59
|
+
doc,
|
|
60
|
+
draft: true,
|
|
61
|
+
pluginConfig,
|
|
62
|
+
req
|
|
63
|
+
});
|
|
64
|
+
if (doc._status === 'published') {
|
|
65
|
+
await resave({
|
|
66
|
+
collection,
|
|
67
|
+
doc,
|
|
68
|
+
draft: false,
|
|
69
|
+
pluginConfig,
|
|
70
|
+
req
|
|
71
|
+
});
|
|
72
|
+
}
|
|
52
73
|
return undefined;
|
|
53
74
|
};
|
|
54
75
|
const _default = resaveChildren;
|
|
55
76
|
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy9yZXNhdmVDaGlsZHJlbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25BZnRlckNoYW5nZUhvb2ssIENvbGxlY3Rpb25Db25maWcsIFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHR5cGUgeyBQbHVnaW5Db25maWcgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHBvcHVsYXRlQnJlYWRjcnVtYnMgZnJvbSAnLi4vdXRpbGl0aWVzL3BvcHVsYXRlQnJlYWRjcnVtYnMnXG5cbnR5cGUgUmVzYXZlQXJncyA9IHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZ1xuICBkb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGRyYWZ0OiBib29sZWFuXG4gIHBsdWdpbkNvbmZpZzogUGx1Z2luQ29uZmlnXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Rcbn1cblxuY29uc3QgcmVzYXZlID0gYXN5bmMgKHsgY29sbGVjdGlvbiwgZG9jLCBkcmFmdCwgcGx1Z2luQ29uZmlnLCByZXEgfTogUmVzYXZlQXJncykgPT4ge1xuICBjb25zdCBwYXJlbnRTbHVnID0gcGx1Z2luQ29uZmlnPy5wYXJlbnRGaWVsZFNsdWcgfHwgJ3BhcmVudCdcbiAgY29uc3QgcGFyZW50RG9jSXNQdWJsaXNoZWQgPSBkb2MuX3N0YXR1cyA9PT0gJ3B1Ymxpc2hlZCdcblxuICBjb25zdCBjaGlsZHJlbiA9IGF3YWl0IHJlcS5wYXlsb2FkLmZpbmQoe1xuICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb24uc2x1ZyxcbiAgICBkZXB0aDogMCxcbiAgICBkcmFmdCxcbiAgICBsb2NhbGU6IHJlcS5sb2NhbGUsXG4gICAgcmVxLFxuICAgIHdoZXJlOiB7XG4gICAgICBbcGFyZW50U2x1Z106IHtcbiAgICAgICAgZXF1YWxzOiBkb2MuaWQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG5cbiAgY29uc3QgYnJlYWRjcnVtYlNsdWcgPSBwbHVnaW5Db25maWcuYnJlYWRjcnVtYnNGaWVsZFNsdWcgfHwgJ2JyZWFkY3J1bWJzJ1xuXG4gIHRyeSB7XG4gICAgYXdhaXQgY2hpbGRyZW4uZG9jcy5yZWR1Y2UoYXN5bmMgKHByaW9yU2F2ZSwgY2hpbGQpID0+IHtcbiAgICAgIGF3YWl0IHByaW9yU2F2ZVxuXG4gICAgICBjb25zdCBjaGlsZElzUHVibGlzaGVkID1cbiAgICAgICAgdHlwZW9mIGNvbGxlY3Rpb24udmVyc2lvbnMgPT09ICdvYmplY3QnICYmXG4gICAgICAgIGNvbGxlY3Rpb24udmVyc2lvbnMuZHJhZnRzICYmXG4gICAgICAgIGNoaWxkLl9zdGF0dXMgPT09ICdwdWJsaXNoZWQnXG5cbiAgICAgIGlmICghcGFyZW50RG9jSXNQdWJsaXNoZWQgJiYgY2hpbGRJc1B1Ymxpc2hlZCkgcmV0dXJuXG5cbiAgICAgIGF3YWl0IHJlcS5wYXlsb2FkLnVwZGF0ZSh7XG4gICAgICAgIGlkOiBjaGlsZC5pZCxcbiAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbi5zbHVnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgLi4uY2hpbGQsXG4gICAgICAgICAgW2JyZWFkY3J1bWJTbHVnXTogYXdhaXQgcG9wdWxhdGVCcmVhZGNydW1icyhyZXEsIHBsdWdpbkNvbmZpZywgY29sbGVjdGlvbiwgY2hpbGQpLFxuICAgICAgICB9LFxuICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgZHJhZnQ6ICFjaGlsZElzUHVibGlzaGVkLFxuICAgICAgICBsb2NhbGU6IHJlcS5sb2NhbGUsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG4gIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgIHJlcS5wYXlsb2FkLmxvZ2dlci5lcnJvcihcbiAgICAgIGBOZXN0ZWQgRG9jcyBwbHVnaW4gaGFzIGhhZCBhbiBlcnJvciB3aGlsZSByZS1zYXZpbmcgYSBjaGlsZCBkb2N1bWVudCR7XG4gICAgICAgIGRyYWZ0ID8gJyBhcyBkcmFmdCcgOiAnIGFzIHB1Ymxpc2hlZCdcbiAgICAgIH0uYCxcbiAgICApXG4gICAgcmVxLnBheWxvYWQubG9nZ2VyLmVycm9yKGVycilcbiAgfVxufVxuXG5jb25zdCByZXNhdmVDaGlsZHJlbiA9XG4gIChwbHVnaW5Db25maWc6IFBsdWdpbkNvbmZpZywgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZyk6IENvbGxlY3Rpb25BZnRlckNoYW5nZUhvb2sgPT5cbiAgYXN5bmMgKHsgZG9jLCByZXEgfSkgPT4ge1xuICAgIGF3YWl0IHJlc2F2ZSh7XG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgZG9jLFxuICAgICAgZHJhZnQ6IHRydWUsXG4gICAgICBwbHVnaW5Db25maWcsXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIGlmIChkb2MuX3N0YXR1cyA9PT0gJ3B1Ymxpc2hlZCcpIHtcbiAgICAgIGF3YWl0IHJlc2F2ZSh7XG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGRvYyxcbiAgICAgICAgZHJhZnQ6IGZhbHNlLFxuICAgICAgICBwbHVnaW5Db25maWcsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG5leHBvcnQgZGVmYXVsdCByZXNhdmVDaGlsZHJlblxuIl0sIm5hbWVzIjpbInJlc2F2ZSIsImNvbGxlY3Rpb24iLCJkb2MiLCJkcmFmdCIsInBsdWdpbkNvbmZpZyIsInJlcSIsInBhcmVudFNsdWciLCJwYXJlbnRGaWVsZFNsdWciLCJwYXJlbnREb2NJc1B1Ymxpc2hlZCIsIl9zdGF0dXMiLCJjaGlsZHJlbiIsInBheWxvYWQiLCJmaW5kIiwic2x1ZyIsImRlcHRoIiwibG9jYWxlIiwid2hlcmUiLCJlcXVhbHMiLCJpZCIsImJyZWFkY3J1bWJTbHVnIiwiYnJlYWRjcnVtYnNGaWVsZFNsdWciLCJkb2NzIiwicmVkdWNlIiwicHJpb3JTYXZlIiwiY2hpbGQiLCJjaGlsZElzUHVibGlzaGVkIiwidmVyc2lvbnMiLCJkcmFmdHMiLCJ1cGRhdGUiLCJkYXRhIiwicG9wdWxhdGVCcmVhZGNydW1icyIsIlByb21pc2UiLCJyZXNvbHZlIiwiZXJyIiwibG9nZ2VyIiwiZXJyb3IiLCJyZXNhdmVDaGlsZHJlbiIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkEwRkE7OztlQUFBOzs7NEVBdEZnQzs7Ozs7O0FBVWhDLE1BQU1BLFNBQVMsT0FBTyxFQUFFQyxVQUFVLEVBQUVDLEdBQUcsRUFBRUMsS0FBSyxFQUFFQyxZQUFZLEVBQUVDLEdBQUcsRUFBYztJQUM3RSxNQUFNQyxhQUFhRixjQUFjRyxtQkFBbUI7SUFDcEQsTUFBTUMsdUJBQXVCTixJQUFJTyxPQUFPLEtBQUs7SUFFN0MsTUFBTUMsV0FBVyxNQUFNTCxJQUFJTSxPQUFPLENBQUNDLElBQUksQ0FBQztRQUN0Q1gsWUFBWUEsV0FBV1ksSUFBSTtRQUMzQkMsT0FBTztRQUNQWDtRQUNBWSxRQUFRVixJQUFJVSxNQUFNO1FBQ2xCVjtRQUNBVyxPQUFPO1lBQ0wsQ0FBQ1YsV0FBVyxFQUFFO2dCQUNaVyxRQUFRZixJQUFJZ0IsRUFBRTtZQUNoQjtRQUNGO0lBQ0Y7SUFFQSxNQUFNQyxpQkFBaUJmLGFBQWFnQixvQkFBb0IsSUFBSTtJQUU1RCxJQUFJO1FBQ0YsTUFBTVYsU0FBU1csSUFBSSxDQUFDQyxNQUFNLENBQUMsT0FBT0MsV0FBV0M7WUFDM0MsTUFBTUQ7WUFFTixNQUFNRSxtQkFDSixPQUFPeEIsV0FBV3lCLFFBQVEsS0FBSyxZQUMvQnpCLFdBQVd5QixRQUFRLENBQUNDLE1BQU0sSUFDMUJILE1BQU1mLE9BQU8sS0FBSztZQUVwQixJQUFJLENBQUNELHdCQUF3QmlCLGtCQUFrQjtZQUUvQyxNQUFNcEIsSUFBSU0sT0FBTyxDQUFDaUIsTUFBTSxDQUFDO2dCQUN2QlYsSUFBSU0sTUFBTU4sRUFBRTtnQkFDWmpCLFlBQVlBLFdBQVdZLElBQUk7Z0JBQzNCZ0IsTUFBTTtvQkFDSixHQUFHTCxLQUFLO29CQUNSLENBQUNMLGVBQWUsRUFBRSxNQUFNVyxJQUFBQSw0QkFBbUIsRUFBQ3pCLEtBQUtELGNBQWNILFlBQVl1QjtnQkFDN0U7Z0JBQ0FWLE9BQU87Z0JBQ1BYLE9BQU8sQ0FBQ3NCO2dCQUNSVixRQUFRVixJQUFJVSxNQUFNO2dCQUNsQlY7WUFDRjtRQUNGLEdBQUcwQixRQUFRQyxPQUFPO0lBQ3BCLEVBQUUsT0FBT0MsS0FBYztRQUNyQjVCLElBQUlNLE9BQU8sQ0FBQ3VCLE1BQU0sQ0FBQ0MsS0FBSyxDQUN0QixDQUFDLG9FQUFvRSxFQUNuRWhDLFFBQVEsY0FBYyxnQkFDdkIsQ0FBQyxDQUFDO1FBRUxFLElBQUlNLE9BQU8sQ0FBQ3VCLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDRjtJQUMzQjtBQUNGO0FBRUEsTUFBTUcsaUJBQ0osQ0FBQ2hDLGNBQTRCSCxhQUM3QixPQUFPLEVBQUVDLEdBQUcsRUFBRUcsR0FBRyxFQUFFO1FBQ2pCLE1BQU1MLE9BQU87WUFDWEM7WUFDQUM7WUFDQUMsT0FBTztZQUNQQztZQUNBQztRQUNGO1FBRUEsSUFBSUgsSUFBSU8sT0FBTyxLQUFLLGFBQWE7WUFDL0IsTUFBTVQsT0FBTztnQkFDWEM7Z0JBQ0FDO2dCQUNBQyxPQUFPO2dCQUNQQztnQkFDQUM7WUFDRjtRQUNGO1FBRUEsT0FBT2dDO0lBQ1Q7TUFDRixXQUFlRCJ9
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CollectionAfterChangeHook, CollectionConfig } from 'payload/types';
|
|
2
|
-
|
|
2
|
+
import type { PluginConfig } from '../types';
|
|
3
|
+
declare const resaveSelfAfterCreate: (pluginConfig: PluginConfig, collection: CollectionConfig) => CollectionAfterChangeHook;
|
|
3
4
|
export default resaveSelfAfterCreate;
|
|
4
5
|
//# sourceMappingURL=resaveSelfAfterCreate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resaveSelfAfterCreate.d.ts","sourceRoot":"","sources":["../../src/hooks/resaveSelfAfterCreate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"resaveSelfAfterCreate.d.ts","sourceRoot":"","sources":["../../src/hooks/resaveSelfAfterCreate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAK5C,QAAA,MAAM,qBAAqB,iBACV,YAAY,cAAc,gBAAgB,KAAG,yBA6C3D,CAAA;AAEH,eAAe,qBAAqB,CAAA"}
|
|
@@ -10,9 +10,10 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
// This hook automatically re-saves a document after it is created
|
|
12
12
|
// so that we can build its breadcrumbs with the newly created document's ID.
|
|
13
|
-
const resaveSelfAfterCreate = (collection)=>async ({ doc, operation, req })=>{
|
|
13
|
+
const resaveSelfAfterCreate = (pluginConfig, collection)=>async ({ doc, operation, req })=>{
|
|
14
14
|
const { locale, payload } = req;
|
|
15
|
-
const
|
|
15
|
+
const breadcrumbSlug = pluginConfig.breadcrumbsFieldSlug || 'breadcrumbs';
|
|
16
|
+
const breadcrumbs = doc[breadcrumbSlug];
|
|
16
17
|
if (operation === 'create') {
|
|
17
18
|
const originalDocWithDepth0 = await payload.findByID({
|
|
18
19
|
id: doc.id,
|
|
@@ -27,7 +28,7 @@ const resaveSelfAfterCreate = (collection)=>async ({ doc, operation, req })=>{
|
|
|
27
28
|
collection: collection.slug,
|
|
28
29
|
data: {
|
|
29
30
|
...originalDocWithDepth0,
|
|
30
|
-
|
|
31
|
+
[breadcrumbSlug]: breadcrumbs?.map((crumb, i)=>({
|
|
31
32
|
...crumb,
|
|
32
33
|
doc: breadcrumbs.length === i + 1 ? doc.id : crumb.doc
|
|
33
34
|
})) || []
|
|
@@ -46,4 +47,4 @@ const resaveSelfAfterCreate = (collection)=>async ({ doc, operation, req })=>{
|
|
|
46
47
|
};
|
|
47
48
|
const _default = resaveSelfAfterCreate;
|
|
48
49
|
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy9yZXNhdmVTZWxmQWZ0ZXJDcmVhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQWZ0ZXJDaGFuZ2VIb29rLCBDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHR5cGUgeyBQbHVnaW5Db25maWcgfSBmcm9tICcuLi90eXBlcydcblxuLy8gVGhpcyBob29rIGF1dG9tYXRpY2FsbHkgcmUtc2F2ZXMgYSBkb2N1bWVudCBhZnRlciBpdCBpcyBjcmVhdGVkXG4vLyBzbyB0aGF0IHdlIGNhbiBidWlsZCBpdHMgYnJlYWRjcnVtYnMgd2l0aCB0aGUgbmV3bHkgY3JlYXRlZCBkb2N1bWVudCdzIElELlxuXG5jb25zdCByZXNhdmVTZWxmQWZ0ZXJDcmVhdGUgPVxuICAocGx1Z2luQ29uZmlnOiBQbHVnaW5Db25maWcsIGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWcpOiBDb2xsZWN0aW9uQWZ0ZXJDaGFuZ2VIb29rID0+XG4gIGFzeW5jICh7IGRvYywgb3BlcmF0aW9uLCByZXEgfSkgPT4ge1xuICAgIGNvbnN0IHsgbG9jYWxlLCBwYXlsb2FkIH0gPSByZXFcbiAgICBjb25zdCBicmVhZGNydW1iU2x1ZyA9IHBsdWdpbkNvbmZpZy5icmVhZGNydW1ic0ZpZWxkU2x1ZyB8fCAnYnJlYWRjcnVtYnMnXG4gICAgY29uc3QgYnJlYWRjcnVtYnMgPSBkb2NbYnJlYWRjcnVtYlNsdWddXG5cbiAgICBpZiAob3BlcmF0aW9uID09PSAnY3JlYXRlJykge1xuICAgICAgY29uc3Qgb3JpZ2luYWxEb2NXaXRoRGVwdGgwID0gYXdhaXQgcGF5bG9hZC5maW5kQnlJRCh7XG4gICAgICAgIGlkOiBkb2MuaWQsXG4gICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb24uc2x1ZyxcbiAgICAgICAgZGVwdGg6IDAsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IHVwZGF0ZUFzRHJhZnQgPVxuICAgICAgICB0eXBlb2YgY29sbGVjdGlvbi52ZXJzaW9ucyA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgY29sbGVjdGlvbi52ZXJzaW9ucy5kcmFmdHMgJiZcbiAgICAgICAgZG9jLl9zdGF0dXMgIT09ICdwdWJsaXNoZWQnXG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHBheWxvYWQudXBkYXRlKHtcbiAgICAgICAgICBpZDogZG9jLmlkLFxuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb24uc2x1ZyxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAuLi5vcmlnaW5hbERvY1dpdGhEZXB0aDAsXG4gICAgICAgICAgICBbYnJlYWRjcnVtYlNsdWddOlxuICAgICAgICAgICAgICBicmVhZGNydW1icz8ubWFwKChjcnVtYiwgaSkgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi5jcnVtYixcbiAgICAgICAgICAgICAgICBkb2M6IGJyZWFkY3J1bWJzLmxlbmd0aCA9PT0gaSArIDEgPyBkb2MuaWQgOiBjcnVtYi5kb2MsXG4gICAgICAgICAgICAgIH0pKSB8fCBbXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRlcHRoOiAwLFxuICAgICAgICAgIGRyYWZ0OiB1cGRhdGVBc0RyYWZ0LFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pXG4gICAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgICAgcGF5bG9hZC5sb2dnZXIuZXJyb3IoXG4gICAgICAgICAgYE5lc3RlZCBEb2NzIHBsdWdpbiBoYXMgaGFkIGFuIGVycm9yIHdoaWxlIGFkZGluZyBicmVhZGNydW1icyBkdXJpbmcgZG9jdW1lbnQgY3JlYXRpb24uYCxcbiAgICAgICAgKVxuICAgICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcihlcnIpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG5cbmV4cG9ydCBkZWZhdWx0IHJlc2F2ZVNlbGZBZnRlckNyZWF0ZVxuIl0sIm5hbWVzIjpbInJlc2F2ZVNlbGZBZnRlckNyZWF0ZSIsInBsdWdpbkNvbmZpZyIsImNvbGxlY3Rpb24iLCJkb2MiLCJvcGVyYXRpb24iLCJyZXEiLCJsb2NhbGUiLCJwYXlsb2FkIiwiYnJlYWRjcnVtYlNsdWciLCJicmVhZGNydW1ic0ZpZWxkU2x1ZyIsImJyZWFkY3J1bWJzIiwib3JpZ2luYWxEb2NXaXRoRGVwdGgwIiwiZmluZEJ5SUQiLCJpZCIsInNsdWciLCJkZXB0aCIsInVwZGF0ZUFzRHJhZnQiLCJ2ZXJzaW9ucyIsImRyYWZ0cyIsIl9zdGF0dXMiLCJ1cGRhdGUiLCJkYXRhIiwibWFwIiwiY3J1bWIiLCJpIiwibGVuZ3RoIiwiZHJhZnQiLCJlcnIiLCJsb2dnZXIiLCJlcnJvciIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkF1REE7OztlQUFBOzs7QUFuREEsa0VBQWtFO0FBQ2xFLDZFQUE2RTtBQUU3RSxNQUFNQSx3QkFDSixDQUFDQyxjQUE0QkMsYUFDN0IsT0FBTyxFQUFFQyxHQUFHLEVBQUVDLFNBQVMsRUFBRUMsR0FBRyxFQUFFO1FBQzVCLE1BQU0sRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBR0Y7UUFDNUIsTUFBTUcsaUJBQWlCUCxhQUFhUSxvQkFBb0IsSUFBSTtRQUM1RCxNQUFNQyxjQUFjUCxHQUFHLENBQUNLLGVBQWU7UUFFdkMsSUFBSUosY0FBYyxVQUFVO1lBQzFCLE1BQU1PLHdCQUF3QixNQUFNSixRQUFRSyxRQUFRLENBQUM7Z0JBQ25EQyxJQUFJVixJQUFJVSxFQUFFO2dCQUNWWCxZQUFZQSxXQUFXWSxJQUFJO2dCQUMzQkMsT0FBTztnQkFDUFY7WUFDRjtZQUVBLE1BQU1XLGdCQUNKLE9BQU9kLFdBQVdlLFFBQVEsS0FBSyxZQUMvQmYsV0FBV2UsUUFBUSxDQUFDQyxNQUFNLElBQzFCZixJQUFJZ0IsT0FBTyxLQUFLO1lBRWxCLElBQUk7Z0JBQ0YsTUFBTVosUUFBUWEsTUFBTSxDQUFDO29CQUNuQlAsSUFBSVYsSUFBSVUsRUFBRTtvQkFDVlgsWUFBWUEsV0FBV1ksSUFBSTtvQkFDM0JPLE1BQU07d0JBQ0osR0FBR1YscUJBQXFCO3dCQUN4QixDQUFDSCxlQUFlLEVBQ2RFLGFBQWFZLElBQUksQ0FBQ0MsT0FBT0MsSUFBTyxDQUFBO2dDQUM5QixHQUFHRCxLQUFLO2dDQUNScEIsS0FBS08sWUFBWWUsTUFBTSxLQUFLRCxJQUFJLElBQUlyQixJQUFJVSxFQUFFLEdBQUdVLE1BQU1wQixHQUFHOzRCQUN4RCxDQUFBLE1BQU8sRUFBRTtvQkFDYjtvQkFDQVksT0FBTztvQkFDUFcsT0FBT1Y7b0JBQ1BWO29CQUNBRDtnQkFDRjtZQUNGLEVBQUUsT0FBT3NCLEtBQWM7Z0JBQ3JCcEIsUUFBUXFCLE1BQU0sQ0FBQ0MsS0FBSyxDQUNsQixDQUFDLHNGQUFzRixDQUFDO2dCQUUxRnRCLFFBQVFxQixNQUFNLENBQUNDLEtBQUssQ0FBQ0Y7WUFDdkI7UUFDRjtRQUVBLE9BQU9HO0lBQ1Q7TUFFRixXQUFlOUIifQ==
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAG5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAS3C,QAAA,MAAM,UAAU,iBACC,YAAY,KAAG,MAuD5B,CAAA;AAEJ,eAAe,UAAU,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
const _breadcrumbs = /*#__PURE__*/ _interop_require_default(require("./fields/breadcrumbs"));
|
|
12
12
|
const _parent = /*#__PURE__*/ _interop_require_default(require("./fields/parent"));
|
|
13
|
+
const _parentFilterOptions = /*#__PURE__*/ _interop_require_default(require("./fields/parentFilterOptions"));
|
|
13
14
|
const _resaveChildren = /*#__PURE__*/ _interop_require_default(require("./hooks/resaveChildren"));
|
|
14
15
|
const _resaveSelfAfterCreate = /*#__PURE__*/ _interop_require_default(require("./hooks/resaveSelfAfterCreate"));
|
|
15
16
|
const _populateBreadcrumbs = /*#__PURE__*/ _interop_require_default(require("./utilities/populateBreadcrumbs"));
|
|
@@ -25,27 +26,37 @@ const nestedDocs = (pluginConfig)=>(config)=>({
|
|
|
25
26
|
const fields = [
|
|
26
27
|
...collection?.fields || []
|
|
27
28
|
];
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
const existingBreadcrumbField = collection.fields.find((field)=>'name' in field && field.name === (pluginConfig?.breadcrumbsFieldSlug || 'breadcrumbs'));
|
|
30
|
+
const existingParentField = collection.fields.find((field)=>'name' in field && field.name === (pluginConfig?.parentFieldSlug || 'parent'));
|
|
31
|
+
const defaultFilterOptions = (0, _parentFilterOptions.default)(pluginConfig?.breadcrumbsFieldSlug);
|
|
32
|
+
if (existingParentField) {
|
|
33
|
+
if (!existingParentField.filterOptions) {
|
|
34
|
+
existingParentField.filterOptions = defaultFilterOptions;
|
|
35
|
+
}
|
|
30
36
|
}
|
|
31
|
-
if (!pluginConfig.
|
|
37
|
+
if (!existingParentField && !pluginConfig.parentFieldSlug) {
|
|
38
|
+
const defaultParentField = (0, _parent.default)(collection.slug);
|
|
39
|
+
defaultParentField.filterOptions = defaultFilterOptions;
|
|
40
|
+
fields.push(defaultParentField);
|
|
41
|
+
}
|
|
42
|
+
if (!existingBreadcrumbField && !pluginConfig.breadcrumbsFieldSlug) {
|
|
32
43
|
fields.push((0, _breadcrumbs.default)(collection.slug));
|
|
33
44
|
}
|
|
34
45
|
return {
|
|
35
46
|
...collection,
|
|
47
|
+
fields,
|
|
36
48
|
hooks: {
|
|
37
49
|
...collection.hooks || {},
|
|
38
|
-
beforeChange: [
|
|
39
|
-
async ({ req, data, originalDoc })=>(0, _populateBreadcrumbs.default)(req, pluginConfig, collection, data, originalDoc),
|
|
40
|
-
...collection?.hooks?.beforeChange || []
|
|
41
|
-
],
|
|
42
50
|
afterChange: [
|
|
43
51
|
(0, _resaveChildren.default)(pluginConfig, collection),
|
|
44
|
-
(0, _resaveSelfAfterCreate.default)(collection),
|
|
52
|
+
(0, _resaveSelfAfterCreate.default)(pluginConfig, collection),
|
|
45
53
|
...collection?.hooks?.afterChange || []
|
|
54
|
+
],
|
|
55
|
+
beforeChange: [
|
|
56
|
+
async ({ data, originalDoc, req })=>(0, _populateBreadcrumbs.default)(req, pluginConfig, collection, data, originalDoc),
|
|
57
|
+
...collection?.hooks?.beforeChange || []
|
|
46
58
|
]
|
|
47
|
-
}
|
|
48
|
-
fields
|
|
59
|
+
}
|
|
49
60
|
};
|
|
50
61
|
}
|
|
51
62
|
return collection;
|
|
@@ -53,4 +64,4 @@ const nestedDocs = (pluginConfig)=>(config)=>({
|
|
|
53
64
|
});
|
|
54
65
|
const _default = nestedDocs;
|
|
55
66
|
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuaW1wb3J0IHR5cGUgeyBTaW5nbGVSZWxhdGlvbnNoaXBGaWVsZCB9IGZyb20gJ3BheWxvYWQvZGlzdC9maWVsZHMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbkNvbmZpZyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCBjcmVhdGVCcmVhZGNydW1ic0ZpZWxkIGZyb20gJy4vZmllbGRzL2JyZWFkY3J1bWJzJ1xuaW1wb3J0IGNyZWF0ZVBhcmVudEZpZWxkIGZyb20gJy4vZmllbGRzL3BhcmVudCdcbmltcG9ydCBwYXJlbnRGaWx0ZXJPcHRpb25zIGZyb20gJy4vZmllbGRzL3BhcmVudEZpbHRlck9wdGlvbnMnXG5pbXBvcnQgcmVzYXZlQ2hpbGRyZW4gZnJvbSAnLi9ob29rcy9yZXNhdmVDaGlsZHJlbidcbmltcG9ydCByZXNhdmVTZWxmQWZ0ZXJDcmVhdGUgZnJvbSAnLi9ob29rcy9yZXNhdmVTZWxmQWZ0ZXJDcmVhdGUnXG5pbXBvcnQgcG9wdWxhdGVCcmVhZGNydW1icyBmcm9tICcuL3V0aWxpdGllcy9wb3B1bGF0ZUJyZWFkY3J1bWJzJ1xuXG5jb25zdCBuZXN0ZWREb2NzID1cbiAgKHBsdWdpbkNvbmZpZzogUGx1Z2luQ29uZmlnKTogUGx1Z2luID0+XG4gIChjb25maWcpID0+ICh7XG4gICAgLi4uY29uZmlnLFxuICAgIGNvbGxlY3Rpb25zOiAoY29uZmlnLmNvbGxlY3Rpb25zIHx8IFtdKS5tYXAoKGNvbGxlY3Rpb24pID0+IHtcbiAgICAgIGlmIChwbHVnaW5Db25maWcuY29sbGVjdGlvbnMuaW5kZXhPZihjb2xsZWN0aW9uLnNsdWcpID4gLTEpIHtcbiAgICAgICAgY29uc3QgZmllbGRzID0gWy4uLihjb2xsZWN0aW9uPy5maWVsZHMgfHwgW10pXVxuXG4gICAgICAgIGNvbnN0IGV4aXN0aW5nQnJlYWRjcnVtYkZpZWxkID0gY29sbGVjdGlvbi5maWVsZHMuZmluZChcbiAgICAgICAgICAoZmllbGQpID0+XG4gICAgICAgICAgICAnbmFtZScgaW4gZmllbGQgJiYgZmllbGQubmFtZSA9PT0gKHBsdWdpbkNvbmZpZz8uYnJlYWRjcnVtYnNGaWVsZFNsdWcgfHwgJ2JyZWFkY3J1bWJzJyksXG4gICAgICAgIClcblxuICAgICAgICBjb25zdCBleGlzdGluZ1BhcmVudEZpZWxkID0gY29sbGVjdGlvbi5maWVsZHMuZmluZChcbiAgICAgICAgICAoZmllbGQpID0+ICduYW1lJyBpbiBmaWVsZCAmJiBmaWVsZC5uYW1lID09PSAocGx1Z2luQ29uZmlnPy5wYXJlbnRGaWVsZFNsdWcgfHwgJ3BhcmVudCcpLFxuICAgICAgICApIGFzIFNpbmdsZVJlbGF0aW9uc2hpcEZpZWxkXG5cbiAgICAgICAgY29uc3QgZGVmYXVsdEZpbHRlck9wdGlvbnMgPSBwYXJlbnRGaWx0ZXJPcHRpb25zKHBsdWdpbkNvbmZpZz8uYnJlYWRjcnVtYnNGaWVsZFNsdWcpXG5cbiAgICAgICAgaWYgKGV4aXN0aW5nUGFyZW50RmllbGQpIHtcbiAgICAgICAgICBpZiAoIWV4aXN0aW5nUGFyZW50RmllbGQuZmlsdGVyT3B0aW9ucykge1xuICAgICAgICAgICAgZXhpc3RpbmdQYXJlbnRGaWVsZC5maWx0ZXJPcHRpb25zID0gZGVmYXVsdEZpbHRlck9wdGlvbnNcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWV4aXN0aW5nUGFyZW50RmllbGQgJiYgIXBsdWdpbkNvbmZpZy5wYXJlbnRGaWVsZFNsdWcpIHtcbiAgICAgICAgICBjb25zdCBkZWZhdWx0UGFyZW50RmllbGQgPSBjcmVhdGVQYXJlbnRGaWVsZChjb2xsZWN0aW9uLnNsdWcpXG4gICAgICAgICAgZGVmYXVsdFBhcmVudEZpZWxkLmZpbHRlck9wdGlvbnMgPSBkZWZhdWx0RmlsdGVyT3B0aW9uc1xuICAgICAgICAgIGZpZWxkcy5wdXNoKGRlZmF1bHRQYXJlbnRGaWVsZClcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZXhpc3RpbmdCcmVhZGNydW1iRmllbGQgJiYgIXBsdWdpbkNvbmZpZy5icmVhZGNydW1ic0ZpZWxkU2x1Zykge1xuICAgICAgICAgIGZpZWxkcy5wdXNoKGNyZWF0ZUJyZWFkY3J1bWJzRmllbGQoY29sbGVjdGlvbi5zbHVnKSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uY29sbGVjdGlvbixcbiAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgaG9va3M6IHtcbiAgICAgICAgICAgIC4uLihjb2xsZWN0aW9uLmhvb2tzIHx8IHt9KSxcbiAgICAgICAgICAgIGFmdGVyQ2hhbmdlOiBbXG4gICAgICAgICAgICAgIHJlc2F2ZUNoaWxkcmVuKHBsdWdpbkNvbmZpZywgY29sbGVjdGlvbiksXG4gICAgICAgICAgICAgIHJlc2F2ZVNlbGZBZnRlckNyZWF0ZShwbHVnaW5Db25maWcsIGNvbGxlY3Rpb24pLFxuICAgICAgICAgICAgICAuLi4oY29sbGVjdGlvbj8uaG9va3M/LmFmdGVyQ2hhbmdlIHx8IFtdKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBiZWZvcmVDaGFuZ2U6IFtcbiAgICAgICAgICAgICAgYXN5bmMgKHsgZGF0YSwgb3JpZ2luYWxEb2MsIHJlcSB9KSA9PlxuICAgICAgICAgICAgICAgIHBvcHVsYXRlQnJlYWRjcnVtYnMocmVxLCBwbHVnaW5Db25maWcsIGNvbGxlY3Rpb24sIGRhdGEsIG9yaWdpbmFsRG9jKSxcbiAgICAgICAgICAgICAgLi4uKGNvbGxlY3Rpb24/Lmhvb2tzPy5iZWZvcmVDaGFuZ2UgfHwgW10pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb2xsZWN0aW9uXG4gICAgfSksXG4gIH0pXG5cbmV4cG9ydCBkZWZhdWx0IG5lc3RlZERvY3NcbiJdLCJuYW1lcyI6WyJuZXN0ZWREb2NzIiwicGx1Z2luQ29uZmlnIiwiY29uZmlnIiwiY29sbGVjdGlvbnMiLCJtYXAiLCJjb2xsZWN0aW9uIiwiaW5kZXhPZiIsInNsdWciLCJmaWVsZHMiLCJleGlzdGluZ0JyZWFkY3J1bWJGaWVsZCIsImZpbmQiLCJmaWVsZCIsIm5hbWUiLCJicmVhZGNydW1ic0ZpZWxkU2x1ZyIsImV4aXN0aW5nUGFyZW50RmllbGQiLCJwYXJlbnRGaWVsZFNsdWciLCJkZWZhdWx0RmlsdGVyT3B0aW9ucyIsInBhcmVudEZpbHRlck9wdGlvbnMiLCJmaWx0ZXJPcHRpb25zIiwiZGVmYXVsdFBhcmVudEZpZWxkIiwiY3JlYXRlUGFyZW50RmllbGQiLCJwdXNoIiwiY3JlYXRlQnJlYWRjcnVtYnNGaWVsZCIsImhvb2tzIiwiYWZ0ZXJDaGFuZ2UiLCJyZXNhdmVDaGlsZHJlbiIsInJlc2F2ZVNlbGZBZnRlckNyZWF0ZSIsImJlZm9yZUNoYW5nZSIsImRhdGEiLCJvcmlnaW5hbERvYyIsInJlcSIsInBvcHVsYXRlQnJlYWRjcnVtYnMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBc0VBOzs7ZUFBQTs7O29FQWpFbUM7K0RBQ0w7NEVBQ0U7dUVBQ0w7OEVBQ087NEVBQ0Y7Ozs7OztBQUVoQyxNQUFNQSxhQUNKLENBQUNDLGVBQ0QsQ0FBQ0MsU0FBWSxDQUFBO1lBQ1gsR0FBR0EsTUFBTTtZQUNUQyxhQUFhLEFBQUNELENBQUFBLE9BQU9DLFdBQVcsSUFBSSxFQUFFLEFBQUQsRUFBR0MsR0FBRyxDQUFDLENBQUNDO2dCQUMzQyxJQUFJSixhQUFhRSxXQUFXLENBQUNHLE9BQU8sQ0FBQ0QsV0FBV0UsSUFBSSxJQUFJLENBQUMsR0FBRztvQkFDMUQsTUFBTUMsU0FBUzsyQkFBS0gsWUFBWUcsVUFBVSxFQUFFO3FCQUFFO29CQUU5QyxNQUFNQywwQkFBMEJKLFdBQVdHLE1BQU0sQ0FBQ0UsSUFBSSxDQUNwRCxDQUFDQyxRQUNDLFVBQVVBLFNBQVNBLE1BQU1DLElBQUksS0FBTVgsQ0FBQUEsY0FBY1ksd0JBQXdCLGFBQVk7b0JBR3pGLE1BQU1DLHNCQUFzQlQsV0FBV0csTUFBTSxDQUFDRSxJQUFJLENBQ2hELENBQUNDLFFBQVUsVUFBVUEsU0FBU0EsTUFBTUMsSUFBSSxLQUFNWCxDQUFBQSxjQUFjYyxtQkFBbUIsUUFBTztvQkFHeEYsTUFBTUMsdUJBQXVCQyxJQUFBQSw0QkFBbUIsRUFBQ2hCLGNBQWNZO29CQUUvRCxJQUFJQyxxQkFBcUI7d0JBQ3ZCLElBQUksQ0FBQ0Esb0JBQW9CSSxhQUFhLEVBQUU7NEJBQ3RDSixvQkFBb0JJLGFBQWEsR0FBR0Y7d0JBQ3RDO29CQUNGO29CQUVBLElBQUksQ0FBQ0YsdUJBQXVCLENBQUNiLGFBQWFjLGVBQWUsRUFBRTt3QkFDekQsTUFBTUkscUJBQXFCQyxJQUFBQSxlQUFpQixFQUFDZixXQUFXRSxJQUFJO3dCQUM1RFksbUJBQW1CRCxhQUFhLEdBQUdGO3dCQUNuQ1IsT0FBT2EsSUFBSSxDQUFDRjtvQkFDZDtvQkFFQSxJQUFJLENBQUNWLDJCQUEyQixDQUFDUixhQUFhWSxvQkFBb0IsRUFBRTt3QkFDbEVMLE9BQU9hLElBQUksQ0FBQ0MsSUFBQUEsb0JBQXNCLEVBQUNqQixXQUFXRSxJQUFJO29CQUNwRDtvQkFFQSxPQUFPO3dCQUNMLEdBQUdGLFVBQVU7d0JBQ2JHO3dCQUNBZSxPQUFPOzRCQUNMLEdBQUlsQixXQUFXa0IsS0FBSyxJQUFJLENBQUMsQ0FBQzs0QkFDMUJDLGFBQWE7Z0NBQ1hDLElBQUFBLHVCQUFjLEVBQUN4QixjQUFjSTtnQ0FDN0JxQixJQUFBQSw4QkFBcUIsRUFBQ3pCLGNBQWNJO21DQUNoQ0EsWUFBWWtCLE9BQU9DLGVBQWUsRUFBRTs2QkFDekM7NEJBQ0RHLGNBQWM7Z0NBQ1osT0FBTyxFQUFFQyxJQUFJLEVBQUVDLFdBQVcsRUFBRUMsR0FBRyxFQUFFLEdBQy9CQyxJQUFBQSw0QkFBbUIsRUFBQ0QsS0FBSzdCLGNBQWNJLFlBQVl1QixNQUFNQzttQ0FDdkR4QixZQUFZa0IsT0FBT0ksZ0JBQWdCLEVBQUU7NkJBQzFDO3dCQUNIO29CQUNGO2dCQUNGO2dCQUVBLE9BQU90QjtZQUNUO1FBQ0YsQ0FBQTtNQUVGLFdBQWVMIn0=
|
package/dist/types.d.ts
CHANGED
|
@@ -6,10 +6,19 @@ export interface Breadcrumb {
|
|
|
6
6
|
export type GenerateURL = (docs: Array<Record<string, unknown>>, currentDoc: Record<string, unknown>) => string;
|
|
7
7
|
export type GenerateLabel = (docs: Array<Record<string, unknown>>, currentDoc: Record<string, unknown>) => string;
|
|
8
8
|
export interface PluginConfig {
|
|
9
|
+
/**
|
|
10
|
+
* Should be supplied if using an alternative field name for the 'breadcrumbs' field in collections
|
|
11
|
+
*/
|
|
9
12
|
breadcrumbsFieldSlug?: string;
|
|
13
|
+
/**
|
|
14
|
+
* The slugs of the collections this plugin should extend. If you need different configs for different collections, this plugin can be added to your config more than once having different collections.
|
|
15
|
+
*/
|
|
10
16
|
collections: string[];
|
|
11
17
|
generateLabel?: GenerateLabel;
|
|
12
18
|
generateURL?: GenerateURL;
|
|
19
|
+
/**
|
|
20
|
+
* Should be supplied if using an alternative field name for the 'parent' field in collections
|
|
21
|
+
*/
|
|
13
22
|
parentFieldSlug?: string;
|
|
14
23
|
}
|
|
15
24
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,MAAM,WAAW,GAAG,CACxB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAChC,MAAM,CAAA;AAEX,MAAM,MAAM,aAAa,GAAG,CAC1B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAChC,MAAM,CAAA;AAEX,MAAM,WAAW,YAAY;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,MAAM,WAAW,GAAG,CACxB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAChC,MAAM,CAAA;AAEX,MAAM,MAAM,aAAa,GAAG,CAC1B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAChC,MAAM,CAAA;AAEX,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;OAEG;IACH,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getParents.d.ts","sourceRoot":"","sources":["../../src/utilities/getParents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE5C,QAAA,MAAM,UAAU,QACT,GAAG,gBACM,YAAY,cACd,gBAAgB,OACvB,OAAO,MAAM,EAAE,OAAO,CAAC,SACtB,MAAM,OAAO,MAAM,EAAE,OAAO,CAAC,CAAC,KACnC,QAAQ,MAAM,OAAO,MAAM,EAAE,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"getParents.d.ts","sourceRoot":"","sources":["../../src/utilities/getParents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE5C,QAAA,MAAM,UAAU,QACT,GAAG,gBACM,YAAY,cACd,gBAAgB,OACvB,OAAO,MAAM,EAAE,OAAO,CAAC,SACtB,MAAM,OAAO,MAAM,EAAE,OAAO,CAAC,CAAC,KACnC,QAAQ,MAAM,OAAO,MAAM,EAAE,OAAO,CAAC,CAAC,CAmCxC,CAAA;AAED,eAAe,UAAU,CAAA"}
|
|
@@ -9,17 +9,18 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const getParents = async (req, pluginConfig, collection, doc, docs = [])=>{
|
|
12
|
-
const
|
|
12
|
+
const parentSlug = pluginConfig?.parentFieldSlug || 'parent';
|
|
13
|
+
const parent = doc[parentSlug];
|
|
13
14
|
let retrievedParent;
|
|
14
15
|
if (parent) {
|
|
15
16
|
// If not auto-populated, and we have an ID
|
|
16
17
|
if (typeof parent === 'string' || typeof parent === 'number') {
|
|
17
18
|
retrievedParent = await req.payload.findByID({
|
|
18
|
-
req,
|
|
19
19
|
id: parent,
|
|
20
20
|
collection: collection.slug,
|
|
21
21
|
depth: 0,
|
|
22
|
-
disableErrors: true
|
|
22
|
+
disableErrors: true,
|
|
23
|
+
req
|
|
23
24
|
});
|
|
24
25
|
}
|
|
25
26
|
// If auto-populated
|
|
@@ -27,7 +28,7 @@ const getParents = async (req, pluginConfig, collection, doc, docs = [])=>{
|
|
|
27
28
|
retrievedParent = parent;
|
|
28
29
|
}
|
|
29
30
|
if (retrievedParent) {
|
|
30
|
-
if (retrievedParent
|
|
31
|
+
if (retrievedParent[parentSlug]) {
|
|
31
32
|
return getParents(req, pluginConfig, collection, retrievedParent, [
|
|
32
33
|
retrievedParent,
|
|
33
34
|
...docs
|
|
@@ -43,4 +44,4 @@ const getParents = async (req, pluginConfig, collection, doc, docs = [])=>{
|
|
|
43
44
|
};
|
|
44
45
|
const _default = getParents;
|
|
45
46
|
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0UGFyZW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25Db25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbkNvbmZpZyB9IGZyb20gJy4uL3R5cGVzJ1xuXG5jb25zdCBnZXRQYXJlbnRzID0gYXN5bmMgKFxuICByZXE6IGFueSxcbiAgcGx1Z2luQ29uZmlnOiBQbHVnaW5Db25maWcsXG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWcsXG4gIGRvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIGRvY3M6IEFycmF5PFJlY29yZDxzdHJpbmcsIHVua25vd24+PiA9IFtdLFxuKTogUHJvbWlzZTxBcnJheTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4+ID0+
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0UGFyZW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25Db25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbkNvbmZpZyB9IGZyb20gJy4uL3R5cGVzJ1xuXG5jb25zdCBnZXRQYXJlbnRzID0gYXN5bmMgKFxuICByZXE6IGFueSxcbiAgcGx1Z2luQ29uZmlnOiBQbHVnaW5Db25maWcsXG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWcsXG4gIGRvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIGRvY3M6IEFycmF5PFJlY29yZDxzdHJpbmcsIHVua25vd24+PiA9IFtdLFxuKTogUHJvbWlzZTxBcnJheTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4+ID0+IHtcbiAgY29uc3QgcGFyZW50U2x1ZyA9IHBsdWdpbkNvbmZpZz8ucGFyZW50RmllbGRTbHVnIHx8ICdwYXJlbnQnXG4gIGNvbnN0IHBhcmVudCA9IGRvY1twYXJlbnRTbHVnXVxuICBsZXQgcmV0cmlldmVkUGFyZW50XG5cbiAgaWYgKHBhcmVudCkge1xuICAgIC8vIElmIG5vdCBhdXRvLXBvcHVsYXRlZCwgYW5kIHdlIGhhdmUgYW4gSURcbiAgICBpZiAodHlwZW9mIHBhcmVudCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHBhcmVudCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHJpZXZlZFBhcmVudCA9IGF3YWl0IHJlcS5wYXlsb2FkLmZpbmRCeUlEKHtcbiAgICAgICAgaWQ6IHBhcmVudCxcbiAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbi5zbHVnLFxuICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgZGlzYWJsZUVycm9yczogdHJ1ZSxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyBJZiBhdXRvLXBvcHVsYXRlZFxuICAgIGlmICh0eXBlb2YgcGFyZW50ID09PSAnb2JqZWN0Jykge1xuICAgICAgcmV0cmlldmVkUGFyZW50ID0gcGFyZW50XG4gICAgfVxuXG4gICAgaWYgKHJldHJpZXZlZFBhcmVudCkge1xuICAgICAgaWYgKHJldHJpZXZlZFBhcmVudFtwYXJlbnRTbHVnXSkge1xuICAgICAgICByZXR1cm4gZ2V0UGFyZW50cyhyZXEsIHBsdWdpbkNvbmZpZywgY29sbGVjdGlvbiwgcmV0cmlldmVkUGFyZW50LCBbXG4gICAgICAgICAgcmV0cmlldmVkUGFyZW50LFxuICAgICAgICAgIC4uLmRvY3MsXG4gICAgICAgIF0pXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBbcmV0cmlldmVkUGFyZW50LCAuLi5kb2NzXVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkb2NzXG59XG5cbmV4cG9ydCBkZWZhdWx0IGdldFBhcmVudHNcbiJdLCJuYW1lcyI6WyJnZXRQYXJlbnRzIiwicmVxIiwicGx1Z2luQ29uZmlnIiwiY29sbGVjdGlvbiIsImRvYyIsImRvY3MiLCJwYXJlbnRTbHVnIiwicGFyZW50RmllbGRTbHVnIiwicGFyZW50IiwicmV0cmlldmVkUGFyZW50IiwicGF5bG9hZCIsImZpbmRCeUlEIiwiaWQiLCJzbHVnIiwiZGVwdGgiLCJkaXNhYmxlRXJyb3JzIl0sIm1hcHBpbmdzIjoiOzs7OytCQStDQTs7O2VBQUE7OztBQTNDQSxNQUFNQSxhQUFhLE9BQ2pCQyxLQUNBQyxjQUNBQyxZQUNBQyxLQUNBQyxPQUF1QyxFQUFFO0lBRXpDLE1BQU1DLGFBQWFKLGNBQWNLLG1CQUFtQjtJQUNwRCxNQUFNQyxTQUFTSixHQUFHLENBQUNFLFdBQVc7SUFDOUIsSUFBSUc7SUFFSixJQUFJRCxRQUFRO1FBQ1YsMkNBQTJDO1FBQzNDLElBQUksT0FBT0EsV0FBVyxZQUFZLE9BQU9BLFdBQVcsVUFBVTtZQUM1REMsa0JBQWtCLE1BQU1SLElBQUlTLE9BQU8sQ0FBQ0MsUUFBUSxDQUFDO2dCQUMzQ0MsSUFBSUo7Z0JBQ0pMLFlBQVlBLFdBQVdVLElBQUk7Z0JBQzNCQyxPQUFPO2dCQUNQQyxlQUFlO2dCQUNmZDtZQUNGO1FBQ0Y7UUFFQSxvQkFBb0I7UUFDcEIsSUFBSSxPQUFPTyxXQUFXLFVBQVU7WUFDOUJDLGtCQUFrQkQ7UUFDcEI7UUFFQSxJQUFJQyxpQkFBaUI7WUFDbkIsSUFBSUEsZUFBZSxDQUFDSCxXQUFXLEVBQUU7Z0JBQy9CLE9BQU9OLFdBQVdDLEtBQUtDLGNBQWNDLFlBQVlNLGlCQUFpQjtvQkFDaEVBO3VCQUNHSjtpQkFDSjtZQUNIO1lBRUEsT0FBTztnQkFBQ0k7bUJBQW9CSjthQUFLO1FBQ25DO0lBQ0Y7SUFFQSxPQUFPQTtBQUNUO01BRUEsV0FBZUwifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/plugin-nested-docs",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.12",
|
|
4
4
|
"description": "The official Nested Docs plugin for Payload",
|
|
5
5
|
"repository": "https://github.com/payloadcms/payload",
|
|
6
6
|
"license": "MIT",
|
|
@@ -9,8 +9,11 @@
|
|
|
9
9
|
"main": "./dist/index.js",
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
11
|
"devDependencies": {
|
|
12
|
-
"
|
|
13
|
-
"
|
|
12
|
+
"@payloadcms/eslint-config": "1.1.1",
|
|
13
|
+
"payload": "2.11.2"
|
|
14
|
+
},
|
|
15
|
+
"peerDependencies": {
|
|
16
|
+
"payload": "^0.18.5 || ^1.0.0 || ^2.0.0"
|
|
14
17
|
},
|
|
15
18
|
"exports": null,
|
|
16
19
|
"publishConfig": {
|