@forestadmin/datasource-customizer 1.42.0 → 1.43.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/dist/decorators/search/collection-search-context.d.ts +7 -7
- package/dist/decorators/search/collection-search-context.js +1 -1
- package/dist/decorators/search/collection.d.ts +1 -0
- package/dist/decorators/search/collection.js +6 -2
- package/dist/decorators/search/types.d.ts +2 -2
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Caller, Collection
|
|
1
|
+
import { Caller, Collection } from '@forestadmin/datasource-toolkit';
|
|
2
2
|
import CollectionCustomizationContext from '../../context/collection-context';
|
|
3
|
-
import { TCollectionName,
|
|
3
|
+
import { TCollectionName, TConditionTree, TFieldName, TSchema } from '../../templates';
|
|
4
4
|
export type SearchOptions<S extends TSchema = TSchema, N extends TCollectionName<S> = TCollectionName<S>> = {
|
|
5
5
|
/**
|
|
6
6
|
* Include fields from the first level of relations
|
|
@@ -9,18 +9,18 @@ export type SearchOptions<S extends TSchema = TSchema, N extends TCollectionName
|
|
|
9
9
|
/**
|
|
10
10
|
* Remove these fields from the default search fields
|
|
11
11
|
*/
|
|
12
|
-
excludeFields?: Array<
|
|
12
|
+
excludeFields?: Array<TFieldName<S, N>>;
|
|
13
13
|
/**
|
|
14
14
|
* Add these fields to the default search fields
|
|
15
15
|
*/
|
|
16
|
-
includeFields?: Array<
|
|
16
|
+
includeFields?: Array<TFieldName<S, N>>;
|
|
17
17
|
/**
|
|
18
18
|
* Replace the list of default searched field by these fields
|
|
19
19
|
*/
|
|
20
|
-
onlyFields?: Array<
|
|
20
|
+
onlyFields?: Array<TFieldName<S, N>>;
|
|
21
21
|
};
|
|
22
22
|
export default class CollectionSearchContext<S extends TSchema = TSchema, N extends TCollectionName<S> = TCollectionName<S>> extends CollectionCustomizationContext<S, N> {
|
|
23
|
-
readonly generateSearchFilter: (searchText: string, options?: SearchOptions<S, N>) =>
|
|
24
|
-
constructor(collection: Collection, caller: Caller, generateSearchFilter: (searchText: string, options?: SearchOptions<S, N>) =>
|
|
23
|
+
readonly generateSearchFilter: (searchText: string, options?: SearchOptions<S, N>) => TConditionTree<S, N>;
|
|
24
|
+
constructor(collection: Collection, caller: Caller, generateSearchFilter: (searchText: string, options?: SearchOptions<S, N>) => TConditionTree<S, N>);
|
|
25
25
|
}
|
|
26
26
|
//# sourceMappingURL=collection-search-context.d.ts.map
|
|
@@ -11,4 +11,4 @@ class CollectionSearchContext extends collection_context_1.default {
|
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
exports.default = CollectionSearchContext;
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1zZWFyY2gtY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNvcmF0b3JzL3NlYXJjaC9jb2xsZWN0aW9uLXNlYXJjaC1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsMEZBQThFO0FBeUI5RSxNQUFxQix1QkFHbkIsU0FBUSw0QkFBb0M7SUFDNUMsWUFDRSxVQUFzQixFQUN0QixNQUFjLEVBQ0Usb0JBR1M7UUFFekIsS0FBSyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUxWLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FHWDtJQUczQixDQUFDO0NBQ0Y7QUFkRCwwQ0FjQyJ9
|
|
@@ -7,6 +7,7 @@ export default class SearchCollectionDecorator extends CollectionDecorator {
|
|
|
7
7
|
refineSchema(subSchema: CollectionSchema): CollectionSchema;
|
|
8
8
|
refineFilter(caller: Caller, filter?: PaginatedFilter): Promise<PaginatedFilter>;
|
|
9
9
|
private generateSearchFilter;
|
|
10
|
+
private generatePlainSearchFilter;
|
|
10
11
|
private getFields;
|
|
11
12
|
private lenientGetSchema;
|
|
12
13
|
}
|
|
@@ -25,7 +25,7 @@ class SearchCollectionDecorator extends datasource_toolkit_1.CollectionDecorator
|
|
|
25
25
|
}
|
|
26
26
|
// Implement search ourselves
|
|
27
27
|
if (this.replacer || !this.childCollection.schema.searchable) {
|
|
28
|
-
const ctx = new collection_search_context_1.default(this, caller, this.
|
|
28
|
+
const ctx = new collection_search_context_1.default(this, caller, this.generatePlainSearchFilter.bind(this, caller));
|
|
29
29
|
let tree;
|
|
30
30
|
if (this.replacer) {
|
|
31
31
|
const plainTree = await this.replacer(filter.search, filter.searchExtended, ctx);
|
|
@@ -68,6 +68,10 @@ class SearchCollectionDecorator extends datasource_toolkit_1.CollectionDecorator
|
|
|
68
68
|
}
|
|
69
69
|
return conditionTree;
|
|
70
70
|
}
|
|
71
|
+
generatePlainSearchFilter(caller, searchText, options) {
|
|
72
|
+
const conditionTree = this.generateSearchFilter(caller, searchText, options);
|
|
73
|
+
return conditionTree?.toPlainObject();
|
|
74
|
+
}
|
|
71
75
|
getFields(collection, extended) {
|
|
72
76
|
const fields = [];
|
|
73
77
|
for (const [name, field] of Object.entries(collection.schema.fields)) {
|
|
@@ -104,4 +108,4 @@ class SearchCollectionDecorator extends datasource_toolkit_1.CollectionDecorator
|
|
|
104
108
|
}
|
|
105
109
|
}
|
|
106
110
|
exports.default = SearchCollectionDecorator;
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNvcmF0b3JzL3NlYXJjaC9jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsd0VBV3lDO0FBRXpDLDRGQUFxRjtBQUNyRixzRUFBNkM7QUFDN0MsK0NBQTBGO0FBRzFGLE1BQXFCLHlCQUEwQixTQUFRLHdDQUFtQjtJQUExRTs7UUFFRSxhQUFRLEdBQXFCLElBQUksQ0FBQztJQXNJcEMsQ0FBQztJQXBJQyxhQUFhLENBQUMsUUFBMEI7UUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVRLFlBQVksQ0FBQyxTQUEyQjtRQUMvQyxPQUFPLEVBQUUsR0FBRyxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFUSxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQWMsRUFBRSxNQUF3QjtRQUNsRSxtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFO1lBQ2xDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQzNDO1FBRUQsNkJBQTZCO1FBQzdCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtZQUM1RCxNQUFNLEdBQUcsR0FBRyxJQUFJLG1DQUF1QixDQUNyQyxJQUFJLEVBQ0osTUFBTSxFQUNOLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUNsRCxDQUFDO1lBQ0YsSUFBSSxJQUFtQixDQUFDO1lBRXhCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJ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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import CollectionSearchContext from './collection-search-context';
|
|
2
2
|
import { TCollectionName, TConditionTree, TSchema } from '../../templates';
|
|
3
|
-
export type SearchDefinition<S extends TSchema = TSchema, N extends TCollectionName<S> = TCollectionName<S>> = (value: string, extended: boolean, context:
|
|
3
|
+
export type SearchDefinition<S extends TSchema = TSchema, N extends TCollectionName<S> = TCollectionName<S>> = (value: string, extended: boolean, context: CollectionSearchContext<S, N>) => Promise<TConditionTree<S, N>> | TConditionTree<S, N>;
|
|
4
4
|
//# sourceMappingURL=types.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forestadmin/datasource-customizer",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.43.1",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"@types/uuid": "^9.0.0"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@forestadmin/datasource-toolkit": "1.
|
|
32
|
+
"@forestadmin/datasource-toolkit": "1.32.0",
|
|
33
33
|
"antlr4": "^4.13.1-patch-1",
|
|
34
34
|
"file-type": "^16.5.4",
|
|
35
35
|
"luxon": "^3.2.1",
|