Skip to content

Commit 3c60628

Browse files
Implements #1474 (#437)
* #1403 fixed timer when services are not available * #1389 applied tag.hidden logic, reduced autohide time for tags toasts to 5 seconds * Squashed commit of the following: commit 7511b57 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Apr 23 08:27:24 2024 +0200 - finished #1348 commit 6074d79 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Wed Apr 17 09:50:06 2024 +0200 - #1348 - fixed cases when all pdbs are missing commit 49f0ae8 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Wed Apr 10 13:41:50 2024 +0200 - checkpoint commit 13a315e Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Wed Apr 3 12:30:06 2024 +0200 - checkpoint commit a5b8cca Merge: 34b75f7 756a25b Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Mar 25 12:24:01 2024 +0100 Merge branch '#1348' of https://github.com/m2ms/fragalysis-frontend into #1348 commit 34b75f7 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit 1308cb2 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 1ee15e7 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit a033b68 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 7149081 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 623de4f Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit eec204c Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit dbc93a7 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit b933243 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 4a0e171 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 634ed03 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 6e65fae Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 1bff7bf Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 07f21b6 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 021366e Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 36f87b4 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 87e765a Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit 72c94f0 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 224ca23 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 36f03f8 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 8072920 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit e319056 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit 187e7f3 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit b6aa0a4 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit fccf976 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 965be5e Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit b01cdbf Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit e04fbf2 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 5d64c26 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit dbb155c Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit b1c0f3c Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit abc8cc9 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 2ef004a Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 756a25b Merge: f686ef4 f474ff6 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Thu Mar 14 10:00:02 2024 +0100 Merge branch '#1348' of https://github.com/m2ms/fragalysis-frontend into #1348 commit f686ef4 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit df6209c Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit f5a842f Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 83ffccc Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 0ecff35 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit d3a90c7 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit 50800b9 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit 2af18fd Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit cd75a27 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit c485389 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 96296e9 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 760152b Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 8a30204 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 6235e9c Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit e2e46cb Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit 8176514 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 6aa5108 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit f474ff6 Merge: 56c0b85 e728f49 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Thu Mar 14 08:30:00 2024 +0100 Merge branch '#1348' of https://github.com/m2ms/fragalysis-frontend into #1348 # Conflicts: # js/components/preview/tags/details/tagDetails.js commit 56c0b85 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit a185933 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 09c97b5 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit c6d0738 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 72f36b0 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit 971799d Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 1bb5326 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit e728f49 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit 125b8d4 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 0e41551 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 8cf43e0 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit d336352 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 2fb59dc Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit 9439f5d Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Thu Mar 7 13:59:03 2024 +0100 - partial fix for purple release for #1370 commit 4ff5f94 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Thu Mar 7 10:10:41 2024 +0100 - implemented #1376 - also fixed bug in download structures dialog where only first download got added to the dropdown menu commit 66a98f3 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Wed Mar 6 09:47:12 2024 +0100 - implemented #1361 - improvements for #1354 commit 8a193a5 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 5 13:24:11 2024 +0100 - cleanup for #1354 commit bb3bf3b Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 5 13:21:32 2024 +0100 - updated message for #1354 commit a3dc819 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 5 13:05:12 2024 +0100 - first implementation of #1354 commit 4121519 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Mar 5 08:17:49 2024 +0100 - implemented #1357 commit 4d96ff4 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Mar 4 10:07:06 2024 +0100 - implemented changes requested in #1326 commit 03158be Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Mar 4 08:45:22 2024 +0100 - fixed problem with tags not visually updating on observations commit 8765a3c Author: matej <matej.vavrek@m2ms.sk> Date: Mon Feb 26 21:36:12 2024 +0100 #1341 "pin" edit tag row outside of tag list commit 6db8b22 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit 027eaf0 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit 7407dbd Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit c13628b Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit e39721c Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint * - using official backend now * Squashed commit of the following: commit 8fe886a Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Wed May 15 09:00:04 2024 +0200 Squashed commit of the following: commit 6813219 Author: matej <matej.vavrek@m2ms.sk> Date: Mon Apr 29 07:38:30 2024 +0200 #1261 added icon for "Manage grouping" button commit a665ed5 Author: matej <matej.vavrek@m2ms.sk> Date: Sun Apr 28 23:23:25 2024 +0200 #1261 added buttons into observation dialog for later poses handling commit 70a5e70 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Apr 29 09:20:46 2024 +0200 - #1261 - initial implementation * - now FE point to local dev env * - pointing to correct backend * - #1440 implemented fix * fixed tag reset in edit modal * added better default values handling in tag edit modal * Squashed commit of the following: commit 6813219 Author: matej <matej.vavrek@m2ms.sk> Date: Mon Apr 29 07:38:30 2024 +0200 commit a665ed5 Author: matej <matej.vavrek@m2ms.sk> Date: Sun Apr 28 23:23:25 2024 +0200 * #1393 - small bug fix for csv name * - implementation of #1441 * Squashed commit of the following: commit e68fab1 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Mon Jun 10 13:56:06 2024 +0200 - optimized snapshot creation - optimized snapshot restoration - fixed bugs when switching between snapshots in one project * #1322 main redesign of hits and observations views * #1322 changed min width of lhs * #1322 count also tags without curator tags as untagged * #1322 remove selected tag if was set as hidden * #1465 updated companies in credits and logic behind for better manageability * #1465 changed some logos for bigger ones, added tooltip also for header logos, removed duplicate of openDiscourseLink * increased font size of mui tooltip * #1322 updated tooltip of tag info boxes with tag upload name * #1465 changed naming IMAGE_SIZE to MAX_IMAGE_HEIGHT to be more descriptive * Squashed commit of the following: commit 1ec9788 Author: Boris Kovar <boris.kovar@m2ms.sk> Date: Tue Jul 23 08:47:00 2024 +0200 - ported csv generation functionality from backend to frontend --------- Co-authored-by: matej <matej.vavrek@m2ms.sk>
1 parent 77c376a commit 3c60628

File tree

3 files changed

+93
-26
lines changed

3 files changed

+93
-26
lines changed

js/components/datasets/compoundSetList.js

+14-12
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import SearchField from '../common/Components/SearchField';
1414
import { base_url } from '../routes/constants';
1515
import { METHOD, api } from '../../utils/api';
1616
import { compoundsColors } from '../preview/compounds/redux/constants';
17+
import { downloadRHSCSVExport } from '../../utils/csv';
1718

1819
const useStyles = makeStyles(theme => ({
1920
table: {
@@ -197,19 +198,20 @@ export const CompoundSetList = () => {
197198

198199
const fileName = `${datasetID}.csv`;
199200
const reqObj = { title: datasetID, filename: fileName, dict: listOfMols };
200-
const jsonString = JSON.stringify(reqObj);
201+
downloadRHSCSVExport(reqObj);
202+
// const jsonString = JSON.stringify(reqObj);
201203

202-
api({
203-
url: `${base_url}/api/dicttocsv/`,
204-
method: METHOD.POST,
205-
data: jsonString
206-
}).then(resp => {
207-
var anchor = document.createElement('a');
208-
anchor.href = `${base_url}/api/dicttocsv/?file_url=${resp.data['file_url']}`;
209-
anchor.target = '_blank';
210-
anchor.download = `${fileName}`; //'download';
211-
anchor.click();
212-
});
204+
// api({
205+
// url: `${base_url}/api/dicttocsv/`,
206+
// method: METHOD.POST,
207+
// data: jsonString
208+
// }).then(resp => {
209+
// var anchor = document.createElement('a');
210+
// anchor.href = `${base_url}/api/dicttocsv/?file_url=${resp.data['file_url']}`;
211+
// anchor.target = '_blank';
212+
// anchor.download = `${fileName}`; //'download';
213+
// anchor.click();
214+
// });
213215
};
214216

215217
useEffect(() => {

js/components/datasets/selectedCompoundsList.js

+15-14
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ import { ARROW_TYPE, VIEWS } from '../../constants/constants';
7272
import { useScrollToCompound } from './useScrollToCompound';
7373
import useDisableNglControlButtons from '../preview/molecule/useDisableNglControlButtons';
7474
import useDisableDatasetNglControlButtons from './useDisableDatasetNglControlButtons';
75+
import { downloadRHSCSVExport } from '../../utils/csv';
7576

7677
const useStyles = makeStyles(theme => ({
7778
container: {
@@ -572,20 +573,20 @@ export const SelectedCompoundList = memo(() => {
572573
const fileName = `${targetName}-RHS-selection.csv`;
573574
// console.log(`href - ${fileName}`);
574575
const reqObj = { title: sharedSnapshot.url, filename: fileName, dict: listOfMols };
575-
const jsonString = JSON.stringify(reqObj);
576-
577-
api({
578-
url: `${base_url}/api/dicttocsv/`,
579-
method: METHOD.POST,
580-
data: jsonString
581-
}).then(resp => {
582-
var anchor = document.createElement('a');
583-
anchor.href = `${base_url}/api/dicttocsv/?file_url=${resp.data['file_url']}`;
584-
// console.log(`href - ${base_url}/api/dicttocsv/?file_url=${resp.data['file_url']}`);
585-
anchor.target = '_blank';
586-
anchor.download = `${fileName}`; //'download';
587-
anchor.click();
588-
});
576+
downloadRHSCSVExport(reqObj);
577+
// const jsonString = JSON.stringify(reqObj);
578+
579+
// api({
580+
// url: `${base_url}/api/dicttocsv/`,
581+
// method: METHOD.POST,
582+
// data: jsonString
583+
// }).then(resp => {
584+
// var anchor = document.createElement('a');
585+
// anchor.href = `${base_url}/api/dicttocsv/?file_url=${resp.data['file_url']}`;
586+
// anchor.target = '_blank';
587+
// anchor.download = `${fileName}`; //'download';
588+
// anchor.click();
589+
// });
589590
});
590591
};
591592

js/utils/csv.js

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
export const downloadRHSCSVExport = data => {
2+
const csvContent = generateCSVExportFromObject(data);
3+
const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
4+
const url = URL.createObjectURL(blob);
5+
const link = document.createElement('a');
6+
link.setAttribute('href', url);
7+
link.setAttribute('download', data.filename);
8+
document.body.appendChild(link);
9+
link.click();
10+
document.body.removeChild(link);
11+
};
12+
13+
export const generateCSVExportFromObject = data => {
14+
let csvContent = '';
15+
const filename = data.filename;
16+
17+
let newLine = '\r\n';
18+
19+
csvContent += data.title + newLine;
20+
21+
if (data?.dict?.length < 1) {
22+
return '';
23+
}
24+
25+
const headerKeys = getReferenceDataForHeader(data.dict[0]);
26+
csvContent += generateCSVHeaderFromKeys(headerKeys) + newLine;
27+
28+
for (let i = 0; i < data.dict.length; i++) {
29+
const row = data.dict[i];
30+
csvContent += generateCSVRowFromObject(row, headerKeys) + newLine;
31+
}
32+
33+
return csvContent;
34+
};
35+
36+
const generateCSVRowFromObject = (row, keys) => {
37+
let csvRow = '';
38+
39+
for (let i = 0; i < keys.length; i++) {
40+
csvRow += row[keys[i]] ? row[keys[i]] : '';
41+
if (i < keys.length - 1) {
42+
csvRow += ',';
43+
}
44+
}
45+
46+
return csvRow;
47+
};
48+
49+
const generateCSVHeaderFromKeys = keys => {
50+
let csvHeader = '';
51+
52+
for (let i = 0; i < keys.length; i++) {
53+
csvHeader += keys[i];
54+
if (i < keys.length - 1) {
55+
csvHeader += ',';
56+
}
57+
}
58+
59+
return csvHeader;
60+
};
61+
62+
const getReferenceDataForHeader = data => {
63+
return Object.keys(data);
64+
};

0 commit comments

Comments
 (0)