Skip to content
Snippets Groups Projects
Commit 4fddcba7 authored by Tom Robinson's avatar Tom Robinson
Browse files

Integrate column settings into line/area/bar charts

parent 4671bcb3
No related merge requests found
......@@ -144,7 +144,7 @@ export function applyChartTimeseriesXAxis(
.utcOffset(dataOffset)
.format();
return formatValue(timestampFixed, {
column: dimensionColumn,
...chart.settings.column(dimensionColumn),
type: "axis",
compact: chart.settings["graph.x_axis.axis_enabled"] === "compact",
});
......@@ -217,7 +217,7 @@ export function applyChartQuantitativeXAxis(
// don't show ticks that aren't multiples of xInterval
if (isMultipleOf(d, xInterval, modulorScale)) {
return formatValue(d, {
column: dimensionColumn,
...chart.settings.column(dimensionColumn),
type: "axis",
compact: chart.settings["graph.x_axis.axis_enabled"] === "compact",
});
......@@ -281,7 +281,7 @@ export function applyChartOrdinalXAxis(
chart.xAxis().tickFormat(d =>
formatValue(d, {
column: dimensionColumn,
...chart.settings.column(dimensionColumn),
type: "axis",
compact: chart.settings["graph.x_axis.labels_enabled"] === "compact",
noRange: isHistogramBar,
......@@ -339,6 +339,13 @@ export function applyChartYAxis(chart, series, yExtent, axisName) {
// round that number to get something nice like "7". Then we append "%" to get a nice tick like "7%"
if (chart.settings["stackable.stack_type"] === "normalized") {
axis.axis().tickFormat(value => Math.round(value * 100) + "%");
} else {
let metricColumn = series[0].data.cols[1];
axis
.axis()
.tickFormat(value =>
formatValue(value, chart.settings.column(metricColumn)),
);
}
chart.renderHorizontalGridLines(true);
adjustYAxisTicksIfNeeded(axis.axis(), chart.height());
......
......@@ -15,7 +15,10 @@ import {
DIMENSION_METRIC,
DIMENSION_METRIC_METRIC,
} from "metabase/visualizations/lib/utils";
import { seriesSetting } from "metabase/visualizations/lib/settings/series";
import { columnSettings } from "metabase/visualizations/lib/settings/column";
import { getOptionFromColumn } from "metabase/visualizations/lib/settings/utils";
import { dimensionIsNumeric } from "metabase/visualizations/lib/numeric";
import { dimensionIsTimeseries } from "metabase/visualizations/lib/timeseries";
......@@ -92,6 +95,10 @@ function getDefaultLineAreaBarColumns([{ data: { cols, rows } }]) {
}
export const GRAPH_DATA_SETTINGS = {
...columnSettings({
getColumns: ([{ data: { cols } }], settings) => cols,
hidden: true,
}),
"graph._dimension_filter": {
getDefault: ([{ card }]) =>
card.display === "scatter" ? isAny : isDimension,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment