Make named colors optional in color picker, enable named colors in graph legend series picker

This commit is contained in:
Dominik Prokop 2019-01-22 13:35:57 +01:00
parent 5b63ee4bfb
commit c3e5737fb8
2 changed files with 17 additions and 1 deletions

View File

@ -9,6 +9,7 @@ import { SeriesColorPickerPopover } from './SeriesColorPickerPopover';
export interface ColorPickerProps extends Themeable {
color: string;
onChange: (color: string) => void;
enableNamedColors?: boolean;
withArrow?: boolean;
children?: JSX.Element;
}
@ -22,10 +23,24 @@ export const colorPickerFactory = <T extends ColorPickerProps>(
static displayName = displayName || 'ColorPicker';
pickerTriggerRef = createRef<HTMLDivElement>();
handleColorChange = (color: string) => {
const { enableNamedColors, onChange } = this.props;
if (enableNamedColors) {
return onChange(color);
}
return onChange(getColorFromHexRgbOrName(color));
};
render() {
const popoverElement = React.createElement(popover, this.props);
const popoverElement = React.createElement(popover, {
...this.props,
onChange: this.handleColorChange,
});
const { theme, withArrow, children } = this.props;
// TODO: hoist that this shit
const renderArrow: RenderPopperArrowFn = ({ arrowProps, placement }) => {
return (
<div

View File

@ -177,6 +177,7 @@ class LegendSeriesIcon extends PureComponent<LegendSeriesIconProps, LegendSeries
onChange={this.props.onColorChange}
onToggleAxis={this.props.onToggleAxis}
theme={theme}
enableNamedColors
>
<span className="graph-legend-icon">
<SeriesIcon color={this.props.color} />