@payloadcms/plugin-nested-docs 1.0.12 → 3.0.0-alpha.42

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.
Files changed (35) hide show
  1. package/dist/fields/breadcrumbs.js +3 -21
  2. package/dist/fields/breadcrumbs.js.map +1 -0
  3. package/dist/fields/parent.js +3 -21
  4. package/dist/fields/parent.js.map +1 -0
  5. package/dist/fields/parentFilterOptions.d.ts +1 -1
  6. package/dist/fields/parentFilterOptions.d.ts.map +1 -1
  7. package/dist/fields/parentFilterOptions.js +3 -21
  8. package/dist/fields/parentFilterOptions.js.map +1 -0
  9. package/dist/hooks/resaveChildren.d.ts +1 -1
  10. package/dist/hooks/resaveChildren.d.ts.map +1 -1
  11. package/dist/hooks/resaveChildren.js +4 -19
  12. package/dist/hooks/resaveChildren.js.map +1 -0
  13. package/dist/hooks/resaveSelfAfterCreate.d.ts +1 -1
  14. package/dist/hooks/resaveSelfAfterCreate.d.ts.map +1 -1
  15. package/dist/hooks/resaveSelfAfterCreate.js +2 -12
  16. package/dist/hooks/resaveSelfAfterCreate.js.map +1 -0
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +14 -29
  20. package/dist/index.js.map +1 -0
  21. package/dist/types.js +2 -5
  22. package/dist/types.js.map +1 -0
  23. package/dist/utilities/formatBreadcrumb.d.ts +1 -1
  24. package/dist/utilities/formatBreadcrumb.d.ts.map +1 -1
  25. package/dist/utilities/formatBreadcrumb.js +4 -14
  26. package/dist/utilities/formatBreadcrumb.js.map +1 -0
  27. package/dist/utilities/getParents.d.ts +1 -1
  28. package/dist/utilities/getParents.d.ts.map +1 -1
  29. package/dist/utilities/getParents.js +2 -12
  30. package/dist/utilities/getParents.js.map +1 -0
  31. package/dist/utilities/populateBreadcrumbs.d.ts +1 -1
  32. package/dist/utilities/populateBreadcrumbs.d.ts.map +1 -1
  33. package/dist/utilities/populateBreadcrumbs.js +6 -21
  34. package/dist/utilities/populateBreadcrumbs.js.map +1 -0
  35. package/package.json +4 -3
@@ -1,22 +1,4 @@
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
- createBreadcrumbsField: function() {
13
- return createBreadcrumbsField;
14
- },
15
- default: function() {
16
- return _default;
17
- }
18
- });
19
- const createBreadcrumbsField = (relationTo, overrides = {})=>({
1
+ export const createBreadcrumbsField = (relationTo, overrides = {})=>({
20
2
  name: 'breadcrumbs',
21
3
  localized: true,
22
4
  type: 'array',
@@ -58,6 +40,6 @@ const createBreadcrumbsField = (relationTo, overrides = {})=>({
58
40
  ...overrides?.fields || []
59
41
  ]
60
42
  });
61
- const _default = createBreadcrumbsField;
43
+ export default createBreadcrumbsField;
62
44
 
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvYnJlYWRjcnVtYnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBcnJheUZpZWxkLCBGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVCcmVhZGNydW1ic0ZpZWxkID0gKFxuICByZWxhdGlvblRvOiBzdHJpbmcsXG4gIG92ZXJyaWRlczogUGFydGlhbDxBcnJheUZpZWxkPiA9IHt9LFxuKTogRmllbGQgPT4gKHtcbiAgbmFtZTogJ2JyZWFkY3J1bWJzJyxcbiAgbG9jYWxpemVkOiB0cnVlLFxuICB0eXBlOiAnYXJyYXknLFxuICAuLi4ob3ZlcnJpZGVzIHx8IHt9KSxcbiAgYWRtaW46IHtcbiAgICByZWFkT25seTogdHJ1ZSxcbiAgICAuLi4ob3ZlcnJpZGVzPy5hZG1pbiB8fCB7fSksXG4gIH0sXG4gIGZpZWxkczogW1xuICAgIHtcbiAgICAgIG5hbWU6ICdkb2MnLFxuICAgICAgYWRtaW46IHtcbiAgICAgICAgZGlzYWJsZWQ6IHRydWUsXG4gICAgICB9LFxuICAgICAgbWF4RGVwdGg6IDAsXG4gICAgICByZWxhdGlvblRvLFxuICAgICAgdHlwZTogJ3JlbGF0aW9uc2hpcCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICd1cmwnLFxuICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICB3aWR0aDogJzUwJScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBsYWJlbDogJ1VSTCcsXG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2xhYmVsJyxcbiAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgd2lkdGg6ICc1MCUnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHR5cGU6ICdyb3cnLFxuICAgIH0sXG4gICAgLi4uKG92ZXJyaWRlcz8uZmllbGRzIHx8IFtdKSxcbiAgXSxcbn0pXG5cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZUJyZWFkY3J1bWJzRmllbGRcbiJdLCJuYW1lcyI6WyJjcmVhdGVCcmVhZGNydW1ic0ZpZWxkIiwicmVsYXRpb25UbyIsIm92ZXJyaWRlcyIsIm5hbWUiLCJsb2NhbGl6ZWQiLCJ0eXBlIiwiYWRtaW4iLCJyZWFkT25seSIsImZpZWxkcyIsImRpc2FibGVkIiwibWF4RGVwdGgiLCJ3aWR0aCIsImxhYmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUVhQSxzQkFBc0I7ZUFBdEJBOztJQThDYixPQUFxQztlQUFyQzs7O0FBOUNPLE1BQU1BLHlCQUF5QixDQUNwQ0MsWUFDQUMsWUFBaUMsQ0FBQyxDQUFDLEdBQ3hCLENBQUE7UUFDWEMsTUFBTTtRQUNOQyxXQUFXO1FBQ1hDLE1BQU07UUFDTixHQUFJSCxhQUFhLENBQUMsQ0FBQztRQUNuQkksT0FBTztZQUNMQyxVQUFVO1lBQ1YsR0FBSUwsV0FBV0ksU0FBUyxDQUFDLENBQUM7UUFDNUI7UUFDQUUsUUFBUTtZQUNOO2dCQUNFTCxNQUFNO2dCQUNORyxPQUFPO29CQUNMRyxVQUFVO2dCQUNaO2dCQUNBQyxVQUFVO2dCQUNWVDtnQkFDQUksTUFBTTtZQUNSO1lBQ0E7Z0JBQ0VHLFFBQVE7b0JBQ047d0JBQ0VMLE1BQU07d0JBQ05HLE9BQU87NEJBQ0xLLE9BQU87d0JBQ1Q7d0JBQ0FDLE9BQU87d0JBQ1BQLE1BQU07b0JBQ1I7b0JBQ0E7d0JBQ0VGLE1BQU07d0JBQ05HLE9BQU87NEJBQ0xLLE9BQU87d0JBQ1Q7d0JBQ0FOLE1BQU07b0JBQ1I7aUJBQ0Q7Z0JBQ0RBLE1BQU07WUFDUjtlQUNJSCxXQUFXTSxVQUFVLEVBQUU7U0FDNUI7SUFDSCxDQUFBO01BRUEsV0FBZVIifQ==
45
+ //# sourceMappingURL=breadcrumbs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/fields/breadcrumbs.ts"],"sourcesContent":["import type { ArrayField, Field } from 'payload/types'\n\nexport const createBreadcrumbsField = (\n relationTo: string,\n overrides: Partial<ArrayField> = {},\n): Field => ({\n name: 'breadcrumbs',\n localized: true,\n type: 'array',\n ...(overrides || {}),\n admin: {\n readOnly: true,\n ...(overrides?.admin || {}),\n },\n fields: [\n {\n name: 'doc',\n admin: {\n disabled: true,\n },\n maxDepth: 0,\n relationTo,\n type: 'relationship',\n },\n {\n fields: [\n {\n name: 'url',\n admin: {\n width: '50%',\n },\n label: 'URL',\n type: 'text',\n },\n {\n name: 'label',\n admin: {\n width: '50%',\n },\n type: 'text',\n },\n ],\n type: 'row',\n },\n ...(overrides?.fields || []),\n ],\n})\n\nexport default createBreadcrumbsField\n"],"names":["createBreadcrumbsField","relationTo","overrides","name","localized","type","admin","readOnly","fields","disabled","maxDepth","width","label"],"mappings":"AAEA,OAAO,MAAMA,yBAAyB,CACpCC,YACAC,YAAiC,CAAC,CAAC,GACxB,CAAA;QACXC,MAAM;QACNC,WAAW;QACXC,MAAM;QACN,GAAIH,aAAa,CAAC,CAAC;QACnBI,OAAO;YACLC,UAAU;YACV,GAAIL,WAAWI,SAAS,CAAC,CAAC;QAC5B;QACAE,QAAQ;YACN;gBACEL,MAAM;gBACNG,OAAO;oBACLG,UAAU;gBACZ;gBACAC,UAAU;gBACVT;gBACAI,MAAM;YACR;YACA;gBACEG,QAAQ;oBACN;wBACEL,MAAM;wBACNG,OAAO;4BACLK,OAAO;wBACT;wBACAC,OAAO;wBACPP,MAAM;oBACR;oBACA;wBACEF,MAAM;wBACNG,OAAO;4BACLK,OAAO;wBACT;wBACAN,MAAM;oBACR;iBACD;gBACDA,MAAM;YACR;eACIH,WAAWM,UAAU,EAAE;SAC5B;IACH,CAAA,EAAE;AAEF,eAAeR,uBAAsB"}
@@ -1,22 +1,4 @@
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
- createParentField: function() {
13
- return createParentField;
14
- },
15
- default: function() {
16
- return _default;
17
- }
18
- });
19
- const createParentField = (relationTo, overrides)=>({
1
+ export const createParentField = (relationTo, overrides)=>({
20
2
  name: 'parent',
21
3
  admin: {
22
4
  position: 'sidebar',
@@ -29,6 +11,6 @@ const createParentField = (relationTo, overrides)=>({
29
11
  type: 'relationship',
30
12
  ...overrides || {}
31
13
  });
32
- const _default = createParentField;
14
+ export default createParentField;
33
15
 
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvcGFyZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2luZ2xlUmVsYXRpb25zaGlwRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUGFyZW50RmllbGQgPSAoXG4gIHJlbGF0aW9uVG86IHN0cmluZyxcbiAgb3ZlcnJpZGVzPzogUGFydGlhbDxcbiAgICBTaW5nbGVSZWxhdGlvbnNoaXBGaWVsZCAmIHtcbiAgICAgIGhhc01hbnk6IGZhbHNlXG4gICAgfVxuICA+LFxuKTogU2luZ2xlUmVsYXRpb25zaGlwRmllbGQgPT4gKHtcbiAgbmFtZTogJ3BhcmVudCcsXG4gIGFkbWluOiB7XG4gICAgcG9zaXRpb246ICdzaWRlYmFyJyxcbiAgICAuLi4ob3ZlcnJpZGVzPy5hZG1pbiB8fCB7fSksXG4gIH0sXG4gIC8vIGZpbHRlck9wdGlvbnMgYXJlIGFzc2lnbmVkIGR5bmFtaWNhbGx5IGJhc2VkIG9uIHRoZSBwbHVnaW5Db25maWdcbiAgLy8gZmlsdGVyT3B0aW9uczogcGFyZW50RmlsdGVyT3B0aW9ucygpLFxuICBtYXhEZXB0aDogMSxcbiAgcmVsYXRpb25UbyxcbiAgdHlwZTogJ3JlbGF0aW9uc2hpcCcsXG4gIC4uLihvdmVycmlkZXMgfHwge30pLFxufSlcblxuZXhwb3J0IGRlZmF1bHQgY3JlYXRlUGFyZW50RmllbGRcbiJdLCJuYW1lcyI6WyJjcmVhdGVQYXJlbnRGaWVsZCIsInJlbGF0aW9uVG8iLCJvdmVycmlkZXMiLCJuYW1lIiwiYWRtaW4iLCJwb3NpdGlvbiIsIm1heERlcHRoIiwidHlwZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFFYUEsaUJBQWlCO2VBQWpCQTs7SUFxQmIsT0FBZ0M7ZUFBaEM7OztBQXJCTyxNQUFNQSxvQkFBb0IsQ0FDL0JDLFlBQ0FDLFlBSzZCLENBQUE7UUFDN0JDLE1BQU07UUFDTkMsT0FBTztZQUNMQyxVQUFVO1lBQ1YsR0FBSUgsV0FBV0UsU0FBUyxDQUFDLENBQUM7UUFDNUI7UUFDQSxtRUFBbUU7UUFDbkUsd0NBQXdDO1FBQ3hDRSxVQUFVO1FBQ1ZMO1FBQ0FNLE1BQU07UUFDTixHQUFJTCxhQUFhLENBQUMsQ0FBQztJQUNyQixDQUFBO01BRUEsV0FBZUYifQ==
16
+ //# sourceMappingURL=parent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/fields/parent.ts"],"sourcesContent":["import type { SingleRelationshipField } from 'payload/types'\n\nexport const createParentField = (\n relationTo: string,\n overrides?: Partial<\n SingleRelationshipField & {\n hasMany: false\n }\n >,\n): SingleRelationshipField => ({\n name: 'parent',\n admin: {\n position: 'sidebar',\n ...(overrides?.admin || {}),\n },\n // filterOptions are assigned dynamically based on the pluginConfig\n // filterOptions: parentFilterOptions(),\n maxDepth: 1,\n relationTo,\n type: 'relationship',\n ...(overrides || {}),\n})\n\nexport default createParentField\n"],"names":["createParentField","relationTo","overrides","name","admin","position","maxDepth","type"],"mappings":"AAEA,OAAO,MAAMA,oBAAoB,CAC/BC,YACAC,YAK6B,CAAA;QAC7BC,MAAM;QACNC,OAAO;YACLC,UAAU;YACV,GAAIH,WAAWE,SAAS,CAAC,CAAC;QAC5B;QACA,mEAAmE;QACnE,wCAAwC;QACxCE,UAAU;QACVL;QACAM,MAAM;QACN,GAAIL,aAAa,CAAC,CAAC;IACrB,CAAA,EAAE;AAEF,eAAeF,kBAAiB"}
@@ -1,4 +1,4 @@
1
- import type { FilterOptions } from 'payload/dist/fields/config/types';
1
+ import type { FilterOptions } from 'payload/types';
2
2
  export declare const parentFilterOptions: (breadcrumbsFieldSlug?: string) => FilterOptions;
3
3
  export default parentFilterOptions;
4
4
  //# sourceMappingURL=parentFilterOptions.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"parentFilterOptions.d.ts","sourceRoot":"","sources":["../../src/fields/parentFilterOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAElD,eAAO,MAAM,mBAAmB,EAAE,CAAC,oBAAoB,CAAC,EAAE,MAAM,KAAK,aAWlE,CAAA;AAEH,eAAe,mBAAmB,CAAA"}
@@ -1,22 +1,4 @@
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 })=>{
1
+ export const parentFilterOptions = (breadcrumbsFieldSlug = 'breadcrumbs')=>({ id })=>{
20
2
  if (id) {
21
3
  return {
22
4
  id: {
@@ -31,6 +13,6 @@ const parentFilterOptions = (breadcrumbsFieldSlug = 'breadcrumbs')=>({ id })=>{
31
13
  }
32
14
  return null;
33
15
  };
34
- const _default = parentFilterOptions;
16
+ export default parentFilterOptions;
35
17
 
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvcGFyZW50RmlsdGVyT3B0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpbHRlck9wdGlvbnMgfSBmcm9tICdwYXlsb2FkL2Rpc3QvZmllbGRzL2NvbmZpZy90eXBlcydcblxuZXhwb3J0IGNvbnN0IHBhcmVudEZpbHRlck9wdGlvbnM6IChicmVhZGNydW1ic0ZpZWxkU2x1Zz86IHN0cmluZykgPT4gRmlsdGVyT3B0aW9ucyA9XG4gIChicmVhZGNydW1ic0ZpZWxkU2x1ZyA9ICdicmVhZGNydW1icycpID0+XG4gICh7IGlkIH0pID0+IHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiB7IG5vdF9lcXVhbHM6IGlkIH0sXG4gICAgICAgIFtgJHticmVhZGNydW1ic0ZpZWxkU2x1Z30uZG9jYF06IHsgbm90X2luOiBbaWRdIH0sXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG5leHBvcnQgZGVmYXVsdCBwYXJlbnRGaWx0ZXJPcHRpb25zXG4iXSwibmFtZXMiOlsicGFyZW50RmlsdGVyT3B0aW9ucyIsImJyZWFkY3J1bWJzRmllbGRTbHVnIiwiaWQiLCJub3RfZXF1YWxzIiwibm90X2luIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQWVBLE9BQWtDO2VBQWxDOztJQWJhQSxtQkFBbUI7ZUFBbkJBOzs7QUFBTixNQUFNQSxzQkFDWCxDQUFDQyx1QkFBdUIsYUFBYSxHQUNyQyxDQUFDLEVBQUVDLEVBQUUsRUFBRTtRQUNMLElBQUlBLElBQUk7WUFDTixPQUFPO2dCQUNMQSxJQUFJO29CQUFFQyxZQUFZRDtnQkFBRztnQkFDckIsQ0FBQyxDQUFDLEVBQUVELHFCQUFxQixJQUFJLENBQUMsQ0FBQyxFQUFFO29CQUFFRyxRQUFRO3dCQUFDRjtxQkFBRztnQkFBQztZQUNsRDtRQUNGO1FBRUEsT0FBTztJQUNUO01BRUYsV0FBZUYifQ==
18
+ //# sourceMappingURL=parentFilterOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/fields/parentFilterOptions.ts"],"sourcesContent":["import type { FilterOptions } from 'payload/types'\n\nexport const parentFilterOptions: (breadcrumbsFieldSlug?: string) => FilterOptions =\n (breadcrumbsFieldSlug = 'breadcrumbs') =>\n ({ id }) => {\n if (id) {\n return {\n id: { not_equals: id },\n [`${breadcrumbsFieldSlug}.doc`]: { not_in: [id] },\n }\n }\n\n return null\n }\n\nexport default parentFilterOptions\n"],"names":["parentFilterOptions","breadcrumbsFieldSlug","id","not_equals","not_in"],"mappings":"AAEA,OAAO,MAAMA,sBACX,CAACC,uBAAuB,aAAa,GACrC,CAAC,EAAEC,EAAE,EAAE;QACL,IAAIA,IAAI;YACN,OAAO;gBACLA,IAAI;oBAAEC,YAAYD;gBAAG;gBACrB,CAAC,CAAC,EAAED,qBAAqB,IAAI,CAAC,CAAC,EAAE;oBAAEG,QAAQ;wBAACF;qBAAG;gBAAC;YAClD;QACF;QAEA,OAAO;IACT,EAAC;AAEH,eAAeF,oBAAmB"}
@@ -1,5 +1,5 @@
1
1
  import type { CollectionAfterChangeHook, CollectionConfig } from 'payload/types';
2
- import type { PluginConfig } from '../types';
2
+ import type { PluginConfig } from '../types.js';
3
3
  declare const resaveChildren: (pluginConfig: PluginConfig, collection: CollectionConfig) => CollectionAfterChangeHook;
4
4
  export default resaveChildren;
5
5
  //# sourceMappingURL=resaveChildren.d.ts.map
@@ -1 +1 @@
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"}
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,aAAa,CAAA;AAiE/C,QAAA,MAAM,cAAc,iBACH,YAAY,cAAc,gBAAgB,KAAG,yBAqB3D,CAAA;AACH,eAAe,cAAc,CAAA"}
@@ -1,19 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _populateBreadcrumbs = /*#__PURE__*/ _interop_require_default(require("../utilities/populateBreadcrumbs"));
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
1
+ import populateBreadcrumbs from '../utilities/populateBreadcrumbs.js';
17
2
  const resave = async ({ collection, doc, draft, pluginConfig, req })=>{
18
3
  const parentSlug = pluginConfig?.parentFieldSlug || 'parent';
19
4
  const parentDocIsPublished = doc._status === 'published';
@@ -40,7 +25,7 @@ const resave = async ({ collection, doc, draft, pluginConfig, req })=>{
40
25
  collection: collection.slug,
41
26
  data: {
42
27
  ...child,
43
- [breadcrumbSlug]: await (0, _populateBreadcrumbs.default)(req, pluginConfig, collection, child)
28
+ [breadcrumbSlug]: await populateBreadcrumbs(req, pluginConfig, collection, child)
44
29
  },
45
30
  depth: 0,
46
31
  draft: !childIsPublished,
@@ -72,6 +57,6 @@ const resaveChildren = (pluginConfig, collection)=>async ({ doc, req })=>{
72
57
  }
73
58
  return undefined;
74
59
  };
75
- const _default = resaveChildren;
60
+ export default resaveChildren;
76
61
 
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy9yZXNhdmVDaGlsZHJlbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25BZnRlckNoYW5nZUhvb2ssIENvbGxlY3Rpb25Db25maWcsIFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHR5cGUgeyBQbHVnaW5Db25maWcgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHBvcHVsYXRlQnJlYWRjcnVtYnMgZnJvbSAnLi4vdXRpbGl0aWVzL3BvcHVsYXRlQnJlYWRjcnVtYnMnXG5cbnR5cGUgUmVzYXZlQXJncyA9IHtcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZ1xuICBkb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGRyYWZ0OiBib29sZWFuXG4gIHBsdWdpbkNvbmZpZzogUGx1Z2luQ29uZmlnXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Rcbn1cblxuY29uc3QgcmVzYXZlID0gYXN5bmMgKHsgY29sbGVjdGlvbiwgZG9jLCBkcmFmdCwgcGx1Z2luQ29uZmlnLCByZXEgfTogUmVzYXZlQXJncykgPT4ge1xuICBjb25zdCBwYXJlbnRTbHVnID0gcGx1Z2luQ29uZmlnPy5wYXJlbnRGaWVsZFNsdWcgfHwgJ3BhcmVudCdcbiAgY29uc3QgcGFyZW50RG9jSXNQdWJsaXNoZWQgPSBkb2MuX3N0YXR1cyA9PT0gJ3B1Ymxpc2hlZCdcblxuICBjb25zdCBjaGlsZHJlbiA9IGF3YWl0IHJlcS5wYXlsb2FkLmZpbmQoe1xuICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb24uc2x1ZyxcbiAgICBkZXB0aDogMCxcbiAgICBkcmFmdCxcbiAgICBsb2NhbGU6IHJlcS5sb2NhbGUsXG4gICAgcmVxLFxuICAgIHdoZXJlOiB7XG4gICAgICBbcGFyZW50U2x1Z106IHtcbiAgICAgICAgZXF1YWxzOiBkb2MuaWQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG5cbiAgY29uc3QgYnJlYWRjcnVtYlNsdWcgPSBwbHVnaW5Db25maWcuYnJlYWRjcnVtYnNGaWVsZFNsdWcgfHwgJ2JyZWFkY3J1bWJzJ1xuXG4gIHRyeSB7XG4gICAgYXdhaXQgY2hpbGRyZW4uZG9jcy5yZWR1Y2UoYXN5bmMgKHByaW9yU2F2ZSwgY2hpbGQpID0+IHtcbiAgICAgIGF3YWl0IHByaW9yU2F2ZVxuXG4gICAgICBjb25zdCBjaGlsZElzUHVibGlzaGVkID1cbiAgICAgICAgdHlwZW9mIGNvbGxlY3Rpb24udmVyc2lvbnMgPT09ICdvYmplY3QnICYmXG4gICAgICAgIGNvbGxlY3Rpb24udmVyc2lvbnMuZHJhZnRzICYmXG4gICAgICAgIGNoaWxkLl9zdGF0dXMgPT09ICdwdWJsaXNoZWQnXG5cbiAgICAgIGlmICghcGFyZW50RG9jSXNQdWJsaXNoZWQgJiYgY2hpbGRJc1B1Ymxpc2hlZCkgcmV0dXJuXG5cbiAgICAgIGF3YWl0IHJlcS5wYXlsb2FkLnVwZGF0ZSh7XG4gICAgICAgIGlkOiBjaGlsZC5pZCxcbiAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbi5zbHVnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgLi4uY2hpbGQsXG4gICAgICAgICAgW2JyZWFkY3J1bWJTbHVnXTogYXdhaXQgcG9wdWxhdGVCcmVhZGNydW1icyhyZXEsIHBsdWdpbkNvbmZpZywgY29sbGVjdGlvbiwgY2hpbGQpLFxuICAgICAgICB9LFxuICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgZHJhZnQ6ICFjaGlsZElzUHVibGlzaGVkLFxuICAgICAgICBsb2NhbGU6IHJlcS5sb2NhbGUsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG4gIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgIHJlcS5wYXlsb2FkLmxvZ2dlci5lcnJvcihcbiAgICAgIGBOZXN0ZWQgRG9jcyBwbHVnaW4gaGFzIGhhZCBhbiBlcnJvciB3aGlsZSByZS1zYXZpbmcgYSBjaGlsZCBkb2N1bWVudCR7XG4gICAgICAgIGRyYWZ0ID8gJyBhcyBkcmFmdCcgOiAnIGFzIHB1Ymxpc2hlZCdcbiAgICAgIH0uYCxcbiAgICApXG4gICAgcmVxLnBheWxvYWQubG9nZ2VyLmVycm9yKGVycilcbiAgfVxufVxuXG5jb25zdCByZXNhdmVDaGlsZHJlbiA9XG4gIChwbHVnaW5Db25maWc6IFBsdWdpbkNvbmZpZywgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZyk6IENvbGxlY3Rpb25BZnRlckNoYW5nZUhvb2sgPT5cbiAgYXN5bmMgKHsgZG9jLCByZXEgfSkgPT4ge1xuICAgIGF3YWl0IHJlc2F2ZSh7XG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgZG9jLFxuICAgICAgZHJhZnQ6IHRydWUsXG4gICAgICBwbHVnaW5Db25maWcsXG4gICAgICByZXEsXG4gICAgfSlcblxuICAgIGlmIChkb2MuX3N0YXR1cyA9PT0gJ3B1Ymxpc2hlZCcpIHtcbiAgICAgIGF3YWl0IHJlc2F2ZSh7XG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGRvYyxcbiAgICAgICAgZHJhZnQ6IGZhbHNlLFxuICAgICAgICBwbHVnaW5Db25maWcsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG5leHBvcnQgZGVmYXVsdCByZXNhdmVDaGlsZHJlblxuIl0sIm5hbWVzIjpbInJlc2F2ZSIsImNvbGxlY3Rpb24iLCJkb2MiLCJkcmFmdCIsInBsdWdpbkNvbmZpZyIsInJlcSIsInBhcmVudFNsdWciLCJwYXJlbnRGaWVsZFNsdWciLCJwYXJlbnREb2NJc1B1Ymxpc2hlZCIsIl9zdGF0dXMiLCJjaGlsZHJlbiIsInBheWxvYWQiLCJmaW5kIiwic2x1ZyIsImRlcHRoIiwibG9jYWxlIiwid2hlcmUiLCJlcXVhbHMiLCJpZCIsImJyZWFkY3J1bWJTbHVnIiwiYnJlYWRjcnVtYnNGaWVsZFNsdWciLCJkb2NzIiwicmVkdWNlIiwicHJpb3JTYXZlIiwiY2hpbGQiLCJjaGlsZElzUHVibGlzaGVkIiwidmVyc2lvbnMiLCJkcmFmdHMiLCJ1cGRhdGUiLCJkYXRhIiwicG9wdWxhdGVCcmVhZGNydW1icyIsIlByb21pc2UiLCJyZXNvbHZlIiwiZXJyIiwibG9nZ2VyIiwiZXJyb3IiLCJyZXNhdmVDaGlsZHJlbiIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkEwRkE7OztlQUFBOzs7NEVBdEZnQzs7Ozs7O0FBVWhDLE1BQU1BLFNBQVMsT0FBTyxFQUFFQyxVQUFVLEVBQUVDLEdBQUcsRUFBRUMsS0FBSyxFQUFFQyxZQUFZLEVBQUVDLEdBQUcsRUFBYztJQUM3RSxNQUFNQyxhQUFhRixjQUFjRyxtQkFBbUI7SUFDcEQsTUFBTUMsdUJBQXVCTixJQUFJTyxPQUFPLEtBQUs7SUFFN0MsTUFBTUMsV0FBVyxNQUFNTCxJQUFJTSxPQUFPLENBQUNDLElBQUksQ0FBQztRQUN0Q1gsWUFBWUEsV0FBV1ksSUFBSTtRQUMzQkMsT0FBTztRQUNQWDtRQUNBWSxRQUFRVixJQUFJVSxNQUFNO1FBQ2xCVjtRQUNBVyxPQUFPO1lBQ0wsQ0FBQ1YsV0FBVyxFQUFFO2dCQUNaVyxRQUFRZixJQUFJZ0IsRUFBRTtZQUNoQjtRQUNGO0lBQ0Y7SUFFQSxNQUFNQyxpQkFBaUJmLGFBQWFnQixvQkFBb0IsSUFBSTtJQUU1RCxJQUFJO1FBQ0YsTUFBTVYsU0FBU1csSUFBSSxDQUFDQyxNQUFNLENBQUMsT0FBT0MsV0FBV0M7WUFDM0MsTUFBTUQ7WUFFTixNQUFNRSxtQkFDSixPQUFPeEIsV0FBV3lCLFFBQVEsS0FBSyxZQUMvQnpCLFdBQVd5QixRQUFRLENBQUNDLE1BQU0sSUFDMUJILE1BQU1mLE9BQU8sS0FBSztZQUVwQixJQUFJLENBQUNELHdCQUF3QmlCLGtCQUFrQjtZQUUvQyxNQUFNcEIsSUFBSU0sT0FBTyxDQUFDaUIsTUFBTSxDQUFDO2dCQUN2QlYsSUFBSU0sTUFBTU4sRUFBRTtnQkFDWmpCLFlBQVlBLFdBQVdZLElBQUk7Z0JBQzNCZ0IsTUFBTTtvQkFDSixHQUFHTCxLQUFLO29CQUNSLENBQUNMLGVBQWUsRUFBRSxNQUFNVyxJQUFBQSw0QkFBbUIsRUFBQ3pCLEtBQUtELGNBQWNILFlBQVl1QjtnQkFDN0U7Z0JBQ0FWLE9BQU87Z0JBQ1BYLE9BQU8sQ0FBQ3NCO2dCQUNSVixRQUFRVixJQUFJVSxNQUFNO2dCQUNsQlY7WUFDRjtRQUNGLEdBQUcwQixRQUFRQyxPQUFPO0lBQ3BCLEVBQUUsT0FBT0MsS0FBYztRQUNyQjVCLElBQUlNLE9BQU8sQ0FBQ3VCLE1BQU0sQ0FBQ0MsS0FBSyxDQUN0QixDQUFDLG9FQUFvRSxFQUNuRWhDLFFBQVEsY0FBYyxnQkFDdkIsQ0FBQyxDQUFDO1FBRUxFLElBQUlNLE9BQU8sQ0FBQ3VCLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDRjtJQUMzQjtBQUNGO0FBRUEsTUFBTUcsaUJBQ0osQ0FBQ2hDLGNBQTRCSCxhQUM3QixPQUFPLEVBQUVDLEdBQUcsRUFBRUcsR0FBRyxFQUFFO1FBQ2pCLE1BQU1MLE9BQU87WUFDWEM7WUFDQUM7WUFDQUMsT0FBTztZQUNQQztZQUNBQztRQUNGO1FBRUEsSUFBSUgsSUFBSU8sT0FBTyxLQUFLLGFBQWE7WUFDL0IsTUFBTVQsT0FBTztnQkFDWEM7Z0JBQ0FDO2dCQUNBQyxPQUFPO2dCQUNQQztnQkFDQUM7WUFDRjtRQUNGO1FBRUEsT0FBT2dDO0lBQ1Q7TUFDRixXQUFlRCJ9
62
+ //# sourceMappingURL=resaveChildren.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/resaveChildren.ts"],"sourcesContent":["import type { CollectionAfterChangeHook, CollectionConfig, PayloadRequest } from 'payload/types'\n\nimport type { PluginConfig } from '../types.js'\n\nimport populateBreadcrumbs from '../utilities/populateBreadcrumbs.js'\n\ntype ResaveArgs = {\n collection: CollectionConfig\n doc: Record<string, unknown>\n draft: boolean\n pluginConfig: PluginConfig\n req: PayloadRequest\n}\n\nconst resave = async ({ collection, doc, draft, pluginConfig, req }: ResaveArgs) => {\n const parentSlug = pluginConfig?.parentFieldSlug || 'parent'\n const parentDocIsPublished = doc._status === 'published'\n\n const children = await req.payload.find({\n collection: collection.slug,\n depth: 0,\n draft,\n locale: req.locale,\n req,\n where: {\n [parentSlug]: {\n equals: doc.id,\n },\n },\n })\n\n const breadcrumbSlug = pluginConfig.breadcrumbsFieldSlug || 'breadcrumbs'\n\n try {\n await children.docs.reduce(async (priorSave, child) => {\n await priorSave\n\n const childIsPublished =\n typeof collection.versions === 'object' &&\n collection.versions.drafts &&\n child._status === 'published'\n\n if (!parentDocIsPublished && childIsPublished) return\n\n await req.payload.update({\n id: child.id,\n collection: collection.slug,\n data: {\n ...child,\n [breadcrumbSlug]: await populateBreadcrumbs(req, pluginConfig, collection, child),\n },\n depth: 0,\n draft: !childIsPublished,\n locale: req.locale,\n req,\n })\n }, Promise.resolve())\n } catch (err: unknown) {\n req.payload.logger.error(\n `Nested Docs plugin has had an error while re-saving a child document${\n draft ? ' as draft' : ' as published'\n }.`,\n )\n req.payload.logger.error(err)\n }\n}\n\nconst resaveChildren =\n (pluginConfig: PluginConfig, collection: CollectionConfig): CollectionAfterChangeHook =>\n async ({ doc, req }) => {\n await resave({\n collection,\n doc,\n draft: true,\n pluginConfig,\n req,\n })\n\n if (doc._status === 'published') {\n await resave({\n collection,\n doc,\n draft: false,\n pluginConfig,\n req,\n })\n }\n\n return undefined\n }\nexport default resaveChildren\n"],"names":["populateBreadcrumbs","resave","collection","doc","draft","pluginConfig","req","parentSlug","parentFieldSlug","parentDocIsPublished","_status","children","payload","find","slug","depth","locale","where","equals","id","breadcrumbSlug","breadcrumbsFieldSlug","docs","reduce","priorSave","child","childIsPublished","versions","drafts","update","data","Promise","resolve","err","logger","error","resaveChildren","undefined"],"mappings":"AAIA,OAAOA,yBAAyB,sCAAqC;AAUrE,MAAMC,SAAS,OAAO,EAAEC,UAAU,EAAEC,GAAG,EAAEC,KAAK,EAAEC,YAAY,EAAEC,GAAG,EAAc;IAC7E,MAAMC,aAAaF,cAAcG,mBAAmB;IACpD,MAAMC,uBAAuBN,IAAIO,OAAO,KAAK;IAE7C,MAAMC,WAAW,MAAML,IAAIM,OAAO,CAACC,IAAI,CAAC;QACtCX,YAAYA,WAAWY,IAAI;QAC3BC,OAAO;QACPX;QACAY,QAAQV,IAAIU,MAAM;QAClBV;QACAW,OAAO;YACL,CAACV,WAAW,EAAE;gBACZW,QAAQf,IAAIgB,EAAE;YAChB;QACF;IACF;IAEA,MAAMC,iBAAiBf,aAAagB,oBAAoB,IAAI;IAE5D,IAAI;QACF,MAAMV,SAASW,IAAI,CAACC,MAAM,CAAC,OAAOC,WAAWC;YAC3C,MAAMD;YAEN,MAAME,mBACJ,OAAOxB,WAAWyB,QAAQ,KAAK,YAC/BzB,WAAWyB,QAAQ,CAACC,MAAM,IAC1BH,MAAMf,OAAO,KAAK;YAEpB,IAAI,CAACD,wBAAwBiB,kBAAkB;YAE/C,MAAMpB,IAAIM,OAAO,CAACiB,MAAM,CAAC;gBACvBV,IAAIM,MAAMN,EAAE;gBACZjB,YAAYA,WAAWY,IAAI;gBAC3BgB,MAAM;oBACJ,GAAGL,KAAK;oBACR,CAACL,eAAe,EAAE,MAAMpB,oBAAoBM,KAAKD,cAAcH,YAAYuB;gBAC7E;gBACAV,OAAO;gBACPX,OAAO,CAACsB;gBACRV,QAAQV,IAAIU,MAAM;gBAClBV;YACF;QACF,GAAGyB,QAAQC,OAAO;IACpB,EAAE,OAAOC,KAAc;QACrB3B,IAAIM,OAAO,CAACsB,MAAM,CAACC,KAAK,CACtB,CAAC,oEAAoE,EACnE/B,QAAQ,cAAc,gBACvB,CAAC,CAAC;QAELE,IAAIM,OAAO,CAACsB,MAAM,CAACC,KAAK,CAACF;IAC3B;AACF;AAEA,MAAMG,iBACJ,CAAC/B,cAA4BH,aAC7B,OAAO,EAAEC,GAAG,EAAEG,GAAG,EAAE;QACjB,MAAML,OAAO;YACXC;YACAC;YACAC,OAAO;YACPC;YACAC;QACF;QAEA,IAAIH,IAAIO,OAAO,KAAK,aAAa;YAC/B,MAAMT,OAAO;gBACXC;gBACAC;gBACAC,OAAO;gBACPC;gBACAC;YACF;QACF;QAEA,OAAO+B;IACT;AACF,eAAeD,eAAc"}
@@ -1,5 +1,5 @@
1
1
  import type { CollectionAfterChangeHook, CollectionConfig } from 'payload/types';
2
- import type { PluginConfig } from '../types';
2
+ import type { PluginConfig } from '../types.js';
3
3
  declare const resaveSelfAfterCreate: (pluginConfig: PluginConfig, collection: CollectionConfig) => CollectionAfterChangeHook;
4
4
  export default resaveSelfAfterCreate;
5
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;AAEhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAK5C,QAAA,MAAM,qBAAqB,iBACV,YAAY,cAAc,gBAAgB,KAAG,yBA6C3D,CAAA;AAEH,eAAe,qBAAqB,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,aAAa,CAAA;AAK/C,QAAA,MAAM,qBAAqB,iBACV,YAAY,cAAc,gBAAgB,KAAG,yBA6C3D,CAAA;AAEH,eAAe,qBAAqB,CAAA"}
@@ -1,13 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
1
  // This hook automatically re-saves a document after it is created
12
2
  // so that we can build its breadcrumbs with the newly created document's ID.
13
3
  const resaveSelfAfterCreate = (pluginConfig, collection)=>async ({ doc, operation, req })=>{
@@ -45,6 +35,6 @@ const resaveSelfAfterCreate = (pluginConfig, collection)=>async ({ doc, operatio
45
35
  }
46
36
  return undefined;
47
37
  };
48
- const _default = resaveSelfAfterCreate;
38
+ export default resaveSelfAfterCreate;
49
39
 
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy9yZXNhdmVTZWxmQWZ0ZXJDcmVhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQWZ0ZXJDaGFuZ2VIb29rLCBDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHR5cGUgeyBQbHVnaW5Db25maWcgfSBmcm9tICcuLi90eXBlcydcblxuLy8gVGhpcyBob29rIGF1dG9tYXRpY2FsbHkgcmUtc2F2ZXMgYSBkb2N1bWVudCBhZnRlciBpdCBpcyBjcmVhdGVkXG4vLyBzbyB0aGF0IHdlIGNhbiBidWlsZCBpdHMgYnJlYWRjcnVtYnMgd2l0aCB0aGUgbmV3bHkgY3JlYXRlZCBkb2N1bWVudCdzIElELlxuXG5jb25zdCByZXNhdmVTZWxmQWZ0ZXJDcmVhdGUgPVxuICAocGx1Z2luQ29uZmlnOiBQbHVnaW5Db25maWcsIGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWcpOiBDb2xsZWN0aW9uQWZ0ZXJDaGFuZ2VIb29rID0+XG4gIGFzeW5jICh7IGRvYywgb3BlcmF0aW9uLCByZXEgfSkgPT4ge1xuICAgIGNvbnN0IHsgbG9jYWxlLCBwYXlsb2FkIH0gPSByZXFcbiAgICBjb25zdCBicmVhZGNydW1iU2x1ZyA9IHBsdWdpbkNvbmZpZy5icmVhZGNydW1ic0ZpZWxkU2x1ZyB8fCAnYnJlYWRjcnVtYnMnXG4gICAgY29uc3QgYnJlYWRjcnVtYnMgPSBkb2NbYnJlYWRjcnVtYlNsdWddXG5cbiAgICBpZiAob3BlcmF0aW9uID09PSAnY3JlYXRlJykge1xuICAgICAgY29uc3Qgb3JpZ2luYWxEb2NXaXRoRGVwdGgwID0gYXdhaXQgcGF5bG9hZC5maW5kQnlJRCh7XG4gICAgICAgIGlkOiBkb2MuaWQsXG4gICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb24uc2x1ZyxcbiAgICAgICAgZGVwdGg6IDAsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IHVwZGF0ZUFzRHJhZnQgPVxuICAgICAgICB0eXBlb2YgY29sbGVjdGlvbi52ZXJzaW9ucyA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgY29sbGVjdGlvbi52ZXJzaW9ucy5kcmFmdHMgJiZcbiAgICAgICAgZG9jLl9zdGF0dXMgIT09ICdwdWJsaXNoZWQnXG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHBheWxvYWQudXBkYXRlKHtcbiAgICAgICAgICBpZDogZG9jLmlkLFxuICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb24uc2x1ZyxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAuLi5vcmlnaW5hbERvY1dpdGhEZXB0aDAsXG4gICAgICAgICAgICBbYnJlYWRjcnVtYlNsdWddOlxuICAgICAgICAgICAgICBicmVhZGNydW1icz8ubWFwKChjcnVtYiwgaSkgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi5jcnVtYixcbiAgICAgICAgICAgICAgICBkb2M6IGJyZWFkY3J1bWJzLmxlbmd0aCA9PT0gaSArIDEgPyBkb2MuaWQgOiBjcnVtYi5kb2MsXG4gICAgICAgICAgICAgIH0pKSB8fCBbXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGRlcHRoOiAwLFxuICAgICAgICAgIGRyYWZ0OiB1cGRhdGVBc0RyYWZ0LFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pXG4gICAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgICAgcGF5bG9hZC5sb2dnZXIuZXJyb3IoXG4gICAgICAgICAgYE5lc3RlZCBEb2NzIHBsdWdpbiBoYXMgaGFkIGFuIGVycm9yIHdoaWxlIGFkZGluZyBicmVhZGNydW1icyBkdXJpbmcgZG9jdW1lbnQgY3JlYXRpb24uYCxcbiAgICAgICAgKVxuICAgICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcihlcnIpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG5cbmV4cG9ydCBkZWZhdWx0IHJlc2F2ZVNlbGZBZnRlckNyZWF0ZVxuIl0sIm5hbWVzIjpbInJlc2F2ZVNlbGZBZnRlckNyZWF0ZSIsInBsdWdpbkNvbmZpZyIsImNvbGxlY3Rpb24iLCJkb2MiLCJvcGVyYXRpb24iLCJyZXEiLCJsb2NhbGUiLCJwYXlsb2FkIiwiYnJlYWRjcnVtYlNsdWciLCJicmVhZGNydW1ic0ZpZWxkU2x1ZyIsImJyZWFkY3J1bWJzIiwib3JpZ2luYWxEb2NXaXRoRGVwdGgwIiwiZmluZEJ5SUQiLCJpZCIsInNsdWciLCJkZXB0aCIsInVwZGF0ZUFzRHJhZnQiLCJ2ZXJzaW9ucyIsImRyYWZ0cyIsIl9zdGF0dXMiLCJ1cGRhdGUiLCJkYXRhIiwibWFwIiwiY3J1bWIiLCJpIiwibGVuZ3RoIiwiZHJhZnQiLCJlcnIiLCJsb2dnZXIiLCJlcnJvciIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkF1REE7OztlQUFBOzs7QUFuREEsa0VBQWtFO0FBQ2xFLDZFQUE2RTtBQUU3RSxNQUFNQSx3QkFDSixDQUFDQyxjQUE0QkMsYUFDN0IsT0FBTyxFQUFFQyxHQUFHLEVBQUVDLFNBQVMsRUFBRUMsR0FBRyxFQUFFO1FBQzVCLE1BQU0sRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBR0Y7UUFDNUIsTUFBTUcsaUJBQWlCUCxhQUFhUSxvQkFBb0IsSUFBSTtRQUM1RCxNQUFNQyxjQUFjUCxHQUFHLENBQUNLLGVBQWU7UUFFdkMsSUFBSUosY0FBYyxVQUFVO1lBQzFCLE1BQU1PLHdCQUF3QixNQUFNSixRQUFRSyxRQUFRLENBQUM7Z0JBQ25EQyxJQUFJVixJQUFJVSxFQUFFO2dCQUNWWCxZQUFZQSxXQUFXWSxJQUFJO2dCQUMzQkMsT0FBTztnQkFDUFY7WUFDRjtZQUVBLE1BQU1XLGdCQUNKLE9BQU9kLFdBQVdlLFFBQVEsS0FBSyxZQUMvQmYsV0FBV2UsUUFBUSxDQUFDQyxNQUFNLElBQzFCZixJQUFJZ0IsT0FBTyxLQUFLO1lBRWxCLElBQUk7Z0JBQ0YsTUFBTVosUUFBUWEsTUFBTSxDQUFDO29CQUNuQlAsSUFBSVYsSUFBSVUsRUFBRTtvQkFDVlgsWUFBWUEsV0FBV1ksSUFBSTtvQkFDM0JPLE1BQU07d0JBQ0osR0FBR1YscUJBQXFCO3dCQUN4QixDQUFDSCxlQUFlLEVBQ2RFLGFBQWFZLElBQUksQ0FBQ0MsT0FBT0MsSUFBTyxDQUFBO2dDQUM5QixHQUFHRCxLQUFLO2dDQUNScEIsS0FBS08sWUFBWWUsTUFBTSxLQUFLRCxJQUFJLElBQUlyQixJQUFJVSxFQUFFLEdBQUdVLE1BQU1wQixHQUFHOzRCQUN4RCxDQUFBLE1BQU8sRUFBRTtvQkFDYjtvQkFDQVksT0FBTztvQkFDUFcsT0FBT1Y7b0JBQ1BWO29CQUNBRDtnQkFDRjtZQUNGLEVBQUUsT0FBT3NCLEtBQWM7Z0JBQ3JCcEIsUUFBUXFCLE1BQU0sQ0FBQ0MsS0FBSyxDQUNsQixDQUFDLHNGQUFzRixDQUFDO2dCQUUxRnRCLFFBQVFxQixNQUFNLENBQUNDLEtBQUssQ0FBQ0Y7WUFDdkI7UUFDRjtRQUVBLE9BQU9HO0lBQ1Q7TUFFRixXQUFlOUIifQ==
40
+ //# sourceMappingURL=resaveSelfAfterCreate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/resaveSelfAfterCreate.ts"],"sourcesContent":["import type { CollectionAfterChangeHook, CollectionConfig } from 'payload/types'\n\nimport type { PluginConfig } from '../types.js'\n\n// This hook automatically re-saves a document after it is created\n// so that we can build its breadcrumbs with the newly created document's ID.\n\nconst resaveSelfAfterCreate =\n (pluginConfig: PluginConfig, collection: CollectionConfig): CollectionAfterChangeHook =>\n async ({ doc, operation, req }) => {\n const { locale, payload } = req\n const breadcrumbSlug = pluginConfig.breadcrumbsFieldSlug || 'breadcrumbs'\n const breadcrumbs = doc[breadcrumbSlug]\n\n if (operation === 'create') {\n const originalDocWithDepth0 = await payload.findByID({\n id: doc.id,\n collection: collection.slug,\n depth: 0,\n req,\n })\n\n const updateAsDraft =\n typeof collection.versions === 'object' &&\n collection.versions.drafts &&\n doc._status !== 'published'\n\n try {\n await payload.update({\n id: doc.id,\n collection: collection.slug,\n data: {\n ...originalDocWithDepth0,\n [breadcrumbSlug]:\n breadcrumbs?.map((crumb, i) => ({\n ...crumb,\n doc: breadcrumbs.length === i + 1 ? doc.id : crumb.doc,\n })) || [],\n },\n depth: 0,\n draft: updateAsDraft,\n locale,\n req,\n })\n } catch (err: unknown) {\n payload.logger.error(\n `Nested Docs plugin has had an error while adding breadcrumbs during document creation.`,\n )\n payload.logger.error(err)\n }\n }\n\n return undefined\n }\n\nexport default resaveSelfAfterCreate\n"],"names":["resaveSelfAfterCreate","pluginConfig","collection","doc","operation","req","locale","payload","breadcrumbSlug","breadcrumbsFieldSlug","breadcrumbs","originalDocWithDepth0","findByID","id","slug","depth","updateAsDraft","versions","drafts","_status","update","data","map","crumb","i","length","draft","err","logger","error","undefined"],"mappings":"AAIA,kEAAkE;AAClE,6EAA6E;AAE7E,MAAMA,wBACJ,CAACC,cAA4BC,aAC7B,OAAO,EAAEC,GAAG,EAAEC,SAAS,EAAEC,GAAG,EAAE;QAC5B,MAAM,EAAEC,MAAM,EAAEC,OAAO,EAAE,GAAGF;QAC5B,MAAMG,iBAAiBP,aAAaQ,oBAAoB,IAAI;QAC5D,MAAMC,cAAcP,GAAG,CAACK,eAAe;QAEvC,IAAIJ,cAAc,UAAU;YAC1B,MAAMO,wBAAwB,MAAMJ,QAAQK,QAAQ,CAAC;gBACnDC,IAAIV,IAAIU,EAAE;gBACVX,YAAYA,WAAWY,IAAI;gBAC3BC,OAAO;gBACPV;YACF;YAEA,MAAMW,gBACJ,OAAOd,WAAWe,QAAQ,KAAK,YAC/Bf,WAAWe,QAAQ,CAACC,MAAM,IAC1Bf,IAAIgB,OAAO,KAAK;YAElB,IAAI;gBACF,MAAMZ,QAAQa,MAAM,CAAC;oBACnBP,IAAIV,IAAIU,EAAE;oBACVX,YAAYA,WAAWY,IAAI;oBAC3BO,MAAM;wBACJ,GAAGV,qBAAqB;wBACxB,CAACH,eAAe,EACdE,aAAaY,IAAI,CAACC,OAAOC,IAAO,CAAA;gCAC9B,GAAGD,KAAK;gCACRpB,KAAKO,YAAYe,MAAM,KAAKD,IAAI,IAAIrB,IAAIU,EAAE,GAAGU,MAAMpB,GAAG;4BACxD,CAAA,MAAO,EAAE;oBACb;oBACAY,OAAO;oBACPW,OAAOV;oBACPV;oBACAD;gBACF;YACF,EAAE,OAAOsB,KAAc;gBACrBpB,QAAQqB,MAAM,CAACC,KAAK,CAClB,CAAC,sFAAsF,CAAC;gBAE1FtB,QAAQqB,MAAM,CAACC,KAAK,CAACF;YACvB;QACF;QAEA,OAAOG;IACT;AAEF,eAAe9B,sBAAqB"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Plugin } from 'payload/config';
2
- import type { PluginConfig } from './types';
2
+ import type { PluginConfig } from './types.js';
3
3
  declare const nestedDocs: (pluginConfig: PluginConfig) => Plugin;
4
4
  export default nestedDocs;
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -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;AAG5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAS3C,QAAA,MAAM,UAAU,iBACC,YAAY,KAAG,MAuD5B,CAAA;AAEJ,eAAe,UAAU,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,YAAY,CAAA;AAS9C,QAAA,MAAM,UAAU,iBACC,YAAY,KAAG,MAuD5B,CAAA;AAEJ,eAAe,UAAU,CAAA"}
package/dist/index.js CHANGED
@@ -1,24 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _breadcrumbs = /*#__PURE__*/ _interop_require_default(require("./fields/breadcrumbs"));
12
- const _parent = /*#__PURE__*/ _interop_require_default(require("./fields/parent"));
13
- const _parentFilterOptions = /*#__PURE__*/ _interop_require_default(require("./fields/parentFilterOptions"));
14
- const _resaveChildren = /*#__PURE__*/ _interop_require_default(require("./hooks/resaveChildren"));
15
- const _resaveSelfAfterCreate = /*#__PURE__*/ _interop_require_default(require("./hooks/resaveSelfAfterCreate"));
16
- const _populateBreadcrumbs = /*#__PURE__*/ _interop_require_default(require("./utilities/populateBreadcrumbs"));
17
- function _interop_require_default(obj) {
18
- return obj && obj.__esModule ? obj : {
19
- default: obj
20
- };
21
- }
1
+ import createBreadcrumbsField from './fields/breadcrumbs.js';
2
+ import createParentField from './fields/parent.js';
3
+ import parentFilterOptions from './fields/parentFilterOptions.js';
4
+ import resaveChildren from './hooks/resaveChildren.js';
5
+ import resaveSelfAfterCreate from './hooks/resaveSelfAfterCreate.js';
6
+ import populateBreadcrumbs from './utilities/populateBreadcrumbs.js';
22
7
  const nestedDocs = (pluginConfig)=>(config)=>({
23
8
  ...config,
24
9
  collections: (config.collections || []).map((collection)=>{
@@ -28,19 +13,19 @@ const nestedDocs = (pluginConfig)=>(config)=>({
28
13
  ];
29
14
  const existingBreadcrumbField = collection.fields.find((field)=>'name' in field && field.name === (pluginConfig?.breadcrumbsFieldSlug || 'breadcrumbs'));
30
15
  const existingParentField = collection.fields.find((field)=>'name' in field && field.name === (pluginConfig?.parentFieldSlug || 'parent'));
31
- const defaultFilterOptions = (0, _parentFilterOptions.default)(pluginConfig?.breadcrumbsFieldSlug);
16
+ const defaultFilterOptions = parentFilterOptions(pluginConfig?.breadcrumbsFieldSlug);
32
17
  if (existingParentField) {
33
18
  if (!existingParentField.filterOptions) {
34
19
  existingParentField.filterOptions = defaultFilterOptions;
35
20
  }
36
21
  }
37
22
  if (!existingParentField && !pluginConfig.parentFieldSlug) {
38
- const defaultParentField = (0, _parent.default)(collection.slug);
23
+ const defaultParentField = createParentField(collection.slug);
39
24
  defaultParentField.filterOptions = defaultFilterOptions;
40
25
  fields.push(defaultParentField);
41
26
  }
42
27
  if (!existingBreadcrumbField && !pluginConfig.breadcrumbsFieldSlug) {
43
- fields.push((0, _breadcrumbs.default)(collection.slug));
28
+ fields.push(createBreadcrumbsField(collection.slug));
44
29
  }
45
30
  return {
46
31
  ...collection,
@@ -48,12 +33,12 @@ const nestedDocs = (pluginConfig)=>(config)=>({
48
33
  hooks: {
49
34
  ...collection.hooks || {},
50
35
  afterChange: [
51
- (0, _resaveChildren.default)(pluginConfig, collection),
52
- (0, _resaveSelfAfterCreate.default)(pluginConfig, collection),
36
+ resaveChildren(pluginConfig, collection),
37
+ resaveSelfAfterCreate(pluginConfig, collection),
53
38
  ...collection?.hooks?.afterChange || []
54
39
  ],
55
40
  beforeChange: [
56
- async ({ data, originalDoc, req })=>(0, _populateBreadcrumbs.default)(req, pluginConfig, collection, data, originalDoc),
41
+ async ({ data, originalDoc, req })=>populateBreadcrumbs(req, pluginConfig, collection, data, originalDoc),
57
42
  ...collection?.hooks?.beforeChange || []
58
43
  ]
59
44
  }
@@ -62,6 +47,6 @@ const nestedDocs = (pluginConfig)=>(config)=>({
62
47
  return collection;
63
48
  })
64
49
  });
65
- const _default = nestedDocs;
50
+ export default nestedDocs;
66
51
 
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuaW1wb3J0IHR5cGUgeyBTaW5nbGVSZWxhdGlvbnNoaXBGaWVsZCB9IGZyb20gJ3BheWxvYWQvZGlzdC9maWVsZHMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbkNvbmZpZyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCBjcmVhdGVCcmVhZGNydW1ic0ZpZWxkIGZyb20gJy4vZmllbGRzL2JyZWFkY3J1bWJzJ1xuaW1wb3J0IGNyZWF0ZVBhcmVudEZpZWxkIGZyb20gJy4vZmllbGRzL3BhcmVudCdcbmltcG9ydCBwYXJlbnRGaWx0ZXJPcHRpb25zIGZyb20gJy4vZmllbGRzL3BhcmVudEZpbHRlck9wdGlvbnMnXG5pbXBvcnQgcmVzYXZlQ2hpbGRyZW4gZnJvbSAnLi9ob29rcy9yZXNhdmVDaGlsZHJlbidcbmltcG9ydCByZXNhdmVTZWxmQWZ0ZXJDcmVhdGUgZnJvbSAnLi9ob29rcy9yZXNhdmVTZWxmQWZ0ZXJDcmVhdGUnXG5pbXBvcnQgcG9wdWxhdGVCcmVhZGNydW1icyBmcm9tICcuL3V0aWxpdGllcy9wb3B1bGF0ZUJyZWFkY3J1bWJzJ1xuXG5jb25zdCBuZXN0ZWREb2NzID1cbiAgKHBsdWdpbkNvbmZpZzogUGx1Z2luQ29uZmlnKTogUGx1Z2luID0+XG4gIChjb25maWcpID0+ICh7XG4gICAgLi4uY29uZmlnLFxuICAgIGNvbGxlY3Rpb25zOiAoY29uZmlnLmNvbGxlY3Rpb25zIHx8IFtdKS5tYXAoKGNvbGxlY3Rpb24pID0+IHtcbiAgICAgIGlmIChwbHVnaW5Db25maWcuY29sbGVjdGlvbnMuaW5kZXhPZihjb2xsZWN0aW9uLnNsdWcpID4gLTEpIHtcbiAgICAgICAgY29uc3QgZmllbGRzID0gWy4uLihjb2xsZWN0aW9uPy5maWVsZHMgfHwgW10pXVxuXG4gICAgICAgIGNvbnN0IGV4aXN0aW5nQnJlYWRjcnVtYkZpZWxkID0gY29sbGVjdGlvbi5maWVsZHMuZmluZChcbiAgICAgICAgICAoZmllbGQpID0+XG4gICAgICAgICAgICAnbmFtZScgaW4gZmllbGQgJiYgZmllbGQubmFtZSA9PT0gKHBsdWdpbkNvbmZpZz8uYnJlYWRjcnVtYnNGaWVsZFNsdWcgfHwgJ2JyZWFkY3J1bWJzJyksXG4gICAgICAgIClcblxuICAgICAgICBjb25zdCBleGlzdGluZ1BhcmVudEZpZWxkID0gY29sbGVjdGlvbi5maWVsZHMuZmluZChcbiAgICAgICAgICAoZmllbGQpID0+ICduYW1lJyBpbiBmaWVsZCAmJiBmaWVsZC5uYW1lID09PSAocGx1Z2luQ29uZmlnPy5wYXJlbnRGaWVsZFNsdWcgfHwgJ3BhcmVudCcpLFxuICAgICAgICApIGFzIFNpbmdsZVJlbGF0aW9uc2hpcEZpZWxkXG5cbiAgICAgICAgY29uc3QgZGVmYXVsdEZpbHRlck9wdGlvbnMgPSBwYXJlbnRGaWx0ZXJPcHRpb25zKHBsdWdpbkNvbmZpZz8uYnJlYWRjcnVtYnNGaWVsZFNsdWcpXG5cbiAgICAgICAgaWYgKGV4aXN0aW5nUGFyZW50RmllbGQpIHtcbiAgICAgICAgICBpZiAoIWV4aXN0aW5nUGFyZW50RmllbGQuZmlsdGVyT3B0aW9ucykge1xuICAgICAgICAgICAgZXhpc3RpbmdQYXJlbnRGaWVsZC5maWx0ZXJPcHRpb25zID0gZGVmYXVsdEZpbHRlck9wdGlvbnNcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWV4aXN0aW5nUGFyZW50RmllbGQgJiYgIXBsdWdpbkNvbmZpZy5wYXJlbnRGaWVsZFNsdWcpIHtcbiAgICAgICAgICBjb25zdCBkZWZhdWx0UGFyZW50RmllbGQgPSBjcmVhdGVQYXJlbnRGaWVsZChjb2xsZWN0aW9uLnNsdWcpXG4gICAgICAgICAgZGVmYXVsdFBhcmVudEZpZWxkLmZpbHRlck9wdGlvbnMgPSBkZWZhdWx0RmlsdGVyT3B0aW9uc1xuICAgICAgICAgIGZpZWxkcy5wdXNoKGRlZmF1bHRQYXJlbnRGaWVsZClcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZXhpc3RpbmdCcmVhZGNydW1iRmllbGQgJiYgIXBsdWdpbkNvbmZpZy5icmVhZGNydW1ic0ZpZWxkU2x1Zykge1xuICAgICAgICAgIGZpZWxkcy5wdXNoKGNyZWF0ZUJyZWFkY3J1bWJzRmllbGQoY29sbGVjdGlvbi5zbHVnKSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uY29sbGVjdGlvbixcbiAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgaG9va3M6IHtcbiAgICAgICAgICAgIC4uLihjb2xsZWN0aW9uLmhvb2tzIHx8IHt9KSxcbiAgICAgICAgICAgIGFmdGVyQ2hhbmdlOiBbXG4gICAgICAgICAgICAgIHJlc2F2ZUNoaWxkcmVuKHBsdWdpbkNvbmZpZywgY29sbGVjdGlvbiksXG4gICAgICAgICAgICAgIHJlc2F2ZVNlbGZBZnRlckNyZWF0ZShwbHVnaW5Db25maWcsIGNvbGxlY3Rpb24pLFxuICAgICAgICAgICAgICAuLi4oY29sbGVjdGlvbj8uaG9va3M/LmFmdGVyQ2hhbmdlIHx8IFtdKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBiZWZvcmVDaGFuZ2U6IFtcbiAgICAgICAgICAgICAgYXN5bmMgKHsgZGF0YSwgb3JpZ2luYWxEb2MsIHJlcSB9KSA9PlxuICAgICAgICAgICAgICAgIHBvcHVsYXRlQnJlYWRjcnVtYnMocmVxLCBwbHVnaW5Db25maWcsIGNvbGxlY3Rpb24sIGRhdGEsIG9yaWdpbmFsRG9jKSxcbiAgICAgICAgICAgICAgLi4uKGNvbGxlY3Rpb24/Lmhvb2tzPy5iZWZvcmVDaGFuZ2UgfHwgW10pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb2xsZWN0aW9uXG4gICAgfSksXG4gIH0pXG5cbmV4cG9ydCBkZWZhdWx0IG5lc3RlZERvY3NcbiJdLCJuYW1lcyI6WyJuZXN0ZWREb2NzIiwicGx1Z2luQ29uZmlnIiwiY29uZmlnIiwiY29sbGVjdGlvbnMiLCJtYXAiLCJjb2xsZWN0aW9uIiwiaW5kZXhPZiIsInNsdWciLCJmaWVsZHMiLCJleGlzdGluZ0JyZWFkY3J1bWJGaWVsZCIsImZpbmQiLCJmaWVsZCIsIm5hbWUiLCJicmVhZGNydW1ic0ZpZWxkU2x1ZyIsImV4aXN0aW5nUGFyZW50RmllbGQiLCJwYXJlbnRGaWVsZFNsdWciLCJkZWZhdWx0RmlsdGVyT3B0aW9ucyIsInBhcmVudEZpbHRlck9wdGlvbnMiLCJmaWx0ZXJPcHRpb25zIiwiZGVmYXVsdFBhcmVudEZpZWxkIiwiY3JlYXRlUGFyZW50RmllbGQiLCJwdXNoIiwiY3JlYXRlQnJlYWRjcnVtYnNGaWVsZCIsImhvb2tzIiwiYWZ0ZXJDaGFuZ2UiLCJyZXNhdmVDaGlsZHJlbiIsInJlc2F2ZVNlbGZBZnRlckNyZWF0ZSIsImJlZm9yZUNoYW5nZSIsImRhdGEiLCJvcmlnaW5hbERvYyIsInJlcSIsInBvcHVsYXRlQnJlYWRjcnVtYnMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBc0VBOzs7ZUFBQTs7O29FQWpFbUM7K0RBQ0w7NEVBQ0U7dUVBQ0w7OEVBQ087NEVBQ0Y7Ozs7OztBQUVoQyxNQUFNQSxhQUNKLENBQUNDLGVBQ0QsQ0FBQ0MsU0FBWSxDQUFBO1lBQ1gsR0FBR0EsTUFBTTtZQUNUQyxhQUFhLEFBQUNELENBQUFBLE9BQU9DLFdBQVcsSUFBSSxFQUFFLEFBQUQsRUFBR0MsR0FBRyxDQUFDLENBQUNDO2dCQUMzQyxJQUFJSixhQUFhRSxXQUFXLENBQUNHLE9BQU8sQ0FBQ0QsV0FBV0UsSUFBSSxJQUFJLENBQUMsR0FBRztvQkFDMUQsTUFBTUMsU0FBUzsyQkFBS0gsWUFBWUcsVUFBVSxFQUFFO3FCQUFFO29CQUU5QyxNQUFNQywwQkFBMEJKLFdBQVdHLE1BQU0sQ0FBQ0UsSUFBSSxDQUNwRCxDQUFDQyxRQUNDLFVBQVVBLFNBQVNBLE1BQU1DLElBQUksS0FBTVgsQ0FBQUEsY0FBY1ksd0JBQXdCLGFBQVk7b0JBR3pGLE1BQU1DLHNCQUFzQlQsV0FBV0csTUFBTSxDQUFDRSxJQUFJLENBQ2hELENBQUNDLFFBQVUsVUFBVUEsU0FBU0EsTUFBTUMsSUFBSSxLQUFNWCxDQUFBQSxjQUFjYyxtQkFBbUIsUUFBTztvQkFHeEYsTUFBTUMsdUJBQXVCQyxJQUFBQSw0QkFBbUIsRUFBQ2hCLGNBQWNZO29CQUUvRCxJQUFJQyxxQkFBcUI7d0JBQ3ZCLElBQUksQ0FBQ0Esb0JBQW9CSSxhQUFhLEVBQUU7NEJBQ3RDSixvQkFBb0JJLGFBQWEsR0FBR0Y7d0JBQ3RDO29CQUNGO29CQUVBLElBQUksQ0FBQ0YsdUJBQXVCLENBQUNiLGFBQWFjLGVBQWUsRUFBRTt3QkFDekQsTUFBTUkscUJBQXFCQyxJQUFBQSxlQUFpQixFQUFDZixXQUFXRSxJQUFJO3dCQUM1RFksbUJBQW1CRCxhQUFhLEdBQUdGO3dCQUNuQ1IsT0FBT2EsSUFBSSxDQUFDRjtvQkFDZDtvQkFFQSxJQUFJLENBQUNWLDJCQUEyQixDQUFDUixhQUFhWSxvQkFBb0IsRUFBRTt3QkFDbEVMLE9BQU9hLElBQUksQ0FBQ0MsSUFBQUEsb0JBQXNCLEVBQUNqQixXQUFXRSxJQUFJO29CQUNwRDtvQkFFQSxPQUFPO3dCQUNMLEdBQUdGLFVBQVU7d0JBQ2JHO3dCQUNBZSxPQUFPOzRCQUNMLEdBQUlsQixXQUFXa0IsS0FBSyxJQUFJLENBQUMsQ0FBQzs0QkFDMUJDLGFBQWE7Z0NBQ1hDLElBQUFBLHVCQUFjLEVBQUN4QixjQUFjSTtnQ0FDN0JxQixJQUFBQSw4QkFBcUIsRUFBQ3pCLGNBQWNJO21DQUNoQ0EsWUFBWWtCLE9BQU9DLGVBQWUsRUFBRTs2QkFDekM7NEJBQ0RHLGNBQWM7Z0NBQ1osT0FBTyxFQUFFQyxJQUFJLEVBQUVDLFdBQVcsRUFBRUMsR0FBRyxFQUFFLEdBQy9CQyxJQUFBQSw0QkFBbUIsRUFBQ0QsS0FBSzdCLGNBQWNJLFlBQVl1QixNQUFNQzttQ0FDdkR4QixZQUFZa0IsT0FBT0ksZ0JBQWdCLEVBQUU7NkJBQzFDO3dCQUNIO29CQUNGO2dCQUNGO2dCQUVBLE9BQU90QjtZQUNUO1FBQ0YsQ0FBQTtNQUVGLFdBQWVMIn0=
52
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { Plugin } from 'payload/config'\nimport type { SingleRelationshipField } from 'payload/types'\n\nimport type { PluginConfig } from './types.js'\n\nimport createBreadcrumbsField from './fields/breadcrumbs.js'\nimport createParentField from './fields/parent.js'\nimport parentFilterOptions from './fields/parentFilterOptions.js'\nimport resaveChildren from './hooks/resaveChildren.js'\nimport resaveSelfAfterCreate from './hooks/resaveSelfAfterCreate.js'\nimport populateBreadcrumbs from './utilities/populateBreadcrumbs.js'\n\nconst nestedDocs =\n (pluginConfig: PluginConfig): Plugin =>\n (config) => ({\n ...config,\n collections: (config.collections || []).map((collection) => {\n if (pluginConfig.collections.indexOf(collection.slug) > -1) {\n const fields = [...(collection?.fields || [])]\n\n const existingBreadcrumbField = collection.fields.find(\n (field) =>\n 'name' in field && field.name === (pluginConfig?.breadcrumbsFieldSlug || 'breadcrumbs'),\n )\n\n const existingParentField = collection.fields.find(\n (field) => 'name' in field && field.name === (pluginConfig?.parentFieldSlug || 'parent'),\n ) as SingleRelationshipField\n\n const defaultFilterOptions = parentFilterOptions(pluginConfig?.breadcrumbsFieldSlug)\n\n if (existingParentField) {\n if (!existingParentField.filterOptions) {\n existingParentField.filterOptions = defaultFilterOptions\n }\n }\n\n if (!existingParentField && !pluginConfig.parentFieldSlug) {\n const defaultParentField = createParentField(collection.slug)\n defaultParentField.filterOptions = defaultFilterOptions\n fields.push(defaultParentField)\n }\n\n if (!existingBreadcrumbField && !pluginConfig.breadcrumbsFieldSlug) {\n fields.push(createBreadcrumbsField(collection.slug))\n }\n\n return {\n ...collection,\n fields,\n hooks: {\n ...(collection.hooks || {}),\n afterChange: [\n resaveChildren(pluginConfig, collection),\n resaveSelfAfterCreate(pluginConfig, collection),\n ...(collection?.hooks?.afterChange || []),\n ],\n beforeChange: [\n async ({ data, originalDoc, req }) =>\n populateBreadcrumbs(req, pluginConfig, collection, data, originalDoc),\n ...(collection?.hooks?.beforeChange || []),\n ],\n },\n }\n }\n\n return collection\n }),\n })\n\nexport default nestedDocs\n"],"names":["createBreadcrumbsField","createParentField","parentFilterOptions","resaveChildren","resaveSelfAfterCreate","populateBreadcrumbs","nestedDocs","pluginConfig","config","collections","map","collection","indexOf","slug","fields","existingBreadcrumbField","find","field","name","breadcrumbsFieldSlug","existingParentField","parentFieldSlug","defaultFilterOptions","filterOptions","defaultParentField","push","hooks","afterChange","beforeChange","data","originalDoc","req"],"mappings":"AAKA,OAAOA,4BAA4B,0BAAyB;AAC5D,OAAOC,uBAAuB,qBAAoB;AAClD,OAAOC,yBAAyB,kCAAiC;AACjE,OAAOC,oBAAoB,4BAA2B;AACtD,OAAOC,2BAA2B,mCAAkC;AACpE,OAAOC,yBAAyB,qCAAoC;AAEpE,MAAMC,aACJ,CAACC,eACD,CAACC,SAAY,CAAA;YACX,GAAGA,MAAM;YACTC,aAAa,AAACD,CAAAA,OAAOC,WAAW,IAAI,EAAE,AAAD,EAAGC,GAAG,CAAC,CAACC;gBAC3C,IAAIJ,aAAaE,WAAW,CAACG,OAAO,CAACD,WAAWE,IAAI,IAAI,CAAC,GAAG;oBAC1D,MAAMC,SAAS;2BAAKH,YAAYG,UAAU,EAAE;qBAAE;oBAE9C,MAAMC,0BAA0BJ,WAAWG,MAAM,CAACE,IAAI,CACpD,CAACC,QACC,UAAUA,SAASA,MAAMC,IAAI,KAAMX,CAAAA,cAAcY,wBAAwB,aAAY;oBAGzF,MAAMC,sBAAsBT,WAAWG,MAAM,CAACE,IAAI,CAChD,CAACC,QAAU,UAAUA,SAASA,MAAMC,IAAI,KAAMX,CAAAA,cAAcc,mBAAmB,QAAO;oBAGxF,MAAMC,uBAAuBpB,oBAAoBK,cAAcY;oBAE/D,IAAIC,qBAAqB;wBACvB,IAAI,CAACA,oBAAoBG,aAAa,EAAE;4BACtCH,oBAAoBG,aAAa,GAAGD;wBACtC;oBACF;oBAEA,IAAI,CAACF,uBAAuB,CAACb,aAAac,eAAe,EAAE;wBACzD,MAAMG,qBAAqBvB,kBAAkBU,WAAWE,IAAI;wBAC5DW,mBAAmBD,aAAa,GAAGD;wBACnCR,OAAOW,IAAI,CAACD;oBACd;oBAEA,IAAI,CAACT,2BAA2B,CAACR,aAAaY,oBAAoB,EAAE;wBAClEL,OAAOW,IAAI,CAACzB,uBAAuBW,WAAWE,IAAI;oBACpD;oBAEA,OAAO;wBACL,GAAGF,UAAU;wBACbG;wBACAY,OAAO;4BACL,GAAIf,WAAWe,KAAK,IAAI,CAAC,CAAC;4BAC1BC,aAAa;gCACXxB,eAAeI,cAAcI;gCAC7BP,sBAAsBG,cAAcI;mCAChCA,YAAYe,OAAOC,eAAe,EAAE;6BACzC;4BACDC,cAAc;gCACZ,OAAO,EAAEC,IAAI,EAAEC,WAAW,EAAEC,GAAG,EAAE,GAC/B1B,oBAAoB0B,KAAKxB,cAAcI,YAAYkB,MAAMC;mCACvDnB,YAAYe,OAAOE,gBAAgB,EAAE;6BAC1C;wBACH;oBACF;gBACF;gBAEA,OAAOjB;YACT;QACF,CAAA;AAEF,eAAeL,WAAU"}
package/dist/types.js CHANGED
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
1
+ export { };
5
2
 
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types.ts"],"sourcesContent":["export interface Breadcrumb {\n doc: string\n label: string\n url?: string\n}\n\nexport type GenerateURL = (\n docs: Array<Record<string, unknown>>,\n currentDoc: Record<string, unknown>,\n) => string\n\nexport type GenerateLabel = (\n docs: Array<Record<string, unknown>>,\n currentDoc: Record<string, unknown>,\n) => string\n\nexport interface PluginConfig {\n /**\n * Should be supplied if using an alternative field name for the 'breadcrumbs' field in collections\n */\n breadcrumbsFieldSlug?: string\n /**\n * 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.\n */\n collections: string[]\n generateLabel?: GenerateLabel\n generateURL?: GenerateURL\n /**\n * Should be supplied if using an alternative field name for the 'parent' field in collections\n */\n parentFieldSlug?: string\n}\n"],"names":[],"mappings":"AAgBA,WAeC"}
@@ -1,5 +1,5 @@
1
1
  import type { CollectionConfig } from 'payload/types';
2
- import type { Breadcrumb, PluginConfig } from '../types';
2
+ import type { Breadcrumb, PluginConfig } from '../types.js';
3
3
  declare const formatBreadcrumb: (pluginConfig: PluginConfig, collection: CollectionConfig, docs: Array<Record<string, unknown>>) => Breadcrumb;
4
4
  export default formatBreadcrumb;
5
5
  //# sourceMappingURL=formatBreadcrumb.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatBreadcrumb.d.ts","sourceRoot":"","sources":["../../src/utilities/formatBreadcrumb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAExD,QAAA,MAAM,gBAAgB,iBACN,YAAY,cACd,gBAAgB,QACtB,MAAM,OAAO,MAAM,EAAE,OAAO,CAAC,CAAC,KACnC,UAsBF,CAAA;AAED,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"formatBreadcrumb.d.ts","sourceRoot":"","sources":["../../src/utilities/formatBreadcrumb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE3D,QAAA,MAAM,gBAAgB,iBACN,YAAY,cACd,gBAAgB,QACtB,MAAM,OAAO,MAAM,EAAE,OAAO,CAAC,CAAC,KACnC,UAsBF,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -1,13 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
1
  const formatBreadcrumb = (pluginConfig, collection, docs)=>{
12
2
  let url = undefined;
13
3
  let label;
@@ -22,11 +12,11 @@ const formatBreadcrumb = (pluginConfig, collection, docs)=>{
22
12
  label = lastDoc[useAsTitle];
23
13
  }
24
14
  return {
15
+ doc: lastDoc.id,
25
16
  label,
26
- url,
27
- doc: lastDoc.id
17
+ url
28
18
  };
29
19
  };
30
- const _default = formatBreadcrumb;
20
+ export default formatBreadcrumb;
31
21
 
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZm9ybWF0QnJlYWRjcnVtYi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25Db25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IEJyZWFkY3J1bWIsIFBsdWdpbkNvbmZpZyB9IGZyb20gJy4uL3R5cGVzJ1xuXG5jb25zdCBmb3JtYXRCcmVhZGNydW1iID0gKFxuICBwbHVnaW5Db25maWc6IFBsdWdpbkNvbmZpZyxcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZyxcbiAgZG9jczogQXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+LFxuKTogQnJlYWRjcnVtYiA9PiB7XG4gIGxldCB1cmw6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZFxuICBsZXQgbGFiZWw6IHN0cmluZ1xuXG4gIGNvbnN0IGxhc3REb2MgPSBkb2NzW2RvY3MubGVuZ3RoIC0gMV1cblxuICBpZiAodHlwZW9mIHBsdWdpbkNvbmZpZz8uZ2VuZXJhdGVVUkwgPT09ICdmdW5jdGlvbicpIHtcbiAgICB1cmwgPSBwbHVnaW5Db25maWcuZ2VuZXJhdGVVUkwoZG9jcywgbGFzdERvYylcbiAgfVxuXG4gIGlmICh0eXBlb2YgcGx1Z2luQ29uZmlnPy5nZW5lcmF0ZUxhYmVsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgbGFiZWwgPSBwbHVnaW5Db25maWcuZ2VuZXJhdGVMYWJlbChkb2NzLCBsYXN0RG9jKVxuICB9IGVsc2Uge1xuICAgIGNvbnN0IHVzZUFzVGl0bGUgPSBjb2xsZWN0aW9uPy5hZG1pbj8udXNlQXNUaXRsZSB8fCAnaWQnXG4gICAgbGFiZWwgPSBsYXN0RG9jW3VzZUFzVGl0bGVdIGFzIHN0cmluZ1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBsYWJlbCxcbiAgICB1cmwsXG4gICAgZG9jOiBsYXN0RG9jLmlkIGFzIHN0cmluZyxcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBmb3JtYXRCcmVhZGNydW1iXG4iXSwibmFtZXMiOlsiZm9ybWF0QnJlYWRjcnVtYiIsInBsdWdpbkNvbmZpZyIsImNvbGxlY3Rpb24iLCJkb2NzIiwidXJsIiwidW5kZWZpbmVkIiwibGFiZWwiLCJsYXN0RG9jIiwibGVuZ3RoIiwiZ2VuZXJhdGVVUkwiLCJnZW5lcmF0ZUxhYmVsIiwidXNlQXNUaXRsZSIsImFkbWluIiwiZG9jIiwiaWQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBZ0NBOzs7ZUFBQTs7O0FBNUJBLE1BQU1BLG1CQUFtQixDQUN2QkMsY0FDQUMsWUFDQUM7SUFFQSxJQUFJQyxNQUEwQkM7SUFDOUIsSUFBSUM7SUFFSixNQUFNQyxVQUFVSixJQUFJLENBQUNBLEtBQUtLLE1BQU0sR0FBRyxFQUFFO0lBRXJDLElBQUksT0FBT1AsY0FBY1EsZ0JBQWdCLFlBQVk7UUFDbkRMLE1BQU1ILGFBQWFRLFdBQVcsQ0FBQ04sTUFBTUk7SUFDdkM7SUFFQSxJQUFJLE9BQU9OLGNBQWNTLGtCQUFrQixZQUFZO1FBQ3JESixRQUFRTCxhQUFhUyxhQUFhLENBQUNQLE1BQU1JO0lBQzNDLE9BQU87UUFDTCxNQUFNSSxhQUFhVCxZQUFZVSxPQUFPRCxjQUFjO1FBQ3BETCxRQUFRQyxPQUFPLENBQUNJLFdBQVc7SUFDN0I7SUFFQSxPQUFPO1FBQ0xMO1FBQ0FGO1FBQ0FTLEtBQUtOLFFBQVFPLEVBQUU7SUFDakI7QUFDRjtNQUVBLFdBQWVkIn0=
22
+ //# sourceMappingURL=formatBreadcrumb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/formatBreadcrumb.ts"],"sourcesContent":["import type { CollectionConfig } from 'payload/types'\n\nimport type { Breadcrumb, PluginConfig } from '../types.js'\n\nconst formatBreadcrumb = (\n pluginConfig: PluginConfig,\n collection: CollectionConfig,\n docs: Array<Record<string, unknown>>,\n): Breadcrumb => {\n let url: string | undefined = undefined\n let label: string\n\n const lastDoc = docs[docs.length - 1]\n\n if (typeof pluginConfig?.generateURL === 'function') {\n url = pluginConfig.generateURL(docs, lastDoc)\n }\n\n if (typeof pluginConfig?.generateLabel === 'function') {\n label = pluginConfig.generateLabel(docs, lastDoc)\n } else {\n const useAsTitle = collection?.admin?.useAsTitle || 'id'\n label = lastDoc[useAsTitle] as string\n }\n\n return {\n doc: lastDoc.id as string,\n label,\n url,\n }\n}\n\nexport default formatBreadcrumb\n"],"names":["formatBreadcrumb","pluginConfig","collection","docs","url","undefined","label","lastDoc","length","generateURL","generateLabel","useAsTitle","admin","doc","id"],"mappings":"AAIA,MAAMA,mBAAmB,CACvBC,cACAC,YACAC;IAEA,IAAIC,MAA0BC;IAC9B,IAAIC;IAEJ,MAAMC,UAAUJ,IAAI,CAACA,KAAKK,MAAM,GAAG,EAAE;IAErC,IAAI,OAAOP,cAAcQ,gBAAgB,YAAY;QACnDL,MAAMH,aAAaQ,WAAW,CAACN,MAAMI;IACvC;IAEA,IAAI,OAAON,cAAcS,kBAAkB,YAAY;QACrDJ,QAAQL,aAAaS,aAAa,CAACP,MAAMI;IAC3C,OAAO;QACL,MAAMI,aAAaT,YAAYU,OAAOD,cAAc;QACpDL,QAAQC,OAAO,CAACI,WAAW;IAC7B;IAEA,OAAO;QACLE,KAAKN,QAAQO,EAAE;QACfR;QACAF;IACF;AACF;AAEA,eAAeJ,iBAAgB"}
@@ -1,5 +1,5 @@
1
1
  import type { CollectionConfig } from 'payload/types';
2
- import type { PluginConfig } from '../types';
2
+ import type { PluginConfig } from '../types.js';
3
3
  declare const getParents: (req: any, pluginConfig: PluginConfig, collection: CollectionConfig, doc: Record<string, unknown>, docs?: Array<Record<string, unknown>>) => Promise<Array<Record<string, unknown>>>;
4
4
  export default getParents;
5
5
  //# sourceMappingURL=getParents.d.ts.map
@@ -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,CAmCxC,CAAA;AAED,eAAe,UAAU,CAAA"}
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,aAAa,CAAA;AAE/C,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"}
@@ -1,13 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
1
  const getParents = async (req, pluginConfig, collection, doc, docs = [])=>{
12
2
  const parentSlug = pluginConfig?.parentFieldSlug || 'parent';
13
3
  const parent = doc[parentSlug];
@@ -42,6 +32,6 @@ const getParents = async (req, pluginConfig, collection, doc, docs = [])=>{
42
32
  }
43
33
  return docs;
44
34
  };
45
- const _default = getParents;
35
+ export default getParents;
46
36
 
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0UGFyZW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25Db25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbkNvbmZpZyB9IGZyb20gJy4uL3R5cGVzJ1xuXG5jb25zdCBnZXRQYXJlbnRzID0gYXN5bmMgKFxuICByZXE6IGFueSxcbiAgcGx1Z2luQ29uZmlnOiBQbHVnaW5Db25maWcsXG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWcsXG4gIGRvYzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIGRvY3M6IEFycmF5PFJlY29yZDxzdHJpbmcsIHVua25vd24+PiA9IFtdLFxuKTogUHJvbWlzZTxBcnJheTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4+ID0+IHtcbiAgY29uc3QgcGFyZW50U2x1ZyA9IHBsdWdpbkNvbmZpZz8ucGFyZW50RmllbGRTbHVnIHx8ICdwYXJlbnQnXG4gIGNvbnN0IHBhcmVudCA9IGRvY1twYXJlbnRTbHVnXVxuICBsZXQgcmV0cmlldmVkUGFyZW50XG5cbiAgaWYgKHBhcmVudCkge1xuICAgIC8vIElmIG5vdCBhdXRvLXBvcHVsYXRlZCwgYW5kIHdlIGhhdmUgYW4gSURcbiAgICBpZiAodHlwZW9mIHBhcmVudCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHBhcmVudCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHJpZXZlZFBhcmVudCA9IGF3YWl0IHJlcS5wYXlsb2FkLmZpbmRCeUlEKHtcbiAgICAgICAgaWQ6IHBhcmVudCxcbiAgICAgICAgY29sbGVjdGlvbjogY29sbGVjdGlvbi5zbHVnLFxuICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgZGlzYWJsZUVycm9yczogdHJ1ZSxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyBJZiBhdXRvLXBvcHVsYXRlZFxuICAgIGlmICh0eXBlb2YgcGFyZW50ID09PSAnb2JqZWN0Jykge1xuICAgICAgcmV0cmlldmVkUGFyZW50ID0gcGFyZW50XG4gICAgfVxuXG4gICAgaWYgKHJldHJpZXZlZFBhcmVudCkge1xuICAgICAgaWYgKHJldHJpZXZlZFBhcmVudFtwYXJlbnRTbHVnXSkge1xuICAgICAgICByZXR1cm4gZ2V0UGFyZW50cyhyZXEsIHBsdWdpbkNvbmZpZywgY29sbGVjdGlvbiwgcmV0cmlldmVkUGFyZW50LCBbXG4gICAgICAgICAgcmV0cmlldmVkUGFyZW50LFxuICAgICAgICAgIC4uLmRvY3MsXG4gICAgICAgIF0pXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBbcmV0cmlldmVkUGFyZW50LCAuLi5kb2NzXVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkb2NzXG59XG5cbmV4cG9ydCBkZWZhdWx0IGdldFBhcmVudHNcbiJdLCJuYW1lcyI6WyJnZXRQYXJlbnRzIiwicmVxIiwicGx1Z2luQ29uZmlnIiwiY29sbGVjdGlvbiIsImRvYyIsImRvY3MiLCJwYXJlbnRTbHVnIiwicGFyZW50RmllbGRTbHVnIiwicGFyZW50IiwicmV0cmlldmVkUGFyZW50IiwicGF5bG9hZCIsImZpbmRCeUlEIiwiaWQiLCJzbHVnIiwiZGVwdGgiLCJkaXNhYmxlRXJyb3JzIl0sIm1hcHBpbmdzIjoiOzs7OytCQStDQTs7O2VBQUE7OztBQTNDQSxNQUFNQSxhQUFhLE9BQ2pCQyxLQUNBQyxjQUNBQyxZQUNBQyxLQUNBQyxPQUF1QyxFQUFFO0lBRXpDLE1BQU1DLGFBQWFKLGNBQWNLLG1CQUFtQjtJQUNwRCxNQUFNQyxTQUFTSixHQUFHLENBQUNFLFdBQVc7SUFDOUIsSUFBSUc7SUFFSixJQUFJRCxRQUFRO1FBQ1YsMkNBQTJDO1FBQzNDLElBQUksT0FBT0EsV0FBVyxZQUFZLE9BQU9BLFdBQVcsVUFBVTtZQUM1REMsa0JBQWtCLE1BQU1SLElBQUlTLE9BQU8sQ0FBQ0MsUUFBUSxDQUFDO2dCQUMzQ0MsSUFBSUo7Z0JBQ0pMLFlBQVlBLFdBQVdVLElBQUk7Z0JBQzNCQyxPQUFPO2dCQUNQQyxlQUFlO2dCQUNmZDtZQUNGO1FBQ0Y7UUFFQSxvQkFBb0I7UUFDcEIsSUFBSSxPQUFPTyxXQUFXLFVBQVU7WUFDOUJDLGtCQUFrQkQ7UUFDcEI7UUFFQSxJQUFJQyxpQkFBaUI7WUFDbkIsSUFBSUEsZUFBZSxDQUFDSCxXQUFXLEVBQUU7Z0JBQy9CLE9BQU9OLFdBQVdDLEtBQUtDLGNBQWNDLFlBQVlNLGlCQUFpQjtvQkFDaEVBO3VCQUNHSjtpQkFDSjtZQUNIO1lBRUEsT0FBTztnQkFBQ0k7bUJBQW9CSjthQUFLO1FBQ25DO0lBQ0Y7SUFFQSxPQUFPQTtBQUNUO01BRUEsV0FBZUwifQ==
37
+ //# sourceMappingURL=getParents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/getParents.ts"],"sourcesContent":["import type { CollectionConfig } from 'payload/types'\n\nimport type { PluginConfig } from '../types.js'\n\nconst getParents = async (\n req: any,\n pluginConfig: PluginConfig,\n collection: CollectionConfig,\n doc: Record<string, unknown>,\n docs: Array<Record<string, unknown>> = [],\n): Promise<Array<Record<string, unknown>>> => {\n const parentSlug = pluginConfig?.parentFieldSlug || 'parent'\n const parent = doc[parentSlug]\n let retrievedParent\n\n if (parent) {\n // If not auto-populated, and we have an ID\n if (typeof parent === 'string' || typeof parent === 'number') {\n retrievedParent = await req.payload.findByID({\n id: parent,\n collection: collection.slug,\n depth: 0,\n disableErrors: true,\n req,\n })\n }\n\n // If auto-populated\n if (typeof parent === 'object') {\n retrievedParent = parent\n }\n\n if (retrievedParent) {\n if (retrievedParent[parentSlug]) {\n return getParents(req, pluginConfig, collection, retrievedParent, [\n retrievedParent,\n ...docs,\n ])\n }\n\n return [retrievedParent, ...docs]\n }\n }\n\n return docs\n}\n\nexport default getParents\n"],"names":["getParents","req","pluginConfig","collection","doc","docs","parentSlug","parentFieldSlug","parent","retrievedParent","payload","findByID","id","slug","depth","disableErrors"],"mappings":"AAIA,MAAMA,aAAa,OACjBC,KACAC,cACAC,YACAC,KACAC,OAAuC,EAAE;IAEzC,MAAMC,aAAaJ,cAAcK,mBAAmB;IACpD,MAAMC,SAASJ,GAAG,CAACE,WAAW;IAC9B,IAAIG;IAEJ,IAAID,QAAQ;QACV,2CAA2C;QAC3C,IAAI,OAAOA,WAAW,YAAY,OAAOA,WAAW,UAAU;YAC5DC,kBAAkB,MAAMR,IAAIS,OAAO,CAACC,QAAQ,CAAC;gBAC3CC,IAAIJ;gBACJL,YAAYA,WAAWU,IAAI;gBAC3BC,OAAO;gBACPC,eAAe;gBACfd;YACF;QACF;QAEA,oBAAoB;QACpB,IAAI,OAAOO,WAAW,UAAU;YAC9BC,kBAAkBD;QACpB;QAEA,IAAIC,iBAAiB;YACnB,IAAIA,eAAe,CAACH,WAAW,EAAE;gBAC/B,OAAON,WAAWC,KAAKC,cAAcC,YAAYM,iBAAiB;oBAChEA;uBACGJ;iBACJ;YACH;YAEA,OAAO;gBAACI;mBAAoBJ;aAAK;QACnC;IACF;IAEA,OAAOA;AACT;AAEA,eAAeL,WAAU"}
@@ -1,5 +1,5 @@
1
1
  import type { CollectionConfig } from 'payload/types';
2
- import type { PluginConfig } from '../types';
2
+ import type { PluginConfig } from '../types.js';
3
3
  declare const populateBreadcrumbs: (req: any, pluginConfig: PluginConfig, collection: CollectionConfig, data: any, originalDoc?: any) => Promise<any>;
4
4
  export default populateBreadcrumbs;
5
5
  //# sourceMappingURL=populateBreadcrumbs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"populateBreadcrumbs.d.ts","sourceRoot":"","sources":["../../src/utilities/populateBreadcrumbs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAK5C,QAAA,MAAM,mBAAmB,QAClB,GAAG,gBACM,YAAY,cACd,gBAAgB,QACtB,GAAG,gBACK,GAAG,KAChB,QAAQ,GAAG,CA4Bb,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"populateBreadcrumbs.d.ts","sourceRoot":"","sources":["../../src/utilities/populateBreadcrumbs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAK/C,QAAA,MAAM,mBAAmB,QAClB,GAAG,gBACM,YAAY,cACd,gBAAgB,QACtB,GAAG,gBACK,GAAG,KAChB,QAAQ,GAAG,CA4Bb,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -1,24 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _formatBreadcrumb = /*#__PURE__*/ _interop_require_default(require("./formatBreadcrumb"));
12
- const _getParents = /*#__PURE__*/ _interop_require_default(require("./getParents"));
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
1
+ import formatBreadcrumb from './formatBreadcrumb.js';
2
+ import getParents from './getParents.js';
18
3
  const populateBreadcrumbs = async (req, pluginConfig, collection, data, originalDoc)=>{
19
4
  const newData = data;
20
5
  const breadcrumbDocs = [
21
- ...await (0, _getParents.default)(req, pluginConfig, collection, {
6
+ ...await getParents(req, pluginConfig, collection, {
22
7
  ...originalDoc,
23
8
  ...data
24
9
  })
@@ -31,13 +16,13 @@ const populateBreadcrumbs = async (req, pluginConfig, collection, data, original
31
16
  currentDocBreadcrumb.id = originalDoc?.id;
32
17
  }
33
18
  breadcrumbDocs.push(currentDocBreadcrumb);
34
- const breadcrumbs = breadcrumbDocs.map((_, i)=>(0, _formatBreadcrumb.default)(pluginConfig, collection, breadcrumbDocs.slice(0, i + 1))) // eslint-disable-line function-paren-newline
19
+ const breadcrumbs = breadcrumbDocs.map((_, i)=>formatBreadcrumb(pluginConfig, collection, breadcrumbDocs.slice(0, i + 1))) // eslint-disable-line function-paren-newline
35
20
  ;
36
21
  return {
37
22
  ...newData,
38
23
  [pluginConfig?.breadcrumbsFieldSlug || 'breadcrumbs']: breadcrumbs
39
24
  };
40
25
  };
41
- const _default = populateBreadcrumbs;
26
+ export default populateBreadcrumbs;
42
27
 
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcG9wdWxhdGVCcmVhZGNydW1icy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25Db25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbkNvbmZpZyB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgZm9ybWF0QnJlYWRjcnVtYiBmcm9tICcuL2Zvcm1hdEJyZWFkY3J1bWInXG5pbXBvcnQgZ2V0UGFyZW50cyBmcm9tICcuL2dldFBhcmVudHMnXG5cbmNvbnN0IHBvcHVsYXRlQnJlYWRjcnVtYnMgPSBhc3luYyAoXG4gIHJlcTogYW55LFxuICBwbHVnaW5Db25maWc6IFBsdWdpbkNvbmZpZyxcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZyxcbiAgZGF0YTogYW55LFxuICBvcmlnaW5hbERvYz86IGFueSxcbik6IFByb21pc2U8YW55PiA9PiB7XG4gIGNvbnN0IG5ld0RhdGEgPSBkYXRhXG4gIGNvbnN0IGJyZWFkY3J1bWJEb2NzID0gW1xuICAgIC4uLihhd2FpdCBnZXRQYXJlbnRzKHJlcSwgcGx1Z2luQ29uZmlnLCBjb2xsZWN0aW9uLCB7XG4gICAgICAuLi5vcmlnaW5hbERvYyxcbiAgICAgIC4uLmRhdGEsXG4gICAgfSkpLFxuICBdXG5cbiAgY29uc3QgY3VycmVudERvY0JyZWFkY3J1bWIgPSB7XG4gICAgLi4ub3JpZ2luYWxEb2MsXG4gICAgLi4uZGF0YSxcbiAgfVxuXG4gIGlmIChvcmlnaW5hbERvYz8uaWQpIHtcbiAgICBjdXJyZW50RG9jQnJlYWRjcnVtYi5pZCA9IG9yaWdpbmFsRG9jPy5pZFxuICB9XG5cbiAgYnJlYWRjcnVtYkRvY3MucHVzaChjdXJyZW50RG9jQnJlYWRjcnVtYilcblxuICBjb25zdCBicmVhZGNydW1icyA9IGJyZWFkY3J1bWJEb2NzLm1hcCgoXywgaSkgPT5cbiAgICBmb3JtYXRCcmVhZGNydW1iKHBsdWdpbkNvbmZpZywgY29sbGVjdGlvbiwgYnJlYWRjcnVtYkRvY3Muc2xpY2UoMCwgaSArIDEpKSxcbiAgKSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLXBhcmVuLW5ld2xpbmVcblxuICByZXR1cm4ge1xuICAgIC4uLm5ld0RhdGEsXG4gICAgW3BsdWdpbkNvbmZpZz8uYnJlYWRjcnVtYnNGaWVsZFNsdWcgfHwgJ2JyZWFkY3J1bWJzJ106IGJyZWFkY3J1bWJzLFxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHBvcHVsYXRlQnJlYWRjcnVtYnNcbiJdLCJuYW1lcyI6WyJwb3B1bGF0ZUJyZWFkY3J1bWJzIiwicmVxIiwicGx1Z2luQ29uZmlnIiwiY29sbGVjdGlvbiIsImRhdGEiLCJvcmlnaW5hbERvYyIsIm5ld0RhdGEiLCJicmVhZGNydW1iRG9jcyIsImdldFBhcmVudHMiLCJjdXJyZW50RG9jQnJlYWRjcnVtYiIsImlkIiwicHVzaCIsImJyZWFkY3J1bWJzIiwibWFwIiwiXyIsImkiLCJmb3JtYXRCcmVhZGNydW1iIiwic2xpY2UiLCJicmVhZGNydW1ic0ZpZWxkU2x1ZyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkEyQ0E7OztlQUFBOzs7eUVBdkM2QjttRUFDTjs7Ozs7O0FBRXZCLE1BQU1BLHNCQUFzQixPQUMxQkMsS0FDQUMsY0FDQUMsWUFDQUMsTUFDQUM7SUFFQSxNQUFNQyxVQUFVRjtJQUNoQixNQUFNRyxpQkFBaUI7V0FDakIsTUFBTUMsSUFBQUEsbUJBQVUsRUFBQ1AsS0FBS0MsY0FBY0MsWUFBWTtZQUNsRCxHQUFHRSxXQUFXO1lBQ2QsR0FBR0QsSUFBSTtRQUNUO0tBQ0Q7SUFFRCxNQUFNSyx1QkFBdUI7UUFDM0IsR0FBR0osV0FBVztRQUNkLEdBQUdELElBQUk7SUFDVDtJQUVBLElBQUlDLGFBQWFLLElBQUk7UUFDbkJELHFCQUFxQkMsRUFBRSxHQUFHTCxhQUFhSztJQUN6QztJQUVBSCxlQUFlSSxJQUFJLENBQUNGO0lBRXBCLE1BQU1HLGNBQWNMLGVBQWVNLEdBQUcsQ0FBQyxDQUFDQyxHQUFHQyxJQUN6Q0MsSUFBQUEseUJBQWdCLEVBQUNkLGNBQWNDLFlBQVlJLGVBQWVVLEtBQUssQ0FBQyxHQUFHRixJQUFJLEtBQ3ZFLDZDQUE2Qzs7SUFFL0MsT0FBTztRQUNMLEdBQUdULE9BQU87UUFDVixDQUFDSixjQUFjZ0Isd0JBQXdCLGNBQWMsRUFBRU47SUFDekQ7QUFDRjtNQUVBLFdBQWVaIn0=
28
+ //# sourceMappingURL=populateBreadcrumbs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/populateBreadcrumbs.ts"],"sourcesContent":["import type { CollectionConfig } from 'payload/types'\n\nimport type { PluginConfig } from '../types.js'\n\nimport formatBreadcrumb from './formatBreadcrumb.js'\nimport getParents from './getParents.js'\n\nconst populateBreadcrumbs = async (\n req: any,\n pluginConfig: PluginConfig,\n collection: CollectionConfig,\n data: any,\n originalDoc?: any,\n): Promise<any> => {\n const newData = data\n const breadcrumbDocs = [\n ...(await getParents(req, pluginConfig, collection, {\n ...originalDoc,\n ...data,\n })),\n ]\n\n const currentDocBreadcrumb = {\n ...originalDoc,\n ...data,\n }\n\n if (originalDoc?.id) {\n currentDocBreadcrumb.id = originalDoc?.id\n }\n\n breadcrumbDocs.push(currentDocBreadcrumb)\n\n const breadcrumbs = breadcrumbDocs.map((_, i) =>\n formatBreadcrumb(pluginConfig, collection, breadcrumbDocs.slice(0, i + 1)),\n ) // eslint-disable-line function-paren-newline\n\n return {\n ...newData,\n [pluginConfig?.breadcrumbsFieldSlug || 'breadcrumbs']: breadcrumbs,\n }\n}\n\nexport default populateBreadcrumbs\n"],"names":["formatBreadcrumb","getParents","populateBreadcrumbs","req","pluginConfig","collection","data","originalDoc","newData","breadcrumbDocs","currentDocBreadcrumb","id","push","breadcrumbs","map","_","i","slice","breadcrumbsFieldSlug"],"mappings":"AAIA,OAAOA,sBAAsB,wBAAuB;AACpD,OAAOC,gBAAgB,kBAAiB;AAExC,MAAMC,sBAAsB,OAC1BC,KACAC,cACAC,YACAC,MACAC;IAEA,MAAMC,UAAUF;IAChB,MAAMG,iBAAiB;WACjB,MAAMR,WAAWE,KAAKC,cAAcC,YAAY;YAClD,GAAGE,WAAW;YACd,GAAGD,IAAI;QACT;KACD;IAED,MAAMI,uBAAuB;QAC3B,GAAGH,WAAW;QACd,GAAGD,IAAI;IACT;IAEA,IAAIC,aAAaI,IAAI;QACnBD,qBAAqBC,EAAE,GAAGJ,aAAaI;IACzC;IAEAF,eAAeG,IAAI,CAACF;IAEpB,MAAMG,cAAcJ,eAAeK,GAAG,CAAC,CAACC,GAAGC,IACzChB,iBAAiBI,cAAcC,YAAYI,eAAeQ,KAAK,CAAC,GAAGD,IAAI,KACvE,6CAA6C;;IAE/C,OAAO;QACL,GAAGR,OAAO;QACV,CAACJ,cAAcc,wBAAwB,cAAc,EAAEL;IACzD;AACF;AAEA,eAAeX,oBAAmB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/plugin-nested-docs",
3
- "version": "1.0.12",
3
+ "version": "3.0.0-alpha.42",
4
4
  "description": "The official Nested Docs plugin for Payload",
5
5
  "repository": "https://github.com/payloadcms/payload",
6
6
  "license": "MIT",
@@ -8,12 +8,13 @@
8
8
  "author": "Payload CMS, Inc.",
9
9
  "main": "./dist/index.js",
10
10
  "types": "./dist/index.d.ts",
11
+ "type": "module",
11
12
  "devDependencies": {
12
13
  "@payloadcms/eslint-config": "1.1.1",
13
- "payload": "2.11.2"
14
+ "payload": "3.0.0-alpha.42"
14
15
  },
15
16
  "peerDependencies": {
16
- "payload": "^0.18.5 || ^1.0.0 || ^2.0.0"
17
+ "payload": "3.0.0-alpha.42"
17
18
  },
18
19
  "exports": null,
19
20
  "publishConfig": {