From 8df976eb35ff1bbeb741e20b667da4662c6ad02a Mon Sep 17 00:00:00 2001 From: boriskovar-m2ms Date: Wed, 29 May 2024 11:19:17 +0200 Subject: [PATCH 1/4] #1393 - small bug fix (#432) * #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 7511b573482d4a1097286cfdc354b374ec5900e6 Author: Boris Kovar Date: Tue Apr 23 08:27:24 2024 +0200 - finished #1348 commit 6074d79ca46cdd141d166789af1e7268c0e7bf33 Author: Boris Kovar Date: Wed Apr 17 09:50:06 2024 +0200 - #1348 - fixed cases when all pdbs are missing commit 49f0ae8750ac9056dbc6d545a1a151e73f0d3b81 Author: Boris Kovar Date: Wed Apr 10 13:41:50 2024 +0200 - checkpoint commit 13a315ef93d0d5f411b3cb3091696a6bc166ce1d Author: Boris Kovar Date: Wed Apr 3 12:30:06 2024 +0200 - checkpoint commit a5b8cca53af12a5a2f5d20ca74f3c91d9104e4f2 Merge: 34b75f78 756a25be Author: Boris Kovar Date: Mon Mar 25 12:24:01 2024 +0100 Merge branch '#1348' of https://github.com/m2ms/fragalysis-frontend into #1348 commit 34b75f78782360ac20c5c6b5e0f650558ae0e401 Author: Boris Kovar Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit 1308cb28c79ea746d2ac6847baa1ee489089d94d Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 1ee15e78086164142fb79eb8102df2827b28a2c1 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit a033b68c5f093743c8fd1deb6eb3e2d1e3aac314 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 7149081d50a30191434605dedde5b112539d0141 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 623de4fa1750e4d1acf013ae266b1b68fadd8449 Author: Boris Kovar Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit eec204c5771885f95b05a1beb036e483302b987e Author: Boris Kovar Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit dbc93a71846312f0c40c96b7fac207a3380b3c01 Author: Boris Kovar Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit b933243938573b4a2bb23b6d92a0e5eeaf396b10 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 4a0e17154d2e947d23668e851ef19c5eaf4d412a Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 634ed03beb909e1e69c748ddb33a09ada83bd609 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 6e65faecf8a1cb880363d5374f9777403b2cf6c1 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 1bff7bf46ac041d3d480a9978c340868e98a7e08 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 07f21b61bd1204e14db02f424590decfeb527f51 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 021366ef147e36a14567b22a1d97628987d13c8e Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 36f87b4daf9d385b558d4a0663abed13d5e3d13e Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 87e765a7594fcada946ad65082dd854bc0092328 Author: Boris Kovar Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit 72c94f05cbd60bb33f477de4aef471920f1c29bf Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 224ca2345f734a8819d88125fcabc72aedffb8b2 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 36f03f843dce0b603a5f38a246f1cded8ebd9c71 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 807292042c5063582f61b642f32762cc013b2323 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit e3190563cbd25a4860bb45317fcd18e149214942 Author: Boris Kovar Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit 187e7f39614be2a60857f843bfc8398bb94874f5 Author: Boris Kovar Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit b6aa0a4dbe30d1a1e57092cc2e253b078f49825b Author: Boris Kovar Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit fccf97682fa65b6f86226e85713f3bda283726b4 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 965be5ecc97b316a5605ccc3acfbf3646e04e524 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit b01cdbf01d85855bfca6f60a3981888334f64d7b Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit e04fbf2a8b54cb3bad30889e6cd64144fdd74c9c Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 5d64c26ca47113b78d1680c9381c389260d330f9 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit dbb155c0ea79aa6295e6ed18498a4d0b121f0133 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit b1c0f3c0c3547eb71d0b756da6b2f11d090df2ad Author: Boris Kovar Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit abc8cc993165970d1827898dbb4cc7795b23835d Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 2ef004ad1324989890dc2460cb4d991a4d0e3a9d Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 756a25be46950e2762e3c8c399583132a1d37d57 Merge: f686ef4a f474ff6c Author: Boris Kovar Date: Thu Mar 14 10:00:02 2024 +0100 Merge branch '#1348' of https://github.com/m2ms/fragalysis-frontend into #1348 commit f686ef4a96e57571ab53ce1901927676a85a7eb1 Author: Boris Kovar Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit df6209c149d048ff8cc6f5faef40fb4657a51578 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit f5a842f250d2706e1fdaba819876fef766b754a1 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 83ffcccc99d813815496d1b97443e23bd3e72ae3 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 0ecff35ab72e0f679211fd6266a86b9bda3814e0 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit d3a90c7e6c5538b46f8c1ed0aa5fa48fd718e951 Author: Boris Kovar Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit 50800b9c05cc94fc783b63e918c419a8f1c95d7b Author: Boris Kovar Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit 2af18fdc661a84342af49b1eaab7e3e09a5f702b Author: Boris Kovar Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit cd75a275c858acfd77eea28c1833175a25ba1776 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit c485389796dce1817d14d923e8d41e26875533eb Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 96296e919e3b15d0bbc0ee66f63c0ee4f7564942 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 760152bdc448a9f91c22de292fd4e41b7aa0b626 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 8a30204864a5858c94bc0ee6341c9337c1deeff4 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 6235e9c320920bb57928af515c7c003eba06d80e Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit e2e46cb4c68a8c2a2a92a720de978a8935813815 Author: Boris Kovar Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit 8176514e81f7e67a1be034207d7d33ac96a41259 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 6aa51082e3832f0a678c270b5cd5d8958de88a96 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit f474ff6c01b12c9b1775323bae5eab18b5717d95 Merge: 56c0b85c e728f49c Author: Boris Kovar 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 56c0b85cc08afe9f56bbf2f78297a3d1251dbc62 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit a185933a1639d78238f6f2145f1eae2a0ac4d3c6 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 09c97b53e59d30576859a13d5e443fdd6e827e98 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit c6d0738d3e376de9082192de4f6d6b91808bafac Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 72f36b0de20159bb8bbbc2217b073f302c41315e Author: Boris Kovar Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit 971799dffdcfd51601943e981786fc19aa0d672c Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 1bb53263961016ce3d7a2e3f977a5cbaf2e8e9fb Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit e728f49cb7e08238afb349039b7cf15d4290555f Author: Boris Kovar Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit 125b8d48589d0180d261e781fc18f3b88787cc05 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 0e4155177fde3500404a15cd514bc774f3836b43 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 8cf43e054416ed1a54565604859a411530ba1837 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit d336352f1856fa02722eb27f19511e29f26781c0 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 2fb59dcd5c2c14941fd8c74282473822af87b0fb Author: Boris Kovar Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit 9439f5d40bb696f2247f412901b65db8d1ea5ea6 Author: Boris Kovar Date: Thu Mar 7 13:59:03 2024 +0100 - partial fix for purple release for #1370 commit 4ff5f945954ea6533f9c3728c0565b20c79b2b0d Author: Boris Kovar 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 66a98f3c617d0d110e73cf4df09048c572b3edee Author: Boris Kovar Date: Wed Mar 6 09:47:12 2024 +0100 - implemented #1361 - improvements for #1354 commit 8a193a551faa91e4441783429b980608c116665c Author: Boris Kovar Date: Tue Mar 5 13:24:11 2024 +0100 - cleanup for #1354 commit bb3bf3b6ceafdd40b0778157ff95d01ecceb6f8e Author: Boris Kovar Date: Tue Mar 5 13:21:32 2024 +0100 - updated message for #1354 commit a3dc8191aadd627f4de6f7425c9dfb72c34c1d23 Author: Boris Kovar Date: Tue Mar 5 13:05:12 2024 +0100 - first implementation of #1354 commit 4121519dad01feb107c1a4b2751caefb620f5471 Author: Boris Kovar Date: Tue Mar 5 08:17:49 2024 +0100 - implemented #1357 commit 4d96ff464b940f7aca3340819496e1d6fa03d1cf Author: Boris Kovar Date: Mon Mar 4 10:07:06 2024 +0100 - implemented changes requested in #1326 commit 03158bec02a2a6a8ded44bae99bfccd0f1df49ca Author: Boris Kovar Date: Mon Mar 4 08:45:22 2024 +0100 - fixed problem with tags not visually updating on observations commit 8765a3c69ef662a8c34ce73806bedfa306ab12f7 Author: matej Date: Mon Feb 26 21:36:12 2024 +0100 #1341 "pin" edit tag row outside of tag list commit 6db8b22ca6133eddeb7322cc0bd0ab52a5272fd6 Author: Boris Kovar Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit 027eaf0eacd1ea929eb00bfca4aef9e34ba1deab Author: Boris Kovar Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit 7407dbd02fe0cf50dcb069740475e914010e9016 Author: Boris Kovar Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit c13628b494bb5bfcd3b889b7a040568b683549a8 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit e39721c2353fe40249ea7cac6d7d01bc58186fe2 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint * - using official backend now * Squashed commit of the following: commit 8fe886a84214d86fc9b0436a8737a3bf29697bc9 Author: Boris Kovar Date: Wed May 15 09:00:04 2024 +0200 Squashed commit of the following: commit 68132195b92c9793ddbde000e7a0e9c64e7330b4 Author: matej Date: Mon Apr 29 07:38:30 2024 +0200 #1261 added icon for "Manage grouping" button commit a665ed53bbe132ab1d2751ed09a521479d58ca09 Author: matej Date: Sun Apr 28 23:23:25 2024 +0200 #1261 added buttons into observation dialog for later poses handling commit 70a5e702d01dcb09ec9b20d131a0a940cc9a1650 Author: Boris Kovar 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 68132195b92c9793ddbde000e7a0e9c64e7330b4 Author: matej Date: Mon Apr 29 07:38:30 2024 +0200 commit a665ed53bbe132ab1d2751ed09a521479d58ca09 Author: matej Date: Sun Apr 28 23:23:25 2024 +0200 * #1393 - small bug fix for csv name --------- Co-authored-by: matej --- js/components/datasets/compoundSetList.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/components/datasets/compoundSetList.js b/js/components/datasets/compoundSetList.js index 7a9b7579d..09d68b0f5 100644 --- a/js/components/datasets/compoundSetList.js +++ b/js/components/datasets/compoundSetList.js @@ -195,7 +195,7 @@ export const CompoundSetList = () => { listOfMols.push(molObj); }); - const fileName = `${targetName}-RHS-selection.csv`; + const fileName = `${datasetID}.csv`; const reqObj = { title: datasetID, filename: fileName, dict: listOfMols }; const jsonString = JSON.stringify(reqObj); From 33c3d398e3d688a8079c3d8737a17129fdc30a02 Mon Sep 17 00:00:00 2001 From: boriskovar-m2ms Date: Fri, 31 May 2024 08:45:03 +0200 Subject: [PATCH 2/4] #1441 (#433) * #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 7511b573482d4a1097286cfdc354b374ec5900e6 Author: Boris Kovar Date: Tue Apr 23 08:27:24 2024 +0200 - finished #1348 commit 6074d79ca46cdd141d166789af1e7268c0e7bf33 Author: Boris Kovar Date: Wed Apr 17 09:50:06 2024 +0200 - #1348 - fixed cases when all pdbs are missing commit 49f0ae8750ac9056dbc6d545a1a151e73f0d3b81 Author: Boris Kovar Date: Wed Apr 10 13:41:50 2024 +0200 - checkpoint commit 13a315ef93d0d5f411b3cb3091696a6bc166ce1d Author: Boris Kovar Date: Wed Apr 3 12:30:06 2024 +0200 - checkpoint commit a5b8cca53af12a5a2f5d20ca74f3c91d9104e4f2 Merge: 34b75f78 756a25be Author: Boris Kovar Date: Mon Mar 25 12:24:01 2024 +0100 Merge branch '#1348' of https://github.com/m2ms/fragalysis-frontend into #1348 commit 34b75f78782360ac20c5c6b5e0f650558ae0e401 Author: Boris Kovar Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit 1308cb28c79ea746d2ac6847baa1ee489089d94d Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 1ee15e78086164142fb79eb8102df2827b28a2c1 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit a033b68c5f093743c8fd1deb6eb3e2d1e3aac314 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 7149081d50a30191434605dedde5b112539d0141 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 623de4fa1750e4d1acf013ae266b1b68fadd8449 Author: Boris Kovar Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit eec204c5771885f95b05a1beb036e483302b987e Author: Boris Kovar Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit dbc93a71846312f0c40c96b7fac207a3380b3c01 Author: Boris Kovar Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit b933243938573b4a2bb23b6d92a0e5eeaf396b10 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 4a0e17154d2e947d23668e851ef19c5eaf4d412a Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 634ed03beb909e1e69c748ddb33a09ada83bd609 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 6e65faecf8a1cb880363d5374f9777403b2cf6c1 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 1bff7bf46ac041d3d480a9978c340868e98a7e08 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 07f21b61bd1204e14db02f424590decfeb527f51 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 021366ef147e36a14567b22a1d97628987d13c8e Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 36f87b4daf9d385b558d4a0663abed13d5e3d13e Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 87e765a7594fcada946ad65082dd854bc0092328 Author: Boris Kovar Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit 72c94f05cbd60bb33f477de4aef471920f1c29bf Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 224ca2345f734a8819d88125fcabc72aedffb8b2 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 36f03f843dce0b603a5f38a246f1cded8ebd9c71 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 807292042c5063582f61b642f32762cc013b2323 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit e3190563cbd25a4860bb45317fcd18e149214942 Author: Boris Kovar Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit 187e7f39614be2a60857f843bfc8398bb94874f5 Author: Boris Kovar Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit b6aa0a4dbe30d1a1e57092cc2e253b078f49825b Author: Boris Kovar Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit fccf97682fa65b6f86226e85713f3bda283726b4 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 965be5ecc97b316a5605ccc3acfbf3646e04e524 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit b01cdbf01d85855bfca6f60a3981888334f64d7b Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit e04fbf2a8b54cb3bad30889e6cd64144fdd74c9c Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 5d64c26ca47113b78d1680c9381c389260d330f9 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit dbb155c0ea79aa6295e6ed18498a4d0b121f0133 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit b1c0f3c0c3547eb71d0b756da6b2f11d090df2ad Author: Boris Kovar Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit abc8cc993165970d1827898dbb4cc7795b23835d Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 2ef004ad1324989890dc2460cb4d991a4d0e3a9d Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 756a25be46950e2762e3c8c399583132a1d37d57 Merge: f686ef4a f474ff6c Author: Boris Kovar Date: Thu Mar 14 10:00:02 2024 +0100 Merge branch '#1348' of https://github.com/m2ms/fragalysis-frontend into #1348 commit f686ef4a96e57571ab53ce1901927676a85a7eb1 Author: Boris Kovar Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit df6209c149d048ff8cc6f5faef40fb4657a51578 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit f5a842f250d2706e1fdaba819876fef766b754a1 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 83ffcccc99d813815496d1b97443e23bd3e72ae3 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 0ecff35ab72e0f679211fd6266a86b9bda3814e0 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit d3a90c7e6c5538b46f8c1ed0aa5fa48fd718e951 Author: Boris Kovar Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit 50800b9c05cc94fc783b63e918c419a8f1c95d7b Author: Boris Kovar Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit 2af18fdc661a84342af49b1eaab7e3e09a5f702b Author: Boris Kovar Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit cd75a275c858acfd77eea28c1833175a25ba1776 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit c485389796dce1817d14d923e8d41e26875533eb Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 96296e919e3b15d0bbc0ee66f63c0ee4f7564942 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 760152bdc448a9f91c22de292fd4e41b7aa0b626 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 8a30204864a5858c94bc0ee6341c9337c1deeff4 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 6235e9c320920bb57928af515c7c003eba06d80e Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit e2e46cb4c68a8c2a2a92a720de978a8935813815 Author: Boris Kovar Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit 8176514e81f7e67a1be034207d7d33ac96a41259 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 6aa51082e3832f0a678c270b5cd5d8958de88a96 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit f474ff6c01b12c9b1775323bae5eab18b5717d95 Merge: 56c0b85c e728f49c Author: Boris Kovar 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 56c0b85cc08afe9f56bbf2f78297a3d1251dbc62 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit a185933a1639d78238f6f2145f1eae2a0ac4d3c6 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 09c97b53e59d30576859a13d5e443fdd6e827e98 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit c6d0738d3e376de9082192de4f6d6b91808bafac Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 72f36b0de20159bb8bbbc2217b073f302c41315e Author: Boris Kovar Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit 971799dffdcfd51601943e981786fc19aa0d672c Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 1bb53263961016ce3d7a2e3f977a5cbaf2e8e9fb Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit e728f49cb7e08238afb349039b7cf15d4290555f Author: Boris Kovar Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit 125b8d48589d0180d261e781fc18f3b88787cc05 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 0e4155177fde3500404a15cd514bc774f3836b43 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 8cf43e054416ed1a54565604859a411530ba1837 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit d336352f1856fa02722eb27f19511e29f26781c0 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 2fb59dcd5c2c14941fd8c74282473822af87b0fb Author: Boris Kovar Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit 9439f5d40bb696f2247f412901b65db8d1ea5ea6 Author: Boris Kovar Date: Thu Mar 7 13:59:03 2024 +0100 - partial fix for purple release for #1370 commit 4ff5f945954ea6533f9c3728c0565b20c79b2b0d Author: Boris Kovar 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 66a98f3c617d0d110e73cf4df09048c572b3edee Author: Boris Kovar Date: Wed Mar 6 09:47:12 2024 +0100 - implemented #1361 - improvements for #1354 commit 8a193a551faa91e4441783429b980608c116665c Author: Boris Kovar Date: Tue Mar 5 13:24:11 2024 +0100 - cleanup for #1354 commit bb3bf3b6ceafdd40b0778157ff95d01ecceb6f8e Author: Boris Kovar Date: Tue Mar 5 13:21:32 2024 +0100 - updated message for #1354 commit a3dc8191aadd627f4de6f7425c9dfb72c34c1d23 Author: Boris Kovar Date: Tue Mar 5 13:05:12 2024 +0100 - first implementation of #1354 commit 4121519dad01feb107c1a4b2751caefb620f5471 Author: Boris Kovar Date: Tue Mar 5 08:17:49 2024 +0100 - implemented #1357 commit 4d96ff464b940f7aca3340819496e1d6fa03d1cf Author: Boris Kovar Date: Mon Mar 4 10:07:06 2024 +0100 - implemented changes requested in #1326 commit 03158bec02a2a6a8ded44bae99bfccd0f1df49ca Author: Boris Kovar Date: Mon Mar 4 08:45:22 2024 +0100 - fixed problem with tags not visually updating on observations commit 8765a3c69ef662a8c34ce73806bedfa306ab12f7 Author: matej Date: Mon Feb 26 21:36:12 2024 +0100 #1341 "pin" edit tag row outside of tag list commit 6db8b22ca6133eddeb7322cc0bd0ab52a5272fd6 Author: Boris Kovar Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit 027eaf0eacd1ea929eb00bfca4aef9e34ba1deab Author: Boris Kovar Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit 7407dbd02fe0cf50dcb069740475e914010e9016 Author: Boris Kovar Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit c13628b494bb5bfcd3b889b7a040568b683549a8 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit e39721c2353fe40249ea7cac6d7d01bc58186fe2 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint * - using official backend now * Squashed commit of the following: commit 8fe886a84214d86fc9b0436a8737a3bf29697bc9 Author: Boris Kovar Date: Wed May 15 09:00:04 2024 +0200 Squashed commit of the following: commit 68132195b92c9793ddbde000e7a0e9c64e7330b4 Author: matej Date: Mon Apr 29 07:38:30 2024 +0200 #1261 added icon for "Manage grouping" button commit a665ed53bbe132ab1d2751ed09a521479d58ca09 Author: matej Date: Sun Apr 28 23:23:25 2024 +0200 #1261 added buttons into observation dialog for later poses handling commit 70a5e702d01dcb09ec9b20d131a0a940cc9a1650 Author: Boris Kovar 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 68132195b92c9793ddbde000e7a0e9c64e7330b4 Author: matej Date: Mon Apr 29 07:38:30 2024 +0200 commit a665ed53bbe132ab1d2751ed09a521479d58ca09 Author: matej Date: Sun Apr 28 23:23:25 2024 +0200 * #1393 - small bug fix for csv name * - implementation of #1441 --------- Co-authored-by: matej --- js/components/preview/molecule/observationCmpList.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/components/preview/molecule/observationCmpList.js b/js/components/preview/molecule/observationCmpList.js index 44b92fce0..7aff382cd 100644 --- a/js/components/preview/molecule/observationCmpList.js +++ b/js/components/preview/molecule/observationCmpList.js @@ -1250,7 +1250,7 @@ export const ObservationCmpList = memo(({ hideProjects }) => { {`Total cmps/obs ${filteredLHSCompoundsList?.length}/${joinedMoleculeLists?.length}`} + >{`#Poses=${filteredLHSCompoundsList?.length}, #Obs=${joinedMoleculeLists?.length}`} From aa95a76d7d1fea3b5fb28ca042f992e5688fd292 Mon Sep 17 00:00:00 2001 From: boriskovar-m2ms Date: Tue, 11 Jun 2024 13:33:28 +0200 Subject: [PATCH 3/4] #1438 (#434) * #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 7511b573482d4a1097286cfdc354b374ec5900e6 Author: Boris Kovar Date: Tue Apr 23 08:27:24 2024 +0200 - finished #1348 commit 6074d79ca46cdd141d166789af1e7268c0e7bf33 Author: Boris Kovar Date: Wed Apr 17 09:50:06 2024 +0200 - #1348 - fixed cases when all pdbs are missing commit 49f0ae8750ac9056dbc6d545a1a151e73f0d3b81 Author: Boris Kovar Date: Wed Apr 10 13:41:50 2024 +0200 - checkpoint commit 13a315ef93d0d5f411b3cb3091696a6bc166ce1d Author: Boris Kovar Date: Wed Apr 3 12:30:06 2024 +0200 - checkpoint commit a5b8cca53af12a5a2f5d20ca74f3c91d9104e4f2 Merge: 34b75f78 756a25be Author: Boris Kovar Date: Mon Mar 25 12:24:01 2024 +0100 Merge branch '#1348' of https://github.com/m2ms/fragalysis-frontend into #1348 commit 34b75f78782360ac20c5c6b5e0f650558ae0e401 Author: Boris Kovar Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit 1308cb28c79ea746d2ac6847baa1ee489089d94d Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 1ee15e78086164142fb79eb8102df2827b28a2c1 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit a033b68c5f093743c8fd1deb6eb3e2d1e3aac314 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 7149081d50a30191434605dedde5b112539d0141 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 623de4fa1750e4d1acf013ae266b1b68fadd8449 Author: Boris Kovar Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit eec204c5771885f95b05a1beb036e483302b987e Author: Boris Kovar Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit dbc93a71846312f0c40c96b7fac207a3380b3c01 Author: Boris Kovar Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit b933243938573b4a2bb23b6d92a0e5eeaf396b10 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 4a0e17154d2e947d23668e851ef19c5eaf4d412a Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 634ed03beb909e1e69c748ddb33a09ada83bd609 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 6e65faecf8a1cb880363d5374f9777403b2cf6c1 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 1bff7bf46ac041d3d480a9978c340868e98a7e08 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 07f21b61bd1204e14db02f424590decfeb527f51 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 021366ef147e36a14567b22a1d97628987d13c8e Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 36f87b4daf9d385b558d4a0663abed13d5e3d13e Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 87e765a7594fcada946ad65082dd854bc0092328 Author: Boris Kovar Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit 72c94f05cbd60bb33f477de4aef471920f1c29bf Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 224ca2345f734a8819d88125fcabc72aedffb8b2 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 36f03f843dce0b603a5f38a246f1cded8ebd9c71 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 807292042c5063582f61b642f32762cc013b2323 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit e3190563cbd25a4860bb45317fcd18e149214942 Author: Boris Kovar Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit 187e7f39614be2a60857f843bfc8398bb94874f5 Author: Boris Kovar Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit b6aa0a4dbe30d1a1e57092cc2e253b078f49825b Author: Boris Kovar Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit fccf97682fa65b6f86226e85713f3bda283726b4 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 965be5ecc97b316a5605ccc3acfbf3646e04e524 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit b01cdbf01d85855bfca6f60a3981888334f64d7b Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit e04fbf2a8b54cb3bad30889e6cd64144fdd74c9c Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 5d64c26ca47113b78d1680c9381c389260d330f9 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit dbb155c0ea79aa6295e6ed18498a4d0b121f0133 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit b1c0f3c0c3547eb71d0b756da6b2f11d090df2ad Author: Boris Kovar Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit abc8cc993165970d1827898dbb4cc7795b23835d Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 2ef004ad1324989890dc2460cb4d991a4d0e3a9d Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 756a25be46950e2762e3c8c399583132a1d37d57 Merge: f686ef4a f474ff6c Author: Boris Kovar Date: Thu Mar 14 10:00:02 2024 +0100 Merge branch '#1348' of https://github.com/m2ms/fragalysis-frontend into #1348 commit f686ef4a96e57571ab53ce1901927676a85a7eb1 Author: Boris Kovar Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit df6209c149d048ff8cc6f5faef40fb4657a51578 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit f5a842f250d2706e1fdaba819876fef766b754a1 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 83ffcccc99d813815496d1b97443e23bd3e72ae3 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 0ecff35ab72e0f679211fd6266a86b9bda3814e0 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit d3a90c7e6c5538b46f8c1ed0aa5fa48fd718e951 Author: Boris Kovar Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit 50800b9c05cc94fc783b63e918c419a8f1c95d7b Author: Boris Kovar Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit 2af18fdc661a84342af49b1eaab7e3e09a5f702b Author: Boris Kovar Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit cd75a275c858acfd77eea28c1833175a25ba1776 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit c485389796dce1817d14d923e8d41e26875533eb Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 96296e919e3b15d0bbc0ee66f63c0ee4f7564942 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 760152bdc448a9f91c22de292fd4e41b7aa0b626 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 8a30204864a5858c94bc0ee6341c9337c1deeff4 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 6235e9c320920bb57928af515c7c003eba06d80e Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit e2e46cb4c68a8c2a2a92a720de978a8935813815 Author: Boris Kovar Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit 8176514e81f7e67a1be034207d7d33ac96a41259 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 6aa51082e3832f0a678c270b5cd5d8958de88a96 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit f474ff6c01b12c9b1775323bae5eab18b5717d95 Merge: 56c0b85c e728f49c Author: Boris Kovar 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 56c0b85cc08afe9f56bbf2f78297a3d1251dbc62 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit a185933a1639d78238f6f2145f1eae2a0ac4d3c6 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 09c97b53e59d30576859a13d5e443fdd6e827e98 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit c6d0738d3e376de9082192de4f6d6b91808bafac Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 72f36b0de20159bb8bbbc2217b073f302c41315e Author: Boris Kovar Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit 971799dffdcfd51601943e981786fc19aa0d672c Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 1bb53263961016ce3d7a2e3f977a5cbaf2e8e9fb Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit e728f49cb7e08238afb349039b7cf15d4290555f Author: Boris Kovar Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit 125b8d48589d0180d261e781fc18f3b88787cc05 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 0e4155177fde3500404a15cd514bc774f3836b43 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 8cf43e054416ed1a54565604859a411530ba1837 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit d336352f1856fa02722eb27f19511e29f26781c0 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 2fb59dcd5c2c14941fd8c74282473822af87b0fb Author: Boris Kovar Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit 9439f5d40bb696f2247f412901b65db8d1ea5ea6 Author: Boris Kovar Date: Thu Mar 7 13:59:03 2024 +0100 - partial fix for purple release for #1370 commit 4ff5f945954ea6533f9c3728c0565b20c79b2b0d Author: Boris Kovar 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 66a98f3c617d0d110e73cf4df09048c572b3edee Author: Boris Kovar Date: Wed Mar 6 09:47:12 2024 +0100 - implemented #1361 - improvements for #1354 commit 8a193a551faa91e4441783429b980608c116665c Author: Boris Kovar Date: Tue Mar 5 13:24:11 2024 +0100 - cleanup for #1354 commit bb3bf3b6ceafdd40b0778157ff95d01ecceb6f8e Author: Boris Kovar Date: Tue Mar 5 13:21:32 2024 +0100 - updated message for #1354 commit a3dc8191aadd627f4de6f7425c9dfb72c34c1d23 Author: Boris Kovar Date: Tue Mar 5 13:05:12 2024 +0100 - first implementation of #1354 commit 4121519dad01feb107c1a4b2751caefb620f5471 Author: Boris Kovar Date: Tue Mar 5 08:17:49 2024 +0100 - implemented #1357 commit 4d96ff464b940f7aca3340819496e1d6fa03d1cf Author: Boris Kovar Date: Mon Mar 4 10:07:06 2024 +0100 - implemented changes requested in #1326 commit 03158bec02a2a6a8ded44bae99bfccd0f1df49ca Author: Boris Kovar Date: Mon Mar 4 08:45:22 2024 +0100 - fixed problem with tags not visually updating on observations commit 8765a3c69ef662a8c34ce73806bedfa306ab12f7 Author: matej Date: Mon Feb 26 21:36:12 2024 +0100 #1341 "pin" edit tag row outside of tag list commit 6db8b22ca6133eddeb7322cc0bd0ab52a5272fd6 Author: Boris Kovar Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit 027eaf0eacd1ea929eb00bfca4aef9e34ba1deab Author: Boris Kovar Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit 7407dbd02fe0cf50dcb069740475e914010e9016 Author: Boris Kovar Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit c13628b494bb5bfcd3b889b7a040568b683549a8 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit e39721c2353fe40249ea7cac6d7d01bc58186fe2 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint * - using official backend now * Squashed commit of the following: commit 8fe886a84214d86fc9b0436a8737a3bf29697bc9 Author: Boris Kovar Date: Wed May 15 09:00:04 2024 +0200 Squashed commit of the following: commit 68132195b92c9793ddbde000e7a0e9c64e7330b4 Author: matej Date: Mon Apr 29 07:38:30 2024 +0200 #1261 added icon for "Manage grouping" button commit a665ed53bbe132ab1d2751ed09a521479d58ca09 Author: matej Date: Sun Apr 28 23:23:25 2024 +0200 #1261 added buttons into observation dialog for later poses handling commit 70a5e702d01dcb09ec9b20d131a0a940cc9a1650 Author: Boris Kovar 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 68132195b92c9793ddbde000e7a0e9c64e7330b4 Author: matej Date: Mon Apr 29 07:38:30 2024 +0200 commit a665ed53bbe132ab1d2751ed09a521479d58ca09 Author: matej 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 e68fab1d063a15fbce043b9c44dd6f135efeb743 Author: Boris Kovar Date: Mon Jun 10 13:56:06 2024 +0200 - optimized snapshot creation - optimized snapshot restoration - fixed bugs when switching between snapshots in one project --------- Co-authored-by: matej --- docker-compose.dev.vector.yml | 2 + .../snapshot/redux/dispatchActions.js | 170 +++++++++--------- js/reducers/tracking/actions.js | 7 + js/reducers/tracking/constants.js | 3 +- js/reducers/tracking/dispatchActions.js | 60 +++++-- .../tracking/dispatchActionsSwitchSnapshot.js | 17 +- js/reducers/tracking/trackingReducers.js | 10 +- 7 files changed, 162 insertions(+), 107 deletions(-) diff --git a/docker-compose.dev.vector.yml b/docker-compose.dev.vector.yml index 272e4b83f..9e7f7c8c2 100644 --- a/docker-compose.dev.vector.yml +++ b/docker-compose.dev.vector.yml @@ -106,6 +106,8 @@ services: PROXY_FORWARDED_PROTO_HEADER: 'http' LEGACY_URL: 'https://fragalysis.diamond.ac.uk' DEPLOYMENT_MODE: 'development' + DISABLE_RESTRICT_PROPOSALS_TO_MEMBERSHIP: 'True' + PUBLIC_TAS: 'lb18145-1' # INFECTIONS: 'structure-download' depends_on: database: diff --git a/js/components/snapshot/redux/dispatchActions.js b/js/components/snapshot/redux/dispatchActions.js index d805e5cf1..f8264285f 100644 --- a/js/components/snapshot/redux/dispatchActions.js +++ b/js/components/snapshot/redux/dispatchActions.js @@ -310,94 +310,96 @@ export const createNewSnapshot = ({ let project = { projectID: session_project, authorID: author }; console.log('created snapshot id: ' + res.data.id); - return Promise.resolve(dispatch(saveCurrentActionsList(snapshot, project, nglViewList))).then(async () => { - if (disableRedirect === false) { - if (selectedSnapshotToSwitch != null) { - if (createDiscourse) { - dispatch(createSnapshotDiscoursePost(res.data.id)); + return Promise.resolve(dispatch(saveCurrentActionsList(snapshot, project, nglViewList, false))).then( + async () => { + if (disableRedirect === false) { + if (selectedSnapshotToSwitch != null) { + if (createDiscourse) { + dispatch(createSnapshotDiscoursePost(res.data.id)); + } + //window.location.replace(`${URLS.projects}${session_project}/${selectedSnapshotToSwitch}`); + await dispatch(changeSnapshot(session_project, selectedSnapshotToSwitch, nglViewList, stage)); + dispatch(setOpenSnapshotSavingDialog(false)); + dispatch(setIsLoadingSnapshotDialog(false)); + } else { + // A hacky way of changing the URL without triggering react-router + window.history.replaceState( + null, + null, + `${URLS.projects}${session_project}/${ + selectedSnapshotToSwitch === null ? res.data.id : selectedSnapshotToSwitch + }` + ); + api({ url: `${base_url}/api/session-projects/${session_project}/` }) + .then(async projectResponse => { + const response = await api({ + url: `${base_url}/api/snapshots/?session_project=${session_project}` + }); + + const length = response.data.results.length; + if (length === 0) { + dispatch(resetCurrentSnapshot()); + } else { + const createdSnapshot = + response.data.results && response.data.results.find(r => r.id === res.data.id); + console.log('new snapshot id: ' + JSON.stringify(createdSnapshot?.id)); + + if (createdSnapshot !== undefined && createdSnapshot !== null) { + // If the tree fails to load, bail out first without modifying the store + await dispatch(loadSnapshotTree(projectResponse.data.id)); + await dispatch( + setCurrentSnapshot({ + id: createdSnapshot.id, + type: createdSnapshot.type, + title: createdSnapshot.title, + author: createdSnapshot.author, + description: createdSnapshot.description, + created: createdSnapshot.created, + children: createdSnapshot.children, + parent: createdSnapshot.parent, + data: '[]' + }) + ); + await dispatch( + setCurrentProject({ + projectID: projectResponse.data.id, + authorID: projectResponse.data.author || null, + title: projectResponse.data.title, + description: projectResponse.data.description, + targetID: projectResponse.data.target.id, + tags: JSON.parse(projectResponse.data.tags) + }) + ); + if (createDiscourse) { + dispatch(createSnapshotDiscoursePost()); + } + dispatch(setOpenSnapshotSavingDialog(false)); + dispatch(setIsLoadingSnapshotDialog(false)); + dispatch(setSnapshotJustSaved(projectResponse.data.id)); + dispatch(setDialogCurrentStep()); + } + } + }) + .catch(error => { + dispatch(resetCurrentSnapshot()); + dispatch(setIsLoadingSnapshotDialog(false)); + console.log(`Error while saving snapshot: ${error}`); + }); } - //window.location.replace(`${URLS.projects}${session_project}/${selectedSnapshotToSwitch}`); - await dispatch(changeSnapshot(session_project, selectedSnapshotToSwitch, nglViewList, stage)); + } else { dispatch(setOpenSnapshotSavingDialog(false)); dispatch(setIsLoadingSnapshotDialog(false)); - } else { - // A hacky way of changing the URL without triggering react-router - window.history.replaceState( - null, - null, - `${URLS.projects}${session_project}/${ - selectedSnapshotToSwitch === null ? res.data.id : selectedSnapshotToSwitch - }` - ); - api({ url: `${base_url}/api/session-projects/${session_project}/` }) - .then(async projectResponse => { - const response = await api({ - url: `${base_url}/api/snapshots/?session_project=${session_project}` - }); - - const length = response.data.results.length; - if (length === 0) { - dispatch(resetCurrentSnapshot()); - } else { - const createdSnapshot = - response.data.results && response.data.results.find(r => r.id === res.data.id); - console.log('new snapshot id: ' + JSON.stringify(createdSnapshot?.id)); - - if (createdSnapshot !== undefined && createdSnapshot !== null) { - // If the tree fails to load, bail out first without modifying the store - await dispatch(loadSnapshotTree(projectResponse.data.id)); - await dispatch( - setCurrentSnapshot({ - id: createdSnapshot.id, - type: createdSnapshot.type, - title: createdSnapshot.title, - author: createdSnapshot.author, - description: createdSnapshot.description, - created: createdSnapshot.created, - children: createdSnapshot.children, - parent: createdSnapshot.parent, - data: '[]' - }) - ); - await dispatch( - setCurrentProject({ - projectID: projectResponse.data.id, - authorID: projectResponse.data.author || null, - title: projectResponse.data.title, - description: projectResponse.data.description, - targetID: projectResponse.data.target.id, - tags: JSON.parse(projectResponse.data.tags) - }) - ); - if (createDiscourse) { - dispatch(createSnapshotDiscoursePost()); - } - dispatch(setOpenSnapshotSavingDialog(false)); - dispatch(setIsLoadingSnapshotDialog(false)); - dispatch(setSnapshotJustSaved(projectResponse.data.id)); - dispatch(setDialogCurrentStep()); - } - } + dispatch( + setSharedSnapshot({ + title, + description, + url: `${base_url}${URLS.projects}${session_project}/${res.data.id}` }) - .catch(error => { - dispatch(resetCurrentSnapshot()); - dispatch(setIsLoadingSnapshotDialog(false)); - console.log(`Error while saving snapshot: ${error}`); - }); + ); + return res.data.id; } - } else { - dispatch(setOpenSnapshotSavingDialog(false)); - dispatch(setIsLoadingSnapshotDialog(false)); - dispatch( - setSharedSnapshot({ - title, - description, - url: `${base_url}${URLS.projects}${session_project}/${res.data.id}` - }) - ); - return res.data.id; } - }); + ); } }); }) @@ -508,7 +510,7 @@ export const createNewSnapshotWithoutStateModification = ({ let snapshot = { id: res.data.id, title: title }; let project = { projectID: session_project, authorID: author }; - dispatch(saveCurrentActionsList(snapshot, project, nglViewList, true)); + dispatch(saveCurrentActionsList(snapshot, project, nglViewList, true, true)); } }); }); @@ -566,7 +568,7 @@ export const saveAndShareSnapshot = (nglViewList, showDialog = true, axuData = { const parent = null; const session_project = projectID; - await dispatch(sendTrackingActionsByProjectId(projectID, author)); + await dispatch(sendTrackingActionsByProjectId(projectID, author, true)); await dispatch( createNewSnapshotWithoutStateModification({ diff --git a/js/reducers/tracking/actions.js b/js/reducers/tracking/actions.js index 5d048c2b2..baac7b94d 100644 --- a/js/reducers/tracking/actions.js +++ b/js/reducers/tracking/actions.js @@ -98,6 +98,13 @@ export const setProjectActionListLoaded = isLoaded => { }; }; +export const setSnapshotActionsDownloaded = isDownloaded => { + return { + type: constants.SET_SNAPSHOT_ACTIONS_DOWNLOADED, + isDownloaded: isDownloaded + }; +}; + export const setSnapshotImageActionList = function(snapshotActionImageList) { return { type: constants.SET_SNAPSOT_IMAGE_ACTIONS_LIST, diff --git a/js/reducers/tracking/constants.js b/js/reducers/tracking/constants.js index c956c13a7..be7f45ece 100644 --- a/js/reducers/tracking/constants.js +++ b/js/reducers/tracking/constants.js @@ -22,7 +22,8 @@ export const constants = { SET_UNDO_REDO_ACTIONS_LIST: prefix + 'SET_UNDO_REDO_ACTIONS_LIST', SET_PROJECT_ACTIONS_LIST_LOADED: prefix + 'SET_PROJECT_ACTIONS_LIST_LOADED', SET_SKIP_ORIENTATION_CHANGE: prefix + 'SET_SKIP_ORIENTATION_CHANGE', //when snapshot is switched we want to skip orientation change so it doesn't blink through multiple states - SET_IS_SNAPSHOT_DIRTY: prefix + 'SET_IS_SNAPSHOT_DIRTY' + SET_IS_SNAPSHOT_DIRTY: prefix + 'SET_IS_SNAPSHOT_DIRTY', + SET_SNAPSHOT_ACTIONS_DOWNLOADED: prefix + 'SET_SNAPSHOT_ACTIONS_DOWNLOADED' }; export const actionType = { diff --git a/js/reducers/tracking/dispatchActions.js b/js/reducers/tracking/dispatchActions.js index 919049696..d70ad0d1c 100644 --- a/js/reducers/tracking/dispatchActions.js +++ b/js/reducers/tracking/dispatchActions.js @@ -4,7 +4,8 @@ import { setIsTrackingCompoundsRestoring, setIsUndoRedoAction, setProjectActionListLoaded, - setIsSnapshotDirty + setIsSnapshotDirty, + setSnapshotActionsDownloaded } from './actions'; import { createInitAction } from './trackingActions'; import { actionType, actionObjectType, NUM_OF_SECONDS_TO_IGNORE_MERGE, mapTypesStrings } from './constants'; @@ -169,6 +170,7 @@ import { import { turnSide } from '../../components/preview/viewerControls/redux/actions'; import { getQualityOffActions } from './utils'; import { compoundsColors } from '../../components/preview/compounds/redux/constants'; +import { isEqual, uniqWith } from 'lodash'; export const addCurrentActionsListToSnapshot = (snapshot, project, nglViewList) => async (dispatch, getState) => { let projectID = project && project.projectID; @@ -177,19 +179,27 @@ export const addCurrentActionsListToSnapshot = (snapshot, project, nglViewList) await dispatch(setSnapshotToActions(actionList, snapshot, projectID, project, nglViewList, true)); }; -export const saveCurrentActionsList = (snapshot, project, nglViewList, all = false) => async (dispatch, getState) => { +export const saveCurrentActionsList = (snapshot, project, nglViewList, all, isAnonymousSnapshot = false) => async ( + dispatch, + getState +) => { let projectID = project && project.projectID; - let actionList = await dispatch(getTrackingActions(projectID)); + let actionList = await dispatch(getTrackingActions(isAnonymousSnapshot ? null : projectID)); - if (all === false) { - dispatch(setSnapshotToActions(actionList, snapshot, projectID, project, nglViewList, false)); - } else { - dispatch(setSnapshotToAllActions(actionList, snapshot, projectID)); + if (!isAnonymousSnapshot) { + if (all === false) { + dispatch(setSnapshotToActions(actionList, snapshot, projectID, project, nglViewList, false)); + } else { + dispatch(setSnapshotToAllActions(actionList, snapshot, projectID)); + } } - await dispatch(saveActionsList(project, snapshot, actionList, nglViewList)); + await dispatch(saveActionsList(project, snapshot, actionList, nglViewList /*, isAnonymousSnapshot*/)); }; -const saveActionsList = (project, snapshot, actionList, nglViewList) => async (dispatch, getState) => { +const saveActionsList = (project, snapshot, actionList, nglViewList, isAnonymousSnapshot = false) => async ( + dispatch, + getState +) => { const state = getState(); const snapshotID = snapshot && snapshot.id; if (snapshotID) { @@ -526,7 +536,9 @@ const saveActionsList = (project, snapshot, actionList, nglViewList) => async (d currentActions.push(Object.assign({ ...trackAction })); } - await dispatch(saveSnapshotAction(snapshot, project, currentActions)); + if (!isAnonymousSnapshot) { + await dispatch(saveSnapshotAction(snapshot, project, currentActions)); + } await dispatch(saveTrackingActions(currentActions, snapshotID)); dispatch(setCurrentActionsList(currentActions)); } @@ -905,8 +917,10 @@ export const restoreCurrentActionsList = snapshotID => async (dispatch, getState }; const restoreTrackingActions = snapshotID => async (dispatch, getState) => { + const state = getState(); + const areSnapshotActionsDownloaded = state.trackingReducers.areSnapshotActionsDownloaded; // console.log(`snapshotDebug - restoreTrackingActions - start`); - if (snapshotID) { + if (snapshotID && !areSnapshotActionsDownloaded) { try { // console.log(`snapshotDebug - restoreTrackingActions - before getting actions`); return api({ @@ -923,6 +937,7 @@ const restoreTrackingActions = snapshotID => async (dispatch, getState) => { let snapshotActions = [...listToSet]; dispatch(setCurrentActionsList(snapshotActions)); + dispatch(setSnapshotActionsDownloaded(true)); // console.log(`snapshotDebug - restoreTrackingActions - end - success`); return Promise.resolve(snapshotActions); // return Promise.resolve(); @@ -969,10 +984,16 @@ const restoreTargetActions = orderedActionList => (dispatch, getState) => { }; export const restoreAfterTargetActions = (stages, projectId, snapshotId) => async (dispatch, getState) => { - const currentActionList = await dispatch(restoreTrackingActions(snapshotId)); - const state = getState(); + const areSnapshotActionsDownloaded = state.trackingReducers.areSnapshotActionsDownloaded; + let currentActionList = []; + if (!areSnapshotActionsDownloaded) { + currentActionList = await dispatch(restoreTrackingActions(snapshotId)); + } else { + currentActionList = state.trackingReducers.current_actions_list; + } + // const currentActionList = state.trackingReducers.current_actions_list; const orderedActionList = currentActionList.sort((a, b) => a.timestamp - b.timestamp); // console.log(`snapshotDebug - restoreAfterTargetActions - no. of actions: ${orderedActionList.length}`); @@ -3739,7 +3760,7 @@ export const checkSendTrackingActions = (save = false) => async (dispatch, getSt const sendActions = state.trackingReducers.send_actions_list; const length = sendActions.length; - if (length >= CONSTANTS.COUNT_SEND_TRACK_ACTIONS || save) { + if (/*length >= CONSTANTS.COUNT_SEND_TRACK_ACTIONS || */ save) { await dispatch(sendTrackingActions(sendActions, currentProject, true)); } }; @@ -3797,6 +3818,8 @@ const getTrackingActions = (projectID, withTreeSeparation) => (dispatch, getStat const currentProject = state.projectReducers.currentProject; const currentProjectID = currentProject && currentProject.projectID; const sendActions = state.trackingReducers.send_actions_list; + const currentActionList = state.trackingReducers.current_actions_list; + const trackActionsList = state.trackingReducers.track_actions_list; if (projectID) { dispatch(setIsActionsLoading(true)); @@ -3837,7 +3860,10 @@ const getTrackingActions = (projectID, withTreeSeparation) => (dispatch, getStat dispatch(setIsActionsLoading(false)); }); } else { - let projectActions = [...sendActions]; + // let projectActions = [...sendActions]; + // const projectActions = []; + let projectActions = [...currentActionList, ...sendActions, ...trackActionsList]; + projectActions = uniqWith(projectActions, isEqual); dispatch(setProjectActionList(projectActions)); return Promise.resolve(projectActions); } @@ -3906,14 +3932,14 @@ const copyActionsToProject = (toProject, setActionList = true, clear = false) => } }; -export const sendTrackingActionsByProjectId = (projectID, authorID) => async (dispatch, getState) => { +export const sendTrackingActionsByProjectId = (projectID, authorID, offline = false) => async (dispatch, getState) => { const state = getState(); const currentProject = state.projectReducers.currentProject; const currentProjectID = currentProject && currentProject.projectID; const project = { projectID, authorID }; - await dispatch(getTrackingActions(currentProjectID)); + await dispatch(getTrackingActions(offline ? null : currentProjectID)); await dispatch(copyActionsToProject(project, false, currentProjectID && currentProjectID != null ? true : false)); }; diff --git a/js/reducers/tracking/dispatchActionsSwitchSnapshot.js b/js/reducers/tracking/dispatchActionsSwitchSnapshot.js index d270c23f7..36467e56d 100644 --- a/js/reducers/tracking/dispatchActionsSwitchSnapshot.js +++ b/js/reducers/tracking/dispatchActionsSwitchSnapshot.js @@ -1,7 +1,13 @@ import { base_url, URLS } from '../../components/routes/constants'; import { api } from '../../../js/utils/api'; import { setCurrentSnapshot } from '../../components/projects/redux/actions'; -import { setCurrentActionsList, setIsActionsRestoring, setSkipOrientationChange, setIsSnapshotDirty } from './actions'; +import { + setCurrentActionsList, + setIsActionsRestoring, + setSkipOrientationChange, + setIsSnapshotDirty, + setSnapshotActionsDownloaded +} from './actions'; import { resetSelectionState } from '../selection/actions'; import { resetDatasetsStateOnSnapshotChange, resetDatasetScrolledMap } from '../../components/datasets/redux/actions'; import { resetViewerControlsState } from '../../components/preview/viewerControls/redux/actions'; @@ -59,6 +65,7 @@ import { } from '../../components/datasets/redux/dispatchActions'; import { getDifference } from './utils'; import { setIsSnapshot, setSnapshotLoadingInProgress } from '../api/actions'; +import { isEqual, uniqWith } from 'lodash'; /** * The goal of this method is to restore the state of the app based on the tracking @@ -138,6 +145,7 @@ export const restoreAfterSnapshotChange = (stages, projectId) => async (dispatch */ export const changeSnapshot = (projectID, snapshotID, nglViewList, stage) => async (dispatch, getState) => { console.count(`Change snapshot - start`); + dispatch(setSnapshotActionsDownloaded(false)); dispatch(setSnapshotLoadingInProgress(true)); dispatch(setIsSnapshot(true)); // A hacky way of changing the URL without triggering react-router @@ -349,7 +357,7 @@ const handleSurfacesOfMols = (actions, stage) => async (dispatch, getState) => { for (const molId of instructions.toTurnOn) { const mol = dispatch(getMoleculeForId(molId)); if (mol) { - await dispatch(addSurface(stage, mol, getRandomColor(mol), true, true)); + await dispatch(addSurface(stage, mol, getRandomColor(mol), true)); } } }; @@ -370,7 +378,7 @@ const handleSurfacesOfCompounds = (actions, stage) => async (dispatch, getState) for (const cmpId of cmpIds.toTurnOn) { const cmp = dispatch(getCompoundById(cmpId, datasetId)); if (cmp) { - await dispatch(addDatasetSurface(stage, cmp, getRandomColor(cmp), datasetId, true)); + await dispatch(addDatasetSurface(stage, cmp, getRandomColor(cmp), datasetId)); } } } @@ -563,7 +571,7 @@ const getRestoreInstructionsForCompounds = (actions, actionType, compoundsLists) const getMoleculeIdsFromActions = (actions, actionType) => (dispatch, getState) => { const state = getState(); - const result = actions + let result = actions .filter(action => action.type === actionType && action.object_type === actionObjectType.MOLECULE) .map(action => { const mol = getMolecule(action.object_name, state); @@ -571,6 +579,7 @@ const getMoleculeIdsFromActions = (actions, actionType) => (dispatch, getState) return { id: mol?.id, name: mol?.code }; } }); + result = uniqWith(result, isEqual); return result; }; diff --git a/js/reducers/tracking/trackingReducers.js b/js/reducers/tracking/trackingReducers.js index 89bf88031..c7eebdd86 100644 --- a/js/reducers/tracking/trackingReducers.js +++ b/js/reducers/tracking/trackingReducers.js @@ -21,7 +21,8 @@ export const INITIAL_STATE = { trackingImageSource: '', isProjectActionListLoaded: false, skipOrientationChange: false, - isSnapshotDirty: false + isSnapshotDirty: false, + areSnapshotActionsDownloaded: false }; export function trackingReducers(state = INITIAL_STATE, action = {}) { @@ -31,6 +32,13 @@ export function trackingReducers(state = INITIAL_STATE, action = {}) { track_actions_list: action.track_actions_list }); + case constants.SET_SNAPSHOT_ACTIONS_DOWNLOADED: { + return { + ...state, + areSnapshotActionsDownloaded: action.isDownloaded + }; + } + case constants.APPEND_ACTIONS_LIST: return Object.assign({}, state, { track_actions_list: [...new Set([...state.track_actions_list, action.track_action])] From 6bd2b0a527be41340839e0735ed8ab31b8d08337 Mon Sep 17 00:00:00 2001 From: boriskovar-m2ms Date: Tue, 18 Jun 2024 09:59:44 +0200 Subject: [PATCH 4/4] #1322 (#435) * #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 7511b573482d4a1097286cfdc354b374ec5900e6 Author: Boris Kovar Date: Tue Apr 23 08:27:24 2024 +0200 - finished #1348 commit 6074d79ca46cdd141d166789af1e7268c0e7bf33 Author: Boris Kovar Date: Wed Apr 17 09:50:06 2024 +0200 - #1348 - fixed cases when all pdbs are missing commit 49f0ae8750ac9056dbc6d545a1a151e73f0d3b81 Author: Boris Kovar Date: Wed Apr 10 13:41:50 2024 +0200 - checkpoint commit 13a315ef93d0d5f411b3cb3091696a6bc166ce1d Author: Boris Kovar Date: Wed Apr 3 12:30:06 2024 +0200 - checkpoint commit a5b8cca53af12a5a2f5d20ca74f3c91d9104e4f2 Merge: 34b75f78 756a25be Author: Boris Kovar Date: Mon Mar 25 12:24:01 2024 +0100 Merge branch '#1348' of https://github.com/m2ms/fragalysis-frontend into #1348 commit 34b75f78782360ac20c5c6b5e0f650558ae0e401 Author: Boris Kovar Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit 1308cb28c79ea746d2ac6847baa1ee489089d94d Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 1ee15e78086164142fb79eb8102df2827b28a2c1 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit a033b68c5f093743c8fd1deb6eb3e2d1e3aac314 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 7149081d50a30191434605dedde5b112539d0141 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 623de4fa1750e4d1acf013ae266b1b68fadd8449 Author: Boris Kovar Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit eec204c5771885f95b05a1beb036e483302b987e Author: Boris Kovar Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit dbc93a71846312f0c40c96b7fac207a3380b3c01 Author: Boris Kovar Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit b933243938573b4a2bb23b6d92a0e5eeaf396b10 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 4a0e17154d2e947d23668e851ef19c5eaf4d412a Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 634ed03beb909e1e69c748ddb33a09ada83bd609 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 6e65faecf8a1cb880363d5374f9777403b2cf6c1 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 1bff7bf46ac041d3d480a9978c340868e98a7e08 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 07f21b61bd1204e14db02f424590decfeb527f51 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 021366ef147e36a14567b22a1d97628987d13c8e Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 36f87b4daf9d385b558d4a0663abed13d5e3d13e Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 87e765a7594fcada946ad65082dd854bc0092328 Author: Boris Kovar Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit 72c94f05cbd60bb33f477de4aef471920f1c29bf Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 224ca2345f734a8819d88125fcabc72aedffb8b2 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 36f03f843dce0b603a5f38a246f1cded8ebd9c71 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 807292042c5063582f61b642f32762cc013b2323 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit e3190563cbd25a4860bb45317fcd18e149214942 Author: Boris Kovar Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit 187e7f39614be2a60857f843bfc8398bb94874f5 Author: Boris Kovar Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit b6aa0a4dbe30d1a1e57092cc2e253b078f49825b Author: Boris Kovar Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit fccf97682fa65b6f86226e85713f3bda283726b4 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 965be5ecc97b316a5605ccc3acfbf3646e04e524 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit b01cdbf01d85855bfca6f60a3981888334f64d7b Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit e04fbf2a8b54cb3bad30889e6cd64144fdd74c9c Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 5d64c26ca47113b78d1680c9381c389260d330f9 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit dbb155c0ea79aa6295e6ed18498a4d0b121f0133 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit b1c0f3c0c3547eb71d0b756da6b2f11d090df2ad Author: Boris Kovar Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit abc8cc993165970d1827898dbb4cc7795b23835d Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 2ef004ad1324989890dc2460cb4d991a4d0e3a9d Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 756a25be46950e2762e3c8c399583132a1d37d57 Merge: f686ef4a f474ff6c Author: Boris Kovar Date: Thu Mar 14 10:00:02 2024 +0100 Merge branch '#1348' of https://github.com/m2ms/fragalysis-frontend into #1348 commit f686ef4a96e57571ab53ce1901927676a85a7eb1 Author: Boris Kovar Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit df6209c149d048ff8cc6f5faef40fb4657a51578 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit f5a842f250d2706e1fdaba819876fef766b754a1 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 83ffcccc99d813815496d1b97443e23bd3e72ae3 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 0ecff35ab72e0f679211fd6266a86b9bda3814e0 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit d3a90c7e6c5538b46f8c1ed0aa5fa48fd718e951 Author: Boris Kovar Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit 50800b9c05cc94fc783b63e918c419a8f1c95d7b Author: Boris Kovar Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit 2af18fdc661a84342af49b1eaab7e3e09a5f702b Author: Boris Kovar Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit cd75a275c858acfd77eea28c1833175a25ba1776 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit c485389796dce1817d14d923e8d41e26875533eb Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 96296e919e3b15d0bbc0ee66f63c0ee4f7564942 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 760152bdc448a9f91c22de292fd4e41b7aa0b626 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 8a30204864a5858c94bc0ee6341c9337c1deeff4 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 6235e9c320920bb57928af515c7c003eba06d80e Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit e2e46cb4c68a8c2a2a92a720de978a8935813815 Author: Boris Kovar Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit 8176514e81f7e67a1be034207d7d33ac96a41259 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 6aa51082e3832f0a678c270b5cd5d8958de88a96 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit f474ff6c01b12c9b1775323bae5eab18b5717d95 Merge: 56c0b85c e728f49c Author: Boris Kovar 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 56c0b85cc08afe9f56bbf2f78297a3d1251dbc62 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit a185933a1639d78238f6f2145f1eae2a0ac4d3c6 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 09c97b53e59d30576859a13d5e443fdd6e827e98 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit c6d0738d3e376de9082192de4f6d6b91808bafac Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 72f36b0de20159bb8bbbc2217b073f302c41315e Author: Boris Kovar Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit 971799dffdcfd51601943e981786fc19aa0d672c Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 1bb53263961016ce3d7a2e3f977a5cbaf2e8e9fb Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit e728f49cb7e08238afb349039b7cf15d4290555f Author: Boris Kovar Date: Tue Mar 12 12:35:21 2024 +0100 - latest backend commit 125b8d48589d0180d261e781fc18f3b88787cc05 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit 0e4155177fde3500404a15cd514bc774f3836b43 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 8cf43e054416ed1a54565604859a411530ba1837 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit d336352f1856fa02722eb27f19511e29f26781c0 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint commit 2fb59dcd5c2c14941fd8c74282473822af87b0fb Author: Boris Kovar Date: Tue Mar 12 09:48:51 2024 +0100 - using official backend version commit 9439f5d40bb696f2247f412901b65db8d1ea5ea6 Author: Boris Kovar Date: Thu Mar 7 13:59:03 2024 +0100 - partial fix for purple release for #1370 commit 4ff5f945954ea6533f9c3728c0565b20c79b2b0d Author: Boris Kovar 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 66a98f3c617d0d110e73cf4df09048c572b3edee Author: Boris Kovar Date: Wed Mar 6 09:47:12 2024 +0100 - implemented #1361 - improvements for #1354 commit 8a193a551faa91e4441783429b980608c116665c Author: Boris Kovar Date: Tue Mar 5 13:24:11 2024 +0100 - cleanup for #1354 commit bb3bf3b6ceafdd40b0778157ff95d01ecceb6f8e Author: Boris Kovar Date: Tue Mar 5 13:21:32 2024 +0100 - updated message for #1354 commit a3dc8191aadd627f4de6f7425c9dfb72c34c1d23 Author: Boris Kovar Date: Tue Mar 5 13:05:12 2024 +0100 - first implementation of #1354 commit 4121519dad01feb107c1a4b2751caefb620f5471 Author: Boris Kovar Date: Tue Mar 5 08:17:49 2024 +0100 - implemented #1357 commit 4d96ff464b940f7aca3340819496e1d6fa03d1cf Author: Boris Kovar Date: Mon Mar 4 10:07:06 2024 +0100 - implemented changes requested in #1326 commit 03158bec02a2a6a8ded44bae99bfccd0f1df49ca Author: Boris Kovar Date: Mon Mar 4 08:45:22 2024 +0100 - fixed problem with tags not visually updating on observations commit 8765a3c69ef662a8c34ce73806bedfa306ab12f7 Author: matej Date: Mon Feb 26 21:36:12 2024 +0100 #1341 "pin" edit tag row outside of tag list commit 6db8b22ca6133eddeb7322cc0bd0ab52a5272fd6 Author: Boris Kovar Date: Thu Feb 29 10:32:27 2024 +0100 - checkpoint commit 027eaf0eacd1ea929eb00bfca4aef9e34ba1deab Author: Boris Kovar Date: Tue Feb 27 12:16:45 2024 +0100 - checkpoint commit 7407dbd02fe0cf50dcb069740475e914010e9016 Author: Boris Kovar Date: Tue Feb 27 10:27:08 2024 +0100 - checkpoint commit c13628b494bb5bfcd3b889b7a040568b683549a8 Author: Boris Kovar Date: Tue Feb 27 09:23:04 2024 +0100 - checkpoint commit e39721c2353fe40249ea7cac6d7d01bc58186fe2 Author: Boris Kovar Date: Mon Feb 26 08:42:49 2024 +0100 - checkpoint * - using official backend now * Squashed commit of the following: commit 8fe886a84214d86fc9b0436a8737a3bf29697bc9 Author: Boris Kovar Date: Wed May 15 09:00:04 2024 +0200 Squashed commit of the following: commit 68132195b92c9793ddbde000e7a0e9c64e7330b4 Author: matej Date: Mon Apr 29 07:38:30 2024 +0200 #1261 added icon for "Manage grouping" button commit a665ed53bbe132ab1d2751ed09a521479d58ca09 Author: matej Date: Sun Apr 28 23:23:25 2024 +0200 #1261 added buttons into observation dialog for later poses handling commit 70a5e702d01dcb09ec9b20d131a0a940cc9a1650 Author: Boris Kovar 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 68132195b92c9793ddbde000e7a0e9c64e7330b4 Author: matej Date: Mon Apr 29 07:38:30 2024 +0200 commit a665ed53bbe132ab1d2751ed09a521479d58ca09 Author: matej 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 e68fab1d063a15fbce043b9c44dd6f135efeb743 Author: Boris Kovar 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 --------- Co-authored-by: matej --- js/components/preview/ResizableLayout.js | 5 +- .../molecule/moleculeView/moleculeView.js | 773 ++++++++++-------- .../preview/molecule/observationCmpList.js | 18 +- .../observationCmpView/observationCmpView.js | 379 ++++++--- .../preview/molecule/observationsDialog.js | 7 +- .../preview/molecule/redux/selectors.js | 30 +- .../preview/tags/details/tagDetails.js | 5 +- .../preview/tags/modal/editTagsModal.js | 20 +- js/components/preview/tags/utils/tagUtils.js | 50 +- 9 files changed, 832 insertions(+), 455 deletions(-) diff --git a/js/components/preview/ResizableLayout.js b/js/components/preview/ResizableLayout.js index f040be0dc..6278757cc 100644 --- a/js/components/preview/ResizableLayout.js +++ b/js/components/preview/ResizableLayout.js @@ -18,7 +18,8 @@ const useStyles = makeStyles(theme => ({ height: '100%' }, lhs: { - height: '100%' + height: '100%', + minWidth: 470 }, nglColumn: { display: 'flex', @@ -32,7 +33,7 @@ const useStyles = makeStyles(theme => ({ } })); -const sideWidth = 505; +const sideWidth = 492; let panelHeight = 0; const resizerSize = 20; let screenHeight = 0; diff --git a/js/components/preview/molecule/moleculeView/moleculeView.js b/js/components/preview/molecule/moleculeView/moleculeView.js index ee3e53319..802cfa5b7 100644 --- a/js/components/preview/molecule/moleculeView/moleculeView.js +++ b/js/components/preview/molecule/moleculeView/moleculeView.js @@ -4,7 +4,7 @@ import React, { memo, useEffect, useState, useRef, useContext, useCallback, useMemo } from 'react'; import { useDispatch, useSelector } from 'react-redux'; -import { Button, Grid, makeStyles, Tooltip, IconButton, Popper, Item, CircularProgress } from '@material-ui/core'; +import { Button, Grid, makeStyles, Tooltip, IconButton, Popper, CircularProgress } from '@material-ui/core'; import { Panel } from '../../../common'; import { MyLocation, Warning, Assignment, AssignmentTurnedIn } from '@material-ui/icons'; import SVGInline from 'react-svg-inline'; @@ -49,7 +49,7 @@ import { SvgTooltip } from '../../../common'; import { MOL_TYPE } from '../redux/constants'; import { DensityMapsModal } from '../modals/densityMapsModal'; import { getRandomColor } from '../utils/color'; -import { DEFAULT_TAG_COLOR, getAllTagsForMol, getAllTagsForObservation } from '../../tags/utils/tagUtils'; +import { DEFAULT_TAG_COLOR, getAllTagsForCategories, getAllTagsForLHSCmp, getAllTagsForMol, getAllTagsForObservation, getAllTagsForObservationPopover } from '../../tags/utils/tagUtils'; import MoleculeSelectCheckbox from './moleculeSelectCheckbox'; import useClipboard from 'react-use-clipboard'; import Popover from '@mui/material/Popover'; @@ -61,9 +61,38 @@ import { getFontColorByBackgroundColor } from '../../../../utils/colors'; const useStyles = makeStyles(theme => ({ container: { padding: theme.spacing(1) / 4, - color: 'black', + color: 'black' + // height: 54 + }, + containerHeight: { height: 54 }, + contColButtonMenu: { + // ...theme.typography.button, + height: '100%', + width: '100%', + minWidth: '20px', + // paddingLeft: theme.spacing(1) / 4, + // paddingRight: theme.spacing(1) / 4, + // paddingBottom: 0, + // paddingTop: 0, + fontWeight: 'bold', + fontSize: 12, + borderRadius: 0, + borderColor: theme.palette.background.divider, + borderLeft: '1px solid', + backgroundColor: 'orange', + alignContent: 'center', + textAlign: 'center', + '&:hover': { + // backgroundColor: 'orange' + // color: theme.palette.primary.contrastText + }, + '&:disabled': { + borderRadius: 0, + borderColor: 'darkorange' + } + }, contButtonsMargin: { margin: theme.spacing(1) / 2, width: 'inherit', @@ -108,7 +137,7 @@ const useStyles = makeStyles(theme => ({ detailsCol: { border: 'solid 1px', borderColor: theme.palette.background.divider, - borderStyle: 'solid none solid solid', + borderStyle: 'solid solid solid solid', width: 'inherit' }, image: { @@ -158,20 +187,27 @@ const useStyles = makeStyles(theme => ({ backgroundColor: theme.palette.error.lighter }, moleculeTitleLabel: { - ...theme.typography.button, + paddingLeft: 2, overflow: 'hidden', whiteSpace: 'nowrap', textOverflow: 'ellipsis', - lineHeight: '1.45' + lineHeight: '1.45', + fontWeight: 500, + fontSize: '0.9rem', + letterSpacing: '0.02em' }, moleculeTitleLabelMainObs: { - ...theme.typography.button, + paddingLeft: 2, overflow: 'hidden', whiteSpace: 'nowrap', textOverflow: 'ellipsis', lineHeight: '1.45', - fontWeight: '900', - fontStyle: 'italic' + fontWeight: 500, + fontSize: '0.9rem', + letterSpacing: '0.02em', + // fontStyle: 'italic', + textDecorationLine: 'underline', + textDecorationStyle: 'dotted' }, checkbox: { padding: 0 @@ -252,7 +288,7 @@ const useStyles = makeStyles(theme => ({ }, tagPopover: { height: '10px', - width: '220px', + // width: '220px', padding: '0px', fontSize: '9px', borderRadius: '6px', @@ -274,7 +310,8 @@ const useStyles = makeStyles(theme => ({ }, popover: { paddingLeft: '5px', - fontSize: '10px', + fontSize: '14px', + fontWeight: 'bold', borderRadius: '5px', border: '0px black solid', paddingRight: '5px', @@ -341,7 +378,8 @@ const MoleculeView = memo( selected, disableL, disableP, - disableC + disableC, + hideImage }) => { // const [countOfVectors, setCountOfVectors] = useState('-'); // const [cmpds, setCmpds] = useState('-'); @@ -462,8 +500,21 @@ const MoleculeView = memo( return getFontColorByBackgroundColor(bgColor); }; + const getAllTags = useCallback(() => getAllTagsForCategories(data, tagList, tagCategories), [data, tagList, tagCategories]); + + /** + * Get tag for render + */ + const getTagType = useCallback((type) => { + const defaultTagObject = { tag_prefix: '-', color: 'orange' }; + const tagCategory = tagCategories.find(tag => tag.category === type); + const tagObject = tagCategory ? getAllTags().find(tag => tag.category === tagCategory.id) : defaultTagObject; + return tagObject ?? defaultTagObject; + }, [getAllTags, tagCategories]); + const generateTagPopover = () => { - const allData = getAllTagsForObservation(data, tagList, tagCategories); + // const allData = getAllTagsForObservation(data, tagList, tagCategories); + const allData = getAllTagsForObservationPopover(data, tagList, tagCategories); // const sortedData = [...allData].sort((a, b) => a.tag.localeCompare(b.tag)); const modifiedObjects = allData.map(obj => { @@ -482,10 +533,10 @@ const MoleculeView = memo( }); const allTagsLength = allData.length > 9 ? 9 : allData.length; - const popperPadding = allTagsLength > 1 ? 250 : 420; + const popperPadding = 150; // allTagsLength > 1 ? 250 : 420; return modifiedObjects?.length > 0 ? ( -
+ @@ -518,11 +569,11 @@ const MoleculeView = memo(
{item.tag}
) : ( -
+ <> ) )} {DJANGO_CONTEXT['username'] === 'NOT_LOGGED_IN' ? ( -
+ <> ) : (
@@ -543,7 +594,7 @@ const MoleculeView = memo( } } }} - style={{ padding: '0px', paddingBottom: '3px', marginRight: '5px', position: 'right' }} + style={{ padding: 0, paddingBottom: 3, marginRight: 5, position: 'right' }} > @@ -560,6 +611,7 @@ const MoleculeView = memo( direction="row" onMouseEnter={handlePopoverOpen} onMouseLeave={handlePopoverClose} + style={{ marginBottom: 3 }} >
{modifiedObjects.map((item, index) => @@ -580,39 +632,37 @@ const MoleculeView = memo(
{item.tag}
) : ( -
+ <> ) )}
-
- {DJANGO_CONTEXT['username'] === 'NOT_LOGGED_IN' ? ( -
- ) : ( - { - if (tagEditModalOpenNew) { - setTagEditModalOpenNew(false); - dispatch(setTagEditorOpenObs(!tagEditModalOpenNew)); - dispatch(setMoleculeForTagEdit([])); - } else { - setTagEditModalOpenNew(true); - dispatch(setMoleculeForTagEdit([data.id])); - dispatch(setTagEditorOpenObs(true)); - if (setRef) { - setRef(ref.current); - } + {DJANGO_CONTEXT['username'] === 'NOT_LOGGED_IN' ? ( + <> + ) : ( + { + if (tagEditModalOpenNew) { + setTagEditModalOpenNew(false); + dispatch(setTagEditorOpenObs(!tagEditModalOpenNew)); + dispatch(setMoleculeForTagEdit([])); + } else { + setTagEditModalOpenNew(true); + dispatch(setMoleculeForTagEdit([data.id])); + dispatch(setTagEditorOpenObs(true)); + if (setRef) { + setRef(ref.current); } - }} - style={{ padding: '0px', paddingBottom: '3px', cursor: 'pointer' }} - > - - - - - )} -
+ } + }} + style={{ padding: 0, paddingBottom: 3, marginRight: 5, cursor: 'pointer' }} + > + + + + + )}
)} @@ -657,35 +707,37 @@ const MoleculeView = memo( ) : ( -
+ <> )} -
+ ) : DJANGO_CONTEXT['username'] === 'NOT_LOGGED_IN' ? ( -
+ <> ) : ( - { - if (tagEditModalOpenNew) { - setTagEditModalOpenNew(false); - dispatch(setTagEditorOpenObs(!tagEditModalOpenNew)); - dispatch(setMoleculeForTagEdit([])); - } else { - setTagEditModalOpenNew(true); - dispatch(setMoleculeForTagEdit([data.id])); - dispatch(setTagEditorOpenObs(true)); - if (setRef) { - setRef(ref.current); + + { + if (tagEditModalOpenNew) { + setTagEditModalOpenNew(false); + dispatch(setTagEditorOpenObs(!tagEditModalOpenNew)); + dispatch(setMoleculeForTagEdit([])); + } else { + setTagEditModalOpenNew(true); + dispatch(setMoleculeForTagEdit([data.id])); + dispatch(setTagEditorOpenObs(true)); + if (setRef) { + setRef(ref.current); + } } - } - }} - style={{ padding: '0px', paddingBottom: '3px', cursor: 'pointer' }} - > - - - - + }} + style={{ padding: 0, paddingRight: 5, marginTop: -8, cursor: 'pointer' }} + > + + + + + ); }; @@ -990,13 +1042,34 @@ const MoleculeView = memo( const groupMoleculeLPCControlButtonDisabled = disableL || disableP || disableC; + const getFontSize = string => { + let fontSize = 12; + switch (string?.length) { + case 1: + case 2: + fontSize = 18 + break; + case 4: + fontSize = 10 + break; + default: + break; + } + return fontSize; + }; + return ( <> @@ -1024,264 +1097,320 @@ const MoleculeView = memo( - {/* Title label */} - - -
{ - e.preventDefault(); - setNameCopied(moleculeTitle); - }} - className={ - data.id === pose?.main_site_observation - ? classes.moleculeTitleLabelMainObs - : classes.moleculeTitleLabel - } - > - {moleculeTitleTruncated} -
-
- {generateTagPopover()} -
- {/* Control Buttons A, L, C, V */} - - - - - - - - - - - - - - - - - - - - {/* C stands for contacts now */} - - - - - - - - - + {moleculeTitleTruncated} + + + {/* Molecule properties */} + {getCalculatedProps().length > 0 && + + {/* Molecule properties */} + + {getCalculatedProps().map(item => ( + + + {item.name === moleculeProperty.mw && Math.round(item.value)} + {item.name === moleculeProperty.logP && Math.round(item.value) /*.toPrecision(1)*/} + {item.name === moleculeProperty.tpsa && Math.round(item.value)} + {item.name !== moleculeProperty.mw && + item.name !== moleculeProperty.logP && + item.name !== moleculeProperty.tpsa && + item.value} + + + ))} + + + } + + + {/* Control Buttons A, L, C, V */} - + + + + + + + + + + + + + + + + + + + + + + + {/* C stands for contacts now */} + + + + + + + + + + + + + + + + + + + - - - -
} > - V - {loadingVector && ( - - )} - -
- + + {tagLabel} + + + } + )} + - - {/* Molecule properties */} - setMoleculeTooltipOpen(true)} + onMouseLeave={() => setMoleculeTooltipOpen(false)} + ref={moleculeImgRef} > - {getCalculatedProps().map(item => ( - - - {item.name === moleculeProperty.mw && Math.round(item.value)} - {item.name === moleculeProperty.logP && Math.round(item.value) /*.toPrecision(1)*/} - {item.name === moleculeProperty.tpsa && Math.round(item.value)} - {item.name !== moleculeProperty.mw && - item.name !== moleculeProperty.logP && - item.name !== moleculeProperty.tpsa && - item.value} - - - ))} - - + {svg_image} +
+ {moleculeTooltipOpen && ( + + + {!isCopied ? : } + + + )} + {warningIconVisible && ( + + onQuality()}> + + + + )} +
+ } - {/* Image */} -
setMoleculeTooltipOpen(true)} - onMouseLeave={() => setMoleculeTooltipOpen(false)} - ref={moleculeImgRef} - > - {svg_image} -
- {moleculeTooltipOpen && ( - - - {!isCopied ? : } - - - )} - {warningIconVisible && ( - - onQuality()}> - - - - )} -
-
- + ({ ...theme.typography.button, color: theme.palette.primary.main, fontStyle: 'italic' + }, + footerButton: { + padding: '6px 7px' } })); let selectedDisplayHits = false; @@ -1021,9 +1024,8 @@ export const ObservationCmpList = memo(({ hideProjects }) => { {filter.priorityOrder.map(attr => ( @@ -1157,9 +1159,8 @@ export const ObservationCmpList = memo(({ hideProjects }) => { )} - {`Selected: ${ - allSelectedMolecules ? allSelectedMolecules.length : 0 - }`} + {`Selected: ${allSelectedMolecules ? allSelectedMolecules.length : 0 + }`} @@ -1246,7 +1247,7 @@ export const ObservationCmpList = memo(({ hideProjects }) => { - + { - - - - - - - {getCalculatedProps().map(item => ( - - - {item.name === moleculeProperty.mw && Math.round(item.value)} - {item.name === moleculeProperty.logP && Math.round(item.value)} - {item.name === moleculeProperty.tpsa && Math.round(item.value)} - {item.name !== moleculeProperty.mw && - item.name !== moleculeProperty.logP && - item.name !== moleculeProperty.tpsa && - item.value} - - - ))} + {generateTagPopover()} {/* Image */}
-
+ + {/* CanonSites */} + + + CanonSites} + > + + + {getCanonSitesTag().tag_prefix} + + + + {/* ConformerSites */} + + + {getConformerSites().map((conformerSite, i, sites) => + ConformerSites} + > + = 3 + })} + style={{ + backgroundColor: resolveTagBackgroundColor(conformerSite), + color: resolveTagForegroundColor(conformerSite), + borderBottom: i === sites.length - 1 ? 1 : 0, + borderRight: 0 + }}> + + {conformerSite.tag_prefix.replace(getCanonSitesTag().tag_prefix, '')} + + + )} + + {/* Observations*/} + + + + Show Observations} + > + + + + + ({ paper: { - width: 472, + width: 358, // minHeight: 294, overflowY: 'hidden' }, @@ -610,7 +610,7 @@ export const ObservationsDialog = memo( const selected = allSelectedMolecules.some(molecule => molecule.id === data.id); return ( - + ); @@ -688,7 +689,7 @@ export const ObservationsDialog = memo( Set main observation - + 0 })}> @@ -428,7 +428,7 @@ const TagDetails = memo(() => { variant="text" size="small" data-id="showAllHitsButton" - className={displayAllMolecules ? classes.contColButton : classes.contColButtonSelected} + className={displayAllMolecules ? classes.contColButtonSelected : classes.contColButton} > Show all hits @@ -441,6 +441,7 @@ const TagDetails = memo(() => { variant="text" size="small" data-id="tagSelectionButton" + // selectAll represents future state className={selectAll ? classes.contColButton : classes.contColButtonSelected} > Select all tags diff --git a/js/components/preview/tags/modal/editTagsModal.js b/js/components/preview/tags/modal/editTagsModal.js index cd9fba693..073aae8dc 100644 --- a/js/components/preview/tags/modal/editTagsModal.js +++ b/js/components/preview/tags/modal/editTagsModal.js @@ -34,7 +34,7 @@ export const EditTagsModal = ({ open, anchorEl, setOpenDialog }) => { const classes = useStyles(); const dispatch = useDispatch(); - const { toastInfo } = useContext(ToastContext); + const { toastInfo, toastWarning, toastError } = useContext(ToastContext); const targetName = useSelector(state => state.apiReducers.target_on_name); const targetId = useSelector(state => state.apiReducers.target_on); @@ -42,6 +42,7 @@ export const EditTagsModal = ({ open, anchorEl, setOpenDialog }) => { const tagCategories = useSelector(state => state.apiReducers.categoryList); const allMolList = useSelector(state => state.apiReducers.all_mol_lists); const moleculesToEditIds = useSelector(state => state.selectionReducers.moleculesToEdit); + const selectedTagList = useSelector(state => state.selectionReducers.selectedTagList); const id = open ? 'simple-popover-tags-editor' : undefined; const [tag, setTag] = useState(null); @@ -151,8 +152,17 @@ export const EditTagsModal = ({ open, anchorEl, setOpenDialog }) => { setNewHidden(event.target.checked); }; + const validateTag = () => { + let valid = true; + if (newTagName === NEW_TAG.tag) { + toastError('Tag name cannot be same as new tag placeholder name', { autoHideDuration: 5000 }); + valid = false; + } + return valid; + } + const createTag = () => { - if (newTagName && newTagCategory) { + if (validateTag() && newTagName && newTagCategory) { const tagObject = createMoleculeTagObject( newTagName, targetId, @@ -194,7 +204,11 @@ export const EditTagsModal = ({ open, anchorEl, setOpenDialog }) => { }; const updateTag = () => { - if (tag && newTagCategory && newTagName) { + if (validateTag() && tag && newTagCategory && newTagName) { + if (!tag.hidden && newHidden && selectedTagList.some(selectedTag => selectedTag.id === tag.id)) { + dispatch(removeSelectedTag(tag)); + toastWarning('Tag was automatically deselected because of becoming hidden', { autoHideDuration: 5000 }); + } // update all props at once if (newTagCategory) { dispatch( diff --git a/js/components/preview/tags/utils/tagUtils.js b/js/components/preview/tags/utils/tagUtils.js index 0862137c3..b91488cd0 100644 --- a/js/components/preview/tags/utils/tagUtils.js +++ b/js/components/preview/tags/utils/tagUtils.js @@ -4,7 +4,8 @@ import { OBSERVATION_TAG_CATEGORIES, COMPOUND_PRIO_TAG_CATEGORIES, TAG_DETAILS_REMOVED_CATEGORIES, - NON_ASSIGNABLE_CATEGORIES + NON_ASSIGNABLE_CATEGORIES, + CATEGORY_TYPE } from '../../../../constants/constants'; export const DEFAULT_TAG_COLOR = '#E0E0E0'; @@ -160,6 +161,21 @@ export const getObservationTagConfig = tagCategoryList => { return result; }; +export const getAllTagsForCategories = (obs, tagList, tagCategoryList) => { + const result = []; + + tagCategoryList.forEach(categ => { + obs?.tags_set.find(tagId => { + const tag = tagList.find(t => t.id === tagId); + if (tag?.category === categ.id) { + result.push(tag); + } + }); + }); + + return result; +}; + export const getAllTagsForObservation = (obs, tagList, tagCategoryList) => { const result = []; @@ -176,6 +192,36 @@ export const getAllTagsForObservation = (obs, tagList, tagCategoryList) => { return result; }; +/** + * Get only "other"/curator tags + * + * @param {*} obs + * @param {*} tagList + * @param {*} tagCategoryList + * @returns + */ +export const getAllTagsForObservationPopover = (obs, tagList, tagCategoryList) => { + const result = []; + const categories = []; + + tagCategoryList.forEach(c => { + if (!NON_ASSIGNABLE_CATEGORIES.includes(c.category)) { + categories.push({ ...c }); + } + }); + + categories.forEach(categ => { + obs?.tags_set.find(tagId => { + const tag = tagList.find(t => t.id === tagId); + if (!tag.hidden && tag?.category === categ.id) { + result.push(tag); + } + }); + }); + + return result; +}; + export const getCategoriesToBeRemovedFromTagDetails = tagCategoryList => { const result = []; @@ -236,7 +282,7 @@ export const getAllTagsForLHSCmp = (observations, tagList, tagCategoryList) => { obs?.tags_set.forEach(tagId => { let tag = tagList.find(t => t.id === tagId); if ( - tag && !tag.hidden && + tag && !restOfTheTags.some(t => t.id === tag.id) && !prioTags.some(t => t.id === tag.id) && !obsPrioTags.some(t => t.id === tag.id)