From ba4b774c96efeb09450f01cec63f5327f189f148 Mon Sep 17 00:00:00 2001 From: Dominik Prokop Date: Tue, 22 Jan 2019 13:36:21 +0100 Subject: [PATCH] Stories update for color picker --- .../ColorPicker/ColorPicker.story.tsx | 53 +++++++++++-------- 1 file changed, 31 insertions(+), 22 deletions(-) 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}