@datagrok/helm 2.3.0 → 2.3.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/package.json CHANGED
@@ -1,12 +1,16 @@
1
1
  {
2
2
  "name": "@datagrok/helm",
3
3
  "friendlyName": "Helm",
4
- "version": "2.3.0",
4
+ "version": "2.3.1",
5
5
  "author": {
6
6
  "name": "Oleksandra Serhiienko",
7
7
  "email": "oserhiienko@datagrok.ai"
8
8
  },
9
9
  "description": "Provides support for HELM notation (importing, detecting, rendering, conversion).",
10
+ "sources-backup": [
11
+ "helm/JSDraw/Scilligence.JSDraw2.Lite-uncompressed.js",
12
+ "helm/JSDraw/Pistoia.HELM-uncompressed.js"
13
+ ],
10
14
  "sources": [
11
15
  "https://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js.uncompressed.js",
12
16
  "css/helm.css"
@@ -24,7 +28,7 @@
24
28
  "devDependencies": {
25
29
  "@datagrok-libraries/helm-web-editor": "^1.1.5",
26
30
  "@datagrok-libraries/js-draw-lite": "^0.0.3",
27
- "@datagrok/bio": "^2.13.2",
31
+ "@datagrok/bio": "^2.13.3",
28
32
  "@datagrok/chem": "^1.9.2",
29
33
  "@types/node": "17.0.45",
30
34
  "@types/wu": "latest",
package/src/package.ts CHANGED
@@ -66,12 +66,12 @@ export async function initHelm(): Promise<void> {
66
66
  await initHelmLoadAndPatchDojo();
67
67
  _package.logger.debug(`${logPrefix}, dojox loaded and patched`);
68
68
 
69
- // through webpack.config.ts/alias
70
- require('vendor/helm-web-editor');
71
-
69
+ // Alternatively load old bundles by package.json/sources
72
70
  _package.logger.debug(`${logPrefix}, HelmWebEditor awaiting …`);
71
+ require('vendor/helm-web-editor'); // through webpack.config.ts/alias
73
72
  await window.helmWebEditor$.initPromise;
74
73
  _package.logger.debug(`${logPrefix}, HelmWebEditor loaded`);
74
+
75
75
  org.helm.webeditor.kCaseSensitive = true; // GROK-13880
76
76
 
77
77
  _package.logger.debug(`${logPrefix}, scil.Utils.alert patch`);
@@ -18,6 +18,8 @@ import {ILogger} from '@datagrok-libraries/bio/src/utils/logger';
18
18
  import {getGridCellRendererBack} from '@datagrok-libraries/bio/src/utils/cell-renderer-back-base';
19
19
 
20
20
  import {_package, getMonomerLib} from '../package';
21
+ import {IMonomerLib} from '@datagrok-libraries/bio/src/types/index';
22
+ import {GridCell, GridCellStyle, x} from 'datagrok-api/dg';
21
23
 
22
24
  class WrapLogger implements ILogger {
23
25
  constructor(
@@ -44,18 +46,13 @@ class WrapLogger implements ILogger {
44
46
  export class HelmGridCellRendererBack extends CellRendererBackAsyncBase<HelmProps, HelmAux> {
45
47
  private _auxList: (HelmAux | null)[];
46
48
 
49
+ private monomerLib: IMonomerLib | null = null;
50
+
47
51
  constructor(
48
52
  gridCol: DG.GridColumn | null,
49
53
  tableCol: DG.Column<string>,
50
54
  ) {
51
55
  super(gridCol, tableCol, new WrapLogger(_package.logger) /* _package.logger */, true);
52
-
53
- const monomerLib = getMonomerLib();
54
- if (!monomerLib)
55
- throw new Error('Helm package is not initialized yet.');
56
- this.subs.push(monomerLib.onChanged.subscribe(() => {
57
- this.reset();
58
- }));
59
56
  }
60
57
 
61
58
  protected override reset(): void {
@@ -159,10 +156,22 @@ export class HelmGridCellRendererBack extends CellRendererBackAsyncBase<HelmProp
159
156
  }
160
157
  }
161
158
 
159
+ public override render(g: CanvasRenderingContext2D,
160
+ x: number, y: number, w: number, h: number,
161
+ gridCell: GridCell, cellStyle: GridCellStyle) {
162
+ if (!this.monomerLib) {
163
+ this.monomerLib = getMonomerLib();
164
+ if (this.monomerLib) {
165
+ this.subs.push(this.monomerLib.onChanged.subscribe(this.monomerLibOnChanged.bind(this)));
166
+ }
167
+ }
168
+ super.render(g, x, y, w, h, gridCell, cellStyle);
169
+ }
170
+
162
171
  // -- Handle events --
172
+
163
173
  private monomerLibOnChanged(_value: any): void {
164
174
  this.reset();
165
- this.invalidateGrid();
166
175
  }
167
176
 
168
177
  static getOrCreate(gridCell: DG.GridCell): HelmGridCellRendererBack {
package/webpack.config.js CHANGED
@@ -35,7 +35,7 @@ module.exports = {
35
35
  {test: /\.css$/, use: ['style-loader', 'css-loader'], exclude: [/node_modules/, /vendor/]},
36
36
  ],
37
37
  },
38
- devtool: 'source-map',
38
+ devtool: mode !== 'production' ? 'inline-source-map' : 'source-map',
39
39
  externals: {
40
40
  'datagrok-api/dg': 'DG',
41
41
  'datagrok-api/grok': 'grok',