Giter VIP home page Giter VIP logo

beacon-network-ui's People

Contributors

blankdots avatar dependabot[bot] avatar github-actions[bot] avatar sampsapenna avatar teemukataja avatar vimuilu avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

mind-genomics

beacon-network-ui's Issues

Search filter

Description

Beacon2 offers search filtering function.

DoD (Definition of Done)

Beacon2 search filtering is implemented

Testing

E2E tests and peer review

add unit tests

Description

we are lacking in the department of unit tests and we need them

DoD (Definition of Done)

unit test coverage > 50%

Testing

Tests implemented

BeaconV2 listings search

Description

BeaconV2 offers listings of different values. Listings are queried ie. /biosamples/{id}/{Individuals}

DoD (Definition of Done)

Listings can be searched(if backend is implemented)
All relevant visual elements are implemented(if backend is not implemented)

Testing

Peer review and tests

Display information about datasets

Description

Current Datastes view displays only datasets names
image

We need to reflect either on the datasets page or on main page, like:

  • externalUrl
  • description
  • assemblyId
  • variantCount
  • callCount
  • sampleCount

DoD (Definition of Done)

Datasets have richer information

Testing

Peer review

Add beaconV2 advanced search

Description

Update advanced search so it supports beaconV2

DoD (Definition of Done)

V2 beacons can be searched using advanced search

Testing

Peer review

history page improvements

a couple of issues found from the /history page

  • date format is not showing preceding 0's in time, e.g. 10:2:16 23.7.2021 should be 10:02:16 23.7.2021
  • component title has a typo seesion

Searcbar focus on page load

Proposed solution

Set focus to the searchbar when user lands on the page, similarly to search engines.

DoD (Definition of Done)

When page loads, focus is on the search bar. Typing will insert to the searchbar, without the need of clicking on it.

add not found error page

Description

going to http://localhost:8081/cool curently shows empty page.
We need to be able to show a not found page

DoD (Definition of Done)

add not found route and catch when it happens

Testing

unit and integration tests

Profile page

Proposed solution

@juhtornr suggested a profile page, where the UI would display the contents of the ELIXIR access token. This means that the UI wouldn't store any data, only display user data from the session.

Things we can display from the token with current scopes (openid, ga4gh_passport_v1):

  • ELIXIR ID
  • Bona Fide status
  • Dataset permissions

We could also display for example email or name if needed, but this requires the token scopes to be updated.

DoD (Definition of Done)

  • A new user profile view
  • Update privacy policy: state that we don't store any data that is displayed in the user profile page, the data comes directly from ELIXIR and the information only exists in the browser session (client side), and is deleted when logged out or after one hour when the access token expires

Show correct copyright year

Description

image
Currently only 2019 is mentioned as year, show also current year

DoD (Definition of Done)

show Copyright as 2019-2021/2022 (current year)

Testing

Peer Review

BasicSearchV2 cypress test fails

BasicSearchV2.test.ts fails.

   1) Basic Search version 2
       can do a example search:
     AssertionError: Timed out retrying after 4000ms: Expected to find element: `[data-testid="exampleButton"]`, but never found it.
      at Context.eval (http://localhost:8081/__cypress/tests?p=cypress/integration/BasicSearchV2.test.ts:108:12)

  2) Basic Search version 2
       can display results:
     AssertionError: Timed out retrying after 4000ms: Expected to find element: `[data-testid="beacon:5050"]`, but never found it.
      at Context.eval (http://localhost:8081/__cypress/tests?p=cypress/integration/BasicSearchV2.test.ts:114:12)

  3) Basic Search version 2
       can hide results:
     AssertionError: Timed out retrying after 4000ms: Expected to find element: `[data-testid="beacon:5050"]`, but never found it.
      at Context.eval (http://localhost:8081/__cypress/tests?p=cypress/integration/BasicSearchV2.test.ts:119:12)

  4) Basic Search version 2
       generates search history:
     AssertionError: Timed out retrying after 4000ms: Expected to find element: `[data-testid="historyButton"]`, but never found it.
      at Context.eval (http://localhost:8081/__cypress/tests?p=cypress/integration/BasicSearchV2.test.ts:135:12)

Example query buttons

Add try this buttons to HomeTabs "how to" section's examples that insert the example query to the search bar.

Update result tiles to support beaconV2 responses

Description

Update result tiles to support beaconV2 responses

DoD (Definition of Done)

Beacon V2 responses are visible in a similar manner to beacon V1 results

Testing

Peer review and/or e2e tests if gh actions builds V2 beacon

inconsistencies between Listing search and other search views

Description

Listing Search is missing links to Advanced Search and Basic Search whilst the other 2 have links to it.

image

image

but none in Listing search:

image

Only has Return to previous page

DoD (Definition of Done)

Add links in Listing search to to Advanced Search and Basic Search or make them consistent to be able to switch between search options

Testing

Peer review

Dockerfile

Create a Dockerfile that builds an image with node 14, because OpenShift goes only up to 12

Display Message when there are no results

We should display a message when there are no results from the query.
Also maybe disable filters as there is nothing to show, or style it differently so that it make more sense having that Filter results with Hits there ?

Code coverage conflict

Description

Cypress and Jest coverages are in conflict and therefore cypress code coverage doesn't work

DoD (Definition of Done)

Cypress code coverage works

List available datasets in main page

Proposed solution

It would be nice if we would a view in main page that would list the datasets available in the whole network. This would showcase the datasets for the user. The list of datasets available in each Beacon should be in info endpoint.

DoD (Definition of Done)

This would be an extension to the current main page.

Testing

Make basic search more lax

Proposed solution

Currently basic search term has strict form requirement

CHR : START REF > ALT

Make it more lax, so that the spaces are not required, e.g.

CHR:STARTREF>ALT

DoD (Definition of Done)

Basic search term accepts more or less whitespace around operators.

Testing

Unit tests.

install and build for production

Description

Identified in #91

Not all packages are required when building the production version of the UI for this reason we would like to use

npm install --production
npm build --production

Packages need to be categorised correctly for prod and development

DoD (Definition of Done)

Docker image contain new commands for building for production and documentation is updated

Testing

Peer review

Add Dockerfile build as github action test

Description

Continuation of #91
We need to make sure docker file image can still be built on changes either create a separate github action to it or add it as part of e2e tests

DoD (Definition of Done)

Docker file for UI is tested that it can build properly

Testing

Peer review

Other assembly

Give the assembly ID selector a possibility to input a custom assembly.

The UI can support the most common assemblies, but users might want to query with an assembly that we haven't included.

Accessibility improvements: keyboard navigation

Currently some elements are unreachable without using the cursor. Fix all elements, such as that they are reachable with keyboard.

Things that are not reachable without a mouse (this list is not exhaustive)

  • Example variant query
  • Example range query
  • Advanced search (and basic search) buttons

wrap text if line is too long in responses

In the responses view, base-sequences can be very long, and if they are, the table will overflow out of the screen, and the AC and AF numbers are not visible.

Make the base sequence text wrap to new lines instead of overflowing over the edge of the screen.

Fix footer positioning on short pages

Description

Footer positioning on short pages, that have little content does not go to the bottom.

image

We want the footer to stick to the bottom indifferent of the content in the page

DoD (Definition of Done)

Footer is positioned in the bottom of the page

Testing

Peer review

Error results

Proposed solution

Don't hide errored Beacons in /results, display them with an error tag instead and maybe some information, for example with a similar button to results: Display errors.

Beacon v2 search functionality visual elements

Description

Add all relevant visual elements for beacon v2 search functionality.

DoD (Definition of Done)

All the relevant visual features are implemented.
Implement /g_variant query

Testing

Unit tests if possible

display nothing when number is 0 or null

In the responses view, if received variant count and frequency are 0 or null, display nothing instead of 0.

Apparently 0 is a misleading number when it comes to variant statistics, and "nothing" is better.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.