@datagrok-libraries/bio 5.40.8 → 5.41.0

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 (44) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/package.json +5 -5
  3. package/src/helm/helm-helper.d.ts +3 -2
  4. package/src/helm/helm-helper.d.ts.map +1 -1
  5. package/src/helm/helm-helper.js.map +1 -1
  6. package/src/helm/types.d.ts +3 -24
  7. package/src/helm/types.d.ts.map +1 -1
  8. package/src/helm/types.js +1 -1
  9. package/src/helm/types.js.map +1 -1
  10. package/src/types/dojo.d.ts +4 -0
  11. package/src/types/dojo.d.ts.map +1 -0
  12. package/src/types/dojo.js +2 -0
  13. package/src/types/dojo.js.map +1 -0
  14. package/src/types/helm.d.ts +83 -0
  15. package/src/types/helm.d.ts.map +1 -0
  16. package/src/types/helm.js +2 -0
  17. package/src/types/helm.js.map +1 -0
  18. package/src/types/index.d.ts +2 -0
  19. package/src/types/index.d.ts.map +1 -1
  20. package/src/types/index.js.map +1 -1
  21. package/src/types/jsdraw2.d.ts +44 -0
  22. package/src/types/jsdraw2.d.ts.map +1 -0
  23. package/src/types/jsdraw2.js +2 -0
  24. package/src/types/jsdraw2.js.map +1 -0
  25. package/src/utils/cell-renderer-async-base.d.ts +94 -0
  26. package/src/utils/cell-renderer-async-base.d.ts.map +1 -0
  27. package/src/utils/cell-renderer-async-base.js +406 -0
  28. package/src/utils/cell-renderer-async-base.js.map +1 -0
  29. package/src/utils/cell-renderer-back-base.d.ts +26 -0
  30. package/src/utils/cell-renderer-back-base.d.ts.map +1 -0
  31. package/src/utils/cell-renderer-back-base.js +80 -0
  32. package/src/utils/cell-renderer-back-base.js.map +1 -0
  33. package/src/utils/cell-renderer-monomer-placer.d.ts +5 -7
  34. package/src/utils/cell-renderer-monomer-placer.d.ts.map +1 -1
  35. package/src/utils/cell-renderer-monomer-placer.js +25 -57
  36. package/src/utils/cell-renderer-monomer-placer.js.map +1 -1
  37. package/src/viewers/helm-service.d.ts +17 -0
  38. package/src/viewers/helm-service.d.ts.map +1 -0
  39. package/src/viewers/helm-service.js +19 -0
  40. package/src/viewers/helm-service.js.map +1 -0
  41. package/src/viewers/ngl-gl-service.d.ts +7 -27
  42. package/src/viewers/ngl-gl-service.d.ts.map +1 -1
  43. package/src/viewers/ngl-gl-service.js +8 -1
  44. package/src/viewers/ngl-gl-service.js.map +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # bio changelog
2
2
 
3
+ ## 5.41.0 (2024-05-01)
4
+
5
+ Optimize cell renderer on async renderer base
6
+
7
+ ### Features
8
+
9
+ * Use ImageData for cell image cache instead of toDataURL string
10
+ * Add aux to RenderTask.onAfterRender callback (for interactivity)
11
+ * Add cell sync render cell from cache while resizing
12
+ * Prioritize render queue by task consumer id and callback
13
+ * Add types for Pistoia Helm Web Editor
14
+
15
+ ### Bug fixes
16
+
17
+ * Fix rendering on grid and without (row tooltip, scatter plot)
18
+
3
19
  ## 5.40.8 (2024-04-16)
4
20
 
5
21
  Fix monomer placer destroying
package/package.json CHANGED
@@ -8,12 +8,12 @@
8
8
  "access": "public"
9
9
  },
10
10
  "friendlyName": "Datagrok bio library",
11
- "version": "5.40.8",
11
+ "version": "5.41.0",
12
12
  "description": "Bio utilities, types supporting Macromolecule, Molecule3D data",
13
13
  "dependencies": {
14
- "@datagrok-libraries/gridext": "^1.3.68",
15
- "@datagrok-libraries/utils": "^4.1.34",
16
- "@datagrok-libraries/ml": "^6.3.48",
14
+ "@datagrok-libraries/gridext": "^1.3.71",
15
+ "@datagrok-libraries/utils": "^4.2.2",
16
+ "@datagrok-libraries/ml": "^6.6.5",
17
17
  "@deck.gl/core": "8.8.12",
18
18
  "cash-dom": "latest",
19
19
  "datagrok-api": "^1.17.4",
@@ -48,4 +48,4 @@
48
48
  "lint": "eslint \"./src/**/*.ts\"",
49
49
  "lint-fix": "eslint \"./src/**/*.ts\" --fix"
50
50
  }
51
- }
51
+ }
@@ -1,7 +1,8 @@
1
- import { IHelmWebEditor, IWebEditorApp } from './types';
1
+ import * as org from 'org';
2
+ import { IHelmWebEditor } from './types';
2
3
  export interface IHelmHelper {
3
4
  createHelmWebEditor(): IHelmWebEditor;
4
- createWebEditorApp(host: HTMLDivElement, helm?: string): IWebEditorApp;
5
+ createWebEditorApp(host: HTMLDivElement, helm?: string): org.helm.IWebEditorApp;
5
6
  }
6
7
  export declare function getHelmHelper(): Promise<IHelmHelper>;
7
8
  //# sourceMappingURL=helm-helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helm-helper.d.ts","sourceRoot":"","sources":["helm-helper.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,cAAc,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAGtD,MAAM,WAAW,WAAW;IAC1B,mBAAmB,IAAI,cAAc,CAAC;IAEtC,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;CACxE;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,CAO1D"}
1
+ {"version":3,"file":"helm-helper.d.ts","sourceRoot":"","sources":["helm-helper.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC1B,mBAAmB,IAAI,cAAc,CAAC;IAEtC,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;CACjF;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,CAO1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"helm-helper.js","sourceRoot":"","sources":["helm-helper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAYtC,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,WAAW,GAAG,MAAM,CAAC;IAC3B,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAC,CAAC,CAAC;IAC7E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,YAAY,WAAW,qCAAqC,CAAC,CAAC;IAChF,MAAM,GAAG,GAAG,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,mBAAmB,EAAiB,CAAC;IACtF,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"helm-helper.js","sourceRoot":"","sources":["helm-helper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAatC,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,WAAW,GAAG,MAAM,CAAC;IAC3B,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAC,CAAC,CAAC;IAC7E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,YAAY,WAAW,qCAAqC,CAAC,CAAC;IAChF,MAAM,GAAG,GAAG,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,mBAAmB,EAAiB,CAAC;IACtF,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,28 +1,7 @@
1
- export interface IWebEditorSizes {
2
- get rightwidth(): number;
3
- get topheight(): number;
4
- get bottomheight(): number;
5
- }
6
- export interface IWebEditorHelm {
7
- setSequence(seq: string, format: string, sugar?: string, linker?: string, append?: boolean, separator?: string): boolean;
8
- }
9
- export interface IWebEditorCanvas {
10
- get helm(): IWebEditorHelm;
11
- getHelm(ret: boolean): string;
12
- resize(width: number, height: number): void;
13
- }
14
- export interface IWebEditorApp {
15
- get toolbarheight(): number;
16
- get canvas(): IWebEditorCanvas;
17
- get structureview(): any;
18
- get mex(): any;
19
- calculateSizes(): IWebEditorSizes;
20
- }
21
- export interface IHelmWebEditorEditor {
22
- setHelm(helm: string): void;
23
- }
1
+ import '../types/jsdraw2';
2
+ import * as JSDraw2 from 'JSDraw2';
24
3
  export interface IHelmWebEditor {
25
- get editor(): IHelmWebEditorEditor;
4
+ get editor(): JSDraw2.Editor;
26
5
  get host(): HTMLDivElement;
27
6
  resizeEditor(width: number, height: number): void;
28
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,IAAI,UAAU,IAAI,MAAM,CAAC;IACzB,IAAI,SAAS,IAAI,MAAM,CAAC;IACxB,IAAI,YAAY,IAAI,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EACrC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACnF;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,IAAI,IAAI,cAAc,CAAC;IAC3B,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC;IAE9B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,aAAa,IAAI,MAAM,CAAC;IAC5B,IAAI,MAAM,IAAI,gBAAgB,CAAC;IAC/B,IAAI,aAAa,IAAI,GAAG,CAAC;IACzB,IAAI,GAAG,IAAI,GAAG,CAAC;IAEf,cAAc,IAAI,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,MAAM,IAAI,oBAAoB,CAAC;IACnC,IAAI,IAAI,IAAI,cAAc,CAAC;IAE3B,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACnD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAIA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,MAAM,WAAW,cAAc;IAC7B,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAC7B,IAAI,IAAI,IAAI,cAAc,CAAC;IAE3B,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACnD"}
package/src/helm/types.js CHANGED
@@ -1,2 +1,2 @@
1
- export {};
1
+ import '../types/jsdraw2';
2
2
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAIA,OAAO,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ declare module 'DOJO' {
2
+ function ready(callback: () => void): void;
3
+ }
4
+ //# sourceMappingURL=dojo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dojo.d.ts","sourceRoot":"","sources":["dojo.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,CAAC;IACpB,SAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CACnD"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=dojo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dojo.js","sourceRoot":"","sources":["dojo.ts"],"names":[],"mappings":""}
@@ -0,0 +1,83 @@
1
+ declare module 'scil' {
2
+ function apply<T>(dest: T, atts: Partial<T>, defaults?: Partial<T>): void;
3
+ namespace Utils {
4
+ function alert(s: string): void;
5
+ function isNullOrEmpty(s: string): boolean;
6
+ function endswith(s: string, token: string, casesensitive?: boolean): boolean;
7
+ }
8
+ }
9
+ declare module 'org' {
10
+ namespace helm {
11
+ interface IPistoiaBase {
12
+ get T(): string;
13
+ }
14
+ interface IAtom extends IPistoiaBase {
15
+ get T(): 'ATOM';
16
+ get elem(): string;
17
+ biotype(): string;
18
+ }
19
+ interface IMonomer {
20
+ }
21
+ interface IAppOptions {
22
+ showabout: boolean;
23
+ mexfontsize: string;
24
+ mexrnapinontab: boolean;
25
+ topmargin: number;
26
+ mexmonomerstab: boolean;
27
+ sequenceviewonly: boolean;
28
+ mexfavoritefirst: boolean;
29
+ mexfilter: boolean;
30
+ }
31
+ interface IWebEditorHelm {
32
+ setSequence(seq: string, format: string, sugar?: string, linker?: string, append?: boolean, separator?: string): boolean;
33
+ }
34
+ interface IWebEditorCanvas {
35
+ get helm(): IWebEditorHelm;
36
+ getHelm(ret: boolean): string;
37
+ resize(width: number, height: number): void;
38
+ }
39
+ interface IWebEditorSizes {
40
+ get rightwidth(): number;
41
+ get topheight(): number;
42
+ get bottomheight(): number;
43
+ }
44
+ interface IWebEditorAppProperties {
45
+ parent: HTMLElement;
46
+ }
47
+ interface IWebEditorApp {
48
+ notation: HTMLElement;
49
+ sequence: HTMLElement;
50
+ properties: IWebEditorAppProperties;
51
+ get toolbarheight(): number;
52
+ get canvas(): IWebEditorCanvas;
53
+ get structureview(): any;
54
+ get mex(): any;
55
+ calculateSizes(): IWebEditorSizes;
56
+ }
57
+ interface IApp {
58
+ new (host: HTMLDivElement, options: IAppOptions): IWebEditorApp;
59
+ }
60
+ interface IMolViewer {
61
+ molscale: number;
62
+ }
63
+ interface IMonomers {
64
+ addOneMonomer(monomer: IMonomer): void;
65
+ getMonomer(a: IAtom | string, elem: string): IAtom | null;
66
+ getMonomerSet(biotype: string): any;
67
+ clear(): void;
68
+ }
69
+ interface IWebEditorIO {
70
+ trimBracket(s: string): string;
71
+ }
72
+ interface IOrgHelmWebEditor {
73
+ App: IApp;
74
+ Monomers: IMonomers;
75
+ MolViewer: IMolViewer;
76
+ IO: IWebEditorIO;
77
+ kCaseSensitive: boolean;
78
+ monomerTypeList(): string[];
79
+ }
80
+ const webeditor: IOrgHelmWebEditor;
81
+ }
82
+ }
83
+ //# sourceMappingURL=helm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helm.d.ts","sourceRoot":"","sources":["helm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=helm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helm.js","sourceRoot":"","sources":["helm.ts"],"names":[],"mappings":""}
@@ -35,6 +35,8 @@ export interface IMonomerLib {
35
35
  getPolymerTypes(): string[];
36
36
  update(lib: IMonomerLib): void;
37
37
  get onChanged(): Observable<any>;
38
+ /** Summary with lib monomer count by type, csv */
39
+ getSummary(): string;
38
40
  getTooltip(polymerType: string, monomerSymbol: string): HTMLElement;
39
41
  }
40
42
  export declare const alphabetPolymerTypes: {
@@ -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":"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,kDAAkD;IAClD,UAAU,IAAI,MAAM,CAAC;IACrB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,CAAC;CACrE;AAED,eAAO,MAAM,oBAAoB;;;;;CAKhC,CAAC"}
@@ -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":"AAkDA,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,0BAAc,mCAAuB;IACrC,0BAAc,mCAAuB;IACrC,wBAAa,2CAA2B;IACxC,wBAAa,2CAA2B;CACzC,CAAC"}
@@ -0,0 +1,44 @@
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
+ }
44
+ //# sourceMappingURL=jsdraw2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsdraw2.d.ts","sourceRoot":"","sources":["jsdraw2.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAiB,cAAc;QAC7B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,OAAO,CAAC;KACnB;IAED,UAAiB,YAAY;QAC3B,IAAI,CAAC,IAAI,MAAM,CAAC;QAEhB,IAAI,CAAC,IAAI,MAAM,CAAC;KACjB;IAED,UAAiB,QAAQ;QACvB,IAAI,EAAE,WAAW,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GACzC,gBAAgB,CAAC;KAEjE;IAED,UAAiB,cAAc;QAC7B,IAAI,CAAC,IAAI,YAAY,CAAC;QAEtB,IAAI,IAAI,IAAI,MAAM,CAAC;QAEnB,IAAI,GAAG,IAAI,QAAQ,CAAC;KACrB;IAED,UAAiB,cAAc;QAC7B,IAAI,EAAE,IAAI,cAAc,CAAC;QACzB,IAAI,EAAE,IAAI,cAAc,CAAC;QAEzB,IAAI,IAAI,IAAI,MAAM,CAAC;KACpB;IAED,UAAiB,UAAU;QACzB,IAAI,KAAK,IAAI,cAAc,EAAE,CAAC;QAC9B,IAAI,KAAK,IAAI,cAAc,EAAE,CAAC;QAE9B,KAAK,CAAC,YAAY,EAAE,OAAO,GAAG,UAAU,CAAC;KAC1C;IAED,MAAa,MAAM;QACjB,IAAI,OAAO,IAAI,cAAc,CAAC;QAE9B,IAAI,GAAG,IAAI,cAAc,CAAC;QAE1B,IAAI,CAAC,IAAI,UAAU,CAAC;QAEpB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;QAE3C,yBAAyB,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;QAE3E,8CAA8C,CAAC,KAAK,IAAI,IAAI;QAE5D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;QAE3C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;QAE3B,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;QAEnC,UAAU,IAAI,MAAM;oBAER,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;KACjE;CACF"}
@@ -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":""}
@@ -0,0 +1,94 @@
1
+ import * as DG from 'datagrok-api/dg';
2
+ import { Observable, 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
+ private _onRendered;
89
+ get onRendered(): Observable<void>;
90
+ invalidate(caller?: string): void;
91
+ awaitRendered(timeout?: number, reason?: string): Promise<void>;
92
+ }
93
+ export {};
94
+ //# 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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"}