@payloadcms/plugin-nested-docs 1.0.1 → 1.0.2

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # Payload Nested Pages Plugin
1
+ # Payload Nested Docs Plugin
2
2
 
3
- [![NPM](https://img.shields.io/npm/v/payload-plugin-nested-pages)](https://www.npmjs.com/package/payload-plugin-nested-pages)
3
+ [![NPM](https://img.shields.io/npm/v/@payloadcms/plugin-nested-docs)](https://www.npmjs.com/package/@payloadcms/plugin-nested-docs)
4
4
 
5
5
  A plugin for [Payload CMS](https://github.com/payloadcms/payload) to easily allow for documents to be nested inside one another.
6
6
 
@@ -11,9 +11,9 @@ Core features:
11
11
  ## Installation
12
12
 
13
13
  ```bash
14
- yarn add payload-plugin-nested-pages
14
+ yarn add @payloadcms/plugin-nested-docs
15
15
  # OR
16
- npm i payload-plugin-nested-pages
16
+ npm i @payloadcms/plugin-nested-docs
17
17
  ```
18
18
 
19
19
  ## Basic Usage
@@ -22,7 +22,7 @@ In the `plugins` array of your [Payload config](https://payloadcms.com/docs/conf
22
22
 
23
23
  ```js
24
24
  import { buildConfig } from 'payload/config';
25
- import nestedPages from 'payload-plugin-nestedPages';
25
+ import nestedDocs from '@payloadcms/plugin-nested-docs';
26
26
 
27
27
  const config = buildConfig({
28
28
  collections: [
@@ -41,7 +41,7 @@ const config = buildConfig({
41
41
  }
42
42
  ],
43
43
  plugins: [
44
- nestedPages({
44
+ nestedDocs({
45
45
  collections: ['pages'],
46
46
  generateLabel: (_, doc) => doc.title,
47
47
  generateURL: (docs) => docs.reduce((url, doc) => `${url}/${doc.slug}`, ''),
@@ -76,7 +76,7 @@ The `breadcrumbs` array stores the following fields:
76
76
 
77
77
  #### `collections`
78
78
 
79
- An array of collections slugs to enable nested pages.
79
+ An array of collections slugs to enable nested docs.
80
80
 
81
81
  #### `generateLabel`
82
82
 
@@ -88,7 +88,7 @@ You can also pass a function to dynamically set the `label` of your breadcrumb.
88
88
  {
89
89
  plugins: [
90
90
  ...
91
- nestedPages({
91
+ nestedDocs({
92
92
  ...
93
93
  generateLabel: (_, doc) => doc.title // NOTE: 'title' is a hypothetical field
94
94
  })
@@ -107,7 +107,7 @@ A function that allows you to dynamically generate each breadcrumb `url`. Each `
107
107
  ```js
108
108
  plugins: [
109
109
  ...
110
- nestedPages({
110
+ nestedDocs({
111
111
  ...
112
112
  generateURL: (docs) => docs.reduce((url, doc) => `${url}/${doc.slug}`, ''), // NOTE: 'slug' is a hypothetical field
113
113
  })
@@ -135,8 +135,8 @@ You can also extend the built-in `parent` and `breadcrumbs` fields on a page-by-
135
135
 
136
136
  ```js
137
137
  import { CollectionConfig } from 'payload/types';
138
- import createParentField from 'payload-plugin-nested-pages/fields/parent';
139
- import createBreadcrumbsField from 'payload-plugin-nested-pages/fields/breadcrumbs';
138
+ import createParentField from '@payloadcms/plugin-nested-docs/fields/parent';
139
+ import createBreadcrumbsField from '@payloadcms/plugin-nested-docs/fields/breadcrumbs';
140
140
 
141
141
  const examplePageConfig: CollectionConfig = {
142
142
  slug: 'pages',
@@ -174,12 +174,12 @@ const examplePageConfig: CollectionConfig = {
174
174
  All types can be directly imported:
175
175
  ```js
176
176
  import {
177
- NestedPagesConfig,
177
+ nestedDocsConfig,
178
178
  GenerateURL,
179
179
  GenerateLabel
180
- } from 'payload-plugin-nested-pages/dist/types';
180
+ } from '@payloadcms/plugin-nested-docs/dist/types';
181
181
  ```
182
182
 
183
183
  ## Screenshots
184
184
 
185
- <!-- ![screenshot 1](https://github.com/trouble/payload-plugin-nested-pages/blob/main/images/screenshot-1.jpg?raw=true) -->
185
+ <!-- ![screenshot 1](https://github.com/@payloadcms/plugin-nested-docs/blob/main/images/screenshot-1.jpg?raw=true) -->
@@ -47,15 +47,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
47
47
  }
48
48
  };
49
49
  Object.defineProperty(exports, "__esModule", { value: true });
50
+ // This hook automatically resaves a document after it is created
51
+ // so that we can build its breadcrumbs with the newly created document's ID.
50
52
  var resaveSelfAfterCreate = function (collection) { return function (_a) {
51
53
  var payload = _a.req.payload, req = _a.req, doc = _a.doc, operation = _a.operation;
52
54
  return __awaiter(void 0, void 0, void 0, function () {
53
- var _b, breadcrumbs, originalDocWithDepth0;
55
+ var _b, breadcrumbs, originalDocWithDepth0, updateAsDraft, err_1;
54
56
  return __generator(this, function (_c) {
55
57
  switch (_c.label) {
56
58
  case 0:
57
59
  _b = doc.breadcrumbs, breadcrumbs = _b === void 0 ? [] : _b;
58
- if (!(operation === 'create')) return [3 /*break*/, 2];
60
+ if (!(operation === 'create')) return [3 /*break*/, 5];
59
61
  return [4 /*yield*/, payload.findByID({
60
62
  collection: collection.slug,
61
63
  depth: 0,
@@ -63,14 +65,26 @@ var resaveSelfAfterCreate = function (collection) { return function (_a) {
63
65
  })];
64
66
  case 1:
65
67
  originalDocWithDepth0 = _c.sent();
66
- payload.update({
67
- collection: collection.slug,
68
- id: doc.id,
69
- depth: 0,
70
- data: __assign(__assign({}, originalDocWithDepth0), { breadcrumbs: breadcrumbs.map(function (crumb, i) { return (__assign(__assign({}, crumb), { doc: (breadcrumbs === null || breadcrumbs === void 0 ? void 0 : breadcrumbs.length) === i + 1 ? doc.id : crumb.doc })); }) }),
71
- });
68
+ updateAsDraft = typeof collection.versions === 'object' && collection.versions.drafts && doc._status !== 'published';
72
69
  _c.label = 2;
73
- case 2: return [2 /*return*/, undefined];
70
+ case 2:
71
+ _c.trys.push([2, 4, , 5]);
72
+ return [4 /*yield*/, payload.update({
73
+ collection: collection.slug,
74
+ id: doc.id,
75
+ depth: 0,
76
+ draft: updateAsDraft,
77
+ data: __assign(__assign({}, originalDocWithDepth0), { breadcrumbs: breadcrumbs.map(function (crumb, i) { return (__assign(__assign({}, crumb), { doc: (breadcrumbs === null || breadcrumbs === void 0 ? void 0 : breadcrumbs.length) === i + 1 ? doc.id : crumb.doc })); }) }),
78
+ })];
79
+ case 3:
80
+ _c.sent();
81
+ return [3 /*break*/, 5];
82
+ case 4:
83
+ err_1 = _c.sent();
84
+ payload.logger.error("Nested Docs plugin has had an error while adding breadcrumbs during document creation.");
85
+ payload.logger.error(err_1);
86
+ return [3 /*break*/, 5];
87
+ case 5: return [2 /*return*/, undefined];
74
88
  }
75
89
  });
76
90
  });
@@ -1 +1 @@
1
- {"version":3,"file":"resaveSelfAfterCreate.js","sourceRoot":"","sources":["../../src/hooks/resaveSelfAfterCreate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAM,qBAAqB,GAAG,UAAC,UAA4B,IAAgC,OAAA,UAAO,EAAyC;QAAhC,OAAO,iBAAA,EAAI,GAAG,SAAA,EAAE,GAAG,SAAA,EAAE,SAAS,eAAA;;;;;;oBAC/H,KAAqB,GAAyB,YAA9B,EAAhB,WAAW,mBAAG,EAAE,KAAA,CAA+B;yBAEnD,CAAA,SAAS,KAAK,QAAQ,CAAA,EAAtB,wBAAsB;oBACM,qBAAM,OAAO,CAAC,QAAQ,CAAC;4BACnD,UAAU,EAAE,UAAU,CAAC,IAAI;4BAC3B,KAAK,EAAE,CAAC;4BACR,EAAE,EAAE,GAAG,CAAC,EAAE;yBACX,CAAC,EAAA;;oBAJI,qBAAqB,GAAG,SAI5B;oBAEF,OAAO,CAAC,MAAM,CAAC;wBACb,UAAU,EAAE,UAAU,CAAC,IAAI;wBAC3B,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,KAAK,EAAE,CAAC;wBACR,IAAI,wBACC,qBAAqB,KACxB,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,CAAC,IAAK,OAAA,uBACtC,KAAK,KACR,GAAG,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,MAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IACvD,EAHyC,CAGzC,CAAC,GACJ;qBACF,CAAC,CAAC;;wBAGL,sBAAO,SAAS,EAAC;;;;CAClB,EAzB0F,CAyB1F,CAAC;AAEF,kBAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"resaveSelfAfterCreate.js","sourceRoot":"","sources":["../../src/hooks/resaveSelfAfterCreate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,iEAAiE;AACjE,6EAA6E;AAE7E,IAAM,qBAAqB,GAAG,UAAC,UAA4B,IAAgC,OAAA,UAAO,EAAyC;QAAhC,OAAO,iBAAA,EAAI,GAAG,SAAA,EAAE,GAAG,SAAA,EAAE,SAAS,eAAA;;;;;;oBAC/H,KAAqB,GAAyB,YAA9B,EAAhB,WAAW,mBAAG,EAAE,KAAA,CAA+B;yBAEnD,CAAA,SAAS,KAAK,QAAQ,CAAA,EAAtB,wBAAsB;oBACM,qBAAM,OAAO,CAAC,QAAQ,CAAC;4BACnD,UAAU,EAAE,UAAU,CAAC,IAAI;4BAC3B,KAAK,EAAE,CAAC;4BACR,EAAE,EAAE,GAAG,CAAC,EAAE;yBACX,CAAC,EAAA;;oBAJI,qBAAqB,GAAG,SAI5B;oBAEI,aAAa,GAAG,OAAO,UAAU,CAAC,QAAQ,KAAK,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,WAAW,CAAC;;;;oBAGzH,qBAAM,OAAO,CAAC,MAAM,CAAC;4BACnB,UAAU,EAAE,UAAU,CAAC,IAAI;4BAC3B,EAAE,EAAE,GAAG,CAAC,EAAE;4BACV,KAAK,EAAE,CAAC;4BACR,KAAK,EAAE,aAAa;4BACpB,IAAI,wBACC,qBAAqB,KACxB,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,CAAC,IAAK,OAAA,uBACtC,KAAK,KACR,GAAG,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,MAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IACvD,EAHyC,CAGzC,CAAC,GACJ;yBACF,CAAC,EAAA;;oBAZF,SAYE,CAAC;;;;oBAEH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wFAAwF,CAAC,CAAA;oBAC9G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAG,CAAC,CAAC;;wBAI9B,sBAAO,SAAS,EAAC;;;;CAClB,EAjC0F,CAiC1F,CAAC;AAEF,kBAAe,qBAAqB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import { Config } from 'payload/config';
2
2
  import { Options } from './types';
3
- declare const breadcrumbs: (options: Options) => (config: Config) => Config;
4
- export default breadcrumbs;
3
+ declare const nestedDocs: (options: Options) => (config: Config) => Config;
4
+ export default nestedDocs;
package/dist/index.js CHANGED
@@ -64,7 +64,7 @@ var parent_1 = __importDefault(require("./fields/parent"));
64
64
  var populateBreadcrumbs_1 = __importDefault(require("./utilities/populateBreadcrumbs"));
65
65
  var resaveChildren_1 = __importDefault(require("./hooks/resaveChildren"));
66
66
  var resaveSelfAfterCreate_1 = __importDefault(require("./hooks/resaveSelfAfterCreate"));
67
- var breadcrumbs = function (options) { return function (config) { return (__assign(__assign({}, config), { collections: (config.collections || []).map(function (collection) {
67
+ var nestedDocs = function (options) { return function (config) { return (__assign(__assign({}, config), { collections: (config.collections || []).map(function (collection) {
68
68
  var _a, _b;
69
69
  if (options.collections.indexOf(collection.slug) > -1) {
70
70
  var fields = __spreadArray([], (collection === null || collection === void 0 ? void 0 : collection.fields) || [], true);
@@ -88,5 +88,5 @@ var breadcrumbs = function (options) { return function (config) { return (__assi
88
88
  }
89
89
  return collection;
90
90
  }) })); }; };
91
- exports.default = breadcrumbs;
91
+ exports.default = nestedDocs;
92
92
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qEAA0D;AAC1D,2DAAgD;AAChD,wFAAkE;AAClE,0EAAoD;AACpD,wFAAkE;AAElE,IAAM,WAAW,GAAG,UAAC,OAAgB,IAAK,OAAA,UAAC,MAAc,IAAa,OAAA,uBACjE,MAAM,KACT,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAC,UAAU;;QACrD,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YACrD,IAAM,MAAM,qBAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,KAAI,EAAE,OAAC,CAAC;YAE7C,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;gBAC5B,MAAM,CAAC,IAAI,CAAC,IAAA,gBAAiB,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;aACjD;YAED,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE;gBACjC,MAAM,CAAC,IAAI,CAAC,IAAA,qBAAsB,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;aACtD;YAED,6BACK,UAAU,KACb,KAAK,wBACA,UAAU,CAAC,KAAK,IAAI,EAAE,KACzB,YAAY;wBACV,UAAO,EAA0B;gCAAxB,GAAG,SAAA,EAAE,IAAI,UAAA,EAAE,WAAW,iBAAA;;gCAAO,sBAAA,IAAA,6BAAmB,EAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC,EAAA;;yBAAA;uBACnG,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,0CAAE,YAAY,KAAI,EAAE,SAE1C,WAAW;wBACT,IAAA,wBAAc,EAAC,OAAO,EAAE,UAAU,CAAC;wBACnC,IAAA,+BAAqB,EAAC,UAAU,CAAC;uBAC9B,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,0CAAE,WAAW,KAAI,EAAE,YAG3C,MAAM,QAAA,IACN;SACH;QAED,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC,IACF,EAlCoE,CAkCpE,EAlCwC,CAkCxC,CAAC;AAEH,kBAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qEAA0D;AAC1D,2DAAgD;AAChD,wFAAkE;AAClE,0EAAoD;AACpD,wFAAkE;AAElE,IAAM,UAAU,GAAG,UAAC,OAAgB,IAAK,OAAA,UAAC,MAAc,IAAa,OAAA,uBAChE,MAAM,KACT,WAAW,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAC,UAAU;;QACrD,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YACrD,IAAM,MAAM,qBAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,KAAI,EAAE,OAAC,CAAC;YAE7C,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;gBAC5B,MAAM,CAAC,IAAI,CAAC,IAAA,gBAAiB,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;aACjD;YAED,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE;gBACjC,MAAM,CAAC,IAAI,CAAC,IAAA,qBAAsB,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;aACtD;YAED,6BACK,UAAU,KACb,KAAK,wBACA,UAAU,CAAC,KAAK,IAAI,EAAE,KACzB,YAAY;wBACV,UAAO,EAA0B;gCAAxB,GAAG,SAAA,EAAE,IAAI,UAAA,EAAE,WAAW,iBAAA;;gCAAO,sBAAA,IAAA,6BAAmB,EAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC,EAAA;;yBAAA;uBACnG,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,0CAAE,YAAY,KAAI,EAAE,SAE1C,WAAW;wBACT,IAAA,wBAAc,EAAC,OAAO,EAAE,UAAU,CAAC;wBACnC,IAAA,+BAAqB,EAAC,UAAU,CAAC;uBAC9B,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,0CAAE,WAAW,KAAI,EAAE,YAG3C,MAAM,QAAA,IACN;SACH;QAED,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC,IACF,EAlCmE,CAkCnE,EAlCuC,CAkCvC,CAAC;AAEH,kBAAe,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,9 @@
1
1
  {
2
2
  "name": "@payloadcms/plugin-nested-docs",
3
- "version": "1.0.1",
4
- "description": "Nested pages plugin for Payload CMS",
3
+ "version": "1.0.2",
4
+ "homepage:": "https://payloadcms.com",
5
+ "repository": "git@github.com:payloadcms/plugin-nested-docs.git",
6
+ "description": "Nested documents plugin for Payload CMS",
5
7
  "main": "dist/index.js",
6
8
  "types": "dist/index.d.ts",
7
9
  "scripts": {
@@ -18,7 +20,7 @@
18
20
  "nested pages",
19
21
  "parent pages"
20
22
  ],
21
- "author": "dev@trbl.design",
23
+ "author": "dev@payloadcms.com",
22
24
  "license": "MIT",
23
25
  "peerDependencies": {
24
26
  "payload": "^0.18.5",
@@ -1,4 +0,0 @@
1
- import { CollectionConfig } from 'payload/types';
2
- import { Options, Breadcrumb } from './types';
3
- declare const formatBreadcrumb: (options: Options, collection: CollectionConfig, docs: Record<string, unknown>[]) => Breadcrumb;
4
- export default formatBreadcrumb;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var formatBreadcrumb = function (options, collection, docs) {
4
- var _a;
5
- var url = undefined;
6
- var label;
7
- var lastDoc = docs[docs.length - 1];
8
- if (typeof (options === null || options === void 0 ? void 0 : options.generateURL) === 'function') {
9
- url = options.generateURL(docs, lastDoc);
10
- }
11
- if (typeof (options === null || options === void 0 ? void 0 : options.generateLabel) === 'function') {
12
- label = options.generateLabel(docs, lastDoc);
13
- }
14
- else {
15
- var useAsTitle = ((_a = collection === null || collection === void 0 ? void 0 : collection.admin) === null || _a === void 0 ? void 0 : _a.useAsTitle) || 'id';
16
- label = lastDoc[useAsTitle];
17
- }
18
- return {
19
- label: label,
20
- url: url,
21
- doc: lastDoc.id,
22
- };
23
- };
24
- exports.default = formatBreadcrumb;
25
- //# sourceMappingURL=formatBreadcrumb.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatBreadcrumb.js","sourceRoot":"","sources":["../src/formatBreadcrumb.ts"],"names":[],"mappings":";;AAGA,IAAM,gBAAgB,GAAG,UACvB,OAAgB,EAChB,UAA4B,EAC5B,IAA+B;;IAE/B,IAAI,GAAG,GAAuB,SAAS,CAAC;IACxC,IAAI,KAAa,CAAC;IAElB,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEtC,IAAI,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAA,KAAK,UAAU,EAAE;QAC9C,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAC1C;IAED,IAAI,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAA,KAAK,UAAU,EAAE;QAChD,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAC9C;SAAM;QACL,IAAM,UAAU,GAAG,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,0CAAE,UAAU,KAAI,IAAI,CAAC;QACzD,KAAK,GAAG,OAAO,CAAC,UAAU,CAAW,CAAC;KACvC;IAED,OAAO;QACL,KAAK,OAAA;QACL,GAAG,KAAA;QACH,GAAG,EAAE,OAAO,CAAC,EAAY;KAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
@@ -1,4 +0,0 @@
1
- import { CollectionConfig } from 'payload/types';
2
- import { Options } from './types';
3
- declare const getParents: (req: any, options: Options, collection: CollectionConfig, doc: Record<string, unknown>, docs?: Record<string, unknown>[]) => Promise<Record<string, unknown>[]>;
4
- export default getParents;
@@ -1,89 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
39
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
40
- if (ar || !(i in from)) {
41
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
42
- ar[i] = from[i];
43
- }
44
- }
45
- return to.concat(ar || Array.prototype.slice.call(from));
46
- };
47
- Object.defineProperty(exports, "__esModule", { value: true });
48
- var getParents = function (req, options, collection, doc, docs) {
49
- if (docs === void 0) { docs = []; }
50
- return __awaiter(void 0, void 0, void 0, function () {
51
- var parent, retrievedParent;
52
- return __generator(this, function (_a) {
53
- switch (_a.label) {
54
- case 0:
55
- parent = doc[(options === null || options === void 0 ? void 0 : options.parentFieldSlug) || 'parent'];
56
- if (!parent) return [3 /*break*/, 3];
57
- if (!(typeof parent === 'string')) return [3 /*break*/, 2];
58
- return [4 /*yield*/, req.payload.findByID({
59
- req: req,
60
- id: parent,
61
- collection: collection.slug,
62
- depth: 0,
63
- })];
64
- case 1:
65
- retrievedParent = _a.sent();
66
- _a.label = 2;
67
- case 2:
68
- // If auto-populated
69
- if (typeof parent === 'object') {
70
- retrievedParent = parent;
71
- }
72
- if (retrievedParent) {
73
- if (retrievedParent.parent) {
74
- return [2 /*return*/, getParents(req, options, collection, retrievedParent, __spreadArray([
75
- retrievedParent
76
- ], docs, true))];
77
- }
78
- return [2 /*return*/, __spreadArray([
79
- retrievedParent
80
- ], docs, true)];
81
- }
82
- _a.label = 3;
83
- case 3: return [2 /*return*/, docs];
84
- }
85
- });
86
- });
87
- };
88
- exports.default = getParents;
89
- //# sourceMappingURL=getParents.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getParents.js","sourceRoot":"","sources":["../src/getParents.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAM,UAAU,GAAG,UACjB,GAAQ,EACR,OAAgB,EAChB,UAA4B,EAC5B,GAA4B,EAC5B,IAAoC;IAApC,qBAAA,EAAA,SAAoC;;;;;;oBAE9B,MAAM,GAAG,GAAG,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,KAAI,QAAQ,CAAC,CAAC;yBAGrD,MAAM,EAAN,wBAAM;yBAEJ,CAAA,OAAO,MAAM,KAAK,QAAQ,CAAA,EAA1B,wBAA0B;oBACV,qBAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;4BAC3C,GAAG,KAAA;4BACH,EAAE,EAAE,MAAM;4BACV,UAAU,EAAE,UAAU,CAAC,IAAI;4BAC3B,KAAK,EAAE,CAAC;yBACT,CAAC,EAAA;;oBALF,eAAe,GAAG,SAKhB,CAAC;;;oBAGL,oBAAoB;oBACpB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;wBAC9B,eAAe,GAAG,MAAM,CAAC;qBAC1B;oBAED,IAAI,eAAe,EAAE;wBACnB,IAAI,eAAe,CAAC,MAAM,EAAE;4BAC1B,sBAAO,UAAU,CACf,GAAG,EACH,OAAO,EACP,UAAU,EACV,eAAe;oCAEb,eAAe;mCACZ,IAAI,QAEV,EAAC;yBACH;wBAED;gCACE,eAAe;+BACZ,IAAI,SACP;qBACH;;wBAGH,sBAAO,IAAI,EAAC;;;;CACb,CAAC;AAEF,kBAAe,UAAU,CAAC"}
@@ -1,4 +0,0 @@
1
- import { CollectionConfig } from 'payload/types';
2
- import { Options } from './types';
3
- declare const populateBreadcrumbs: (req: any, options: Options, collection: CollectionConfig, data: any, originalDoc?: any) => Promise<any>;
4
- export default populateBreadcrumbs;
@@ -1,83 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
50
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
51
- if (ar || !(i in from)) {
52
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
53
- ar[i] = from[i];
54
- }
55
- }
56
- return to.concat(ar || Array.prototype.slice.call(from));
57
- };
58
- var __importDefault = (this && this.__importDefault) || function (mod) {
59
- return (mod && mod.__esModule) ? mod : { "default": mod };
60
- };
61
- Object.defineProperty(exports, "__esModule", { value: true });
62
- var getParents_1 = __importDefault(require("./getParents"));
63
- var formatBreadcrumb_1 = __importDefault(require("./formatBreadcrumb"));
64
- var populateBreadcrumbs = function (req, options, collection, data, originalDoc) { return __awaiter(void 0, void 0, void 0, function () {
65
- var newData, breadcrumbDocs, _a, breadcrumbs;
66
- var _b;
67
- return __generator(this, function (_c) {
68
- switch (_c.label) {
69
- case 0:
70
- newData = data;
71
- _a = [[]];
72
- return [4 /*yield*/, (0, getParents_1.default)(req, options, collection, __assign(__assign({}, originalDoc), data))];
73
- case 1:
74
- breadcrumbDocs = __spreadArray.apply(void 0, [__spreadArray.apply(void 0, _a.concat([_c.sent(), true])), [
75
- __assign(__assign(__assign({}, originalDoc), data), { id: originalDoc === null || originalDoc === void 0 ? void 0 : originalDoc.id }),
76
- ], false]);
77
- breadcrumbs = breadcrumbDocs.map(function (_, i) { return (0, formatBreadcrumb_1.default)(options, collection, breadcrumbDocs.slice(0, i + 1)); });
78
- return [2 /*return*/, __assign(__assign({}, newData), (_b = {}, _b[(options === null || options === void 0 ? void 0 : options.breadcrumbsFieldSlug) || 'breadcrumbs'] = breadcrumbs, _b))];
79
- }
80
- });
81
- }); };
82
- exports.default = populateBreadcrumbs;
83
- //# sourceMappingURL=populateBreadcrumbs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"populateBreadcrumbs.js","sourceRoot":"","sources":["../src/populateBreadcrumbs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,4DAAsC;AACtC,wEAAkD;AAElD,IAAM,mBAAmB,GAAG,UAAO,GAAQ,EAAE,OAAgB,EAAE,UAA4B,EAAE,IAAS,EAAE,WAAiB;;;;;;gBACjH,OAAO,GAAG,IAAI,CAAC;;gBAEhB,qBAAM,IAAA,oBAAU,EAAC,GAAG,EAAE,OAAO,EAAE,UAAU,wBACvC,WAAW,GACX,IAAI,EACP,EAAA;;gBAJE,cAAc,uEACf,SAGD;uDAEG,WAAW,GACX,IAAI,KACP,EAAE,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE;8BAEtB;gBAEK,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,IAAA,0BAAgB,EAAC,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAArE,CAAqE,CAAC,CAAC;gBAExH,4CACK,OAAO,gBACT,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,KAAI,aAAa,IAAG,WAAW,QAC7D;;;KACH,CAAC;AAEF,kBAAe,mBAAmB,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function isObject(item: unknown): boolean;
2
- export default function deepMerge<T, R>(target: T, source: R): T;
@@ -1,44 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.isObject = void 0;
15
- function isObject(item) {
16
- return Boolean(item && typeof item === 'object' && !Array.isArray(item));
17
- }
18
- exports.isObject = isObject;
19
- function deepMerge(target, source) {
20
- var output = __assign({}, target);
21
- if (isObject(target) && isObject(source)) {
22
- Object.keys(source).forEach(function (key) {
23
- var _a, _b;
24
- // @ts-ignore
25
- if (isObject(source[key])) {
26
- if (!(key in target)) {
27
- // @ts-ignore
28
- Object.assign(output, (_a = {}, _a[key] = source[key], _a));
29
- }
30
- else {
31
- // @ts-ignore
32
- output[key] = deepMerge(target[key], source[key]);
33
- }
34
- }
35
- else {
36
- // @ts-ignore
37
- Object.assign(output, (_b = {}, _b[key] = source[key], _b));
38
- }
39
- });
40
- }
41
- return output;
42
- }
43
- exports.default = deepMerge;
44
- //# sourceMappingURL=deepMerge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deepMerge.js","sourceRoot":"","sources":["../../src/utilities/deepMerge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,SAAgB,QAAQ,CAAC,IAAa;IACpC,OAAO,OAAO,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3E,CAAC;AAFD,4BAEC;AAED,SAAwB,SAAS,CAAO,MAAS,EAAE,MAAS;IAC1D,IAAM,MAAM,gBAAQ,MAAM,CAAE,CAAC;IAC7B,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;QACxC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;;YAC9B,aAAa;YACb,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;gBACzB,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE;oBACpB,aAAa;oBACb,MAAM,CAAC,MAAM,CAAC,MAAM,YAAI,GAAC,GAAG,IAAG,MAAM,CAAC,GAAG,CAAC,MAAG,CAAC;iBAC/C;qBAAM;oBACL,aAAa;oBACb,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;iBACnD;aACF;iBAAM;gBACL,aAAa;gBACb,MAAM,CAAC,MAAM,CAAC,MAAM,YAAI,GAAC,GAAG,IAAG,MAAM,CAAC,GAAG,CAAC,MAAG,CAAC;aAC/C;QACH,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AArBD,4BAqBC"}