@datagrok/helm 2.1.22 → 2.1.24
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/CHANGELOG.md +1 -0
- package/dist/package-test.js +1 -1
- package/dist/package-test.js.map +1 -1
- package/dist/package.js +1 -1
- package/dist/package.js.map +1 -1
- package/package.json +4 -4
- package/src/cell-renderer.ts +5 -0
- package/src/helm-web-editor.ts +4 -2
- package/src/tests/get-molfiles.ts +13 -5
- package/src/tests/utils.ts +11 -0
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datagrok/helm",
|
|
3
3
|
"friendlyName": "Helm",
|
|
4
|
-
"version": "2.1.
|
|
4
|
+
"version": "2.1.24",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Oleksandra Serhiienko",
|
|
7
7
|
"email": "oserhiienko@datagrok.ai"
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"helm/JSDraw/Pistoia.HELM-uncompressed.js"
|
|
16
16
|
],
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@datagrok-libraries/bio": "^5.39.
|
|
18
|
+
"@datagrok-libraries/bio": "^5.39.18",
|
|
19
19
|
"@datagrok-libraries/chem-meta": "^1.2.1",
|
|
20
20
|
"@datagrok-libraries/utils": "^4.0.17",
|
|
21
21
|
"cash-dom": "^8.1.1",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"@datagrok/bio": "^2.11.8"
|
|
40
40
|
},
|
|
41
41
|
"scripts": {
|
|
42
|
-
"link-all": "npm link datagrok-api @datagrok-libraries/utils @datagrok-libraries/bio",
|
|
42
|
+
"link-all": "npm link @datagrok-libraries/chem-meta datagrok-api @datagrok-libraries/utils @datagrok-libraries/bio",
|
|
43
43
|
"debug-helm": "webpack && grok publish",
|
|
44
44
|
"release-helm": "webpack && grok publish --release",
|
|
45
45
|
"build-helm": "webpack",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"test": "grok test",
|
|
56
56
|
"test-dev": "grok test --host dev",
|
|
57
57
|
"test-local": "grok test --host localhost",
|
|
58
|
-
"build-all": "npm --prefix ./../../js-api run build && npm --prefix ./../../libraries/utils run build && npm --prefix ./../../libraries/bio run build && npm run build"
|
|
58
|
+
"build-all": "npm --prefix ./../../libraries/chem-meta run build && npm --prefix ./../../js-api run build && npm --prefix ./../../libraries/utils run build && npm --prefix ./../../libraries/bio run build && npm run build"
|
|
59
59
|
},
|
|
60
60
|
"canEdit": [
|
|
61
61
|
"Developers"
|
package/src/cell-renderer.ts
CHANGED
|
@@ -288,6 +288,11 @@ export class HelmCellRenderer extends DG.GridCellRenderer {
|
|
|
288
288
|
{style: {width: `${w - 2}px`, height: `${h - 2}px`, margin: `${1}px`, backgroundColor: '#FFE0E0'}});
|
|
289
289
|
host.setAttribute('dataformat', 'helm');
|
|
290
290
|
host.setAttribute('data', seq /* gaps skipped */);
|
|
291
|
+
// if grid has neighbour to the left, then shift host to the left
|
|
292
|
+
if (host.parentElement && (gridCell.grid?.canvas?.offsetLeft ?? 0) > 0) {
|
|
293
|
+
host.parentElement.style.left =
|
|
294
|
+
`${(gridCell.grid?.canvas?.offsetLeft ?? 0) + host.parentElement.offsetLeft}px`;
|
|
295
|
+
}
|
|
291
296
|
|
|
292
297
|
// Recreate editor to avoid hanging in window.dojox.gfx.svg.Text.prototype.getTextWidth
|
|
293
298
|
const editor = new JSDraw2.Editor(host, {width: w, height: h, skin: 'w8', viewonly: true}) as IEditor;
|
package/src/helm-web-editor.ts
CHANGED
|
@@ -2,7 +2,9 @@ import * as grok from 'datagrok-api/grok';
|
|
|
2
2
|
import * as ui from 'datagrok-api/ui';
|
|
3
3
|
import * as DG from 'datagrok-api/dg';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
import {IHelmWebEditor} from '@datagrok-libraries/bio/src/types/editor';
|
|
6
|
+
|
|
7
|
+
export class HelmWebEditor implements IHelmWebEditor {
|
|
6
8
|
host: any;
|
|
7
9
|
editor: any;
|
|
8
10
|
w = 200;
|
|
@@ -44,7 +46,7 @@ export class HelmWebEditor {
|
|
|
44
46
|
scil.apply(webEditor.properties.parent.style, s);
|
|
45
47
|
webEditor.structureview.resize(sizes.rightwidth, sizes.bottomheight + webEditor.toolbarheight);
|
|
46
48
|
webEditor.mex.resize(sizes.topheight - 80);
|
|
47
|
-
setTimeout(
|
|
49
|
+
setTimeout(() => {
|
|
48
50
|
webEditor.canvas.helm.setSequence(value, 'HELM');
|
|
49
51
|
}, 200);
|
|
50
52
|
return {editorDiv: editorView, webEditor: webEditor};
|
|
@@ -10,6 +10,10 @@ import {getMonomerLibHelper, IMonomerLibHelper} from '@datagrok-libraries/bio/sr
|
|
|
10
10
|
import {MolfileHandler} from '@datagrok-libraries/chem-meta/src/parsing-utils/molfile-handler';
|
|
11
11
|
import {MolfileHandlerBase} from '@datagrok-libraries/chem-meta/src/parsing-utils/molfile-handler-base';
|
|
12
12
|
|
|
13
|
+
import {awaitGrid} from './utils';
|
|
14
|
+
|
|
15
|
+
import {_package} from '../package-test';
|
|
16
|
+
|
|
13
17
|
category('getMolfiles', () => {
|
|
14
18
|
let monomerLibHelper: IMonomerLibHelper;
|
|
15
19
|
let userLibSettings: LibSettings;
|
|
@@ -35,15 +39,19 @@ PEPTIDE1{Lys_Boc.hHis.Aca.Cys_SEt.T.dK.Thr_PO3H2.Aca.Tyr_PO3H2}$$$$,9,8`;
|
|
|
35
39
|
const df = DG.DataFrame.fromCsv(csv);
|
|
36
40
|
const helmCol = df.getCol('Helm');
|
|
37
41
|
const view = grok.shell.addTableView(df);
|
|
38
|
-
const resCol: DG.Column<string> = await grok.functions.call('Helm:getMolfiles', {col: helmCol});
|
|
39
42
|
|
|
40
|
-
|
|
41
|
-
await
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
_package.logger.debug('Helm/getMolfiles/linear1, grid awaiting 1');
|
|
44
|
+
await awaitGrid(view.grid, 5000);
|
|
45
|
+
_package.logger.debug('Helm/getMolfiles/linear1, grid awaited 1');
|
|
46
|
+
|
|
47
|
+
const resCol: DG.Column<string> = await grok.functions.call('Helm:getMolfiles', {col: helmCol});
|
|
44
48
|
expect(resCol.length, helmCol.length);
|
|
45
49
|
const resMolfileList: MolfileHandlerBase[] = resCol.toList().map((molfile) => MolfileHandler.getInstance(molfile));
|
|
46
50
|
expectArray(resMolfileList.map((mf) => mf.atomCount), df.getCol('atoms').toList());
|
|
47
51
|
expectArray(resMolfileList.map((mf) => mf.bondCount), df.getCol('bonds').toList());
|
|
52
|
+
|
|
53
|
+
_package.logger.debug('Helm/getMolfiles/linear1, grid awaiting 2');
|
|
54
|
+
await awaitGrid(view.grid, 5000);
|
|
55
|
+
_package.logger.debug('Helm/getMolfiles/linear1, grid awaited 2');
|
|
48
56
|
});
|
|
49
57
|
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as grok from 'datagrok-api/grok';
|
|
2
|
+
import * as ui from 'datagrok-api/ui';
|
|
3
|
+
import * as DG from 'datagrok-api/dg';
|
|
4
|
+
|
|
5
|
+
import {delay, testEvent} from '@datagrok-libraries/utils/src/test';
|
|
6
|
+
|
|
7
|
+
export async function awaitGrid(grid: DG.Grid, timeout: number = 5000): Promise<void> {
|
|
8
|
+
await delay(100);
|
|
9
|
+
await testEvent(grid.onAfterDrawContent, () => {},
|
|
10
|
+
() => { grid.invalidate(); }, timeout);
|
|
11
|
+
}
|