Revert changes of product urls

This commit is contained in:
Dawid Tarasiuk 2020-09-22 12:50:28 +02:00
parent e8e1162698
commit 6d39899db3
8 changed files with 18 additions and 64 deletions

View file

@ -211,7 +211,7 @@ export const CategoryDetails: React.FC<CategoryDetailsProps> = ({
disabled={loading}
errors={updateResult.data?.categoryUpdate.errors || []}
onAddCategory={() => navigate(categoryAddUrl(id))}
onAddProduct={() => navigate(productAddUrl())}
onAddProduct={() => navigate(productAddUrl)}
onBack={() =>
navigate(
maybe(() => categoryUrl(data.category.parent.id), categoryListUrl())

View file

@ -46,7 +46,7 @@ export function searchInCommands(
{
label: intl.formatMessage(messages.createProduct),
onClick: () => {
navigate(productAddUrl());
navigate(productAddUrl);
return false;
}
},

View file

@ -9,7 +9,6 @@ import { Route, RouteComponentProps, Switch } from "react-router-dom";
import { WindowTitle } from "../components/WindowTitle";
import {
productAddPath,
ProductAddUrlQueryParams,
productImagePath,
ProductImageUrlQueryParams,
productListPath,
@ -18,12 +17,11 @@ import {
productPath,
ProductUrlQueryParams,
productVariantAddPath,
ProductVariantAddUrlQueryParams,
productVariantCreatorPath,
productVariantEditPath,
ProductVariantEditUrlQueryParams
} from "./urls";
import ProductCreateComponent from "./views/ProductCreate";
import ProductCreate from "./views/ProductCreate";
import ProductImageComponent from "./views/ProductImage";
import ProductListComponent from "./views/ProductList";
import ProductUpdateComponent from "./views/ProductUpdate";
@ -47,13 +45,6 @@ const ProductList: React.FC<RouteComponentProps<any>> = ({ location }) => {
return <ProductListComponent params={params} />;
};
const ProductCreate: React.FC<RouteComponentProps> = () => {
const qs = parseQs(location.search.substr(1));
const params: ProductAddUrlQueryParams = qs;
return <ProductCreateComponent params={params} />;
};
const ProductUpdate: React.FC<RouteComponentProps<any>> = ({ match }) => {
const qs = parseQs(location.search.substr(1));
const params: ProductUrlQueryParams = qs;
@ -100,17 +91,11 @@ const ProductImage: React.FC<RouteComponentProps<any>> = ({
const ProductVariantCreate: React.FC<RouteComponentProps<any>> = ({
match
}) => {
const qs = parseQs(location.search.substr(1));
const params: ProductVariantAddUrlQueryParams = qs;
return (
<ProductVariantCreateComponent
productId={decodeURIComponent(match.params.id)}
params={params}
/>
);
};
}) => (
<ProductVariantCreateComponent
productId={decodeURIComponent(match.params.id)}
/>
);
const ProductVariantCreator: React.FC<RouteComponentProps<{
id: string;

View file

@ -16,10 +16,7 @@ import { stringifyQs } from "../utils/urls";
const productSection = "/products/";
export const productAddPath = urlJoin(productSection, "add");
export type ProductAddUrlDialog = "leave-screen";
export type ProductAddUrlQueryParams = Dialog<ProductAddUrlDialog>;
export const productAddUrl = (params?: ProductAddUrlQueryParams) =>
productAddPath + "?" + stringifyQs(params);
export const productAddUrl = productAddPath;
export const productListPath = productSection;
export type ProductListUrlDialog =
@ -69,14 +66,14 @@ export const productListUrl = (params?: ProductListUrlQueryParams): string =>
productListPath + "?" + stringifyQs(params);
export const productPath = (id: string) => urlJoin(productSection + id);
export type ProductUrlDialog = "remove" | "remove-variants" | "leave-screen";
export type ProductUrlDialog = "remove" | "remove-variants";
export type ProductUrlQueryParams = BulkAction & Dialog<ProductUrlDialog>;
export const productUrl = (id: string, params?: ProductUrlQueryParams) =>
productPath(encodeURIComponent(id)) + "?" + stringifyQs(params);
export const productVariantEditPath = (productId: string, variantId: string) =>
urlJoin(productSection, productId, "variant", variantId);
export type ProductVariantEditUrlDialog = "remove" | "leave-screen";
export type ProductVariantEditUrlDialog = "remove";
export type ProductVariantEditUrlQueryParams = Dialog<
ProductVariantEditUrlDialog
>;
@ -99,17 +96,8 @@ export const productVariantCreatorUrl = (productId: string) =>
export const productVariantAddPath = (productId: string) =>
urlJoin(productSection, productId, "variant/add");
export type ProductVariantAddUrlDialog = "leave-screen";
export type ProductVariantAddUrlQueryParams = Dialog<
ProductVariantAddUrlDialog
>;
export const productVariantAddUrl = (
productId: string,
params?: ProductVariantAddUrlQueryParams
): string =>
productVariantAddPath(encodeURIComponent(productId)) +
"?" +
stringifyQs(params);
export const productVariantAddUrl = (productId: string): string =>
productVariantAddPath(encodeURIComponent(productId));
export const productImagePath = (productId: string, imageId: string) =>
urlJoin(productSection, productId, "image", imageId);

View file

@ -28,13 +28,9 @@ import {
useProductCreateMutation,
useProductSetAvailabilityForPurchase
} from "../mutations";
import { ProductAddUrlQueryParams, productListUrl, productUrl } from "../urls";
import { productListUrl, productUrl } from "../urls";
interface ProductCreateViewProps {
params: ProductAddUrlQueryParams;
}
export const ProductCreateView: React.FC<ProductCreateViewProps> = ({}) => {
export const ProductCreateView: React.FC = () => {
const navigate = useNavigator();
const notify = useNotifier();
const shop = useShop();

View file

@ -344,7 +344,7 @@ export const ProductList: React.FC<ProductListProps> = ({ params }) => {
() => attributes.data.availableInGrid.pageInfo.hasNextPage,
false
)}
onAdd={() => navigate(productAddUrl())}
onAdd={() => navigate(productAddUrl)}
disabled={loading}
products={maybe(() => data.products.edges.map(edge => edge.node))}
onFetchMore={() =>

View file

@ -1,5 +1,4 @@
import placeholderImg from "@assets/images/placeholder255x255.png";
import LeaveScreenDialog from "@saleor/components/LeaveScreenDialog";
import NotFoundPage from "@saleor/components/NotFoundPage";
import { WindowTitle } from "@saleor/components/WindowTitle";
import useNavigator from "@saleor/hooks/useNavigator";
@ -54,7 +53,6 @@ export const ProductVariant: React.FC<ProductUpdateProps> = ({
productId,
params
}) => {
const { action } = params;
const shop = useShop();
const navigate = useNavigator();
const notify = useNotifier();
@ -82,7 +80,7 @@ export const ProductVariant: React.FC<ProductUpdateProps> = ({
const [updateMetadata] = useMetadataUpdate({});
const [updatePrivateMetadata] = usePrivateMetadataUpdate({});
const [openModal, closeModal] = createDialogActionHandlers<
const [openModal] = createDialogActionHandlers<
ProductVariantEditUrlDialog,
ProductVariantEditUrlQueryParams
>(
@ -258,13 +256,6 @@ export const ProductVariant: React.FC<ProductUpdateProps> = ({
open={params.action === "remove"}
name={data?.productVariant?.name}
/>
<LeaveScreenDialog
onSaveChanges={() => navigate(warehouseListPath)}
onRejectChanges={() => navigate(warehouseListPath)}
onClose={closeModal}
open={action === "leave-screen"}
confirmButtonState="default"
/>
</>
);
};

View file

@ -24,17 +24,11 @@ import {
useVariantCreateMutation
} from "../mutations";
import { useProductVariantCreateQuery } from "../queries";
import {
productListUrl,
productUrl,
ProductVariantAddUrlQueryParams,
productVariantEditUrl
} from "../urls";
import { productListUrl, productUrl, productVariantEditUrl } from "../urls";
import { createVariantReorderHandler } from "./ProductUpdate/handlers";
interface ProductVariantCreateProps {
productId: string;
params: ProductVariantAddUrlQueryParams;
}
export const ProductVariant: React.FC<ProductVariantCreateProps> = ({