Files
cellxgene/client/src/globals.js
Severiano Badajoz 0634160c0c Fix unit tests (#2428)
* only create toaster if we're on the browser

* drop/fix references to window

* add back fe unit tests
2021-09-15 00:43:59 +00:00

124 lines
3.8 KiB
JavaScript

import { Colors } from "@blueprintjs/core";
import { dispatchNetworkErrorMessageToUser } from "./util/actionHelpers";
import ENV_DEFAULT from "../../environment.default.json";
/* overflow category values are created using this string */
export const overflowCategoryLabel = ": all other labels";
/* default "unassigned" value for user-created categorical metadata */
export const unassignedCategoryLabel = "unassigned";
/*
these are default values for configuration the CLI may supply.
See the REST API and CLI specs for more info.
*/
export const configDefaults = {
features: {},
displayNames: {},
parameters: {
"disable-diffexp": false,
"diffexp-may-be-slow": false,
},
links: {},
};
/*
Most configuration is stored in the reducer. A handful of values
are global and stored here. They are typically set by the config
action handler, which pull the information from the backend/CLI.
All should be set here to their default value.
*/
export const globalConfig = {
/* if a categorical metadata field has more options than this, truncate */
maxCategoricalOptionsToDisplay: 200,
};
/* colors */
export const blue = Colors.BLUE3;
export const linkBlue = Colors.BLUE5;
export const lightestGrey = "rgb(249,249,249)";
export const lighterGrey = "rgb(245,245,245)";
export const lightGrey = Colors.LIGHT_GRAY1;
export const mediumGrey = "rgb(153,153,153)";
export const darkGrey = "rgb(102,102,102)";
export const darkerGrey = "rgb(51,51,51)";
export const brightBlue = "#4a90e2";
export const brightGreen = "#A2D729";
export const darkGreen = "#448C4D";
export const nonFiniteCellColor = lightGrey;
export const defaultCellColor = "rgb(0,0,0,1)";
export const logoColor = "black"; /* logo pink: "#E9429A" */
/* typography constants */
export const tiniestFontSize = 12;
export const largestFontSize = 24;
export const uppercaseLetterSpacing = "0.04em";
export const bolder = 700;
export const accentFont = "Georgia,Times,Times New Roman,serif";
export const maxParagraphWidth = 600;
/* layout styles constants */
export const cellxgeneTitleLeftPadding = 14;
export const cellxgeneTitleTopPadding = 7;
export const datasetTitleMaxCharacterCount = 25;
export const maxControlsWidth = 800;
export const graphMargin = { top: 20, right: 10, bottom: 30, left: 40 };
export const graphWidth = 700;
export const graphHeight = 700;
export const scatterplotMarginLeft = 11;
export const rightSidebarWidth = 365;
export const leftSidebarWidth = 365;
export const leftSidebarSectionHeading = {
fontSize: 18,
textTransform: "uppercase",
fontWeight: 500,
letterSpacing: ".05em",
};
export const leftSidebarSectionPadding = 10;
export const categoryLabelDisplayStringLongLength = 27;
export const categoryLabelDisplayStringShortLength = 11;
export const categoryDisplayStringMaxLength = 33;
export const maxUserDefinedGenes = 25;
export const maxGenes = 100;
export const diffexpPopNamePrefix1 = "Pop1 high";
export const diffexpPopNamePrefix2 = "Pop2 high";
/* various timing-related behaviors */
export const tooltipHoverOpenDelay = 1000; /* ms delay before a tooltip displays */
export const tooltipHoverOpenDelayQuick = 500;
const CXG_SERVER_PORT =
process.env.CXG_SERVER_PORT || ENV_DEFAULT.CXG_SERVER_PORT;
let _API;
if (typeof window !== "undefined" && window.CELLXGENE && window.CELLXGENE.API) {
_API = window.CELLXGENE.API;
} else {
if (CXG_SERVER_PORT === undefined) {
const errorMessage = "Please set the CXG_SERVER_PORT environment variable.";
dispatchNetworkErrorMessageToUser(errorMessage);
throw new Error(errorMessage);
}
_API = {
// prefix: "http://api.clustering.czi.technology/api/",
// prefix: "http://tabulamuris.cxg.czi.technology/api/",
// prefix: "http://api-staging.clustering.czi.technology/api/",
prefix: `http://localhost:${CXG_SERVER_PORT}/api/`,
version: "v0.2/",
};
}
export const API = _API;