Add warehouse select
This commit is contained in:
parent
321c9a5712
commit
8f02117865
3 changed files with 20 additions and 3 deletions
|
@ -13,6 +13,7 @@ import SaveButtonBar from "@saleor/components/SaveButtonBar";
|
||||||
import { ShippingErrorFragment } from "@saleor/shipping/types/ShippingErrorFragment";
|
import { ShippingErrorFragment } from "@saleor/shipping/types/ShippingErrorFragment";
|
||||||
import createMultiAutocompleteSelectHandler from "@saleor/utils/handlers/multiAutocompleteSelectChangeHandler";
|
import createMultiAutocompleteSelectHandler from "@saleor/utils/handlers/multiAutocompleteSelectChangeHandler";
|
||||||
import { MultiAutocompleteChoiceType } from "@saleor/components/MultiAutocompleteSelectField";
|
import { MultiAutocompleteChoiceType } from "@saleor/components/MultiAutocompleteSelectField";
|
||||||
|
import useStateFromProps from "@saleor/hooks/useStateFromProps";
|
||||||
import { maybe } from "../../../misc";
|
import { maybe } from "../../../misc";
|
||||||
import { ShippingMethodTypeEnum } from "../../../types/globalTypes";
|
import { ShippingMethodTypeEnum } from "../../../types/globalTypes";
|
||||||
import {
|
import {
|
||||||
|
@ -78,7 +79,7 @@ const ShippingZoneDetailsPage: React.FC<ShippingZoneDetailsPageProps> = ({
|
||||||
name: shippingZone?.name || "",
|
name: shippingZone?.name || "",
|
||||||
warehouses: shippingZone?.warehouses.map(warehouse => warehouse.id) || []
|
warehouses: shippingZone?.warehouses.map(warehouse => warehouse.id) || []
|
||||||
};
|
};
|
||||||
const [warehouseDisplayValues, setWarehouseDisplayValues] = React.useState(
|
const [warehouseDisplayValues, setWarehouseDisplayValues] = useStateFromProps(
|
||||||
shippingZone?.warehouses.map(warehouseToChoice)
|
shippingZone?.warehouses.map(warehouseToChoice)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ export const ShippingZoneWarehouses: React.FC<ShippingZonewWarehousesProps> = pr
|
||||||
<Card>
|
<Card>
|
||||||
<CardTitle
|
<CardTitle
|
||||||
title={intl.formatMessage({
|
title={intl.formatMessage({
|
||||||
defaultMessage: "Visibility",
|
defaultMessage: "Warehouse",
|
||||||
description: "section header"
|
description: "section header"
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
|
@ -46,10 +46,17 @@ export const ShippingZoneWarehouses: React.FC<ShippingZonewWarehousesProps> = pr
|
||||||
displayValues={displayValue}
|
displayValues={displayValue}
|
||||||
fetchChoices={() => undefined}
|
fetchChoices={() => undefined}
|
||||||
hasMore={hasMore}
|
hasMore={hasMore}
|
||||||
|
label={intl.formatMessage({
|
||||||
|
defaultMessage: "Warehouse"
|
||||||
|
})}
|
||||||
loading={loading}
|
loading={loading}
|
||||||
name="warehouse"
|
name="warehouse"
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
onFetchMore={onFetchMore}
|
onFetchMore={onFetchMore}
|
||||||
|
placeholder={intl.formatMessage({
|
||||||
|
defaultMessage: "Select Warehouse",
|
||||||
|
description: "input placeholder"
|
||||||
|
})}
|
||||||
value={data.warehouses}
|
value={data.warehouses}
|
||||||
/>
|
/>
|
||||||
</CardContent>
|
</CardContent>
|
||||||
|
|
|
@ -13,7 +13,8 @@ import {
|
||||||
useShippingRateUpdate,
|
useShippingRateUpdate,
|
||||||
useShippingRateDelete,
|
useShippingRateDelete,
|
||||||
useShippingZoneDelete,
|
useShippingZoneDelete,
|
||||||
useShippingZoneUpdate
|
useShippingZoneUpdate,
|
||||||
|
useAassignShippingZoneToWarehouse
|
||||||
} from "@saleor/shipping/mutations";
|
} from "@saleor/shipping/mutations";
|
||||||
import createDialogActionHandlers from "@saleor/utils/handlers/dialogActionHandlers";
|
import createDialogActionHandlers from "@saleor/utils/handlers/dialogActionHandlers";
|
||||||
import ShippingZoneRateDialog from "@saleor/shipping/components/ShippingZoneRateDialog";
|
import ShippingZoneRateDialog from "@saleor/shipping/components/ShippingZoneRateDialog";
|
||||||
|
@ -55,6 +56,8 @@ const ShippingZoneDetails: React.FC<ShippingZoneDetailsProps> = ({
|
||||||
variables: DEFAULT_INITIAL_SEARCH_DATA
|
variables: DEFAULT_INITIAL_SEARCH_DATA
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const [assignToWarehouse] = useAassignShippingZoneToWarehouse({});
|
||||||
|
|
||||||
const { data, loading } = useShippingZone({
|
const { data, loading } = useShippingZone({
|
||||||
displayLoader: true,
|
displayLoader: true,
|
||||||
variables: { id }
|
variables: { id }
|
||||||
|
@ -132,6 +135,12 @@ const ShippingZoneDetails: React.FC<ShippingZoneDetailsProps> = ({
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
assignToWarehouse({
|
||||||
|
variables: {
|
||||||
|
shippingZoneId: id,
|
||||||
|
warehouseId: data.warehouse
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
if (data?.shippingZone === null) {
|
if (data?.shippingZone === null) {
|
||||||
|
|
Loading…
Reference in a new issue