diff --git a/src/plugins/components/PluginsList/PluginsList.tsx b/src/plugins/components/PluginsList/PluginsList.tsx
index 0086d3559..d6a575a43 100644
--- a/src/plugins/components/PluginsList/PluginsList.tsx
+++ b/src/plugins/components/PluginsList/PluginsList.tsx
@@ -20,28 +20,28 @@ import TableHead from "@saleor/components/TableHead";
import TablePagination from "@saleor/components/TablePagination";
import i18n from "@saleor/i18n";
import { maybe, renderCollection } from "@saleor/misc";
-import { ListActions, ListProps } from "@saleor/types";
-import { PageList_pages_edges_node } from "../../types/PageList";
+import { ListActionsWithoutToolbar, ListProps } from "@saleor/types";
+import { PluginConfigurations_pluginConfigurations_edges_node } from "../../types/pluginConfigurations";
-export interface PluginListProps extends ListProps, ListActions {
- plugins: PageList_pages_edges_node[];
+export interface PluginListProps extends ListProps, ListActionsWithoutToolbar {
+ plugins: PluginConfigurations_pluginConfigurations_edges_node[];
}
const styles = (theme: Theme) =>
createStyles({
[theme.breakpoints.up("lg")]: {
- colActive: {},
- colName: {},
colAction: {
- textAlign: "right",
"& svg": {
color: theme.palette.primary.main
- }
- }
+ },
+ textAlign: "right"
+ },
+ colActive: {},
+ colName: {}
},
- colName: {},
- colActive: {},
colAction: {},
+ colActive: {},
+ colName: {},
link: {
cursor: "pointer"
}
@@ -63,8 +63,7 @@ const PluginList = withStyles(styles, { name: "PluginList" })(
isChecked,
selected,
toggle,
- toggleAll,
- toolbar
+ toggleAll
}: PluginListProps & WithStyles
) => {
return (
@@ -75,7 +74,6 @@ const PluginList = withStyles(styles, { name: "PluginList" })(
disabled={disabled}
items={plugins}
toggleAll={toggleAll}
- toolbar={toolbar}
>
{i18n.t("Name", { context: "table header" })}
diff --git a/src/plugins/components/PluginsListPage/PluginsListPage.tsx b/src/plugins/components/PluginsListPage/PluginsListPage.tsx
index 5375117ae..81d0553f5 100644
--- a/src/plugins/components/PluginsListPage/PluginsListPage.tsx
+++ b/src/plugins/components/PluginsListPage/PluginsListPage.tsx
@@ -1,17 +1,17 @@
-import Button from "@material-ui/core/Button";
-import AddIcon from "@material-ui/icons/Add";
import React from "react";
import AppHeader from "@saleor/components/AppHeader";
import Container from "@saleor/components/Container";
import PageHeader from "@saleor/components/PageHeader";
import i18n from "@saleor/i18n";
-import { ListActions, PageListProps } from "@saleor/types";
-import { PageList_pages_edges_node } from "../../types/PageList";
+import { ListActionsWithoutToolbar, PageListProps } from "@saleor/types";
+import { PluginConfigurations_pluginConfigurations_edges_node } from "../../types/PluginConfigurations";
import PluginsList from "../PluginsList/PluginsList";
-export interface PluginsListPageProps extends PageListProps, ListActions {
- pages: PageList_pages_edges_node[];
+export interface PluginsListPageProps
+ extends PageListProps,
+ ListActionsWithoutToolbar {
+ plugins: PluginConfigurations_pluginConfigurations_edges_node[];
onBack: () => void;
}
@@ -28,8 +28,7 @@ const PluginsListPage: React.StatelessComponent = ({
isChecked,
selected,
toggle,
- toggleAll,
- toolbar
+ toggleAll
}) => (
{i18n.t("Configuration")}
@@ -47,7 +46,6 @@ const PluginsListPage: React.StatelessComponent = ({
selected={selected}
toggle={toggle}
toggleAll={toggleAll}
- toolbar={toolbar}
/>
);
diff --git a/src/plugins/index.tsx b/src/plugins/index.tsx
index 0cd192947..a518872e6 100644
--- a/src/plugins/index.tsx
+++ b/src/plugins/index.tsx
@@ -5,9 +5,9 @@ import { Route, RouteComponentProps, Switch } from "react-router-dom";
import { WindowTitle } from "../components/WindowTitle";
import i18n from "../i18n";
import {
- pluginsPath,
pluginsListPath,
- PluginsListUrlQueryParams
+ PluginsListUrlQueryParams,
+ pluginsPath
} from "./urls";
import PluginsDetailsComponent from "./views/PluginsDetails";
import PluginsListComponent from "./views/PluginsList";
diff --git a/src/plugins/mutations.ts b/src/plugins/mutations.ts
index e52658daa..a5f1834a9 100644
--- a/src/plugins/mutations.ts
+++ b/src/plugins/mutations.ts
@@ -3,13 +3,13 @@ import gql from "graphql-tag";
import { TypedMutation } from "../mutations";
import { pluginsDetailsFragment } from "./queries";
import {
- pluginConfigurationUpdate,
- pluginConfigurationUpdateVariables
+ PluginConfigurationUpdate,
+ PluginConfigurationUpdateVariables
} from "./types/pluginConfigurationUpdate";
const pluginConfigurationUpdate = gql`
${pluginsDetailsFragment}
- mutation pluginConfigurationUpdate(
+ mutation PluginConfigurationUpdate(
$id: ID!
$input: PluginConfigurationUpdateInput!
) {
@@ -25,6 +25,6 @@ const pluginConfigurationUpdate = gql`
}
`;
export const TypedPluginConfigurationUpdate = TypedMutation<
- pluginConfigurationUpdate,
- pluginConfigurationUpdateVariables
+ PluginConfigurationUpdate,
+ PluginConfigurationUpdateVariables
>(pluginConfigurationUpdate);
diff --git a/src/plugins/queries.ts b/src/plugins/queries.ts
index f5d90461c..518895048 100644
--- a/src/plugins/queries.ts
+++ b/src/plugins/queries.ts
@@ -1,8 +1,14 @@
import gql from "graphql-tag";
import { TypedQuery } from "../queries";
-import { PluginDetails, PluginDetailsVariables } from "./types/PluginDetails";
-import { PluginsList, PluginsListVariables } from "./types/PluginsList";
+import {
+ PluginConfiguration,
+ PluginConfigurationVariables
+} from "./types/pluginConfiguration";
+import {
+ PluginConfigurations,
+ PluginConfigurationsVariables
+} from "./types/pluginConfigurations";
export const pluginsFragment = gql`
fragment pluginFragment on PluginConfiguration {
@@ -29,7 +35,7 @@ export const pluginsDetailsFragment = gql`
const pluginsList = gql`
${pluginsFragment}
- query pluginConfigurations(
+ query PluginConfigurations(
$first: Int
$after: String
$last: Int
@@ -46,23 +52,29 @@ const pluginsList = gql`
...pluginFragment
}
}
+ pageInfo {
+ hasPreviousPage
+ hasNextPage
+ startCursor
+ endCursor
+ }
}
}
`;
export const TypedPluginsListQuery = TypedQuery<
- PluginsList,
- PluginsListVariables
+ PluginConfigurations,
+ PluginConfigurationsVariables
>(pluginsList);
const pluginsDetails = gql`
${pluginsDetailsFragment}
- query pluginConfiguration($id: ID!) {
+ query PluginConfiguration($id: ID!) {
pluginConfiguration(id: $id) {
...pluginsDetailsFragment
}
}
`;
export const TypedPluginsDetailsQuery = TypedQuery<
- PluginDetails,
- PluginDetailsVariables
+ PluginConfiguration,
+ PluginConfigurationVariables
>(pluginsDetails);
diff --git a/src/plugins/types/pluginConfiguration.ts b/src/plugins/types/pluginConfiguration.ts
index 2ca376f07..9a339ce17 100644
--- a/src/plugins/types/pluginConfiguration.ts
+++ b/src/plugins/types/pluginConfiguration.ts
@@ -5,10 +5,10 @@
import { ConfigurationTypeFieldEnum } from "./../../types/globalTypes";
// ====================================================
-// GraphQL query operation: pluginConfiguration
+// GraphQL query operation: PluginConfiguration
// ====================================================
-export interface pluginConfiguration_pluginConfiguration_configuration {
+export interface PluginConfiguration_pluginConfiguration_configuration {
__typename: "ConfigurationItem";
name: string;
type: ConfigurationTypeFieldEnum | null;
@@ -17,19 +17,19 @@ export interface pluginConfiguration_pluginConfiguration_configuration {
label: string | null;
}
-export interface pluginConfiguration_pluginConfiguration {
+export interface PluginConfiguration_pluginConfiguration {
__typename: "PluginConfiguration";
id: string;
name: string;
description: string;
active: boolean;
- configuration: (pluginConfiguration_pluginConfiguration_configuration | null)[] | null;
+ configuration: (PluginConfiguration_pluginConfiguration_configuration | null)[] | null;
}
-export interface pluginConfiguration {
- pluginConfiguration: pluginConfiguration_pluginConfiguration | null;
+export interface PluginConfiguration {
+ pluginConfiguration: PluginConfiguration_pluginConfiguration | null;
}
-export interface pluginConfigurationVariables {
+export interface PluginConfigurationVariables {
id: string;
}
diff --git a/src/plugins/types/pluginConfigurationUpdate.ts b/src/plugins/types/pluginConfigurationUpdate.ts
index 0d3e0beec..fbd7db2a9 100644
--- a/src/plugins/types/pluginConfigurationUpdate.ts
+++ b/src/plugins/types/pluginConfigurationUpdate.ts
@@ -5,16 +5,16 @@
import { PluginConfigurationUpdateInput, ConfigurationTypeFieldEnum } from "./../../types/globalTypes";
// ====================================================
-// GraphQL mutation operation: pluginConfigurationUpdate
+// GraphQL mutation operation: PluginConfigurationUpdate
// ====================================================
-export interface pluginConfigurationUpdate_pluginConfigurationUpdate_errors {
+export interface PluginConfigurationUpdate_pluginConfigurationUpdate_errors {
__typename: "Error";
field: string | null;
message: string | null;
}
-export interface pluginConfigurationUpdate_pluginConfigurationUpdate_pluginConfiguration_configuration {
+export interface PluginConfigurationUpdate_pluginConfigurationUpdate_pluginConfiguration_configuration {
__typename: "ConfigurationItem";
name: string;
type: ConfigurationTypeFieldEnum | null;
@@ -23,26 +23,26 @@ export interface pluginConfigurationUpdate_pluginConfigurationUpdate_pluginConfi
label: string | null;
}
-export interface pluginConfigurationUpdate_pluginConfigurationUpdate_pluginConfiguration {
+export interface PluginConfigurationUpdate_pluginConfigurationUpdate_pluginConfiguration {
__typename: "PluginConfiguration";
id: string;
name: string;
description: string;
active: boolean;
- configuration: (pluginConfigurationUpdate_pluginConfigurationUpdate_pluginConfiguration_configuration | null)[] | null;
+ configuration: (PluginConfigurationUpdate_pluginConfigurationUpdate_pluginConfiguration_configuration | null)[] | null;
}
-export interface pluginConfigurationUpdate_pluginConfigurationUpdate {
+export interface PluginConfigurationUpdate_pluginConfigurationUpdate {
__typename: "PluginConfigurationUpdate";
- errors: pluginConfigurationUpdate_pluginConfigurationUpdate_errors[] | null;
- pluginConfiguration: pluginConfigurationUpdate_pluginConfigurationUpdate_pluginConfiguration | null;
+ errors: PluginConfigurationUpdate_pluginConfigurationUpdate_errors[] | null;
+ pluginConfiguration: PluginConfigurationUpdate_pluginConfigurationUpdate_pluginConfiguration | null;
}
-export interface pluginConfigurationUpdate {
- pluginConfigurationUpdate: pluginConfigurationUpdate_pluginConfigurationUpdate | null;
+export interface PluginConfigurationUpdate {
+ pluginConfigurationUpdate: PluginConfigurationUpdate_pluginConfigurationUpdate | null;
}
-export interface pluginConfigurationUpdateVariables {
+export interface PluginConfigurationUpdateVariables {
id: string;
input: PluginConfigurationUpdateInput;
}
diff --git a/src/plugins/types/pluginConfigurations.ts b/src/plugins/types/pluginConfigurations.ts
index 3204a58d7..cf8b48ce9 100644
--- a/src/plugins/types/pluginConfigurations.ts
+++ b/src/plugins/types/pluginConfigurations.ts
@@ -3,10 +3,10 @@
// This file was automatically generated and should not be edited.
// ====================================================
-// GraphQL query operation: pluginConfigurations
+// GraphQL query operation: PluginConfigurations
// ====================================================
-export interface pluginConfigurations_pluginConfigurations_edges_node {
+export interface PluginConfigurations_pluginConfigurations_edges_node {
__typename: "PluginConfiguration";
id: string;
name: string;
@@ -14,21 +14,30 @@ export interface pluginConfigurations_pluginConfigurations_edges_node {
active: boolean;
}
-export interface pluginConfigurations_pluginConfigurations_edges {
+export interface PluginConfigurations_pluginConfigurations_edges {
__typename: "PluginConfigurationCountableEdge";
- node: pluginConfigurations_pluginConfigurations_edges_node;
+ node: PluginConfigurations_pluginConfigurations_edges_node;
}
-export interface pluginConfigurations_pluginConfigurations {
+export interface PluginConfigurations_pluginConfigurations_pageInfo {
+ __typename: "PageInfo";
+ hasPreviousPage: boolean;
+ hasNextPage: boolean;
+ startCursor: string | null;
+ endCursor: string | null;
+}
+
+export interface PluginConfigurations_pluginConfigurations {
__typename: "PluginConfigurationCountableConnection";
- edges: pluginConfigurations_pluginConfigurations_edges[];
+ edges: PluginConfigurations_pluginConfigurations_edges[];
+ pageInfo: PluginConfigurations_pluginConfigurations_pageInfo;
}
-export interface pluginConfigurations {
- pluginConfigurations: pluginConfigurations_pluginConfigurations | null;
+export interface PluginConfigurations {
+ pluginConfigurations: PluginConfigurations_pluginConfigurations | null;
}
-export interface pluginConfigurationsVariables {
+export interface PluginConfigurationsVariables {
first?: number | null;
after?: string | null;
last?: number | null;
diff --git a/src/plugins/views/PluginsDetails.tsx b/src/plugins/views/PluginsDetails.tsx
index 12d00bf61..840ba1f16 100644
--- a/src/plugins/views/PluginsDetails.tsx
+++ b/src/plugins/views/PluginsDetails.tsx
@@ -1,29 +1,22 @@
-import DialogContentText from "@material-ui/core/DialogContentText";
import React from "react";
-import ActionDialog from "@saleor/components/ActionDialog";
import { WindowTitle } from "@saleor/components/WindowTitle";
import useNavigator from "@saleor/hooks/useNavigator";
-import useNotifier from "@saleor/hooks/useNotifier";
-import i18n from "../../i18n";
import { getMutationState, maybe } from "../../misc";
-import { PluginConfigurationUpdateInput } from "../../types/globalTypes";
-import PluginsDetailsPage, { FormData } from "../components/PluginsDetailsPage";
+import PluginsDetailsPage from "../components/PluginsDetailsPage";
import { TypedPluginConfigurationUpdate } from "../mutations";
import { TypedPluginsDetailsQuery } from "../queries";
-import { pluginsListUrl, pluginsUrl, PluginsUrlQueryParams } from "../urls";
+import { pluginsListUrl, PluginsListUrlQueryParams } from "../urls";
export interface PluginsDetailsProps {
id: string;
- params: PluginsUrlQueryParams;
+ params: PluginsListUrlQueryParams;
}
export const PluginsDetails: React.StatelessComponent = ({
- id,
- params
+ id
}) => {
const navigate = useNavigator();
- const notify = useNotifier();
return (
@@ -35,7 +28,8 @@ export const PluginsDetails: React.StatelessComponent = ({
pluginConfigurationUpdateOpts.loading,
maybe(
() =>
- pluginConfigurationUpdateOpts.data.pluginConfiguration.errors
+ pluginConfigurationUpdateOpts.data.pluginConfigurationUpdate
+ .errors
)
);
@@ -50,8 +44,8 @@ export const PluginsDetails: React.StatelessComponent = ({
disabled={PluginDetails.loading}
errors={maybe(
() =>
- pluginConfigurationUpdateOpts.data.pluginConfiguration
- .errors,
+ pluginConfigurationUpdateOpts.data
+ .pluginConfigurationUpdate.errors,
[]
)}
saveButtonBarState={formTransitionState}
@@ -62,7 +56,7 @@ export const PluginsDetails: React.StatelessComponent = ({
formData.configuration.map(item => {
configurationInput.push({
name: item.name,
- value: item.value
+ value: item.value.toString()
});
});
pluginConfigurationUpdate({
diff --git a/src/plugins/views/PluginsList.tsx b/src/plugins/views/PluginsList.tsx
index ef954a175..58d2ea0c4 100644
--- a/src/plugins/views/PluginsList.tsx
+++ b/src/plugins/views/PluginsList.tsx
@@ -1,29 +1,16 @@
-import Button from "@material-ui/core/Button";
-import DialogContentText from "@material-ui/core/DialogContentText";
-import IconButton from "@material-ui/core/IconButton";
-import DeleteIcon from "@material-ui/icons/Delete";
-import React from "react";
-
-import ActionDialog from "@saleor/components/ActionDialog";
import { configurationMenuUrl } from "@saleor/configuration";
import useBulkActions from "@saleor/hooks/useBulkActions";
import useListSettings from "@saleor/hooks/useListSettings";
import useNavigator from "@saleor/hooks/useNavigator";
-import useNotifier from "@saleor/hooks/useNotifier";
import usePaginator, {
createPaginationState
} from "@saleor/hooks/usePaginator";
-import i18n from "@saleor/i18n";
-import { getMutationState, maybe } from "@saleor/misc";
+import { maybe } from "@saleor/misc";
import { ListViews } from "@saleor/types";
+import React from "react";
import PluginsListPage from "../components/PluginsListPage/PluginsListPage";
import { TypedPluginsListQuery } from "../queries";
-import {
- pluginsListUrl,
- PluginsListUrlDialog,
- PluginsListUrlQueryParams,
- pluginsUrl
-} from "../urls";
+import { PluginsListUrlQueryParams, pluginsUrl } from "../urls";
interface PluginsListProps {
params: PluginsListUrlQueryParams;
@@ -33,25 +20,23 @@ export const PluginsList: React.StatelessComponent = ({
params
}) => {
const navigate = useNavigator();
- const notify = useNotifier();
const paginate = usePaginator();
- const { isSelected, listElements, reset, toggle, toggleAll } = useBulkActions(
+ const { isSelected, listElements, toggle, toggleAll } = useBulkActions(
params.ids
);
const { updateListSettings, settings } = useListSettings(
- ListViews.PAGES_LIST
+ ListViews.PLUGINS_LIST
);
const paginationState = createPaginationState(settings.rowNumber, params);
return (
- {({ data, loading, refetch }) => {
+ {({ data, loading }) => {
const { loadNextPage, loadPreviousPage, pageInfo } = paginate(
- maybe(() => data.pages.pageInfo),
+ maybe(() => data.pluginConfigurations.pageInfo),
paginationState,
params
);
-
return (
<>
= ({
data.pluginConfigurations.edges.map(edge => edge.node)
)}
pageInfo={pageInfo}
+ onAdd={() => navigate(configurationMenuUrl)}
onBack={() => navigate(configurationMenuUrl)}
onNextPage={loadNextPage}
onPreviousPage={loadPreviousPage}
diff --git a/src/types.ts b/src/types.ts
index dad6b8952..8a6b01353 100644
--- a/src/types.ts
+++ b/src/types.ts
@@ -23,6 +23,7 @@ export enum ListViews {
NAVIGATION_LIST = "NAVIGATION_LIST",
ORDER_LIST = "ORDER_LIST",
PAGES_LIST = "PAGES_LIST",
+ PLUGINS_LIST = "PLUGIN_LIST",
PRODUCT_LIST = "PRODUCT_LIST",
SALES_LIST = "SALES_LIST",
SHIPPING_METHODS_LIST = "SHIPPING_METHODS_LIST",