Allow users to specify label->color mapping (#3879)

Users can define `label_colors` in a dashboard's JSON metadata that
enforces a label to color mapping.

This also makes the function that maps labels to colors case insensitive.

(cherry picked from commit a82bb588f4)
This commit is contained in:
Maxime Beauchemin
2017-11-17 15:56:04 -08:00
parent f2b9f3d5c8
commit f92a172c7f
4 changed files with 64 additions and 4 deletions

View File

@@ -6,6 +6,7 @@ import * as actions from './actions';
import { getParam } from '../modules/utils';
import { alterInArr, removeFromArr } from '../reduxUtils';
import { applyDefaultFormData } from '../explore/stores/store';
import { getColorFromScheme } from '../modules/colors';
export function getInitialState(bootstrapData) {
const { user_id, datasources, common } = bootstrapData;
@@ -25,6 +26,15 @@ export function getInitialState(bootstrapData) {
//
}
// Priming the color palette with user's label-color mapping provided in
// the dashboard's JSON metadata
if (dashboard.metadata && dashboard.metadata.label_colors) {
const colorMap = dashboard.metadata.label_colors;
for (const label in colorMap) {
getColorFromScheme(label, null, colorMap[label]);
}
}
dashboard.posDict = {};
dashboard.layout = [];
if (dashboard.position_json) {