saleor-dashboard/src/storybook/stories/attributes/AttributePage.tsx

73 lines
1.8 KiB
TypeScript
Raw Normal View History

2019-08-09 10:17:04 +00:00
import { storiesOf } from "@storybook/react";
import React from "react";
import AttributePage, {
AttributePageProps
} from "@saleor/attributes/components/AttributePage";
import { attribute } from "@saleor/attributes/fixtures";
2020-03-04 12:50:25 +00:00
import {
AttributeInputTypeEnum,
ProductErrorCode
} from "@saleor/types/globalTypes";
2019-08-09 10:17:04 +00:00
import Decorator from "../../Decorator";
const props: AttributePageProps = {
attribute,
disabled: false,
errors: [],
onBack: () => undefined,
onDelete: () => undefined,
onSubmit: () => undefined,
onValueAdd: () => undefined,
onValueDelete: () => undefined,
onValueReorder: () => undefined,
onValueUpdate: () => undefined,
saveButtonBarState: "default",
values: attribute.values
};
storiesOf("Views / Attributes / Attribute details", module)
.addDecorator(Decorator)
.add("default", () => <AttributePage {...props} />)
.add("loading", () => (
<AttributePage
{...props}
attribute={undefined}
disabled={true}
values={undefined}
/>
))
.add("no values", () => <AttributePage {...props} values={undefined} />)
.add("form errors", () => (
<AttributePage
{...props}
2020-03-04 12:50:25 +00:00
errors={[
{
code: ProductErrorCode.REQUIRED,
field: "name"
},
{
code: ProductErrorCode.REQUIRED,
field: "slug"
},
{
code: ProductErrorCode.GRAPHQL_ERROR,
field: "storefrontSearchPosition"
}
].map(err => ({
__typename: "ProductError",
...err
}))}
2019-08-09 10:17:04 +00:00
/>
))
.add("multiple select input", () => (
<AttributePage
{...props}
attribute={{
...attribute,
inputType: AttributeInputTypeEnum.MULTISELECT
}}
/>
))
.add("create", () => <AttributePage {...props} attribute={null} />);