mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-10-09 22:30:56 +08:00
construct query string in action creators
This commit is contained in:
+17
-13
@@ -1,18 +1,10 @@
|
|||||||
import * as globals from "../globals";
|
import * as globals from "../globals";
|
||||||
import URI from "urijs";
|
import URI from "urijs";
|
||||||
|
|
||||||
const requestCells = (selectedMetadataField, selectedMetadataValue) => {
|
const requestCells = (query = "") => {
|
||||||
|
return (dispatch) => {
|
||||||
return (dispatch, getState) => {
|
|
||||||
dispatch({type: "request cells started"})
|
dispatch({type: "request cells started"})
|
||||||
|
return fetch(`${globals.API.prefix}${globals.API.version}cells${query}`, {
|
||||||
let uri = new URI()
|
|
||||||
uri.setSearch(getState().selectedMetadata)
|
|
||||||
if (selectedMetadataField) {
|
|
||||||
uri.addSearch({[selectedMetadataField]: [selectedMetadataValue]})
|
|
||||||
}
|
|
||||||
|
|
||||||
return fetch(`${globals.API.prefix}${globals.API.version}cells${uri.search()}`, {
|
|
||||||
method: "get",
|
method: "get",
|
||||||
headers: new Headers({
|
headers: new Headers({
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
@@ -30,7 +22,14 @@ const requestCells = (selectedMetadataField, selectedMetadataValue) => {
|
|||||||
const attemptCategoricalMetadataSelection = (metadataField, value) => {
|
const attemptCategoricalMetadataSelection = (metadataField, value) => {
|
||||||
return (dispatch, getState) => {
|
return (dispatch, getState) => {
|
||||||
dispatch({type: "categorical metadata filter selected start"})
|
dispatch({type: "categorical metadata filter selected start"})
|
||||||
dispatch(requestCells(metadataField, value)).then((res) => {
|
|
||||||
|
let uri = new URI()
|
||||||
|
uri.setSearch(getState().selectedMetadata)
|
||||||
|
uri.addSearch({[metadataField]: [value]})
|
||||||
|
|
||||||
|
dispatch(
|
||||||
|
requestCells(uri.search())
|
||||||
|
).then((res) => {
|
||||||
if (res.error) {
|
if (res.error) {
|
||||||
dispatch({type: "categorical metadata filter selected error"})
|
dispatch({type: "categorical metadata filter selected error"})
|
||||||
} else {
|
} else {
|
||||||
@@ -44,7 +43,12 @@ const attemptCategoricalMetadataSelection = (metadataField, value) => {
|
|||||||
const attemptCategoricalMetadataDeselection = (metadataField, value) => {
|
const attemptCategoricalMetadataDeselection = (metadataField, value) => {
|
||||||
return (dispatch, getState) => {
|
return (dispatch, getState) => {
|
||||||
dispatch({type: "categorical metadata filter deselected start"})
|
dispatch({type: "categorical metadata filter deselected start"})
|
||||||
dispatch(requestCells(metadataField, value)).then((res) => {
|
|
||||||
|
let uri = new URI()
|
||||||
|
uri.setSearch(getState().selectedMetadata)
|
||||||
|
uri.removeSearch({[metadataField]: [value]})
|
||||||
|
|
||||||
|
dispatch(requestCells(uri.search())).then((res) => {
|
||||||
if (res.error) {
|
if (res.error) {
|
||||||
dispatch({type: "categorical metadata filter deselected error"})
|
dispatch({type: "categorical metadata filter deselected error"})
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user