2021-05-28 09:59:25 +00:00
|
|
|
import {
|
|
|
|
attributeValueFragment,
|
|
|
|
attributeValueListFragment
|
|
|
|
} from "@saleor/fragments/attributes";
|
2020-07-07 10:14:12 +00:00
|
|
|
import { pageInfoFragment } from "@saleor/fragments/pageInfo";
|
|
|
|
import {
|
|
|
|
fragmentVariant,
|
|
|
|
productFragment,
|
|
|
|
productFragmentDetails,
|
2020-12-16 10:53:28 +00:00
|
|
|
productVariantAttributesFragment,
|
|
|
|
variantAttributeFragment
|
2020-07-07 10:14:12 +00:00
|
|
|
} from "@saleor/fragments/products";
|
2020-09-23 08:29:13 +00:00
|
|
|
import { taxTypeFragment } from "@saleor/fragments/taxes";
|
2020-07-07 10:14:12 +00:00
|
|
|
import { warehouseFragment } from "@saleor/fragments/warehouses";
|
2020-01-15 15:36:45 +00:00
|
|
|
import makeQuery from "@saleor/hooks/makeQuery";
|
2021-03-17 13:07:48 +00:00
|
|
|
import {
|
|
|
|
ProductMediaById,
|
|
|
|
ProductMediaByIdVariables
|
|
|
|
} from "@saleor/products/types/ProductMediaById";
|
2020-05-14 09:30:32 +00:00
|
|
|
import gql from "graphql-tag";
|
|
|
|
|
|
|
|
import {
|
|
|
|
CreateMultipleVariantsData,
|
|
|
|
CreateMultipleVariantsDataVariables
|
|
|
|
} from "./types/CreateMultipleVariantsData";
|
2020-07-07 10:14:12 +00:00
|
|
|
import {
|
|
|
|
GridAttributes,
|
|
|
|
GridAttributesVariables
|
|
|
|
} from "./types/GridAttributes";
|
2021-05-28 09:59:25 +00:00
|
|
|
import {
|
|
|
|
InitialProductFilterAttributes,
|
|
|
|
InitialProductFilterAttributesVariables
|
|
|
|
} from "./types/InitialProductFilterAttributes";
|
2020-05-14 09:30:32 +00:00
|
|
|
import {
|
2021-04-08 16:14:15 +00:00
|
|
|
InitialProductFilterCategories,
|
|
|
|
InitialProductFilterCategoriesVariables
|
|
|
|
} from "./types/InitialProductFilterCategories";
|
|
|
|
import {
|
|
|
|
InitialProductFilterCollections,
|
|
|
|
InitialProductFilterCollectionsVariables
|
|
|
|
} from "./types/InitialProductFilterCollections";
|
|
|
|
import {
|
|
|
|
InitialProductFilterProductTypes,
|
|
|
|
InitialProductFilterProductTypesVariables
|
|
|
|
} from "./types/InitialProductFilterProductTypes";
|
2021-05-11 12:26:17 +00:00
|
|
|
import { ProductCount, ProductCountVariables } from "./types/ProductCount";
|
2019-06-19 14:40:52 +00:00
|
|
|
import {
|
|
|
|
ProductDetails,
|
|
|
|
ProductDetailsVariables
|
|
|
|
} from "./types/ProductDetails";
|
|
|
|
import { ProductList, ProductListVariables } from "./types/ProductList";
|
2021-04-08 16:14:15 +00:00
|
|
|
import { ProductType, ProductTypeVariables } from "./types/ProductType";
|
2019-06-19 14:40:52 +00:00
|
|
|
import {
|
|
|
|
ProductVariantCreateData,
|
|
|
|
ProductVariantCreateDataVariables
|
|
|
|
} from "./types/ProductVariantCreateData";
|
|
|
|
import {
|
|
|
|
ProductVariantDetails,
|
|
|
|
ProductVariantDetailsVariables
|
|
|
|
} from "./types/ProductVariantDetails";
|
|
|
|
|
2021-04-08 16:14:15 +00:00
|
|
|
const initialProductFilterAttributesQuery = gql`
|
2021-05-28 09:59:25 +00:00
|
|
|
${pageInfoFragment}
|
|
|
|
query InitialProductFilterAttributes(
|
|
|
|
$firstValues: Int
|
|
|
|
$afterValues: String
|
|
|
|
$lastValues: Int
|
|
|
|
$beforeValues: String
|
|
|
|
) {
|
2021-04-08 16:14:15 +00:00
|
|
|
attributes(
|
|
|
|
first: 100
|
|
|
|
filter: { filterableInDashboard: true, type: PRODUCT_TYPE }
|
|
|
|
) {
|
2020-01-17 14:25:50 +00:00
|
|
|
edges {
|
|
|
|
node {
|
|
|
|
id
|
|
|
|
name
|
|
|
|
slug
|
2021-05-28 09:59:25 +00:00
|
|
|
values(
|
|
|
|
first: $firstValues
|
|
|
|
after: $afterValues
|
|
|
|
last: $lastValues
|
|
|
|
before: $beforeValues
|
|
|
|
) {
|
|
|
|
pageInfo {
|
|
|
|
...PageInfoFragment
|
|
|
|
}
|
|
|
|
edges {
|
|
|
|
cursor
|
|
|
|
node {
|
|
|
|
id
|
|
|
|
name
|
|
|
|
slug
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2020-01-17 14:25:50 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2021-04-08 16:14:15 +00:00
|
|
|
}
|
|
|
|
`;
|
|
|
|
export const useInitialProductFilterAttributesQuery = makeQuery<
|
|
|
|
InitialProductFilterAttributes,
|
2021-05-28 09:59:25 +00:00
|
|
|
InitialProductFilterAttributesVariables
|
2021-04-08 16:14:15 +00:00
|
|
|
>(initialProductFilterAttributesQuery);
|
|
|
|
|
|
|
|
const initialProductFilterCategoriesQuery = gql`
|
|
|
|
query InitialProductFilterCategories($categories: [ID!]) {
|
2020-01-16 13:49:06 +00:00
|
|
|
categories(first: 100, filter: { ids: $categories }) {
|
|
|
|
edges {
|
|
|
|
node {
|
|
|
|
id
|
|
|
|
name
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2021-04-08 16:14:15 +00:00
|
|
|
}
|
|
|
|
`;
|
|
|
|
export const useInitialProductFilterCategoriesQuery = makeQuery<
|
|
|
|
InitialProductFilterCategories,
|
|
|
|
InitialProductFilterCategoriesVariables
|
|
|
|
>(initialProductFilterCategoriesQuery);
|
|
|
|
|
|
|
|
const initialProductFilterCollectionsQuery = gql`
|
|
|
|
query InitialProductFilterCollections($collections: [ID!]) {
|
2020-01-16 13:49:06 +00:00
|
|
|
collections(first: 100, filter: { ids: $collections }) {
|
2020-01-15 15:36:45 +00:00
|
|
|
edges {
|
|
|
|
node {
|
|
|
|
id
|
|
|
|
name
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2021-04-08 16:14:15 +00:00
|
|
|
}
|
|
|
|
`;
|
|
|
|
export const useInitialProductFilterCollectionsQuery = makeQuery<
|
|
|
|
InitialProductFilterCollections,
|
|
|
|
InitialProductFilterCollectionsVariables
|
|
|
|
>(initialProductFilterCollectionsQuery);
|
|
|
|
|
|
|
|
const initialProductFilterProductTypesQuery = gql`
|
|
|
|
query InitialProductFilterProductTypes($productTypes: [ID!]) {
|
2020-01-16 13:49:06 +00:00
|
|
|
productTypes(first: 100, filter: { ids: $productTypes }) {
|
2020-01-15 15:36:45 +00:00
|
|
|
edges {
|
|
|
|
node {
|
|
|
|
id
|
|
|
|
name
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
`;
|
2021-04-08 16:14:15 +00:00
|
|
|
export const useInitialProductFilterProductTypesQuery = makeQuery<
|
|
|
|
InitialProductFilterProductTypes,
|
|
|
|
InitialProductFilterProductTypesVariables
|
|
|
|
>(initialProductFilterProductTypesQuery);
|
2020-01-15 15:36:45 +00:00
|
|
|
|
2019-06-19 14:40:52 +00:00
|
|
|
const productListQuery = gql`
|
|
|
|
${productFragment}
|
2020-12-16 10:53:28 +00:00
|
|
|
${attributeValueFragment}
|
2019-06-19 14:40:52 +00:00
|
|
|
query ProductList(
|
|
|
|
$first: Int
|
|
|
|
$after: String
|
|
|
|
$last: Int
|
|
|
|
$before: String
|
|
|
|
$filter: ProductFilterInput
|
2019-09-13 11:33:42 +00:00
|
|
|
$sort: ProductOrder
|
2019-06-19 14:40:52 +00:00
|
|
|
) {
|
|
|
|
products(
|
|
|
|
before: $before
|
|
|
|
after: $after
|
|
|
|
first: $first
|
|
|
|
last: $last
|
|
|
|
filter: $filter
|
2019-09-13 11:33:42 +00:00
|
|
|
sortBy: $sort
|
2019-06-19 14:40:52 +00:00
|
|
|
) {
|
|
|
|
edges {
|
|
|
|
node {
|
|
|
|
...ProductFragment
|
2019-08-13 09:04:52 +00:00
|
|
|
attributes {
|
|
|
|
attribute {
|
|
|
|
id
|
|
|
|
}
|
|
|
|
values {
|
2020-12-16 10:53:28 +00:00
|
|
|
...AttributeValueFragment
|
2019-08-13 09:04:52 +00:00
|
|
|
}
|
|
|
|
}
|
2019-06-19 14:40:52 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
pageInfo {
|
|
|
|
hasPreviousPage
|
|
|
|
hasNextPage
|
|
|
|
startCursor
|
|
|
|
endCursor
|
|
|
|
}
|
2020-07-30 09:54:16 +00:00
|
|
|
totalCount
|
2019-06-19 14:40:52 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
`;
|
2020-08-24 10:10:48 +00:00
|
|
|
export const useProductListQuery = makeQuery<ProductList, ProductListVariables>(
|
|
|
|
productListQuery
|
|
|
|
);
|
2019-06-19 14:40:52 +00:00
|
|
|
|
2021-05-11 12:26:17 +00:00
|
|
|
const productCountQuery = gql`
|
|
|
|
query ProductCount($filter: ProductFilterInput) {
|
|
|
|
products(filter: $filter) {
|
2020-07-30 09:54:16 +00:00
|
|
|
totalCount
|
|
|
|
}
|
|
|
|
}
|
|
|
|
`;
|
2021-05-11 12:26:17 +00:00
|
|
|
|
|
|
|
export const useProductCountQuery = makeQuery<
|
|
|
|
ProductCount,
|
|
|
|
ProductCountVariables
|
|
|
|
>(productCountQuery);
|
2020-07-30 09:54:16 +00:00
|
|
|
|
2019-06-19 14:40:52 +00:00
|
|
|
const productDetailsQuery = gql`
|
|
|
|
${productFragmentDetails}
|
2020-09-23 08:29:13 +00:00
|
|
|
${taxTypeFragment}
|
2021-05-28 09:59:25 +00:00
|
|
|
query ProductDetails(
|
|
|
|
$id: ID!
|
|
|
|
$channel: String
|
|
|
|
$firstValues: Int
|
|
|
|
$afterValues: String
|
|
|
|
$lastValues: Int
|
|
|
|
$beforeValues: String
|
|
|
|
) {
|
Multichannel (#833)
* add multichannel to configuration view
* create multichannels list view
* create multichannels list view
* add ChannelsCreate view
* update channels in configuration
* add stories
* update default messages
* fix ChannelForm props
* update channels list styles
* update snapshots
* update channel form currency input
* update Channels fragments
* extract messages
* remove tabs from channelsList
* channel details, channel delete modal (#598)
* create Channel details view
* create ChannelDeleteDialog
* add channels delete dialog to channels list
* update messages and types
* fixes after review
* channels availability (#609)
* create Channel details view
* update messages and types
* create ChannelsAvailability component
* create more product channels components
* create channels stories, update fixtures, types
* update product views with channels data
* update schema and snapshots
* update defaultMessages
* update ProductUpdate view
* create ChannelsAvailabilityDropdown component
* add product channels to local storage
* update globalTypes
* Update to new schema and resolve issues
* Update messages
* create deleteChannel mutation
* add channels availability component to product create view
* refactor ProductCreate and ProductUpdate views
* CollectionProducts view cleanup
* add disabled prop to ActionDialog
* use updateChannels mutation in ProductCreate view
* ProductCreate - update submit function
* fixes after review
* update snapshots and messages
Co-authored-by: Krzysztof Wolski <krzysztof.k.wolski@gmail.com>
* channels shipping components (#655)
* create PricingCard, OrderValue and OrderWeight components
* create ShippingZoneRatesPage and DeleteShippingRateDialog
* update ChannelsAvailability component
* updates after review
* channels shipping views (#662)
* update ChannelsAvailability component
* updates after review
* create PriceRate views, update types
* create weight rates views
* update shipping views, stories, messages
* update snapshots
* update snapshots
* update useChannels hook
* orders channels components (#698)
* create OrderChannelSectionCard component
* update OrderDetailsPage
* update DraftOrderChannelCard
* update snapshots
* update fixtures
* small change after review, update snapshots
* product pricing (#702)
* update product types
* update Pricing in simple product view
* use productVariantCreate mutation in simple product view
* update snapshots and messages
* handle create variant (#715)
* update product types
* update Pricing in simple product view
* handle product create and update errors
* update snapshots and messages
* fix update and create product handlers
* update pricing types
* channels modal - new styles, search input (#717)
* update product types
* update Pricing in simple product view
* handle product create and update errors
* update pricing types
* add search input in ChannelsAvailabilityDialog
* update ChannelsAvailabilityDialog in all views
* update snapshots
* fix search input label styles
* update toggleAllChannels function
* update variant creator (#724)
* update product types
* update Pricing in simple product view
* handle product create and update errors
* update pricing types
* add search input in ChannelsAvailabilityDialog
* update ChannelsAvailabilityDialog in all views
* update snapshots
* add channelLisitngs to variant creator
* update variant creator price styles
* update product variant creator reducer tests
* update createVariants tests
* update error handling in product variant creator
* add Skip pricing for now option
* use PriceField instead of TextField in ProductVariantCreatorSummary
* create price validation function
* fix errors handling in ProductVariantPrice component
* fixes after review
* Product List - remove publish/unpublish buttons (#727)
* ProductList - remove publish and unpublish buttons
* update messages
* update snapshots, messages
* revert changes in ChannelsAvailabilityDropdown
* products/shipping/discount list settings (#739)
* create ChannelSettingsDialog component
* update snapshots
* ProductList - open settings modal when there is no selected channel
* add settings modal to vouchers list
* add settings dialog to sales list
* add setting modal to shipping list
* update shipping
* update snapshots, messages
* useChannelsSettings - remove selectedChannelSlug
* fix channels update handler in product and shipping view
* messages update in ChannelSettingsDialog
* handle product/discount list when there is no channels
* update onSettingsOpen prop
* collection availability dropdown (#743)
* add availability dropdown to collection products list
* update channelListingProduct fragment name
* update voucher view/components with channels (#746)
* update voucher view/components with channels
* update VoucherSummary, remove defaultCurrency from voucher components
* update snapshots
* move getChannelsVariables func to discounts handlers
* update voucher messages
* sale view/components with channels (#750)
* update sale views with channels
* small fixes in discounts
* order views with channels (#752)
* update draft orders with channels
* add channel activate/deactivate mutations
* remove sort by total in orders list
* add error notification on channel activate/deactivate
* product variants channel select (#755)
* add channels selector to ProductVariants component
* remove selectedChannel from ProductUpdate, update messages and snapshots
* update product fragments
* update translations (#762)
* update translations
* fix translation types
* update messages
* update Availability component (#766)
* update ChannelsAvailability component
* update product fixtures
* update collection and channel fixtures
* ChannelsAvailability - handle errors
* update product handlers
* update ChannelsAvailability styles
* update ProductVariant
* update snapshots
* fix missing things in multichannel (#785)
* add availability dropdown to discount products list
* fix error handling in shipping components
* update product views and components
* update messages
* update category view/components
* update CategoryProducts styles
* remove defaultCurrency from shipping components
* create ChannelsSelect component
* update channels error handling after review
* another fixes after review
* Add channels to collection views/components (#791)
** update collection components and views
* update create collection view
* update error handling in collection
* remove filter bar from collection list
* update products fragments
* small fix in collection create view
* use collectionFragment in useCatalogSearch
* update defaultMessages and snapshots
* update homepage view/drop defaultCurrency (#801)
* update homepage view
* drop defaultCurrency prop
* fix onChannelChange function in home view
* remove visibility from product list filters
* update export products with channels (#803)
* update ProductExportDialog with channels
* add new channel error code
* remover VISIBLE from product export dialog Financial information
* fix input size in ProductVariantCreatorSummary (#804)
* channels currency code select (#806)
* create select with currency codes
* fix ChannelDeleteDialog
* update defaultMessages, remove unneeded ChannelDetails handlers
* fixes after rebase
* replace channelListing with channelListings
* [multichannel] Update schema]
* Fix product create test
Co-authored-by: AlicjaSzu <alicja.szukuc@gmail.com>
Co-authored-by: Krzysztof Wolski <krzysztof.k.wolski@gmail.com>
Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com>
2020-11-17 16:10:42 +00:00
|
|
|
product(id: $id, channel: $channel) {
|
2019-06-19 14:40:52 +00:00
|
|
|
...Product
|
|
|
|
}
|
2020-09-23 08:29:13 +00:00
|
|
|
taxTypes {
|
|
|
|
...TaxTypeFragment
|
|
|
|
}
|
2019-06-19 14:40:52 +00:00
|
|
|
}
|
|
|
|
`;
|
2020-08-24 09:50:55 +00:00
|
|
|
export const useProductDetails = makeQuery<
|
2019-06-19 14:40:52 +00:00
|
|
|
ProductDetails,
|
|
|
|
ProductDetailsVariables
|
|
|
|
>(productDetailsQuery);
|
|
|
|
|
2021-04-08 16:14:15 +00:00
|
|
|
const productTypeQuery = gql`
|
|
|
|
${taxTypeFragment}
|
2021-05-28 09:59:25 +00:00
|
|
|
${attributeValueListFragment}
|
|
|
|
query ProductType(
|
|
|
|
$id: ID!
|
|
|
|
$firstValues: Int
|
|
|
|
$afterValues: String
|
|
|
|
$lastValues: Int
|
|
|
|
$beforeValues: String
|
|
|
|
) {
|
2021-04-08 16:14:15 +00:00
|
|
|
productType(id: $id) {
|
|
|
|
id
|
|
|
|
name
|
|
|
|
hasVariants
|
|
|
|
productAttributes {
|
|
|
|
id
|
|
|
|
inputType
|
|
|
|
entityType
|
|
|
|
slug
|
|
|
|
name
|
|
|
|
valueRequired
|
2021-04-29 08:58:03 +00:00
|
|
|
unit
|
2021-05-28 09:59:25 +00:00
|
|
|
values(
|
|
|
|
first: $firstValues
|
|
|
|
after: $afterValues
|
|
|
|
last: $lastValues
|
|
|
|
before: $beforeValues
|
|
|
|
) {
|
|
|
|
...AttributeValueListFragment
|
|
|
|
}
|
2021-04-08 16:14:15 +00:00
|
|
|
}
|
|
|
|
taxType {
|
|
|
|
...TaxTypeFragment
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
`;
|
|
|
|
export const useProductTypeQuery = makeQuery<ProductType, ProductTypeVariables>(
|
|
|
|
productTypeQuery
|
|
|
|
);
|
Multichannel (#833)
* add multichannel to configuration view
* create multichannels list view
* create multichannels list view
* add ChannelsCreate view
* update channels in configuration
* add stories
* update default messages
* fix ChannelForm props
* update channels list styles
* update snapshots
* update channel form currency input
* update Channels fragments
* extract messages
* remove tabs from channelsList
* channel details, channel delete modal (#598)
* create Channel details view
* create ChannelDeleteDialog
* add channels delete dialog to channels list
* update messages and types
* fixes after review
* channels availability (#609)
* create Channel details view
* update messages and types
* create ChannelsAvailability component
* create more product channels components
* create channels stories, update fixtures, types
* update product views with channels data
* update schema and snapshots
* update defaultMessages
* update ProductUpdate view
* create ChannelsAvailabilityDropdown component
* add product channels to local storage
* update globalTypes
* Update to new schema and resolve issues
* Update messages
* create deleteChannel mutation
* add channels availability component to product create view
* refactor ProductCreate and ProductUpdate views
* CollectionProducts view cleanup
* add disabled prop to ActionDialog
* use updateChannels mutation in ProductCreate view
* ProductCreate - update submit function
* fixes after review
* update snapshots and messages
Co-authored-by: Krzysztof Wolski <krzysztof.k.wolski@gmail.com>
* channels shipping components (#655)
* create PricingCard, OrderValue and OrderWeight components
* create ShippingZoneRatesPage and DeleteShippingRateDialog
* update ChannelsAvailability component
* updates after review
* channels shipping views (#662)
* update ChannelsAvailability component
* updates after review
* create PriceRate views, update types
* create weight rates views
* update shipping views, stories, messages
* update snapshots
* update snapshots
* update useChannels hook
* orders channels components (#698)
* create OrderChannelSectionCard component
* update OrderDetailsPage
* update DraftOrderChannelCard
* update snapshots
* update fixtures
* small change after review, update snapshots
* product pricing (#702)
* update product types
* update Pricing in simple product view
* use productVariantCreate mutation in simple product view
* update snapshots and messages
* handle create variant (#715)
* update product types
* update Pricing in simple product view
* handle product create and update errors
* update snapshots and messages
* fix update and create product handlers
* update pricing types
* channels modal - new styles, search input (#717)
* update product types
* update Pricing in simple product view
* handle product create and update errors
* update pricing types
* add search input in ChannelsAvailabilityDialog
* update ChannelsAvailabilityDialog in all views
* update snapshots
* fix search input label styles
* update toggleAllChannels function
* update variant creator (#724)
* update product types
* update Pricing in simple product view
* handle product create and update errors
* update pricing types
* add search input in ChannelsAvailabilityDialog
* update ChannelsAvailabilityDialog in all views
* update snapshots
* add channelLisitngs to variant creator
* update variant creator price styles
* update product variant creator reducer tests
* update createVariants tests
* update error handling in product variant creator
* add Skip pricing for now option
* use PriceField instead of TextField in ProductVariantCreatorSummary
* create price validation function
* fix errors handling in ProductVariantPrice component
* fixes after review
* Product List - remove publish/unpublish buttons (#727)
* ProductList - remove publish and unpublish buttons
* update messages
* update snapshots, messages
* revert changes in ChannelsAvailabilityDropdown
* products/shipping/discount list settings (#739)
* create ChannelSettingsDialog component
* update snapshots
* ProductList - open settings modal when there is no selected channel
* add settings modal to vouchers list
* add settings dialog to sales list
* add setting modal to shipping list
* update shipping
* update snapshots, messages
* useChannelsSettings - remove selectedChannelSlug
* fix channels update handler in product and shipping view
* messages update in ChannelSettingsDialog
* handle product/discount list when there is no channels
* update onSettingsOpen prop
* collection availability dropdown (#743)
* add availability dropdown to collection products list
* update channelListingProduct fragment name
* update voucher view/components with channels (#746)
* update voucher view/components with channels
* update VoucherSummary, remove defaultCurrency from voucher components
* update snapshots
* move getChannelsVariables func to discounts handlers
* update voucher messages
* sale view/components with channels (#750)
* update sale views with channels
* small fixes in discounts
* order views with channels (#752)
* update draft orders with channels
* add channel activate/deactivate mutations
* remove sort by total in orders list
* add error notification on channel activate/deactivate
* product variants channel select (#755)
* add channels selector to ProductVariants component
* remove selectedChannel from ProductUpdate, update messages and snapshots
* update product fragments
* update translations (#762)
* update translations
* fix translation types
* update messages
* update Availability component (#766)
* update ChannelsAvailability component
* update product fixtures
* update collection and channel fixtures
* ChannelsAvailability - handle errors
* update product handlers
* update ChannelsAvailability styles
* update ProductVariant
* update snapshots
* fix missing things in multichannel (#785)
* add availability dropdown to discount products list
* fix error handling in shipping components
* update product views and components
* update messages
* update category view/components
* update CategoryProducts styles
* remove defaultCurrency from shipping components
* create ChannelsSelect component
* update channels error handling after review
* another fixes after review
* Add channels to collection views/components (#791)
** update collection components and views
* update create collection view
* update error handling in collection
* remove filter bar from collection list
* update products fragments
* small fix in collection create view
* use collectionFragment in useCatalogSearch
* update defaultMessages and snapshots
* update homepage view/drop defaultCurrency (#801)
* update homepage view
* drop defaultCurrency prop
* fix onChannelChange function in home view
* remove visibility from product list filters
* update export products with channels (#803)
* update ProductExportDialog with channels
* add new channel error code
* remover VISIBLE from product export dialog Financial information
* fix input size in ProductVariantCreatorSummary (#804)
* channels currency code select (#806)
* create select with currency codes
* fix ChannelDeleteDialog
* update defaultMessages, remove unneeded ChannelDetails handlers
* fixes after rebase
* replace channelListing with channelListings
* [multichannel] Update schema]
* Fix product create test
Co-authored-by: AlicjaSzu <alicja.szukuc@gmail.com>
Co-authored-by: Krzysztof Wolski <krzysztof.k.wolski@gmail.com>
Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com>
2020-11-17 16:10:42 +00:00
|
|
|
|
2019-06-19 14:40:52 +00:00
|
|
|
const productVariantQuery = gql`
|
|
|
|
${fragmentVariant}
|
2021-05-28 09:59:25 +00:00
|
|
|
query ProductVariantDetails(
|
|
|
|
$id: ID! # $firstValues: Int # $afterValues: String # $lastValues: Int # $beforeValues: String
|
|
|
|
) {
|
2019-06-19 14:40:52 +00:00
|
|
|
productVariant(id: $id) {
|
|
|
|
...ProductVariant
|
|
|
|
}
|
|
|
|
}
|
|
|
|
`;
|
2020-08-24 10:29:54 +00:00
|
|
|
export const useProductVariantQuery = makeQuery<
|
2019-06-19 14:40:52 +00:00
|
|
|
ProductVariantDetails,
|
|
|
|
ProductVariantDetailsVariables
|
|
|
|
>(productVariantQuery);
|
|
|
|
|
|
|
|
const productVariantCreateQuery = gql`
|
2020-12-16 10:53:28 +00:00
|
|
|
${variantAttributeFragment}
|
2021-05-28 09:59:25 +00:00
|
|
|
query ProductVariantCreateData(
|
|
|
|
$id: ID! # $firstValues: Int # $afterValues: String # $lastValues: Int # $beforeValues: String
|
|
|
|
) {
|
2019-06-19 14:40:52 +00:00
|
|
|
product(id: $id) {
|
|
|
|
id
|
2021-03-17 13:07:48 +00:00
|
|
|
media {
|
2019-06-19 14:40:52 +00:00
|
|
|
id
|
|
|
|
sortOrder
|
|
|
|
url
|
|
|
|
}
|
Multichannel (#833)
* add multichannel to configuration view
* create multichannels list view
* create multichannels list view
* add ChannelsCreate view
* update channels in configuration
* add stories
* update default messages
* fix ChannelForm props
* update channels list styles
* update snapshots
* update channel form currency input
* update Channels fragments
* extract messages
* remove tabs from channelsList
* channel details, channel delete modal (#598)
* create Channel details view
* create ChannelDeleteDialog
* add channels delete dialog to channels list
* update messages and types
* fixes after review
* channels availability (#609)
* create Channel details view
* update messages and types
* create ChannelsAvailability component
* create more product channels components
* create channels stories, update fixtures, types
* update product views with channels data
* update schema and snapshots
* update defaultMessages
* update ProductUpdate view
* create ChannelsAvailabilityDropdown component
* add product channels to local storage
* update globalTypes
* Update to new schema and resolve issues
* Update messages
* create deleteChannel mutation
* add channels availability component to product create view
* refactor ProductCreate and ProductUpdate views
* CollectionProducts view cleanup
* add disabled prop to ActionDialog
* use updateChannels mutation in ProductCreate view
* ProductCreate - update submit function
* fixes after review
* update snapshots and messages
Co-authored-by: Krzysztof Wolski <krzysztof.k.wolski@gmail.com>
* channels shipping components (#655)
* create PricingCard, OrderValue and OrderWeight components
* create ShippingZoneRatesPage and DeleteShippingRateDialog
* update ChannelsAvailability component
* updates after review
* channels shipping views (#662)
* update ChannelsAvailability component
* updates after review
* create PriceRate views, update types
* create weight rates views
* update shipping views, stories, messages
* update snapshots
* update snapshots
* update useChannels hook
* orders channels components (#698)
* create OrderChannelSectionCard component
* update OrderDetailsPage
* update DraftOrderChannelCard
* update snapshots
* update fixtures
* small change after review, update snapshots
* product pricing (#702)
* update product types
* update Pricing in simple product view
* use productVariantCreate mutation in simple product view
* update snapshots and messages
* handle create variant (#715)
* update product types
* update Pricing in simple product view
* handle product create and update errors
* update snapshots and messages
* fix update and create product handlers
* update pricing types
* channels modal - new styles, search input (#717)
* update product types
* update Pricing in simple product view
* handle product create and update errors
* update pricing types
* add search input in ChannelsAvailabilityDialog
* update ChannelsAvailabilityDialog in all views
* update snapshots
* fix search input label styles
* update toggleAllChannels function
* update variant creator (#724)
* update product types
* update Pricing in simple product view
* handle product create and update errors
* update pricing types
* add search input in ChannelsAvailabilityDialog
* update ChannelsAvailabilityDialog in all views
* update snapshots
* add channelLisitngs to variant creator
* update variant creator price styles
* update product variant creator reducer tests
* update createVariants tests
* update error handling in product variant creator
* add Skip pricing for now option
* use PriceField instead of TextField in ProductVariantCreatorSummary
* create price validation function
* fix errors handling in ProductVariantPrice component
* fixes after review
* Product List - remove publish/unpublish buttons (#727)
* ProductList - remove publish and unpublish buttons
* update messages
* update snapshots, messages
* revert changes in ChannelsAvailabilityDropdown
* products/shipping/discount list settings (#739)
* create ChannelSettingsDialog component
* update snapshots
* ProductList - open settings modal when there is no selected channel
* add settings modal to vouchers list
* add settings dialog to sales list
* add setting modal to shipping list
* update shipping
* update snapshots, messages
* useChannelsSettings - remove selectedChannelSlug
* fix channels update handler in product and shipping view
* messages update in ChannelSettingsDialog
* handle product/discount list when there is no channels
* update onSettingsOpen prop
* collection availability dropdown (#743)
* add availability dropdown to collection products list
* update channelListingProduct fragment name
* update voucher view/components with channels (#746)
* update voucher view/components with channels
* update VoucherSummary, remove defaultCurrency from voucher components
* update snapshots
* move getChannelsVariables func to discounts handlers
* update voucher messages
* sale view/components with channels (#750)
* update sale views with channels
* small fixes in discounts
* order views with channels (#752)
* update draft orders with channels
* add channel activate/deactivate mutations
* remove sort by total in orders list
* add error notification on channel activate/deactivate
* product variants channel select (#755)
* add channels selector to ProductVariants component
* remove selectedChannel from ProductUpdate, update messages and snapshots
* update product fragments
* update translations (#762)
* update translations
* fix translation types
* update messages
* update Availability component (#766)
* update ChannelsAvailability component
* update product fixtures
* update collection and channel fixtures
* ChannelsAvailability - handle errors
* update product handlers
* update ChannelsAvailability styles
* update ProductVariant
* update snapshots
* fix missing things in multichannel (#785)
* add availability dropdown to discount products list
* fix error handling in shipping components
* update product views and components
* update messages
* update category view/components
* update CategoryProducts styles
* remove defaultCurrency from shipping components
* create ChannelsSelect component
* update channels error handling after review
* another fixes after review
* Add channels to collection views/components (#791)
** update collection components and views
* update create collection view
* update error handling in collection
* remove filter bar from collection list
* update products fragments
* small fix in collection create view
* use collectionFragment in useCatalogSearch
* update defaultMessages and snapshots
* update homepage view/drop defaultCurrency (#801)
* update homepage view
* drop defaultCurrency prop
* fix onChannelChange function in home view
* remove visibility from product list filters
* update export products with channels (#803)
* update ProductExportDialog with channels
* add new channel error code
* remover VISIBLE from product export dialog Financial information
* fix input size in ProductVariantCreatorSummary (#804)
* channels currency code select (#806)
* create select with currency codes
* fix ChannelDeleteDialog
* update defaultMessages, remove unneeded ChannelDetails handlers
* fixes after rebase
* replace channelListing with channelListings
* [multichannel] Update schema]
* Fix product create test
Co-authored-by: AlicjaSzu <alicja.szukuc@gmail.com>
Co-authored-by: Krzysztof Wolski <krzysztof.k.wolski@gmail.com>
Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com>
2020-11-17 16:10:42 +00:00
|
|
|
channelListings {
|
|
|
|
channel {
|
|
|
|
id
|
|
|
|
name
|
|
|
|
currencyCode
|
|
|
|
}
|
|
|
|
}
|
2019-06-19 14:40:52 +00:00
|
|
|
name
|
|
|
|
productType {
|
|
|
|
id
|
2020-12-16 10:53:28 +00:00
|
|
|
selectionVariantAttributes: variantAttributes(
|
|
|
|
variantSelection: VARIANT_SELECTION
|
|
|
|
) {
|
|
|
|
...VariantAttributeFragment
|
|
|
|
}
|
|
|
|
nonSelectionVariantAttributes: variantAttributes(
|
|
|
|
variantSelection: NOT_VARIANT_SELECTION
|
|
|
|
) {
|
|
|
|
...VariantAttributeFragment
|
2019-06-19 14:40:52 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
thumbnail {
|
|
|
|
url
|
|
|
|
}
|
|
|
|
variants {
|
|
|
|
id
|
|
|
|
name
|
|
|
|
sku
|
2021-03-17 13:07:48 +00:00
|
|
|
media {
|
2019-06-19 14:40:52 +00:00
|
|
|
id
|
|
|
|
url
|
2021-03-17 13:07:48 +00:00
|
|
|
type
|
2019-06-19 14:40:52 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
`;
|
2020-08-24 10:18:58 +00:00
|
|
|
export const useProductVariantCreateQuery = makeQuery<
|
2019-06-19 14:40:52 +00:00
|
|
|
ProductVariantCreateData,
|
|
|
|
ProductVariantCreateDataVariables
|
|
|
|
>(productVariantCreateQuery);
|
|
|
|
|
2021-03-17 13:07:48 +00:00
|
|
|
const productMediaQuery = gql`
|
|
|
|
query ProductMediaById($productId: ID!, $mediaId: ID!) {
|
2019-06-19 14:40:52 +00:00
|
|
|
product(id: $productId) {
|
|
|
|
id
|
|
|
|
name
|
2021-03-17 13:07:48 +00:00
|
|
|
mainImage: mediaById(id: $mediaId) {
|
2019-06-19 14:40:52 +00:00
|
|
|
id
|
|
|
|
alt
|
|
|
|
url
|
2021-03-17 13:07:48 +00:00
|
|
|
type
|
|
|
|
oembedData
|
2019-06-19 14:40:52 +00:00
|
|
|
}
|
2021-03-17 13:07:48 +00:00
|
|
|
media {
|
2019-06-19 14:40:52 +00:00
|
|
|
id
|
|
|
|
url(size: 48)
|
2021-03-17 13:07:48 +00:00
|
|
|
alt
|
|
|
|
type
|
|
|
|
oembedData
|
2019-06-19 14:40:52 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
`;
|
2021-03-17 13:07:48 +00:00
|
|
|
export const useProductMediaQuery = makeQuery<
|
|
|
|
ProductMediaById,
|
|
|
|
ProductMediaByIdVariables
|
|
|
|
>(productMediaQuery);
|
2019-08-13 09:04:52 +00:00
|
|
|
|
|
|
|
const availableInGridAttributes = gql`
|
|
|
|
${pageInfoFragment}
|
2019-08-28 14:41:17 +00:00
|
|
|
query GridAttributes($first: Int!, $after: String, $ids: [ID!]!) {
|
|
|
|
availableInGrid: attributes(
|
2019-08-13 09:04:52 +00:00
|
|
|
first: $first
|
|
|
|
after: $after
|
2020-11-19 14:42:14 +00:00
|
|
|
filter: {
|
|
|
|
availableInGrid: true
|
|
|
|
isVariantOnly: false
|
|
|
|
type: PRODUCT_TYPE
|
|
|
|
}
|
2019-08-13 09:04:52 +00:00
|
|
|
) {
|
|
|
|
edges {
|
|
|
|
node {
|
|
|
|
id
|
|
|
|
name
|
|
|
|
}
|
|
|
|
}
|
|
|
|
pageInfo {
|
|
|
|
...PageInfoFragment
|
|
|
|
}
|
|
|
|
totalCount
|
|
|
|
}
|
2019-08-28 14:41:17 +00:00
|
|
|
|
|
|
|
grid: attributes(first: 25, filter: { ids: $ids }) {
|
|
|
|
edges {
|
|
|
|
node {
|
|
|
|
id
|
|
|
|
name
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2019-08-13 09:04:52 +00:00
|
|
|
}
|
|
|
|
`;
|
2020-08-24 10:10:48 +00:00
|
|
|
export const useAvailableInGridAttributesQuery = makeQuery<
|
2020-07-07 10:14:12 +00:00
|
|
|
GridAttributes,
|
|
|
|
GridAttributesVariables
|
2019-08-13 09:04:52 +00:00
|
|
|
>(availableInGridAttributes);
|
2020-04-01 16:28:47 +00:00
|
|
|
|
|
|
|
const createMultipleVariantsData = gql`
|
|
|
|
${productVariantAttributesFragment}
|
2020-04-03 14:29:32 +00:00
|
|
|
${warehouseFragment}
|
2021-05-28 09:59:25 +00:00
|
|
|
query CreateMultipleVariantsData(
|
|
|
|
$id: ID!
|
|
|
|
$firstValues: Int
|
|
|
|
$afterValues: String
|
|
|
|
$lastValues: Int
|
|
|
|
$beforeValues: String
|
|
|
|
) {
|
2020-04-01 16:28:47 +00:00
|
|
|
product(id: $id) {
|
|
|
|
...ProductVariantAttributesFragment
|
|
|
|
}
|
2020-04-03 14:29:32 +00:00
|
|
|
warehouses(first: 20) {
|
|
|
|
edges {
|
|
|
|
node {
|
|
|
|
...WarehouseFragment
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2020-04-01 16:28:47 +00:00
|
|
|
}
|
|
|
|
`;
|
|
|
|
export const useCreateMultipleVariantsData = makeQuery<
|
|
|
|
CreateMultipleVariantsData,
|
|
|
|
CreateMultipleVariantsDataVariables
|
|
|
|
>(createMultipleVariantsData);
|