Files
superset2/caravel/assets/javascripts/explorev2/components/charts/Legend.jsx
Alanna Scott f837733d85 [explorev2] chart and controls (#1251)
* create structure for new forked explore view (#1099)

* create structure for new forked explore view

* update component name

* add bootstrap data pattern

* remove console.log

* Created store and reducers (#1108)

* Created store and reducers

* Added spec

* Modifications based on comments

* do use bootstrap data for now

* don't deal with bootstrap data for now

* use victory as a base

* import fake line data, add fake panels, make chart fixed

* add fetch support

* get slice data from json endpoint

* render chart with slicejson

* update chart and label demo

* remove fetch config

* remove dummy control panels

* should be a func

* make TimeSeriesLineChart

* add a comment

* inner height for height

* don't need fetch yet

* trailing comma breaks in package json

* pass in viz data from props

* add style sheet

* set height on explore container

* add legend

* make chart responsive to window resize

* can't use head_css in template bc overrides head_css in basic

* fix linting

* break labelItem into own SFC, make legend SFC

* add propTypes and fix linter
2016-10-05 19:41:16 -07:00

22 lines
561 B
JavaScript

import React, { PropTypes } from 'react';
import LegendItem from './LegendItem';
const propTypes = {
data: PropTypes.array.isRequired,
keysToColorsMap: PropTypes.object.isRequired,
};
export default function Legend({ data, keysToColorsMap }) {
const legendEls = data.map((d) => {
const color = keysToColorsMap[d.key] ? keysToColorsMap[d.key] : '#000';
return <LegendItem label={d.key} color={color} key={d.key} />;
});
return (
<ul className="list-unstyled list-inline">
{legendEls}
</ul>
);
}
Legend.propTypes = propTypes;