Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import {
StackMode,
GrapherTabOption,
ScatterPointLabelStrategy,
RelatedQuestionsConfig,
EntitySelectionMode,
EntitySelection,
ChartTypeName,
FacetStrategy,
} from "./GrapherConstants"
import { AxisConfigInterface } from "../axis/AxisConfigInterface"
import { TimeBound } from "../../clientUtils/TimeBounds"
import { ComparisonLineConfig } from "../scatterCharts/ComparisonLine"
import { LogoOption } from "../captionedChart/Logos"
import { ColorScaleConfigInterface } from "../color/ColorScaleConfig"
import { MapConfigInterface } from "../mapCharts/MapConfig"
import { ColumnSlugs, Time } from "../../coreTable/CoreTableConstants"
import { EntityId, EntityName } from "../../coreTable/OwidTableConstants"
import { ColorSchemeName } from "../color/ColorConstants"
import { QueryParams } from "../../clientUtils/urls/UrlUtils"
import { OwidChartDimensionInterface } from "../../clientUtils/OwidVariableDisplayConfigInterface"
import { ColumnSlug, SortConfig } from "../../clientUtils/owidTypes"
// This configuration represents the entire persistent state of a grapher
// Ideally, this is also all of the interaction state: when a grapher is saved and loaded again
// under the same rendering conditions it ought to remain visually identical
export interface GrapherInterface extends SortConfig {
type?: ChartTypeName
id?: number
version?: number
slug?: string
title?: string
subtitle?: string
sourceDesc?: string
note?: string
hideTitleAnnotation?: boolean
minTime?: TimeBound
maxTime?: TimeBound
timelineMinTime?: Time
timelineMaxTime?: Time
dimensions?: OwidChartDimensionInterface[]
addCountryMode?: EntitySelectionMode
comparisonLines?: ComparisonLineConfig[]
stackMode?: StackMode
showNoDataArea?: boolean
hideLegend?: boolean
logo?: LogoOption
hideLogo?: boolean
hideRelativeToggle?: boolean
entityType?: string
entityTypePlural?: string
hideTimeline?: boolean
zoomToSelection?: boolean
minPopulationFilter?: number
showYearLabels?: boolean // Always show year in labels for bar charts
hasChartTab?: boolean
hasMapTab?: boolean
tab?: GrapherTabOption
overlay?: GrapherTabOption
relatedQuestions?: RelatedQuestionsConfig[]
internalNotes?: string
variantName?: string
originUrl?: string
isPublished?: boolean
baseColorScheme?: ColorSchemeName
invertColorScheme?: boolean
hideLinesOutsideTolerance?: boolean
hideConnectedScatterLines?: boolean // Hides lines between points when timeline spans multiple years. Requested by core-econ for certain charts
scatterPointLabelStrategy?: ScatterPointLabelStrategy
compareEndPointsOnly?: boolean
matchingEntitiesOnly?: boolean
hideTotalValueLabel?: boolean
excludedEntities?: number[]
includedEntities?: number[]
selectedEntityNames?: EntityName[]
selectedEntityColors?: { [entityName: string]: string }
selectedEntityIds?: EntityId[]
facet?: FacetStrategy
xAxis?: Partial<AxisConfigInterface>
yAxis?: Partial<AxisConfigInterface>
colorScale?: Partial<ColorScaleConfigInterface>
map?: Partial<MapConfigInterface>
// When we move graphers to Git, and remove dimensions, we can clean this up.
ySlugs?: ColumnSlugs
xSlug?: ColumnSlug
sizeSlug?: ColumnSlug
colorSlug?: ColumnSlug
}
export interface LegacyGrapherInterface extends GrapherInterface {
selectedData?: EntitySelection[]
data: any
}
export interface GrapherQueryParams extends QueryParams {
tab?: string
overlay?: string
stackMode?: string
zoomToSelection?: string
minPopulationFilter?: string
xScale?: string
yScale?: string
time?: string
region?: string
shown?: string
endpointsOnly?: string
selection?: string
facet?: string
uniformYAxis?: string
}
export interface LegacyGrapherQueryParams extends GrapherQueryParams {
year?: string
country?: string // deprecated
}
// Another approach we may want to try is this: https://github.com/mobxjs/serializr
export const grapherKeysToSerialize = [
"type",
"id",
"version",
"slug",
"title",
"subtitle",
"sourceDesc",
"note",
"hideTitleAnnotation",
"minTime",
"maxTime",
"timelineMinTime",
"timelineMaxTime",
"addCountryMode",
"stackMode",
"showNoDataArea",
"hideLegend",
"logo",
"hideLogo",
"hideRelativeToggle",
"entityType",
"entityTypePlural",
"hideTimeline",
"zoomToSelection",
"minPopulationFilter",
"showYearLabels",
"hasChartTab",
"hasMapTab",
"tab",
"internalNotes",
"variantName",
"originUrl",
"isPublished",
"baseColorScheme",
"invertColorScheme",
"hideLinesOutsideTolerance",
"hideConnectedScatterLines",
"scatterPointLabelStrategy",
"compareEndPointsOnly",
"matchingEntitiesOnly",
"includedEntities",
"hideTotalValueLabel",
"xAxis",
"yAxis",
"colorScale",
"map",
"dimensions",
"selectedEntityNames",
"selectedEntityColors",
"selectedEntityIds",
"sortBy",
"sortOrder",
"sortColumnSlug",
"excludedEntities",
"selectedFacetStrategy",
"hideFacetControl",
"comparisonLines",
"relatedQuestions",
]
|