@jbrowse/plugin-trix 2.4.2 → 2.6.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/TrixTextSearchAdapter/TrixTextSearchAdapter.d.ts +2 -2
- package/dist/TrixTextSearchAdapter/TrixTextSearchAdapter.js +4 -5
- package/dist/TrixTextSearchAdapter/TrixTextSearchAdapter.js.map +1 -1
- package/dist/TrixTextSearchAdapter/configSchema.d.ts +51 -1
- package/esm/TrixTextSearchAdapter/TrixTextSearchAdapter.d.ts +2 -2
- package/esm/TrixTextSearchAdapter/TrixTextSearchAdapter.js +4 -5
- package/esm/TrixTextSearchAdapter/TrixTextSearchAdapter.js.map +1 -1
- package/esm/TrixTextSearchAdapter/configSchema.d.ts +51 -1
- package/package.json +2 -2
- package/src/TrixTextSearchAdapter/TrixTextSearchAdapter.ts +8 -9
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Trix from '@gmod/trix';
|
|
2
|
-
import { BaseTextSearchAdapter,
|
|
2
|
+
import { BaseTextSearchAdapter, BaseAdapter, BaseTextSearchArgs } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
3
3
|
import BaseResult from '@jbrowse/core/TextSearch/BaseResults';
|
|
4
4
|
import { AnyConfigurationModel } from '@jbrowse/core/configuration';
|
|
5
5
|
import PluginManager from '@jbrowse/core/PluginManager';
|
|
@@ -14,6 +14,6 @@ export default class TrixTextSearchAdapter extends BaseAdapter implements BaseTe
|
|
|
14
14
|
* @param args - search options/arguments include: search query
|
|
15
15
|
* limit of results to return, searchType...prefix | full | exact", etc.
|
|
16
16
|
*/
|
|
17
|
-
searchIndex(args:
|
|
17
|
+
searchIndex(args: BaseTextSearchArgs): Promise<BaseResult[]>;
|
|
18
18
|
freeResources(): void;
|
|
19
19
|
}
|
|
@@ -51,7 +51,7 @@ class TrixTextSearchAdapter extends BaseAdapter_1.BaseAdapter {
|
|
|
51
51
|
// if multi-word search try to filter out relevant items
|
|
52
52
|
.filter(([, data]) => strs.every(r => decodeURIComponentNoThrow(data).toLowerCase().includes(r)))
|
|
53
53
|
.map(([term, data]) => {
|
|
54
|
-
const result = JSON.parse(data.
|
|
54
|
+
const result = JSON.parse(data.replaceAll('|', ','));
|
|
55
55
|
const [loc, trackId, ...rest] = result.map(record => decodeURIComponentNoThrow(record));
|
|
56
56
|
const labelFieldIdx = rest.findIndex(elt => !!elt);
|
|
57
57
|
const contextIdx = rest
|
|
@@ -72,10 +72,9 @@ class TrixTextSearchAdapter extends BaseAdapter_1.BaseAdapter {
|
|
|
72
72
|
trackId,
|
|
73
73
|
});
|
|
74
74
|
});
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
return formatted;
|
|
75
|
+
return args.searchType === 'exact'
|
|
76
|
+
? formatted.filter(r => r.getLabel().toLowerCase() === args.queryString.toLowerCase())
|
|
77
|
+
: formatted;
|
|
79
78
|
}
|
|
80
79
|
freeResources() { }
|
|
81
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrixTextSearchAdapter.js","sourceRoot":"","sources":["../../src/TrixTextSearchAdapter/TrixTextSearchAdapter.ts"],"names":[],"mappings":";;;;;AAAA,sDAA6B;AAC7B,yEAIgD;AAChD,8CAAoD;AACpD,uFAA6D;AAC7D,+DAGoC;AAIpC,SAAS,yBAAyB,CAAC,GAAW;IAC5C,IAAI;QACF,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAA;KAC/B;IAAC,OAAO,CAAC,EAAE;QACV,gEAAgE;QAChE,OAAO,GAAG,CAAA;KACX;AACH,CAAC;AAED,SAAS,OAAO,CAAC,GAAW,EAAE,IAAY,EAAE,CAAC,GAAG,EAAE;IAChD,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAE5C,OAAO,GAAG,CAAC,MAAM,GAAG,EAAE;QACpB,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;YAC/D,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AACtD,CAAC;AAED,MAAqB,qBACnB,SAAQ,yBAAW;IAOnB,YACE,MAA6B,EAC7B,aAAiC,EACjC,aAA6B;QAE7B,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC,CAAA;QAC3C,MAAM,UAAU,GAAG,IAAA,8BAAc,EAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QACvD,MAAM,WAAW,GAAG,IAAA,8BAAc,EAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QAEzD,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;SACvC;QACD,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;SACxC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,cAAI,CACpB,IAAA,iBAAY,EAAC,WAAW,EAAE,aAAa,CAAC,EACxC,IAAA,iBAAY,EAAC,UAAU,EAAE,aAAa,CAAC,EACvC,IAAI,CACL,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"TrixTextSearchAdapter.js","sourceRoot":"","sources":["../../src/TrixTextSearchAdapter/TrixTextSearchAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,52 @@
|
|
|
1
|
-
declare const TrixTextSearchAdapter: import("@jbrowse/core/configuration").
|
|
1
|
+
declare const TrixTextSearchAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2
|
+
/**
|
|
3
|
+
* #slot
|
|
4
|
+
*/
|
|
5
|
+
ixFilePath: {
|
|
6
|
+
type: string;
|
|
7
|
+
defaultValue: {
|
|
8
|
+
uri: string;
|
|
9
|
+
locationType: string;
|
|
10
|
+
};
|
|
11
|
+
description: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* #slot
|
|
15
|
+
*/
|
|
16
|
+
ixxFilePath: {
|
|
17
|
+
type: string;
|
|
18
|
+
defaultValue: {
|
|
19
|
+
uri: string;
|
|
20
|
+
locationType: string;
|
|
21
|
+
};
|
|
22
|
+
description: string;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* #slot
|
|
26
|
+
*/
|
|
27
|
+
metaFilePath: {
|
|
28
|
+
type: string;
|
|
29
|
+
defaultValue: {
|
|
30
|
+
uri: string;
|
|
31
|
+
locationType: string;
|
|
32
|
+
};
|
|
33
|
+
description: string;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* #slot
|
|
37
|
+
*/
|
|
38
|
+
tracks: {
|
|
39
|
+
type: string;
|
|
40
|
+
defaultValue: never[];
|
|
41
|
+
description: string;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* #slot
|
|
45
|
+
*/
|
|
46
|
+
assemblyNames: {
|
|
47
|
+
type: string;
|
|
48
|
+
defaultValue: never[];
|
|
49
|
+
description: string;
|
|
50
|
+
};
|
|
51
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "textSearchAdapterId">>;
|
|
2
52
|
export default TrixTextSearchAdapter;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Trix from '@gmod/trix';
|
|
2
|
-
import { BaseTextSearchAdapter,
|
|
2
|
+
import { BaseTextSearchAdapter, BaseAdapter, BaseTextSearchArgs } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
3
3
|
import BaseResult from '@jbrowse/core/TextSearch/BaseResults';
|
|
4
4
|
import { AnyConfigurationModel } from '@jbrowse/core/configuration';
|
|
5
5
|
import PluginManager from '@jbrowse/core/PluginManager';
|
|
@@ -14,6 +14,6 @@ export default class TrixTextSearchAdapter extends BaseAdapter implements BaseTe
|
|
|
14
14
|
* @param args - search options/arguments include: search query
|
|
15
15
|
* limit of results to return, searchType...prefix | full | exact", etc.
|
|
16
16
|
*/
|
|
17
|
-
searchIndex(args:
|
|
17
|
+
searchIndex(args: BaseTextSearchArgs): Promise<BaseResult[]>;
|
|
18
18
|
freeResources(): void;
|
|
19
19
|
}
|
|
@@ -46,7 +46,7 @@ export default class TrixTextSearchAdapter extends BaseAdapter {
|
|
|
46
46
|
// if multi-word search try to filter out relevant items
|
|
47
47
|
.filter(([, data]) => strs.every(r => decodeURIComponentNoThrow(data).toLowerCase().includes(r)))
|
|
48
48
|
.map(([term, data]) => {
|
|
49
|
-
const result = JSON.parse(data.
|
|
49
|
+
const result = JSON.parse(data.replaceAll('|', ','));
|
|
50
50
|
const [loc, trackId, ...rest] = result.map(record => decodeURIComponentNoThrow(record));
|
|
51
51
|
const labelFieldIdx = rest.findIndex(elt => !!elt);
|
|
52
52
|
const contextIdx = rest
|
|
@@ -67,10 +67,9 @@ export default class TrixTextSearchAdapter extends BaseAdapter {
|
|
|
67
67
|
trackId,
|
|
68
68
|
});
|
|
69
69
|
});
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
return formatted;
|
|
70
|
+
return args.searchType === 'exact'
|
|
71
|
+
? formatted.filter(r => r.getLabel().toLowerCase() === args.queryString.toLowerCase())
|
|
72
|
+
: formatted;
|
|
74
73
|
}
|
|
75
74
|
freeResources() { }
|
|
76
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrixTextSearchAdapter.js","sourceRoot":"","sources":["../../src/TrixTextSearchAdapter/TrixTextSearchAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,YAAY,CAAA;AAC7B,OAAO,
|
|
1
|
+
{"version":3,"file":"TrixTextSearchAdapter.js","sourceRoot":"","sources":["../../src/TrixTextSearchAdapter/TrixTextSearchAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,52 @@
|
|
|
1
|
-
declare const TrixTextSearchAdapter: import("@jbrowse/core/configuration").
|
|
1
|
+
declare const TrixTextSearchAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2
|
+
/**
|
|
3
|
+
* #slot
|
|
4
|
+
*/
|
|
5
|
+
ixFilePath: {
|
|
6
|
+
type: string;
|
|
7
|
+
defaultValue: {
|
|
8
|
+
uri: string;
|
|
9
|
+
locationType: string;
|
|
10
|
+
};
|
|
11
|
+
description: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* #slot
|
|
15
|
+
*/
|
|
16
|
+
ixxFilePath: {
|
|
17
|
+
type: string;
|
|
18
|
+
defaultValue: {
|
|
19
|
+
uri: string;
|
|
20
|
+
locationType: string;
|
|
21
|
+
};
|
|
22
|
+
description: string;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* #slot
|
|
26
|
+
*/
|
|
27
|
+
metaFilePath: {
|
|
28
|
+
type: string;
|
|
29
|
+
defaultValue: {
|
|
30
|
+
uri: string;
|
|
31
|
+
locationType: string;
|
|
32
|
+
};
|
|
33
|
+
description: string;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* #slot
|
|
37
|
+
*/
|
|
38
|
+
tracks: {
|
|
39
|
+
type: string;
|
|
40
|
+
defaultValue: never[];
|
|
41
|
+
description: string;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* #slot
|
|
45
|
+
*/
|
|
46
|
+
assemblyNames: {
|
|
47
|
+
type: string;
|
|
48
|
+
defaultValue: never[];
|
|
49
|
+
description: string;
|
|
50
|
+
};
|
|
51
|
+
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "textSearchAdapterId">>;
|
|
2
52
|
export default TrixTextSearchAdapter;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jbrowse/plugin-trix",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.1",
|
|
4
4
|
"description": "JBrowse 2 trix text search adapter",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jbrowse",
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"distModule": "esm/index.js",
|
|
54
54
|
"srcModule": "src/index.ts",
|
|
55
55
|
"module": "esm/index.js",
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "1cbe7ba097fb2d2763c776e5e429e4670cdd583c"
|
|
57
57
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import Trix from '@gmod/trix'
|
|
2
2
|
import {
|
|
3
3
|
BaseTextSearchAdapter,
|
|
4
|
-
BaseArgs,
|
|
5
4
|
BaseAdapter,
|
|
5
|
+
BaseTextSearchArgs,
|
|
6
6
|
} from '@jbrowse/core/data_adapters/BaseAdapter'
|
|
7
7
|
import { openLocation } from '@jbrowse/core/util/io'
|
|
8
8
|
import BaseResult from '@jbrowse/core/TextSearch/BaseResults'
|
|
@@ -67,7 +67,7 @@ export default class TrixTextSearchAdapter
|
|
|
67
67
|
* @param args - search options/arguments include: search query
|
|
68
68
|
* limit of results to return, searchType...prefix | full | exact", etc.
|
|
69
69
|
*/
|
|
70
|
-
async searchIndex(args:
|
|
70
|
+
async searchIndex(args: BaseTextSearchArgs) {
|
|
71
71
|
const query = args.queryString.toLowerCase()
|
|
72
72
|
const strs = query.split(' ')
|
|
73
73
|
const results = await this.trixJs.search(query)
|
|
@@ -79,7 +79,7 @@ export default class TrixTextSearchAdapter
|
|
|
79
79
|
),
|
|
80
80
|
)
|
|
81
81
|
.map(([term, data]) => {
|
|
82
|
-
const result = JSON.parse(data.
|
|
82
|
+
const result = JSON.parse(data.replaceAll('|', ',')) as string[]
|
|
83
83
|
const [loc, trackId, ...rest] = result.map(record =>
|
|
84
84
|
decodeURIComponentNoThrow(record),
|
|
85
85
|
)
|
|
@@ -109,12 +109,11 @@ export default class TrixTextSearchAdapter
|
|
|
109
109
|
})
|
|
110
110
|
})
|
|
111
111
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
return formatted
|
|
112
|
+
return args.searchType === 'exact'
|
|
113
|
+
? formatted.filter(
|
|
114
|
+
r => r.getLabel().toLowerCase() === args.queryString.toLowerCase(),
|
|
115
|
+
)
|
|
116
|
+
: formatted
|
|
118
117
|
}
|
|
119
118
|
|
|
120
119
|
freeResources() {}
|