@payloadcms/plugin-search 1.1.0 → 3.0.0-alpha.43

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.
@@ -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 deleteFromSearch = async ({ doc, req: { payload }, req })=>{
12
2
  try {
13
3
  const searchDocQuery = await payload.find({
@@ -34,6 +24,6 @@ const deleteFromSearch = async ({ doc, req: { payload }, req })=>{
34
24
  }
35
25
  return doc;
36
26
  };
37
- const _default = deleteFromSearch;
27
+ export default deleteFromSearch;
38
28
 
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9TZWFyY2gvaG9va3MvZGVsZXRlRnJvbVNlYXJjaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25BZnRlckRlbGV0ZUhvb2sgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5jb25zdCBkZWxldGVGcm9tU2VhcmNoOiBDb2xsZWN0aW9uQWZ0ZXJEZWxldGVIb29rID0gYXN5bmMgKHsgZG9jLCByZXE6IHsgcGF5bG9hZCB9LCByZXEgfSkgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHNlYXJjaERvY1F1ZXJ5ID0gYXdhaXQgcGF5bG9hZC5maW5kKHtcbiAgICAgIGNvbGxlY3Rpb246ICdzZWFyY2gnLFxuICAgICAgZGVwdGg6IDAsXG4gICAgICByZXEsXG4gICAgICB3aGVyZToge1xuICAgICAgICAnZG9jLnZhbHVlJzoge1xuICAgICAgICAgIGVxdWFsczogZG9jLmlkLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgaWYgKHNlYXJjaERvY1F1ZXJ5Py5kb2NzPy5bMF0pIHtcbiAgICAgIGF3YWl0IHBheWxvYWQuZGVsZXRlKHtcbiAgICAgICAgaWQ6IHNlYXJjaERvY1F1ZXJ5Py5kb2NzPy5bMF0/LmlkLFxuICAgICAgICBjb2xsZWN0aW9uOiAnc2VhcmNoJyxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICB9XG4gIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgIHBheWxvYWQubG9nZ2VyLmVycm9yKHtcbiAgICAgIGVycjogYEVycm9yIGRlbGV0aW5nIHNlYXJjaCBkb2M6ICR7ZXJyfWAsXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBkb2Ncbn1cblxuZXhwb3J0IGRlZmF1bHQgZGVsZXRlRnJvbVNlYXJjaFxuIl0sIm5hbWVzIjpbImRlbGV0ZUZyb21TZWFyY2giLCJkb2MiLCJyZXEiLCJwYXlsb2FkIiwic2VhcmNoRG9jUXVlcnkiLCJmaW5kIiwiY29sbGVjdGlvbiIsImRlcHRoIiwid2hlcmUiLCJlcXVhbHMiLCJpZCIsImRvY3MiLCJkZWxldGUiLCJlcnIiLCJsb2dnZXIiLCJlcnJvciJdLCJtYXBwaW5ncyI6Ijs7OzsrQkErQkE7OztlQUFBOzs7QUE3QkEsTUFBTUEsbUJBQThDLE9BQU8sRUFBRUMsR0FBRyxFQUFFQyxLQUFLLEVBQUVDLE9BQU8sRUFBRSxFQUFFRCxHQUFHLEVBQUU7SUFDdkYsSUFBSTtRQUNGLE1BQU1FLGlCQUFpQixNQUFNRCxRQUFRRSxJQUFJLENBQUM7WUFDeENDLFlBQVk7WUFDWkMsT0FBTztZQUNQTDtZQUNBTSxPQUFPO2dCQUNMLGFBQWE7b0JBQ1hDLFFBQVFSLElBQUlTLEVBQUU7Z0JBQ2hCO1lBQ0Y7UUFDRjtRQUVBLElBQUlOLGdCQUFnQk8sTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUM3QixNQUFNUixRQUFRUyxNQUFNLENBQUM7Z0JBQ25CRixJQUFJTixnQkFBZ0JPLE1BQU0sQ0FBQyxFQUFFLEVBQUVEO2dCQUMvQkosWUFBWTtnQkFDWko7WUFDRjtRQUNGO0lBQ0YsRUFBRSxPQUFPVyxLQUFjO1FBQ3JCVixRQUFRVyxNQUFNLENBQUNDLEtBQUssQ0FBQztZQUNuQkYsS0FBSyxDQUFDLDJCQUEyQixFQUFFQSxJQUFJLENBQUM7UUFDMUM7SUFDRjtJQUVBLE9BQU9aO0FBQ1Q7TUFFQSxXQUFlRCJ9
29
+ //# sourceMappingURL=deleteFromSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Search/hooks/deleteFromSearch.ts"],"sourcesContent":["import type { CollectionAfterDeleteHook } from 'payload/types'\n\nconst deleteFromSearch: CollectionAfterDeleteHook = async ({ doc, req: { payload }, req }) => {\n try {\n const searchDocQuery = await payload.find({\n collection: 'search',\n depth: 0,\n req,\n where: {\n 'doc.value': {\n equals: doc.id,\n },\n },\n })\n\n if (searchDocQuery?.docs?.[0]) {\n await payload.delete({\n id: searchDocQuery?.docs?.[0]?.id,\n collection: 'search',\n req,\n })\n }\n } catch (err: unknown) {\n payload.logger.error({\n err: `Error deleting search doc: ${err}`,\n })\n }\n\n return doc\n}\n\nexport default deleteFromSearch\n"],"names":["deleteFromSearch","doc","req","payload","searchDocQuery","find","collection","depth","where","equals","id","docs","delete","err","logger","error"],"mappings":"AAEA,MAAMA,mBAA8C,OAAO,EAAEC,GAAG,EAAEC,KAAK,EAAEC,OAAO,EAAE,EAAED,GAAG,EAAE;IACvF,IAAI;QACF,MAAME,iBAAiB,MAAMD,QAAQE,IAAI,CAAC;YACxCC,YAAY;YACZC,OAAO;YACPL;YACAM,OAAO;gBACL,aAAa;oBACXC,QAAQR,IAAIS,EAAE;gBAChB;YACF;QACF;QAEA,IAAIN,gBAAgBO,MAAM,CAAC,EAAE,EAAE;YAC7B,MAAMR,QAAQS,MAAM,CAAC;gBACnBF,IAAIN,gBAAgBO,MAAM,CAAC,EAAE,EAAED;gBAC/BJ,YAAY;gBACZJ;YACF;QACF;IACF,EAAE,OAAOW,KAAc;QACrBV,QAAQW,MAAM,CAACC,KAAK,CAAC;YACnBF,KAAK,CAAC,2BAA2B,EAAEA,IAAI,CAAC;QAC1C;IACF;IAEA,OAAOZ;AACT;AAEA,eAAeD,iBAAgB"}
@@ -1,4 +1,4 @@
1
- import type { SyncWithSearch } from '../../types';
1
+ import type { SyncWithSearch } from '../../types.js';
2
2
  declare const syncWithSearch: SyncWithSearch;
3
3
  export default syncWithSearch;
4
4
  //# sourceMappingURL=syncWithSearch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncWithSearch.d.ts","sourceRoot":"","sources":["../../../src/Search/hooks/syncWithSearch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,cAAc,EAAE,MAAM,aAAa,CAAA;AAE1E,QAAA,MAAM,cAAc,EAAE,cA8JrB,CAAA;AAED,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"syncWithSearch.d.ts","sourceRoot":"","sources":["../../../src/Search/hooks/syncWithSearch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE7E,QAAA,MAAM,cAAc,EAAE,cA8JrB,CAAA;AAED,eAAe,cAAc,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 syncWithSearch = async (args)=>{
12
2
  const { collection, doc, operation, req: { payload }, req, // @ts-expect-error
13
3
  searchConfig } = args;
@@ -143,6 +133,6 @@ const syncWithSearch = async (args)=>{
143
133
  }
144
134
  return doc;
145
135
  };
146
- const _default = syncWithSearch;
136
+ export default syncWithSearch;
147
137
 
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9TZWFyY2gvaG9va3Mvc3luY1dpdGhTZWFyY2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEb2NUb1N5bmMsIFNlYXJjaENvbmZpZywgU3luY1dpdGhTZWFyY2ggfSBmcm9tICcuLi8uLi90eXBlcydcblxuY29uc3Qgc3luY1dpdGhTZWFyY2g6IFN5bmNXaXRoU2VhcmNoID0gYXN5bmMgKGFyZ3MpID0+IHtcbiAgY29uc3Qge1xuICAgIGNvbGxlY3Rpb24sXG4gICAgZG9jLFxuICAgIG9wZXJhdGlvbixcbiAgICByZXE6IHsgcGF5bG9hZCB9LFxuICAgIHJlcSxcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgc2VhcmNoQ29uZmlnLFxuICB9ID0gYXJnc1xuXG4gIGNvbnN0IHsgaWQsIF9zdGF0dXM6IHN0YXR1cywgdGl0bGUgfSA9IGRvYyB8fCB7fVxuXG4gIGNvbnN0IHsgYmVmb3JlU3luYywgZGVmYXVsdFByaW9yaXRpZXMsIGRlbGV0ZURyYWZ0cywgc3luY0RyYWZ0cyB9ID0gc2VhcmNoQ29uZmlnIGFzIFNlYXJjaENvbmZpZyAvLyB0b2RvIGZpeCBTeW5jV2l0aFNlYXJjaCB0eXBlLCBzZWUgbm90ZSBpbiAuL3R5cGVzLnRzXG5cbiAgbGV0IGRhdGFUb1NhdmU6IERvY1RvU3luYyA9IHtcbiAgICBkb2M6IHtcbiAgICAgIHJlbGF0aW9uVG86IGNvbGxlY3Rpb24sXG4gICAgICB2YWx1ZTogaWQsXG4gICAgfSxcbiAgICB0aXRsZSxcbiAgfVxuXG4gIGlmICh0eXBlb2YgYmVmb3JlU3luYyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGRhdGFUb1NhdmUgPSBhd2FpdCBiZWZvcmVTeW5jKHtcbiAgICAgIG9yaWdpbmFsRG9jOiBkb2MsXG4gICAgICBwYXlsb2FkLFxuICAgICAgcmVxLFxuICAgICAgc2VhcmNoRG9jOiBkYXRhVG9TYXZlLFxuICAgIH0pXG4gIH1cblxuICBsZXQgZGVmYXVsdFByaW9yaXR5ID0gMFxuICBpZiAoZGVmYXVsdFByaW9yaXRpZXMpIHtcbiAgICBjb25zdCB7IFtjb2xsZWN0aW9uXTogcHJpb3JpdHkgfSA9IGRlZmF1bHRQcmlvcml0aWVzXG5cbiAgICBpZiAodHlwZW9mIHByaW9yaXR5ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0cnkge1xuICAgICAgICBkZWZhdWx0UHJpb3JpdHkgPSBhd2FpdCBwcmlvcml0eShkb2MpXG4gICAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgICAgcGF5bG9hZC5sb2dnZXIuZXJyb3IoZXJyKVxuICAgICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcihcbiAgICAgICAgICBgRXJyb3IgZ2F0aGVyaW5nIGRlZmF1bHQgcHJpb3JpdHkgZm9yIHNlYXJjaCBkb2N1bWVudHMgcmVsYXRlZCB0byAke2NvbGxlY3Rpb259YCxcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBkZWZhdWx0UHJpb3JpdHkgPSBwcmlvcml0eVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRvU3luYyA9IHN5bmNEcmFmdHMgfHwgKCFzeW5jRHJhZnRzICYmIHN0YXR1cyAhPT0gJ2RyYWZ0JylcblxuICB0cnkge1xuICAgIGlmIChvcGVyYXRpb24gPT09ICdjcmVhdGUnKSB7XG4gICAgICBpZiAoZG9TeW5jKSB7XG4gICAgICAgIGF3YWl0IHBheWxvYWQuY3JlYXRlKHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiAnc2VhcmNoJyxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAuLi5kYXRhVG9TYXZlLFxuICAgICAgICAgICAgcHJpb3JpdHk6IGRlZmF1bHRQcmlvcml0eSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob3BlcmF0aW9uID09PSAndXBkYXRlJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gZmluZCB0aGUgY29ycmVjdCBkb2MgdG8gc3luYyB3aXRoXG4gICAgICAgIGNvbnN0IHNlYXJjaERvY1F1ZXJ5ID0gYXdhaXQgcGF5bG9hZC5maW5kKHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiAnc2VhcmNoJyxcbiAgICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgICdkb2MudmFsdWUnOiB7XG4gICAgICAgICAgICAgIGVxdWFsczogaWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgZG9jczogQXJyYXk8e1xuICAgICAgICAgIGlkOiBudW1iZXIgfCBzdHJpbmdcbiAgICAgICAgICBwcmlvcml0eT86IG51bWJlclxuICAgICAgICB9PiA9IHNlYXJjaERvY1F1ZXJ5Py5kb2NzIHx8IFtdXG5cbiAgICAgICAgY29uc3QgW2ZvdW5kRG9jLCAuLi5kdXBsaWNhdGl2ZURvY3NdID0gZG9jc1xuXG4gICAgICAgIC8vIGRlbGV0ZSBhbGwgZHVwbGljYXRpdmUgc2VhcmNoIGRvY3MgKGRvY3MgdGhhdCByZWZlcmVuY2UgdGhlIHNhbWUgcGFnZSlcbiAgICAgICAgLy8gdG8gZW5zdXJlIHRoZSBzYW1lLCBvdXQtb2YtZGF0ZSByZXN1bHQgZG9lcyBub3QgYXBwZWFyIHR3aWNlICh3aGVyZSBvbmx5IHN5bmNpbmcgdGhlIGZpcnN0IGZvdW5kIGRvYylcbiAgICAgICAgaWYgKGR1cGxpY2F0aXZlRG9jcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGR1cGxpY2F0aXZlRG9jSURzID0gZHVwbGljYXRpdmVEb2NzLm1hcCgoeyBpZCB9KSA9PiBpZClcbiAgICAgICAgICAgIGF3YWl0IHBheWxvYWQuZGVsZXRlKHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbjogJ3NlYXJjaCcsXG4gICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgd2hlcmU6IHsgaWQ6IHsgaW46IGR1cGxpY2F0aXZlRG9jSURzIH0gfSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICAgICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcihgRXJyb3IgZGVsZXRpbmcgZHVwbGljYXRpdmUgc2VhcmNoIGRvY3VtZW50cy5gKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmb3VuZERvYykge1xuICAgICAgICAgIGNvbnN0IHsgaWQ6IHNlYXJjaERvY0lEIH0gPSBmb3VuZERvY1xuXG4gICAgICAgICAgaWYgKGRvU3luYykge1xuICAgICAgICAgICAgLy8gdXBkYXRlIHRoZSBkb2Mgbm9ybWFsbHlcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGF3YWl0IHBheWxvYWQudXBkYXRlKHtcbiAgICAgICAgICAgICAgICBpZDogc2VhcmNoRG9jSUQsXG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbjogJ3NlYXJjaCcsXG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgLi4uZGF0YVRvU2F2ZSxcbiAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiBmb3VuZERvYy5wcmlvcml0eSB8fCBkZWZhdWx0UHJpb3JpdHksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgcGF5bG9hZC5sb2dnZXIuZXJyb3IoYEVycm9yIHVwZGF0aW5nIHNlYXJjaCBkb2N1bWVudC5gKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZGVsZXRlRHJhZnRzICYmIHN0YXR1cyA9PT0gJ2RyYWZ0Jykge1xuICAgICAgICAgICAgLy8gZG8gbm90IGluY2x1ZGUgZHJhZnQgZG9jcyBpbiBzZWFyY2ggcmVzdWx0cywgc28gZGVsZXRlIHRoZSByZWNvcmRcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGF3YWl0IHBheWxvYWQuZGVsZXRlKHtcbiAgICAgICAgICAgICAgICBpZDogc2VhcmNoRG9jSUQsXG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbjogJ3NlYXJjaCcsXG4gICAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICAgICAgICAgIHBheWxvYWQubG9nZ2VyLmVycm9yKGBFcnJvciBkZWxldGluZyBzZWFyY2ggZG9jdW1lbnQ6ICR7ZXJyfWApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGRvU3luYykge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCBwYXlsb2FkLmNyZWF0ZSh7XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb246ICdzZWFyY2gnLFxuICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgLi4uZGF0YVRvU2F2ZSxcbiAgICAgICAgICAgICAgICBwcmlvcml0eTogZGVmYXVsdFByaW9yaXR5LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgICAgICAgcGF5bG9hZC5sb2dnZXIuZXJyb3IoYEVycm9yIGNyZWF0aW5nIHNlYXJjaCBkb2N1bWVudDogJHtlcnJ9YClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcihgRXJyb3IgZmluZGluZyBzZWFyY2ggZG9jdW1lbnQ6ICR7ZXJyfWApXG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcihcbiAgICAgIGBFcnJvciBzeW5jaW5nIHNlYXJjaCBkb2N1bWVudCByZWxhdGVkIHRvICR7Y29sbGVjdGlvbn0gd2l0aCBpZDogJyR7aWR9JzogJHtlcnJ9YCxcbiAgICApXG4gIH1cblxuICByZXR1cm4gZG9jXG59XG5cbmV4cG9ydCBkZWZhdWx0IHN5bmNXaXRoU2VhcmNoXG4iXSwibmFtZXMiOlsic3luY1dpdGhTZWFyY2giLCJhcmdzIiwiY29sbGVjdGlvbiIsImRvYyIsIm9wZXJhdGlvbiIsInJlcSIsInBheWxvYWQiLCJzZWFyY2hDb25maWciLCJpZCIsIl9zdGF0dXMiLCJzdGF0dXMiLCJ0aXRsZSIsImJlZm9yZVN5bmMiLCJkZWZhdWx0UHJpb3JpdGllcyIsImRlbGV0ZURyYWZ0cyIsInN5bmNEcmFmdHMiLCJkYXRhVG9TYXZlIiwicmVsYXRpb25UbyIsInZhbHVlIiwib3JpZ2luYWxEb2MiLCJzZWFyY2hEb2MiLCJkZWZhdWx0UHJpb3JpdHkiLCJwcmlvcml0eSIsImVyciIsImxvZ2dlciIsImVycm9yIiwiZG9TeW5jIiwiY3JlYXRlIiwiZGF0YSIsInNlYXJjaERvY1F1ZXJ5IiwiZmluZCIsImRlcHRoIiwid2hlcmUiLCJlcXVhbHMiLCJkb2NzIiwiZm91bmREb2MiLCJkdXBsaWNhdGl2ZURvY3MiLCJsZW5ndGgiLCJkdXBsaWNhdGl2ZURvY0lEcyIsIm1hcCIsImRlbGV0ZSIsImluIiwic2VhcmNoRG9jSUQiLCJ1cGRhdGUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBa0tBOzs7ZUFBQTs7O0FBaEtBLE1BQU1BLGlCQUFpQyxPQUFPQztJQUM1QyxNQUFNLEVBQ0pDLFVBQVUsRUFDVkMsR0FBRyxFQUNIQyxTQUFTLEVBQ1RDLEtBQUssRUFBRUMsT0FBTyxFQUFFLEVBQ2hCRCxHQUFHLEVBQ0gsbUJBQW1CO0lBQ25CRSxZQUFZLEVBQ2IsR0FBR047SUFFSixNQUFNLEVBQUVPLEVBQUUsRUFBRUMsU0FBU0MsTUFBTSxFQUFFQyxLQUFLLEVBQUUsR0FBR1IsT0FBTyxDQUFDO0lBRS9D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
138
+ //# sourceMappingURL=syncWithSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Search/hooks/syncWithSearch.ts"],"sourcesContent":["import type { DocToSync, SearchConfig, SyncWithSearch } from '../../types.js'\n\nconst syncWithSearch: SyncWithSearch = async (args) => {\n const {\n collection,\n doc,\n operation,\n req: { payload },\n req,\n // @ts-expect-error\n searchConfig,\n } = args\n\n const { id, _status: status, title } = doc || {}\n\n const { beforeSync, defaultPriorities, deleteDrafts, syncDrafts } = searchConfig as SearchConfig // todo fix SyncWithSearch type, see note in ./types.ts\n\n let dataToSave: DocToSync = {\n doc: {\n relationTo: collection,\n value: id,\n },\n title,\n }\n\n if (typeof beforeSync === 'function') {\n dataToSave = await beforeSync({\n originalDoc: doc,\n payload,\n req,\n searchDoc: dataToSave,\n })\n }\n\n let defaultPriority = 0\n if (defaultPriorities) {\n const { [collection]: priority } = defaultPriorities\n\n if (typeof priority === 'function') {\n try {\n defaultPriority = await priority(doc)\n } catch (err: unknown) {\n payload.logger.error(err)\n payload.logger.error(\n `Error gathering default priority for search documents related to ${collection}`,\n )\n }\n } else {\n defaultPriority = priority\n }\n }\n\n const doSync = syncDrafts || (!syncDrafts && status !== 'draft')\n\n try {\n if (operation === 'create') {\n if (doSync) {\n await payload.create({\n collection: 'search',\n data: {\n ...dataToSave,\n priority: defaultPriority,\n },\n req,\n })\n }\n }\n\n if (operation === 'update') {\n try {\n // find the correct doc to sync with\n const searchDocQuery = await payload.find({\n collection: 'search',\n depth: 0,\n req,\n where: {\n 'doc.value': {\n equals: id,\n },\n },\n })\n\n const docs: Array<{\n id: number | string\n priority?: number\n }> = searchDocQuery?.docs || []\n\n const [foundDoc, ...duplicativeDocs] = docs\n\n // delete all duplicative search docs (docs that reference the same page)\n // to ensure the same, out-of-date result does not appear twice (where only syncing the first found doc)\n if (duplicativeDocs.length > 0) {\n try {\n const duplicativeDocIDs = duplicativeDocs.map(({ id }) => id)\n await payload.delete({\n collection: 'search',\n req,\n where: { id: { in: duplicativeDocIDs } },\n })\n } catch (err: unknown) {\n payload.logger.error(`Error deleting duplicative search documents.`)\n }\n }\n\n if (foundDoc) {\n const { id: searchDocID } = foundDoc\n\n if (doSync) {\n // update the doc normally\n try {\n await payload.update({\n id: searchDocID,\n collection: 'search',\n data: {\n ...dataToSave,\n priority: foundDoc.priority || defaultPriority,\n },\n req,\n })\n } catch (err: unknown) {\n payload.logger.error(`Error updating search document.`)\n }\n }\n if (deleteDrafts && status === 'draft') {\n // do not include draft docs in search results, so delete the record\n try {\n await payload.delete({\n id: searchDocID,\n collection: 'search',\n req,\n })\n } catch (err: unknown) {\n payload.logger.error(`Error deleting search document: ${err}`)\n }\n }\n } else if (doSync) {\n try {\n await payload.create({\n collection: 'search',\n data: {\n ...dataToSave,\n priority: defaultPriority,\n },\n req,\n })\n } catch (err: unknown) {\n payload.logger.error(`Error creating search document: ${err}`)\n }\n }\n } catch (err: unknown) {\n payload.logger.error(`Error finding search document: ${err}`)\n }\n }\n } catch (err: unknown) {\n payload.logger.error(\n `Error syncing search document related to ${collection} with id: '${id}': ${err}`,\n )\n }\n\n return doc\n}\n\nexport default syncWithSearch\n"],"names":["syncWithSearch","args","collection","doc","operation","req","payload","searchConfig","id","_status","status","title","beforeSync","defaultPriorities","deleteDrafts","syncDrafts","dataToSave","relationTo","value","originalDoc","searchDoc","defaultPriority","priority","err","logger","error","doSync","create","data","searchDocQuery","find","depth","where","equals","docs","foundDoc","duplicativeDocs","length","duplicativeDocIDs","map","delete","in","searchDocID","update"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { CollectionConfig } from 'payload/types';
2
- import type { SearchConfig } from '../types';
2
+ import type { SearchConfig } from '../types.js';
3
3
  export declare const generateSearchCollection: (searchConfig: SearchConfig) => CollectionConfig;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Search/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAIrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAK5C,eAAO,MAAM,wBAAwB,iBAAkB,YAAY,KAAG,gBA2DnE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Search/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAIrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAK/C,eAAO,MAAM,wBAAwB,iBAAkB,YAAY,KAAG,gBA2DnE,CAAA"}
@@ -1,21 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "generateSearchCollection", {
6
- enumerable: true,
7
- get: function() {
8
- return generateSearchCollection;
9
- }
10
- });
11
- const _tsdeepmerge = /*#__PURE__*/ _interop_require_default(require("ts-deepmerge"));
12
- const _ui = require("./ui");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- const generateSearchCollection = (searchConfig)=>(0, _tsdeepmerge.default)({
1
+ import deepMerge from 'deepmerge';
2
+ import { LinkToDoc } from './ui/index.js';
3
+ // all settings can be overridden by the config
4
+ export const generateSearchCollection = (searchConfig)=>deepMerge({
5
+ slug: 'search',
19
6
  access: {
20
7
  create: ()=>false,
21
8
  read: ()=>true
@@ -31,20 +18,21 @@ const generateSearchCollection = (searchConfig)=>(0, _tsdeepmerge.default)({
31
18
  fields: [
32
19
  {
33
20
  name: 'title',
21
+ type: 'text',
34
22
  admin: {
35
23
  readOnly: true
36
- },
37
- type: 'text'
24
+ }
38
25
  },
39
26
  {
40
27
  name: 'priority',
28
+ type: 'number',
41
29
  admin: {
42
30
  position: 'sidebar'
43
- },
44
- type: 'number'
31
+ }
45
32
  },
46
33
  {
47
34
  name: 'doc',
35
+ type: 'relationship',
48
36
  admin: {
49
37
  position: 'sidebar',
50
38
  readOnly: true
@@ -52,25 +40,23 @@ const generateSearchCollection = (searchConfig)=>(0, _tsdeepmerge.default)({
52
40
  index: true,
53
41
  maxDepth: 0,
54
42
  relationTo: searchConfig?.collections || [],
55
- required: true,
56
- type: 'relationship'
43
+ required: true
57
44
  },
58
45
  {
59
46
  name: 'docUrl',
47
+ type: 'ui',
60
48
  admin: {
61
49
  components: {
62
- Field: _ui.LinkToDoc
50
+ Field: LinkToDoc
63
51
  },
64
52
  position: 'sidebar'
65
- },
66
- type: 'ui'
53
+ }
67
54
  }
68
55
  ],
69
56
  labels: {
70
57
  plural: 'Search Results',
71
58
  singular: 'Search Result'
72
- },
73
- slug: 'search'
59
+ }
74
60
  }, searchConfig?.searchOverrides || {});
75
61
 
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TZWFyY2gvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IGRlZXBNZXJnZSBmcm9tICd0cy1kZWVwbWVyZ2UnXG5cbmltcG9ydCB0eXBlIHsgU2VhcmNoQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IExpbmtUb0RvYyB9IGZyb20gJy4vdWknXG5cbi8vIGFsbCBzZXR0aW5ncyBjYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgY29uZmlnXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVTZWFyY2hDb2xsZWN0aW9uID0gKHNlYXJjaENvbmZpZzogU2VhcmNoQ29uZmlnKTogQ29sbGVjdGlvbkNvbmZpZyA9PlxuICBkZWVwTWVyZ2UoXG4gICAge1xuICAgICAgYWNjZXNzOiB7XG4gICAgICAgIGNyZWF0ZTogKCk6IGJvb2xlYW4gPT4gZmFsc2UsXG4gICAgICAgIHJlYWQ6ICgpOiBib29sZWFuID0+IHRydWUsXG4gICAgICB9LFxuICAgICAgYWRtaW46IHtcbiAgICAgICAgZGVmYXVsdENvbHVtbnM6IFsndGl0bGUnXSxcbiAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgJ1RoaXMgaXMgYSBjb2xsZWN0aW9uIG9mIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBzZWFyY2ggcmVzdWx0cy4gVGhlc2UgcmVzdWx0cyBhcmUgdXNlZCBieSB0aGUgZ2xvYmFsIHNpdGUgc2VhcmNoIGFuZCB3aWxsIGJlIHVwZGF0ZWQgYXV0b21hdGljYWxseSBhcyBkb2N1bWVudHMgaW4gdGhlIENNUyBhcmUgY3JlYXRlZCBvciB1cGRhdGVkLicsXG4gICAgICAgIGVuYWJsZVJpY2hUZXh0UmVsYXRpb25zaGlwOiBmYWxzZSxcbiAgICAgICAgdXNlQXNUaXRsZTogJ3RpdGxlJyxcbiAgICAgIH0sXG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICd0aXRsZScsXG4gICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgIHJlYWRPbmx5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3ByaW9yaXR5JyxcbiAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgcG9zaXRpb246ICdzaWRlYmFyJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2RvYycsXG4gICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnc2lkZWJhcicsXG4gICAgICAgICAgICByZWFkT25seTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGluZGV4OiB0cnVlLFxuICAgICAgICAgIG1heERlcHRoOiAwLFxuICAgICAgICAgIHJlbGF0aW9uVG86IHNlYXJjaENvbmZpZz8uY29sbGVjdGlvbnMgfHwgW10sXG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgdHlwZTogJ3JlbGF0aW9uc2hpcCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnZG9jVXJsJyxcbiAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgICAgICBGaWVsZDogTGlua1RvRG9jLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnc2lkZWJhcicsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0eXBlOiAndWknLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGxhYmVsczoge1xuICAgICAgICBwbHVyYWw6ICdTZWFyY2ggUmVzdWx0cycsXG4gICAgICAgIHNpbmd1bGFyOiAnU2VhcmNoIFJlc3VsdCcsXG4gICAgICB9LFxuICAgICAgc2x1ZzogJ3NlYXJjaCcsXG4gICAgfSxcbiAgICBzZWFyY2hDb25maWc/LnNlYXJjaE92ZXJyaWRlcyB8fCB7fSxcbiAgKVxuIl0sIm5hbWVzIjpbImdlbmVyYXRlU2VhcmNoQ29sbGVjdGlvbiIsInNlYXJjaENvbmZpZyIsImRlZXBNZXJnZSIsImFjY2VzcyIsImNyZWF0ZSIsInJlYWQiLCJhZG1pbiIsImRlZmF1bHRDb2x1bW5zIiwiZGVzY3JpcHRpb24iLCJlbmFibGVSaWNoVGV4dFJlbGF0aW9uc2hpcCIsInVzZUFzVGl0bGUiLCJmaWVsZHMiLCJuYW1lIiwicmVhZE9ubHkiLCJ0eXBlIiwicG9zaXRpb24iLCJpbmRleCIsIm1heERlcHRoIiwicmVsYXRpb25UbyIsImNvbGxlY3Rpb25zIiwicmVxdWlyZWQiLCJjb21wb25lbnRzIiwiRmllbGQiLCJMaW5rVG9Eb2MiLCJsYWJlbHMiLCJwbHVyYWwiLCJzaW5ndWxhciIsInNsdWciLCJzZWFyY2hPdmVycmlkZXMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBU2FBOzs7ZUFBQUE7OztvRUFQUztvQkFJSTs7Ozs7O0FBR25CLE1BQU1BLDJCQUEyQixDQUFDQyxlQUN2Q0MsSUFBQUEsb0JBQVMsRUFDUDtRQUNFQyxRQUFRO1lBQ05DLFFBQVEsSUFBZTtZQUN2QkMsTUFBTSxJQUFlO1FBQ3ZCO1FBQ0FDLE9BQU87WUFDTEMsZ0JBQWdCO2dCQUFDO2FBQVE7WUFDekJDLGFBQ0U7WUFDRkMsNEJBQTRCO1lBQzVCQyxZQUFZO1FBQ2Q7UUFDQUMsUUFBUTtZQUNOO2dCQUNFQyxNQUFNO2dCQUNOTixPQUFPO29CQUNMTyxVQUFVO2dCQUNaO2dCQUNBQyxNQUFNO1lBQ1I7WUFDQTtnQkFDRUYsTUFBTTtnQkFDTk4sT0FBTztvQkFDTFMsVUFBVTtnQkFDWjtnQkFDQUQsTUFBTTtZQUNSO1lBQ0E7Z0JBQ0VGLE1BQU07Z0JBQ05OLE9BQU87b0JBQ0xTLFVBQVU7b0JBQ1ZGLFVBQVU7Z0JBQ1o7Z0JBQ0FHLE9BQU87Z0JBQ1BDLFVBQVU7Z0JBQ1ZDLFlBQVlqQixjQUFja0IsZUFBZSxFQUFFO2dCQUMzQ0MsVUFBVTtnQkFDVk4sTUFBTTtZQUNSO1lBQ0E7Z0JBQ0VGLE1BQU07Z0JBQ05OLE9BQU87b0JBQ0xlLFlBQVk7d0JBQ1ZDLE9BQU9DLGFBQVM7b0JBQ2xCO29CQUNBUixVQUFVO2dCQUNaO2dCQUNBRCxNQUFNO1lBQ1I7U0FDRDtRQUNEVSxRQUFRO1lBQ05DLFFBQVE7WUFDUkMsVUFBVTtRQUNaO1FBQ0FDLE1BQU07SUFDUixHQUNBMUIsY0FBYzJCLG1CQUFtQixDQUFDIn0=
62
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Search/index.ts"],"sourcesContent":["import type { CollectionConfig } from 'payload/types'\n\nimport deepMerge from 'deepmerge'\n\nimport type { SearchConfig } from '../types.js'\n\nimport { LinkToDoc } from './ui/index.js'\n\n// all settings can be overridden by the config\nexport const generateSearchCollection = (searchConfig: SearchConfig): CollectionConfig =>\n deepMerge(\n {\n slug: 'search',\n access: {\n create: (): boolean => false,\n read: (): boolean => true,\n },\n admin: {\n defaultColumns: ['title'],\n description:\n '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.',\n enableRichTextRelationship: false,\n useAsTitle: 'title',\n },\n fields: [\n {\n name: 'title',\n type: 'text',\n admin: {\n readOnly: true,\n },\n },\n {\n name: 'priority',\n type: 'number',\n admin: {\n position: 'sidebar',\n },\n },\n {\n name: 'doc',\n type: 'relationship',\n admin: {\n position: 'sidebar',\n readOnly: true,\n },\n index: true,\n maxDepth: 0,\n relationTo: searchConfig?.collections || [],\n required: true,\n },\n {\n name: 'docUrl',\n type: 'ui',\n admin: {\n components: {\n Field: LinkToDoc,\n },\n position: 'sidebar',\n },\n },\n ],\n labels: {\n plural: 'Search Results',\n singular: 'Search Result',\n },\n },\n searchConfig?.searchOverrides || {},\n )\n"],"names":["deepMerge","LinkToDoc","generateSearchCollection","searchConfig","slug","access","create","read","admin","defaultColumns","description","enableRichTextRelationship","useAsTitle","fields","name","type","readOnly","position","index","maxDepth","relationTo","collections","required","components","Field","labels","plural","singular","searchOverrides"],"mappings":"AAEA,OAAOA,eAAe,YAAW;AAIjC,SAASC,SAAS,QAAQ,gBAAe;AAEzC,+CAA+C;AAC/C,OAAO,MAAMC,2BAA2B,CAACC,eACvCH,UACE;QACEI,MAAM;QACNC,QAAQ;YACNC,QAAQ,IAAe;YACvBC,MAAM,IAAe;QACvB;QACAC,OAAO;YACLC,gBAAgB;gBAAC;aAAQ;YACzBC,aACE;YACFC,4BAA4B;YAC5BC,YAAY;QACd;QACAC,QAAQ;YACN;gBACEC,MAAM;gBACNC,MAAM;gBACNP,OAAO;oBACLQ,UAAU;gBACZ;YACF;YACA;gBACEF,MAAM;gBACNC,MAAM;gBACNP,OAAO;oBACLS,UAAU;gBACZ;YACF;YACA;gBACEH,MAAM;gBACNC,MAAM;gBACNP,OAAO;oBACLS,UAAU;oBACVD,UAAU;gBACZ;gBACAE,OAAO;gBACPC,UAAU;gBACVC,YAAYjB,cAAckB,eAAe,EAAE;gBAC3CC,UAAU;YACZ;YACA;gBACER,MAAM;gBACNC,MAAM;gBACNP,OAAO;oBACLe,YAAY;wBACVC,OAAOvB;oBACT;oBACAgB,UAAU;gBACZ;YACF;SACD;QACDQ,QAAQ;YACNC,QAAQ;YACRC,UAAU;QACZ;IACF,GACAxB,cAAcyB,mBAAmB,CAAC,GACnC"}
@@ -1,4 +1,4 @@
1
- import type { UIField } from 'payload/dist/fields/config/types';
1
+ import type { UIField } from 'payload/types';
2
2
  import React from 'react';
3
3
  export declare const LinkToDoc: React.FC<UIField>;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Search/ui/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAA;AAM/D,OAAO,KAAK,MAAM,OAAO,CAAA;AAWzB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CA6CvC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Search/ui/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,OAAO,EAAE,MAAM,eAAe,CAAA;AAGvD,OAAO,KAAK,MAAM,OAAO,CAAA;AAazB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CA6CvC,CAAA"}
@@ -1,42 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "LinkToDoc", {
6
- enumerable: true,
7
- get: function() {
8
- return LinkToDoc;
9
- }
10
- });
11
- const _forms = require("payload/components/forms");
12
- const _utilities = require("payload/components/utilities");
13
- const _react = /*#__PURE__*/ _interop_require_default(require("react"));
14
- function _interop_require_default(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
- const LinkToDoc = ()=>{
20
- const form = (0, _forms.useWatchForm)();
1
+ import { useConfig, useWatchForm } from '@payloadcms/ui';
2
+ import React from 'react';
3
+ export const LinkToDoc = ()=>{
4
+ const form = useWatchForm();
21
5
  const fields = form.fields;
22
6
  const { doc: { value: { relationTo, value: docId } } } = fields;
23
- const config = (0, _utilities.useConfig)();
24
- const { routes: { admin: adminRoute } = {}, serverURL } = config;
7
+ const config = useConfig();
8
+ const { routes: { admin: adminRoute }, serverURL } = config;
25
9
  const href = `${serverURL}${adminRoute}/collections/${relationTo}/${docId}`;
26
- return /*#__PURE__*/ _react.default.createElement("div", null, /*#__PURE__*/ _react.default.createElement("div", null, /*#__PURE__*/ _react.default.createElement("span", {
10
+ return /*#__PURE__*/ React.createElement("div", null, /*#__PURE__*/ React.createElement("div", null, /*#__PURE__*/ React.createElement("span", {
27
11
  className: "label",
28
12
  style: {
29
13
  color: '#9A9A9A'
30
14
  }
31
- }, "Doc URL")), /*#__PURE__*/ _react.default.createElement("div", {
15
+ }, "Doc URL")), /*#__PURE__*/ React.createElement("div", {
32
16
  style: {
33
17
  fontWeight: '600',
34
18
  overflow: 'hidden',
35
19
  textOverflow: 'ellipsis'
36
20
  }
37
- }, /*#__PURE__*/ _react.default.createElement("a", {
21
+ }, /*#__PURE__*/ React.createElement("a", {
38
22
  href: href
39
23
  }, href)));
40
24
  };
41
25
 
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9TZWFyY2gvdWkvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGRzIH0gZnJvbSAncGF5bG9hZC9kaXN0L2FkbWluL2NvbXBvbmVudHMvZm9ybXMvRm9ybS90eXBlcydcbmltcG9ydCB0eXBlIHsgVUlGaWVsZCB9IGZyb20gJ3BheWxvYWQvZGlzdC9maWVsZHMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyB1c2VXYXRjaEZvcm0gfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMvZm9ybXMnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMvdXRpbGl0aWVzJ1xuLy8gVE9ETzogZml4IHRoaXMgaW1wb3J0IHRvIHdvcmsgaW4gZGV2IG1vZGUgd2l0aGluIHRoZSBtb25vcmVwbyBpbiBhIHdheSB0aGF0IGlzIGJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGggMS54XG4vLyBpbXBvcnQgQ29weVRvQ2xpcGJvYXJkIGZyb20gJ3BheWxvYWQvZGlzdC9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL0NvcHlUb0NsaXBib2FyZCdcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcblxudHlwZSBGaWVsZHNXaXRoRG9jID0gRmllbGRzICYge1xuICBkb2M6IHtcbiAgICB2YWx1ZToge1xuICAgICAgcmVsYXRpb25Ubzogc3RyaW5nXG4gICAgICB2YWx1ZTogc3RyaW5nXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBMaW5rVG9Eb2M6IFJlYWN0LkZDPFVJRmllbGQ+ID0gKCkgPT4ge1xuICBjb25zdCBmb3JtID0gdXNlV2F0Y2hGb3JtKClcbiAgY29uc3QgZmllbGRzID0gZm9ybS5maWVsZHMgYXMgRmllbGRzV2l0aERvY1xuXG4gIGNvbnN0IHtcbiAgICBkb2M6IHtcbiAgICAgIHZhbHVlOiB7IHJlbGF0aW9uVG8sIHZhbHVlOiBkb2NJZCB9LFxuICAgIH0sXG4gIH0gPSBmaWVsZHNcblxuICBjb25zdCBjb25maWcgPSB1c2VDb25maWcoKVxuXG4gIGNvbnN0IHtcbiAgICByb3V0ZXM6IHtcbiAgICAgIGFkbWluOiBhZG1pblJvdXRlLCAvLyBhbHJlYWR5IGluY2x1ZGVzIGxlYWRpbmcgc2xhc2hcbiAgICB9ID0ge30sXG4gICAgc2VydmVyVVJMLFxuICB9ID0gY29uZmlnXG5cbiAgY29uc3QgaHJlZiA9IGAke3NlcnZlclVSTH0ke2FkbWluUm91dGV9L2NvbGxlY3Rpb25zLyR7cmVsYXRpb25Ub30vJHtkb2NJZH1gXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzc05hbWU9XCJsYWJlbFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNvbG9yOiAnIzlBOUE5QScsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIERvYyBVUkxcbiAgICAgICAgPC9zcGFuPlxuICAgICAgICB7LyogPENvcHlUb0NsaXBib2FyZCB2YWx1ZT17aHJlZn0gLz4gKi99XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBmb250V2VpZ2h0OiAnNjAwJyxcbiAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8YSBocmVmPXtocmVmfT57aHJlZn08L2E+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkxpbmtUb0RvYyIsImZvcm0iLCJ1c2VXYXRjaEZvcm0iLCJmaWVsZHMiLCJkb2MiLCJ2YWx1ZSIsInJlbGF0aW9uVG8iLCJkb2NJZCIsImNvbmZpZyIsInVzZUNvbmZpZyIsInJvdXRlcyIsImFkbWluIiwiYWRtaW5Sb3V0ZSIsInNlcnZlclVSTCIsImhyZWYiLCJkaXYiLCJzcGFuIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJjb2xvciIsImZvbnRXZWlnaHQiLCJvdmVyZmxvdyIsInRleHRPdmVyZmxvdyIsImEiXSwibWFwcGluZ3MiOiI7Ozs7K0JBa0JhQTs7O2VBQUFBOzs7dUJBZmdCOzJCQUNIOzhEQUdSOzs7Ozs7QUFXWCxNQUFNQSxZQUErQjtJQUMxQyxNQUFNQyxPQUFPQyxJQUFBQSxtQkFBWTtJQUN6QixNQUFNQyxTQUFTRixLQUFLRSxNQUFNO0lBRTFCLE1BQU0sRUFDSkMsS0FBSyxFQUNIQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUQsT0FBT0UsS0FBSyxFQUFFLEVBQ3BDLEVBQ0YsR0FBR0o7SUFFSixNQUFNSyxTQUFTQyxJQUFBQSxvQkFBUztJQUV4QixNQUFNLEVBQ0pDLFFBQVEsRUFDTkMsT0FBT0MsVUFBVSxFQUNsQixHQUFHLENBQUMsQ0FBQyxFQUNOQyxTQUFTLEVBQ1YsR0FBR0w7SUFFSixNQUFNTSxPQUFPLENBQUMsRUFBRUQsVUFBVSxFQUFFRCxXQUFXLGFBQWEsRUFBRU4sV0FBVyxDQUFDLEVBQUVDLE1BQU0sQ0FBQztJQUUzRSxxQkFDRSw2QkFBQ1EsMkJBQ0MsNkJBQUNBLDJCQUNDLDZCQUFDQztRQUNDQyxXQUFVO1FBQ1ZDLE9BQU87WUFDTEMsT0FBTztRQUNUO09BQ0QsMkJBS0gsNkJBQUNKO1FBQ0NHLE9BQU87WUFDTEUsWUFBWTtZQUNaQyxVQUFVO1lBQ1ZDLGNBQWM7UUFDaEI7cUJBRUEsNkJBQUNDO1FBQUVULE1BQU1BO09BQU9BO0FBSXhCIn0=
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Search/ui/index.tsx"],"sourcesContent":["import type { FormState, UIField } from 'payload/types'\n\nimport { useConfig, useWatchForm } from '@payloadcms/ui'\nimport React from 'react'\n// TODO: fix this import to work in dev mode within the monorepo in a way that is backwards compatible with 1.x\n// import CopyToClipboard from 'payload/dist/admin/components/elements/CopyToClipboard'\n\ntype FieldsWithDoc = FormState & {\n doc: {\n value: {\n relationTo: string\n value: string\n }\n }\n}\n\nexport const LinkToDoc: React.FC<UIField> = () => {\n const form = useWatchForm()\n const fields = form.fields as FieldsWithDoc\n\n const {\n doc: {\n value: { relationTo, value: docId },\n },\n } = fields\n\n const config = useConfig()\n\n const {\n routes: {\n admin: adminRoute, // already includes leading slash\n },\n serverURL,\n } = config\n\n const href = `${serverURL}${adminRoute}/collections/${relationTo}/${docId}`\n\n return (\n <div>\n <div>\n <span\n className=\"label\"\n style={{\n color: '#9A9A9A',\n }}\n >\n Doc URL\n </span>\n {/* <CopyToClipboard value={href} /> */}\n </div>\n <div\n style={{\n fontWeight: '600',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }}\n >\n <a href={href}>{href}</a>\n </div>\n </div>\n )\n}\n"],"names":["useConfig","useWatchForm","React","LinkToDoc","form","fields","doc","value","relationTo","docId","config","routes","admin","adminRoute","serverURL","href","div","span","className","style","color","fontWeight","overflow","textOverflow","a"],"mappings":"AAEA,SAASA,SAAS,EAAEC,YAAY,QAAQ,iBAAgB;AACxD,OAAOC,WAAW,QAAO;AAazB,OAAO,MAAMC,YAA+B;IAC1C,MAAMC,OAAOH;IACb,MAAMI,SAASD,KAAKC,MAAM;IAE1B,MAAM,EACJC,KAAK,EACHC,OAAO,EAAEC,UAAU,EAAED,OAAOE,KAAK,EAAE,EACpC,EACF,GAAGJ;IAEJ,MAAMK,SAASV;IAEf,MAAM,EACJW,QAAQ,EACNC,OAAOC,UAAU,EAClB,EACDC,SAAS,EACV,GAAGJ;IAEJ,MAAMK,OAAO,CAAC,EAAED,UAAU,EAAED,WAAW,aAAa,EAAEL,WAAW,CAAC,EAAEC,MAAM,CAAC;IAE3E,qBACE,oBAACO,2BACC,oBAACA,2BACC,oBAACC;QACCC,WAAU;QACVC,OAAO;YACLC,OAAO;QACT;OACD,2BAKH,oBAACJ;QACCG,OAAO;YACLE,YAAY;YACZC,UAAU;YACVC,cAAc;QAChB;qBAEA,oBAACC;QAAET,MAAMA;OAAOA;AAIxB,EAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Config } from 'payload/config';
2
- import type { SearchConfig } from './types';
2
+ import type { SearchConfig } from './types.js';
3
3
  declare const Search: (incomingSearchConfig: SearchConfig) => (config: Config) => Config;
4
4
  export default Search;
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;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAM3C,QAAA,MAAM,MAAM,yBACa,YAAY,cAC1B,MAAM,KAAG,MAoDjB,CAAA;AAEH,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAM9C,QAAA,MAAM,MAAM,yBACa,YAAY,cAC1B,MAAM,KAAG,MAoDjB,CAAA;AAEH,eAAe,MAAM,CAAA"}
package/dist/index.js CHANGED
@@ -1,21 +1,6 @@
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 _Search = require("./Search");
12
- const _deleteFromSearch = /*#__PURE__*/ _interop_require_default(require("./Search/hooks/deleteFromSearch"));
13
- const _syncWithSearch = /*#__PURE__*/ _interop_require_default(require("./Search/hooks/syncWithSearch"));
14
- function _interop_require_default(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
1
+ import deleteFromSearch from './Search/hooks/deleteFromSearch.js';
2
+ import syncWithSearch from './Search/hooks/syncWithSearch.js';
3
+ import { generateSearchCollection } from './Search/index.js';
19
4
  const Search = (incomingSearchConfig)=>(config)=>{
20
5
  const { collections } = config;
21
6
  if (collections) {
@@ -37,7 +22,7 @@ const Search = (incomingSearchConfig)=>(config)=>{
37
22
  afterChange: [
38
23
  ...existingHooks?.afterChange || [],
39
24
  async (args)=>{
40
- await (0, _syncWithSearch.default)({
25
+ await syncWithSearch({
41
26
  ...args,
42
27
  collection: collection.slug,
43
28
  searchConfig
@@ -46,7 +31,7 @@ const Search = (incomingSearchConfig)=>(config)=>{
46
31
  ],
47
32
  afterDelete: [
48
33
  ...existingHooks?.afterDelete || [],
49
- _deleteFromSearch.default
34
+ deleteFromSearch
50
35
  ]
51
36
  }
52
37
  };
@@ -57,12 +42,12 @@ const Search = (incomingSearchConfig)=>(config)=>{
57
42
  ...config,
58
43
  collections: [
59
44
  ...collectionsWithSearchHooks || [],
60
- (0, _Search.generateSearchCollection)(searchConfig)
45
+ generateSearchCollection(searchConfig)
61
46
  ]
62
47
  };
63
48
  }
64
49
  return config;
65
50
  };
66
- const _default = Search;
51
+ export default Search;
67
52
 
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbmZpZyB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuXG5pbXBvcnQgdHlwZSB7IFNlYXJjaENvbmZpZyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGdlbmVyYXRlU2VhcmNoQ29sbGVjdGlvbiB9IGZyb20gJy4vU2VhcmNoJ1xuaW1wb3J0IGRlbGV0ZUZyb21TZWFyY2ggZnJvbSAnLi9TZWFyY2gvaG9va3MvZGVsZXRlRnJvbVNlYXJjaCdcbmltcG9ydCBzeW5jV2l0aFNlYXJjaCBmcm9tICcuL1NlYXJjaC9ob29rcy9zeW5jV2l0aFNlYXJjaCdcblxuY29uc3QgU2VhcmNoID1cbiAgKGluY29taW5nU2VhcmNoQ29uZmlnOiBTZWFyY2hDb25maWcpID0+XG4gIChjb25maWc6IENvbmZpZyk6IENvbmZpZyA9PiB7XG4gICAgY29uc3QgeyBjb2xsZWN0aW9ucyB9ID0gY29uZmlnXG5cbiAgICBpZiAoY29sbGVjdGlvbnMpIHtcbiAgICAgIGNvbnN0IHNlYXJjaENvbmZpZzogU2VhcmNoQ29uZmlnID0ge1xuICAgICAgICAuLi5pbmNvbWluZ1NlYXJjaENvbmZpZyxcbiAgICAgICAgZGVsZXRlRHJhZnRzOiB0cnVlLFxuICAgICAgICBzeW5jRHJhZnRzOiBmYWxzZSxcbiAgICAgICAgLy8gd3JpdGUgYW55IGNvbmZpZyBkZWZhdWx0cyBoZXJlXG4gICAgICB9XG5cbiAgICAgIC8vIGFkZCBhZnRlckNoYW5nZSBhbmQgYWZ0ZXJEZWxldGUgaG9va3MgdG8gZXZlcnkgc2VhcmNoLWVuYWJsZWQgY29sbGVjdGlvblxuICAgICAgY29uc3QgY29sbGVjdGlvbnNXaXRoU2VhcmNoSG9va3MgPSBjb25maWc/LmNvbGxlY3Rpb25zXG4gICAgICAgID8ubWFwKChjb2xsZWN0aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBob29rczogZXhpc3RpbmdIb29rcyB9ID0gY29sbGVjdGlvblxuXG4gICAgICAgICAgY29uc3QgZW5hYmxlZENvbGxlY3Rpb25zID0gc2VhcmNoQ29uZmlnLmNvbGxlY3Rpb25zIHx8IFtdXG4gICAgICAgICAgY29uc3QgaXNFbmFibGVkID0gZW5hYmxlZENvbGxlY3Rpb25zLmluZGV4T2YoY29sbGVjdGlvbi5zbHVnKSA+IC0xXG4gICAgICAgICAgaWYgKGlzRW5hYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgaG9va3M6IHtcbiAgICAgICAgICAgICAgICAuLi5jb2xsZWN0aW9uLmhvb2tzLFxuICAgICAgICAgICAgICAgIGFmdGVyQ2hhbmdlOiBbXG4gICAgICAgICAgICAgICAgICAuLi4oZXhpc3RpbmdIb29rcz8uYWZ0ZXJDaGFuZ2UgfHwgW10pLFxuICAgICAgICAgICAgICAgICAgYXN5bmMgKGFyZ3M6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCBzeW5jV2l0aFNlYXJjaCh7XG4gICAgICAgICAgICAgICAgICAgICAgLi4uYXJncyxcbiAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsZWN0aW9uLnNsdWcsXG4gICAgICAgICAgICAgICAgICAgICAgc2VhcmNoQ29uZmlnLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIGFmdGVyRGVsZXRlOiBbLi4uKGV4aXN0aW5nSG9va3M/LmFmdGVyRGVsZXRlIHx8IFtdKSwgZGVsZXRlRnJvbVNlYXJjaF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb25cbiAgICAgICAgfSlcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jb25maWcsXG4gICAgICAgIGNvbGxlY3Rpb25zOiBbXG4gICAgICAgICAgLi4uKGNvbGxlY3Rpb25zV2l0aFNlYXJjaEhvb2tzIHx8IFtdKSxcbiAgICAgICAgICBnZW5lcmF0ZVNlYXJjaENvbGxlY3Rpb24oc2VhcmNoQ29uZmlnKSxcbiAgICAgICAgXSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cblxuZXhwb3J0IGRlZmF1bHQgU2VhcmNoXG4iXSwibmFtZXMiOlsiU2VhcmNoIiwiaW5jb21pbmdTZWFyY2hDb25maWciLCJjb25maWciLCJjb2xsZWN0aW9ucyIsInNlYXJjaENvbmZpZyIsImRlbGV0ZURyYWZ0cyIsInN5bmNEcmFmdHMiLCJjb2xsZWN0aW9uc1dpdGhTZWFyY2hIb29rcyIsIm1hcCIsImNvbGxlY3Rpb24iLCJob29rcyIsImV4aXN0aW5nSG9va3MiLCJlbmFibGVkQ29sbGVjdGlvbnMiLCJpc0VuYWJsZWQiLCJpbmRleE9mIiwic2x1ZyIsImFmdGVyQ2hhbmdlIiwiYXJncyIsInN5bmNXaXRoU2VhcmNoIiwiYWZ0ZXJEZWxldGUiLCJkZWxldGVGcm9tU2VhcmNoIiwiZmlsdGVyIiwiQm9vbGVhbiIsImdlbmVyYXRlU2VhcmNoQ29sbGVjdGlvbiJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFnRUE7OztlQUFBOzs7d0JBNUR5Qzt5RUFDWjt1RUFDRjs7Ozs7O0FBRTNCLE1BQU1BLFNBQ0osQ0FBQ0MsdUJBQ0QsQ0FBQ0M7UUFDQyxNQUFNLEVBQUVDLFdBQVcsRUFBRSxHQUFHRDtRQUV4QixJQUFJQyxhQUFhO1lBQ2YsTUFBTUMsZUFBNkI7Z0JBQ2pDLEdBQUdILG9CQUFvQjtnQkFDdkJJLGNBQWM7Z0JBQ2RDLFlBQVk7WUFFZDtZQUVBLDJFQUEyRTtZQUMzRSxNQUFNQyw2QkFBNkJMLFFBQVFDLGFBQ3ZDSyxJQUFJLENBQUNDO2dCQUNMLE1BQU0sRUFBRUMsT0FBT0MsYUFBYSxFQUFFLEdBQUdGO2dCQUVqQyxNQUFNRyxxQkFBcUJSLGFBQWFELFdBQVcsSUFBSSxFQUFFO2dCQUN6RCxNQUFNVSxZQUFZRCxtQkFBbUJFLE9BQU8sQ0FBQ0wsV0FBV00sSUFBSSxJQUFJLENBQUM7Z0JBQ2pFLElBQUlGLFdBQVc7b0JBQ2IsT0FBTzt3QkFDTCxHQUFHSixVQUFVO3dCQUNiQyxPQUFPOzRCQUNMLEdBQUdELFdBQVdDLEtBQUs7NEJBQ25CTSxhQUFhO21DQUNQTCxlQUFlSyxlQUFlLEVBQUU7Z0NBQ3BDLE9BQU9DO29DQUNMLE1BQU1DLElBQUFBLHVCQUFjLEVBQUM7d0NBQ25CLEdBQUdELElBQUk7d0NBQ1BSLFlBQVlBLFdBQVdNLElBQUk7d0NBQzNCWDtvQ0FDRjtnQ0FDRjs2QkFDRDs0QkFDRGUsYUFBYTttQ0FBS1IsZUFBZVEsZUFBZSxFQUFFO2dDQUFHQyx5QkFBZ0I7NkJBQUM7d0JBQ3hFO29CQUNGO2dCQUNGO2dCQUVBLE9BQU9YO1lBQ1QsR0FDQ1ksT0FBT0M7WUFFVixPQUFPO2dCQUNMLEdBQUdwQixNQUFNO2dCQUNUQyxhQUFhO3VCQUNQSSw4QkFBOEIsRUFBRTtvQkFDcENnQixJQUFBQSxnQ0FBd0IsRUFBQ25CO2lCQUMxQjtZQUNIO1FBQ0Y7UUFFQSxPQUFPRjtJQUNUO01BRUYsV0FBZUYifQ==
53
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { Config } from 'payload/config'\n\nimport type { SearchConfig } from './types.js'\n\nimport deleteFromSearch from './Search/hooks/deleteFromSearch.js'\nimport syncWithSearch from './Search/hooks/syncWithSearch.js'\nimport { generateSearchCollection } from './Search/index.js'\n\nconst Search =\n (incomingSearchConfig: SearchConfig) =>\n (config: Config): Config => {\n const { collections } = config\n\n if (collections) {\n const searchConfig: SearchConfig = {\n ...incomingSearchConfig,\n deleteDrafts: true,\n syncDrafts: false,\n // write any config defaults here\n }\n\n // add afterChange and afterDelete hooks to every search-enabled collection\n const collectionsWithSearchHooks = config?.collections\n ?.map((collection) => {\n const { hooks: existingHooks } = collection\n\n const enabledCollections = searchConfig.collections || []\n const isEnabled = enabledCollections.indexOf(collection.slug) > -1\n if (isEnabled) {\n return {\n ...collection,\n hooks: {\n ...collection.hooks,\n afterChange: [\n ...(existingHooks?.afterChange || []),\n async (args: any) => {\n await syncWithSearch({\n ...args,\n collection: collection.slug,\n searchConfig,\n })\n },\n ],\n afterDelete: [...(existingHooks?.afterDelete || []), deleteFromSearch],\n },\n }\n }\n\n return collection\n })\n .filter(Boolean)\n\n return {\n ...config,\n collections: [\n ...(collectionsWithSearchHooks || []),\n generateSearchCollection(searchConfig),\n ],\n }\n }\n\n return config\n }\n\nexport default Search\n"],"names":["deleteFromSearch","syncWithSearch","generateSearchCollection","Search","incomingSearchConfig","config","collections","searchConfig","deleteDrafts","syncDrafts","collectionsWithSearchHooks","map","collection","hooks","existingHooks","enabledCollections","isEnabled","indexOf","slug","afterChange","args","afterDelete","filter","Boolean"],"mappings":"AAIA,OAAOA,sBAAsB,qCAAoC;AACjE,OAAOC,oBAAoB,mCAAkC;AAC7D,SAASC,wBAAwB,QAAQ,oBAAmB;AAE5D,MAAMC,SACJ,CAACC,uBACD,CAACC;QACC,MAAM,EAAEC,WAAW,EAAE,GAAGD;QAExB,IAAIC,aAAa;YACf,MAAMC,eAA6B;gBACjC,GAAGH,oBAAoB;gBACvBI,cAAc;gBACdC,YAAY;YAEd;YAEA,2EAA2E;YAC3E,MAAMC,6BAA6BL,QAAQC,aACvCK,IAAI,CAACC;gBACL,MAAM,EAAEC,OAAOC,aAAa,EAAE,GAAGF;gBAEjC,MAAMG,qBAAqBR,aAAaD,WAAW,IAAI,EAAE;gBACzD,MAAMU,YAAYD,mBAAmBE,OAAO,CAACL,WAAWM,IAAI,IAAI,CAAC;gBACjE,IAAIF,WAAW;oBACb,OAAO;wBACL,GAAGJ,UAAU;wBACbC,OAAO;4BACL,GAAGD,WAAWC,KAAK;4BACnBM,aAAa;mCACPL,eAAeK,eAAe,EAAE;gCACpC,OAAOC;oCACL,MAAMnB,eAAe;wCACnB,GAAGmB,IAAI;wCACPR,YAAYA,WAAWM,IAAI;wCAC3BX;oCACF;gCACF;6BACD;4BACDc,aAAa;mCAAKP,eAAeO,eAAe,EAAE;gCAAGrB;6BAAiB;wBACxE;oBACF;gBACF;gBAEA,OAAOY;YACT,GACCU,OAAOC;YAEV,OAAO;gBACL,GAAGlB,MAAM;gBACTC,aAAa;uBACPI,8BAA8B,EAAE;oBACpCR,yBAAyBK;iBAC1B;YACH;QACF;QAEA,OAAOF;IACT;AAEF,eAAeF,OAAM"}
package/dist/types.js CHANGED
@@ -1,6 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
1
+ // Extend the `CollectionAfterChangeHook` with more function args
2
+ // Convert the `collection` arg from `SanitizedCollectionConfig` to a string
3
+ export { };
5
4
 
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { Payload } from 'payload'\nimport type { CollectionAfterChangeHook, CollectionConfig, PayloadRequest } from 'payload/types'\n\nexport interface DocToSync {\n [key: string]: any\n doc: {\n relationTo: string\n value: string\n }\n title: string\n}\n\nexport type BeforeSync = (args: {\n originalDoc: {\n [key: string]: any\n }\n payload: Payload\n req: PayloadRequest\n searchDoc: DocToSync\n}) => DocToSync | Promise<DocToSync>\n\nexport interface SearchConfig {\n beforeSync?: BeforeSync\n collections?: string[]\n defaultPriorities?: {\n [collection: string]: ((doc: any) => Promise<number> | number) | number\n }\n deleteDrafts?: boolean\n searchOverrides?: Partial<CollectionConfig>\n syncDrafts?: boolean\n}\n\n// Extend the `CollectionAfterChangeHook` with more function args\n// Convert the `collection` arg from `SanitizedCollectionConfig` to a string\nexport type SyncWithSearch = (\n Args: Omit<Parameters<CollectionAfterChangeHook>[0], 'collection'> & {\n collection: string\n },\n) => ReturnType<CollectionAfterChangeHook>\n"],"names":[],"mappings":"AAgCA,iEAAiE;AACjE,4EAA4E;AAC5E,WAI0C"}
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@payloadcms/plugin-search",
3
- "version": "1.1.0",
3
+ "version": "3.0.0-alpha.43",
4
4
  "homepage:": "https://payloadcms.com",
5
5
  "repository": "git@github.com:payloadcms/plugin-search.git",
6
6
  "description": "Search plugin for Payload",
7
7
  "main": "./dist/index.js",
8
8
  "types": "./dist/index.d.ts",
9
+ "type": "module",
9
10
  "keywords": [
10
11
  "payload",
11
12
  "cms",
@@ -18,18 +19,19 @@
18
19
  "author": "dev@trbl.design",
19
20
  "license": "MIT",
20
21
  "peerDependencies": {
21
- "payload": "^0.18.5 || ^1.0.0 || ^2.0.0",
22
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
22
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
23
+ "payload": "3.0.0-alpha.43"
23
24
  },
24
25
  "dependencies": {
25
- "ts-deepmerge": "^2.0.1"
26
+ "deepmerge": "4.3.1",
27
+ "@payloadcms/ui": "3.0.0-alpha.43"
26
28
  },
27
29
  "devDependencies": {
28
30
  "@types/express": "^4.17.9",
29
31
  "@types/react": "18.0.21",
30
32
  "react": "^18.0.0",
31
33
  "@payloadcms/eslint-config": "1.1.1",
32
- "payload": "2.11.1"
34
+ "payload": "3.0.0-alpha.43"
33
35
  },
34
36
  "exports": null,
35
37
  "publishConfig": {