From 36257fe364af28077df5cacb7bdbfb4589568807 Mon Sep 17 00:00:00 2001 From: David Lougheed Date: Tue, 1 Nov 2022 14:07:32 -0400 Subject: [PATCH 1/4] chore!: remove peers/federation code --- package-lock.json | 22 +++++++++++ src/components/AdminContent.js | 8 ---- src/components/App.js | 4 -- src/components/PeersContent.js | 71 ---------------------------------- src/modules/peers/actions.js | 20 ---------- src/modules/peers/reducers.js | 21 ---------- src/reducers.js | 4 -- 7 files changed, 22 insertions(+), 128 deletions(-) delete mode 100644 src/components/PeersContent.js delete mode 100644 src/modules/peers/actions.js delete mode 100644 src/modules/peers/reducers.js diff --git a/package-lock.json b/package-lock.json index ae69b1d78..b6003aea5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45,6 +45,7 @@ "eslint-plugin-react": "^7.21.5", "file-loader": "^6.2.0", "html-webpack-plugin": "^4.5.0", + "prettier": "^2.7.1", "style-loader": "^2.0.0", "webpack": "^4.44.2", "webpack-cli": "^4.1.0", @@ -7677,6 +7678,21 @@ "node": ">= 0.8.0" } }, + "node_modules/prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/pretty-error": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", @@ -17601,6 +17617,12 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, + "prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", + "dev": true + }, "pretty-error": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", diff --git a/src/components/AdminContent.js b/src/components/AdminContent.js index 00ed8a1bc..8f237c813 100644 --- a/src/components/AdminContent.js +++ b/src/components/AdminContent.js @@ -10,7 +10,6 @@ import OwnerRoute from "./OwnerRoute"; import SitePageHeader from "./SitePageHeader"; import ServiceContent from "./ServiceContent"; import DataManagerContent from "./DataManagerContent"; -import PeersContent from "./PeersContent"; import ServiceDetail from "./services/ServiceDetail"; import {SITE_NAME} from "../constants"; @@ -32,7 +31,6 @@ class AdminContent extends Component { - @@ -47,9 +45,6 @@ AdminContent.propTypes = { projects: PropTypes.arrayOf(projectPropTypesShape), isFetchingProjects: PropTypes.bool, - - peers: PropTypes.arrayOf(PropTypes.string), - isFetchingPeers: PropTypes.bool, }; const mapStateToProps = state => ({ @@ -58,9 +53,6 @@ const mapStateToProps = state => ({ projects: state.projects.items, isFetchingProjects: state.auth.isFetchingDependentData || state.projects.isFetching, - - peers: state.peers.items, - isFetchingPeers: state.auth.isFetchingDependentData, }); export default connect(mapStateToProps)(AdminContent); diff --git a/src/components/App.js b/src/components/App.js index c039c219a..ba5968aa8 100644 --- a/src/components/App.js +++ b/src/components/App.js @@ -14,7 +14,6 @@ import SiteFooter from "./SiteFooter"; import SitePageLoading from "./SitePageLoading"; import {fetchDependentDataWithProvidedUser, fetchUserAndDependentData, setUser} from "../modules/auth/actions"; -import {fetchPeersOrError} from "../modules/peers/actions"; import eventHandler from "../events"; import {nop} from "../utils/misc"; @@ -166,7 +165,6 @@ class App extends Component { componentDidMount() { (async () => { await this.props.fetchUserAndDependentData(async () => { - await this.props.fetchPeersOrError(); this.createEventRelayConnectionIfNecessary(); }); @@ -190,7 +188,6 @@ App.propTypes = { user: userPropTypesShape, fetchUserAndDependentData: PropTypes.func, - fetchPeersOrError: PropTypes.func, fetchDependentDataWithProvidedUser: PropTypes.func, }; @@ -204,5 +201,4 @@ const mapStateToProps = state => ({ export default withRouter(connect(mapStateToProps, { fetchDependentDataWithProvidedUser, fetchUserAndDependentData, - fetchPeersOrError, })(App)); diff --git a/src/components/PeersContent.js b/src/components/PeersContent.js deleted file mode 100644 index 1b63e7f7e..000000000 --- a/src/components/PeersContent.js +++ /dev/null @@ -1,71 +0,0 @@ -import React, {Component} from "react"; -import {connect} from "react-redux"; -import PropTypes from "prop-types"; -import {Icon, Layout, Table} from "antd"; - -import SitePageHeader from "./SitePageHeader"; - -import {SITE_NAME} from "../constants"; - -class PeersContent extends Component { - constructor(props) { - super(props); - this.peerColumns = [ - { - title: "", - key: "icon", - width: 75, - render: (_, peer) =>
- -
, - }, - { - title: "Peer", - dataIndex: "url", - render: url => <> - {url} - {this.props.nodeInfo.CHORD_URL === url ? (current node) - : null} - , - sorter: (a, b) => a.url.localeCompare(b.url), - defaultSortOrder: "ascend" - } - ]; - } - - componentDidMount() { - document.title = `${SITE_NAME} - Peers`; - } - - render() { - return <> - - - - - - - ; - } -} - -PeersContent.propTypes = { - nodeInfo: PropTypes.shape({ - CHORD_URL: PropTypes.string, - }), - peers: PropTypes.arrayOf(PropTypes.string), - isFetchingPeers: PropTypes.bool, -}; - -const mapStateToProps = state => ({ - nodeInfo: state.nodeInfo.data, - peers: state.peers.items.map(p => ({url: p})), - isFetchingPeers: state.services.isFetchingAll || state.peers.isFetching, -}); - -export default connect(mapStateToProps)(PeersContent); diff --git a/src/modules/peers/actions.js b/src/modules/peers/actions.js deleted file mode 100644 index 3f5fe6a47..000000000 --- a/src/modules/peers/actions.js +++ /dev/null @@ -1,20 +0,0 @@ -import {message} from "antd"; - -import {createNetworkActionTypes, networkAction} from "../../utils/actions"; - -export const FETCH_PEERS = createNetworkActionTypes("FETCH_PEERS"); -const fetchPeers = networkAction(() => (dispatch, getState) => ({ - types: FETCH_PEERS, - url: `${getState().services.federationService.url}/peers`, - err: "Error fetching peers" -})); - -export const fetchPeersOrError = () => async dispatch => { - try { - return await dispatch(fetchPeers()); - } catch (e) { - // Possibly federationService is null - message.error("Error fetching peers"); - console.error(e); - } -}; diff --git a/src/modules/peers/reducers.js b/src/modules/peers/reducers.js deleted file mode 100644 index 8c79d7c2b..000000000 --- a/src/modules/peers/reducers.js +++ /dev/null @@ -1,21 +0,0 @@ -import {FETCH_PEERS} from "./actions"; - -export const peers = ( - state = { - isFetching: false, - items: [] - }, - action -) => { - switch (action.type) { - case FETCH_PEERS.REQUEST: - return {...state, isFetching: true}; - case FETCH_PEERS.RECEIVE: - return {...state, items: action.data.peers.sort()}; - case FETCH_PEERS.FINISH: - return {...state, isFetching: false}; - - default: - return state; - } -}; diff --git a/src/reducers.js b/src/reducers.js index 18b71762f..31478410b 100644 --- a/src/reducers.js +++ b/src/reducers.js @@ -18,7 +18,6 @@ import { import {manager, dropBox} from "./modules/manager/reducers"; import {nodeInfo} from "./modules/node/reducers"; import {notifications} from "./modules/notifications/reducers"; -import {peers} from "./modules/peers/reducers"; import { chordServices, services, @@ -77,9 +76,6 @@ const rootReducer = combineReducers({ // WES module runs, - - // Peers module - peers, }); export default rootReducer; From fb3c16a1759dc58e6286f85f3bf0754ea30f6514 Mon Sep 17 00:00:00 2001 From: David Lougheed Date: Tue, 1 Nov 2022 14:22:12 -0400 Subject: [PATCH 2/4] chore!: pull the plug on censored discovery --- .idea/dictionaries/davidlougheed.xml | 1 + src/components/App.js | 4 +- src/components/DataDiscoveryContent.js | 41 ---- .../discovery/DiscoveryDatasetContent.js | 57 ------ .../discovery/DiscoverySearchContent.js | 65 ------- src/components/discovery/SearchList.js | 180 ------------------ src/modules/discovery/actions.js | 73 ------- src/modules/discovery/reducers.js | 58 ------ 8 files changed, 2 insertions(+), 477 deletions(-) delete mode 100644 src/components/DataDiscoveryContent.js delete mode 100644 src/components/discovery/DiscoveryDatasetContent.js delete mode 100644 src/components/discovery/DiscoverySearchContent.js delete mode 100644 src/components/discovery/SearchList.js diff --git a/.idea/dictionaries/davidlougheed.xml b/.idea/dictionaries/davidlougheed.xml index 72f384280..9bfb3df50 100644 --- a/.idea/dictionaries/davidlougheed.xml +++ b/.idea/dictionaries/davidlougheed.xml @@ -2,6 +2,7 @@ bento + gohan karyotypic lgpl xxxx diff --git a/src/components/App.js b/src/components/App.js index ba5968aa8..70279189e 100644 --- a/src/components/App.js +++ b/src/components/App.js @@ -1,6 +1,6 @@ import React, {Component, Suspense, lazy} from "react"; import {connect} from "react-redux"; -import {withRouter, Redirect, Route, Switch} from "react-router-dom"; +import {withRouter, Redirect, Switch} from "react-router-dom"; import PropTypes from "prop-types"; import io from "socket.io-client"; @@ -28,7 +28,6 @@ const NotificationDrawer = lazy(() => import("./notifications/NotificationDrawer // Lazy-load route components const OverviewContent = lazy(() => import("./OverviewContent")); -const DataDiscoveryContent = lazy(() => import("./DataDiscoveryContent")); const DataExplorerContent = lazy(() => import("./DataExplorerContent")); const AdminContent = lazy(() => import("./AdminContent")); const NotificationsContent = lazy(() => import("./notifications/NotificationsContent")); @@ -110,7 +109,6 @@ class App extends Component { }> - diff --git a/src/components/DataDiscoveryContent.js b/src/components/DataDiscoveryContent.js deleted file mode 100644 index b0820fc18..000000000 --- a/src/components/DataDiscoveryContent.js +++ /dev/null @@ -1,41 +0,0 @@ -import React, {Component, Suspense, lazy} from "react"; -import {Redirect, Route, Switch, withRouter} from "react-router-dom"; - -import {Card, Layout, Skeleton} from "antd"; - -import {SITE_NAME} from "../constants"; -import {withBasePath} from "../utils/url"; - -import SitePageHeader from "./SitePageHeader"; - -const DiscoverySearchContent = lazy(() => import("./discovery/DiscoverySearchContent")); -const DiscoveryDatasetContent = lazy(() => import("./discovery/DiscoveryDatasetContent")); - - -class DataDiscoveryContent extends Component { - componentDidMount() { - document.title = `${SITE_NAME} - Discover Data`; - } - - render() { - return <> - - - - }> - - - - - - - - - ; - } -} - -export default withRouter(DataDiscoveryContent); diff --git a/src/components/discovery/DiscoveryDatasetContent.js b/src/components/discovery/DiscoveryDatasetContent.js deleted file mode 100644 index 72ebd8668..000000000 --- a/src/components/discovery/DiscoveryDatasetContent.js +++ /dev/null @@ -1,57 +0,0 @@ -import React, {Component} from "react"; -import {withRouter} from "react-router-dom"; -import {connect} from "react-redux"; -import PropTypes from "prop-types"; - -import {Skeleton} from "antd"; - -import Dataset from "../datasets/Dataset"; -import {projectPropTypesShape} from "../../propTypes"; - -class DiscoveryDatasetContent extends Component { - render() { - const datasetId = this.props.match.params.dataset || null; - if (!datasetId || this.props.isFetchingUserDependentData) { - // TODO: Nicer - return ; - } - - const project = this.props.projects.find(p => p.datasets.find(d => d.identifier === datasetId)); - if (!project) return null; // TODO: 404 or error - - // TODO: Deduplicate with RoutedProject - const tables = this.props.serviceTablesByServiceID; - const projectTableOwnershipRecords = this.props.projectTablesByProjectID[project.identifier] || []; - - const tableList = projectTableOwnershipRecords - .filter(tableOwnership => - (tables[tableOwnership.service_id] || {}).tablesByID.hasOwnProperty(tableOwnership.table_id)) - .map(tableOwnership => ({ - ...tableOwnership, - ...tables[tableOwnership.service_id].tablesByID[tableOwnership.table_id], - })); - - const dataset = { - ...project.datasets.find(d => d.identifier === datasetId), - tables: tableList.filter(t => t.dataset === datasetId), // TODO: Filter how? - }; - - return ; - } -} - -DiscoveryDatasetContent.propTypes = { - projects: PropTypes.arrayOf(projectPropTypesShape), - projectTablesByProjectID: PropTypes.object, // TODO: Shape - serviceTablesByServiceID: PropTypes.object, // TODO: Shape - isFetchingUserDependentData: PropTypes.bool, -}; - -const mapStateToProps = state => ({ - projects: state.projects.items, - projectTablesByProjectID: state.projectTables.itemsByProjectID, - serviceTablesByServiceID: state.serviceTables.itemsByServiceID, - isFetchingUserDependentData: state.auth.isFetchingDependentData, -}); - -export default connect(mapStateToProps)(withRouter(DiscoveryDatasetContent)); diff --git a/src/components/discovery/DiscoverySearchContent.js b/src/components/discovery/DiscoverySearchContent.js deleted file mode 100644 index 215b04965..000000000 --- a/src/components/discovery/DiscoverySearchContent.js +++ /dev/null @@ -1,65 +0,0 @@ -import React, {Component} from "react"; -import {connect} from "react-redux"; -import PropTypes from "prop-types"; - -import {Typography} from "antd"; - -import SearchList from "./SearchList"; - -import { - performFullSearchIfPossible, - - addDataTypeQueryForm, - updateDataTypeQueryForm, - removeDataTypeQueryForm, - - // updateJoinQueryForm, -} from "../../modules/discovery/actions"; -import DiscoveryQueryBuilder from "./DiscoveryQueryBuilder"; - - -class DiscoverySearchContent extends Component { - render() { - return <> - - Results - - ; - } -} - -DiscoverySearchContent.propTypes = { - searchLoading: PropTypes.bool, - dataTypeForms: PropTypes.arrayOf(PropTypes.object), - // joinFormValues: PropTypes.object, - - performFullSearchIfPossible: PropTypes.func, - - addDataTypeQueryForm: PropTypes.func, - updateDataTypeQueryForm: PropTypes.func, - removeDataTypeQueryForm: PropTypes.func, - - // updateJoinForm: PropTypes.func, -}; - -const mapStateToProps = state => ({ - searchLoading: state.discovery.isFetching, - dataTypeForms: state.discovery.dataTypeForms, - // joinFormValues: state.discovery.joinFormValues, -}); - -export default connect(mapStateToProps, { - performFullSearchIfPossible, - - addDataTypeQueryForm, - updateDataTypeQueryForm, - removeDataTypeQueryForm, - - // updateJoinForm, -})(DiscoverySearchContent); diff --git a/src/components/discovery/SearchList.js b/src/components/discovery/SearchList.js deleted file mode 100644 index 7a122fbb3..000000000 --- a/src/components/discovery/SearchList.js +++ /dev/null @@ -1,180 +0,0 @@ -import React, {Component, Fragment} from "react"; -import {connect} from "react-redux"; -import PropTypes from "prop-types"; - -import {Button, Col, Collapse, Empty, Icon, Modal, Popover, Row, Spin, Table, Typography} from "antd"; - -import DataUseDisplay from "../DataUseDisplay"; -import {selectSearch} from "../../modules/discovery/actions"; -import {nodeInfoDataPropTypesShape} from "../../propTypes"; - - -class SearchList extends Component { - constructor(props) { - super(props); - - // TODO: Redux? - this.state = { - dataUseTermsModalShown: false, - dataset: null - }; - - this.handleSearchSelect = this.handleSearchSelect.bind(this); - this.handleDatasetTermsClick = this.handleDatasetTermsClick.bind(this); - this.handleDatasetTermsCancel = this.handleDatasetTermsCancel.bind(this); - - this.searchResultColumns = [ - { - title: "Node", - dataIndex: "node", - width: 75, - render: node => ( - /* TODO: Don't show icon if the current node is just for exploration (vFuture) */ - - {node} - {this.props.nodeInfo.CHORD_URL === node - ? (current node) : null} - }> -
- -
-
- ) - }, - { - title: "Dataset ID", - dataIndex: "identifier", - sorter: (a, b) => a.identifier.localeCompare(b.identifier), - render: (_, dataset) => ( - {dataset.identifier} - ), - }, - { - title: "Title", - dataIndex: "title", - sorter: (a, b) => a.title.localeCompare(b.title), - defaultSortOrder: "ascend", - }, - { - title: "Contact Information", - dataIndex: "contact_info", - render: contactInfo => (contactInfo || "").split("\n") - .map((p, i) => {p}
) - }, - { - title: "Actions", - dataIndex: "actions", - render: (_, dataset) => ( - -
- - - {/* TODO: Implement manage button v0.2 */} - {/*{dataset.node === nodeURL && this.props.user.chord_user_role === "owner" ? (*/} - {/* */} - {/* */} - {/* */} - {/*) : null}*/} - {/**/} - {/* */} - {/**/} - - ), - }, - ]; - } - - handleSearchSelect(searchIndex) { - this.props.selectSearch(searchIndex === null ? null : parseInt(searchIndex, 10)); - } - - handleDatasetTermsClick(dataset) { - this.setState({ - dataUseTermsModalShown: true, - dataset - }); - } - - handleDatasetTermsCancel() { - this.setState({dataUseTermsModalShown: false}); - } - - render() { - if (!this.props.searches || this.props.searches.length === 0) return ( - - ); - - const datasetNameOrID = (this.state.dataset || {}).name || (this.state.dataset || {}).id || ""; - const dataUseTermsTitle = `Dataset ${datasetNameOrID - .substr(0, 18)}${datasetNameOrID ? "…" : ""}: Data Use Terms`; - - return <> - this.handleDatasetTermsCancel()} - footer={null}> - - - - this.handleSearchSelect(i)}> - {[...this.props.searches].reverse().map((s, i) => { - const searchResults = Object.entries(s.results).flatMap(([n, r]) => - r ? r.map(d => ({...d, node: n})) : []); // TODO: Report node response errors - const title = `Search ${this.props.searches.length - i}: ${searchResults.length} result${ - searchResults.length === 1 ? "" : "s"}`; - return ( - - - Nodes Responded:  - - {Object.values(s.results).filter(r => r !== null).length} -  /  - {Object.keys(s.results).length} - - Results -
- - ); - })} - - - ; - } -} - -SearchList.propTypes = { - nodeInfo: nodeInfoDataPropTypesShape, - user: PropTypes.object, // TODO: Shape - searches: PropTypes.array, // TODO: Shape - selectedSearch: PropTypes.number, - searchLoading: PropTypes.bool, - - selectSearch: PropTypes.func, -}; - -const mapStateToProps = state => ({ - nodeInfo: state.nodeInfo.data, - user: state.auth.user, - - searches: state.discovery.searches, - selectedSearch: state.discovery.selectedSearch, - - searchLoading: state.discovery.isFetching, -}); - -export default connect(mapStateToProps, {selectSearch})(SearchList); diff --git a/src/modules/discovery/actions.js b/src/modules/discovery/actions.js index f8cbf445b..0a7423ff6 100644 --- a/src/modules/discovery/actions.js +++ b/src/modules/discovery/actions.js @@ -1,22 +1,6 @@ -import { - conditionsToQuery, - extractQueriesFromDataTypeForms, - extractQueryConditionsFromFormValues -} from "../../utils/search"; import {createNetworkActionTypes, networkAction} from "../../utils/actions"; -import {jsonRequest} from "../../utils/requests"; -export const PERFORM_SEARCH = createNetworkActionTypes("DISCOVERY.PERFORM_SEARCH"); -export const SELECT_SEARCH = "DISCOVERY.SELECT_SEARCH"; - -export const ADD_DATA_TYPE_QUERY_FORM = "DISCOVERY.ADD_DATA_TYPE_QUERY_FORM"; -export const UPDATE_DATA_TYPE_QUERY_FORM = "DISCOVERY.UPDATE_DATA_TYPE_QUERY_FORM"; -export const REMOVE_DATA_TYPE_QUERY_FORM = "DISCOVERY.REMOVE_DATA_TYPE_QUERY_FORM"; -export const REMOVE_ALL_DATA_TYPE_QUERY_FORMS = "DISCOVERY.REMOVE_ALL_DATA_TYPE_QUERY_FORMS"; - -export const UPDATE_JOIN_QUERY_FORM = "DISCOVERY.UPDATE_JOIN_QUERY_FORM"; - export const PERFORM_GOHAN_GENE_SEARCH = createNetworkActionTypes("GOHAN_GENE_SEARCH"); export const performGohanGeneSearchIfPossible = (searchTerm, assemblyId) => (dispatch, getState) => { @@ -32,60 +16,3 @@ const performGohanGeneSearch = networkAction((searchUrl) => () => ({ url: searchUrl, err: "error performing Gohan gene search", })); - -export const selectSearch = searchIndex => ({ - type: SELECT_SEARCH, - searchIndex, -}); - -const performSearch = networkAction((dataTypeQueries, joinQuery = null) => (dispatch, getState) => ({ - types: PERFORM_SEARCH, - url: `${getState().services.federationService.url}/federated-dataset-search`, - req: jsonRequest({ - data_type_queries: dataTypeQueries, - join_query: joinQuery - }, "POST"), - err: "Error performing search", - onSuccess: () => dispatch(selectSearch(getState().discovery.searches.length - 1)), -})); - - -export const performFullSearchIfPossible = () => (dispatch, getState) => { - if (getState().discovery.isFetching) return; - - // TODO: Map keys to avoid issues!!! Otherwise "deleted" conditions show up - - const dataTypeQueries = extractQueriesFromDataTypeForms(getState().discovery.dataTypeForms); - if (dataTypeQueries.length === 0) return; // TODO: Report this; blank data type query (should be caught earlier) - - const joinFormValues = getState().discovery.joinFormValues; - const joinQueryConditions = extractQueryConditionsFromFormValues(joinFormValues); - const joinQuery = joinQueryConditions.length > 0 ? conditionsToQuery(joinQueryConditions) : null; - - return dispatch(performSearch(dataTypeQueries, joinQuery)); -}; - - -export const addDataTypeQueryForm = dataType => ({ - type: ADD_DATA_TYPE_QUERY_FORM, - dataType, -}); - -export const updateDataTypeQueryForm = (dataType, fields) => ({ - type: UPDATE_DATA_TYPE_QUERY_FORM, - dataType, - fields, -}); - -export const removeDataTypeQueryForm = dataType => ({ - type: REMOVE_DATA_TYPE_QUERY_FORM, - dataType, -}); - -// export const removeAllDataTypeQueryForms = basicAction(REMOVE_ALL_DATA_TYPE_QUERY_FORMS); - - -// export const updateJoinQueryForm = fields => ({ -// type: UPDATE_JOIN_QUERY_FORM, -// fields -// }); diff --git a/src/modules/discovery/reducers.js b/src/modules/discovery/reducers.js index 64c84de8a..ce6525d52 100644 --- a/src/modules/discovery/reducers.js +++ b/src/modules/discovery/reducers.js @@ -1,72 +1,14 @@ -import {simpleDeepCopy} from "../../utils/misc"; - import { - PERFORM_SEARCH, - SELECT_SEARCH, - - ADD_DATA_TYPE_QUERY_FORM, - UPDATE_DATA_TYPE_QUERY_FORM, - REMOVE_DATA_TYPE_QUERY_FORM, - REMOVE_ALL_DATA_TYPE_QUERY_FORMS, - - UPDATE_JOIN_QUERY_FORM, - PERFORM_GOHAN_GENE_SEARCH, } from "./actions"; -import { - addDataTypeFormIfPossible, - updateDataTypeFormIfPossible, - removeDataTypeFormIfPossible, -} from "../../utils/search"; - export const discovery = ( state = { - isFetching: false, - - dataTypeForms: [], - joinFormValues: {}, - - searches: [], - selectedSearch: null, - geneNameSearchResponse: [], }, action ) => { switch (action.type) { - case PERFORM_SEARCH.REQUEST: - return {...state, isFetching: true}; - case PERFORM_SEARCH.RECEIVE: - return { - ...state, - searches: [...state.searches, action.data], // Add search to search history - lastUpdated: action.receivedAt - }; - case PERFORM_SEARCH.FINISH: - return {...state, isFetching: false}; - - case SELECT_SEARCH: - return {...state, selectedSearch: action.searchIndex}; - - case ADD_DATA_TYPE_QUERY_FORM: - return {...state, dataTypeForms: addDataTypeFormIfPossible(state.dataTypeForms, action.dataType)}; - case UPDATE_DATA_TYPE_QUERY_FORM: - return { - ...state, - dataTypeForms: updateDataTypeFormIfPossible(state.dataTypeForms, action.dataType, action.fields) - }; - case REMOVE_DATA_TYPE_QUERY_FORM: - return {...state, dataTypeForms: removeDataTypeFormIfPossible(state.dataTypeForms, action.dataType)}; - case REMOVE_ALL_DATA_TYPE_QUERY_FORMS: - return {...state, dataTypeForms: []}; - - case UPDATE_JOIN_QUERY_FORM: - return { - ...state, - joinFormValues: simpleDeepCopy(action.fields) // TODO: Hack-y deep clone - }; - case PERFORM_GOHAN_GENE_SEARCH.RECEIVE: return { ...state, From 09c90028985e1aefdda8ff7883c3147c881ae98c Mon Sep 17 00:00:00 2001 From: David Lougheed Date: Tue, 1 Nov 2022 14:23:44 -0400 Subject: [PATCH 3/4] chore: remove datasets nav item --- src/components/SiteHeader.js | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/components/SiteHeader.js b/src/components/SiteHeader.js index 31f33d1dc..de2a9771d 100644 --- a/src/components/SiteHeader.js +++ b/src/components/SiteHeader.js @@ -31,12 +31,6 @@ const SiteHeader = () => { text: Overview, key: "overview", }, - { - url: withBasePath("data/sets"), - icon: , - text: Datasets, - key: "datasets", - }, { url: withBasePath("data/explorer"), icon: , From e3d3c2ff4b18bb46eb4d749252c3c94cf4a05b85 Mon Sep 17 00:00:00 2001 From: David Lougheed Date: Tue, 1 Nov 2022 14:38:25 -0400 Subject: [PATCH 4/4] chore: update some relevant help text --- src/components/datasets/Dataset.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/components/datasets/Dataset.js b/src/components/datasets/Dataset.js index e9f474240..83a6208f8 100644 --- a/src/components/datasets/Dataset.js +++ b/src/components/datasets/Dataset.js @@ -123,8 +123,8 @@ class Dataset extends Component { Linked Field Sets group common fields (i.e. fields that share the same “value space”) between multiple data types. For example, these sets can be used to tell the - discovery system that Phenopacket biosample identifiers are the same as variant call sample - identifiers, and so variant calls with an identifier of “sample1” come from a + data exploration system that Phenopacket biosample identifiers are the same as variant call + sample identifiers, and so variant calls with an identifier of “sample1” come from a biosample with identifier “sample1”. @@ -183,8 +183,7 @@ class Dataset extends Component { content: <> All data contained in the dataset will be deleted permanently, and the - dataset will no longer be available for discovery within the CHORD - federation. + dataset will no longer be available for exploration. {/* TODO: Real terms and conditions */} ,