Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

📦 atlas-react-fetch-loader 💬 Update dependencies #9

Merged

Conversation

alfonsomunozpomer
Copy link
Member

No description provided.

@alfonsomunozpomer alfonsomunozpomer merged commit d653b09 into master Dec 18, 2019
@alfonsomunozpomer alfonsomunozpomer deleted the atlas-react-fetch-loader/update-dependencies branch December 18, 2019 16:22
alfonsomunozpomer pushed a commit that referenced this pull request Mar 5, 2020
* Added react-select and updated dependencies.

* Replaced k value HTML select box with a React Select component. Added metadata options to the dropdown, with grouping for options in the dropdown. Changed event handling such that the colour by option category is taken into account, and the API request URL changes accordingly. Added metadata values to Demo.js.  Some parts of the code are still WIP.

* Extracted select box into its own separate component. Replaced perplexity dropdown with the react-select one to make the UI more consistent.

* Added PlotSettingsDropdown component. Added selection of default value for the two dropdown boxes. Swapped the series colours around so that similar colours are further away from each other.

* Removed unused props and imports.

* Added default value for selectColourByCategory variable. Removed k-related props and state variables from Demo.js.

* Added dependency on styled components. Added the same dropdown icon as the faceted search component, to maintain consistency across the application.

* Changed styling to wide format, to match the SC web app. Fixed failing tests and updated snapshots.

* Added some tests for PlotSettingsDropdown. Added some conditional formatting and an additional proptype.

* Modified option formatting code to take a label, as well as a value.

* Changed height of chart to match what is displayed in the web app. Enabled legend and positioned it at the top of the plot. Changed the tooltip to say cluster name rather than ID.

* Fixed issue where tooltip was being cut off on the right side of the plot. Added CSS to override overflow rules for svgs.

* Fixed failing test. Updated snapshots.

* Moved legend to the bottom of the plot. Removed unnecessary CSS rule.

* Slighly increased tooltip width.

* Changed align property to American spelling.

* Small changes following code review.
alfonsomunozpomer added a commit that referenced this pull request Mar 5, 2020
* Initial commit

* Update README.md

* Remove stubs

* Add test config for Travis and Coveralls

* Add SeriesMapper Contains two functions that generate closures to colourize a Highcharts series object of the form `{x, y, name, {...metadata}}` according to either an array of names (dimming the series whose names aren’t present in the array) or to an expressionLevel field in each point.

* Enable support for Coveralls

* Add main UI component

* WIP notes

* Add status badges

* Fix test so that at least one series is randomly highlighted

* Add static assets to bypass EBI outages

* Add file-loader and babel-polyfill to make it all work with webpack-dev-server

* Fix _colourizeExpressionLevel and make tests stricter

* Add seedrandom to seed Math.random() We want it to create reproducible tests, specifically for snapshots

* Parameterize _colourizeExpressionLevel with lightness as well as hue

* Abstract this component from React Router; provide all Highcharts plotOptions and add more presentation-related props Remove all references to params, queryString and URI. The previous merge of plotOptions overwrote the field, so we need to provide it in its entirety. Change endpoint for gene expression plot to display clusters. Add props to make colours configurable.

* v0.1.0

* Moved RandomSeriesGenerator to a separate package, used by expression-atlas-tsne-plot for testing

* Renamed MathRound10 to MathRound

* ES6-ify webpack.config.js somewhat

* Update dependencies; add dev script to run webpack-dev-server locally

* Add components from scxa-tsne-plot Move the fetch logic to the top-level parent, as we can get all the data we need with a single request

* Add reference plot component It packs the series mapper and all the Highcharts additional config needed

* Add gene expression plot component Requires min and max fields in the payload to display a gradient bar to the right when a gene is selected

* Series mappers have been refactored in their components

* Replace ExperimentPageView with TSnePlotView It’s going to be one view of potentially many; first working implementation

* Add/Fix mocks

* Export TSnePlotView instead of ExperimentPageView

* Fix tests to match the new series mappers

* Demo component allows setting the highlighted clusters

* Add boilerplate from atlas-package and update dependencies

* v1.0.0

* Add more tests from scxa-tsne-plot

* Move fetch-mock to devDependencies

* v1.0.1

* Fix k prop in ClusterTSnePlot: it should be a number

* v1.0.2

* Add callback props to change URL when view is included in a Route

* Merge branch 'master' of https://github.com/gxa/scxa-experiment-page-tsne-plot-view

* Merge branch 'master' of https://github.com/gxa/scxa-experiment-page-tsne-plot-view

* Add key to top-level tag in array

* Refactor handleChange; make ks and perplexities numbers everywhere

* v1.2.0

* Remove prefix from legend items

* v1.2.1

* Move perplexity selection to the left of k

* v1.2.2

* Transform highlightClusters to a string to match highlighted series names

* v1.3.0

* Make TSnePlotView dumber: pull state to props and let parent manage it

* v1.4.0

* TSnePlot components extract a reasonable value to the parent fromt he event

* v1.5.0

* Update snapshots

* v1.5.1

* v1.6.0

* Add titles to charts and change perplexity label

* Show gene expression in all clusters, even the non-highlighted ones

* v1.6.1

* Replace Gradient with a multi-stop linear gradient that accepts any number of colours

* Expression level coloruing supports a gradient with any number of colour stops

* Fix tests for new multi-stop-gradient colourizer

* Parse clusters as integers

* Update dependencies

* v1.7.0

* New MultiStopGradient replaces LinearGradient It allows for multiple ranges of variable width to be defined [Finishes #152439503]

* Fix placement of minimum and maximum ticks

* Let the back end do the job of not providing a value if none should be provided

* Expression level is optional [#152439503]

* Add a showTicks prop [#152439503]

* v1.8.0

* Split and rename tests to go hand in hand with their components

* Fix bug clusters weren’t dimmed: remove unnecessary params

* v1.9.0

* Replace magic number with a meaningful constant

* Pass right arguments to _colourizeExpressionLevel

* v1.10.0

* Fix dumb typo

* v1.11.0

* Task 152750441 (#1)

* Updated package-lock.json file.

* Fixed bug where gradient bar was not being displayed. [#152750441]

* Changed Tick component to allow creation of labels on both sides of the gradient bar. Min and max expression levels are now displayed on the left side of the gradient bar. [#152750441]

* Changed the colour of 0 expression level points in scatter plot to light grey. [#152750441]

* Changed positioning of tick labels to handle longer numbers and added padding. [#152750441]

* Added support for loading CSS modules in the the webpack config.

* Added additional config to webpack file to produce separate CSS files.

* Extracted inline styles and moved them to an external CSS module.

* Added the styles.css file to the index.html file.

* Fixed TSne plot test for lowest expression value. Added test for points with 0 expression level value.

* Added support for CSS modules in Jest.

* Added tests for MultiStopGradient component. Testing snapshot and min and max ticks. [#152750441]

* Refactored tests and extracted common utility functions into separate file.

* Added snapshot tests for ClusterTSnePlot and GeneExpressionTSnePlot components. Changed apostrophes and semicolons to improve consistency.

* Removed flaky test for lowest expression level point.

* Changed comparison following code review to account for genes only being expressed in a single cell.

* 1.12.0

* 1.12.1

* Update webpack.config.js

* Only draw min tick if minimumm is lower than maximum Fixes drawing the tick twice if only one value is received

* Don’t draw legend unless one point with expression is received in the payload

* Min and max ticks are drawn over legend ticks (i.e. they have a higher z-index value) Simplifiy markup

* Update tests

* Remove styles mock file We don’t need it because we’re using identity-obj-proxy

* 1.13.0

* Remove ExtractTextPlugin and bundle CSS within the bundles

* 1.13.1

* Instead of the colour/class hack, provide label colours in the CSS

* 1.13.2

* Update snapshots

* Move away from Yarn

* 1.13.3

* Task 156308788 (#2)

* Added speciesName prop to components which is passed to the AtlasAutocomplete component. [#156308788]

* Added speciesName to Demo page.

* Updated AtlasAutocomplete version number in package.json file.

* Streamline publishing new versions of the package

* 1.14.0

* Update build badges

* Fixed perplexity array sorting to compare integers rather than sorting lexicographically. Replaced gxa_sc with scxa. Changed default perplexity to be the middle element in the perplexity array. (#3)

* 1.15.0

* Feature/155186331 read cluster files (#4)

* Change default example to our new SC poster child experiment

* Make separate requests for gene expression and cell clusters

* Remove legend and set the same symbol shape for all series in both charts; add a wider colour palette for clusters

* Change name of component to match name of file
ebi-gene-expression-group/scxa-experiment-page-tsne-plot-view#4

* Renamed parameters to be more explicit about their purpose
ebi-gene-expression-group/scxa-experiment-page-tsne-plot-view#4

* Fix tests after change of parameter

* 1.16.0

* Update dependencies to latest versions

* Fix vulnerability in hoek reported by GitHub

* Fix mocks and tests for the latest version of (React) Highcharts

* 2.0.0

* Remove attribution from loading flask icon I bought it for the benefit of humanity and the Gene Expression Group!

* 2.0.1

* Merge branch 'master' of https://github.com/ebi-gene-expression-group/scxa-experiment-page-tsne-plot-view

* 2.0.2

* Update snapshots and package-lock.json

* Feature #156538205 - Add metadata to plot tooltip (#5)

* Added first implementation of async retrieval of tooltip content. Added input box for experiment accession to demo page.

* Changed tooltip function to handle a list of metadata objects. Split tooltip text into header (cell and cluster ID) and metadata.

* Updated snapshots.

* Removed unused function.

* 2.1.0

* Expose props to modify the layout of the main elements

* 2.2.0

* Remove wrapperClassName prop which was wrongly passed but not used

* Wrap all in row/small-12 columns to make padding left and right equal

* 2.2.1

* Fixed highlight series functionality. Improved error handling for metadata tooltip.

* 2.2.2

* Fixed failing tests.

* Update dependencies

* Change demo to use more standard parameters

* 2.3.0

* Simplify scripts, use npx when necessary

* 2.3.1

* A hacky bad way to avoid the error from happening (#6)

* A hacky bad way to avoid the error from happening
This is the best I can think of in the interest of time. Will do a
dynamic gradient with automatic ranges if I have time!

* Update snapshots

* 2.3.2

* <br> tags doesn’t have a closing tag

* Make gene expression tooltip consistent with cluster plot tooltip

* Fix warning message emitted by test, required prop wasn’t set

* Comment out console log messages

* 2.3.3

* 2.3.4

* Merge branch 'master' of https://github.com/ebi-gene-expression-group/scxa-experiment-page-tsne-plot-view

* 2.3.5

* Feature #156538237 - Add colouring by metadata (#9)

* Added react-select and updated dependencies.

* Replaced k value HTML select box with a React Select component. Added metadata options to the dropdown, with grouping for options in the dropdown. Changed event handling such that the colour by option category is taken into account, and the API request URL changes accordingly. Added metadata values to Demo.js.  Some parts of the code are still WIP.

* Extracted select box into its own separate component. Replaced perplexity dropdown with the react-select one to make the UI more consistent.

* Added PlotSettingsDropdown component. Added selection of default value for the two dropdown boxes. Swapped the series colours around so that similar colours are further away from each other.

* Removed unused props and imports.

* Added default value for selectColourByCategory variable. Removed k-related props and state variables from Demo.js.

* Added dependency on styled components. Added the same dropdown icon as the faceted search component, to maintain consistency across the application.

* Changed styling to wide format, to match the SC web app. Fixed failing tests and updated snapshots.

* Added some tests for PlotSettingsDropdown. Added some conditional formatting and an additional proptype.

* Modified option formatting code to take a label, as well as a value.

* Changed height of chart to match what is displayed in the web app. Enabled legend and positioned it at the top of the plot. Changed the tooltip to say cluster name rather than ID.

* Fixed issue where tooltip was being cut off on the right side of the plot. Added CSS to override overflow rules for svgs.

* Fixed failing test. Updated snapshots.

* Moved legend to the bottom of the plot. Removed unnecessary CSS rule.

* Slighly increased tooltip width.

* Changed align property to American spelling.

* Small changes following code review.

* 3.0.0

* 4.0.0

* Revert "4.0.0" due to accidentally publishing the package twice.

This reverts commit 4c9f8ad64972e091116a694fa75cbc6f9f8c9443.

* Remove ununsed file.

* Replaced componentWillReceiveProps with componentDidUpdate as the first lifecycle method will be deprecated.

* Changed form in Demo.js to be an uncontrolled component, in order to avoid needless re-rendering that caused the input box to perform very slowly. Added resetting of highlighted clusters upon dropdown change.

* Chore #159855401 - Add Javascript linter (#12)

* Added JSLint config files.

* Linting files. Replaced single and double quotes with backticks, removed unused imports, added missing prop types.

* Added gene expression ESLint config as npm dependency.

* Removed unnecessary dependency.

* Updated ESLint config to v0.3. Fixed indentation.

* Bugfix #159466895 - Default dropdown selection is wrong sometimes (#10)

* Changed logic to select the default selected option for the colour by dropdown. Removed rogue console.log statements.

* Updated snapshots.

* Added additional test cases for the display of the dropdown default value.

* Fixed indentation issues.

* Merge branch 'feature/157878166-make-right-gradient-legend-dynamic'

* Merge branch 'master' of https://github.com/ebi-gene-expression-group/scxa-experiment-page-tsne-plot-view

* Snapshot update

* Fix Travis badge URL

* Fix URL of SCEA

* Update dependencies

* 3.1.0

* Bugfix #159381585 - Async Highcharts tooltip not rendered correctly (#15)

* Added fix for tooltip not being positioned correctly, by marking every point as being in the bottom half of the chart.

* Removed call to updatePosition in the tooltip formatter.

* Added custom formatter for tooltip in the gene expression scatter plot. Changed tooltip position such that it always appears under the point (to match the behaviour of the tsne plot).

* Fixed linting issues.

* Upgraded eslint config version.

* 3.2.0

* Chore #161321953 – Upgrade component to latest dependencies (#16)

* Remove MultiStopGradient

* Install latest version of Expression Atlas Autocomplete

* Remove props removed in latest version of Expression Atlas Autocomplete

* Change default experiment to one of the two available in scxa-test-experiments

* Switch to Webpack 4 and WDS 3

* Update snapshots

* Refactor fetching logic; check response.ok to detect 4xx or 5xx codes

* Pretty print numbers in subtitle

* Update snapshots

* 3.2.0-beta

* Only display the number of cells in the subtitles when there are any

* Fix copy-paste Webpack config

* Udate snapshot

* Added dependency on babel-jest.

* Bugfix #161476573 - Tooltip retrieval broken (#17)

* Reimplemented accidentally deleted metadata fetchng logic for the tooltip.

* Reimplemented accidentally deleted metadata fetching logic for the tooltip.

* Moved fetch call inside try/catch block to improve error handling.

* Added Highcharts plugin to prevent the tsne plot from being resized when the legend changes height. Update ESLint config.

* Added prop to allow styles to be passed to the PlotLoader, so that they can be applied to the tsne plots. Added additional legend properties to the tsne plot to enable the rezising prevention plugin.

* Added missing prop. Adjusted gene expression height to match the tsne plot.

* Replaced style prop for GeneExpression plot with defining a class name and having the style defined external to the component.

* Moved legend height adjustment settings to ScatterPlot component so they apply to both plots. Adjusted chart height adjustment to make plot of equal height.

* Removed chart subtitles.

* Updated snapshots and removed unnecessary test.

* Upgraded to Babel 7.

* Fix typo in comment

* Lint

* Replace gene-search-container with margin-bottom-class
It’s the same, but different

* Update snapshots

* Update dependencies

* 3.3.0

* Merge pull request #18 from ebi-gene-expression-group/feature/161473820-remove-cluster-name-tooltip

Hide cluster name in tooltip if cells are coloured

* Update collaborators

* 3.4.0

* Feature #164250329 - Change tSNE plot cursor to crosshairs (#20)

* Minor styling changes: changed pointer to crosshairs to hint at zoomability; changed axis colour to light grey; removed left spacing; disabled sticky tracking for the tooltip.

* Updated snapshots.

* 3.4.1

* Feature/163650272 add controls prop t sne plot (#21)

* - Add show controls prop to show/hide plot setting dropdowns
- Add test case to check if plot setting appear if flag is false

* 3.5.0-beta

* - Add test case to check if atlas autocomplete exist with default flag value

* - Refactor code to share same props rather than specifying them separately in each test case

* - Refactor code to share same props for test cases
- Show only colour by control in ClusterTSnePlot
- Remove default showControl prop from ClusterTSnePlot and GeneExpressionTSnePlot
- Add Css to conditionally align GeneExpressionTSnePlot with ClusterTSnePlot
- Re-render plots if metadata is changed by color by dropdown

* - Refactor code to share same props for test cases
- Make showControl required in ClusterTsnePlot and GeneExpressionTsnePlot
- Refactor condition logic for componentDidMount in TsnePlotView.js

* Update to latest dependencies

* 3.6.0

* Feature/165972672 restyle download button both (#23)

* Restyle export button icon and menu items font

* Update package-lock and snapshots

* Address comments and update snapshots

* Remove space between icon&text in download button

* Update jest coverage sources

* Add test for download button and update snapshots

* Correct a typo in test

* Restore posttest script

* Restyle download button and keep fontWeight

* Update test and snapshots

* Clean up codes

* 3.6.1

* Change tpm to cpm (#24)

* Feature #161779317 enable gpu acceleration (#26)

* Move modules to a separate directory and ignore them in coverage stats

* Add custom Boost module and enable it if chart contains >= 10,000

* Make radius size depend on the nomber of points

* Add a colorize function that pretty much does the same as Highcharts ColorAxis

* Use new colorize function and remove some cruft

* Create examples with and wihtout Boost

* Update tests and snapshots

* 4.0.0-beta1

* Remove custom Highcharts depenency

* 4.0.0-beta2

* Bugfix #166502072 download button style (#25)

* Remove plugin module and restyle export button

* Update tests and snapshots

* 4.0.0

* Update package-lock

* 4.0.1

* Remove print option from highchart download button (#27)

* - Remove print option from highchart download button

* - Update test snapshot for ScatterPlot

* Update dependencies

* 4.1.0

* Hotfix on an incomplete visualisation with high-

lighted cluster from gene search results

* Bugfix #167076212 – Scale legend symbols (#28)

* Fix k values to match the actual experiments

* Add fetch polyfill where required

* Add an afterRender callback that resizes the legend symbols

* Add commented out test :(

* Pass afterRender as a callback prop into Highchart

* Update to latest devDepencies

* 4.2.0

* Bugfix #163359190 – Adjust vertical space when controls are hidden (#29)

* Wrap Autocomplete in a visible/invisible div to keep vertical alignment of expression plot; remove react-responsive since it breaks the widget

* 4.3.0-beta

* 4.3.0

* Update dependencies

* Switch ESLint config

* Add Webpack source-maps fix for Firefox

* Fix loading of flask-loader.svg for new major version of file-loader

* Use styled-components in LoadingOverlay and use flex-direction

Co-authored-by: Monica Jianu <monicajianu@users.noreply.github.com>
Co-authored-by: Lingyun Zhao <33519183+lingyun1010@users.noreply.github.com>
Co-authored-by: Haider Iqbal <haideri@ebi.ac.uk>
alfonsomunozpomer added a commit that referenced this pull request Sep 4, 2020
* Refactor CalloutAlert to its own module

* Re-render on new props (i.e. when a new URL is requested)
Design and implementation after
https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#fetching-external-data

* 2.1.0-beta

* Feature #159265231 – Append gene IDs to search results header (#10)

* Use a callback instead of a string as (no) results header message with JSON payload as argument

* 2.2.0-beta

* Remove test import (accidentally left there)

* Improve alignment and font size of loading/no results messages

* 2.2.1-beta
alfonsomunozpomer added a commit that referenced this pull request Sep 10, 2020
* Refactor CalloutAlert to its own module

* Re-render on new props (i.e. when a new URL is requested)
Design and implementation after
https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#fetching-external-data

* 2.1.0-beta

* Feature #159265231 – Append gene IDs to search results header (#10)

* Use a callback instead of a string as (no) results header message with JSON payload as argument

* 2.2.0-beta

* Remove test import (accidentally left there)

* Improve alignment and font size of loading/no results messages

* 2.2.1-beta
alfonsomunozpomer added a commit that referenced this pull request Sep 10, 2020
* Initial commit

* Add build badges

* Add dependencies

* Rename entry point and add polyfill

* Update demo page to use EBI VF v1.3

* Minimal component that shows an error message if communication with server fails

* Dummy push to kick off Travis

* Regenerate pacakge-lock.json as there was some cruft from packages not saved to package.json

* Typo and some rewording in the comment about Promise handling

* Merge branch 'master' of https://github.com/ebi-gene-expression-group/scxa-gene-search-results

* Don’t unfold the error and use it in the state as it is

* Test error boundary and loading/loaded workflow

* Merge branch 'master' of https://github.com/ebi-gene-expression-group/scxa-gene-search-results

* Renamed GeneSearchResults to FetchLoader The basic architecture is FetchLoader fetches data from server and passes it to the component that does the heavy lifting

* Container component that gets the data from FetchLoader and displays search results

* Initial draft of the left filtering sidebar

* Don’t trust Atom, it doesn’t know how to autocomment JSX

* Fix propTypes typo

* Rename test to match FetchLoader

* Stub component for the results list

* Make two entries to test the fetch and the component itself; add CSS modules; reindent

* Fix dependencies

* Add components that make up the sidebar with facet filters

* Add a crude component to display results, it’s basic but it does the job

* Rename the top level container and actually implement it

* Call the top level component after fetching data

* Simplify test set up

* Add tests for CheckboxFacetGroup

* Randomize each test making sure there’s at least one option in the facet

* Fix JSON payload when FetchLoader retrieves data for FilterList

* Add a few more tests for MultiselectDropdownFacetGroup

* Remove import of shallow, we’re just using mount

* Refactor some common methods and test data to TestUtils.js

* Ignore TestUtils.js in coverage

* Add tests for the left filter sidebar

* Use identity-obj-proxy to fix snapshot test in Travis CI

* Update snapshot

* Make select input element stretch with contents

* Huge code refactoring • Simplified logic and state management with Lodash • Props are flatter across components, only transformed where strictly needed • Removed ResultsList component, instead we pass a React Component used to visualise each element • Updated snapshots and tests

* Refactor demo components and data

* Add a component prop to FetchLoader

* Use backticks

* Add some flair to the demo ResultElementComponent

* Add documentation

* Add link to demo in README

* Fix an incorrect item in the test data

* Rename package name and prepare a potential first version

* Since facets are optional, just render the list of results if no valid ones are passed in

* Add test to ensure the sidebar doesn’t contain duplicates

* Replace double quotes with backticks

* Add tests for the FilterList component

* Minor rewording comments

* Fix URLs of build badges

* Fixed REDAME to match demo

* Changed package name to react-faceted-search.

* Merge pull request #1 from ebi-gene-expression-group/feature/157167501-search-endpoint

Feature #157167501 - Search endpoint

* 1.1.0

* 1.1.1

* Update snapshot

* Merge branch 'master' of https://github.com/ebi-gene-expression-group/scxa-faceted-search-results

* atlas-feedback@ebi.ac.uk is no more, the GDPR killed it

* 1.2.1

* Simplify scripts

* Remove pesky error message in tests

* Change header of results list to align results with filters

* 1.2.2

* Enclose loading and no results messages in Foundation grid divs

* 1.3.0

* Feature/157774516 disable filter options with no results (#2)

* Typo

* Fix prop types in demo result elements

* Beef up documentation

* Externalise CSS styles for input
This is only necessary when integrating the component with a framework
that styles the `input` elements. It also avoids problems with CSS
modules down the line.

* Migrate to Webpack 4 with webpack-command and webpack-serve; update deps

* Replace inline styles with styled-components

* Update snapshots

* Remove prop to hide facet group name It’s not being used at all

* Refactor prop types used by several components

* Split main component in a stateful container and a stateless results list
Both the list and the sidebar get the results list and the selected
facets, from which they can infer what should and shouldn’t be displayed

* Rename demo pages and Webpack entries to reflect new code structure

* Fix tests

* Remove leftovers of facet group name hiding

* Revert: display results message D:

* Don’t wrap FacetPropTypes in PropTypes.shape to make it extendible

* Add a disabled prop to facets to grey out or remove the facet

* The container is now in charge of enabling/disabling facets
This design centralises all state changes in one place. I think it’s
better than having a distributed state stored among different
components.

* DRY out components: FilterList goes back to being as dumb as before

* Fix FilterList tests

* Fix facet group tests

* Randomize test

* Sort facets alphabetically; fix tests
The test suite includes a flakey test: the id in the input elements
created by react-select change on subsequent runs. Pushing to see if it
happens in Travis as well.

* Fix tests for FacetedSearchContainer

* Infer episode facets from episodes

* Properly randomize test

* Test that disabled checkboxes are displayed but greyed out

* Update dependencies

* Rename pass-through result component class prop

* Fix test after renaming props

* More fine-grained control of adding/removing facets for edge cases
We need to also know it a facet is the first selected or last unselected
in a group to, besides the general case which wasn’t being considered.

* Another easy test and updated snapshots

* Update README

* 2.0.0

* Bugfix/157890882 wrap long labels (#3)

* Updated webpack server from 4.12.0 to 4.16.0

* Wrap long labels using 'wrap-whitespace' css attribute on multivalue label and modify column length for filters

* Update jest from 23.1.0 to 23.4.1

* Update snapshot for FacetedSearchContainer.js

* 2.0.1

* Update Webpack config to webpack-serve 2

* Update dependencies

* Support a server-provided “reason” field if there are no results

* Full-fledged example for rich search feature

* Update package-lock.json

* 2.0.2

* Reduce filter sidebar width in large screens, it was too wide

* 2.0.3

* Merge pull request #6 from ebi-gene-expression-group/chore/159855401-add-javascript-linter

Chore #159855401 - Add Javascript linter

* Correct the configure file

* Revert "Correct the configure file"

This reverts commit f924b03b44d795baf96edfaf34efe1fa70b50949.

* Update to latest dependencies and move to official Webpack 4 and Babel 7

* Remove webpack-serve leftovers

* Minor corrections to README file

* Feature #158145682 – Add info tooltips for each facet group (#7)

* Add tooltip for facetgroups \n Add tests to check if tooltip exists

* - Update tooltip logic to show only when there is
tooltip text in payload
- Add test to check if tooltip is there if there
is no tooltip text in payload

* Update react-select version to 2.1.0

* - Add separate UI test for
MultiselectDropdownFacetGroup and
CheckboxFacetGroup
- Remove spacing between css class names in
previous tests

* - Modify test and tooltip condition to handle
when JSON payload contains empty tooltip
description.

* - Format code according to coding standard
- Add id to react Select component
- Revert back to check null for tooltip text

* - Generate random group names to test checkboxFacetGroup component
- Added facetGroupNameDescription prop in FacetGroupPropTypes
- Format and ident checkboxFacetGroup.js file

* - Generate random group names to test multiselectDropdownFacetGroup component
- Removed unnecessary imports
- Format and ident multiselectDropdownFacetGroup.js file
- Rename test file according to the component name it is testing.

* - Fixed typo in test case description

* - Fixed typo errors and space after comma missed previously

* Give test data a bit more flair

* Reformat code and remove incorrect props

* Make some facets not have a tooltip text

* Randomize test data

* Update snapshots

* Update snapshots

* Feature #159265221 – Make component re-render on new props (#9)

* Refactor CalloutAlert to its own module

* Re-render on new props (i.e. when a new URL is requested)
Design and implementation after
https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#fetching-external-data

* 2.1.0-beta

* Feature #159265231 – Append gene IDs to search results header (#10)

* Use a callback instead of a string as (no) results header message with JSON payload as argument

* 2.2.0-beta

* Remove test import (accidentally left there)

* Improve alignment and font size of loading/no results messages

* 2.2.1-beta

* 2.3.0

* Remove config for webpack-serve

* Merge branch 'master' of https://github.com/ebi-gene-expression-group/scxa-faceted-search-results

* 2.4.0

* Feature #161750271 – Add headers to results (#12)

* Add a ResultsHeaderClass that is rendered on top of the results list

* Add headers to demo page

* Minor code clean-up

* 2.5.0-beta

* Clean code style

* 2.5.0

* Feature #162304903 remove facets shared by all results (#14)

* Test real data

* Reformat FilterSidebar by pass cleaned facetGroups

* Clean up code style

* Clean checkbox facetGroups and clean up codes

* Reformat the FilterSidebar with tidy facet groups

* Reformat container and pass results to sidebar

* Clean up code style

* Add required props in test

* Remove unused commands

* Update snapshots

* Update testutils with markerGenes and species

* Add a test for hiding a facet shared by all result

* Clean up code

* Add a filter method remove facets shared by all

* Clean up codes, delete old methods

* Remove unused props

* Revert "Remove unused props"

This reverts commit f4f3042895711117220e3e164a9cf93685757597.

* Disable facets after intial search results

* Remove useless props and define propTypes

* Assign clearedFacets in constructor and clean code

* Reorganise demo pages and update experiments results/header components

* Fix linter warnings/errors

* Trim and update dependencies

* Fix typo on CheckboxOption.propTypes

* Fix test environment for fetch

* Remove facet markerGenes in TestUtils; move common facet to test data

* Remove closure for facet-trimming, we’re only running this once

* Add comment to see trimming of shared facets in action

* Delete package-lock.json

* Feature #162416247 make search results titles clickable to sort (#13)

* Add experiment card and title as test utils

* Amend container and list test with experiment card

* Update snapshots

* Add TableCard and TableHeader files as demo input

* Pass TableCard and TableHeader as props to loader

* Amend demo file to show a valid search result

* Add two packages and a updating snapshots script

* Reformat FilterList as a stateful component to …

make table title clickable for sorting the table content

* Add a sorting order state and arrow in header

* Add a pointer cursor css style in table header

* Add hover, transition, opacity CSS for headers

* Add a sortState to indicate user selected title…

and toggle up and down orders

* Clean up code and fix up a bug about sorting if no

same attributes in response as table header

* Clean up code, set a different id for selected ..

title

* Add attributes. corresponding to the titles in

 ExperimentTableHeader  Utils for testing user selections

* Add test for the user selection on table headers

* Update snapshots

* Clean up package by removing update snapshots

* Update package-lock

* Fix Eslint style issues

* Fix Eslint style in test files

* Amend EpisodesHeader to ExperimentTable structure

* Amend codes based on PR review

* Update snapshots and clean up codes

* Change sortState name, use lodash sort

* Update snapshots

* Update test props

* Generalize FilterList with new HeaderComponent

* Add a stylesheet for sorting icons

* Format TableHeader component comprehensively

* Adjust EpisodesHeader structure to the same as …

ExperimentTableHeader

* Update test utils and FilterList with new structured header

* Update snapshots

* Update webpack-dev-server package

* Change default sorting as markergenes

* Update test snapshots

* Fix bug on table sorting

* Rename click callback function and clean states

* Remove additional stylesheet

* Clean the onClick callback function and propTypes

* Add a test for sorting table by clicking header

* Update package-lock

* Update snapshots

* Resolved merge conflict by incorporate suggestions

commit be61714933a584b9a97aa5a09041cce7a23a9a10
Author: lingyun1010 <zhaolingyun1010@gmail.com>
Date:   Tue Mar 5 11:22:32 2019 +0000

    Resolved merge conflict by incorporating both suggestions.

commit ea29e4930c1e545d01e18aeb62b9c350f16eae09
Author: Lingyun Zhao <33519183+lingyun1010@users.noreply.github.com>
Date:   Mon Mar 4 14:57:24 2019 +0000

    Feature #162304903 remove facets shared by all results (#14)

    * Test real data

    * Reformat FilterSidebar by pass cleaned facetGroups

    * Clean up code style

    * Clean checkbox facetGroups and clean up codes

    * Reformat the FilterSidebar with tidy facet groups

    * Reformat container and pass results to sidebar

    * Clean up code style

    * Add required props in test

    * Remove unused commands

    * Update snapshots

    * Update testutils with markerGenes and species

    * Add a test for hiding a facet shared by all result

    * Clean up code

    * Add a filter method remove facets shared by all

    * Clean up codes, delete old methods

    * Remove unused props

    * Revert "Remove unused props"

    This reverts commit f4f3042895711117220e3e164a9cf93685757597.

    * Disable facets after intial search results

    * Remove useless props and define propTypes

    * Assign clearedFacets in constructor and clean code

    * Reorganise demo pages and update experiments results/header components

    * Fix linter warnings/errors

    * Trim and update dependencies

    * Fix typo on CheckboxOption.propTypes

    * Fix test environment for fetch

    * Remove facet markerGenes in TestUtils; move common facet to test data

    * Remove closure for facet-trimming, we’re only running this once

    * Add comment to see trimming of shared facets in action

* Remove conflict package-lock.json

* Create a new package-lock.json

* Revert "Create a new package-lock.json"

This reverts commit ca779a90c7c6f571ec0858b303ee20f3b13764c3.

* Update snapshot

* Tidy up demo pages

* Add package-lock

* 2.6.0

* 2.7.0

* Fix bugs on default sortTitle passed by props

* 2.7.1

* Update to latest dependencies

* 2.8.0

* Assign selected facets as an empty array if null (#15)

* Assign selected facets as an empty array if null

* Update depdendencies and fix snapshot tests

Co-authored-by: amunozpomer <amunoz@ebi.ac.uk>

* Org-scope/rename packages

* 3.0.0

* Fix export

* 3.0.1

* Fix org name :(

* Fix lint issue

* Remove packaged fetch loader in favour of Atlas React Fetch Loader

* Require props without default values

* Reorganise demo pages

* Update dependencies

Co-authored-by: Monica Jianu <monica@ebi.ac.uk>
Co-authored-by: Monica Jianu <monicajianu@users.noreply.github.com>
Co-authored-by: Haider Iqbal <haideri@ebi.ac.uk>
Co-authored-by: lingyun1010 <zhaolingyun1010@gmail.com>
Co-authored-by: Lingyun Zhao <33519183+lingyun1010@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant