Skip to content
Snippets Groups Projects
This project is mirrored from https://*****:*****@github.com/Ensembl/ensembl-client. Pull mirroring updated .
  1. Mar 05, 2025
    • Andrey Azov's avatar
      Update dependencies · 18b82793
      Andrey Azov authored
      Notable updates:
      - Typescript updated to 5.8.2
      - React router updated to 7.2.0
      - Babel loader updated from v.9 to v.10
      - Copy-webpack-plugin updated from v.12 to v.13
      18b82793
  2. Feb 21, 2025
    • Andrey Azov's avatar
      Add navigation from genome browser to regulatory activity viewer (#1203) · 2d93d204
      Andrey Azov authored
      - Add a provisional navigation button to gene&transcript zmenus in the genome browser
         that takes user to the regulatory activity viewer preserving the location
      Notes:
        - So far, the gene used for navigation from the genome browser does not become focused in regulatory activity viewer
          (the focusing on features in regulatory activity viewer is not yet fully developed)
        - As with regulatory activity viewer in general, the button will be hidden in production until we are ready to go live
  3. Feb 20, 2025
    • Andrey Azov's avatar
      Add gene expression level indicators with mock data (#1202) · 6132b5e4
      Andrey Azov authored
      - Added gene expression indicators (to the right of epigenome activity visualisation), currently displaying mock data.
        In the future, this should only show up if a gene has been selected.
      - Added the genome namespace to url paths (e.g. /activity-viewer/genome/grch38).
        This does not quite follow url convention used for other pages, where genome id follows immediately
        after the name of the 'app'; but Regulation team feels strongly that regulatory data should be accessible not just by
        providing a genome id; and for now, this seems to be a decent compromise
      - If no filters are selected, regulatory activity viewer now shows the full list of epigenomes instead of
        showing none
      - When the "Configure" button in the main section of the page is pressed, the sidebar changes its contents to
         'region activity' view.
  4. Feb 15, 2025
  5. Feb 13, 2025
    • Andrey Azov's avatar
      Read the `location` url parameter to display regulatory activity data (#1201) · 2fbc4f63
      Andrey Azov authored
      - Fetching regulatory activity data based on the `location` url parameter
      - Added an interstitial screen — very primitive so far; just shows example locations for reference human and mouse
      - Reshuffled the buttons in the middle of the screen ("Configure" now moved to the right),
         and changed text in one of them ("Epigenomes" replaced with "Table")
      - Added the "Configure" button to the sidebar (in the "Region activity" view)
      - If user selects a location in RegionOverview while the bottom of the page shows the epigenomes table,
         the view automatically changes to regulatory activity visualisation
  6. Feb 10, 2025
    • Andrey Azov's avatar
      Activity viewer metadata sort (#1200) · 265221cf
      Andrey Azov authored
      - Added the sorting of epigenomes based on the values of their metadata.
        - Sorting is done based on the list of sortable dimensions that is sent by the api.
        - Users are allowed to change the sorting order of epigenomes through the "actions" dropdown
        - Epigenomes are marked with colour labels that represent the dimensions they were sorted by
      - Moved the selection of dimensions by which epigenomes can be combined into the "actions" dropdown
  7. Feb 04, 2025
  8. Jan 31, 2025
    • Andrey Azov's avatar
    • Andrey Azov's avatar
      Add genome-based routing to regulatory activity viewer (#1197) · ef8ec024
      Andrey Azov authored
      Logic implemented in this commit:
      
      If there is no genome id suggested by the url (e.g. ensembl.org/activity-viewer)
        If active genome id exists (in redux)
          Update url to reflect active genome id
        If active genome id does not exist
          If there are some selected species
            Make the first selected species' genome id into an active one
            Update url to reflect new active genome id
      If genome id (or tag) exists in the url:
        Send the url part that contains genome id (or genome tag) to metadata api to check whether it is valid
        Read genome id from the api response
        If genome id in the response is different from the current active genome id
          Update active genome id
  9. Jan 30, 2025
    • Andrey Azov's avatar
      Adding a check requiring that supported browsers have new array methods (.toSorted, etc.) · ebe2f2e4
      Andrey Azov authored
      The list of supported browsers, per browserlist setting in package.json, is:
      "> 1% and last 2 versions", "not dead".
      
      This results in the following list of browsers:
      and_chr 131
      chrome 131
      chrome 130
      edge 131
      edge 130
      firefox 132
      ios_saf 18.1
      samsung 26
      
      The resulting bundles lack polyfills for new array methods, such as .toSorted.
      Since I've been seeing in Sentry occasional errors due to the missing toSorted method,
      I am adding a check for this method to the list of checks of user's browser support.
      ebe2f2e4
  10. Jan 27, 2025
  11. Jan 24, 2025
    • Andrey Azov's avatar
      Add epigenome activity visualisation, and switch from mock data to data... · 3735cb65
      Andrey Azov authored
      Add epigenome activity visualisation, and switch from mock data to data fetched from backend apis (#1195)
      
      - Added visualisation of epigenome activity
      - Switched from using mock data to fetching the data from the backend apis
        -Deleted the mock data files that are no longer in use
      - Moved the logic for dealing with ids (genome id, assembly accession id, etc.) into a dedicated context.
      - Moved the logic for dealing with epigenomes (fetching the list of base genomes, fetching epigenome metadata,
         filtering epigenomes based on the selected metadata) into a dedicated context.
  12. Jan 07, 2025
  13. Jan 02, 2025
  14. Dec 23, 2024
  15. Dec 20, 2024
    • Andrey Azov's avatar
      Minor dependencies' update · ab26d4a0
      Andrey Azov authored
      Updated react-router from version 7.0 to version 7.1
      ab26d4a0
    • Andrey Azov's avatar
      Update dependencies (#1190) · 687b8706
      Andrey Azov authored
      Notable updates:
      - React updated from v.18.3 to v.19
        - Types for refs seem to have been updated. For mutable refs, null is now explicit in the types.
           This required updates to the code
        - Removed all instances of using forwardRef as it has become deprecated
      - Removed the react-spring (@react-spring/web) library, because we practically never used it.
  16. Dec 17, 2024
  17. Dec 13, 2024
    • Andrey Azov's avatar
      Add epigenome selection in Regulatory activity viewer (#1188) · f5f9b916
      Andrey Azov authored
      - When user starts interacting with regulatory activity viewer, he should see a list of pre-selected epigenomes
         if it is provided by the backend
      - User should be able to select other epigenomes. The selector (lists of checkboxes) appears as a modal dialog
         popup upon a click on the "Configure" button.
        - Checkboxes act as filters for epigenomes. Within a single list of checkboxes (a metadata dimension),
           selection of different checkboxes acts as a logical "OR" operator. Selecting checkboxes from different lists 
           (i.e. from different metadata dimensions) acts as a logical "AND" operator.
      - The ticked selection criteria for epigenomes (filters) will appear in the sidebar, where they can be deleted.
      - Selected epigenomes are displayed in the table at the bottom of the screen
      - Some of the metadata dimensions of an epigenome can be used to "combine" the epigenomes.
         Currently, this is done by clicking appropriate table column headings.
      
      Other changes
      - This PR also introduces a new component — CollapsibleSection, which seems to be better suited
         than the Accordion component for showing and hiding elements in the sidebar
  18. Dec 06, 2024
  19. Dec 04, 2024
    • Andrey Azov's avatar
      Use the Node server to serve robots.txt and a Google site verification html · bc42d962
      Andrey Azov authored
      - Added a dedicated SEO router to handle requests for robots.txt
        and for a dedicated html file with Google site ownership verification code
      - Added a 'static-files' directory in the src/server directory
        for the static files such as robots.txt and the google verification code
      - Updated webpack config to copy the static files where the built server code
        can find them.
      bc42d962
  20. Dec 02, 2024
    • Andrey Azov's avatar
      Add fix for IndexedDB · b0eff740
      Andrey Azov authored
      We've been seeing the problem that IndexedDB becomes inaccessible
      right after a db version bump.
      
      The problem is almost certainly caused by a concurrent instance
      of the app running in another browser tab, and being connected to IndexedDB,
      which will prevent IndexedDB from upgrading, and in fact will leave the running code
      in a broken state.
      
      This commit adds logic for handling scenarios when a tab with an older db version
      is blocking another tab from db upgrade.
      b0eff740
  21. Nov 26, 2024
  22. Nov 25, 2024
    • Andrey Azov's avatar
    • Andrey Azov's avatar
      Prevent tabbing into the closed drawer · c703783e
      Andrey Azov authored
      By adding the 'inert' attribute to the drawer when it is closed,
      prevent accidentally reaching it with the tab key.
      
      Similarly, add the 'inert' attribute to the main area of the standard layout
      when the drawer is opened to prevent escaping from the drawer into the main area.
      c703783e
    • Andrey Azov's avatar
      Refactor checkboxes to make them more accessible (#1186) · a3d5b7a8
      Andrey Azov authored
      The old Checkbox component was split into two:
      - A new Checkbox component that is just a wrapper over the native browser input element and adds styles to it.
         The programmatic interface for the Checkbox component is the same as for the native input element
         Notably, the onChange callback now receives a DOM event, like a regular input's change handler does
      - The CheckboxWithLabel component, which has the same programmatic interface as the old Checkbox component
         Note that the onChange callback for this component receives a boolean, like the old Checkbox component did.
         This is for convenience of not having to extract the checked value from the input that is the target of the event.
      The styling of the Checkbox component has been updated such that it no longer hides the native input element
      with the display:none CSS rule. It was this CSS rule that made the input inaccessible via keyboard navigation.
  23. Nov 24, 2024
  24. Nov 23, 2024
    • Andrey Azov's avatar
      Update dependencies (#1187) · 5ba2d2a9
      Andrey Azov authored
      Notable changes:
      - typescript updated from v.5.6 to v.5.7
      - react-router updated from v.6 to v.7
        - no real changes seem to have been required in our code, except that react-router-dom/server module
           no longer seems to exist; so StaticRouter has to be imported directly from react-router-dom
      - minor updates to webpack configs (the [hash] placeholder in webpack templates has been renamed to [fullhash])
  25. Nov 22, 2024
  26. Nov 18, 2024
    • Andrey Azov's avatar
      Add notifications support to CommunicationPanel (#1163) · 1539b629
      Andrey Azov authored
      Up until now, the CommunicationPanel (the panel that slides from the right upon click on the conversation icon)
      only showed the "Contact Us" form. This PR adds the capability to show notifications ("Messages").
      
      The proper, long-term architecture for notifications is unclear.
      For now, the requirement is only to show one notification ("welcome to beta, etc."),
      which automatically opens the communication panel if the user hasn't seen it.
      If the user simply closes the panel or clicks on the "use beta" button, the notification remains accessible
      (shows up as a green dot next to the conversation icon). If the user chooses to "clear the message",
      it disappears completely.
  27. Nov 15, 2024
    • Andrey Azov's avatar
      Update the display of transcription start sites (#1185) · afe93db0
      Andrey Azov authored
      - Slightly modify the appearance of the arrows that represent transcription start sites (slightly more compact size)
      - Join transcription start site arrows into a single one if they are close together.
         Show several vertical branches of those joined arrows (to mark the actual positions of the start sites),
         if they can be resolved
      - Display transcription start sites in the region in detail view (in the bottom)
  28. Nov 08, 2024
  29. Nov 06, 2024
    • Andrey Azov's avatar
      Update social media links (#1184) · 3b9cd786
      Andrey Azov authored
      - Extracted a group of social media links into a dedicated component
      - Use the SocialMediaLinks component in the footer on the Home page; on the About page;
         and in the ContactUs tab of the communications panel
      - Added a base CSS layer, so that the CSS rules that are declared as part of the components layer
         do not get overridden by the regular (non-layered) styles
      - Updated a label on the VEP page (Variant effect predictor -> Variant Effect Predictor)
  30. Nov 05, 2024
    • Andrey Azov's avatar
      Update dependencies (#1183) · abb78d09
      Andrey Azov authored
      - Updated Node version to the latest LTS (20.9.0 -> 22.11.0)
      - Updated Express to the new major version (4.21.0 -> 5.0.1).
         The only change that was required was a change of a route notation (app.get('*', ...) 
         had to change to app.get('*splat', ...))
      - A bump of the version of mock service worker required an update to the jsdom environment
        (apparently, msw now tries to access the BroadcastChannel global)
  31. Nov 03, 2024
    • Andrey Azov's avatar
      Allow selection of a region detail in regulatory activity viewer (#1182) · cf1865a8
      Andrey Azov authored
      - By clicking on and dragging across the region overview, it is possible to select a subregion
         that shows up in the region details panel below
      - The cursor over the svg changes its shape to suggest that a subregion can be selected
      - Features (including their fragments) that are outside the selected subregion are greyed out
         in the RegionOverview panel. The greyed-out features are not interactive, and do not respond to mouse hover
         or to clicks
      - RegionOverview shows gene extents (dashed lines to either side of a transcript if the transcript is shorter
         than the gene itself)
      - Allow display of multiple transcription start sites
      - Show a popup ('zmenu"), upon a click on a gene in region overview
      - Add inert areas outside the selection in region overview, so that if you click or mouse over a feature
         outside the selected area in the region overview, nothing happens
  32. Oct 28, 2024
  33. Oct 25, 2024
    • Andrey Azov's avatar
      Add regulatory activity viewer (initial stages) (#1181) · 7c63fe5a
      Andrey Azov authored
      The changes in this commit contain:
      
      - A page for regulatory activity viewer, and a launchbar button (with a provisional icon) hidden in production
      - A RegionOverview component in the upper part of the page, which shows genes and regulatory features
         in a given location
      - A RegionDetail component under RegionOverview, which will display the contents of the selected area.
      - The sidebar, displaying a list of genes in the region, and a colour legend for regulatory features.
  34. Oct 18, 2024
  35. Oct 16, 2024