@datagrok-libraries/bio 5.40.8 → 5.41.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.
Files changed (81) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/package.json +5 -5
  3. package/src/helm/helm-helper.d.ts +4 -2
  4. package/src/helm/helm-helper.d.ts.map +1 -1
  5. package/src/helm/helm-helper.js +1 -0
  6. package/src/helm/helm-helper.js.map +1 -1
  7. package/src/helm/types.d.ts +3 -24
  8. package/src/helm/types.d.ts.map +1 -1
  9. package/src/helm/types.js +1 -1
  10. package/src/helm/types.js.map +1 -1
  11. package/src/monomer-works/monomer-utils.d.ts +19 -0
  12. package/src/monomer-works/monomer-utils.d.ts.map +1 -1
  13. package/src/monomer-works/monomer-utils.js +2 -2
  14. package/src/monomer-works/monomer-utils.js.map +1 -1
  15. package/src/monomer-works/monomer-works.d.ts +3 -2
  16. package/src/monomer-works/monomer-works.d.ts.map +1 -1
  17. package/src/monomer-works/monomer-works.js +27 -0
  18. package/src/monomer-works/monomer-works.js.map +1 -1
  19. package/src/monomer-works/to-atomic-level.js +1 -1
  20. package/src/tests/monomer-lib-tests.d.ts +7 -0
  21. package/src/tests/monomer-lib-tests.d.ts.map +1 -0
  22. package/src/tests/monomer-lib-tests.js +27 -0
  23. package/src/tests/monomer-lib-tests.js.map +1 -0
  24. package/src/types/dojo.d.ts +4 -0
  25. package/src/types/dojo.d.ts.map +1 -0
  26. package/src/types/dojo.js +2 -0
  27. package/src/types/dojo.js.map +1 -0
  28. package/src/types/helm-web-editor.d.ts +26 -0
  29. package/src/types/helm-web-editor.d.ts.map +1 -0
  30. package/src/types/helm-web-editor.js +2 -0
  31. package/src/types/helm-web-editor.js.map +1 -0
  32. package/src/types/helm.d.ts +122 -0
  33. package/src/types/helm.d.ts.map +1 -0
  34. package/src/types/helm.js +2 -0
  35. package/src/types/helm.js.map +1 -0
  36. package/src/types/index.d.ts +26 -8
  37. package/src/types/index.d.ts.map +1 -1
  38. package/src/types/index.js +1 -0
  39. package/src/types/index.js.map +1 -1
  40. package/src/types/jsdraw2.d.ts +80 -0
  41. package/src/types/jsdraw2.d.ts.map +1 -0
  42. package/src/types/jsdraw2.js +2 -0
  43. package/src/types/jsdraw2.js.map +1 -0
  44. package/src/types/renderer.d.ts +2 -2
  45. package/src/types/renderer.d.ts.map +1 -1
  46. package/src/types/renderer.js +5 -4
  47. package/src/types/renderer.js.map +1 -1
  48. package/src/utils/cell-renderer-async-base.d.ts +90 -0
  49. package/src/utils/cell-renderer-async-base.d.ts.map +1 -0
  50. package/src/utils/cell-renderer-async-base.js +394 -0
  51. package/src/utils/cell-renderer-async-base.js.map +1 -0
  52. package/src/utils/cell-renderer-back-base.d.ts +33 -0
  53. package/src/utils/cell-renderer-back-base.d.ts.map +1 -0
  54. package/src/utils/cell-renderer-back-base.js +104 -0
  55. package/src/utils/cell-renderer-back-base.js.map +1 -0
  56. package/src/utils/cell-renderer-monomer-placer.d.ts +9 -12
  57. package/src/utils/cell-renderer-monomer-placer.d.ts.map +1 -1
  58. package/src/utils/cell-renderer-monomer-placer.js +67 -68
  59. package/src/utils/cell-renderer-monomer-placer.js.map +1 -1
  60. package/src/utils/const.d.ts +10 -10
  61. package/src/utils/const.d.ts.map +1 -1
  62. package/src/utils/const.js +1 -0
  63. package/src/utils/const.js.map +1 -1
  64. package/src/utils/macromolecule/utils.d.ts.map +1 -1
  65. package/src/utils/macromolecule/utils.js +14 -1
  66. package/src/utils/macromolecule/utils.js.map +1 -1
  67. package/src/utils/seq-handler.d.ts +1 -1
  68. package/src/utils/seq-handler.d.ts.map +1 -1
  69. package/src/utils/seq-handler.js +4 -4
  70. package/src/utils/seq-handler.js.map +1 -1
  71. package/src/viewers/helm-service.d.ts +17 -0
  72. package/src/viewers/helm-service.d.ts.map +1 -0
  73. package/src/viewers/helm-service.js +19 -0
  74. package/src/viewers/helm-service.js.map +1 -0
  75. package/src/viewers/ngl-gl-service.d.ts +7 -27
  76. package/src/viewers/ngl-gl-service.d.ts.map +1 -1
  77. package/src/viewers/ngl-gl-service.js +8 -1
  78. package/src/viewers/ngl-gl-service.js.map +1 -1
  79. package/src/viewers/viewer.d.ts.map +1 -1
  80. package/src/viewers/viewer.js +2 -2
  81. package/src/viewers/viewer.js.map +1 -1
@@ -1,3 +1,11 @@
1
+ import * as DG from 'datagrok-api/dg';
2
+ import './helm';
3
+ import * as org from 'org';
4
+ import PolymerType = org.helm.PolymerType;
5
+ import HelmType = org.helm.HelmType;
6
+ import MonomerType = org.helm.MonomerType;
7
+ import WebEditorMonomer = org.helm.WebEditorMonomer;
8
+ export { WebEditorMonomer, PolymerType, HelmType, MonomerType };
1
9
  import { Observable } from 'rxjs';
2
10
  import { HELM_REQUIRED_FIELD as REQ, HELM_RGROUP_FIELDS as RGP, HELM_OPTIONAL_FIELDS as OPT, HELM_POLYMER_TYPE } from '../utils/const';
3
11
  export type RGroup = {
@@ -6,6 +14,7 @@ export type RGroup = {
6
14
  [RGP.CAP_GROUP_NAME]: string;
7
15
  [RGP.LABEL]: string;
8
16
  };
17
+ /** https://github.com/PistoiaHELM/HELMMonomerSets/blob/master/HELMmonomerSchema.json */
9
18
  export type Monomer = {
10
19
  [REQ.SYMBOL]: string;
11
20
  [REQ.NAME]: string;
@@ -14,28 +23,37 @@ export type Monomer = {
14
23
  [REQ.ID]: number;
15
24
  [REQ.RGROUPS]: RGroup[];
16
25
  [REQ.SMILES]: string;
17
- [REQ.POLYMER_TYPE]: string;
18
- [REQ.MONOMER_TYPE]: string;
26
+ [REQ.POLYMER_TYPE]: PolymerType;
27
+ [REQ.MONOMER_TYPE]: MonomerType;
19
28
  [REQ.CREATE_DATE]: string | null;
20
29
  [OPT.NATURAL_ANALOG]?: string;
21
30
  [OPT.META]?: {
22
31
  [property: string]: any;
23
32
  };
24
33
  lib?: IMonomerLib;
34
+ wem?: WebEditorMonomer;
35
+ };
36
+ export type MonomerLibSummaryType = {
37
+ [polymerType: string]: number;
25
38
  };
26
39
  export interface IMonomerLib {
27
40
  get source(): string | undefined;
28
41
  get error(): string | undefined;
29
- getMonomer(polymerType: string, monomerSymbol: string): Monomer | null;
30
- getMonomerMolsByPolymerType(polymerType: string): {
42
+ getMonomer(polymerType: PolymerType, monomerSymbol: string): Monomer | null;
43
+ addMissingMonomer(polymerType: PolymerType, monomerSymbol: string): Monomer;
44
+ getMonomerMolsByPolymerType(polymerType: PolymerType): {
31
45
  [monomerSymbol: string]: string;
32
46
  } | null;
33
- getMonomerSymbolsByRGroup(rGroupNumber: number, polymerType: string, element?: string): string[];
34
- getMonomerSymbolsByType(polymerType: string): string[];
35
- getPolymerTypes(): string[];
47
+ getMonomerSymbolsByRGroup(rGroupNumber: number, polymerType: PolymerType, element?: string): string[];
48
+ getMonomerSymbolsByType(polymerType: PolymerType): string[];
49
+ getPolymerTypes(): PolymerType[];
36
50
  update(lib: IMonomerLib): void;
37
51
  get onChanged(): Observable<any>;
38
- getTooltip(polymerType: string, monomerSymbol: string): HTMLElement;
52
+ /** Summary with lib monomer count by type */
53
+ getSummary(): MonomerLibSummaryType;
54
+ /** Gets dataframe with columns 'polymerType', 'count'. */
55
+ getSummaryDf(): DG.DataFrame;
56
+ getTooltip(polymerType: PolymerType, monomerSymbol: string): HTMLElement;
39
57
  }
40
58
  export declare const alphabetPolymerTypes: {
41
59
  DNA: HELM_POLYMER_TYPE;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAChC,OAAO,EACL,mBAAmB,IAAI,GAAG,EAC1B,kBAAkB,IAAI,GAAG,EAAE,oBAAoB,IAAI,GAAG,EAAE,iBAAiB,EAC1E,MAAM,gBAAgB,CAAC;AAGxB,MAAM,MAAM,MAAM,GAAG;IACnB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC/B,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC3B,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAC7B,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACrB,CAAA;AACD,MAAM,MAAM,OAAO,GAAG;IACpB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC3B,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC3B,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC;IAC9B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACzC,GAAG,CAAC,EAAE,WAAW,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAAC;IAEhC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACvE,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG;QAAE,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7F,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjG,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvD,eAAe,IAAI,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,IAAI,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAEjC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,CAAC;CACrE;AAED,eAAO,MAAM,oBAAoB;;;;;CAKhC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import './helm';
1
2
  export const alphabetPolymerTypes = {
2
3
  ["DNA" /* ALPHABET.DNA */]: "RNA" /* HELM_POLYMER_TYPE.RNA */,
3
4
  ["RNA" /* ALPHABET.RNA */]: "RNA" /* HELM_POLYMER_TYPE.RNA */,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAgDA,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,0BAAc,mCAAuB;IACrC,0BAAc,mCAAuB;IACrC,wBAAa,2CAA2B;IACxC,wBAAa,2CAA2B;CACzC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAIA,OAAO,QAAQ,CAAC;AAkEhB,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,0BAAc,mCAAuB;IACrC,0BAAc,mCAAuB;IACrC,wBAAa,2CAA2B;IACxC,wBAAa,2CAA2B;CACzC,CAAC"}
@@ -0,0 +1,80 @@
1
+ declare module 'JSDraw2' {
2
+ interface IEditorOptions {
3
+ width: number;
4
+ height: number;
5
+ skin: string;
6
+ viewonly: boolean;
7
+ }
8
+ interface IEditorPoint {
9
+ get x(): number;
10
+ get y(): number;
11
+ }
12
+ interface IAtomBio {
13
+ type: 'HELM_BASE' | 'HELM_SUGAR' | 'HELM_LINKER' | 'HELM_AA' | 'HELM_CHEM' | 'HELM_BLOB' | 'HELM_NUCLETIDE';
14
+ }
15
+ interface IEditorMolAtom {
16
+ get p(): IEditorPoint;
17
+ get elem(): string;
18
+ get bio(): IAtomBio;
19
+ }
20
+ interface IEditorMolBond {
21
+ get a1(): IEditorMolAtom;
22
+ get a2(): IEditorMolAtom;
23
+ get type(): number;
24
+ }
25
+ interface IEditorMol {
26
+ get atoms(): IEditorMolAtom[];
27
+ get bonds(): IEditorMolBond[];
28
+ clone(selectedOnly: boolean): IEditorMol;
29
+ }
30
+ class Editor {
31
+ get options(): IEditorOptions;
32
+ get div(): HTMLDivElement;
33
+ get m(): IEditorMol;
34
+ resize(width: number, height: number): void;
35
+ /** Clear all contents */ clear(redraw: boolean, fireevents: boolean): void;
36
+ /** Resets and clears undo and redo buffers */ reset(): void;
37
+ setData(data: string, format: string): void;
38
+ setHelm(helm: string): void;
39
+ setSize(w: number, h: number): void;
40
+ getMolfile(): string;
41
+ constructor(host: HTMLElement, options?: Partial<IEditorOptions>);
42
+ }
43
+ interface IPistoiaBase {
44
+ get T(): string;
45
+ }
46
+ const enum BioTypes {
47
+ AA = "AA",
48
+ ANTIBODY = "ANTIBODY",
49
+ PROTEIN = "PROTEIN",
50
+ GENE = "GENE",
51
+ DNA = "DNA",
52
+ RNA = "RNA",
53
+ BASE_DNA = "BASEDNA",
54
+ BASE_RNA = "BASERNA"
55
+ }
56
+ type BioType = `${BioTypes}`;
57
+ interface IBio<TBio> {
58
+ id?: number | null;
59
+ type: TBio;
60
+ ambiguity?: string | null;
61
+ annotation?: string | null;
62
+ annotationshowright?: string | null;
63
+ }
64
+ abstract class JsAtom<TBio> implements IPistoiaBase {
65
+ get T(): 'ATOM';
66
+ get p(): Point;
67
+ get elem(): string;
68
+ get bio(): IBio<TBio>;
69
+ }
70
+ class Atom<TBio> extends JsAtom<TBio> {
71
+ biotype(): TBio;
72
+ constructor(p: Point, elem: string, bio: IBio<TBio>);
73
+ }
74
+ class Point {
75
+ x: number;
76
+ y: number;
77
+ constructor(x: number, y: number);
78
+ }
79
+ }
80
+ //# sourceMappingURL=jsdraw2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsdraw2.d.ts","sourceRoot":"","sources":["jsdraw2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=jsdraw2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsdraw2.js","sourceRoot":"","sources":["jsdraw2.ts"],"names":[],"mappings":""}
@@ -5,6 +5,6 @@ export interface IRenderer {
5
5
  /** @param timeout Default 5000 ms */
6
6
  awaitRendered(timeout?: number): Promise<void>;
7
7
  }
8
- export declare function isIRenderer(value: IRenderer): value is IRenderer;
9
- export declare function asIRenderer(o: any): IRenderer | null;
8
+ export declare function isRenderer(value: IRenderer): value is IRenderer;
9
+ export declare function asRenderer(o: any): IRenderer | null;
10
10
  //# sourceMappingURL=renderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["renderer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAEhC,MAAM,WAAW,SAAS;IACxB,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAEnC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC,sCAAsC;IACtC,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,SAAS,CAEhE;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAEpD"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["renderer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAEhC,MAAM,WAAW,SAAS;IACxB,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAEnC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC,sCAAsC;IACtC,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,IAAI,SAAS,CAG/D;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAEnD"}
@@ -1,7 +1,8 @@
1
- export function isIRenderer(value) {
2
- return value.onRendered !== undefined && value.invalidate !== undefined && value.awaitRendered !== undefined;
1
+ export function isRenderer(value) {
2
+ return value && value.onRendered !== undefined &&
3
+ value.invalidate !== undefined && value.awaitRendered !== undefined;
3
4
  }
4
- export function asIRenderer(o) {
5
- return isIRenderer(o) ? o : null;
5
+ export function asRenderer(o) {
6
+ return isRenderer(o) ? o : null;
6
7
  }
7
8
  //# sourceMappingURL=renderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["renderer.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,WAAW,CAAC,KAAgB;IAC1C,OAAO,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC;AAC/G,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAM;IAChC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["renderer.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,UAAU,CAAC,KAAgB;IACzC,OAAO,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QAC5C,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAM;IAC/B,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC"}
@@ -0,0 +1,90 @@
1
+ import * as DG from 'datagrok-api/dg';
2
+ import { Unsubscribable } from 'rxjs';
3
+ import { ILogger } from './logger';
4
+ import { CellRendererBackBase } from './cell-renderer-back-base';
5
+ export declare class PropsBase {
6
+ readonly backColor: number;
7
+ readonly width: number;
8
+ readonly height: number;
9
+ constructor(backColor: number, width: number, height: number);
10
+ }
11
+ export declare class RenderTask<TProps extends PropsBase, TAux> {
12
+ readonly name: string;
13
+ readonly props: TProps;
14
+ readonly onAfterRender: (canvas: HTMLCanvasElement, aux: TAux) => void;
15
+ readonly isPriority?: (() => boolean) | undefined;
16
+ constructor(name: string, props: TProps, onAfterRender: (canvas: HTMLCanvasElement, aux: TAux) => void, isPriority?: (() => boolean) | undefined);
17
+ }
18
+ type RenderQueueItem<TProps extends PropsBase, TAux> = {
19
+ consumerId: number;
20
+ key?: keyof any;
21
+ task: RenderTask<TProps, TAux>;
22
+ tryCount: number;
23
+ dt: number;
24
+ };
25
+ export declare abstract class RenderServiceBase<TProps extends PropsBase, TAux> {
26
+ protected readonly logger: ILogger;
27
+ protected readonly retryLimit: number;
28
+ protected _errorCount: number;
29
+ protected readonly errorLimit: number;
30
+ protected readonly taskTimout: number;
31
+ private consumerCounter;
32
+ protected readonly _queue: RenderQueueItem<TProps, TAux>[];
33
+ protected readonly _queueDict: {
34
+ [key: keyof any]: RenderTask<TProps, TAux>;
35
+ };
36
+ /** The flag allows {@link _processQueue}() on add item to the queue with {@link render}() */
37
+ private _busy;
38
+ private _sweeperHandle;
39
+ constructor(logger: ILogger, retryLimit?: number, _errorCount?: number, errorLimit?: number, taskTimout?: number);
40
+ private static viewerCounter;
41
+ private readonly viewerId;
42
+ protected toLog(): string;
43
+ get errorCount(): number;
44
+ /** Disposes MolstarViewer to free WebGL context */
45
+ abstract reset(): Promise<void>;
46
+ /** Queues render tasks
47
+ * @param consumerId Identifier of the consumer of this render service
48
+ * @param task Task to render
49
+ * @param key Specify to skip previously queued tasks with the same key
50
+ * @return {@link consumerId} or assigned new if null
51
+ */
52
+ render(consumerId: number | null, task: RenderTask<TProps, TAux>, key?: keyof any, tryCount?: number): number;
53
+ protected getTask(): RenderQueueItem<TProps, TAux> | undefined;
54
+ private _processQueue;
55
+ /** Sweep queue for stalled tasks */
56
+ private _sweepQueue;
57
+ private _sweepToggle;
58
+ protected abstract requestRender(key: keyof any | undefined, task: RenderTask<TProps, TAux>, renderHandler: (aux: TAux) => void): Promise<[Unsubscribable, number, () => void]>;
59
+ protected abstract onRendered(key: keyof any | undefined, task: RenderTask<TProps, TAux>, emptyCanvasHash: number, aux: TAux): boolean;
60
+ }
61
+ export declare abstract class CellRendererBackAsyncBase<TProps extends PropsBase, TAux> extends CellRendererBackBase<string> {
62
+ readonly cacheEnabled: boolean;
63
+ protected readonly taskQueueMap: Map<number, RenderTask<TProps, TAux>>;
64
+ protected imageCache: Map<number, ImageData>;
65
+ /** Consumer identifier of the render service */
66
+ protected consumerId: number | null;
67
+ protected constructor(gridCol: DG.GridColumn | null, tableCol: DG.Column, logger: ILogger, cacheEnabled?: boolean);
68
+ protected reset(): void;
69
+ protected abstract getRenderService(): RenderServiceBase<TProps, TAux>;
70
+ protected abstract getRenderTaskProps(gridCell: DG.GridCell, backColor: number, width: number, height: number): TProps;
71
+ render(g: CanvasRenderingContext2D, x: number, y: number, w: number, h: number, gridCell: DG.GridCell, cellStyle: DG.GridCellStyle): void;
72
+ /** Renders cell from image data (cache)
73
+ * @param {CanvasRenderingContext2D} gCtx Grid canvas context
74
+ * @param {DG.Rect} bd Bound rect to clip drawing
75
+ * @param {DG.GridCell} gridCell Grid cell to draw
76
+ * @param {ImageData} cellImageData Cell image data from cache
77
+ * @return {boolean} true - cell is requiring update by render service
78
+ */
79
+ protected renderCellImageData(gCtx: CanvasRenderingContext2D, bd: DG.Rect, gCell: DG.GridCell, cellImageData: ImageData): boolean;
80
+ protected abstract storeAux(gridCell: DG.GridCell, aux: TAux): void;
81
+ /** Default implementation of rendering tree on grid cell
82
+ * @param gCtx Context to draw on grid
83
+ * @param bd Bound rect to clip drawing on task moment
84
+ * @param gCell Grid cell to draw
85
+ * @param cellImageData Image data of the cell to be drawn
86
+ */
87
+ protected renderOnGrid(gCtx: CanvasRenderingContext2D, bd: DG.Rect, gCell: DG.GridCell, cellImageData: ImageData): void;
88
+ }
89
+ export {};
90
+ //# sourceMappingURL=cell-renderer-async-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell-renderer-async-base.d.ts","sourceRoot":"","sources":["cell-renderer-async-base.ts"],"names":[],"mappings":"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"}