@payloadcms/plugin-search 1.0.0 → 1.0.1
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 +43 -50
- package/dist/Search/hooks/deleteFromSearch.d.ts +1 -1
- package/dist/Search/hooks/deleteFromSearch.js +4 -2
- package/dist/Search/hooks/deleteFromSearch.js.map +1 -1
- package/dist/Search/hooks/syncWithSearch.d.ts +1 -1
- package/dist/Search/hooks/syncWithSearch.js +10 -11
- package/dist/Search/hooks/syncWithSearch.js.map +1 -1
- package/dist/Search/index.d.ts +2 -2
- package/dist/Search/index.js +53 -53
- package/dist/Search/index.js.map +1 -1
- package/dist/Search/ui/index.js +3 -3
- package/dist/Search/ui/index.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +32 -32
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +8 -8
- package/package.json +34 -12
- package/types.d.ts +1 -0
- package/types.js +1 -0
package/README.md
CHANGED
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@payloadcms/plugin-search)
|
|
4
4
|
|
|
5
|
-
A plugin for [Payload
|
|
5
|
+
A plugin for [Payload](https://github.com/payloadcms/payload) to create extremely fast search results from your existing documents.
|
|
6
6
|
|
|
7
7
|
Core features:
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
|
|
9
|
+
- Creates a `search` collection that:
|
|
10
|
+
- Automatically creates, syncs, and deletes search results related to your documents
|
|
11
|
+
- Serves search results extremely quickly by saving only search-critical data that you define
|
|
12
|
+
- Allows you to sort search results by priority
|
|
12
13
|
|
|
13
14
|
## Installation
|
|
14
15
|
|
|
@@ -23,32 +24,29 @@ Core features:
|
|
|
23
24
|
In the `plugins` array of your [Payload config](https://payloadcms.com/docs/configuration/overview), call the plugin with [options](#options):
|
|
24
25
|
|
|
25
26
|
```js
|
|
26
|
-
import { buildConfig } from
|
|
27
|
-
import search from
|
|
27
|
+
import { buildConfig } from "payload/config";
|
|
28
|
+
import search from "@payloadcms/plugin-search";
|
|
28
29
|
|
|
29
30
|
const config = buildConfig({
|
|
30
31
|
collections: [
|
|
31
32
|
{
|
|
32
|
-
slug:
|
|
33
|
-
fields: []
|
|
33
|
+
slug: "pages",
|
|
34
|
+
fields: [],
|
|
34
35
|
},
|
|
35
36
|
{
|
|
36
|
-
slug:
|
|
37
|
-
fields: []
|
|
38
|
-
}
|
|
37
|
+
slug: "posts",
|
|
38
|
+
fields: [],
|
|
39
|
+
},
|
|
39
40
|
],
|
|
40
41
|
plugins: [
|
|
41
42
|
search({
|
|
42
|
-
collections: [
|
|
43
|
-
'pages',
|
|
44
|
-
'posts'
|
|
45
|
-
],
|
|
43
|
+
collections: ["pages", "posts"],
|
|
46
44
|
defaultPriorities: {
|
|
47
45
|
pages: 10,
|
|
48
|
-
posts: 20
|
|
49
|
-
}
|
|
50
|
-
})
|
|
51
|
-
]
|
|
46
|
+
posts: 20,
|
|
47
|
+
},
|
|
48
|
+
}),
|
|
49
|
+
],
|
|
52
50
|
});
|
|
53
51
|
|
|
54
52
|
export default config;
|
|
@@ -58,7 +56,7 @@ export default config;
|
|
|
58
56
|
|
|
59
57
|
#### `collections`
|
|
60
58
|
|
|
61
|
-
|
|
59
|
+
An array of collections slugs to enable sync-to-search. Enabled collections receive a `beforeChange` and `afterDelete` hook that creates, syncs, and deleted the document to its related search document as it changes over time, and also an `afterDelete` hook that deletes.
|
|
62
60
|
|
|
63
61
|
#### `defaultPriorities`
|
|
64
62
|
|
|
@@ -68,11 +66,11 @@ The default priorities first set on `create` operations. Send an object of colle
|
|
|
68
66
|
plugins: [
|
|
69
67
|
searchPlugin({
|
|
70
68
|
defaultPriorities: {
|
|
71
|
-
pages: ({ doc }) => doc.title.startsWith(
|
|
72
|
-
posts: 20
|
|
73
|
-
}
|
|
74
|
-
})
|
|
75
|
-
]
|
|
69
|
+
pages: ({ doc }) => (doc.title.startsWith("Hello, world!") ? 1 : 10),
|
|
70
|
+
posts: 20,
|
|
71
|
+
},
|
|
72
|
+
}),
|
|
73
|
+
];
|
|
76
74
|
```
|
|
77
75
|
|
|
78
76
|
#### `searchOverrides`
|
|
@@ -83,47 +81,42 @@ Override anything on the search collection by sending a [Payload Collection Conf
|
|
|
83
81
|
plugins: [
|
|
84
82
|
searchPlugin({
|
|
85
83
|
searchOverrides: {
|
|
86
|
-
slug:
|
|
87
|
-
}
|
|
88
|
-
})
|
|
89
|
-
]
|
|
84
|
+
slug: "search-results",
|
|
85
|
+
},
|
|
86
|
+
}),
|
|
87
|
+
];
|
|
90
88
|
```
|
|
91
89
|
|
|
92
90
|
#### `beforeSync`
|
|
93
91
|
|
|
94
|
-
|
|
92
|
+
An [afterChange](<[afterChange](https://payloadcms.com/docs/hooks/globals#afterchange)>) hook that is called before creating or syncing the document to search. This allows you to modify the data in any way before doing so.
|
|
95
93
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
94
|
+
```js
|
|
95
|
+
plugins: [
|
|
96
|
+
searchPlugin({
|
|
97
|
+
beforeSync: ({ originalDoc, searchDoc }) => ({
|
|
98
|
+
...searchDoc,
|
|
99
|
+
// Modify your docs in any way here, this can be async
|
|
100
|
+
excerpt: originalDoc?.excerpt || "This is a fallback excerpt",
|
|
101
|
+
}),
|
|
102
|
+
}),
|
|
103
|
+
];
|
|
104
|
+
```
|
|
107
105
|
|
|
108
106
|
#### `syncDrafts`
|
|
109
107
|
|
|
110
|
-
|
|
108
|
+
If true, will sync draft documents to search. By default, this plugin will only sync published documents. False by default. You must have [Payload Drafts](https://payloadcms.com/docs/versions/drafts) enabled for this to apply.
|
|
111
109
|
|
|
112
110
|
#### `deleteDrafts`
|
|
113
111
|
|
|
114
|
-
|
|
112
|
+
If true, will delete documents from search that change to draft status. True by default. You must have [Payload Drafts](https://payloadcms.com/docs/versions/drafts) enabled for this to apply.
|
|
115
113
|
|
|
116
114
|
## TypeScript
|
|
117
115
|
|
|
118
116
|
All types can be directly imported:
|
|
119
117
|
|
|
120
118
|
```js
|
|
121
|
-
import {
|
|
122
|
-
SearchConfig,
|
|
123
|
-
BeforeSync
|
|
124
|
-
} from '@payloadcms/plugin-search/dist/types';
|
|
119
|
+
import { SearchConfig, BeforeSync } from "@payloadcms/plugin-search/dist/types";
|
|
125
120
|
```
|
|
126
121
|
|
|
127
122
|
## Screenshots
|
|
128
|
-
|
|
129
|
-
<!--  -->
|
|
@@ -14,7 +14,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
14
14
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
15
|
function step(op) {
|
|
16
16
|
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
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
19
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
20
|
switch (op[0]) {
|
|
@@ -68,7 +68,9 @@ var deleteFromSearch = function (_a) {
|
|
|
68
68
|
deleteSearchDoc();
|
|
69
69
|
}
|
|
70
70
|
catch (err) {
|
|
71
|
-
|
|
71
|
+
payload.logger.error({
|
|
72
|
+
err: "Error deleting search doc: ".concat(err),
|
|
73
|
+
});
|
|
72
74
|
}
|
|
73
75
|
return doc;
|
|
74
76
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deleteFromSearch.js","sourceRoot":"","sources":["../../../src/Search/hooks/deleteFromSearch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAM,gBAAgB,GAA8B,UAAC,EAAyB;QAAhB,OAAO,iBAAA,EAAI,GAAG,SAAA;IAC1E,IAAI;QACF,IAAM,eAAe,GAAG;;;;;4BACC,qBAAM,OAAO,CAAC,IAAI,CAAC;4BACxC,UAAU,EAAE,QAAQ;4BACpB,KAAK,EAAE;gCACL,WAAW,EAAE;oCACX,MAAM,EAAE,GAAG,CAAC,EAAE;iCACf;6BACF;4BACD,KAAK,EAAE,CAAC;yBACT,CAAC,EAAA;;wBARI,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"deleteFromSearch.js","sourceRoot":"","sources":["../../../src/Search/hooks/deleteFromSearch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAM,gBAAgB,GAA8B,UAAC,EAAyB;QAAhB,OAAO,iBAAA,EAAI,GAAG,SAAA;IAC1E,IAAI;QACF,IAAM,eAAe,GAAG;;;;;4BACC,qBAAM,OAAO,CAAC,IAAI,CAAC;4BACxC,UAAU,EAAE,QAAQ;4BACpB,KAAK,EAAE;gCACL,WAAW,EAAE;oCACX,MAAM,EAAE,GAAG,CAAC,EAAE;iCACf;6BACF;4BACD,KAAK,EAAE,CAAC;yBACT,CAAC,EAAA;;wBARI,cAAc,GAAG,SAQrB;wBAEF,IAAI,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,0CAAG,CAAC,CAAC,EAAE;4BAC7B,OAAO,CAAC,MAAM,CAAC;gCACb,UAAU,EAAE,QAAQ;gCACpB,EAAE,EAAE,MAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,0CAAG,CAAC,CAAC,0CAAE,EAAE;6BAClC,CAAC,CAAA;yBACH;;;;aACF,CAAA;QAED,eAAe,EAAE,CAAA;KAClB;IAAC,OAAO,GAAY,EAAE;QACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;YACnB,GAAG,EAAE,qCAA8B,GAAG,CAAE;SACzC,CAAC,CAAA;KACH;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,kBAAe,gBAAgB,CAAA"}
|
|
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
25
25
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
26
|
function step(op) {
|
|
27
27
|
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
-
while (_) try {
|
|
28
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
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
30
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
31
|
switch (op[0]) {
|
|
@@ -49,16 +49,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
49
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
50
|
var syncWithSearch = function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
51
51
|
var payload, doc, operation,
|
|
52
|
-
// @ts-
|
|
52
|
+
// @ts-expect-error
|
|
53
53
|
collection,
|
|
54
|
-
// @ts-
|
|
54
|
+
// @ts-expect-error
|
|
55
55
|
searchConfig, _a, title, id, status, _b, beforeSync, syncDrafts, deleteDrafts, defaultPriorities, dataToSave, defaultPriority, _c, _d, priority, err_1, doSync, searchDocQuery, docs, foundDoc, duplicativeDocs, searchDocID, err_2, err_3;
|
|
56
56
|
return __generator(this, function (_e) {
|
|
57
57
|
switch (_e.label) {
|
|
58
58
|
case 0:
|
|
59
59
|
payload = args.req.payload, doc = args.doc, operation = args.operation, collection = args.collection, searchConfig = args.searchConfig;
|
|
60
60
|
_a = doc || {}, title = _a.title, id = _a.id, status = _a._status;
|
|
61
|
-
_b = searchConfig
|
|
61
|
+
_b = searchConfig // todo fix SyncWithSearch type, see note in ./types.ts
|
|
62
|
+
, beforeSync = _b.beforeSync, syncDrafts = _b.syncDrafts, deleteDrafts = _b.deleteDrafts, defaultPriorities = _b.defaultPriorities;
|
|
62
63
|
dataToSave = {
|
|
63
64
|
title: title,
|
|
64
65
|
doc: {
|
|
@@ -70,7 +71,7 @@ var syncWithSearch = function (args) { return __awaiter(void 0, void 0, void 0,
|
|
|
70
71
|
return [4 /*yield*/, beforeSync({
|
|
71
72
|
originalDoc: doc,
|
|
72
73
|
searchDoc: dataToSave,
|
|
73
|
-
payload: payload
|
|
74
|
+
payload: payload,
|
|
74
75
|
})];
|
|
75
76
|
case 1:
|
|
76
77
|
dataToSave = _e.sent();
|
|
@@ -166,7 +167,7 @@ var syncWithSearch = function (args) { return __awaiter(void 0, void 0, void 0,
|
|
|
166
167
|
});
|
|
167
168
|
}
|
|
168
169
|
catch (err) {
|
|
169
|
-
payload.logger.error("Error deleting search document.
|
|
170
|
+
payload.logger.error("Error deleting search document: ".concat(err));
|
|
170
171
|
}
|
|
171
172
|
}
|
|
172
173
|
}
|
|
@@ -178,20 +179,18 @@ var syncWithSearch = function (args) { return __awaiter(void 0, void 0, void 0,
|
|
|
178
179
|
});
|
|
179
180
|
}
|
|
180
181
|
catch (err) {
|
|
181
|
-
payload.logger.error(err);
|
|
182
|
-
payload.logger.error("Error creating search document.");
|
|
182
|
+
payload.logger.error("Error creating search document: ".concat(err));
|
|
183
183
|
}
|
|
184
184
|
}
|
|
185
185
|
return [3 /*break*/, 13];
|
|
186
186
|
case 12:
|
|
187
187
|
err_2 = _e.sent();
|
|
188
|
-
payload.logger.error("Error finding search document.
|
|
188
|
+
payload.logger.error("Error finding search document: ".concat(err_2));
|
|
189
189
|
return [3 /*break*/, 13];
|
|
190
190
|
case 13: return [3 /*break*/, 15];
|
|
191
191
|
case 14:
|
|
192
192
|
err_3 = _e.sent();
|
|
193
|
-
payload.logger.error(err_3);
|
|
194
|
-
payload.logger.error("Error syncing search document related to ".concat(collection, " with id: '").concat(id, "'"));
|
|
193
|
+
payload.logger.error("Error syncing search document related to ".concat(collection, " with id: '").concat(id, "': ").concat(err_3));
|
|
195
194
|
return [3 /*break*/, 15];
|
|
196
195
|
case 15: return [2 /*return*/, doc];
|
|
197
196
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncWithSearch.js","sourceRoot":"","sources":["../../../src/Search/hooks/syncWithSearch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAM,cAAc,GAAmB,
|
|
1
|
+
{"version":3,"file":"syncWithSearch.js","sourceRoot":"","sources":["../../../src/Search/hooks/syncWithSearch.ts"],"names":[],"mappings":"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"}
|
package/dist/Search/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { CollectionConfig } from 'payload/types';
|
|
2
|
-
import { SearchConfig } from '../types';
|
|
1
|
+
import type { CollectionConfig } from 'payload/types';
|
|
2
|
+
import type { SearchConfig } from '../types';
|
|
3
3
|
export declare const generateSearchCollection: (searchConfig: SearchConfig) => CollectionConfig;
|
package/dist/Search/index.js
CHANGED
|
@@ -7,62 +7,62 @@ exports.generateSearchCollection = void 0;
|
|
|
7
7
|
var ts_deepmerge_1 = __importDefault(require("ts-deepmerge"));
|
|
8
8
|
var ui_1 = require("./ui");
|
|
9
9
|
// all settings can be overridden by the config
|
|
10
|
-
var generateSearchCollection = function (searchConfig) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
admin: {
|
|
17
|
-
useAsTitle: 'title',
|
|
18
|
-
defaultColumns: [
|
|
19
|
-
'title',
|
|
20
|
-
],
|
|
21
|
-
description: 'This is a collection of automatically created search results. These results are used by the global site search and will be updated automatically as documents in the CMS are created or updated.',
|
|
22
|
-
enableRichTextRelationship: false,
|
|
23
|
-
},
|
|
24
|
-
access: {
|
|
25
|
-
read: function () { return true; },
|
|
26
|
-
create: function () { return false; },
|
|
27
|
-
},
|
|
28
|
-
fields: [
|
|
29
|
-
{
|
|
30
|
-
name: 'title',
|
|
31
|
-
type: 'text',
|
|
32
|
-
admin: {
|
|
33
|
-
readOnly: true,
|
|
34
|
-
}
|
|
10
|
+
var generateSearchCollection = function (searchConfig) {
|
|
11
|
+
return (0, ts_deepmerge_1.default)({
|
|
12
|
+
slug: 'search',
|
|
13
|
+
labels: {
|
|
14
|
+
singular: 'Search Result',
|
|
15
|
+
plural: 'Search Results',
|
|
35
16
|
},
|
|
36
|
-
{
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
17
|
+
admin: {
|
|
18
|
+
useAsTitle: 'title',
|
|
19
|
+
defaultColumns: ['title'],
|
|
20
|
+
description: 'This is a collection of automatically created search results. These results are used by the global site search and will be updated automatically as documents in the CMS are created or updated.',
|
|
21
|
+
enableRichTextRelationship: false,
|
|
42
22
|
},
|
|
43
|
-
{
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
relationTo: (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.collections) || [],
|
|
47
|
-
required: true,
|
|
48
|
-
index: true,
|
|
49
|
-
maxDepth: 0,
|
|
50
|
-
admin: {
|
|
51
|
-
readOnly: true,
|
|
52
|
-
position: 'sidebar'
|
|
53
|
-
},
|
|
23
|
+
access: {
|
|
24
|
+
read: function () { return true; },
|
|
25
|
+
create: function () { return false; },
|
|
54
26
|
},
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
}
|
|
27
|
+
fields: [
|
|
28
|
+
{
|
|
29
|
+
name: 'title',
|
|
30
|
+
type: 'text',
|
|
31
|
+
admin: {
|
|
32
|
+
readOnly: true,
|
|
33
|
+
},
|
|
63
34
|
},
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
35
|
+
{
|
|
36
|
+
name: 'priority',
|
|
37
|
+
type: 'number',
|
|
38
|
+
admin: {
|
|
39
|
+
position: 'sidebar',
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'doc',
|
|
44
|
+
type: 'relationship',
|
|
45
|
+
relationTo: (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.collections) || [],
|
|
46
|
+
required: true,
|
|
47
|
+
index: true,
|
|
48
|
+
maxDepth: 0,
|
|
49
|
+
admin: {
|
|
50
|
+
readOnly: true,
|
|
51
|
+
position: 'sidebar',
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: 'docUrl',
|
|
56
|
+
type: 'ui',
|
|
57
|
+
admin: {
|
|
58
|
+
position: 'sidebar',
|
|
59
|
+
components: {
|
|
60
|
+
Field: ui_1.LinkToDoc,
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
}, (searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.searchOverrides) || {});
|
|
66
|
+
};
|
|
67
67
|
exports.generateSearchCollection = generateSearchCollection;
|
|
68
68
|
//# sourceMappingURL=index.js.map
|
package/dist/Search/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Search/index.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Search/index.ts"],"names":[],"mappings":";;;;;;AACA,8DAAoC;AAGpC,2BAAgC;AAEhC,+CAA+C;AACxC,IAAM,wBAAwB,GAAG,UAAC,YAA0B;IACjE,OAAA,IAAA,sBAAS,EACP;QACE,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE;YACN,QAAQ,EAAE,eAAe;YACzB,MAAM,EAAE,gBAAgB;SACzB;QACD,KAAK,EAAE;YACL,UAAU,EAAE,OAAO;YACnB,cAAc,EAAE,CAAC,OAAO,CAAC;YACzB,WAAW,EACT,kMAAkM;YACpM,0BAA0B,EAAE,KAAK;SAClC;QACD,MAAM,EAAE;YACN,IAAI,EAAE,cAAe,OAAA,IAAI,EAAJ,CAAI;YACzB,MAAM,EAAE,cAAe,OAAA,KAAK,EAAL,CAAK;SAC7B;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE;oBACL,QAAQ,EAAE,IAAI;iBACf;aACF;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE;oBACL,QAAQ,EAAE,SAAS;iBACpB;aACF;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,cAAc;gBACpB,UAAU,EAAE,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,WAAW,KAAI,EAAE;gBAC3C,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE;oBACL,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,SAAS;iBACpB;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE;oBACL,QAAQ,EAAE,SAAS;oBACnB,UAAU,EAAE;wBACV,KAAK,EAAE,cAAS;qBACjB;iBACF;aACF;SACF;KACF,EACD,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,eAAe,KAAI,EAAE,CACpC;AA1DD,CA0DC,CAAA;AA3DU,QAAA,wBAAwB,4BA2DlC"}
|
package/dist/Search/ui/index.js
CHANGED
|
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.LinkToDoc = void 0;
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
8
|
var forms_1 = require("payload/components/forms");
|
|
9
|
-
var CopyToClipboard_1 = __importDefault(require("payload/dist/admin/components/elements/CopyToClipboard"));
|
|
10
9
|
var utilities_1 = require("payload/components/utilities");
|
|
10
|
+
var CopyToClipboard_1 = __importDefault(require("payload/dist/admin/components/elements/CopyToClipboard"));
|
|
11
11
|
var LinkToDoc = function () {
|
|
12
12
|
var form = (0, forms_1.useWatchForm)();
|
|
13
13
|
var fields = form.fields;
|
|
@@ -18,13 +18,13 @@ var LinkToDoc = function () {
|
|
|
18
18
|
return (react_1.default.createElement("div", null,
|
|
19
19
|
react_1.default.createElement("div", null,
|
|
20
20
|
react_1.default.createElement("span", { className: "label", style: {
|
|
21
|
-
color: '#9A9A9A'
|
|
21
|
+
color: '#9A9A9A',
|
|
22
22
|
} }, "Doc URL"),
|
|
23
23
|
react_1.default.createElement(CopyToClipboard_1.default, { value: href })),
|
|
24
24
|
react_1.default.createElement("div", { style: {
|
|
25
25
|
overflow: 'hidden',
|
|
26
26
|
textOverflow: 'ellipsis',
|
|
27
|
-
fontWeight: '600'
|
|
27
|
+
fontWeight: '600',
|
|
28
28
|
} },
|
|
29
29
|
react_1.default.createElement("a", { href: href }, href))));
|
|
30
30
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Search/ui/index.tsx"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Search/ui/index.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAAyB;AACzB,kDAAuD;AACvD,0DAAwD;AACxD,2GAAoF;AAa7E,IAAM,SAAS,GAAsB;IAC1C,IAAM,IAAI,GAAG,IAAA,oBAAY,GAAE,CAAA;IAC3B,IAAM,MAAM,GAAG,IAAI,CAAC,MAAuB,CAAA;IAIvC,IAAA,KAEA,MAAM,UAF6B,EAA1B,UAAU,gBAAA,EAAS,KAAK,WAAE,CAE7B;IAEV,IAAM,MAAM,GAAG,IAAA,qBAAS,GAAE,CAAA;IAGxB,IAAA,SAAS,GAIP,MAAM,UAJC,EACT,KAGE,MAAM,OADF,EAFN,qBAEI,EAAE,KAAA,EADG,UAAU,WACb,CACE;IAEV,IAAM,IAAI,GAAG,UAAG,SAAS,SAAG,UAAU,0BAAgB,UAAU,cAAI,KAAK,CAAE,CAAA;IAE3E,OAAO,CACL;QACE;YACE,wCACE,SAAS,EAAC,OAAO,EACjB,KAAK,EAAE;oBACL,KAAK,EAAE,SAAS;iBACjB,cAGI;YACP,8BAAC,yBAAe,IAAC,KAAK,EAAE,IAAc,GAAI,CACtC;QACN,uCACE,KAAK,EAAE;gBACL,QAAQ,EAAE,QAAQ;gBAClB,YAAY,EAAE,UAAU;gBACxB,UAAU,EAAE,KAAK;aAClB;YAED,qCAAG,IAAI,EAAE,IAAc,IAAG,IAAI,CAAK,CAC/B,CACF,CACP,CAAA;AACH,CAAC,CAAA;AA7CY,QAAA,SAAS,aA6CrB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Config } from 'payload/config';
|
|
2
|
-
import { SearchConfig } from './types';
|
|
1
|
+
import type { Config } from 'payload/config';
|
|
2
|
+
import type { SearchConfig } from './types';
|
|
3
3
|
declare const Search: (incomingSearchConfig: SearchConfig) => (config: Config) => Config;
|
|
4
4
|
export default Search;
|
package/dist/index.js
CHANGED
|
@@ -25,7 +25,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
25
25
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
26
|
function step(op) {
|
|
27
27
|
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
-
while (_) try {
|
|
28
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
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
30
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
31
|
switch (op[0]) {
|
|
@@ -60,37 +60,37 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
60
60
|
};
|
|
61
61
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
62
62
|
var Search_1 = require("./Search");
|
|
63
|
-
var syncWithSearch_1 = __importDefault(require("./Search/hooks/syncWithSearch"));
|
|
64
63
|
var deleteFromSearch_1 = __importDefault(require("./Search/hooks/deleteFromSearch"));
|
|
65
|
-
var
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
var
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
var
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
return
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
};
|
|
64
|
+
var syncWithSearch_1 = __importDefault(require("./Search/hooks/syncWithSearch"));
|
|
65
|
+
var Search = function (incomingSearchConfig) {
|
|
66
|
+
return function (config) {
|
|
67
|
+
var _a;
|
|
68
|
+
var collections = config.collections;
|
|
69
|
+
if (collections) {
|
|
70
|
+
var searchConfig_1 = __assign(__assign({}, incomingSearchConfig), { syncDrafts: false, deleteDrafts: true });
|
|
71
|
+
// add a beforeChange hook to every search-enabled collection
|
|
72
|
+
var collectionsWithSearchHooks = (_a = config === null || config === void 0 ? void 0 : config.collections) === null || _a === void 0 ? void 0 : _a.map(function (collection) {
|
|
73
|
+
var existingHooks = collection.hooks;
|
|
74
|
+
var enabledCollections = searchConfig_1.collections || [];
|
|
75
|
+
var isEnabled = enabledCollections.indexOf(collection.slug) > -1;
|
|
76
|
+
if (isEnabled) {
|
|
77
|
+
return __assign(__assign({}, collection), { hooks: __assign(__assign({}, collection.hooks), { afterChange: __spreadArray(__spreadArray([], ((existingHooks === null || existingHooks === void 0 ? void 0 : existingHooks.afterChange) || []), true), [
|
|
78
|
+
function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
79
|
+
return __generator(this, function (_a) {
|
|
80
|
+
(0, syncWithSearch_1.default)(__assign(__assign({}, args), { collection: collection.slug, searchConfig: searchConfig_1 }));
|
|
81
|
+
return [2 /*return*/];
|
|
82
|
+
});
|
|
83
|
+
}); },
|
|
84
|
+
], false), afterDelete: __spreadArray(__spreadArray([], ((existingHooks === null || existingHooks === void 0 ? void 0 : existingHooks.afterDelete) || []), true), [deleteFromSearch_1.default], false) }) });
|
|
85
|
+
}
|
|
86
|
+
return collection;
|
|
87
|
+
}).filter(Boolean);
|
|
88
|
+
return __assign(__assign({}, config), { collections: __spreadArray(__spreadArray([], (collectionsWithSearchHooks || []), true), [
|
|
89
|
+
(0, Search_1.generateSearchCollection)(searchConfig_1),
|
|
90
|
+
], false) });
|
|
91
|
+
}
|
|
92
|
+
return config;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
95
|
exports.default = Search;
|
|
96
96
|
//# 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,mCAAmD;AACnD,qFAA8D;AAC9D,iFAA0D;AAG1D,IAAM,MAAM,GACV,UAAC,oBAAkC;IACnC,OAAA,UAAC,MAAc;;QACL,IAAA,WAAW,GAAK,MAAM,YAAX,CAAW;QAE9B,IAAI,WAAW,EAAE;YACf,IAAM,cAAY,yBACb,oBAAoB,KACvB,UAAU,EAAE,KAAK,EACjB,YAAY,EAAE,IAAI,GAEnB,CAAA;YAED,6DAA6D;YAC7D,IAAM,0BAA0B,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,0CAClD,GAAG,CAAC,UAAA,UAAU;gBACN,IAAO,aAAa,GAAK,UAAU,MAAf,CAAe;gBAE3C,IAAM,kBAAkB,GAAG,cAAY,CAAC,WAAW,IAAI,EAAE,CAAA;gBACzD,IAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;gBAClE,IAAI,SAAS,EAAE;oBACb,6BACK,UAAU,KACb,KAAK,wBACA,UAAU,CAAC,KAAK,KACnB,WAAW,kCACN,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,KAAI,EAAE,CAAC;gCACrC,UAAO,IAAS;;wCACd,IAAA,wBAAc,wBACT,IAAI,KACP,UAAU,EAAE,UAAU,CAAC,IAAI,EAC3B,YAAY,gBAAA,IACZ,CAAA;;;qCACH;uCAEH,WAAW,kCAAM,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,KAAI,EAAE,CAAC,UAAE,0BAAgB,gBAExE;iBACF;gBAED,OAAO,UAAU,CAAA;YACnB,CAAC,EACA,MAAM,CAAC,OAAO,CAAC,CAAA;YAElB,6BACK,MAAM,KACT,WAAW,kCACN,CAAC,0BAA0B,IAAI,EAAE,CAAC;oBACrC,IAAA,iCAAwB,EAAC,cAAY,CAAC;6BAEzC;SACF;QAED,OAAO,MAAM,CAAA;IACf,CAAC;AApDD,CAoDC,CAAA;AAEH,kBAAe,MAAM,CAAA"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { Payload } from 'payload';
|
|
2
|
-
import { CollectionAfterChangeHook, CollectionConfig } from 'payload/types';
|
|
3
|
-
export
|
|
1
|
+
import type { Payload } from 'payload';
|
|
2
|
+
import type { CollectionAfterChangeHook, CollectionConfig } from 'payload/types';
|
|
3
|
+
export interface DocToSync {
|
|
4
4
|
[key: string]: any;
|
|
5
5
|
title: string;
|
|
6
6
|
doc: {
|
|
7
7
|
relationTo: string;
|
|
8
8
|
value: string;
|
|
9
9
|
};
|
|
10
|
-
}
|
|
11
|
-
export
|
|
10
|
+
}
|
|
11
|
+
export type BeforeSync = (args: {
|
|
12
12
|
originalDoc: {
|
|
13
13
|
[key: string]: any;
|
|
14
14
|
};
|
|
15
15
|
searchDoc: DocToSync;
|
|
16
16
|
payload: Payload;
|
|
17
17
|
}) => DocToSync | Promise<DocToSync>;
|
|
18
|
-
export
|
|
18
|
+
export interface SearchConfig {
|
|
19
19
|
searchOverrides?: Partial<CollectionConfig>;
|
|
20
20
|
collections?: string[];
|
|
21
21
|
defaultPriorities?: {
|
|
@@ -24,5 +24,5 @@ export declare type SearchConfig = {
|
|
|
24
24
|
beforeSync?: BeforeSync;
|
|
25
25
|
syncDrafts?: boolean;
|
|
26
26
|
deleteDrafts?: boolean;
|
|
27
|
-
}
|
|
28
|
-
export
|
|
27
|
+
}
|
|
28
|
+
export type SyncWithSearch = CollectionAfterChangeHook;
|
package/package.json
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/plugin-search",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"homepage:": "https://payloadcms.com",
|
|
5
5
|
"repository": "git@github.com:payloadcms/plugin-search.git",
|
|
6
|
-
"description": "Search plugin for Payload
|
|
6
|
+
"description": "Search plugin for Payload",
|
|
7
7
|
"main": "dist/index.js",
|
|
8
8
|
"types": "dist/index.d.ts",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"build": "tsc",
|
|
11
|
-
"test": "echo \"Error: no test specified\" && exit 1"
|
|
11
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
12
|
+
"lint": "eslint src",
|
|
13
|
+
"lint:fix": "eslint --fix --ext .ts,.tsx src"
|
|
12
14
|
},
|
|
13
15
|
"keywords": [
|
|
14
16
|
"payload",
|
|
@@ -22,18 +24,38 @@
|
|
|
22
24
|
"author": "dev@trbl.design",
|
|
23
25
|
"license": "MIT",
|
|
24
26
|
"peerDependencies": {
|
|
25
|
-
"payload": "^0.18.5",
|
|
27
|
+
"payload": "^0.18.5 || ^1.0.0",
|
|
26
28
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
|
|
27
29
|
},
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"ts-deepmerge": "^2.0.1"
|
|
32
|
+
},
|
|
28
33
|
"devDependencies": {
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
34
|
+
"@payloadcms/eslint-config": "^0.0.1",
|
|
35
|
+
"@types/express": "^4.17.9",
|
|
36
|
+
"@types/node": "18.11.3",
|
|
37
|
+
"@types/react": "18.0.21",
|
|
38
|
+
"@typescript-eslint/eslint-plugin": "^5.51.0",
|
|
39
|
+
"@typescript-eslint/parser": "^5.51.0",
|
|
40
|
+
"copyfiles": "^2.4.1",
|
|
41
|
+
"cross-env": "^7.0.3",
|
|
42
|
+
"eslint": "^8.19.0",
|
|
43
|
+
"eslint-config-prettier": "^8.5.0",
|
|
44
|
+
"eslint-plugin-filenames": "^1.3.2",
|
|
45
|
+
"eslint-plugin-import": "2.25.4",
|
|
46
|
+
"eslint-plugin-prettier": "^4.0.0",
|
|
47
|
+
"eslint-plugin-react-hooks": "^4.6.0",
|
|
48
|
+
"eslint-plugin-simple-import-sort": "^10.0.0",
|
|
49
|
+
"nodemon": "^2.0.6",
|
|
50
|
+
"payload": "^1.8.2",
|
|
51
|
+
"prettier": "^2.7.1",
|
|
52
|
+
"react": "^18.0.0",
|
|
53
|
+
"ts-node": "^9.1.1",
|
|
54
|
+
"typescript": "^4.8.4"
|
|
32
55
|
},
|
|
33
56
|
"files": [
|
|
34
|
-
"dist"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
57
|
+
"dist",
|
|
58
|
+
"types.js",
|
|
59
|
+
"types.d.ts"
|
|
60
|
+
]
|
|
39
61
|
}
|
package/types.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './dist/types';
|
package/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('./dist/types');
|