From c74c7ae129e1a70ebd4c25d8b8425632a4bb648c Mon Sep 17 00:00:00 2001 From: Alan Christie Date: Thu, 10 Aug 2023 13:30:44 +0100 Subject: [PATCH 1/2] ci: Streamlined builds (less noisy) Staging builds now use latest bacxkend (rather than stable). Production changes no longer trigger stack builds, it simply runs yarn. Updated to latest GitHub action virsions. --- .github/workflows/build-dev.yaml | 8 +- .github/workflows/build-production.yaml | 116 +----------------------- .github/workflows/build-staging.yaml | 8 +- 3 files changed, 12 insertions(+), 120 deletions(-) diff --git a/.github/workflows/build-dev.yaml b/.github/workflows/build-dev.yaml index 5bf4af7c9..3fa8dfd78 100644 --- a/.github/workflows/build-dev.yaml +++ b/.github/workflows/build-dev.yaml @@ -49,7 +49,7 @@ env: # # For Jobs conditional on the presence of a secret see this Gist... # https://gist.github.com/jonico/24ffebee6d2fa2e679389fac8aef50a3 - BE_IMAGE_TAG: stable + BE_IMAGE_TAG: latest BE_NAMESPACE: xchem FE_BRANCH: staging FE_NAMESPACE: xchem @@ -62,7 +62,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Inject slug/short variables - uses: rlespinasse/github-slug-action@v3.x + uses: rlespinasse/github-slug-action@v4 - name: Initialise workflow variables id: vars env: @@ -115,9 +115,9 @@ jobs: echo ::set-output name=trigger::${{ env.TRIGGER_DOWNSTREAM == 'yes' }} - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Setup node 12 - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: '12.22.11' - name: Install diff --git a/.github/workflows/build-production.yaml b/.github/workflows/build-production.yaml index eb2a16b32..2478625a6 100644 --- a/.github/workflows/build-production.yaml +++ b/.github/workflows/build-production.yaml @@ -1,29 +1,13 @@ --- name: build production -# Actions that take place after every commit and tag on the production branch. +# Actions that take place after every commit on the production branch. # --------------- # Control secrets # --------------- # -# At the GitHub 'organisation' or 'project' level you are expected to -# have the following GitHub 'Repository Secrets' defined -# (i.e. via 'Settings -> Secrets'): - -# -# BE_IMAGE_TAG optional - default stable -# BE_NAMESPACE optional - default xchem -# FE_BRANCH optional - default production -# FE_NAMESPACE optional - default xchem -# STACK_BRANCH optional - default master -# STACK_GITHUB_NAMESPACE optional - default xchem -# STACK_NAMESPACE optional - default xchem -# -# TRIGGER_DOWNSTREAM optional - set to 'yes' -# to trigger downstream projects -# -# STACK_USER optional - set if triggering -# STACK_USER_TOKEN optional - set if triggering +# None # # ----------- # Environment (GitHub Environments) @@ -35,110 +19,18 @@ on: push: branches: - 'production' - tags: - # Only handle production-grade tags (i.e. "2022.1" or "1.0.0") - - '[0-9]+.[0-9]+' - - '[0-9]+.[0-9]+.[0-9]+' - -env: - # The following 'defaults' are used in the 'Initialise workflow variables' step, - # which creates 'outputs' for use in steps and jobs that follow it. - # The values set here are used unless a matching secret is found. - # Secrets are the way users dynamically control the behaviour of this Action. - # - # For Jobs conditional on the presence of a secret see this Gist... - # https://gist.github.com/jonico/24ffebee6d2fa2e679389fac8aef50a3 - BE_IMAGE_TAG: stable - BE_NAMESPACE: xchem - FE_BRANCH: production - FE_NAMESPACE: xchem - STACK_BRANCH: master - STACK_GITHUB_NAMESPACE: xchem - STACK_NAMESPACE: xchem jobs: build: runs-on: ubuntu-latest steps: - - name: Inject slug/short variables - uses: rlespinasse/github-slug-action@v3.x - - name: Initialise workflow variables - id: vars - env: - TRIGGER_DOWNSTREAM: ${{ secrets.TRIGGER_DOWNSTREAM }} - run: | - # BE_IMAGE_TAG - BE_IMAGE_TAG="${{ env.BE_IMAGE_TAG }}" - if [ -n "${{ secrets.BE_IMAGE_TAG }}" ]; then BE_IMAGE_TAG="${{ secrets.BE_IMAGE_TAG }}"; fi - echo set-output name=BE_IMAGE_TAG::${BE_IMAGE_TAG} - echo ::set-output name=BE_IMAGE_TAG::${BE_IMAGE_TAG} - - # BE_NAMESPACE - BE_NAMESPACE="${{ env.BE_NAMESPACE }}" - if [ -n "${{ secrets.BE_NAMESPACE }}" ]; then BE_NAMESPACE="${{ secrets.BE_NAMESPACE }}"; fi - echo set-output name=BE_NAMESPACE::${BE_NAMESPACE} - echo ::set-output name=BE_NAMESPACE::${BE_NAMESPACE} - - # FE_BRANCH - FE_BRANCH="${{ env.FE_BRANCH }}" - if [ -n "${{ secrets.FE_BRANCH }}" ]; then FE_BRANCH="${{ secrets.FE_BRANCH }}"; fi - echo set-output name=FE_BRANCH::${FE_BRANCH} - echo ::set-output name=FE_BRANCH::${FE_BRANCH} - - # FE_NAMESPACE - FE_NAMESPACE="${{ env.FE_NAMESPACE }}" - if [ -n "${{ secrets.FE_NAMESPACE }}" ]; then FE_NAMESPACE="${{ secrets.FE_NAMESPACE }}"; fi - echo set-output name=FE_NAMESPACE::${FE_NAMESPACE} - echo ::set-output name=FE_NAMESPACE::${FE_NAMESPACE} - - # STACK_BRANCH - STACK_BRANCH="${{ env.STACK_BRANCH }}" - if [ -n "${{ secrets.STACK_BRANCH }}" ]; then STACK_BRANCH="${{ secrets.STACK_BRANCH }}"; fi - echo set-output name=STACK_BRANCH::${STACK_BRANCH} - echo ::set-output name=STACK_BRANCH::${STACK_BRANCH} - - # STACK_GITHUB_NAMESPACE - STACK_GITHUB_NAMESPACE="${{ env.STACK_GITHUB_NAMESPACE }}" - if [ -n "${{ secrets.STACK_GITHUB_NAMESPACE }}" ]; then STACK_GITHUB_NAMESPACE="${{ secrets.STACK_GITHUB_NAMESPACE }}"; fi - echo set-output name=STACK_GITHUB_NAMESPACE::${STACK_GITHUB_NAMESPACE} - echo ::set-output name=STACK_GITHUB_NAMESPACE::${STACK_GITHUB_NAMESPACE} - - # STACK_NAMESPACE - STACK_NAMESPACE="${{ env.STACK_NAMESPACE }}" - if [ -n "${{ secrets.STACK_NAMESPACE }}" ]; then STACK_NAMESPACE="${{ secrets.STACK_NAMESPACE }}"; fi - echo set-output name=STACK_NAMESPACE::${STACK_NAMESPACE} - echo ::set-output name=STACK_NAMESPACE::${STACK_NAMESPACE} - - # Do we trigger downstream, i.e. is TRIGGER_DOWNSTREAM 'yes'? - echo set-output name=trigger::${{ env.TRIGGER_DOWNSTREAM == 'yes' }} - echo ::set-output name=trigger::${{ env.TRIGGER_DOWNSTREAM == 'yes' }} - - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Setup node - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: '12.22.11' - name: Install run: yarn - name: Build run: yarn run build - - # Trigger the stack for this build, - # identifying the 'stable' backend (or whatever BE_IMAGE_TAG was used) - - name: Trigger stack - if: steps.vars.outputs.trigger == 'true' - uses: informaticsmatters/trigger-ci-action@v1 - with: - ci-owner: ${{ steps.vars.outputs.STACK_GITHUB_NAMESPACE }} - ci-repository: fragalysis-stack - ci-name: build main - ci-ref: refs/heads/${{ steps.vars.outputs.STACK_BRANCH }} - ci-inputs: >- - be_namespace=${{ steps.vars.outputs.BE_NAMESPACE }} - be_image_tag=${{ steps.vars.outputs.BE_IMAGE_TAG }} - fe_namespace=${{ steps.vars.outputs.FE_NAMESPACE }} - fe_branch=${{ steps.vars.outputs.FE_BRANCH }} - stack_namespace=${{ steps.vars.outputs.STACK_NAMESPACE }} - ci-user: ${{ secrets.STACK_USER }} - ci-user-token: ${{ secrets.STACK_USER_TOKEN }} diff --git a/.github/workflows/build-staging.yaml b/.github/workflows/build-staging.yaml index 7c4c1e6cc..0ba30e560 100644 --- a/.github/workflows/build-staging.yaml +++ b/.github/workflows/build-staging.yaml @@ -53,7 +53,7 @@ env: # # For Jobs conditional on the presence of a secret see this Gist... # https://gist.github.com/jonico/24ffebee6d2fa2e679389fac8aef50a3 - BE_IMAGE_TAG: stable + BE_IMAGE_TAG: latest BE_NAMESPACE: xchem FE_BRANCH: staging FE_NAMESPACE: xchem @@ -66,7 +66,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Inject slug/short variables - uses: rlespinasse/github-slug-action@v3.x + uses: rlespinasse/github-slug-action@v4 - name: Initialise workflow variables id: vars env: @@ -119,9 +119,9 @@ jobs: echo ::set-output name=trigger::${{ env.TRIGGER_DOWNSTREAM == 'yes' }} - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Setup node 12 - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: '12.22.11' - name: Install From a770a7f3298a320506a2a20388237331bd36ff12 Mon Sep 17 00:00:00 2001 From: boriskovar-m2ms Date: Tue, 15 Aug 2023 13:00:10 +0200 Subject: [PATCH 2/2] Implemented #1092 #1118 #1129 (#367) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Squashed commit of the following: commit d53d1c008f3db605dd4b1e5ae9dfe10302da28fb Merge: c924ce24 bc13c611 Author: Boris Kovar Date: Wed Aug 2 16:35:15 2023 +0200 Merge branch 'RedRelease20230525' of https://github.com/m2ms/fragalysis-frontend into RedRelease20230525 commit c924ce24af3190079baf7c3b7fc2cd1fb819e93e Author: Boris Kovar Date: Wed Aug 2 16:34:40 2023 +0200 - fixed overflow for target list commit bc13c6114bbf02d88bd6aa833c20c3acc6d8b685 Merge: 7b88603b 74ffba6f Author: boriskovar-m2ms Date: Wed Aug 2 16:03:35 2023 +0200 Merge branch 'staging' into RedRelease20230525 commit 7b88603bf0d93b60c6fa996a35b5afb21a3d8835 Author: RobertMatuska Date: Tue Aug 1 15:29:56 2023 +0200 #1112 fixed project list filter commit 6951206f2d9285ac2aa59f34c20cd2383735ba8f Author: RobertMatuska Date: Tue Aug 1 08:41:52 2023 +0200 #1112 fixed numb rows per page vs numb of projects commit 11df780229077611f93ab766c508c485d4bcb7b3 Author: RobertMatuska Date: Tue Aug 1 08:37:10 2023 +0200 #1112 fixed pagination numbers in dropdown commit 1252aa88178d9b745e32a5c20c4ca353049545f1 Author: Boris Kovar Date: Mon Jul 31 15:40:06 2023 +0200 - fixed overflow commit f2d8eac83d6685ba4bc8929754519f9b48730cb5 Author: Boris Kovar Date: Mon Jul 31 14:51:19 2023 +0200 - fixed problem from #1112 where page-ination controls were not visible commit 62227fbd35fb110dc9dec60342beb66ef2582762 Author: Boris Kovar Date: Mon Jul 31 13:51:34 2023 +0200 - fixed issue when implicit actions setSearchString was tracked which caused that user had to click undo twice after clicking on the dataset tab commit 3bb794549e6eda0c4cb43ceeeac1df152648ba0e Author: Boris Kovar Date: Mon Jul 31 13:33:30 2023 +0200 - fixed #1116 + whole bunch of other bugs related to preserving and restoring search (both LHS and RHS) string from snapshot commit f1d0db5f2161a14201b4e447317eeea640f80f06 Author: Boris Kovar Date: Mon Jul 31 11:01:21 2023 +0200 - fixed #1117 commit 1038f80e842e5df9490554d5244427402dd7d6b7 Author: Boris Kovar Date: Mon Jul 31 10:11:26 2023 +0200 - fixed issue #1113 commit 74ffba6f3fc623959595bc3a4aa57bf1af11d718 Author: boriskovar-m2ms Date: Thu Jul 27 16:18:53 2023 +0200 Redrelease20230525-firstBatch (#354) * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - reworked show inputs in jobs table * - trying to fix a bug with inputs * - fixes because can't debug this locally * - implemented #890 * - added debug logs * fixed problem with entries function * - added more logs * - authorize user for viewing squonk job * - fixed problem with id * - added message when access to squonk is denied * Update package.json to trigger build action * Update package.json triggering build action * - fixed bugs found in staging * - resolved build issue where Terser complained about unexpected token. Problem was inclusion of yup package which is used for validation of Formik forms * Update package.json to trigger build action * Update package.json trigger build action * - updated build-dev.yaml * Update package.json to trigger build action * Update package.json just to trigger build action * - minor typo fix * - before the release fixes * Update package.json triggering the build action * - new BE image * - can't go to squonk job execution page if the url is not available * - Add status to the job table - Revert the disabled buttons if I can't run the job for the target - Show the exception from squonk access when click OPEN IN SQUONK and show error messag * frontend fixes before green release: - If the user is logged in and working on the session project the SHARE button will share current snapshot and not create a new snapshot * - hopefully fixed problem with reloading older projects * - fixed bad merge from staging * - schema expansion test * Update package.json just to trigger build action * Update package.json to trigger build action * - add button to job table to copy snapshot associated with the job run * - fixed problem for 'add button to job table to copy snapshot associated with the job run' * added searchString to action and TimeLine * #576 restored searchString from snapshot for RHS * #576 edited time for search response * #576 restore search string for hit navigator * #576 Restore search for project history * #978 added new button and conditions for showing * #978 change modal background and position * #978 setted modal window position under buttons * #978 fixed onClick for close modal * #576 edited tag detail added toggle union/intersec * #576 added buttons to Tag Detail * #978 added new column and sort by columns * #978 edited sort and filter project list table * #978 edited filter and search data * #576 edit width count * Update package.json - just to trigger build action * - fixed instance when project is missing from session-project (which AFAIK should never happen though) * Update package.json - just to trigger build action * #978 filter for project list and other fix * #576 edited LHS height and Tag detail colors * #576 added "Select displayed button" * #978 edited save change for NGL * - semicolons? * -merge * Squashed commit of the following: commit 66118b5d4dfbddd50cdce5af77c857e90325a78b Author: Boris Kovar Date: Tue Jul 4 08:00:12 2023 +0200 - fixed #1073 commit ae8406cfdb405dce01d075de39754d2acd6cc55a Author: Boris Kovar Date: Wed Jun 7 08:26:20 2023 +0200 Squashed commit of the following: commit e42baf37a2503f3378c856e26e8d699bc71bd3ac Merge: d266f99b 949f4734 Author: boriskovar-m2ms Date: Wed Apr 26 11:17:58 2023 +0200 Merge branch 'staging' into ms-2022-08-18-yellow commit d266f99bfbccd23d6a9951bdba71bf487554e9bc Author: Boris Kovar Date: Wed Apr 26 10:50:48 2023 +0200 - fixed problem for 'add button to job table to copy snapshot associated with the job run' commit 62784948247ed7f0521b10418b1b8a271e7062f0 Author: Boris Kovar Date: Wed Apr 26 09:43:11 2023 +0200 - add button to job table to copy snapshot associated with the job run commit 949f47340369a671516a7c6317f8f7e35ba86984 Author: boriskovar-m2ms Date: Mon Apr 24 14:47:39 2023 +0200 Ms 2022 08 18 yellow (#351) * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - reworked show inputs in jobs table * - trying to fix a bug with inputs * - fixes because can't debug this locally * - implemented #890 * - added debug logs * fixed problem with entries function * - added more logs * - authorize user for viewing squonk job * - fixed problem with id * - added message when access to squonk is denied * Update package.json to trigger build action * Update package.json triggering build action * - fixed bugs found in staging * - resolved build issue where Terser complained about unexpected token. Problem was inclusion of yup package which is used for validation of Formik forms * Update package.json to trigger build action * Update package.json trigger build action * - updated build-dev.yaml * Update package.json to trigger build action * Update package.json just to trigger build action * - minor typo fix * - before the release fixes * Update package.json triggering the build action * - new BE image * - can't go to squonk job execution page if the url is not available * - Add status to the job table - Revert the disabled buttons if I can't run the job for the target - Show the exception from squonk access when click OPEN IN SQUONK and show error messag * frontend fixes before green release: - If the user is logged in and working on the session project the SHARE button will share current snapshot and not create a new snapshot * - hopefully fixed problem with reloading older projects * - fixed bad merge from staging * - schema expansion test * Update package.json just to trigger build action * Update package.json to trigger build action commit f41cdb0d525e993a7a48c0dbb397618e0ea76bc9 Merge: eaadb729 8d437c3f Author: boriskovar-m2ms Date: Mon Apr 24 14:35:37 2023 +0200 Merge branch 'staging' into ms-2022-08-18-yellow commit eaadb729f90441417c899cf4869e26a1b789bb42 Author: boriskovar-m2ms Date: Mon Apr 24 12:39:23 2023 +0200 Update package.json to trigger build action commit 1b46f37c6ac11d5c7e9a0a1ceff7b68dad785b27 Author: boriskovar-m2ms Date: Mon Apr 24 11:26:05 2023 +0200 Update package.json just to trigger build action commit 09007706e2ec26c6006d7d19a756129d093ac306 Author: Boris Kovar Date: Mon Apr 24 09:36:38 2023 +0200 - schema expansion test commit 8d437c3f6b735953eb07f06fec82bdfdd26d7e44 Author: boriskovar-m2ms Date: Tue Apr 11 17:00:05 2023 +0200 Ms 2022 08 18 yellow (#350) * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - reworked show inputs in jobs table * - trying to fix a bug with inputs * - fixes because can't debug this locally * - implemented #890 * - added debug logs * fixed problem with entries function * - added more logs * - authorize user for viewing squonk job * - fixed problem with id * - added message when access to squonk is denied * Update package.json to trigger build action * Update package.json triggering build action * - fixed bugs found in staging * - resolved build issue where Terser complained about unexpected token. Problem was inclusion of yup package which is used for validation of Formik forms * Update package.json to trigger build action * Update package.json trigger build action * - updated build-dev.yaml * Update package.json to trigger build action * Update package.json just to trigger build action * - minor typo fix * - before the release fixes * Update package.json triggering the build action * - new BE image * - can't go to squonk job execution page if the url is not available * - Add status to the job table - Revert the disabled buttons if I can't run the job for the target - Show the exception from squonk access when click OPEN IN SQUONK and show error messag * frontend fixes before green release: - If the user is logged in and working on the session project the SHARE button will share current snapshot and not create a new snapshot * - hopefully fixed problem with reloading older projects * - fixed bad merge from staging commit 7790dfbc261a302018423ce1a506eb33eb48d683 Merge: bf42cc20 45438127 Author: Boris Kovar Date: Tue Apr 11 16:57:36 2023 +0200 Merge branch 'ms-2022-08-18-yellow' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow commit bf42cc20b514c4b3708b606557cb576324f02a20 Author: Boris Kovar Date: Tue Apr 11 16:57:18 2023 +0200 - fixed bad merge from staging commit adc2f5b9e3fd8495c92b8089fb851ae3bc5a49fa Author: boriskovar-m2ms Date: Tue Apr 11 15:47:17 2023 +0200 Ms 2022 08 18 yellow (#349) * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - reworked show inputs in jobs table * - trying to fix a bug with inputs * - fixes because can't debug this locally * - implemented #890 * - added debug logs * fixed problem with entries function * - added more logs * - authorize user for viewing squonk job * - fixed problem with id * - added message when access to squonk is denied * Update package.json to trigger build action * Update package.json triggering build action * - fixed bugs found in staging * - resolved build issue where Terser complained about unexpected token. Problem was inclusion of yup package which is used for validation of Formik forms * Update package.json to trigger build action * Update package.json trigger build action * - updated build-dev.yaml * Update package.json to trigger build action * Update package.json just to trigger build action * - minor typo fix * - before the release fixes * Update package.json triggering the build action * - new BE image * - can't go to squonk job execution page if the url is not available * - Add status to the job table - Revert the disabled buttons if I can't run the job for the target - Show the exception from squonk access when click OPEN IN SQUONK and show error messag * frontend fixes before green release: - If the user is logged in and working on the session project the SHARE button will share current snapshot and not create a new snapshot * - hopefully fixed problem with reloading older projects commit 45438127c520d201677dd1b5c1fd876cdfb035e4 Merge: 73b5d4c7 dcbf19fd Author: boriskovar-m2ms Date: Tue Apr 11 15:46:11 2023 +0200 Merge branch 'staging' into ms-2022-08-18-yellow commit 73b5d4c7e705124ed5e1941226cae17ab5044ef6 Merge: b74587f0 1447b079 Author: Boris Kovar Date: Tue Apr 11 15:28:34 2023 +0200 Merge branch 'ms-2022-08-18-yellow' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow commit b74587f0bdd68af93e44692c6c41517ed36ad4b1 Author: Boris Kovar Date: Tue Apr 11 15:27:49 2023 +0200 - hopefully fixed problem with reloading older projects commit dcbf19fd11a4734d18714b154b7b6e577b0ccd69 Author: boriskovar-m2ms Date: Tue Apr 11 12:42:14 2023 +0200 Ms 2022 08 18 yellow (#348) * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - reworked show inputs in jobs table * - trying to fix a bug with inputs * - fixes because can't debug this locally * - implemented #890 * - added debug logs * fixed problem with entries function * - added more logs * - authorize user for viewing squonk job * - fixed problem with id * - added message when access to squonk is denied * Update package.json to trigger build action * Update package.json triggering build action * - fixed bugs found in staging * - resolved build issue where Terser complained about unexpected token. Problem was inclusion of yup package which is used for validation of Formik forms * Update package.json to trigger build action * Update package.json trigger build action * - updated build-dev.yaml * Update package.json to trigger build action * Update package.json just to trigger build action * - minor typo fix * - before the release fixes * Update package.json triggering the build action * - new BE image * - can't go to squonk job execution page if the url is not available * - Add status to the job table - Revert the disabled buttons if I can't run the job for the target - Show the exception from squonk access when click OPEN IN SQUONK and show error messag * frontend fixes before green release: - If the user is logged in and working on the session project the SHARE button will share current snapshot and not create a new snapshot commit 1447b079e018d9ce1d67b96161be626b7d97a6bd Merge: b774ac60 d7b5e5c2 Author: boriskovar-m2ms Date: Tue Apr 11 12:41:03 2023 +0200 Merge branch 'staging' into ms-2022-08-18-yellow commit b774ac6044bc97f38ef5b2e62a6eeea2a94e0dc5 Author: Boris Kovar Date: Tue Apr 11 12:05:53 2023 +0200 frontend fixes before green release: - If the user is logged in and working on the session project the SHARE button will share current snapshot and not create a new snapshot commit 56ce17ff1db67e6deb96d2e16c4c7ae4e0b6c39b Author: Boris Kovar Date: Thu Apr 6 14:20:00 2023 +0200 - Add status to the job table - Revert the disabled buttons if I can't run the job for the target - Show the exception from squonk access when click OPEN IN SQUONK and show error messag commit d7b5e5c26dae7824d3c930fb263a02c592a2c042 Author: boriskovar-m2ms Date: Thu Apr 6 10:43:08 2023 +0200 Ms 2022 08 18 yellow (#347) * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - reworked show inputs in jobs table * - trying to fix a bug with inputs * - fixes because can't debug this locally * - implemented #890 * - added debug logs * fixed problem with entries function * - added more logs * - authorize user for viewing squonk job * - fixed problem with id * - added message when access to squonk is denied * Update package.json to trigger build action * Update package.json triggering build action * - fixed bugs found in staging * - resolved build issue where Terser complained about unexpected token. Problem was inclusion of yup package which is used for validation of Formik forms * Update package.json to trigger build action * Update package.json trigger build action * - updated build-dev.yaml * Update package.json to trigger build action * Update package.json just to trigger build action * - minor typo fix * - before the release fixes * Update package.json triggering the build action * - new BE image * - can't go to squonk job execution page if the url is not available commit 17e89cefe8264584ebe0fadc637a1fac542704ac Author: Boris Kovar Date: Thu Apr 6 10:23:27 2023 +0200 - can't go to squonk job execution page if the url is not available commit 16f0cbddafd994293e45573f3d6ebeeeab1e4b22 Author: boriskovar-m2ms Date: Thu Apr 6 09:11:52 2023 +0200 Minor fixes before the release (#346) * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - reworked show inputs in jobs table * - trying to fix a bug with inputs * - fixes because can't debug this locally * - implemented #890 * - added debug logs * fixed problem with entries function * - added more logs * - authorize user for viewing squonk job * - fixed problem with id * - added message when access to squonk is denied * Update package.json to trigger build action * Update package.json triggering build action * - fixed bugs found in staging * - resolved build issue where Terser complained about unexpected token. Problem was inclusion of yup package which is used for validation of Formik forms * Update package.json to trigger build action * Update package.json trigger build action * - updated build-dev.yaml * Update package.json to trigger build action * Update package.json just to trigger build action * - minor typo fix * - before the release fixes * Update package.json triggering the build action * - new BE image commit c8b5f20dd521c7007f08531736541ca84b041a85 Merge: 8d500638 2cd48e04 Author: Boris Kovar Date: Wed Apr 5 14:35:17 2023 +0200 Merge branch 'ms-2022-08-18-yellow' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow commit 8d50063887bc2f6335550f15fe69cc93b17be30e Author: Boris Kovar Date: Wed Apr 5 14:34:49 2023 +0200 - new BE image commit 2cd48e0474f31fe9f0d0f4eb256cad32ed5516cd Merge: 0fddd791 b20adee8 Author: boriskovar-m2ms Date: Wed Apr 5 13:00:20 2023 +0200 Merge branch 'staging' into ms-2022-08-18-yellow commit 0fddd791812ce9e4093a784850c8e4c5698f3f18 Author: boriskovar-m2ms Date: Wed Apr 5 12:09:36 2023 +0200 Update package.json triggering the build action commit bed2dc1bf438a2f61b61fdd2d1b18753d1ef58be Author: Boris Kovar Date: Wed Apr 5 10:44:24 2023 +0200 - before the release fixes commit b10160928bff787161a140e4cffd8aa783a4c482 Merge: f6699d10 9f5f2b7c Author: Boris Kovar Date: Fri Mar 31 09:38:39 2023 +0200 Merge branch 'ms-2022-08-18-yellow' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow commit f6699d106af94bbba6be1494a0c83e0cf1a5b084 Author: Boris Kovar Date: Fri Mar 31 09:37:22 2023 +0200 - minor typo fix commit 9f5f2b7cad0ebb482d8069114d52bf65ca6c6531 Author: boriskovar-m2ms Date: Fri Mar 24 14:00:10 2023 +0100 Update package.json just to trigger build action commit 5a37013c71469f9433c36d956174b1efc1e698ab Author: boriskovar-m2ms Date: Fri Mar 24 12:43:27 2023 +0100 Update package.json to trigger build action commit b54cdaa4ea816719128c07939a14a99152a8e990 Merge: 5dfc38be d6d5216d Author: Boris Kovar Date: Fri Mar 24 11:36:29 2023 +0100 Merge branch 'ms-2022-08-18-yellow' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow commit 5dfc38bef9b0a0fead21b824db58461c185f98fd Author: Boris Kovar Date: Fri Mar 24 11:35:57 2023 +0100 - updated build-dev.yaml commit d6d5216dce40de14910bde76b5f4fb8650bdbd9c Author: boriskovar-m2ms Date: Fri Mar 24 08:52:55 2023 +0100 Update package.json trigger build action commit 6bd9fcb0773fc3bbf5266ab9022d6e365dff9cfc Author: boriskovar-m2ms Date: Fri Mar 24 08:46:51 2023 +0100 Update package.json to trigger build action commit b20adee8140c7f46573eb5e7525e97427d23d4d4 Author: boriskovar-m2ms Date: Thu Mar 16 17:29:15 2023 +0100 Ms 2022 08 18 yellow (#345) * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - reworked show inputs in jobs table * - trying to fix a bug with inputs * - fixes because can't debug this locally * - implemented #890 * - added debug logs * fixed problem with entries function * - added more logs * - authorize user for viewing squonk job * - fixed problem with id * - added message when access to squonk is denied * Update package.json to trigger build action * Update package.json triggering build action * - fixed bugs found in staging * - resolved build issue where Terser complained about unexpected token. Problem was inclusion of yup package which is used for validation of Formik forms commit 3a9a478d3bdbcb54802346efe2ec5e1f18242721 Merge: d777f117 4cb92f6c Author: boriskovar-m2ms Date: Thu Mar 16 10:50:04 2023 +0100 Merge branch 'staging' into ms-2022-08-18-yellow commit d777f117bbfab9a367ef8ad04c2fcf540cf19ef6 Author: Boris Kovar Date: Thu Mar 16 10:17:34 2023 +0100 - resolved build issue where Terser complained about unexpected token. Problem was inclusion of yup package which is used for validation of Formik forms commit ae0cbdc8540aa440c776be3b84508c710a215d36 Author: Boris Kovar Date: Thu Mar 16 09:01:48 2023 +0100 - fixed bugs found in staging commit 4cb92f6ca3c986a087b840f9327e921ed17e1b4c Author: boriskovar-m2ms Date: Thu Mar 9 13:05:06 2023 +0100 Ms 2022 08 18 yellow (#344) * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - reworked show inputs in jobs table * - trying to fix a bug with inputs * - fixes because can't debug this locally * - implemented #890 * - added debug logs * fixed problem with entries function * - added more logs * - authorize user for viewing squonk job * - fixed problem with id * - added message when access to squonk is denied * Update package.json to trigger build action * Update package.json triggering build action commit bc13d845aa206aa7d8d151a8bb53f53335761084 Author: boriskovar-m2ms Date: Thu Mar 9 10:38:18 2023 +0100 Update package.json triggering build action commit 49d1ad57042d353f76c7368944601a8d64e44596 Author: boriskovar-m2ms Date: Thu Mar 9 10:32:30 2023 +0100 Update package.json to trigger build action commit fd0df1c021010f4f5e028090493464721b8b2600 Author: Boris Kovar Date: Thu Mar 9 09:11:44 2023 +0100 - added message when access to squonk is denied commit 622b635472e0ed7be1ae36062addd0f91d9ff6f4 Author: Boris Kovar Date: Wed Mar 8 14:35:57 2023 +0100 - fixed problem with id commit 74a1a62ca7a564d481be34c4301771ce7f5dd76a Author: Boris Kovar Date: Wed Mar 8 14:18:47 2023 +0100 - authorize user for viewing squonk job commit aa55bc41ee6a6fce4d8b146362e276265eed0af3 Author: Boris Kovar Date: Wed Mar 8 12:58:15 2023 +0100 - added more logs commit d97a512d75aa621be77ee69b547b21e1653386e1 Author: Boris Kovar Date: Wed Mar 8 12:19:18 2023 +0100 fixed problem with entries function commit 7e28e41d96e57998b979752d3651304bf36713c9 Author: Boris Kovar Date: Wed Mar 8 12:13:08 2023 +0100 - added debug logs commit f4becf9c94cf8c5eec225fde7b24c73131e0e338 Author: Boris Kovar Date: Wed Mar 8 11:29:23 2023 +0100 - implemented #890 commit bcd3ec01ddc68d3dd1dce78f1f3ca165e1633fd4 Author: Boris Kovar Date: Sun Mar 5 18:50:08 2023 +0100 - fixes because can't debug this locally commit 59779b6b80ec7e21af68b219a543a017aa837b14 Author: Boris Kovar Date: Sun Mar 5 18:29:05 2023 +0100 - trying to fix a bug with inputs commit 76ccc089efc43589bb381ea6589567dce538aa8b Author: Boris Kovar Date: Sun Mar 5 18:12:34 2023 +0100 - reworked show inputs in jobs table commit e862c726c81b0328cc9b7538d9820481b7d85cd8 Author: Boris Kovar Date: Sun Mar 5 16:46:29 2023 +0100 - added debug info commit 471d947b83f159bde413a32de06dbd10b9c4dfaf Author: Boris Kovar Date: Sun Mar 5 16:33:00 2023 +0100 - added debug info commit c4b11af95a56786493e13735ac92b1b1f766af79 Author: Boris Kovar Date: Sun Mar 5 16:13:41 2023 +0100 - added debug info commit 6adc86d4f95a362b38747e001f55bde2a104baff Author: Boris Kovar Date: Sun Mar 5 15:53:49 2023 +0100 - added debug info commit e42ed05162106109c927e80620d67b5af31b7ef1 Author: Boris Kovar Date: Sun Mar 5 15:34:10 2023 +0100 - added debug info commit 39034c54b97f4da301365c69d985640a66c75469 Author: Boris Kovar Date: Sun Mar 5 15:09:04 2023 +0100 - added debug info commit 9eee228b45b94479edfab5d6279d3e0ce4ccb8d1 Author: Boris Kovar Date: Sun Mar 5 14:48:45 2023 +0100 - added debug info commit 13a00cf2ba8f4ae13de4865096f9def349acd158 Merge: 0a36ae5c d0317f60 Author: rsanchezgarc Date: Tue Feb 21 20:43:31 2023 +0000 Merge pull request #341 from m2ms/ms-2022-08-18-yellow Ms 2022 08 18 yellow release commit d0317f607def3b6e1a5651554b338161fce4f040 Merge: 53164d21 8c4ca1d0 Author: Boris Kovar Date: Mon Feb 20 13:58:48 2023 +0100 Merge branch 'ms-2022-08-18-yellow' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow commit 53164d21b23e7a918a772ced6292817b4306031e Author: Boris Kovar Date: Mon Feb 20 13:57:25 2023 +0100 Squashed commit of the following: commit 19b3910d84f9707b8047524cfe44dfa1f8696644 Author: Boris Kovar Date: Mon Feb 20 13:33:18 2023 +0100 - new dev BE commit af427c71d9499c975e12b314202bdb0f0ec13826 Author: boriskovar-m2ms Date: Fri Feb 17 08:44:14 2023 +0100 Update package.json just to trigger build action commit 4cb19eb371b0147dfc51b704a36dba842543d311 Author: boriskovar-m2ms Date: Thu Feb 16 09:09:27 2023 +0100 Update package.json just to trigger build action commit 7612967a111ec486f2072ca3ddd88330b4ad37c9 Author: boriskovar-m2ms Date: Wed Feb 15 14:01:32 2023 +0100 Update package.json just to trigger build action commit 4e8b27d9b65fe372e06df45bc720abb52f81dbe2 Author: Boris Kovar Date: Tue Feb 14 08:50:44 2023 +0100 - fixed direct links and direct download links commit c08da4bf71caf536e95423fb8b1e5d8ab01c60e7 Author: Boris Kovar Date: Thu Feb 9 14:02:18 2023 +0100 - fixed job name commit 4b9a491f0478849e268dc7b825ba358585cdb2ab Author: Boris Kovar Date: Thu Feb 9 13:28:20 2023 +0100 - added fragmenstein-combine-multi-scoring.json commit ca4f946d07074e87a74ac6a3d2272c1735343cb1 Author: Boris Kovar Date: Thu Feb 9 13:25:35 2023 +0100 - checkpoint commit b43373e1c228d9e46f4c831fc46269d614013e92 Author: Boris Kovar Date: Thu Feb 9 10:43:27 2023 +0100 - fixed problem where UI would crash if there was a problem during job file transfer of job launch commit 3618b10e2b77f4a7a173f38a8d8bbdc0a853805b Author: Boris Kovar Date: Thu Feb 9 09:54:36 2023 +0100 - fixed bad project capture from url commit 7d588895cebd0e363aa5d62b36770499364aef06 Merge: 11180a5c 4fc7f7bd Author: Boris Kovar Date: Wed Feb 8 09:27:51 2023 +0100 Merge branch '#1020' of https://github.com/m2ms/fragalysis-frontend into #1020 commit 11180a5c0142ea18624ae14ddaad16793fdcb435 Author: Boris Kovar Date: Wed Feb 8 09:26:31 2023 +0100 - prevent crash when there is a project associated with target which user is not authorized to see commit 4fc7f7bd2d0aae799099b29e256e3c0834e9576f Author: boriskovar-m2ms Date: Wed Feb 8 07:25:12 2023 +0100 Update package.json just to trigger build action commit 2b2665cfc609f621eb9bf505b9a86e6bd4fb3d35 Author: boriskovar-m2ms Date: Thu Feb 2 15:43:38 2023 +0100 Update package.json just to trigger the build action commit d0d429c473307ce2bfa825ad9e556084082accd8 Author: boriskovar-m2ms Date: Thu Feb 2 15:20:25 2023 +0100 Update package.json just to trigger the build action commit fcf377b863abf9110e1c0ce752b29bce073349cf Author: Boris Kovar Date: Thu Feb 2 14:51:17 2023 +0100 - fixed problem when job config windows closes on error commit c9e39f4da281f333c620811cf7ccfb6b8438cc1f Merge: 5a3d56bf 0f8e702a Author: Boris Kovar Date: Thu Feb 2 13:19:16 2023 +0100 Merge branch '#1020' of https://github.com/m2ms/fragalysis-frontend into #1020 commit 5a3d56bf87d9c8d8e6007dba5db8c1239dbf39a2 Author: Boris Kovar Date: Thu Feb 2 13:18:30 2023 +0100 - now sending id of the project and not target_access_string commit 0f8e702a023e2f786c5ba46eab2205f158a75480 Author: boriskovar-m2ms Date: Thu Feb 2 12:59:19 2023 +0100 Update package.json just to trigger build action commit 585076db67dc32b58083c184e1ca11a6dddc434b Author: Boris Kovar Date: Thu Feb 2 12:39:19 2023 +0100 - fixed problem when project pane was not showing up right after a project was created commit fa7fd759c30c3abf4e12b1c17af4107424993dc4 Author: Boris Kovar Date: Thu Feb 2 12:08:23 2023 +0100 - fix for missing project pane commit ba0a1fe55bd53f719d31d795d71877d81366cac9 Author: Boris Kovar Date: Thu Feb 2 09:05:50 2023 +0100 - version for job execution - broken UI commit 51555e1ba1eeb12e1eef340f108d7d3b595e6210 Merge: 51e97af1 a42cad71 Author: Boris Kovar Date: Wed Feb 1 13:58:27 2023 +0100 Merge branch '#1020' of https://github.com/m2ms/fragalysis-frontend into #1020 commit 51e97af1db45d3b4bb9b5d1fdd55a07991a9a19a Author: Boris Kovar Date: Wed Feb 1 13:57:49 2023 +0100 - partial implementation of #1020 commit a42cad7193b8c8f02c04378bba01f6f44114ec88 Author: boriskovar-m2ms Date: Thu Jan 26 08:34:01 2023 +0100 Update package.json just to trigger build action commit 96c0216e8b29169c9c1bf29471eafb5bddd24e5b Author: boriskovar-m2ms Date: Wed Jan 25 09:39:06 2023 +0100 Update package.json just to trigger build action commit c7de9cf16f783fad2bdfb78224a818221fa24ba1 Author: boriskovar-m2ms Date: Tue Jan 24 15:10:11 2023 +0100 Update package.json just to trigger the build action commit e8e5657cc5f7beecf5813040210605b6cf410cef Author: boriskovar-m2ms Date: Tue Jan 24 14:04:56 2023 +0100 Update package.json just to trigger build commit 24dc912bfdae3bec9c52867f2d638754635cecbb Author: Boris Kovar Date: Tue Jan 24 12:49:58 2023 +0100 - sensitive data moved to .env file commit a98c51751368104300a872f116cc22acc09cec44 Author: Boris Kovar Date: Tue Jan 24 12:49:06 2023 +0100 - added .env to gitignore commit 13b4bed082612315afc948192fe758fb42edf63d Author: Boris Kovar Date: Tue Jan 24 12:47:56 2023 +0100 - mending an error commit 5b74eb4326389e11b923b560f6603586bfc3b87c Author: Boris Kovar Date: Wed Jan 18 09:52:19 2023 +0100 - checkpoint commit d4b88dfe5c525b7c471d97ac47d46f9d992bfa48 Author: Boris Kovar Date: Tue Jan 17 10:10:27 2023 +0100 - initial implementation #1020 commit 8c4ca1d022f2a5841d68dde70edd9f433c539b83 Author: boriskovar-m2ms Date: Mon Jan 16 11:35:37 2023 +0100 Update package.json just to trigger build action commit 436196bb65fe5eb44f38abc3bc18cf827f09c8d6 Author: boriskovar-m2ms Date: Fri Jan 13 10:47:51 2023 +0100 Update package.json just to trigger build action commit 0d6abaa08dc7a174d915d33e21a1667accd39423 Author: boriskovar-m2ms Date: Thu Jan 12 10:18:23 2023 +0100 Update package.json just to trigger build action commit d5905966cb9bf2994f93668911873108832d7578 Author: Boris Kovar Date: Wed Jan 11 11:02:25 2023 +0100 - forgot to reset debug constants commit df7057032baa70df6451b7faf0a232fa75a1e55b Author: Boris Kovar Date: Wed Jan 11 08:05:23 2023 +0100 - minor fix for upload_status commit 698d123634ded171f161c3bb9f27e4e1600730be Author: Boris Kovar Date: Tue Jan 10 15:42:30 2023 +0100 - minor fix for upload_status commit 89bb79b92d6cef9fb410259ee93ae7e11859239a Author: Boris Kovar Date: Tue Jan 10 15:26:03 2023 +0100 - upload_failed now taken into the account commit 3f9f3ea181ab267ee9c1f52b88a620c0620fa34b Author: boriskovar-m2ms Date: Tue Jan 10 13:35:25 2023 +0100 Update package.json - just to trigger build action commit e6fbd6d213418dfd9708e206da341e8e37e776c3 Author: boriskovar-m2ms Date: Tue Jan 10 11:54:17 2023 +0100 Update package.json just to trigger build action commit 2d0a5257e2308d3b3241ec63a61ea5896981dc5e Author: Boris Kovar Date: Fri Dec 23 13:01:20 2022 +0100 - updated README.md commit 0a36ae5cc0f40aaab45ced9837e242308d17b578 Merge: 6a7a0dda 782b84b5 Author: rsanchezgarc Date: Tue Dec 20 18:11:19 2022 +0000 Merge pull request #337 from m2ms/ms-2022-08-18-yellow-wo-970 Animate to new orientation matrix first commit 5504bd464e1d699833f258b994e344cb339cb234 Author: Boris Kovar Date: Tue Dec 20 08:06:06 2022 +0100 Squashed commit of the following: commit cec398dcf0a14f7e433b2baec849e29001358839 Author: Boris Kovar Date: Tue Dec 20 08:00:30 2022 +0100 - commit 885f08e18f7983723a0944bd90cec646c869ee89 Author: Boris Kovar Date: Fri Dec 16 13:18:38 2022 +0100 - bug fix in progress for #970 commit 006af71cdff9eff68f3dc7d03404fe265ff841b8 Author: Boris Kovar Date: Thu Dec 15 16:30:41 2022 +0100 - now user can insert list of strings as an input for a job commit 15e97d0c57a2ab0c683077ea1f588db63645536f Author: Boris Kovar Date: Wed Dec 14 06:07:28 2022 +0100 - initial implementation of #970 commit 89010ea549ade47427b6454c3b92a37dff0c449b Author: Boris Kovar Date: Mon Dec 5 08:26:35 2022 +0100 - #1001 commit 6fa2432f7226be0d54f7ce608719c0d59863d367 Author: Boris Kovar Date: Mon Dec 19 10:09:59 2022 +0100 Squashed commit of the following: commit 553235691beedd110072226ff20b6b49a6aad1ee Author: Boris Kovar Date: Mon Dec 19 10:06:41 2022 +0100 - orient first then remove/add stuff commit 782b84b50f1d66742a3ed491b91d4ecf379b2edd Merge: eaa4ccbd f07779ce Author: Boris Kovar Date: Mon Dec 19 10:08:49 2022 +0100 Merge branch 'ms-2022-08-18-yellow-wo-970' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow-wo-970 commit eaa4ccbdf4282a772a19badf68fc2c14579d9173 Author: Boris Kovar Date: Mon Dec 19 10:08:30 2022 +0100 Squashed commit of the following: commit 553235691beedd110072226ff20b6b49a6aad1ee Author: Boris Kovar Date: Mon Dec 19 10:06:41 2022 +0100 - orient first then remove/add stuff commit 6a7a0dda77266978a5afdaf82a5e8f89f5aa0d4e Merge: 356e625e f07779ce Author: rsanchezgarc Date: Fri Dec 16 12:44:21 2022 +0000 Merge pull request #334 from m2ms/ms-2022-08-18-yellow-wo-970 Ms 2022 08 18 yellow wo 970 commit f07779ce30667465ea1aba424085e8978827641a Merge: 57336b82 dcc2c882 Author: boriskovar-m2ms Date: Fri Dec 16 13:24:09 2022 +0100 Merge branch 'master' into ms-2022-08-18-yellow-wo-970 commit 21b437e8dd24102aebe35302d8b1ef2d18c6c040 Author: Boris Kovar Date: Thu Dec 15 16:32:57 2022 +0100 Squashed commit of the following: commit 006af71cdff9eff68f3dc7d03404fe265ff841b8 Author: Boris Kovar Date: Thu Dec 15 16:30:41 2022 +0100 - now user can insert list of strings as an input for a job commit 15e97d0c57a2ab0c683077ea1f588db63645536f Author: Boris Kovar Date: Wed Dec 14 06:07:28 2022 +0100 - initial implementation of #970 commit 89010ea549ade47427b6454c3b92a37dff0c449b Author: Boris Kovar Date: Mon Dec 5 08:26:35 2022 +0100 - #1001 commit 2be8ed349ffdffa3602a2a393b4019bb3115ba5f Merge: 8ac386cd 57336b82 Author: Boris Kovar Date: Wed Dec 14 06:28:30 2022 +0100 Merge branch 'ms-2022-08-18-yellow' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow commit 8ac386cd710d9b6bf65cccac8d5962e6f6d730a5 Author: Boris Kovar Date: Wed Dec 14 06:27:11 2022 +0100 Squashed commit of the following: commit 15e97d0c57a2ab0c683077ea1f588db63645536f Author: Boris Kovar Date: Wed Dec 14 06:07:28 2022 +0100 - initial implementation of #970 commit 89010ea549ade47427b6454c3b92a37dff0c449b Author: Boris Kovar Date: Mon Dec 5 08:26:35 2022 +0100 - #1001 commit 57336b825cb95aecb3dfff78ab571bb85e906073 Author: boriskovar-m2ms Date: Thu Dec 8 11:41:44 2022 +0100 Update package.json just to trigger action commit c6c3ed0b16414d528684d63befca6a01634683d0 Author: boriskovar-m2ms Date: Wed Dec 7 11:57:33 2022 +0100 Update package.json just to trigger action commit 614b01c80882557160777ba96abc92c2d328112e Author: boriskovar-m2ms Date: Wed Dec 7 09:38:38 2022 +0100 Update package.json just to trigger action commit c0d2b3858d074b33303eef48e42f11e7eefac474 Author: boriskovar-m2ms Date: Wed Dec 7 08:39:23 2022 +0100 Update package.json just to trigger action commit bbf6f91e8498586d666204c3493405c4ca4e7268 Author: boriskovar-m2ms Date: Wed Dec 7 08:31:30 2022 +0100 Update package.json just to trigger rebuild commit 5edd5c4c387405b5f30ee88b19f1f2a2e91d8022 Author: Boris Kovar Date: Mon Dec 5 08:28:17 2022 +0100 Squashed commit of the following: commit 8d6edcb01a41b4abdddf86e94fe754682fb17964 Author: Boris Kovar Date: Mon Dec 5 08:14:43 2022 +0100 - #1001 commit 8c52f55f808f5566f83e6068e3dbe76cf06860b0 Author: Boris Kovar Date: Thu Dec 1 09:10:59 2022 +0100 Squashed commit of the following: commit 91f3363f245ec336810dd27b9d34aaaa82512a8a Author: Boris Kovar Date: Thu Dec 1 09:08:03 2022 +0100 - implemented #1012 commit f8eb4067e0ece9d170e3405bebe21a689927442c Author: Boris Kovar Date: Tue Nov 29 10:24:56 2022 +0100 Squashed commit of the following: commit a5b8f281ebd05cc6be2163fc7124855f6cee8418 Author: Boris Kovar Date: Tue Nov 29 10:22:31 2022 +0100 - fixed #1013 commit db173bcdd76574055d5132ec3cd34012a727656d Author: Boris Kovar Date: Mon Nov 28 14:39:16 2022 +0100 Squashed commit of the following: commit c966f2e5a51059496bb8a653eedd54d781b7ec0a Merge: 8712fddb 87870aa1 Author: Boris Kovar Date: Mon Nov 28 13:40:54 2022 +0100 Merge branch 'ms-2022-08-18-yellow' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow commit 8712fddb5830de27c1c5568d3ce8e3c4a7318523 Author: Boris Kovar Date: Mon Nov 28 13:39:15 2022 +0100 Squashed commit of the following: commit cb3969273bde4d917b38c56485a05b1be23cf9cd Author: Boris Kovar Date: Mon Nov 28 13:30:45 2022 +0100 - fixes for fast snapshot switching in ngl view after the dataset is deleted and compounds from dataset were used (i.e. were visible in some shape or form in the ngl view) commit 0783429eaa6f18cf3c949c3f631d81e76edaa33c Author: Boris Kovar Date: Mon Nov 28 08:16:31 2022 +0100 - #876 seems to be done commit 87870aa192d10344ae7eb384618ef137986862d0 Author: boriskovar-m2ms Date: Mon Nov 28 09:36:12 2022 +0100 Update package.json just to trigger build action commit c966f2e5a51059496bb8a653eedd54d781b7ec0a Merge: 8712fddb 87870aa1 Author: Boris Kovar Date: Mon Nov 28 13:40:54 2022 +0100 Merge branch 'ms-2022-08-18-yellow' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow commit 8712fddb5830de27c1c5568d3ce8e3c4a7318523 Author: Boris Kovar Date: Mon Nov 28 13:39:15 2022 +0100 Squashed commit of the following: commit cb3969273bde4d917b38c56485a05b1be23cf9cd Author: Boris Kovar Date: Mon Nov 28 13:30:45 2022 +0100 - fixes for fast snapshot switching in ngl view after the dataset is deleted and compounds from dataset were used (i.e. were visible in some shape or form in the ngl view) commit 0783429eaa6f18cf3c949c3f631d81e76edaa33c Author: Boris Kovar Date: Mon Nov 28 08:16:31 2022 +0100 - #876 seems to be done commit 87870aa192d10344ae7eb384618ef137986862d0 Author: boriskovar-m2ms Date: Mon Nov 28 09:36:12 2022 +0100 Update package.json just to trigger build action commit 68d1a2fbd2be5620cca635c662dc0278dd578fcb Author: Boris Kovar Date: Mon Nov 28 09:08:21 2022 +0100 Squashed commit of the following: commit 0783429eaa6f18cf3c949c3f631d81e76edaa33c Author: Boris Kovar Date: Mon Nov 28 08:16:31 2022 +0100 - #876 seems to be done commit 356e625e4a0d7cee6bf1bd3c3b1627b59375e88d Merge: 0530324b 7b7cbe99 Author: rsanchezgarc Date: Mon Nov 14 09:59:45 2022 +0000 Merge pull request #329 from m2ms/#977-ngl Fast switching between snapshots commit 7b7cbe99952000f6c550727e082cb920cafa144c Author: Boris Kovar Date: Tue Nov 8 10:04:33 2022 +0100 - #977 - fixed issue with ngl settings were not saved and restored commit d1abaa872675f8a748f7c573aa74d79cdf629a0c Author: Boris Kovar Date: Mon Nov 7 10:14:18 2022 +0100 Squashed commit of the following: commit 4a8a532f6ea217d2921ed5fab6b6705442ca682f Author: Boris Kovar Date: Thu Nov 3 08:01:05 2022 +0100 - fixed ngl view was not tracked commit 0530324b9faae6876d0b42c48ac4b26a9eaf3c26 Merge: 931a5aea 5746062a Author: Alan B. Christie <29806285+alanbchristie@users.noreply.github.com> Date: Thu Oct 27 15:51:39 2022 +0100 Merge pull request #325 from xchem/production Action doc tweaks commit 5746062aacabb5201feefed8ea09e3e34066a175 Merge: b0e75d17 dc2ff23d Author: Alan B. Christie <29806285+alanbchristie@users.noreply.github.com> Date: Thu Oct 27 15:50:50 2022 +0100 Merge pull request #324 from alanbchristie/production Action doc tweaks commit dc2ff23d773157c74f864931e06ccb0fd21cf335 Author: Alan Christie Date: Thu Oct 27 15:48:48 2022 +0100 Add doc for production workflow commit c5ee4068a880a85d4fc5ed164dbbd711e4c5d0ec Author: Alan Christie Date: Thu Oct 27 15:35:27 2022 +0100 Tweak action docs commit 931a5aea583997a80bab66d8099f743529f8d98f Merge: cb4246e7 b0e75d17 Author: Alan B. Christie <29806285+alanbchristie@users.noreply.github.com> Date: Thu Oct 27 12:51:21 2022 +0100 Merge pull request #323 from xchem/production Production now triggers stack commit b0e75d174217c507b2db2f4d6329e4ed2315e887 Merge: cb4246e7 ac3297e4 Author: Alan B. Christie <29806285+alanbchristie@users.noreply.github.com> Date: Thu Oct 27 12:50:08 2022 +0100 Merge pull request #322 from alanbchristie/production Production now triggers stack commit ac3297e47b5ce9ca5a9ca1386818a317bc8098f2 Author: Alan Christie Date: Thu Oct 27 12:49:11 2022 +0100 Production now triggers stack Fix for BE tag commit cb4246e7f7acde133a4ca2081c30115dd5c87f56 Merge: dcc2c882 dec6f785 Author: Alan B. Christie <29806285+alanbchristie@users.noreply.github.com> Date: Thu Oct 27 11:15:06 2022 +0100 Merge pull request #321 from alanbchristie/production CI changes for new branch policy commit dec6f785663f6e3050262c5a4b4704109d2e446a Author: Alan Christie Date: Thu Oct 27 10:58:08 2022 +0100 Removed personal repo references commit 2147aa18af1211a32f55e228c1023491008204ac Author: Boris Kovar Date: Wed Oct 26 10:00:07 2022 +0200 - updated squonk project id for dev stacks commit b2bc6e79197baa4c7336822fca2bfbf54eded377 Author: Boris Kovar Date: Mon Oct 24 16:47:24 2022 +0200 - first real version of the final implementation of ticket #977 - also added functionality that only if user did something with the snapshot, only then user will be prompted if new snapshot (or current overridden) should be saved or not - note: in this current version undoing an action does not undo the 'dirty' status of the snapshot commit 204a86d7f8901b9d39cf6495e625c709d82a8c72 Author: Boris Kovar Date: Thu Oct 20 07:32:33 2022 +0200 - nearly complete issue #977 commit dcc2c8824378b69e118564a664b332456d5632e4 Author: boriskovar-m2ms Date: Thu Sep 29 12:48:42 2022 +0200 edited in correct squonk project id commit 725f6d5267d568afd34f29f22b0869458d759832 Author: boriskovar-m2ms Date: Thu Sep 29 12:47:31 2022 +0200 removed Upload button from Job popup (#320) * - initial commit * - checkpoint * - new backend * Update package.json bumped version to 0.10.109 * Update package.json bumped version to 0.10.111 * Update package.json version bumped to 0.10.112 * Update package.json bumped version to 0.10.113 * Update package.json bumped version to 0.10.114 * Update package.json bumped version to 0.10.115 * - added new back-end * Squashed commit of the following: commit 949573bd930afaa0171a728f05dafa08c2425341 Merge: deb0d1c3 74ea6613 Author: Boris Kovar Date: Thu Jul 14 06:56:52 2022 +0200 Merge branch '#885-bugfix' of https://github.com/m2ms/fragalysis-frontend into #885-bugfix commit deb0d1c31aa68fb38c1d1541aca6bd81410e515b Author: Boris Kovar Date: Thu Jun 9 10:21:43 2022 +0200 - mics changes commit e2a00641039dd34b348ce2084eefd8f33ae04343 Author: Boris Kovar Date: Mon Jun 6 06:05:49 2022 +0200 Squashed commit of the following: -bumped version to 0.10.93 commit dfa24f68c4cb0e84ad37ac663ec08caadd2f3fbb Author: Anton Gasperak Date: Wed Jun 1 11:53:32 2022 +0200 #883 - Remove unused selection action commit 0ae63081e822a514443a7b6c6e1fb3826a8c6178 Author: Anton Gasperak Date: Wed Jun 1 11:43:17 2022 +0200 #883 - Remove countOfPendingVectorLoadRequests from selectionReducers with unused hook commit b884e0b59c5e9000422adbf6e6adf7b14847b51f Author: Anton Gasperak Date: Wed Jun 1 11:10:44 2022 +0200 #883 - Remove associatedDownloadTagName from selectionReducers commit ab825ccf3369af8fbaab9c8d25d68c5a1699d773 Author: Anton Gasperak Date: Wed Jun 1 10:54:57 2022 +0200 #883 - Remove displayedMoleculesInHitNav from selectionReducers commit 4103e3984bc9b3fbf2cc48bef3b9d65864a4814b Author: Anton Gasperak Date: Wed Jun 1 10:08:28 2022 +0200 #883 - Remove displayAllInNGLList from selectionReducers commit f3b3b10a879447705b2709b88d48b62fe50e14cc Author: Anton Gasperak Date: Wed Jun 1 09:59:23 2022 +0200 #883 - Remove listAllList from selectionReducers commit 02aa5955918abace2d5473e89bb9260ff10d7338 Author: Anton Gasperak Date: Wed Jun 1 09:40:29 2022 +0200 #883 - Move categoryList from selectionReducers to apiReducers commit d059ee8d4de0ddc34be64ef9c55a71c4f2bd96df Author: Anton Gasperak Date: Wed Jun 1 08:43:26 2022 +0200 #883 - Move tagList from selectionReducers to apiReducers commit 1e6311eddebf515f11a42e86fe3a1db7572dcdba Author: Anton Gasperak Date: Mon Jul 11 14:42:22 2022 +0200 #885 - Add the possibility to recompile variables before job launching commit 74ea6613da0306f5251a440bdfdaa44f225ccb69 Author: Boris Kovar Date: Thu Jun 9 10:21:43 2022 +0200 - mics changes commit f98a7cac0c540cc9f9d52ec09814e86c80cee065 Author: Anton Gasperak Date: Mon Jun 6 12:28:04 2022 +0200 #885 - Adjust and compile schema commit d2e422992f95edb2a82435f03d8793f8c3e72bc1 Author: Anton Gasperak Date: Fri Jun 3 12:53:17 2022 +0200 #885 - Reuse the merged schema in JobVariablesDialog commit bd3ff2b3f22dada64afadd4df1685bcc46ab2d21 Author: Anton Gasperak Date: Fri Jun 3 08:36:34 2022 +0200 #885 - Add new job definition * updated fragmentstein job spec Squashed commit of the following: commit 1e6311eddebf515f11a42e86fe3a1db7572dcdba Author: Anton Gasperak Date: Mon Jul 11 14:42:22 2022 +0200 #885 - Add the possibility to recompile variables before job launching commit f98a7cac0c540cc9f9d52ec09814e86c80cee065 Author: Anton Gasperak Date: Mon Jun 6 12:28:04 2022 +0200 #885 - Adjust and compile schema commit d2e422992f95edb2a82435f03d8793f8c3e72bc1 Author: Anton Gasperak Date: Fri Jun 3 12:53:17 2022 +0200 #885 - Reuse the merged schema in JobVariable… * Squashed commit of the following: commit de09cdc6e9386ca3f6aea63fa373ef75938dec6d Merge: 4caeef7b 8b73ee22 Author: Boris Kovar Date: Tue Aug 8 11:38:09 2023 +0200 Merge branch '#1106' of https://github.com/m2ms/fragalysis-frontend into #1106 commit 4caeef7b2f6f9acbf617989b94e62030e6ed8052 Author: Boris Kovar Date: Tue Aug 8 11:37:40 2023 +0200 - updated table styling commit 8b73ee22d38fb5b93435c4c03fc537334adc3ebc Author: boriskovar-m2ms Date: Mon Aug 7 13:24:08 2023 +0200 Update package.json just to trigger build action commit d16130686039662cd7ebe0f9b6eeaadbe57d7d37 Author: Boris Kovar Date: Mon Aug 7 12:55:44 2023 +0200 - table is now autosized commit e867e77c40598a12fa10ca6ab526880274936752 Author: RobertMatuska Date: Mon Aug 7 09:03:11 2023 +0200 #1106 edited columns size commit 7b88603bf0d93b60c6fa996a35b5afb21a3d8835 Author: RobertMatuska Date: Tue Aug 1 15:29:56 2023 +0200 #1112 fixed project list filter commit 6951206f2d9285ac2aa59f34c20cd2383735ba8f Author: RobertMatuska Date: Tue Aug 1 08:41:52 2023 +0200 #1112 fixed numb rows per page vs numb of projects commit 11df780229077611f93ab766c508c485d4bcb7b3 Author: RobertMatuska Date: Tue Aug 1 08:37:10 2023 +0200 #1112 fixed pagination numbers in dropdown commit 1252aa88178d9b745e32a5c20c4ca353049545f1 Author: Boris Kovar Date: Mon Jul 31 15:40:06 2023 +0200 - fixed overflow commit f2d8eac83d6685ba4bc8929754519f9b48730cb5 Author: Boris Kovar Date: Mon Jul 31 14:51:19 2023 +0200 - fixed problem from #1112 where page-ination controls were not visible commit 62227fbd35fb110dc9dec60342beb66ef2582762 Author: Boris Kovar Date: Mon Jul 31 13:51:34 2023 +0200 - fixed issue when implicit actions setSearchString was tracked which caused that user had to click undo twice after clicking on the dataset tab commit 3bb794549e6eda0c4cb43ceeeac1df152648ba0e Author: Boris Kovar Date: Mon Jul 31 13:33:30 2023 +0200 - fixed #1116 + whole bunch of other bugs related to preserving and restoring search (both LHS and RHS) string from snapshot commit f1d0db5f2161a14201b4e447317eeea640f80f06 Author: Boris Kovar Date: Mon Jul 31 11:01:21 2023 +0200 - fixed #1117 commit 1038f80e842e5df9490554d5244427402dd7d6b7 Author: Boris Kovar Date: Mon Jul 31 10:11:26 2023 +0200 - fixed issue #1113 commit aff597978d59b4095f7e76be3ee834ffc5bc0873 Merge: 81a2e968 d7370794 Author: Boris Kovar Date: Thu Jul 27 16:10:24 2023 +0200 Merge branch 'RedRelease20230525' of https://github.com/m2ms/fragalysis-frontend into RedRelease20230525 commit 81a2e96813768ec718f50389bef30cbc4bc82aff Author: Boris Kovar Date: Thu Jul 27 16:09:42 2023 +0200 - navigation arrows highlighting commit d737079487147e02f1703f543d8264536e6c5f80 Merge: 899b7e36 48299e86 Author: boriskovar-m2ms Date: Thu Jul 27 14:47:09 2023 +0200 Merge branch 'staging' into RedRelease20230525 commit 899b7e36076b30af93e3fe6fdea0077b13737ff1 Author: Boris Kovar Date: Thu Jul 27 13:18:20 2023 +0200 - highlighted arrows commit 7991d5c18c24c6663fe2c5d8effcc7cd048951ac Author: Boris Kovar Date: Thu Jul 27 10:16:02 2023 +0200 - when creating project a default snapshot is created automatically commit 3bf735365696020858d5c2b718250c106578debf Author: Boris Kovar Date: Thu Jul 27 09:22:30 2023 +0200 Squashed commit of the following: commit 040d9bdbf30fb9dc239969916f108cb5056911c0 Author: RobertMatuska Date: Thu Jul 27 08:38:51 2023 +0200 #576 fixed design bug commit 3d18d6d017c3c2ab01a75a2aef1823e252a802c8 Author: Boris Kovar Date: Wed Jul 26 21:04:39 2023 +0200 - first bunch of fixes commit aa097721670867f85d5a789cd41a548bb57d16b7 Author: Boris Kovar Date: Wed Jul 26 17:36:34 2023 +0200 - minor fix to button color behavior commit a0f0933086ebeadb1d1e47879021121a49f3cde7 Author: Boris Kovar Date: Wed Jul 26 16:57:32 2023 +0200 - fixed select displayed hits button commit 6f200d2c86dfb14aad6ea3776842841766cfccfe Author: Boris Kovar Date: Wed Jul 26 13:32:39 2023 +0200 Squashed commit of the following: commit 66118b5d4dfbddd50cdce5af77c857e90325a78b Author: Boris Kovar Date: Tue Jul 4 08:00:12 2023 +0200 - fixed #1073 commit ae8406cfdb405dce01d075de39754d2acd6cc55a Author: Boris Kovar Date: Wed Jun 7 08:26:20 2023 +0200 Squashed commit of the following: commit e42baf37a2503f3378c856e26e8d699bc71bd3ac Merge: d266f99b 949f4734 Author: boriskovar-m2ms Date: Wed Apr 26 11:17:58 2023 +0200 Merge branch 'staging' into ms-2022-08-18-yellow commit d266f99bfbccd23d6a9951bdba71bf487554e9bc Author: Boris Kovar Date: Wed Apr 26 10:50:48 2023 +0200 - fixed problem for 'add button to job table to copy snapshot associated with the job run' commit 62784948247ed7f0521b10418b1b8a271e7062f0 Author: Boris Kovar Date: Wed Apr 26 09:43:11 2023 +0200 - add button to job table to copy snapshot associated with the job run commit 949f47340369a671516a7c6317f8f7e35ba86984 Author: boriskovar-m2ms Date: Mon Apr 24 14:47:39 2023 +0200 Ms 2022 08 18 yellow (#351) * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - reworked show inputs in jobs table * - trying to fix a bug with inputs * - fixes because can't debug this locally * - implemented #890 * - added debug logs * fixed problem with entries function * - added more logs * - authorize user for viewing squonk job * - fixed problem with id * - added message when access to squonk is denied * Update package.json to trigger build action * Update package.json triggering build action * - fixed bugs found in staging * - resolved build issue where Terser complained about unexpected token. Problem was inclusion of yup package which is used for validation of Formik forms * Update package.json to trigger build action * Update package.json trigger build action * - updated build-dev.yaml * Update package.json to trigger build action * Update package.json just to trigger build action * - minor typo fix * - before the release fixes * Update package.json triggering the build action * - new BE image * - can't go to squonk job execution page if the url is not available * - Add status to the job table - Revert the disabled buttons if I can't run the job for the target - Show the exception from squonk access when click OPEN IN SQUONK and show error messag * frontend fixes before green release: - If the user is logged in and working on the session project the SHARE button will share current snapshot and not create a new snapshot * - hopefully fixed problem with reloading older projects * - fixed bad merge from staging * - schema expansion test * Update package.json just to trigger build action * Update package.json to trigger build action commit f41cdb0d525e993a7a48c0dbb397618e0ea76bc9 Merge: eaadb729 8d437c3f Author: boriskovar-m2ms Date: Mon Apr 24 14:35:37 2023 +0200 Merge branch 'staging' into ms-2022-08-18-yellow commit eaadb729f90441417c899cf4869e26a1b789bb42 Author: boriskovar-m2ms Date: Mon Apr 24 12:39:23 2023 +0200 Update package.json to trigger build action commit 1b46f37c6ac11d5c7e9a0a1ceff7b68dad785b27 Author: boriskovar-m2ms Date: Mon Apr 24 11:26:05 2023 +0200 Update package.json just to trigger build action commit 09007706e2ec26c6006d7d19a756129d093ac306 Author: Boris Kovar Date: Mon Apr 24 09:36:38 2023 +0200 - schema expansion test commit 8d437c3f6b735953eb07f06fec82bdfdd26d7e44 Author: boriskovar-m2ms Date: Tue Apr 11 17:00:05 2023 +0200 Ms 2022 08 18 yellow (#350) * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - reworked show inputs in jobs table * - trying to fix a bug with inputs * - fixes because can't debug this locally * - implemented #890 * - added debug logs * fixed problem with entries function * - added more logs * - authorize user for viewing squonk job * - fixed problem with id * - added message when access to squonk is denied * Update package.json to trigger build action * Update package.json triggering build action * - fixed bugs found in staging * - resolved build issue where Terser complained about unexpected token. Problem was inclusion of yup package which is used for validation of Formik forms * Update package.json to trigger build action * Update package.json trigger build action * - updated build-dev.yaml * Update package.json to trigger build action * Update package.json just to trigger build action * - minor typo fix * - before the release fixes * Update package.json triggering the build action * - new BE image * - can't go to squonk job execution page if the url is not available * - Add status to the job table - Revert the disabled buttons if I can't run the job for the target - Show the exception from squonk access when click OPEN IN SQUONK and show error messag * frontend fixes before green release: - If the user is logged in and working on the session project the SHARE button will share current snapshot and not create a new snapshot * - hopefully fixed problem with reloading older projects * - fixed bad merge from staging commit 7790dfbc261a302018423ce1a506eb33eb48d683 Merge: bf42cc20 45438127 Author: Boris Kovar Date: Tue Apr 11 16:57:36 2023 +0200 Merge branch 'ms-2022-08-18-yellow' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow commit bf42cc20b514c4b3708b606557cb576324f02a20 Author: Boris Kovar Date: Tue Apr 11 16:57:18 2023 +0200 - fixed bad merge from staging commit adc2f5b9e3fd8495c92b8089fb851ae3bc5a49fa Author: boriskovar-m2ms Date: Tue Apr 11 15:47:17 2023 +0200 Ms 2022 08 18 yellow (#349) * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - reworked show inputs in jobs table * - trying to fix a bug with inputs * - fixes because can't debug this locally * - implemented #890 * - added debug logs * fixed problem with entries function * - added more logs * - authorize user for viewing squonk job * - fixed problem with id * - added message when access to squonk is denied * Update package.json to trigger build action * Update package.json triggering build action * - fixed bugs found in staging * - resolved build issue where Terser complained about unexpected token. Problem was inclusion of yup package which is used for validation of Formik forms * Update package.json to trigger build action * Update package.json trigger build action * - updated build-dev.yaml * Update package.json to trigger build action * Update package.json just to trigger build action * - minor typo fix * - before the release fixes * Update package.json triggering the build action * - new BE image * - can't go to squonk job execution page if the url is not available * - Add status to the job table - Revert the disabled buttons if I can't run the job for the target - Show the exception from squonk access when click OPEN IN SQUONK and show error messag * frontend fixes before green release: - If the user is logged in and working on the session project the SHARE button will share current snapshot and not create a new snapshot * - hopefully fixed problem with reloading older projects commit 45438127c520d201677dd1b5c1fd876cdfb035e4 Merge: 73b5d4c7 dcbf19fd Author: boriskovar-m2ms Date: Tue Apr 11 15:46:11 2023 +0200 Merge branch 'staging' into ms-2022-08-18-yellow commit 73b5d4c7e705124ed5e1941226cae17ab5044ef6 Merge: b74587f0 1447b079 Author: Boris Kovar Date: Tue Apr 11 15:28:34 2023 +0200 Merge branch 'ms-2022-08-18-yellow' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow commit b74587f0bdd68af93e44692c6c41517ed36ad4b1 Author: Boris Kovar Date: Tue Apr 11 15:27:49 2023 +0200 - hopefully fixed problem with reloading older projects commit dcbf19fd11a4734d18714b154b7b6e577b0ccd69 Author: boriskovar-m2ms Date: Tue Apr 11 12:42:14 2023 +0200 Ms 2022 08 18 yellow (#348) * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - reworked show inputs in jobs table * - trying to fix a bug with inputs * - fixes because can't debug this locally * - implemented #890 * - added debug logs * fixed problem with entries function * - added more logs * - authorize user for viewing squonk job * - fixed problem with id * - added message when access to squonk is denied * Update package.json to trigger build action * Update package.json triggering build action * - fixed bugs found in staging * - resolved build issue where Terser complained about unexpected token. Problem was inclusion of yup package which is used for validation of Formik forms * Update package.json to trigger build action * Update package.json trigger build action * - updated build-dev.yaml * Update package.json to trigger build action * Update package.json just to trigger build action * - minor typo fix * - before the release fixes * Update package.json triggering the build action * - new BE image * - can't go to squonk job execution page if the url is not available * - Add status to the job table - Revert the disabled buttons if I can't run the job for the target - Show the exception from squonk access when click OPEN IN SQUONK and show error messag * frontend fixes before green release: - If the user is logged in and working on the session project the SHARE button will share current snapshot and not create a new snapshot commit 1447b079e018d9ce1d67b96161be626b7d97a6bd Merge: b774ac60 d7b5e5c2 Author: boriskovar-m2ms Date: Tue Apr 11 12:41:03 2023 +0200 Merge branch 'staging' into ms-2022-08-18-yellow commit b774ac6044bc97f38ef5b2e62a6eeea2a94e0dc5 Author: Boris Kovar Date: Tue Apr 11 12:05:53 2023 +0200 frontend fixes before green release: - If the user is logged in and working on the session project the SHARE button will share current snapshot and not create a new snapshot commit 56ce17ff1db67e6deb96d2e16c4c7ae4e0b6c39b Author: Boris Kovar Date: Thu Apr 6 14:20:00 2023 +0200 - Add status to the job table - Revert the disabled buttons if I can't run the job for the target - Show the exception from squonk access when click OPEN IN SQUONK and show error messag commit d7b5e5c26dae7824d3c930fb263a02c592a2c042 Author: boriskovar-m2ms Date: Thu Apr 6 10:43:08 2023 +0200 Ms 2022 08 18 yellow (#347) * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - reworked show inputs in jobs table * - trying to fix a bug with inputs * - fixes because can't debug this locally * - implemented #890 * - added debug logs * fixed problem with entries function * - added more logs * - authorize user for viewing squonk job * - fixed problem with id * - added message when access to squonk is denied * Update package.json to trigger build action * Update package.json triggering build action * - fixed bugs found in staging * - resolved build issue where Terser complained about unexpected token. Problem was inclusion of yup package which is used for validation of Formik forms * Update package.json to trigger build action * Update package.json trigger build action * - updated build-dev.yaml * Update package.json to trigger build action * Update package.json just to trigger build action * - minor typo fix * - before the release fixes * Update package.json triggering the build action * - new BE image * - can't go to squonk job execution page if the url is not available commit 17e89cefe8264584ebe0fadc637a1fac542704ac Author: Boris Kovar Date: Thu Apr 6 10:23:27 2023 +0200 - can't go to squonk job execution page if the url is not available commit 16f0cbddafd994293e45573f3d6ebeeeab1e4b22 Author: boriskovar-m2ms Date: Thu Apr 6 09:11:52 2023 +0200 Minor fixes before the release (#346) * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - reworked show inputs in jobs table * - trying to fix a bug with inputs * - fixes because can't debug this locally * - implemented #890 * - added debug logs * fixed problem with entries function * - added more logs * - authorize user for viewing squonk job * - fixed problem with id * - added message when access to squonk is denied * Update package.json to trigger build action * Update package.json triggering build action * - fixed bugs found in staging * - resolved build issue where Terser complained about unexpected token. Problem was inclusion of yup package which is used for validation of Formik forms * Update package.json to trigger build action * Update package.json trigger build action * - updated build-dev.yaml * Update package.json to trigger build action * Update package.json just to trigger build action * - minor typo fix * - before the release fixes * Update package.json triggering the build action * - new BE image commit c8b5f20dd521c7007f08531736541ca84b041a85 Merge: 8d500638 2cd48e04 Author: Boris Kovar Date: Wed Apr 5 14:35:17 2023 +0200 Merge branch 'ms-2022-08-18-yellow' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow commit 8d50063887bc2f6335550f15fe69cc93b17be30e Author: Boris Kovar Date: Wed Apr 5 14:34:49 2023 +0200 - new BE image commit 2cd48e0474f31fe9f0d0f4eb256cad32ed5516cd Merge: 0fddd791 b20adee8 Author: boriskovar-m2ms Date: Wed Apr 5 13:00:20 2023 +0200 Merge branch 'staging' into ms-2022-08-18-yellow commit 0fddd791812ce9e4093a784850c8e4c5698f3f18 Author: boriskovar-m2ms Date: Wed Apr 5 12:09:36 2023 +0200 Update package.json triggering the build action commit bed2dc1bf438a2f61b61fdd2d1b18753d1ef58be Author: Boris Kovar Date: Wed Apr 5 10:44:24 2023 +0200 - before the release fixes commit b10160928bff787161a140e4cffd8aa783a4c482 Merge: f6699d10 9f5f2b7c Author: Boris Kovar Date: Fri Mar 31 09:38:39 2023 +0200 Merge branch 'ms-2022-08-18-yellow' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow commit f6699d106af94bbba6be1494a0c83e0cf1a5b084 Author: Boris Kovar Date: Fri Mar 31 09:37:22 2023 +0200 - minor typo fix commit 9f5f2b7cad0ebb482d8069114d52bf65ca6c6531 Author: boriskovar-m2ms Date: Fri Mar 24 14:00:10 2023 +0100 Update package.json just to trigger build action commit 5a37013c71469f9433c36d956174b1efc1e698ab Author: boriskovar-m2ms Date: Fri Mar 24 12:43:27 2023 +0100 Update package.json to trigger build action commit b54cdaa4ea816719128c07939a14a99152a8e990 Merge: 5dfc38be d6d5216d Author: Boris Kovar Date: Fri Mar 24 11:36:29 2023 +0100 Merge branch 'ms-2022-08-18-yellow' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow commit 5dfc38bef9b0a0fead21b824db58461c185f98fd Author: Boris Kovar Date: Fri Mar 24 11:35:57 2023 +0100 - updated build-dev.yaml commit d6d5216dce40de14910bde76b5f4fb8650bdbd9c Author: boriskovar-m2ms Date: Fri Mar 24 08:52:55 2023 +0100 Update package.json trigger build action commit 6bd9fcb0773fc3bbf5266ab9022d6e365dff9cfc Author: boriskovar-m2ms Date: Fri Mar 24 08:46:51 2023 +0100 Update package.json to trigger build action commit b20adee8140c7f46573eb5e7525e97427d23d4d4 Author: boriskovar-m2ms Date: Thu Mar 16 17:29:15 2023 +0100 Ms 2022 08 18 yellow (#345) * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - reworked show inputs in jobs table * - trying to fix a bug with inputs * - fixes because can't debug this locally * - implemented #890 * - added debug logs * fixed problem with entries function * - added more logs * - authorize user for viewing squonk job * - fixed problem with id * - added message when access to squonk is denied * Update package.json to trigger build action * Update package.json triggering build action * - fixed bugs found in staging * - resolved build issue where Terser complained about unexpected token. Problem was inclusion of yup package which is used for validation of Formik forms commit 3a9a478d3bdbcb54802346efe2ec5e1f18242721 Merge: d777f117 4cb92f6c Author: boriskovar-m2ms Date: Thu Mar 16 10:50:04 2023 +0100 Merge branch 'staging' into ms-2022-08-18-yellow commit d777f117bbfab9a367ef8ad04c2fcf540cf19ef6 Author: Boris Kovar Date: Thu Mar 16 10:17:34 2023 +0100 - resolved build issue where Terser complained about unexpected token. Problem was inclusion of yup package which is used for validation of Formik forms commit ae0cbdc8540aa440c776be3b84508c710a215d36 Author: Boris Kovar Date: Thu Mar 16 09:01:48 2023 +0100 - fixed bugs found in staging commit 4cb92f6ca3c986a087b840f9327e921ed17e1b4c Author: boriskovar-m2ms Date: Thu Mar 9 13:05:06 2023 +0100 Ms 2022 08 18 yellow (#344) * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - added debug info * - reworked show inputs in jobs table * - trying to fix a bug with inputs * - fixes because can't debug this locally * - implemented #890 * - added debug logs * fixed problem with entries function * - added more logs * - authorize user for viewing squonk job * - fixed problem with id * - added message when access to squonk is denied * Update package.json to trigger build action * Update package.json triggering build action commit bc13d845aa206aa7d8d151a8bb53f53335761084 Author: boriskovar-m2ms Date: Thu Mar 9 10:38:18 2023 +0100 Update package.json triggering build action commit 49d1ad57042d353f76c7368944601a8d64e44596 Author: boriskovar-m2ms Date: Thu Mar 9 10:32:30 2023 +0100 Update package.json to trigger build action commit fd0df1c021010f4f5e028090493464721b8b2600 Author: Boris Kovar Date: Thu Mar 9 09:11:44 2023 +0100 - added message when access to squonk is denied commit 622b635472e0ed7be1ae36062addd0f91d9ff6f4 Author: Boris Kovar Date: Wed Mar 8 14:35:57 2023 +0100 - fixed problem with id commit 74a1a62ca7a564d481be34c4301771ce7f5dd76a Author: Boris Kovar Date: Wed Mar 8 14:18:47 2023 +0100 - authorize user for viewing squonk job commit aa55bc41ee6a6fce4d8b146362e276265eed0af3 Author: Boris Kovar Date: Wed Mar 8 12:58:15 2023 +0100 - added more logs commit d97a512d75aa621be77ee69b547b21e1653386e1 Author: Boris Kovar Date: Wed Mar 8 12:19:18 2023 +0100 fixed problem with entries function commit 7e28e41d96e57998b979752d3651304bf36713c9 Author: Boris Kovar Date: Wed Mar 8 12:13:08 2023 +0100 - added debug logs commit f4becf9c94cf8c5eec225fde7b24c73131e0e338 Author: Boris Kovar Date: Wed Mar 8 11:29:23 2023 +0100 - implemented #890 commit bcd3ec01ddc68d3dd1dce78f1f3ca165e1633fd4 Author: Boris Kovar Date: Sun Mar 5 18:50:08 2023 +0100 - fixes because can't debug this locally commit 59779b6b80ec7e21af68b219a543a017aa837b14 Author: Boris Kovar Date: Sun Mar 5 18:29:05 2023 +0100 - trying to fix a bug with inputs commit 76ccc089efc43589bb381ea6589567dce538aa8b Author: Boris Kovar Date: Sun Mar 5 18:12:34 2023 +0100 - reworked show inputs in jobs table commit e862c726c81b0328cc9b7538d9820481b7d85cd8 Author: Boris Kovar Date: Sun Mar 5 16:46:29 2023 +0100 - added debug info commit 471d947b83f159bde413a32de06dbd10b9c4dfaf Author: Boris Kovar Date: Sun Mar 5 16:33:00 2023 +0100 - added debug info commit c4b11af95a56786493e13735ac92b1b1f766af79 Author: Boris Kovar Date: Sun Mar 5 16:13:41 2023 +0100 - added debug info commit 6adc86d4f95a362b38747e001f55bde2a104baff Author: Boris Kovar Date: Sun Mar 5 15:53:49 2023 +0100 - added debug info commit e42ed05162106109c927e80620d67b5af31b7ef1 Author: Boris Kovar Date: Sun Mar 5 15:34:10 2023 +0100 - added debug info commit 39034c54b97f4da301365c69d985640a66c75469 Author: Boris Kovar Date: Sun Mar 5 15:09:04 2023 +0100 - added debug info commit 9eee228b45b94479edfab5d6279d3e0ce4ccb8d1 Author: Boris Kovar Date: Sun Mar 5 14:48:45 2023 +0100 - added debug info commit 13a00cf2ba8f4ae13de4865096f9def349acd158 Merge: 0a36ae5c d0317f60 Author: rsanchezgarc Date: Tue Feb 21 20:43:31 2023 +0000 Merge pull request #341 from m2ms/ms-2022-08-18-yellow Ms 2022 08 18 yellow release commit d0317f607def3b6e1a5651554b338161fce4f040 Merge: 53164d21 8c4ca1d0 Author: Boris Kovar Date: Mon Feb 20 13:58:48 2023 +0100 Merge branch 'ms-2022-08-18-yellow' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow commit 53164d21b23e7a918a772ced6292817b4306031e Author: Boris Kovar Date: Mon Feb 20 13:57:25 2023 +0100 Squashed commit of the following: commit 19b3910d84f9707b8047524cfe44dfa1f8696644 Author: Boris Kovar Date: Mon Feb 20 13:33:18 2023 +0100 - new dev BE commit af427c71d9499c975e12b314202bdb0f0ec13826 Author: boriskovar-m2ms Date: Fri Feb 17 08:44:14 2023 +0100 Update package.json just to trigger build action commit 4cb19eb371b0147dfc51b704a36dba842543d311 Author: boriskovar-m2ms Date: Thu Feb 16 09:09:27 2023 +0100 Update package.json just to trigger build action commit 7612967a111ec486f2072ca3ddd88330b4ad37c9 Author: boriskovar-m2ms Date: Wed Feb 15 14:01:32 2023 +0100 Update package.json just to trigger build action commit 4e8b27d9b65fe372e06df45bc720abb52f81dbe2 Author: Boris Kovar Date: Tue Feb 14 08:50:44 2023 +0100 - fixed direct links and direct download links commit c08da4bf71caf536e95423fb8b1e5d8ab01c60e7 Author: Boris Kovar Date: Thu Feb 9 14:02:18 2023 +0100 - fixed job name commit 4b9a491f0478849e268dc7b825ba358585cdb2ab Author: Boris Kovar Date: Thu Feb 9 13:28:20 2023 +0100 - added fragmenstein-combine-multi-scoring.json commit ca4f946d07074e87a74ac6a3d2272c1735343cb1 Author: Boris Kovar Date: Thu Feb 9 13:25:35 2023 +0100 - checkpoint commit b43373e1c228d9e46f4c831fc46269d614013e92 Author: Boris Kovar Date: Thu Feb 9 10:43:27 2023 +0100 - fixed problem where UI would crash if there was a problem during job file transfer of job launch commit 3618b10e2b77f4a7a173f38a8d8bbdc0a853805b Author: Boris Kovar Date: Thu Feb 9 09:54:36 2023 +0100 - fixed bad project capture from url commit 7d588895cebd0e363aa5d62b36770499364aef06 Merge: 11180a5c 4fc7f7bd Author: Boris Kovar Date: Wed Feb 8 09:27:51 2023 +0100 Merge branch '#1020' of https://github.com/m2ms/fragalysis-frontend into #1020 commit 11180a5c0142ea18624ae14ddaad16793fdcb435 Author: Boris Kovar Date: Wed Feb 8 09:26:31 2023 +0100 - prevent crash when there is a project associated with target which user is not authorized to see commit 4fc7f7bd2d0aae799099b29e256e3c0834e9576f Author: boriskovar-m2ms Date: Wed Feb 8 07:25:12 2023 +0100 Update package.json just to trigger build action commit 2b2665cfc609f621eb9bf505b9a86e6bd4fb3d35 Author: boriskovar-m2ms Date: Thu Feb 2 15:43:38 2023 +0100 Update package.json just to trigger the build action commit d0d429c473307ce2bfa825ad9e556084082accd8 Author: boriskovar-m2ms Date: Thu Feb 2 15:20:25 2023 +0100 Update package.json just to trigger the build action commit fcf377b863abf9110e1c0ce752b29bce073349cf Author: Boris Kovar Date: Thu Feb 2 14:51:17 2023 +0100 - fixed problem when job config windows closes on error commit c9e39f4da281f333c620811cf7ccfb6b8438cc1f Merge: 5a3d56bf 0f8e702a Author: Boris Kovar Date: Thu Feb 2 13:19:16 2023 +0100 Merge branch '#1020' of https://github.com/m2ms/fragalysis-frontend into #1020 commit 5a3d56bf87d9c8d8e6007dba5db8c1239dbf39a2 Author: Boris Kovar Date: Thu Feb 2 13:18:30 2023 +0100 - now sending id of the project and not target_access_string commit 0f8e702a023e2f786c5ba46eab2205f158a75480 Author: boriskovar-m2ms Date: Thu Feb 2 12:59:19 2023 +0100 Update package.json just to trigger build action commit 585076db67dc32b58083c184e1ca11a6dddc434b Author: Boris Kovar Date: Thu Feb 2 12:39:19 2023 +0100 - fixed problem when project pane was not showing up right after a project was created commit fa7fd759c30c3abf4e12b1c17af4107424993dc4 Author: Boris Kovar Date: Thu Feb 2 12:08:23 2023 +0100 - fix for missing project pane commit ba0a1fe55bd53f719d31d795d71877d81366cac9 Author: Boris Kovar Date: Thu Feb 2 09:05:50 2023 +0100 - version for job execution - broken UI commit 51555e1ba1eeb12e1eef340f108d7d3b595e6210 Merge: 51e97af1 a42cad71 Author: Boris Kovar Date: Wed Feb 1 13:58:27 2023 +0100 Merge branch '#1020' of https://github.com/m2ms/fragalysis-frontend into #1020 commit 51e97af1db45d3b4bb9b5d1fdd55a07991a9a19a Author: Boris Kovar Date: Wed Feb 1 13:57:49 2023 +0100 - partial implementation of #1020 commit a42cad7193b8c8f02c04378bba01f6f44114ec88 Author: boriskovar-m2ms Date: Thu Jan 26 08:34:01 2023 +0100 Update package.json just to trigger build action commit 96c0216e8b29169c9c1bf29471eafb5bddd24e5b Author: boriskovar-m2ms Date: Wed Jan 25 09:39:06 2023 +0100 Update package.json just to trigger build action commit c7de9cf16f783fad2bdfb78224a818221fa24ba1 Author: boriskovar-m2ms Date: Tue Jan 24 15:10:11 2023 +0100 Update package.json just to trigger the build action commit e8e5657cc5f7beecf5813040210605b6cf410cef Author: boriskovar-m2ms Date: Tue Jan 24 14:04:56 2023 +0100 Update package.json just to trigger build commit 24dc912bfdae3bec9c52867f2d638754635cecbb Author: Boris Kovar Date: Tue Jan 24 12:49:58 2023 +0100 - sensitive data moved to .env file commit a98c51751368104300a872f116cc22acc09cec44 Author: Boris Kovar Date: Tue Jan 24 12:49:06 2023 +0100 - added .env to gitignore commit 13b4bed082612315afc948192fe758fb42edf63d Author: Boris Kovar Date: Tue Jan 24 12:47:56 2023 +0100 - mending an error commit 5b74eb4326389e11b923b560f6603586bfc3b87c Author: Boris Kovar Date: Wed Jan 18 09:52:19 2023 +0100 - checkpoint commit d4b88dfe5c525b7c471d97ac47d46f9d992bfa48 Author: Boris Kovar Date: Tue Jan 17 10:10:27 2023 +0100 - initial implementation #1020 commit 8c4ca1d022f2a5841d68dde70edd9f433c539b83 Author: boriskovar-m2ms Date: Mon Jan 16 11:35:37 2023 +0100 Update package.json just to trigger build action commit 436196bb65fe5eb44f38abc3bc18cf827f09c8d6 Author: boriskovar-m2ms Date: Fri Jan 13 10:47:51 2023 +0100 Update package.json just to trigger build action commit 0d6abaa08dc7a174d915d33e21a1667accd39423 Author: boriskovar-m2ms Date: Thu Jan 12 10:18:23 2023 +0100 Update package.json just to trigger build action commit d5905966cb9bf2994f93668911873108832d7578 Author: Boris Kovar Date: Wed Jan 11 11:02:25 2023 +0100 - forgot to reset debug constants commit df7057032baa70df6451b7faf0a232fa75a1e55b Author: Boris Kovar Date: Wed Jan 11 08:05:23 2023 +0100 - minor fix for upload_status commit 698d123634ded171f161c3bb9f27e4e1600730be Author: Boris Kovar Date: Tue Jan 10 15:42:30 2023 +0100 - minor fix for upload_status commit 89bb79b92d6cef9fb410259ee93ae7e11859239a Author: Boris Kovar Date: Tue Jan 10 15:26:03 2023 +0100 - upload_failed now taken into the account commit 3f9f3ea181ab267ee9c1f52b88a620c0620fa34b Author: boriskovar-m2ms Date: Tue Jan 10 13:35:25 2023 +0100 Update package.json - just to trigger build action commit e6fbd6d213418dfd9708e206da341e8e37e776c3 Author: boriskovar-m2ms Date: Tue Jan 10 11:54:17 2023 +0100 Update package.json just to trigger build action commit 2d0a5257e2308d3b3241ec63a61ea5896981dc5e Author: Boris Kovar Date: Fri Dec 23 13:01:20 2022 +0100 - updated README.md commit 0a36ae5cc0f40aaab45ced9837e242308d17b578 Merge: 6a7a0dda 782b84b5 Author: rsanchezgarc Date: Tue Dec 20 18:11:19 2022 +0000 Merge pull request #337 from m2ms/ms-2022-08-18-yellow-wo-970 Animate to new orientation matrix first commit 5504bd464e1d699833f258b994e344cb339cb234 Author: Boris Kovar Date: Tue Dec 20 08:06:06 2022 +0100 Squashed commit of the following: commit cec398dcf0a14f7e433b2baec849e29001358839 Author: Boris Kovar Date: Tue Dec 20 08:00:30 2022 +0100 - commit 885f08e18f7983723a0944bd90cec646c869ee89 Author: Boris Kovar Date: Fri Dec 16 13:18:38 2022 +0100 - bug fix in progress for #970 commit 006af71cdff9eff68f3dc7d03404fe265ff841b8 Author: Boris Kovar Date: Thu Dec 15 16:30:41 2022 +0100 - now user can insert list of strings as an input for a job commit 15e97d0c57a2ab0c683077ea1f588db63645536f Author: Boris Kovar Date: Wed Dec 14 06:07:28 2022 +0100 - initial implementation of #970 commit 89010ea549ade47427b6454c3b92a37dff0c449b Author: Boris Kovar Date: Mon Dec 5 08:26:35 2022 +0100 - #1001 commit 6fa2432f7226be0d54f7ce608719c0d59863d367 Author: Boris Kovar Date: Mon Dec 19 10:09:59 2022 +0100 Squashed commit of the following: commit 553235691beedd110072226ff20b6b49a6aad1ee Author: Boris Kovar Date: Mon Dec 19 10:06:41 2022 +0100 - orient first then remove/add stuff commit 782b84b50f1d66742a3ed491b91d4ecf379b2edd Merge: eaa4ccbd f07779ce Author: Boris Kovar Date: Mon Dec 19 10:08:49 2022 +0100 Merge branch 'ms-2022-08-18-yellow-wo-970' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow-wo-970 commit eaa4ccbdf4282a772a19badf68fc2c14579d9173 Author: Boris Kovar Date: Mon Dec 19 10:08:30 2022 +0100 Squashed commit of the following: commit 553235691beedd110072226ff20b6b49a6aad1ee Author: Boris Kovar Date: Mon Dec 19 10:06:41 2022 +0100 - orient first then remove/add stuff commit 6a7a0dda77266978a5afdaf82a5e8f89f5aa0d4e Merge: 356e625e f07779ce Author: rsanchezgarc Date: Fri Dec 16 12:44:21 2022 +0000 Merge pull request #334 from m2ms/ms-2022-08-18-yellow-wo-970 Ms 2022 08 18 yellow wo 970 commit f07779ce30667465ea1aba424085e8978827641a Merge: 57336b82 dcc2c882 Author: boriskovar-m2ms Date: Fri Dec 16 13:24:09 2022 +0100 Merge branch 'master' into ms-2022-08-18-yellow-wo-970 commit 21b437e8dd24102aebe35302d8b1ef2d18c6c040 Author: Boris Kovar Date: Thu Dec 15 16:32:57 2022 +0100 Squashed commit of the following: commit 006af71cdff9eff68f3dc7d03404fe265ff841b8 Author: Boris Kovar Date: Thu Dec 15 16:30:41 2022 +0100 - now user can insert list of strings as an input for a job commit 15e97d0c57a2ab0c683077ea1f588db63645536f Author: Boris Kovar Date: Wed Dec 14 06:07:28 2022 +0100 - initial implementation of #970 commit 89010ea549ade47427b6454c3b92a37dff0c449b Author: Boris Kovar Date: Mon Dec 5 08:26:35 2022 +0100 - #1001 commit 2be8ed349ffdffa3602a2a393b4019bb3115ba5f Merge: 8ac386cd 57336b82 Author: Boris Kovar Date: Wed Dec 14 06:28:30 2022 +0100 Merge branch 'ms-2022-08-18-yellow' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow commit 8ac386cd710d9b6bf65cccac8d5962e6f6d730a5 Author: Boris Kovar Date: Wed Dec 14 06:27:11 2022 +0100 Squashed commit of the following: commit 15e97d0c57a2ab0c683077ea1f588db63645536f Author: Boris Kovar Date: Wed Dec 14 06:07:28 2022 +0100 - initial implementation of #970 commit 89010ea549ade47427b6454c3b92a37dff0c449b Author: Boris Kovar Date: Mon Dec 5 08:26:35 2022 +0100 - #1001 commit 57336b825cb95aecb3dfff78ab571bb85e906073 Author: boriskovar-m2ms Date: Thu Dec 8 11:41:44 2022 +0100 Update package.json just to trigger action commit c6c3ed0b16414d528684d63befca6a01634683d0 Author: boriskovar-m2ms Date: Wed Dec 7 11:57:33 2022 +0100 Update package.json just to trigger action commit 614b01c80882557160777ba96abc92c2d328112e Author: boriskovar-m2ms Date: Wed Dec 7 09:38:38 2022 +0100 Update package.json just to trigger action commit c0d2b3858d074b33303eef48e42f11e7eefac474 Author: boriskovar-m2ms Date: Wed Dec 7 08:39:23 2022 +0100 Update package.json just to trigger action commit bbf6f91e8498586d666204c3493405c4ca4e7268 Author: boriskovar-m2ms Date: Wed Dec 7 08:31:30 2022 +0100 Update package.json just to trigger rebuild commit 5edd5c4c387405b5f30ee88b19f1f2a2e91d8022 Author: Boris Kovar Date: Mon Dec 5 08:28:17 2022 +0100 Squashed commit of the following: commit 8d6edcb01a41b4abdddf86e94fe754682fb17964 Author: Boris Kovar Date: Mon Dec 5 08:14:43 2022 +0100 - #1001 commit 8c52f55f808f5566f83e6068e3dbe76cf06860b0 Author: Boris Kovar Date: Thu Dec 1 09:10:59 2022 +0100 Squashed commit of the following: commit 91f3363f245ec336810dd27b9d34aaaa82512a8a Author: Boris Kovar Date: Thu Dec 1 09:08:03 2022 +0100 - implemented #1012 commit f8eb4067e0ece9d170e3405bebe21a689927442c Author: Boris Kovar Date: Tue Nov 29 10:24:56 2022 +0100 Squashed commit of the following: commit a5b8f281ebd05cc6be2163fc7124855f6cee8418 Author: Boris Kovar Date: Tue Nov 29 10:22:31 2022 +0100 - fixed #1013 commit db173bcdd76574055d5132ec3cd34012a727656d Author: Boris Kovar Date: Mon Nov 28 14:39:16 2022 +0100 Squashed commit of the following: commit c966f2e5a51059496bb8a653eedd54d781b7ec0a Merge: 8712fddb 87870aa1 Author: Boris Kovar Date: Mon Nov 28 13:40:54 2022 +0100 Merge branch 'ms-2022-08-18-yellow' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow commit 8712fddb5830de27c1c5568d3ce8e3c4a7318523 Author: Boris Kovar Date: Mon Nov 28 13:39:15 2022 +0100 Squashed commit of the following: commit cb3969273bde4d917b38c56485a05b1be23cf9cd Author: Boris Kovar Date: Mon Nov 28 13:30:45 2022 +0100 - fixes for fast snapshot switching in ngl view after the dataset is deleted and compounds from dataset were used (i.e. were visible in some shape or form in the ngl view) commit 0783429eaa6f18cf3c949c3f631d81e76edaa33c Author: Boris Kovar Date: Mon Nov 28 08:16:31 2022 +0100 - #876 seems to be done commit 87870aa192d10344ae7eb384618ef137986862d0 Author: boriskovar-m2ms Date: Mon Nov 28 09:36:12 2022 +0100 Update package.json just to trigger build action commit c966f2e5a51059496bb8a653eedd54d781b7ec0a Merge: 8712fddb 87870aa1 Author: Boris Kovar Date: Mon Nov 28 13:40:54 2022 +0100 Merge branch 'ms-2022-08-18-yellow' of https://github.com/m2ms/fragalysis-frontend into ms-2022-08-18-yellow commit 8712fddb5830de27c1c5568d3ce8e3c4a7318523 Author: Boris Kovar Date: Mon Nov 28 13:39:15 2022 +0100 Squashed commit of the following: commit cb3969273bde4d917b38c56485a05b1be23cf9cd Author: Boris Kovar Date: Mon Nov 28 13:30:45 2022 +0100 - fixes for fast snapshot switching in ngl view after the dataset is deleted and compounds from dataset were used (i.e. were visible in some shape or form in the ngl view) commit 0783429eaa6f18cf3c949c3f631d81e76edaa33c Author: Boris Kovar Date: Mon Nov 28 08:16:31 2022 +0100 - #876 seems to be done commit 87870aa192d10344ae7eb384618ef137986862d0 Author: boriskovar-m2ms Date: Mon Nov 28 09:36:12 2022 +0100 Update package.json just to trigger build action commit 68d1a2fbd2be5620cca635c662dc0278dd578fcb Author: Boris Kovar Date: Mon Nov 28 09:08:21 2022 +0100 Squashed commit of the following: commit 0783429eaa6f18cf3c949c3f631d81e76edaa33c Author: Boris Kovar Date: Mon Nov 28 08:16:31 2022 +0100 - #876 seems to be done commit 356e625e4a0d7cee6bf1bd3c3b1627b59375e88d Merge: 0530324b 7b7cbe99 Author: rsanchezgarc Date: Mon Nov 14 09:59:45 2022 +0000 Merge pull request #329 from m2ms/#977-ngl Fast switching between snapshots commit 7b7cbe99952000f6c550727e082cb920cafa144c Author: Boris Kovar Date: Tue Nov 8 10:04:33 2022 +0100 - #977 - fixed issue with ngl settings were not saved and restored commit d1abaa872675f8a748f7c573aa74d79cdf629a0c Author: Boris Kovar Date: Mon Nov 7 10:14:18 2022 +0100 Squashed commit of the following: commit 4a8a532f6ea217d2921ed5fab6b6705442ca682f Author: Boris Kovar Date: Thu Nov 3 08:01:05 2022 +0100 - fixed ngl view was not tracked commit 0530324b9faae6876d0b42c48ac4b26a9eaf3c26 Merge: 931a5aea 5746062a Author: Alan B. Christie <29806285+alanbchristie@users.noreply.github.com> Date: Thu Oct 27 15:51:39 2022 +0100 Merge pull request #325 from xchem/production Action doc tweaks commit 5746062aacabb5201feefed8ea09e3e34066a175 Merge: b0e75d17 dc2ff23d Author: Alan B. Christie <29806285+alanbchristie@users.noreply.github.com> Date: Thu Oct 27 15:50:50 2022 +0100 Merge pull request #324 from alanbchristie/production Action doc tweaks commit dc2ff23d773157c74f864931e06ccb0fd21cf335 Author: Alan Christie Date: Thu Oct 27 15:48:48 2022 +0100 Add doc for production workflow commit c5ee4068a880a85d4fc5ed164dbbd711e4c5d0ec Author: Alan Christie Date: Thu Oct 27 15:35:27 2022 +0100 Tweak action docs commit 931a5aea583997a80bab66d8099f743529f8d98f Merge: cb4246e7 b0e75d17 Author: Alan B. Christie <29806285+alanbchristie@users.noreply.github.com> Date: Thu Oct 27 12:51:21 2022 +0100 Merge pull request #323 from xchem/production Production now triggers stack commit b0e75d174217c507b2db2f4d6329e4ed2315e887 Merge: cb4246e7 ac3297e4 Author: Alan B. Christie <29806285+alanbchristie@users.noreply.github.com> Date: Thu Oct 27 12:50:08 2022 +0100 Merge pull request #322 from alanbchristie/production Production now triggers stack commit ac3297e47b5ce9ca5a9ca1386818a317bc8098f2 Author: Alan Christie Date: Thu Oct 27 12:49:11 2022 +0100 Production now triggers stack Fix for BE tag commit cb4246e7f7acde133a4ca2081c30115dd5c87f56 Merge: dcc2c882 dec6f785 Author: Alan B. Christie <29806285+alanbchristie@users.noreply.github.com> Date: Thu Oct 27 11:15:06 2022 +0100 Merge pull request #321 from alanbchristie/production CI changes for new branch policy commit dec6f785663f6e3050262c5a4b4704109d2e446a Author: Alan Christie Date: Thu Oct 27 10:58:08 2022 +0100 Removed personal repo references commit 2147aa18af1211a32f55e228c1023491008204ac Author: Boris Kovar Date: Wed Oct 26 10:00:07 2022 +0200 - updated squonk project id for dev stacks commit b2bc6e79197baa4c7336822fca2bfbf54eded377 Author: Boris Kovar Date: Mon Oct 24 16:47:24 2022 +0200 - first real version of the final implementation of ticket #977 - also added functionality that only if user did something with the snapshot, only then user will be prompted if new snapshot (or current overridden) should be saved or not - note: in this current version undoing an action does not undo the 'dirty' status of the snapshot commit 204a86d7f8901b9d39cf6495e625c709d82a8c72 Author: Boris Kovar Date: Thu Oct 20 07:32:33 2022 +0200 - nearly complete issue #977 commit dcc2c8824378b69e118564a664b332456d5632e4 Author: boriskovar-m2ms Date: Thu Sep 29 12:48:42 2022 +0200 edited in correct squonk project id commit 725f6d5267d568afd34f29f22b0869458d759832 Author: boriskovar-m2ms Date: Thu Sep 29 12:47:31 2022 +0200 removed Upload button from Job popup (#320) * - initial commit * - checkpoint * - new backend * Update package.json bumped version to 0.10.109 * Update package.json bumped version to 0.10.111 * Update package.json version bumped to 0.10.112 * Update package.json bumped version to 0.10.113 * Update package.json bumped version to 0.10.114 * Update package.json bumped version to 0.10.115 * - added new back-end * Squashed commit of the following: commit 949573bd930afaa0171a728f05dafa08c2425341 Merge: deb0d1c3 74ea6613 Author: Boris Kovar Date: Thu Jul 14 06:56:52 2022 +0200 Merge branch '#885-bugfix' of https://github.com/m2ms/fragalysis-frontend into #885-bugfix commit deb0d1c31aa68fb38c1d1541aca6bd81410e515b Author: Boris Kovar Date: Thu Jun 9 10:21:43 2022 +0200 - mics changes commit e2a00641039dd34b348ce2084eefd8f33ae04343 Author: Boris Kovar Date: Mon Jun 6 06:05:49 2022 +0200 Squashed commit of the following: -bumped version to 0.10.93 commit dfa24f68c4cb0e84ad37ac663ec08caadd2f3fbb Author: Anton Gasperak Date: Wed Jun 1 11:53:32 2022 +0200 #883 - Remove unused selection action commit 0ae63081e822a514443a7b6c6e1fb3826a8c6178 Author: Anton Gasperak Date: Wed Jun 1 11:43:17 2022 +0200 #883 - Remove countOfPendingVectorLoadRequests from selectionReducers with unused hook commit b884e0b59c5e9000422adbf6e6adf7b14847b51f Author: Anton Gasperak Date: Wed Jun 1 11:10:44 2022 +0200 #883 - Remove associatedDownloadTagName from selectionReducers commit ab825ccf3369af8fbaab9c8d25d68c5a1699d773 Author: Anton Gasperak Date: Wed Jun 1 10:54:57 2022 +0200 #883 - Remove displayedMoleculesInHitNav from selectionReducers commit 4103e3984bc9b3fbf2cc48bef3b9d65864a4814b Author: Anton Gasperak Date: Wed Jun 1 10:08:28 2022 +0200 #883 - Remove displayAllInNGLList from selectionReducers commit f3b3b10a879447705b2709b88d48b62fe50e14cc Author: Anton Gasperak Date: Wed Jun 1 09:59:23 2022 +0200 #883 - Remove listAllList from selectionReducers commit 02aa5955918abace2d5473e89bb9260ff10d7338 Author: Anton Gasperak Date: Wed Jun 1 09:40:29 2022 +0200 #883 - Move categoryList from selectionReducers to apiReducers commit d059ee8d4de0ddc34be64ef9c55a71c4f2bd96df Author: Anton Gasperak Date: Wed Jun 1 08:43:26 2022 +0200 #883 - Move tagList from selectionReducers to apiReducers commit 1e6311eddebf515f11a42e86fe3a1db7572dcdba Author: Anton Gasperak Date: Mon Jul 11 14:42:22 2022 +0200 #885 - Add the possibility to recompile variables before job launching commit 74ea6613da0306f5251a440bdfdaa44f225ccb69 Author: Boris Kovar Date: Thu Jun 9 10:21:43 2022 +0200 - mics changes commit f98a7cac0c540cc9f9d52ec09814e86c80cee065 Author: Anton Gasperak Date: Mon Jun 6 12:28:04 2022 +0200 #885 - Adjust and compile schema commit d2e422992f95edb2a82435f03d8793f8c3e72bc1 Author: Anton Gasperak Date: Fri Jun 3 12:53:17 2022 +0200 #885 - Reuse the merged schema in JobVariablesDialog commit bd3ff2b3f22dada64afadd4df1685bcc46ab2d21 Author: Anton Gasperak Date: Fri Jun 3 08:36:34 2022 +0200 #885 - Add new job definition * updated fragmentstein job spec Squashed commit of the following: commit 1e6311eddebf515f11a42e86fe3a1db7572dcdba Author: Anton Gasperak Date: Mon Jul 11 14:42:22 2022 +0200 #885 - Add the possibility to recompile variables before job launching commit f98a7cac0c540cc9f9d52ec09814e86c80cee065 Author: Anton Gasperak Date: Mon Jun 6 12:28:04 2022 +0200 #885 - Adjust and compile schema commit d2e422992f95edb2a82435f03d8793f8c3e72bc1 Author: Anton Gasperak Date: Fri Jun 3 12:53:17 2022 +0200 #885 - Reuse the merged schema in JobVariablesDialog commit bd3ff2b3f22dada64afadd4df1685bcc46ab2d21 Author: Anton Gasperak Date: Fri Jun 3 08:36:34 2022 +0200 #885 - Add new job definition * - changed default value for output file * Update package.json bumped version to 0.10.116 * - new backend test * Update package.json bumped version to 0.10.120 * Update package.json bumped version to 0.10.122 * - new version of the backend added * Squashed commit of the following: commit c6c605ed21996d470a36b0de0a51a4e145792884 Author: Boris Kovar Date: Thu Aug 4 09:25:18 2022 +0200 - fixed #949 commit 2118900c0f7b92aa3ff7b6a1aefd943ab506c287 Author: Boris Kovar Date: Wed Aug 3 15:42:41 2022 +0200 - fixed problem where there are no selected inputs for a job commit db6f6436af34cfead10d7e788bf4d9c3a9029294 Author: Boris Kovar Date: Wed Aug 3 08:47:55 2022 +0200 - fix… * Squashed commit of the following: commit e7075fd464984f7ca83c683594737ede8a2d6156 Author: RobertMatuska Date: Thu Aug 10 09:22:56 2023 +0200 #1124 fixed border color * Squashed commit of the following: commit 9047a700d7d206e2ab01fd6dff574162fc4483e3 Author: Boris Kovar Date: Thu Jun 15 09:53:13 2023 +0200 - implemented all the features for #944 commit 716eb0e7a8f11d34c8744cf20ad60ce3cbe41dd6 Author: Boris Kovar Date: Thu Jun 8 09:13:42 2023 +0200 - initial commit * - fixed new job * Squashed commit of the following: commit 5adc61adf29db66e7e09fd2d663c18d064305c33 Merge: a8c90f24 1aef079a Author: RobertMatuska Date: Thu Aug 10 15:31:40 2023 +0200 Merge branch '#1118' of https://github.com/m2ms/fragalysis-frontend into #1118 commit a8c90f245cf29df1cfee1b7053454cb7d0c0ad4a Author: RobertMatuska Date: Thu Aug 10 15:31:35 2023 +0200 #1118 fixed filter and sort bugs commit 1aef079a1728061be8c56f41967bf60666c79a17 Author: boriskovar-m2ms Date: Thu Aug 10 08:25:48 2023 +0200 Update package.json triggering build action commit 594ac1970c7099ecfb94cecc3707a6cc9ef2894f Merge: 5564d2ce de09cdc6 Author: RobertMatuska Date: Wed Aug 9 11:59:25 2023 +0200 Merge branch '#1106' into #1118 commit 5564d2ceaaea797542514f1a9fdfd8901591fb2b Author: RobertMatuska Date: Wed Aug 9 11:26:34 2023 +0200 #1118 change priority and fix bugs commit de09cdc6e9386ca3f6aea63fa373ef75938dec6d Merge: 4caeef7b 8b73ee22 Author: Boris Kovar Date: Tue Aug 8 11:38:09 2023 +0200 Merge branch '#1106' of https://github.com/m2ms/fragalysis-frontend into #1106 commit 4caeef7b2f6f9acbf617989b94e62030e6ed8052 Author: Boris Kovar Date: Tue Aug 8 11:37:40 2023 +0200 - updated table styling commit 8b73ee22d38fb5b93435c4c03fc537334adc3ebc Author: boriskovar-m2ms Date: Mon Aug 7 13:24:08 2023 +0200 Update package.json just to trigger build action commit d16130686039662cd7ebe0f9b6eeaadbe57d7d37 Author: Boris Kovar Date: Mon Aug 7 12:55:44 2023 +0200 - table is now autosized commit e867e77c40598a12fa10ca6ab526880274936752 Author: RobertMatuska Date: Mon Aug 7 09:03:11 2023 +0200 #1106 edited columns size # Conflicts: # js/components/projects/index.js # package.json * Squashed commit of the following: commit 0550be26180579a58c85c520b0930c44f4999011 Author: Boris Kovar Date: Tue Aug 15 08:46:33 2023 +0200 - fixed #1092 * Squashed commit of the following: commit 60528709e830d424c07d290a7daf65cfcf3d9b2c Author: Boris Kovar Date: Tue Aug 15 12:31:31 2023 +0200 - implemented #1129 --- js/components/nglView/renderingObjects.js | 2 +- js/components/projects/helperConstants.js | 6 +- js/components/projects/index.js | 370 ++------- .../projects/projectListSortFilterDialog.js | 104 ++- .../projects/projectListSortFilterItem.js | 777 +++++++++++------- js/components/projects/redux/actions.js | 50 +- js/components/projects/redux/constants.js | 40 +- js/components/projects/redux/reducer.js | 39 +- js/hooks/useGetJobDefinition.js | 14 +- js/reducers/ngl/dispatchActions.js | 58 +- package.json | 2 +- 11 files changed, 776 insertions(+), 686 deletions(-) diff --git a/js/components/nglView/renderingObjects.js b/js/components/nglView/renderingObjects.js index 070da083a..22a56f43a 100644 --- a/js/components/nglView/renderingObjects.js +++ b/js/components/nglView/renderingObjects.js @@ -355,7 +355,7 @@ const showArrow = ({ stage, input_dict, object_name, representations, orientatio let radius = input_dict.radius === undefined ? 0.3 : input_dict.radius; // Handle undefined start and finish if (input_dict.start === undefined || input_dict.end === undefined) { - const msgs = 'START OR END UNDEFINED FOR ARROW ' + input_dict.toString(); + const msgs = 'START OR END UNDEFINED FOR ARROW ' + JSON.stringify(input_dict); return Promise.reject(msgs); } let shape = new Shape(object_name, { disableImpostor: true }); diff --git a/js/components/projects/helperConstants.js b/js/components/projects/helperConstants.js index 8f738af0c..d1c609c7e 100644 --- a/js/components/projects/helperConstants.js +++ b/js/components/projects/helperConstants.js @@ -1,9 +1,9 @@ -export const moleculeProperty = { - createdAt: 'createdAt', +export const projectProperty = { + createdAt: 'init_date', name: 'name', target: 'target', targetAccessString: 'targetAccessString', description: 'description', authority: 'authority', - tags: 'tags', + tags: 'tags' }; diff --git a/js/components/projects/index.js b/js/components/projects/index.js index 025042784..1f376f174 100644 --- a/js/components/projects/index.js +++ b/js/components/projects/index.js @@ -34,7 +34,7 @@ import { setProjectModalOpen, setAddButton } from './redux/actions'; import { useDispatch, useSelector } from 'react-redux'; import { ProjectModal } from './projectModal'; import { loadListOfAllProjects, removeProject } from './redux/dispatchActions'; -import { setListOfFilteredProjects } from './redux/actions'; +import { setListOfFilteredProjects, setListOfProjects } from './redux/actions'; import { DJANGO_CONTEXT } from '../../utils/djangoContext'; import { isDiscourseAvailable, getExistingPost, openDiscourseLink } from '../../utils/discourse'; import { setOpenDiscourseErrorModal } from '../../reducers/api/actions'; @@ -52,8 +52,18 @@ import { compareCreatedAtDateAsc, compareCreatedAtDateDesc } from './sortProjects/sortProjects'; -import { setSortDialogOpen, setDefaultFilter } from './redux/actions'; -import { ProjectListSortFilterDialog } from './projectListSortFilterDialog'; +import { + setSortDialogOpen, + setDefaultFilter, + setSearchTarget, + setSearchName, + setSearchTargetAccessString, + setSearchDescription, + setSearchAuthority, + setSearchDateFrom, + setSearchDateTo +} from './redux/actions'; +import { ProjectListSortFilterDialog, sortProjects } from './projectListSortFilterDialog'; import { setFilter } from '../../reducers/selection/actions'; const useStyles = makeStyles(theme => ({ @@ -101,7 +111,8 @@ export const Projects = memo(({}) => { let filteredListOfProjects = useSelector(state => state.projectReducers.listOfFilteredProjects); let filteredListOfProjectsByDate = useSelector(state => state.projectReducers.listOfFilteredProjectsByDate); - const listOfAllProjectsDefault = useSelector(state => state.projectReducers.listOfProjects); + let listOfAllProjectsDefaultWithoutSort = useSelector(state => state.projectReducers.listOfProjects); + let listOfAllProjectsDefault = [...listOfAllProjectsDefaultWithoutSort].sort(compareCreatedAtDateDesc); // window height for showing rows per page const [windowHeight, setWindowHeight] = useState(window.innerHeight); @@ -118,102 +129,63 @@ export const Projects = memo(({}) => { let searchedByTargetAccessString = []; let searchedByAuthority = []; - let priorityOrder = []; let tags = []; let searchString = ''; const filterClean = useSelector(state => state.projectReducers.filterClean); const filter = useSelector(state => state.selectionReducers.filter); - const listOfAllProjects = [...listOfAllProjectsDefault].sort(compareCreatedAtDateDesc); + const isActiveFilter = !!(filter || {}).active; - useEffect(() => { - dispatch(loadListOfAllProjects()).catch(error => { - throw new Error(error); - }); - }, [dispatch]); + let listOfAllProjects = [...listOfAllProjectsDefault]; useEffect(() => { - sortProjects(); - }, [filter]); - - useEffect(() => { - // remove filter data - if (filterClean === true) { - dispatch(setListOfFilteredProjects(listOfAllProjects)); - dispatch(setDefaultFilter(false)); - searchedByName = []; - searchedByTarget = []; - searchedByDescription = []; - searchedByTargetAccessString = []; - searchedByAuthority = []; - priorityOrder = []; - const newFilter = { ...filter }; - newFilter.priorityOrder = ['createdAt', 'name', 'target', 'targetAccessString', 'description', 'authority']; - newFilter.filter.authority.order = 1; - newFilter.filter.description.order = 1; - newFilter.filter.name.order = 1; - newFilter.filter.target.order = 1; - newFilter.filter.createdAt.order = 1; - newFilter.filter.targetAccessString.order = 1; - dispatch(setFilter(newFilter)); - searchString = ''; + if (isActiveFilter) { + listOfAllProjectsDefault = sortProjects(listOfAllProjectsDefault, filter); + dispatch(setListOfProjects(listOfAllProjectsDefault)); + if (filteredListOfProjects !== undefined) { + filteredListOfProjects = sortProjects(filteredListOfProjects, filter); + dispatch(setListOfFilteredProjects(filteredListOfProjects)); + } } - }, [filterClean]); - - useEffect(() => { - sortProjects(); }, [filter]); useEffect(() => { - // remove filter data - if (filterClean === true) { - dispatch(setListOfFilteredProjects(listOfAllProjects)); - dispatch(setDefaultFilter(false)); - searchedByName = []; - searchedByTarget = []; - searchedByDescription = []; - searchedByTargetAccessString = []; - searchedByAuthority = []; - priorityOrder = []; - const newFilter = { ...filter }; - newFilter.priorityOrder = ['createdAt', 'name', 'target', 'targetAccessString', 'description', 'authority']; - newFilter.filter.authority.order = 1; - newFilter.filter.description.order = 1; - newFilter.filter.name.order = 1; - newFilter.filter.target.order = 1; - newFilter.filter.createdAt.order = 1; - newFilter.filter.targetAccessString.order = 1; - dispatch(setFilter(newFilter)); - searchString = ''; - } - }, [filterClean]); - - useEffect(() => { - sortProjects(); - }, [filter]); + dispatch(loadListOfAllProjects()).catch(error => { + throw new Error(error); + }); + }, [dispatch]); useEffect(() => { // remove filter data if (filterClean === true) { - dispatch(setListOfFilteredProjects(listOfAllProjects)); + dispatch(setListOfFilteredProjects(listOfAllProjectsDefault)); + dispatch(setListOfProjects(listOfAllProjectsDefault)); dispatch(setDefaultFilter(false)); - searchedByName = []; - searchedByTarget = []; - searchedByDescription = []; - searchedByTargetAccessString = []; - searchedByAuthority = []; - priorityOrder = []; + dispatch(setSearchTarget('')); + dispatch(setSearchName('')); + dispatch(setSearchTargetAccessString('')); + dispatch(setSearchDescription('')); + dispatch(setSearchAuthority('')); + dispatch(setSearchDateFrom('')); + dispatch(setSearchDateTo('')); const newFilter = { ...filter }; - newFilter.priorityOrder = ['createdAt', 'name', 'target', 'targetAccessString', 'description', 'authority']; + newFilter.priorityOrder = ['init_date', 'title', 'target', 'targetAccessString', 'description', 'authority']; + newFilter.sortOptions = [ + ['init_date', undefined], + ['title', undefined], + ['target', 'target.title'], + ['targetAccessString', 'project.target_access_string'], + ['description', undefined], + ['authority', 'project.authority'] + ]; newFilter.filter.authority.order = 1; newFilter.filter.description.order = 1; - newFilter.filter.name.order = 1; + newFilter.filter.title.order = 1; newFilter.filter.target.order = 1; - newFilter.filter.createdAt.order = 1; + newFilter.filter.init_date.order = 1; newFilter.filter.targetAccessString.order = 1; dispatch(setFilter(newFilter)); - searchString = ''; } }, [filterClean]); @@ -236,228 +208,6 @@ export const Projects = memo(({}) => { const offsetAuthority = 60; const offsetCreatedAt = 70; - const sortProjects = () => { - if (filter !== undefined) { - priorityOrder = filter.priorityOrder; - if (filteredListOfProjects === undefined && filteredListOfProjectsByDate === undefined) { - switch (priorityOrder[0]) { - case 'name': - if (filter.filter.name.order === -1) { - dispatch(setListOfFilteredProjects([...listOfAllProjects].sort(compareNameDesc))); - } else { - dispatch(setListOfFilteredProjects([...listOfAllProjects].sort(compareNameAsc))); - } - break; - case 'target': - if (filter.filter.target.order === -1) { - dispatch(setListOfFilteredProjects([...listOfAllProjects].sort(compareTargetDesc))); - } else { - dispatch(setListOfFilteredProjects([...listOfAllProjects].sort(compareTargetAsc))); - } - break; - case 'description': - if (filter.filter.description.order === -1) { - dispatch(setListOfFilteredProjects([...listOfAllProjects].sort(compareDescriptionDesc))); - } else { - dispatch(setListOfFilteredProjects([...listOfAllProjects].sort(compareDescriptionAsc))); - } - break; - case 'targetAccessString': - if (filter.filter.targetAccessString.order === -1) { - dispatch(setListOfFilteredProjects([...listOfAllProjects].sort(compareTargetAccessStringDesc))); - } else { - dispatch(setListOfFilteredProjects([...listOfAllProjects].sort(compareTargetAccessStringAsc))); - } - break; - case 'authority': - if (filter.filter.targetAccessString.order === -1) { - dispatch(setListOfFilteredProjects([...listOfAllProjects].sort(compareAuthorityDesc))); - } else { - dispatch(setListOfFilteredProjects([...listOfAllProjects].sort(compareAuthorityAsc))); - } - break; - case 'createdAt': - if (filter.filter.targetAccessString.order === -1) { - dispatch(setListOfFilteredProjects([...listOfAllProjects].sort(compareCreatedAtDateDesc))); - } else { - dispatch(setListOfFilteredProjects([...listOfAllProjects].sort(compareCreatedAtDateAsc))); - } - break; - } - } - if (filteredListOfProjects !== undefined && filteredListOfProjectsByDate === undefined) { - switch (priorityOrder[0]) { - case 'name': - if (filter.filter.name.order === -1) { - for (let a = 1; a < filteredListOfProjects.length; a++) { - dispatch(setListOfFilteredProjects([...filteredListOfProjects].sort(compareNameDesc))); - if (filteredListOfProjects[a - 1].title === filteredListOfProjects[a].title) { - if (priorityOrder[1] === 'createdAt') { - dispatch(setListOfFilteredProjects([...filteredListOfProjects].sort(compareCreatedAtDateDesc))); - } - } - } - dispatch(setListOfFilteredProjects([...filteredListOfProjects].sort(compareNameDesc))); - } else { - dispatch(setListOfFilteredProjects([...filteredListOfProjects].sort(compareNameAsc))); - } - break; - case 'target': - if (filter.filter.target.order === -1) { - dispatch(setListOfFilteredProjects([...filteredListOfProjects].sort(compareTargetDesc))); - } else { - dispatch(setListOfFilteredProjects([...filteredListOfProjects].sort(compareTargetAsc))); - } - break; - case 'description': - if (filter.filter.description.order === -1) { - dispatch(setListOfFilteredProjects([...filteredListOfProjects].sort(compareDescriptionDesc))); - } else { - dispatch(setListOfFilteredProjects([...filteredListOfProjects].sort(compareDescriptionAsc))); - } - break; - case 'targetAccessString': - if (filter.filter.targetAccessString.order === -1) { - dispatch(setListOfFilteredProjects([...filteredListOfProjects].sort(compareTargetAccessStringDesc))); - } else { - dispatch(setListOfFilteredProjects([...filteredListOfProjects].sort(compareTargetAccessStringAsc))); - } - break; - case 'authority': - if (filter.filter.authority.order === -1) { - dispatch(setListOfFilteredProjects([...filteredListOfProjects].sort(compareAuthorityDesc))); - } else { - dispatch(setListOfFilteredProjects([...filteredListOfProjects].sort(compareAuthorityAsc))); - } - break; - case 'createdAt': - if (filter.filter.createdAt.order === -1) { - dispatch(setListOfFilteredProjects([...filteredListOfProjects].sort(compareCreatedAtDateDesc))); - } else { - dispatch(setListOfFilteredProjects([...filteredListOfProjects].sort(compareCreatedAtDateAsc))); - } - break; - } - } - if (filteredListOfProjects === undefined && filteredListOfProjectsByDate !== undefined) { - switch (priorityOrder[0]) { - case 'name': - if (filter.filter.name.order === -1) { - for (let a = 1; a < filteredListOfProjectsByDate.length; a++) { - dispatch(setListOfFilteredProjects([...filteredListOfProjectsByDate].sort(compareNameDesc))); - if (filteredListOfProjectsByDate[a - 1].title === filteredListOfProjectsByDate[a].title) { - if (priorityOrder[1] === 'createdAt') { - dispatch( - setListOfFilteredProjects([...filteredListOfProjectsByDate].sort(compareCreatedAtDateDesc)) - ); - } - } - } - dispatch(setListOfFilteredProjects([...filteredListOfProjectsByDate].sort(compareNameDesc))); - } else { - dispatch(setListOfFilteredProjects([...filteredListOfProjectsByDate].sort(compareNameAsc))); - } - break; - case 'target': - if (filter.filter.target.order === -1) { - dispatch(setListOfFilteredProjects([...filteredListOfProjectsByDate].sort(compareTargetDesc))); - } else { - dispatch(setListOfFilteredProjects([...filteredListOfProjectsByDate].sort(compareTargetAsc))); - } - break; - case 'description': - if (filter.filter.description.order === -1) { - dispatch(setListOfFilteredProjects([...filteredListOfProjectsByDate].sort(compareDescriptionDesc))); - } else { - dispatch(setListOfFilteredProjects([...filteredListOfProjectsByDate].sort(compareDescriptionAsc))); - } - break; - case 'targetAccessString': - if (filter.filter.targetAccessString.order === -1) { - dispatch( - setListOfFilteredProjects([...filteredListOfProjectsByDate].sort(compareTargetAccessStringDesc)) - ); - } else { - dispatch(setListOfFilteredProjects([...filteredListOfProjectsByDate].sort(compareTargetAccessStringAsc))); - } - break; - case 'authority': - if (filter.filter.authority.order === -1) { - dispatch(setListOfFilteredProjects([...filteredListOfProjectsByDate].sort(compareAuthorityDesc))); - } else { - dispatch(setListOfFilteredProjects([...filteredListOfProjectsByDate].sort(compareAuthorityAsc))); - } - break; - case 'createdAt': - if (filter.filter.createdAt.order === -1) { - dispatch(setListOfFilteredProjects([...filteredListOfProjectsByDate].sort(compareCreatedAtDateDesc))); - } else { - dispatch(setListOfFilteredProjects([...filteredListOfProjectsByDate].sort(compareCreatedAtDateAsc))); - } - break; - } - } - } - if (filteredListOfProjects !== undefined && filteredListOfProjectsByDate !== undefined) { - const mergedFilteredList = filteredListOfProjects.filter(item1 => - filteredListOfProjectsByDate.some(item2 => item2.id === item1.id) - ); - - switch (priorityOrder[0]) { - case 'name': - if (filter.filter.name.order === -1) { - for (let a = 1; a < mergedFilteredList.length; a++) { - dispatch(setListOfFilteredProjects([...mergedFilteredList].sort(compareNameDesc))); - if (mergedFilteredList[a - 1].title === mergedFilteredList[a].title) { - if (priorityOrder[1] === 'createdAt') { - dispatch(setListOfFilteredProjects([...mergedFilteredList].sort(compareCreatedAtDateDesc))); - } - } - } - dispatch(setListOfFilteredProjects([...mergedFilteredList].sort(compareNameDesc))); - } else { - dispatch(setListOfFilteredProjects([...mergedFilteredList].sort(compareNameAsc))); - } - break; - case 'target': - if (filter.filter.target.order === -1) { - dispatch(setListOfFilteredProjects([...mergedFilteredList].sort(compareTargetDesc))); - } else { - dispatch(setListOfFilteredProjects([...mergedFilteredList].sort(compareTargetAsc))); - } - break; - case 'description': - if (filter.filter.description.order === -1) { - dispatch(setListOfFilteredProjects([...mergedFilteredList].sort(compareDescriptionDesc))); - } else { - dispatch(setListOfFilteredProjects([...mergedFilteredList].sort(compareDescriptionAsc))); - } - break; - case 'targetAccessString': - if (filter.filter.targetAccessString.order === -1) { - dispatch(setListOfFilteredProjects([...mergedFilteredList].sort(compareTargetAccessStringDesc))); - } else { - dispatch(setListOfFilteredProjects([...mergedFilteredList].sort(compareTargetAccessStringAsc))); - } - break; - case 'authority': - if (filter.filter.authority.order === -1) { - dispatch(setListOfFilteredProjects([...mergedFilteredList].sort(compareAuthorityDesc))); - } else { - dispatch(setListOfFilteredProjects([...mergedFilteredList].sort(compareAuthorityAsc))); - } - break; - case 'createdAt': - if (filter.filter.createdAt.order === -1) { - dispatch(setListOfFilteredProjects([...mergedFilteredList].sort(compareCreatedAtDateDesc))); - } else { - dispatch(setListOfFilteredProjects([...mergedFilteredList].sort(compareCreatedAtDateAsc))); - } - break; - } - } - }; - const changePrioOrder = (column, priorityOrder) => { const newPrioOrder = [...priorityOrder]; const withoutColumn = newPrioOrder.filter(item => item !== column); @@ -467,7 +217,7 @@ export const Projects = memo(({}) => { const handleHeaderSort = type => { if (filteredListOfProjects === undefined) { switch (type) { - case 'name': + case 'title': if (sortSwitch === offsetName + 1) { dispatch(setListOfFilteredProjects([...listOfAllProjects].sort(compareNameAsc))); setSortSwitch(sortSwitch + 1); @@ -546,7 +296,7 @@ export const Projects = memo(({}) => { } else { filteredListOfProjects = [...filteredListOfProjects].sort(compareCreatedAtDateDesc); switch (type) { - case 'name': + case 'title': if (filter !== undefined) { const newFilter = { ...filter }; newFilter.priorityOrder = changePrioOrder(type, newFilter.priorityOrder); @@ -556,7 +306,7 @@ export const Projects = memo(({}) => { if (filter !== undefined) { // change radio button in project list filter const newFilter = { ...filter }; - newFilter.filter.name.order = -1; + newFilter.filter.title.order = -1; dispatch(setFilter(newFilter)); } dispatch(setListOfFilteredProjects([...filteredListOfProjects].sort(compareNameAsc))); @@ -565,7 +315,7 @@ export const Projects = memo(({}) => { if (filter !== undefined) { // change radio button in project list filter const newFilter = { ...filter }; - newFilter.filter.name.order = 1; + newFilter.filter.title.order = 1; dispatch(setFilter(newFilter)); } dispatch(setListOfFilteredProjects([...filteredListOfProjects].sort(compareNameAsc))); @@ -587,12 +337,6 @@ export const Projects = memo(({}) => { newFilter.filter.target.order = -1; dispatch(setFilter(newFilter)); } - - for (let a = 1; a < filteredListOfProjects.length; a++) { - if (filteredListOfProjects[a - 1].target.title === filteredListOfProjects[a].target.title) { - //dva riadky maju rovnaký target - } - } dispatch(setListOfFilteredProjects([...filteredListOfProjects].sort(compareTargetAsc))); setSortSwitch(sortSwitch + 1); } else if (sortSwitch === offsetTarget + 2) { @@ -781,7 +525,11 @@ export const Projects = memo(({}) => { dispatch(setListOfFilteredProjects(uniqueArray)); }; - if (filteredListOfProjectsByDate !== undefined) { + if (filteredListOfProjects === undefined) { + filteredListOfProjects = [...listOfAllProjects]; + } + + if (filteredListOfProjectsByDate !== undefined && filteredListOfProjects !== undefined) { filteredListOfProjects = filteredListOfProjects.filter(item1 => filteredListOfProjectsByDate.some(item2 => item2.id === item1.id) ); @@ -847,7 +595,7 @@ export const Projects = memo(({}) => {
- + { /> Name - handleHeaderSort('name')}> + handleHeaderSort('title')}> {[1, 2].includes(sortSwitch - offsetName) ? ( sortSwitch % offsetName < 2 ? ( diff --git a/js/components/projects/projectListSortFilterDialog.js b/js/components/projects/projectListSortFilterDialog.js index 9f58d6775..bfd4a5e8a 100644 --- a/js/components/projects/projectListSortFilterDialog.js +++ b/js/components/projects/projectListSortFilterDialog.js @@ -7,11 +7,18 @@ import ProjectListSortFilterItem from './projectListSortFilterItem'; import WarningIcon from '@material-ui/icons/Warning'; import { makeStyles } from '@material-ui/styles'; import { useDispatch, useSelector } from 'react-redux'; -import { MOL_ATTRIBUTES } from './redux/constants'; +import { PROJECTS_ATTR } from './redux/constants'; import { setFilter } from '../../reducers/selection/actions'; import { Panel } from '../common/Surfaces/Panel'; -import { setSortDialogOpen, setListOfFilteredProjects, setListOfProjects, setDefaultFilter, setListOfFilteredProjectsByDate } from './redux/actions'; +import { + setSortDialogOpen, + setListOfFilteredProjects, + setListOfProjects, + setDefaultFilter, + setListOfFilteredProjectsByDate +} from './redux/actions'; import { debounce } from 'lodash'; +import { compareCreatedAtDateDesc } from './sortProjects/sortProjects'; const useStyles = makeStyles(theme => ({ title: { @@ -44,28 +51,54 @@ const useStyles = makeStyles(theme => ({ }, paper: { width: 490, - overflow: 'none', + overflow: 'none' } })); const widthPrio = 50; const widthOrder = 60; const widthProperty = 170; -const filterData = 160 - +const filterData = 160; export const getAttrDefinition = attr => { - return MOL_ATTRIBUTES.find(molAttr => molAttr.key === attr); + return PROJECTS_ATTR.find(molAttr => molAttr.key === attr); +}; + +const getNestedAttributeValue = (object, attribute, path) => { + if (!path) { + return object[attribute]; + } + + const pathAttributes = path.split('.'); + let attributeValue = object; + for (const pathAttribute of pathAttributes) { + attributeValue = attributeValue[pathAttribute]; + if (attributeValue === undefined) return undefined; + } + return attributeValue; +}; + +export const sortProjects = (projects, filter) => { + let sortedAttributes = filter.sortOptions.map(attr => attr); + return projects.sort((a, b) => { + for (const [attrName, path] of sortedAttributes) { + const order = filter.filter[attrName].order; + const val1 = getNestedAttributeValue(a, attrName, path); + const val2 = getNestedAttributeValue(b, attrName, path); + + if (val1 === val2) continue; + if (order === -1) { + return val1 > val2 ? -1 : 1; + } else { + return val1 < val2 ? -1 : 1; + } + } + return 0; + }); }; export const ProjectListSortFilterDialog = memo( - ({ - filter, - anchorEl, - open, - parentID = 'default', - placement = 'right-start', - }) => { + ({ filter, anchorEl, open, parentID = 'default', placement = 'right-start' }) => { let classes = useStyles(); const dispatch = useDispatch(); const initialize = useCallback(() => { @@ -73,16 +106,17 @@ export const ProjectListSortFilterDialog = memo( active: false, predefined: 'none', filter: {}, - priorityOrder: MOL_ATTRIBUTES.map(molecule => molecule.key) + priorityOrder: PROJECTS_ATTR.map(project => project.key), + sortOptions: PROJECTS_ATTR.map(project => [project.key, project.path]) }; - for (let attr of MOL_ATTRIBUTES) { + for (let attr of PROJECTS_ATTR) { const lowAttr = attr.key.toLowerCase(); initObject.filter[attr.key] = { priority: 0, order: 1, - isFloat: attr.isFloat, + isFloat: attr.isFloat }; } return initObject; @@ -91,17 +125,18 @@ export const ProjectListSortFilterDialog = memo( useEffect(() => { const init = initialize(); setInitState(init); - }, []) + }, []); const [initState, setInitState] = useState(initialize()); - const defaultListOfProjects = useSelector(state => state.projectReducers.listOfProjects); + let defaultListOfProjectsWithoutSort = useSelector(state => state.projectReducers.listOfProjects); + let defaultListOfProjects = [...defaultListOfProjectsWithoutSort].sort(compareCreatedAtDateDesc); filter = filter || initState; const handleFilterChange = useCallback( filter => { const filterSet = Object.assign({}, filter); - for (let attr of MOL_ATTRIBUTES) { + for (let attr of PROJECTS_ATTR) { if (filterSet.filter[attr.key].priority === undefined || filterSet.filter[attr.key].priority === '') { filterSet.filter[attr.key].priority = 0; } @@ -111,7 +146,6 @@ export const ProjectListSortFilterDialog = memo( [dispatch] ); - const handleItemChange = key => setting => { console.log(`handleItemChange attr: ${key} values: ${JSON.stringify(setting)}`); let newFilter = Object.assign({}, filter); @@ -121,11 +155,18 @@ export const ProjectListSortFilterDialog = memo( handleFilterChange(newFilter); }; + const findIndexByKey = key => { + const sortIndex = filter.sortOptions.findIndex(item => item[0] === key); + return sortIndex; + }; + const handlePrioChange = key => inc => () => { const maxPrio = 5; const minPrio = 0; let priorityOrder = filter.priorityOrder; + let sortOptions = filter.sortOptions; const index = filter.priorityOrder.indexOf(key); + const sortIndex = findIndexByKey(key); if (index > -1 && index + inc >= minPrio && index <= maxPrio) { priorityOrder.splice(index, 1); priorityOrder.splice(index + inc, 0, key); @@ -135,21 +176,31 @@ export const ProjectListSortFilterDialog = memo( dispatch(setFilter(newFilter)); handleFilterChange(newFilter); } + if (sortIndex > -1 && sortIndex + inc >= minPrio && sortIndex <= maxPrio) { + const path = sortOptions[sortIndex][1]; + sortOptions.splice(sortIndex, 1); + sortOptions.splice(sortIndex + inc, 0, [key, path]); + let newFilter = Object.assign({}, filter); + newFilter.sortOptions = sortOptions; + newFilter.active = true; + dispatch(setFilter(newFilter)); + handleFilterChange(newFilter); + } }; const handleClearFilter = debounce(() => { dispatch(setDefaultFilter(true)); dispatch(setSortDialogOpen(false)); - dispatch(setListOfFilteredProjects(defaultListOfProjects)); - dispatch(setListOfFilteredProjectsByDate(defaultListOfProjects)); - dispatch(setListOfProjects(defaultListOfProjects)); + dispatch(setListOfFilteredProjects(defaultListOfProjects.sort(compareCreatedAtDateDesc))); + dispatch(setListOfFilteredProjectsByDate(defaultListOfProjects.sort(compareCreatedAtDateDesc))); + dispatch(setListOfProjects(defaultListOfProjects.sort(compareCreatedAtDateDesc))); dispatch(setSortDialogOpen(true)); }); - dispatch(setFilter(filter)); + // Check for multiple attributes with same sorting priority let prioWarning = false; let prioWarningTest = {}; - for (const attr of MOL_ATTRIBUTES) { + for (const attr of PROJECTS_ATTR) { const prioKey = filter.filter[attr.key].priority; if (prioKey > 0) { prioWarningTest[prioKey] = prioWarningTest[prioKey] ? prioWarningTest[prioKey] + 1 : 1; @@ -207,10 +258,9 @@ export const ProjectListSortFilterDialog = memo( property - Filter data + Filter data - {filter.priorityOrder.map(attr => { let attrDef = getAttrDefinition(attr); return ( diff --git a/js/components/projects/projectListSortFilterItem.js b/js/components/projects/projectListSortFilterItem.js index 3ccda2527..ee65a18c8 100644 --- a/js/components/projects/projectListSortFilterItem.js +++ b/js/components/projects/projectListSortFilterItem.js @@ -12,10 +12,23 @@ import { makeStyles } from '@material-ui/styles'; import classNames from 'classnames'; import { useDispatch, useSelector } from 'react-redux'; import { debounce } from 'lodash'; -import { setListOfProjects, setListOfFilteredProjects, setListOfFilteredProjectsByDate } from './redux/actions'; -import DatePicker from "react-datepicker"; -import "react-datepicker/dist/react-datepicker.css"; -import { compareCreatedAtDateDesc} from './sortProjects/sortProjects'; +import { + setListOfProjects, + setListOfFilteredProjects, + setListOfFilteredProjectsByDate, + setSearchName, + setSearchTarget, + setSearchTargetAccessString, + setSearchAuthority, + setSearchDescription, + setSearchDateFrom, + setSearchDateTo +} from './redux/actions'; +import DatePicker from 'react-datepicker'; +import 'react-datepicker/dist/react-datepicker.css'; +import { compareCreatedAtDateDesc } from './sortProjects/sortProjects'; +import moment from 'moment'; +import { sortProjects } from './projectListSortFilterDialog'; const useStyles = makeStyles(theme => ({ centered: { @@ -65,8 +78,7 @@ const useStyles = makeStyles(theme => ({ propertyChip: { fontWeight: 'bolder' }, - dateInputWidth: - { + dateInputWidth: { width: '93px' }, dateFont: { @@ -87,11 +99,11 @@ const gridDateFromInputWidth = 90; const filterDataWidth = 185; let filteredProjectList = []; -let searchNameString = ""; -let searchTargetString = ""; -let searchTargetAccessString = ""; -let searchDescriptionString = ""; -let searchAuthorityString = ""; +let searchNameString = ''; +let searchTargetString = ''; +let searchTargetAccessString = ''; +let searchDescriptionString = ''; +let searchAuthorityString = ''; let filteredProjectListByName = []; let filteredProjectListByTarget = []; @@ -105,7 +117,7 @@ let filteredProjectListDate = []; const ProjectListSortFilterItem = memo(props => { const dispatch = useDispatch(); const { property, onChange, color, onChangePrio, filter, dateFilter } = props; - const { order} = props; + const { order } = props; let classes = useStyles(); @@ -117,253 +129,403 @@ const ProjectListSortFilterItem = memo(props => { const [startDate, setStartDate] = useState(); const [endDate, setEndDate] = useState(); - const [searchString, setSearchString] = useState(""); + const [searchString, setSearchString] = useState(''); - let listOfAllProjectsDefault = useSelector(state => state.projectReducers.listOfProjects); - const filteredListOfProjects = useSelector(state => state.projectReducers.listOfFilteredProjects); + let listOfAllProjectsDefaultWithOutSort = useSelector(state => state.projectReducers.listOfProjects); + let listOfAllProjectsDefault = [...listOfAllProjectsDefaultWithOutSort].sort(compareCreatedAtDateDesc); + let filteredListOfProjects = useSelector(state => state.projectReducers.listOfFilteredProjects); + + const searchName = useSelector(state => state.projectReducers.searchName); + const searchTarget = useSelector(state => state.projectReducers.searchTarget); + const searchDescription = useSelector(state => state.projectReducers.searchDescription); + const searchTargetAccessStringValue = useSelector(state => state.projectReducers.searchTargetAccessString); + const searchAuthority = useSelector(state => state.projectReducers.searchAuthority); + const searchDateFrom = useSelector(state => state.projectReducers.searchDateFrom); + const searchDateTo = useSelector(state => state.projectReducers.searchDateTo); + + const filters = useSelector(state => state.selectionReducers.filter); + + const isActiveFilter = !!(filters || {}).active; + const filterClean = useSelector(state => state.projectReducers.filterClean); let listOfAllProjects = [...listOfAllProjectsDefault].sort(compareCreatedAtDateDesc); useEffect(() => { if (filteredProjectList.length !== 0) { - dispatch(setListOfProjects(filteredProjectList))} - if (resetFilter === true) { - setSearchString(" "); + dispatch(setListOfProjects(filteredProjectList)); + } + if (resetFilter === true) { + setSearchString(' '); + } + }, [filteredProjectListByName, startDate, endDate, searchString, resetFilter]); + + useEffect(() => { + if (isActiveFilter) { + listOfAllProjectsDefault = sortProjects(listOfAllProjectsDefault, filters); + dispatch(setListOfProjects(listOfAllProjectsDefault)); + if (filteredListOfProjects !== undefined) { + filteredListOfProjects = sortProjects(filteredListOfProjects, filters); + dispatch(setListOfFilteredProjects(filteredListOfProjects.sort(compareCreatedAtDateDesc))); } - - },[filteredProjectListByName, startDate, endDate, searchString, resetFilter, searchNameString]); + } + }, [filter]); + + useEffect(() => { + // remove filter data + if (filterClean === true) { + searchNameString = ''; + searchTargetString = ''; + searchTargetAccessString = ''; + searchDescriptionString = ''; + searchAuthorityString = ''; + filteredProjectListByName = []; + filteredProjectListByTarget = []; + filteredProjectListByTargetAccessString = []; + filteredProjectListByDescription = []; + filteredProjectListByAuthority = []; + filteredProjectListByCreatedFrom = []; + filteredProjectListByCreatedTo = []; + filteredProjectListDate = []; + } + }, [filterClean]); + + const onChangeFilterString = (event, property) => { + if (property === 'Name') { + dispatch(setSearchName(event.target.value)); + } else if (property === 'Target') { + dispatch(setSearchTarget(event.target.value)); + } else if (property === 'Target access string') { + dispatch(setSearchTargetAccessString(event.target.value)); + } else if (property === 'Description') { + dispatch(setSearchDescription(event.target.value)); + } else if (property === 'Authority') { + dispatch(setSearchAuthority(event.target.value)); + } - const onChangeFilterString = event => { if (resetFilter === false) { - setSearchString(event.target.value) } - else if (resetFilter === true) { + setSearchString(event.target.value); + } else if (resetFilter === true) { return ProjectListSortFilterItem; - setSearchString(" "); } /* signal to React not to nullify the event object */ onChangeFilterStringDebounce(event.target.value); - } + }; const onChangeFilterStartDate = event => { + const formattedDate = moment(event).format('MM/DD/YYYY'); + const formattedStartDate = event.toISOString(); + dispatch(setSearchDateFrom(formattedDate)); setStartDate(event); - const formattedStartDate = event.toISOString(); + if (filteredListOfProjects === undefined) { - filteredProjectListByCreatedFrom = listOfAllProjects.filter(date => (date.init_date > formattedStartDate)); + filteredProjectListByCreatedFrom = listOfAllProjects.filter(date => date.init_date > formattedStartDate); + } else { + filteredProjectListByCreatedFrom = filteredListOfProjects.filter(date => date.init_date > formattedStartDate); } - else { - filteredProjectListByCreatedFrom = filteredListOfProjects.filter(date => (date.init_date > formattedStartDate)); - } - if (filteredProjectListByCreatedTo.length > 0 && filteredProjectListByCreatedFrom.length > 0 ) { - const filteredListOfProjectsByDate = filteredProjectListByCreatedFrom.filter(item1 => - filteredProjectListByCreatedTo.some(item2 => item2.id === item1.id)) - dispatch(setListOfFilteredProjectsByDate(filteredListOfProjectsByDate)); - } - else { + if (filteredProjectListByCreatedTo.length > 0 && filteredProjectListByCreatedFrom.length > 0) { + const filteredListOfProjectsByDate = filteredProjectListByCreatedFrom.filter(item1 => + filteredProjectListByCreatedTo.some(item2 => item2.id === item1.id) + ); + dispatch(setListOfFilteredProjectsByDate(filteredListOfProjectsByDate)); + } else { filteredProjectListDate = filteredProjectListByCreatedFrom; dispatch(setListOfFilteredProjectsByDate(filteredProjectListDate)); } - } - + }; + const onChangeFilterEndDate = event => { + const formattedEndDate = new Date(event.getTime() - event.getTimezoneOffset() * 779900).toISOString(); + const formattedDate = moment(event).format('MM/DD/YYYY'); + dispatch(setSearchDateTo(formattedDate)); setEndDate(event); - const formattedEndDate = new Date(event.getTime() - event.getTimezoneOffset() * 779900).toISOString(); if (filteredListOfProjects === undefined) { - filteredProjectListByCreatedTo = listOfAllProjects.filter(date => (date.init_date <= formattedEndDate +1)); - } - else { - filteredProjectListByCreatedTo = filteredListOfProjects.filter(date => (date.init_date <= formattedEndDate +1)); + filteredProjectListByCreatedTo = listOfAllProjects.filter(date => date.init_date <= formattedEndDate + 1); + } else { + filteredProjectListByCreatedTo = filteredListOfProjects.filter(date => date.init_date <= formattedEndDate + 1); } - if (filteredProjectListByCreatedTo.length > 0 && filteredProjectListByCreatedFrom.length > 0 ) { + if (filteredProjectListByCreatedTo.length > 0 && filteredProjectListByCreatedFrom.length > 0) { const filteredListOfProjectsByDate = filteredProjectListByCreatedFrom.filter(item1 => - filteredProjectListByCreatedTo.some(item2 => item2.id === item1.id)); - dispatch(setListOfFilteredProjectsByDate(filteredListOfProjectsByDate)); - } - else { + filteredProjectListByCreatedTo.some(item2 => item2.id === item1.id) + ); + dispatch(setListOfFilteredProjectsByDate(filteredListOfProjectsByDate)); + } else { filteredProjectListDate = filteredProjectListByCreatedTo; dispatch(setListOfFilteredProjects(filteredProjectListDate)); } - } + }; -const filterAllData = (value) => { - if (searchNameString !== "" && searchTargetString !== "" && (property === "Name" || property === "Target")) { - let filteredData1 = filteredProjectListByName.filter(item1 => - filteredProjectListByTarget.some(item2 => item2.id === item1.id) - ); - dispatch(setListOfFilteredProjects(filteredData1))} - - if (searchNameString !== "" && searchTargetAccessString !== "" && (property === "Name" || property === "Target access string")) { - let filteredData1 = filteredProjectListByName.filter(item1 => - filteredProjectListByTargetAccessString.some(item2 => item2.id === item1.id) - ); - dispatch(setListOfFilteredProjects(filteredData1))} - - if (searchNameString !== "" && searchDescriptionString !== "" && (property === "Name" || property === "Description")) { - let filteredData1 = filteredProjectListByName.filter(item1 => - filteredProjectListByDescription.some(item2 => item2.id === item1.id) - ); - dispatch(setListOfFilteredProjects(filteredData1))} - - if (searchNameString !== "" && searchAuthorityString !== "" && (property === "Name" || property === "Authority")) { - let filteredData1 = filteredProjectListByName.filter(item1 => - filteredProjectListByAuthority.some(item2 => item2.id === item1.id) - ); - dispatch(setListOfFilteredProjects(filteredData1))} - - if (searchTargetString !== "" && searchTargetAccessString !== "" && (property === "Target" || property === "Target access string")) { - let filteredData1 = filteredProjectListByTarget.filter(item1 => - filteredProjectListByTargetAccessString.some(item2 => item2.id === item1.id) - ); - dispatch(setListOfFilteredProjects(filteredData1))} - - if (searchTargetString !== "" && searchDescriptionString !== "" && (property === "Target" || property === "Description")) { - let filteredData1 = filteredProjectListByTarget.filter(item1 => - filteredProjectListByDescription.some(item2 => item2.id === item1.id) - ); - dispatch(setListOfFilteredProjects(filteredData1))} - - if (searchTargetString !== "" && searchAuthorityString !== "" && (property === "Target" || property === "Authority")) { - let filteredData1 = filteredProjectListByTarget.filter(item1 => - filteredProjectListByAuthority.some(item2 => item2.id === item1.id) - ); - dispatch(setListOfFilteredProjects(filteredData1))} - - if (searchTargetAccessString !== "" && searchDescriptionString !== "" && (property === "Target access string" || property === "Description")) { - let filteredData1 = filteredProjectListByTargetAccessString.filter(item1 => - filteredProjectListByDescription.some(item2 => item2.id === item1.id) - ); - dispatch(setListOfFilteredProjects(filteredData1))} - - if (searchDescriptionString !== "" && searchAuthorityString !== "" && (property === "Description" || property === "Authority")) { - let filteredData1 = filteredProjectListByDescription.filter(item1 => - filteredProjectListByAuthority.some(item2 => item2.id === item1.id) - ); - dispatch(setListOfFilteredProjects(filteredData1))} - - if (searchNameString !== "" && searchTargetString !== "" && searchTargetAccessString !== "" && (property === "Name" || property === "Target" || property === "Target access string")) { - let filteredData1 = filteredProjectListByName.filter(item1 => - filteredProjectListByTarget.some(item2 => item2.id === item1.id) && - filteredProjectListByTargetAccessString.some(item3=> item3.id === item1.id) - ); - dispatch(setListOfFilteredProjects(filteredData1))} - - if (searchNameString !== "" && searchTargetString !== "" && searchDescriptionString !== "" && (property === "Name" || property === "Target" || property === "Description")) { - let filteredData1 = filteredProjectListByName.filter(item1 => - filteredProjectListByTarget.some(item2 => item2.id === item1.id) && - filteredProjectListByDescription.some(item3=> item3.id === item1.id) - ); - dispatch(setListOfFilteredProjects(filteredData1))} - - if (searchNameString !== "" && searchTargetString !== "" && searchAuthorityString !== "" && (property === "Name" || property === "Target" || property === "Authority")) { - let filteredData1 = filteredProjectListByName.filter(item1 => - filteredProjectListByTarget.some(item2 => item2.id === item1.id) && - filteredProjectListByAuthority.some(item3=> item3.id === item1.id) - ); - - dispatch(setListOfFilteredProjects(filteredData1))} - if (searchTargetString !== "" && searchTargetAccessString !== "" && searchDescriptionString !== "" && (property === "Target access string" || property === "Target" || property === "Description")) { - let filteredData1 = filteredProjectListByTarget.filter(item1 => - filteredProjectListByTargetAccessString.some(item2 => item2.id === item1.id) && - filteredProjectListByDescription.some(item3=> item3.id === item1.id) - ); - dispatch(setListOfFilteredProjects(filteredData1))} - - if (searchTargetString !== "" && searchTargetAccessString !== "" && searchAuthorityString !== "" && (property === "Target" || property === "Target access string" || property === "Authority")) { - let filteredData1 = filteredProjectListByTarget.filter(item1 => - filteredProjectListByTargetAccessString.some(item2 => item2.id === item1.id) && - filteredProjectListByAuthority.some(item3=> item3.id === item1.id) - ); - dispatch(setListOfFilteredProjects(filteredData1))} - - if (searchTargetAccessString !== "" && searchDescriptionString !== "" && searchAuthorityString !== "" && (property === "Target access string" || property === "Description" || property === "Authority")) { - let filteredData1 = filteredProjectListByTargetAccessString.filter(item1 => - filteredProjectListByDescription.some(item2 => item2.id === item1.id) && - filteredProjectListByAuthority.some(item3=> item3.id === item1.id) - ); - dispatch(setListOfFilteredProjects(filteredData1))} - - if (searchNameString !== "" && property === "Name" && searchTargetString === "" && searchDescriptionString === "") { - const filteredData1 = listOfAllProjects.filter(item => item.title.toLowerCase().includes(value.toLowerCase())); - dispatch(setListOfFilteredProjects(filteredData1)) - } - if (searchTargetString !== "" && property === "Target" && searchNameString === "" && searchDescriptionString === "") { - const filteredData1 = listOfAllProjects.filter(item => item.target.title.toLowerCase().includes(value.toLowerCase())); - dispatch(setListOfFilteredProjects(filteredData1)) - } - if (searchDescriptionString !== "" && property === "Description" && searchTargetString === "" && searchTargetAccessString === "") { - const filteredData1 = listOfAllProjects.filter(item => item.description.toLowerCase().includes(value.toLowerCase())); - dispatch(setListOfFilteredProjects(filteredData1)) - } - if (searchTargetAccessString !== "" && property === "Target access string" && searchTargetString === "" && searchDescriptionString === "") { - const filteredData1 = listOfAllProjects.filter(item => item.project.target_access_string.toLowerCase().includes(value.toLowerCase())); - dispatch(setListOfFilteredProjects(filteredData1)) - } - if (searchAuthorityString !== "" && property === "Authority" && searchTargetString === "" && searchDescriptionString === "") { - const filteredData1 = listOfAllProjects.filter(item => item.project?.authority.toLowerCase().includes(value.toLowerCase())); - dispatch(setListOfFilteredProjects(filteredData1)) - } - if (searchNameString === "" && searchTargetString === "" && searchDescriptionString === "" && searchTargetAccessString === "" && searchAuthorityString === "") { - const filteredData1 = listOfAllProjects.filter(item => item.project?.authority.toLowerCase().includes(value.toLowerCase())); - dispatch(setListOfFilteredProjects(filteredData1)) - } -} - - - const onChangeFilterStringDebounce = debounce((value) => { - if (property === "Name") { - searchNameString = value; - if (filteredProjectListDate.length > 0) { - filteredProjectListByName = listOfAllProjects.filter(item => item.title.toLowerCase().includes(value.toLowerCase()));} - else { - filteredProjectListByName = listOfAllProjects.filter(item => item.title.toLowerCase().includes(value.toLowerCase())); - } - dispatch(setListOfFilteredProjects(filteredProjectListByName)); + const filterAllData = value => { + if (searchNameString !== '' && searchTargetString !== '') { + let filteredData1 = filteredProjectListByName.filter(item1 => + filteredProjectListByTarget.some(item2 => item2.id === item1.id) + ); + dispatch(setListOfFilteredProjects(filteredData1)); + } + + if (searchNameString !== '' && searchTargetAccessString !== '') { + let filteredData1 = filteredProjectListByName.filter(item1 => + filteredProjectListByTargetAccessString.some(item2 => item2.id === item1.id) + ); + dispatch(setListOfFilteredProjects(filteredData1)); + } + + if (searchNameString !== '' && searchDescriptionString !== '') { + let filteredData1 = filteredProjectListByName.filter(item1 => + filteredProjectListByDescription.some(item2 => item2.id === item1.id) + ); + dispatch(setListOfFilteredProjects(filteredData1)); + } + + if (searchNameString !== '' && searchAuthorityString !== '') { + let filteredData1 = filteredProjectListByName.filter(item1 => + filteredProjectListByAuthority.some(item2 => item2.id === item1.id) + ); + dispatch(setListOfFilteredProjects(filteredData1)); + } + + if (searchTargetString !== '' && searchTargetAccessString !== '') { + let filteredData1 = filteredProjectListByTarget.filter(item1 => + filteredProjectListByTargetAccessString.some(item2 => item2.id === item1.id) + ); + dispatch(setListOfFilteredProjects(filteredData1)); + } + + if (searchTargetString !== '' && searchDescriptionString !== '') { + let filteredData1 = filteredProjectListByTarget.filter(item1 => + filteredProjectListByDescription.some(item2 => item2.id === item1.id) + ); + dispatch(setListOfFilteredProjects(filteredData1)); + } + + if (searchTargetString !== '' && searchAuthorityString !== '') { + let filteredData1 = filteredProjectListByTarget.filter(item1 => + filteredProjectListByAuthority.some(item2 => item2.id === item1.id) + ); + dispatch(setListOfFilteredProjects(filteredData1)); + } + + if (searchTargetAccessString !== '' && searchDescriptionString !== '') { + let filteredData1 = filteredProjectListByTargetAccessString.filter(item1 => + filteredProjectListByDescription.some(item2 => item2.id === item1.id) + ); + dispatch(setListOfFilteredProjects(filteredData1)); + } + + if (searchDescriptionString !== '' && searchAuthorityString !== '') { + let filteredData1 = filteredProjectListByDescription.filter(item1 => + filteredProjectListByAuthority.some(item2 => item2.id === item1.id) + ); + dispatch(setListOfFilteredProjects(filteredData1)); + } + + if ( + searchNameString !== '' && + searchTargetString !== '' && + searchTargetAccessString !== '' && + (property === 'Name' || property === 'Target' || property === 'Target access string') + ) { + let filteredData1 = filteredProjectListByName.filter( + item1 => + filteredProjectListByTarget.some(item2 => item2.id === item1.id) && + filteredProjectListByTargetAccessString.some(item3 => item3.id === item1.id) + ); + dispatch(setListOfFilteredProjects(filteredData1)); + } + + if (searchNameString !== '' && searchTargetString !== '' && searchDescriptionString !== '') { + let filteredData1 = filteredProjectListByName.filter( + item1 => + filteredProjectListByTarget.some(item2 => item2.id === item1.id) && + filteredProjectListByDescription.some(item3 => item3.id === item1.id) + ); + dispatch(setListOfFilteredProjects(filteredData1)); + } + + if (searchNameString !== '' && searchTargetString !== '' && searchAuthorityString !== '') { + let filteredData1 = filteredProjectListByName.filter( + item1 => + filteredProjectListByTarget.some(item2 => item2.id === item1.id) && + filteredProjectListByAuthority.some(item3 => item3.id === item1.id) + ); + + dispatch(setListOfFilteredProjects(filteredData1)); + } + if (searchTargetString !== '' && searchTargetAccessString !== '' && searchDescriptionString !== '') { + let filteredData1 = filteredProjectListByTarget.filter( + item1 => + filteredProjectListByTargetAccessString.some(item2 => item2.id === item1.id) && + filteredProjectListByDescription.some(item3 => item3.id === item1.id) + ); + dispatch(setListOfFilteredProjects(filteredData1)); + } + + if (searchTargetString !== '' && searchTargetAccessString !== '' && searchAuthorityString !== '') { + let filteredData1 = filteredProjectListByTarget.filter( + item1 => + filteredProjectListByTargetAccessString.some(item2 => item2.id === item1.id) && + filteredProjectListByAuthority.some(item3 => item3.id === item1.id) + ); + dispatch(setListOfFilteredProjects(filteredData1)); + } + + if (searchTargetAccessString !== '' && searchDescriptionString !== '' && searchAuthorityString !== '') { + let filteredData1 = filteredProjectListByTargetAccessString.filter( + item1 => + filteredProjectListByDescription.some(item2 => item2.id === item1.id) && + filteredProjectListByAuthority.some(item3 => item3.id === item1.id) + ); + dispatch(setListOfFilteredProjects(filteredData1)); + } + + if ( + searchNameString !== '' && + searchTargetString === '' && + searchDescriptionString === '' && + searchTargetAccessString === '' && + searchAuthorityString === '' + ) { + const filteredData1 = listOfAllProjects.filter(item => + item.title.toLowerCase().includes(searchNameString.toLowerCase()) + ); + dispatch(setListOfFilteredProjects(filteredData1)); + } + if ( + searchTargetString !== '' && + searchNameString === '' && + searchDescriptionString === '' && + searchTargetAccessString === '' && + searchAuthorityString === '' + ) { + const filteredData1 = listOfAllProjects.filter(item => + item.target.title.toLowerCase().includes(searchTargetString.toLowerCase()) + ); + dispatch(setListOfFilteredProjects(filteredData1)); + } + if ( + searchDescriptionString !== '' && + searchTargetString === '' && + searchTargetAccessString === '' && + searchNameString == '' && + searchAuthorityString === '' + ) { + const filteredData1 = listOfAllProjects.filter(item => + item.description.toLowerCase().includes(searchDescriptionString.toLowerCase()) + ); + dispatch(setListOfFilteredProjects(filteredData1)); + } + if ( + searchTargetAccessString !== '' && + searchTargetString === '' && + searchDescriptionString === '' && + searchNameString === '' && + searchTargetAccessString === '' + ) { + const filteredData1 = listOfAllProjects.filter(item => + item.project.target_access_string.toLowerCase().includes(searchTargetAccessString.toLowerCase()) + ); + dispatch(setListOfFilteredProjects(filteredData1)); + } + if ( + searchAuthorityString !== '' && + searchTargetString === '' && + searchDescriptionString === '' && + searchNameString === '' && + searchTargetAccessString === '' + ) { + const filteredData1 = listOfAllProjects.filter(item => + item.project?.authority.toLowerCase().includes(searchAuthorityString.toLowerCase()) + ); + dispatch(setListOfFilteredProjects(filteredData1)); + } + if ( + searchNameString === '' && + searchTargetString === '' && + searchDescriptionString === '' && + searchTargetAccessString === '' && + searchAuthorityString === '' + ) { + const filteredData1 = sortProjects(listOfAllProjects, filters); + dispatch(setListOfFilteredProjects(filteredData1)); + dispatch(setListOfProjects(filteredData1)); + } + }; + + const onChangeFilterStringDebounce = debounce(value => { + if (property === 'Name') { + searchNameString = value; + if (filteredProjectListDate.length > 0) { + filteredProjectListByName = listOfAllProjects.filter(item => + item.title.toLowerCase().includes(value.toLowerCase()) + ); + } else { + filteredProjectListByName = listOfAllProjects.filter(item => + item.title.toLowerCase().includes(value.toLowerCase()) + ); + } + dispatch(setListOfFilteredProjects(filteredProjectListByName)); filterAllData(value); } - if (property === "Target") { + if (property === 'Target') { searchTargetString = value; - if (filteredProjectListDate.length > 0) { - filteredProjectListByTarget = listOfAllProjects.filter(item => item.target.title.toLowerCase().includes(value.toLowerCase()));} - else { - filteredProjectListByTarget = listOfAllProjects.filter(item => item.target.title.toLowerCase().includes(value.toLowerCase())); - } - dispatch(setListOfFilteredProjects(filteredProjectListByTarget)); + if (filteredProjectListDate.length > 0) { + filteredProjectListByTarget = listOfAllProjects.filter(item => + item.target.title.toLowerCase().includes(value.toLowerCase()) + ); + } else { + filteredProjectListByTarget = listOfAllProjects.filter(item => + item.target.title.toLowerCase().includes(value.toLowerCase()) + ); + } + dispatch(setListOfFilteredProjects(filteredProjectListByTarget)); filterAllData(value); } - - if(property === "Target access string") { + + if (property === 'Target access string') { searchTargetAccessString = value; - if (filteredProjectListDate.length > 0) { - filteredProjectListByTargetAccessString = listOfAllProjects.filter(item => item.project.target_access_string.toLowerCase().includes(value.toLowerCase()));} - else { - filteredProjectListByTargetAccessString = listOfAllProjects.filter(item => item.project.target_access_string.toLowerCase().includes(value.toLowerCase())); - } - dispatch(setListOfFilteredProjects(filteredProjectListByTargetAccessString)); + if (filteredProjectListDate.length > 0) { + filteredProjectListByTargetAccessString = listOfAllProjects.filter(item => + item.project.target_access_string.toLowerCase().includes(value.toLowerCase()) + ); + } else { + filteredProjectListByTargetAccessString = listOfAllProjects.filter(item => + item.project.target_access_string.toLowerCase().includes(value.toLowerCase()) + ); + } + dispatch(setListOfFilteredProjects(filteredProjectListByTargetAccessString)); filterAllData(value); } - if(property === "Description") { + if (property === 'Description') { searchDescriptionString = value; - if (filteredProjectListDate.length > 0) { - filteredProjectListByDescription = listOfAllProjects.filter(item => item.description.toLowerCase().includes(value.toLowerCase()));} - else { - filteredProjectListByDescription = listOfAllProjects.filter(item => item.description.toLowerCase().includes(value.toLowerCase())); - } - dispatch(setListOfFilteredProjects(filteredProjectListByDescription)); + if (filteredProjectListDate.length > 0) { + filteredProjectListByDescription = listOfAllProjects.filter(item => + item.description.toLowerCase().includes(value.toLowerCase()) + ); + } else { + filteredProjectListByDescription = listOfAllProjects.filter(item => + item.description.toLowerCase().includes(value.toLowerCase()) + ); + } + dispatch(setListOfFilteredProjects(filteredProjectListByDescription)); filterAllData(value); } - if(property === "Authority") { + if (property === 'Authority') { searchAuthorityString = value; - if (filteredProjectListDate.length > 0) { - filteredProjectListByAuthority = listOfAllProjects.filter(item => item.project?.authority.toLowerCase().includes(value.toLowerCase()));} - else { - filteredProjectListByAuthority = listOfAllProjects.filter(item => item.project?.authority.toLowerCase().includes(value.toLowerCase())); - } - dispatch(setListOfFilteredProjects(filteredProjectListByAuthority)); + if (filteredProjectListDate.length > 0) { + filteredProjectListByAuthority = listOfAllProjects.filter(item => + item.project?.authority.toLowerCase().includes(value.toLowerCase()) + ); + } else { + filteredProjectListByAuthority = listOfAllProjects.filter(item => + item.project?.authority.toLowerCase().includes(value.toLowerCase()) + ); + } + dispatch(setListOfFilteredProjects(filteredProjectListByAuthority)); filterAllData(value); } - },1000); + }, 1000); const handleChangeOrder = e => { const value = parseInt(e.target.value); @@ -416,91 +578,118 @@ const filterAllData = (value) => { - { resetFilter === false ? - filter && ( - - <> - - {dateFilter === true ? ( - - - - Created from - - - onChangeFilterStartDate(event)} - placeholderText='MM/DD/YYYY' - /> + {resetFilter === false + ? filter && ( + <> + + {dateFilter === true ? ( + + + Created from + + + onChangeFilterStartDate(event)} + placeholderText="MM/DD/YYYY" + value={searchDateFrom} + /> + + + + Created to + + + onChangeFilterEndDate(event)} + placeholderText="MM/DD/YYYY" + value={searchDateTo} + /> + - - - - Created to - - - onChangeFilterEndDate(event)} - placeholderText='MM/DD/YYYY' - /> + ) : ( + onChangeFilterString(event)} + key={property} + value={ + property === 'Name' + ? searchName + : property === 'Target' + ? searchTarget + : property === 'Description' + ? searchDescription + : property === 'Target access string' + ? searchTargetAccessStringValue + : property === 'Authority' + ? searchAuthority + : '' + } + > + )} + + + ) + : filter && ( + <> + + {dateFilter === true ? ( + + + Created from + + + onChangeFilterStartDate(event)} + placeholderText="MM/DD/YYYY" + value={searchDateFrom} + /> + + + Created to + + + onChangeFilterEndDate(event)} + placeholderText="MM/DD/YYYY" + value={searchDateTo} + /> + - - ) : - onChangeFilterString(event)} - key={property} - > - } - - - ) - : filter && ( - <> - - {dateFilter === true ? ( - - - - Created from - - - onChangeFilterStartDate(event)} - placeholderText='MM/DD/YYYY' - /> - - - Created to - - - onChangeFilterEndDate(event)} - placeholderText='MM/DD/YYYY' - /> - + ) : ( + onChangeFilterString(event, property)} + key={property} + value={ + property === 'Name' + ? searchName + : property === 'Target' + ? searchTarget + : property === 'Description' + ? searchDescription + : property === 'Target access string' + ? searchTargetAccessStringValue + : property === 'Authority' + ? searchAuthority + : '' + } + > + )} - ) : - onChangeFilterString(event)} - key={property} - > - } - - - ) - } + + )} ); }); diff --git a/js/components/projects/redux/actions.js b/js/components/projects/redux/actions.js index 8705b5fb2..d4837292e 100644 --- a/js/components/projects/redux/actions.js +++ b/js/components/projects/redux/actions.js @@ -34,8 +34,6 @@ export const setAddButton = isOpen => ({ payload: isOpen }); -setAddButton - export const setProjectModalIsLoading = isLoading => ({ type: constants.SET_PROJECT_MODAL_IS_LOADING, payload: isLoading @@ -159,3 +157,51 @@ export const refreshJobsData = () => { type: constants.REFRESH_JOBS_DATA }; }; + +export const setSearchName = searchName => { + return { + type: constants.SEARCH_NAME, + payload: searchName + }; +}; + +export const setSearchTarget = searchTarget => { + return { + type: constants.SEARCH_TARGET, + payload: searchTarget + }; +}; + +export const setSearchTargetAccessString = searchTargetAccessString => { + return { + type: constants.SEARCH_TARGET_ACCESS_STRING, + payload: searchTargetAccessString + }; +}; + +export const setSearchDescription = searchDescription => { + return { + type: constants.SEARCH_DESCRIPTION, + payload: searchDescription + }; +}; + +export const setSearchAuthority = searchAuthority => { + return { + type: constants.SEARCH_AUTHORITY, + payload: searchAuthority + }; +}; +export const setSearchDateFrom = searchDateFrom => { + return { + type: constants.SEARCH_DATE_FROM, + payload: searchDateFrom + }; +}; + +export const setSearchDateTo = searchDateTo => { + return { + type: constants.SEARCH_DATE_TO, + payload: searchDateTo + }; +}; diff --git a/js/components/projects/redux/constants.js b/js/components/projects/redux/constants.js index 9aca7afe8..ddc7cb684 100644 --- a/js/components/projects/redux/constants.js +++ b/js/components/projects/redux/constants.js @@ -39,7 +39,15 @@ export const constants = { SET_SORT_DIALOG_OPEN: prefix + 'SET_SORT_DIALOG_OPEN', SET_FILTER_CLEAN: prefix + 'SET_FILTER_CLEAN', - SET_ADD_BUTTON: prefix + 'SET_ADD_BUTTON' + SET_ADD_BUTTON: prefix + 'SET_ADD_BUTTON', + + SEARCH_NAME: prefix + 'SEARCH_NAME', + SEARCH_TARGET: prefix + 'SEARCH_TARGET', + SEARCH_DESCRIPTION: prefix + 'SEARCH_DESCRIPTION', + SEARCH_AUTHORITY: prefix + 'SEARCH_AUTHORITY', + SEARCH_TARGET_ACCESS_STRING: prefix + 'SEARCH_TARGET_ACCESS_STRING', + SEARCH_DATE_FROM: prefix + 'SEARCH_DATE_FROM', + SEARCH_DATE_TO: prefix + 'SEARCH_DATE_TO' }; export const ProjectCreationType = { @@ -58,22 +66,24 @@ export const SnapshotProjectType = { NOT_ASSIGNED: 'Not assigned to project' }; -export const MOL_ATTR = { +export const PROJECTS_ATT = { createdAt: { - key: 'createdAt', + key: 'init_date', name: 'Created at', isFloat: true, color: '#72e5be', filter: true, - dateFilter: true + dateFilter: true, + path: undefined }, name: { - key: 'name', + key: 'title', name: 'Name', isFloat: true, color: '#daa520', filter: true, - dateFilter: false + dateFilter: false, + path: undefined }, target: { key: 'target', @@ -81,7 +91,8 @@ export const MOL_ATTR = { isFloat: true, color: '#f96587', filter: true, - dateFilter: false + dateFilter: false, + path: 'target.title' }, targetAccessString: { key: 'targetAccessString', @@ -89,23 +100,26 @@ export const MOL_ATTR = { isFloat: true, color: '#ffe119', filter: true, - dateFilter: false + dateFilter: false, + path: 'project.target_access_string' }, description: { key: 'description', name: 'Description', - isFloat: false, + isFloat: true, color: '#f58231', filter: true, - dateFilter: false + dateFilter: false, + path: undefined }, authority: { key: 'authority', name: 'Authority', - isFloat: false, + isFloat: true, color: '#86844a', filter: true, - dateFilter: false + dateFilter: false, + path: 'project.authority' } /*tags: { key: 'tags', @@ -118,4 +132,4 @@ export const MOL_ATTR = { }*/ }; -export const MOL_ATTRIBUTES = Object.values(MOL_ATTR); +export const PROJECTS_ATTR = Object.values(PROJECTS_ATT); diff --git a/js/components/projects/redux/reducer.js b/js/components/projects/redux/reducer.js index 770942942..0908f78d7 100644 --- a/js/components/projects/redux/reducer.js +++ b/js/components/projects/redux/reducer.js @@ -165,8 +165,43 @@ export const projectReducers = (state = INITIAL_STATE, action = {}) => { case constants.SET_ADD_BUTTON: return Object.assign({}, state, { addButton: action.payload }); - - default: + + case constants.SEARCH_NAME: + return Object.assign({}, state, { + searchName: action.payload + }); + + case constants.SEARCH_TARGET: + return Object.assign({}, state, { + searchTarget: action.payload + }); + + case constants.SEARCH_DESCRIPTION: + return Object.assign({}, state, { + searchDescription: action.payload + }); + + case constants.SEARCH_TARGET_ACCESS_STRING: + return Object.assign({}, state, { + searchTargetAccessString: action.payload + }); + + case constants.SEARCH_AUTHORITY: + return Object.assign({}, state, { + searchAuthority: action.payload + }); + + case constants.SEARCH_DATE_FROM: + return Object.assign({}, state, { + searchDateFrom: action.payload + }); + + case constants.SEARCH_DATE_TO: + return Object.assign({}, state, { + searchDateTo: action.payload + }); + + default: return state; } }; diff --git a/js/hooks/useGetJobDefinition.js b/js/hooks/useGetJobDefinition.js index 9b5b4e90a..904c9e5eb 100644 --- a/js/hooks/useGetJobDefinition.js +++ b/js/hooks/useGetJobDefinition.js @@ -3,13 +3,19 @@ import { deepMerge } from '../utils/merge'; // Merges job definitions with fragalysis-jobs definitions const getSchemaDefinition = (configDefinitions, overrideDefinitions) => { - const mergedDefinitions = { ...configDefinitions }; + let mergedDefinitions = { ...configDefinitions }; Object.entries(overrideDefinitions).forEach(([key, overrideDefinition]) => { - let mergedDefinition = mergedDefinitions[key] || {}; + if (overrideDefinition.hasOwnProperty('ignore') && overrideDefinition['ignore'].toLowerCase() === 'true') { + if (mergedDefinitions.hasOwnProperty(key)) { + delete mergedDefinitions[key]; + } + } else { + let mergedDefinition = mergedDefinitions[key] || {}; - // mergedDefinitions[key] = { ...mergedDefinition, ...overrideDefinition }; - mergedDefinitions[key] = deepMerge({ ...mergedDefinition }, { ...overrideDefinition }); + // mergedDefinitions[key] = { ...mergedDefinition, ...overrideDefinition }; + mergedDefinitions[key] = deepMerge({ ...mergedDefinition }, { ...overrideDefinition }); + } }); return mergedDefinitions; diff --git a/js/reducers/ngl/dispatchActions.js b/js/reducers/ngl/dispatchActions.js index c36420e90..830afad77 100644 --- a/js/reducers/ngl/dispatchActions.js +++ b/js/reducers/ngl/dispatchActions.js @@ -97,36 +97,38 @@ export const loadObject = ({ }; export const deleteObject = (target, stage, deleteFromSelections) => dispatch => { - const comps = stage.getComponentsByName(target.name); - comps.list.forEach(component => stage.removeComponent(component)); - - if (deleteFromSelections === true && target && target.selectionType && target.moleculeId) { - const objectId = { id: target.moleculeId }; - switch (target.selectionType) { - case SELECTION_TYPE.LIGAND: - dispatch(removeFromFragmentDisplayList(objectId)); - break; - case SELECTION_TYPE.HIT_PROTEIN: - dispatch(removeFromProteinList(objectId)); - break; - case SELECTION_TYPE.COMPLEX: - dispatch(removeFromComplexList(objectId)); - break; - case SELECTION_TYPE.SURFACE: - dispatch(removeFromSurfaceList(objectId)); - break; - case SELECTION_TYPE.DENSITY: - dispatch(removeFromDensityList(objectId)); - dispatch(removeFromDensityListCustom(objectId, true)); - dispatch(removeFromDensityListType({ id: objectId })); - break; - case SELECTION_TYPE.VECTOR: - dispatch(removeFromVectorOnList(objectId)); - break; + if (stage && target) { + const comps = stage.getComponentsByName(target.name); + comps.list.forEach(component => stage.removeComponent(component)); + + if (deleteFromSelections === true && target && target.selectionType && target.moleculeId) { + const objectId = { id: target.moleculeId }; + switch (target.selectionType) { + case SELECTION_TYPE.LIGAND: + dispatch(removeFromFragmentDisplayList(objectId)); + break; + case SELECTION_TYPE.HIT_PROTEIN: + dispatch(removeFromProteinList(objectId)); + break; + case SELECTION_TYPE.COMPLEX: + dispatch(removeFromComplexList(objectId)); + break; + case SELECTION_TYPE.SURFACE: + dispatch(removeFromSurfaceList(objectId)); + break; + case SELECTION_TYPE.DENSITY: + dispatch(removeFromDensityList(objectId)); + dispatch(removeFromDensityListCustom(objectId, true)); + dispatch(removeFromDensityListType({ id: objectId })); + break; + case SELECTION_TYPE.VECTOR: + dispatch(removeFromVectorOnList(objectId)); + break; + } } - } - dispatch(deleteNglObject(target)); + dispatch(deleteNglObject(target)); + } }; export const checkRemoveFromDensityList = (target, objectsInView) => () => { diff --git a/package.json b/package.json index ad1836460..44f0e1cd7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fragalysis-frontend", - "version": "0.10.183", + "version": "0.10.184", "default_squonk_project": "project-8f32b412-8329-4469-a39c-8581efa93796", "description": "Frontend for fragalysis", "main": "webpack.config.js",