diff --git a/packages/grafana-ui/src/components/ColorPicker/ColorPicker.story.tsx b/packages/grafana-ui/src/components/ColorPicker/ColorPicker.story.tsx
index 484b82cc59a..d4a0734fd2f 100644
--- a/packages/grafana-ui/src/components/ColorPicker/ColorPicker.story.tsx
+++ b/packages/grafana-ui/src/components/ColorPicker/ColorPicker.story.tsx
@@ -3,7 +3,8 @@ import { storiesOf } from '@storybook/react';
import { SeriesColorPicker } from './ColorPicker';
import { ColorPicker } from './ColorPicker';
import { UseState } from './NamedColorsPalette.story';
-import { withKnobs, select } from '@storybook/addon-knobs';
+import { withKnobs, select, boolean } from '@storybook/addon-knobs';
+import { action } from '@storybook/addon-actions';
import { GrafanaTheme } from '../../types';
// TODO: extract to decorators
@@ -22,47 +23,55 @@ export const CenteredStory: FunctionComponent<{}> = ({ children }) => {
);
};
-const ColorPickerStories = storiesOf('UI/ColorPicker', module);
+const getColorPickerKnobs = (defaultTheme: GrafanaTheme = GrafanaTheme.Light, enableNamedColors?: boolean) => {
+ return {
+ selectedTheme: select(
+ 'Theme',
+ {
+ Default: '',
+ Light: GrafanaTheme.Light,
+ Dark: GrafanaTheme.Dark,
+ },
+ defaultTheme
+ ),
+ enableNamedColors: boolean('Enable named colors', !!enableNamedColors),
+ };
+};
+const ColorPickerStories = storiesOf('UI/ColorPicker', module);
ColorPickerStories.addDecorator(story => {story()});
ColorPickerStories.addDecorator(withKnobs);
ColorPickerStories.add('Color picker', () => {
- const selectedTheme = select(
- 'Theme',
- {
- Default: '',
- Light: GrafanaTheme.Light,
- Dark: GrafanaTheme.Dark,
- },
- GrafanaTheme.Light
- );
-
+ const { selectedTheme, enableNamedColors } = getColorPickerKnobs();
return (
{(selectedColor, updateSelectedColor) => {
- return ;
+ return (
+ {
+ action('Color changed')(color);
+ updateSelectedColor(color);
+ }}
+ theme={selectedTheme || undefined}
+ />
+ );
}}
);
});
ColorPickerStories.add('Series color picker', () => {
- const selectedTheme = select(
- 'Theme',
- {
- Default: '',
- Light: GrafanaTheme.Light,
- Dark: GrafanaTheme.Dark,
- },
- GrafanaTheme.Light
- );
+ const { selectedTheme, enableNamedColors } = getColorPickerKnobs();
return (
{(selectedColor, updateSelectedColor) => {
return (
{}}
color={selectedColor}