From a44e96a278955f5c24a96623d5397683dd8da865 Mon Sep 17 00:00:00 2001 From: Krzysztof Wolski Date: Mon, 27 Apr 2020 09:53:34 +0200 Subject: [PATCH] Update chosen pills --- .../AccountPermissionGroups.stories.tsx | 71 ++++ .../AccountPermissionGroups.tsx | 4 +- .../MultiAutocompleteSelectField.tsx | 20 +- .../__snapshots__/Stories.test.ts.snap | 307 ++++++++++++++++++ 4 files changed, 391 insertions(+), 11 deletions(-) create mode 100644 src/components/AccountPermissionGroups/AccountPermissionGroups.stories.tsx diff --git a/src/components/AccountPermissionGroups/AccountPermissionGroups.stories.tsx b/src/components/AccountPermissionGroups/AccountPermissionGroups.stories.tsx new file mode 100644 index 000000000..65bb2ffe8 --- /dev/null +++ b/src/components/AccountPermissionGroups/AccountPermissionGroups.stories.tsx @@ -0,0 +1,71 @@ +import { storiesOf } from "@storybook/react"; +import React from "react"; +import Decorator from "@saleor/storybook/Decorator"; +import { SearchPermissionGroups_search_edges_node } from "@saleor/searches/types/SearchPermissionGroups"; +import { AccountErrorCode } from "@saleor/types/globalTypes"; +import { StaffErrorFragment } from "@saleor/staff/types/StaffErrorFragment"; +import { MultiAutocompleteChoiceType } from "../MultiAutocompleteSelectField"; +import AccountPermissionGroups, { AccountPermissionGroupsProps } from "."; + +const availablePermissionGroups: SearchPermissionGroups_search_edges_node[] = [ + { + __typename: "Group", + id: "R3JvdXA6MQ==", + name: "Unmanagable by user", + userCanManage: false + }, + { + __typename: "Group", + id: "R3JvdXA6Mg==", + name: "Default group", + userCanManage: true + }, + { + __typename: "Group", + id: "R3JvdXA6Mz==", + name: "Translators", + userCanManage: false + }, + { + __typename: "Group", + id: "R3JvdXA6My==", + name: "CMS", + userCanManage: true + } +]; + +const displayValues: MultiAutocompleteChoiceType[] = [ + { disabled: true, label: "Unmanagable by user", value: "R3JvdXA6MQ==" }, + { disabled: false, label: "Default group", value: "R3JvdXA6Mg==" } +]; + +const formData = { + permissionGroups: ["R3JvdXA6MQ==", "R3JvdXA6Mg=="] +}; + +const errors: StaffErrorFragment[] = [ + { + __typename: "StaffError", + code: AccountErrorCode.OUT_OF_SCOPE_GROUP, + field: "addGroups" + } +]; + +const props: AccountPermissionGroupsProps = { + availablePermissionGroups, + disabled: false, + displayValues, + errors: [], + formData, + hasMore: false, + initialSearch: "", + loading: false, + onChange: () => undefined, + onFetchMore: () => undefined, + onSearchChange: () => undefined +}; + +storiesOf("Generics / Account Permission Groups Widget", module) + .addDecorator(Decorator) + .add("default", () => ) + .add("error", () => ); diff --git a/src/components/AccountPermissionGroups/AccountPermissionGroups.tsx b/src/components/AccountPermissionGroups/AccountPermissionGroups.tsx index 2123b5cf7..812daa4fb 100644 --- a/src/components/AccountPermissionGroups/AccountPermissionGroups.tsx +++ b/src/components/AccountPermissionGroups/AccountPermissionGroups.tsx @@ -12,7 +12,9 @@ import MultiAutocompleteSelectField, { MultiAutocompleteChoiceType } from "../MultiAutocompleteSelectField"; -interface AccountPermissionGroupsProps extends FetchMoreProps, SearchPageProps { +export interface AccountPermissionGroupsProps + extends FetchMoreProps, + SearchPageProps { formData: { permissionGroups: string[]; }; diff --git a/src/components/MultiAutocompleteSelectField/MultiAutocompleteSelectField.tsx b/src/components/MultiAutocompleteSelectField/MultiAutocompleteSelectField.tsx index e7fdbf33a..31f07ccd6 100644 --- a/src/components/MultiAutocompleteSelectField/MultiAutocompleteSelectField.tsx +++ b/src/components/MultiAutocompleteSelectField/MultiAutocompleteSelectField.tsx @@ -53,10 +53,10 @@ const useStyles = makeStyles( }, disabledChipInner: { "& svg": { - color: theme.palette.secondary.contrastText + color: theme.palette.grey[200] }, alignItems: "center", - background: fade(theme.palette.secondary.main, 0.8), + background: fade(theme.palette.grey[400], 0.8), borderRadius: 18, color: theme.palette.primary.contrastText, display: "flex", @@ -194,14 +194,14 @@ const MultiAutocompleteSelectFieldComponent: React.FC {value.label} - {!value.disabled && ( - handleSelect(value.value)} - > - - - )} + + handleSelect(value.value)} + > + + ))} diff --git a/src/storybook/__snapshots__/Stories.test.ts.snap b/src/storybook/__snapshots__/Stories.test.ts.snap index 2fc6dce8d..256772bbf 100644 --- a/src/storybook/__snapshots__/Stories.test.ts.snap +++ b/src/storybook/__snapshots__/Stories.test.ts.snap @@ -48,6 +48,291 @@ exports[`Storyshots Discounts / Select countries default 1`] = ` /> `; +exports[`Storyshots Generics / Account Permission Groups Widget default 1`] = ` +
+
+
+ + +
+
+
+
+
+
+ Unmanagable by user +
+ +
+
+
+
+
+ Default group +
+ +
+
+
+
+`; + +exports[`Storyshots Generics / Account Permission Groups Widget error 1`] = ` +
+
+
+ + +
+
+
+
+
+
+ Unmanagable by user +
+ +
+
+
+
+
+ Default group +
+ +
+
+
+
+ Group is out of your permission scope +
+
+`; + exports[`Storyshots Generics / ActionDialog default 1`] = `
Full Access
+