Skip to content

Commit e9b455a

Browse files
authored
Merge pull request #50 from NFDI4Chem/development
Development
2 parents 3e00ea9 + 8188ce6 commit e9b455a

8 files changed

Lines changed: 1866 additions & 1979 deletions

File tree

package-lock.json

Lines changed: 1148 additions & 1289 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
"node": "16.15.0"
1414
},
1515
"dependencies": {
16-
"@emotion/react": "^11.10.4",
17-
"filelist-utils": "^0.12.0",
18-
"nmr-load-save": "^0.3.0",
19-
"nmrium": "^0.32.0",
16+
"@emotion/react": "^11.10.5",
17+
"filelist-utils": "^1.1.1",
18+
"nmr-load-save": "^0.4.6",
19+
"nmrium": "^0.33.0",
2020
"react-router-dom": "^6.4.2"
2121
},
2222
"scripts": {
@@ -35,35 +35,35 @@
3535
"test-e2e-server": "serve -l tcp://localhost:3000 build"
3636
},
3737
"devDependencies": {
38-
"@babel/plugin-transform-modules-commonjs": "^7.18.6",
38+
"@babel/plugin-transform-modules-commonjs": "^7.19.6",
3939
"@babel/preset-react": "^7.18.6",
4040
"@babel/preset-typescript": "^7.18.6",
4141
"@playwright/test": "^1.27.1",
4242
"@simbathesailor/use-what-changed": "^2.0.0",
43-
"@types/jest": "^29.1.2",
44-
"@types/node": "^18.8.5",
45-
"@types/react": "^18.0.21",
46-
"@types/react-dom": "^18.0.6",
43+
"@types/jest": "^29.2.0",
44+
"@types/node": "^18.11.7",
45+
"@types/react": "^18.0.24",
46+
"@types/react-dom": "^18.0.8",
4747
"@types/react-router-dom": "^5.3.3",
48-
"@typescript-eslint/eslint-plugin": "^5.40.0",
49-
"@typescript-eslint/parser": "^5.40.0",
50-
"@vitejs/plugin-react": "^2.1.0",
48+
"@typescript-eslint/eslint-plugin": "^5.41.0",
49+
"@typescript-eslint/parser": "^5.41.0",
50+
"@vitejs/plugin-react": "^2.2.0",
5151
"cross-env": "^7.0.3",
52-
"eslint": "^8.25.0",
52+
"eslint": "^8.26.0",
5353
"eslint-config-airbnb": "^19.0.4",
5454
"eslint-config-prettier": "^8.5.0",
55-
"eslint-import-resolver-typescript": "^3.5.1",
55+
"eslint-import-resolver-typescript": "^3.5.2",
5656
"eslint-plugin-import": "^2.26.0",
5757
"eslint-plugin-jsx-a11y": "^6.6.1",
5858
"eslint-plugin-prettier": "^4.2.1",
5959
"eslint-plugin-react": "^7.31.10",
6060
"eslint-plugin-react-hooks": "^4.6.0",
61-
"jest": "^29.1.2",
61+
"jest": "^29.2.2",
6262
"prettier": "2.7.1",
6363
"react": "^18.2.0",
6464
"react-dom": "^18.2.0",
6565
"serve": "^14.0.1",
6666
"typescript": "^4.8.4",
67-
"vite": "^3.1.8"
67+
"vite": "^3.2.0"
6868
}
6969
}

src/demo/NMRiumWrapperDemo.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ export default function NMRiumWrapperDemo() {
4545
'https://cheminfo.github.io/nmr-dataset-demo/cytisine/13c.jdx',
4646
'https://cheminfo.github.io/nmr-dataset-demo/cytisine/1h.jdx',
4747
'https://cheminfo.github.io/bruker-data-test/data/zipped/aspirin-1h.zip',
48-
'https://nmrxiv.org/NRayya/datasets/fsu-nmr-platform-samples/cucurbitacin-e/12',
4948
'../data/13c.zip',
5049
],
5150
type: 'url',

src/events/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { NMRiumData } from 'nmrium';
22
import { State } from 'nmrium/lib/component/reducer/Reducer';
3-
import { BlobObject } from 'nmrium/lib/component/utility/Export';
3+
import { BlobObject } from 'nmrium/lib/component/utility/export';
44

55
type EventType =
66
| 'load'

src/hooks/useLoadSpectra.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { useCallback, useMemo, useState } from 'react';
22
import { read } from 'nmr-load-save';
3-
import { fileCollectionFromFiles } from 'filelist-utils';
43
import { Spectrum } from 'nmr-load-save/lib/types/Spectra/Spectrum';
54
import events from '../events';
65
import { isArrayOfString } from '../utilities/isArrayOfString';
76
import { loadFilesFromURLs } from '../utilities/loadFilesFromURLs';
7+
import { createFileCollectionFromFiles } from '../utilities/createFileCollection';
88

99
export function useLoadSpectra() {
1010
const [data, setData] = useState<{
@@ -28,9 +28,8 @@ export function useLoadSpectra() {
2828
} else if ('files' in options) {
2929
inputFiles = options.files;
3030
}
31-
32-
const fileCollection = await fileCollectionFromFiles(inputFiles);
33-
31+
// TODO use the new function from filelist-utils once they solve the problem of create filesCollection from files with empty webkitrelativepath
32+
const fileCollection = await createFileCollectionFromFiles(inputFiles);
3433
const { spectra, molecules } = await read(fileCollection);
3534
setData({ spectra, molecules });
3635
} catch (error: any) {
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import { FileCollection, FileCollectionItem } from 'filelist-utils';
2+
import {
3+
maybeFilter,
4+
FilterOptions,
5+
} from 'filelist-utils/lib/utilities/maybeFilter';
6+
import { maybeExpand } from 'filelist-utils/lib/utilities/maybeExpand';
7+
import { ExpandOptions } from 'filelist-utils/lib/ExpandOptions';
8+
9+
export async function createFileCollectionFromFiles(
10+
files: File[],
11+
options: FilterOptions & ExpandOptions = {},
12+
) {
13+
let fileCollections: FileCollectionItem[] = [];
14+
15+
// eslint-disable-next-line no-restricted-syntax
16+
for (const file of files) {
17+
const data: FileCollectionItem = {
18+
name: file.name,
19+
size: file.size,
20+
arrayBuffer: () => file.arrayBuffer(),
21+
relativePath: file.webkitRelativePath || file.name,
22+
lastModified: Date.now(),
23+
stream: () => file.stream(),
24+
text: () => file.text(),
25+
};
26+
27+
fileCollections.push(data);
28+
}
29+
30+
fileCollections = await maybeExpand(fileCollections, options);
31+
fileCollections = await maybeFilter(fileCollections, options);
32+
33+
return new FileCollection(fileCollections);
34+
}

test-e2e/core.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ test('should load NMRium from external Urls', async ({ page }) => {
2323

2424
await nmrium.page.click('text=Test Load from URLS');
2525

26+
await page.locator('text=Loading').waitFor({ state: 'hidden' });
27+
2628
// if loaded successfully, there should be a 1H and 13C tabs
2729
await test.step('spectra should be loaded', async () => {
2830
await expect(

0 commit comments

Comments
 (0)