@datagrok/bio 2.10.8 → 2.10.9

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/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "name": "Leonid Stolbov",
6
6
  "email": "lstolbov@datagrok.ai"
7
7
  },
8
- "version": "2.10.8",
8
+ "version": "2.10.9",
9
9
  "description": "Bioinformatics support (import/export of sequences, conversion, visualization, analysis). [See more](https://github.com/datagrok-ai/public/blob/master/packages/Bio/README.md) for details.",
10
10
  "repository": {
11
11
  "type": "git",
@@ -17,7 +17,7 @@ import {delay} from '@datagrok-libraries/utils/src/test';
17
17
  import {debounceTime} from 'rxjs/operators';
18
18
 
19
19
  export class BioSubstructureFilter extends DG.Filter {
20
- bioFilter: FastaFilter | SeparatorFilter | HelmFilter | null = null;
20
+ bioFilter: BioFilterBase | null = null;
21
21
  bitset: DG.BitSet | null = null;
22
22
  loader: HTMLDivElement = ui.loader();
23
23
  onBioFilterChangedSubs?: Subscription;
@@ -75,6 +75,10 @@ export class BioSubstructureFilter extends DG.Filter {
75
75
  let onChangedEvent: any = this.bioFilter.onChanged;
76
76
  onChangedEvent = onChangedEvent.pipe(debounceTime(this._debounceTime));
77
77
  this.onBioFilterChangedSubs = onChangedEvent.subscribe(async (_: any) => await this._onInputChanged());
78
+
79
+ this.subs.push(grok.events.onResetFilterRequest.subscribe((_value: any) => {
80
+ this.bioFilter?.resetFilter();
81
+ }));
78
82
  }
79
83
 
80
84
  detach() {
@@ -123,7 +127,7 @@ export class BioSubstructureFilter extends DG.Filter {
123
127
  } else {
124
128
  this.calculating = true;
125
129
  try {
126
- this.bitset = await this.bioFilter?.substrucrureSearch(this.column!)!;
130
+ this.bitset = await this.bioFilter?.substructureSearch(this.column!)!;
127
131
  this.calculating = false;
128
132
  this.dataFrame?.rows.requestFilter();
129
133
  } finally {
@@ -147,9 +151,11 @@ abstract class BioFilterBase {
147
151
  set substructure(s: string) {
148
152
  }
149
153
 
150
- async substrucrureSearch(_column: DG.Column): Promise<DG.BitSet | null> {
154
+ async substructureSearch(_column: DG.Column): Promise<DG.BitSet | null> {
151
155
  return null;
152
156
  }
157
+
158
+ abstract resetFilter(): void;
153
159
  }
154
160
 
155
161
  class FastaFilter extends BioFilterBase {
@@ -175,8 +181,12 @@ class FastaFilter extends BioFilterBase {
175
181
  this.substructureInput.value = s;
176
182
  }
177
183
 
178
- async substrucrureSearch(column: DG.Column): Promise<DG.BitSet | null> {
179
- return await linearSubstructureSearch(this.substructure, column);
184
+ async substructureSearch(column: DG.Column): Promise<DG.BitSet | null> {
185
+ return linearSubstructureSearch(this.substructure, column);
186
+ }
187
+
188
+ resetFilter(): void {
189
+ this.substructureInput.value = '';
180
190
  }
181
191
  }
182
192
 
@@ -211,8 +221,8 @@ export class SeparatorFilter extends FastaFilter {
211
221
  this.substructureInput.value = s;
212
222
  }
213
223
 
214
- async substrucrureSearch(column: DG.Column): Promise<DG.BitSet | null> {
215
- return await linearSubstructureSearch(this.substructure, column, this.colSeparator);
224
+ async substructureSearch(column: DG.Column): Promise<DG.BitSet | null> {
225
+ return linearSubstructureSearch(this.substructure, column, this.colSeparator);
216
226
  }
217
227
  }
218
228
 
@@ -276,11 +286,17 @@ export class HelmFilter extends BioFilterBase {
276
286
  }
277
287
  }
278
288
 
279
- async substrucrureSearch(column: DG.Column): Promise<DG.BitSet | null> {
289
+ async substructureSearch(column: DG.Column): Promise<DG.BitSet | null> {
280
290
  ui.setUpdateIndicator(this._filterPanel, true);
281
291
  await delay(10);
282
292
  const res = await helmSubstructureSearch(this.substructure, column);
283
293
  ui.setUpdateIndicator(this._filterPanel, false);
284
294
  return res;
285
295
  }
296
+
297
+ resetFilter(): void {
298
+ console.debug('Bio: HelmFilter.resetFilter()');
299
+ this.helmSubstructure = '';
300
+ this.updateFilterPanel(this.substructure);
301
+ }
286
302
  }