Commit graph

48 commits

Author SHA1 Message Date
Dominik Żegleń
31e0c11fea
New datagrid view for product variant management (#2162)
* New datagrid view for product variant management (#2040)

* Split simple and product with variants updates

* Simplify code

* Change selectedVariantsIds to availableVariants

selectedVariantsIds suggested that these variants *were just* selected

* Add datagrid component

Add datagrid component

Add actions column

Add column picker

Add ts-ignore comment

Remove unused import

Fix after rebase

Add story

Fix column picking

Fix column dragging

Add column resizing

Extract components to own files

Apply styles from class

Improve data storage

Extract state to hook

Expose handlers

Fix styles

Fix header overflow

Add select all option

Add cell types

Fix types

Add number type cell

Add min to stocks

Fix types

Generate columns from shop data

Add number type editor

Fix tests

Update src/components/Datagrid/Datagrid.tsx

Co-authored-by: Jonatan Witoszek <jonatanwitoszek@gmail.com>

Reconstruct data after column toggling

Minor fixes

Add missing id

Remove unused import

Fix container width

Keep changes in state

Drop onChange usage

Use glide datagrid

* Add column picker

* Memoize callbacks

* Add right toolbar

* Make toolbar as prop

* Clean up code

* Fix styling

* Lint files

* Save variant data in datagrid (#2161)

* Allow rows to be deleted

* Add row adding

* Clean up code

* Improve mutations

* Add stock saving

* Add sku and attribute saving

* Display notification after all mutations

* Fix types

* Save channels in datagrid (#2197)

* wip

* Merge simple and variantable handlers

* Move channel setting to form

* Link availability card to form

* Extract listing management to hook

* Update only touched channels

* Improve channel listing managemend

* Display channel data in datagrid

* Save variant channels

* Save changes in channel listings

* Group columns

* Fix types

* Display touched fields

* Return errors from hook

* Display errors in cells

* Improve naming

* Improve naming

* Use reliable called/loading state

* Update src/components/Datagrid/cells.ts

Co-authored-by: Michał Droń <dron.official@yahoo.com>

* Apply fixes from review

Co-authored-by: Michał Droń <dron.official@yahoo.com>

* Fix type error

* Trigger CI

* Trigger CI

* Save added and deleted variants (#2237)

* Save new variants

* Update channel data

* Remove bulk variant delete dialog

* Do not fetch products from api after save

* Extract types

* Reset errors after api response

* Display error when creating variants

* Fix variant reordering

* Remove commented code

* Fix imports

* Edit attributes in datagrid (#2305)

* Add basic dropdown cell

* Fix clickaway

* Add choice customization

* Add callback to fetch choices

* Add attriute value search

* wip

* Pass getSuggestions cb using props

* Fix row adding

* Fix choice creation

* Add styles to datagrid (#2315)

* Improve cell styling

* Prevent navigation when scrolling horizontally

* Fix text editor styles

* Remove unused variable

* Update whole row after editing cell

* Translate column names

* Improve empty message

* Highlight newly created rows

* Add name editing

* Add disabled context menu to added rows

* Add column groups

* Translate column groups names

* Save edited name

* Fix missing column id error

* Add card to datagrid

* Improve shadow on scroll

* Improve fonts

* Fix toolbar placement

* Update api type definitions

* Fix copypasting from excel

* Fix editor font weight

* Improve dark theme

* Improve cell coloring

* Drop styling from story

* Add docs to datagrid (#2339)

* Add docs

* Add summary

* Datagrid fix bugs (#2341)

* Pass refetch to form to avoid double calls

* Add missing prop

* Remove paddings (#2352)

* remove paddings

* remove paddings

* remove paddings

* remove vertical scroll

* update tests

* styles, currency

* Fix variants tests in datagrid (#2365)

* refactor variant test after adding datagrid

* adding assertion to check if datagrid table is visible

* adding check for datagrid

* fix flaky tests in variants

* fix flaky tests in variants

* small changes

* amedments

* update styles

* refactoring, handle prices

* update snapshots

* messages

* snap

* scrolling handle, css for safari

* snap, random mock

* update overflow

* history back hook

* fix cross-price changing, scroll optimization

* trigger ci

* channel checking when adding new variant

Co-authored-by: Michał Droń <dron.official@yahoo.com>
Co-authored-by: Patryk Andrzejewski <vox3r69@gmail.com>
Co-authored-by: Ewa Czerniak <ewa.czerniak@saleor.io>
2022-10-18 11:10:15 +02:00
Dawid
eea1ba235f
Remove bulk variant creator (#2179)
* Remove bulk vaariant creator

* Update variant test snapshots

* Update variant E2E tests

* fixed test for products variants (#2187)

Co-authored-by: Karolina Rakoczy <rakoczy.karolina@gmail.com>
2022-08-10 11:29:17 +01:00
Michał Droń
2d71c138b7
Fix flickering warehouse list in variant details (#2009)
* Fix merge functionin cached stocks

* Revert "Fix merge functionin cached stocks"

This reverts commit caf4956fde78abe33e893ed8b095f6275f73ef37.

* Change mutation order
2022-05-10 13:27:20 +02:00
Jonatan Witoszek
90807bb0cf
Update unassignProductAttributeMutation to use new array parameter types (#1957)
* Update unassignProductAttributeMutation to use new array parameter types

* Replace [Collection]! with [Collection!]! in queries to match API changes

* Fix failing test on ProductVariantPage
2022-03-31 14:45:48 +02:00
Dominik Żegleń
5b85d6c086
Use graphql-codegen (#1874)
* Use generated hooks in apps

* Remove unused files

* Use proper types in apps

* Use generated hooks in attributes

* Use generated hooks in auth module

* Use generated hooks in categories

* Use generated hooks in channels

* Use generated types in collections

* Remove legacy types from background tasks

* Use generated hooks in customers

* Use generated hooks in discounts

* Use generated hook in file upload

* Use generated types in gift cards

* Use generated types in home

* Use generated hooks in navigation

* Use generated hooks in orders

* Use generated hooks in pages

* Use generated hooks in page types

* Use generated hooks in permission groups

* Use generated hooks in plugins

* Use generated hooks in products

* Use fragment to mark product variants

* Improve code a bit

* Use generated hooks in page types

* Use generated types in searches

* Use generated hooks in shipping

* Use generated hooks in site settings

* Use generated hooks in staff members

* Use generated hooks in taxes

* Place all gql generated files in one directory

* Use generated hooks in translations

* Use global types from new generated module

* Use generated hooks in warehouses

* Use generated hooks in webhooks

* Use generated fragment types

* Unclutter types

* Remove hoc components

* Split hooks and types

* Fetch introspection file

* Delete obsolete schema file

* Fix rebase artifacts

* Fix autoreplace

* Fix auth provider tests

* Fix urls

* Remove leftover types

* Fix rebase artifacts
2022-03-09 09:56:55 +01:00
Wojciech Mista
29461658a2
Add api error log in notifications (#1873)
* add api error log in notifications

* Refactor graphql error handling

* Update messages

* Install macaw-ui from commit hash

* Make notification id be ref index rather than date

* Refactor notification container styles to allow scroll

* Add fix to apollo onError function to get operation name

* Fix userPermission race-condition

* Add refactored error handling

* Temporarly install macaw from pill PR

* Handle case when there are no graphql errors

* Update errors

* Run build-types

* Update stories to include messages

* Update shipping types

* Traverse through onCompleted data and show errors

* Update tests

* Update messages

* Clear error notifications on submit

* Check if context exists - fix tests
2022-03-04 11:52:58 +01:00
Wojciech Mista
66705e7f3e
Don't display pricing by default in Product List (#1891)
* Update build-types script

* Remove "pricing" where it's unused; exclude pricing query if no channel is selected

* Update fixtures

* Fix minor preorder issue

* Update types

* Fix build-types script

* Remove unnecessary product fragment

* Fetch only data that is visible in products list (#1892)

* Conditionally include attributes in product list query

* Add 'hasSelectedAtrributes' variable to product list query

* Refactor condition

* Create AttributeValueDetailsFragment fragment

* Use attributeValueDetailsFragment

* Update fragment in products
2022-03-03 11:14:18 +01:00
Dominik Żegleń
2a52eb581c
Update apollo to v3 (#1837)
* Update apollo to v3

* Fix imports

* Add generated file to ignored

* Use proper import

* Tidy up code

* Remove unused packages

* Fix tests
2022-02-21 14:32:38 +01:00
Paweł Kucharski
05cc720b6e
Limit quantity per checkout (#1536)
* Add site settings and variant detail text fields related with limit per checkout

* Add message translations

* Fix review issues pt.1

* Update snapshots

* Apply fixes after review pt.2
2021-12-07 10:43:24 +01:00
JanChodorowski
25f7c8e4d8
Preorders (#1426)
* Feed preorder data to product variant forms

* Add end preorder date input and handle date data

* Translate strings, refactor date parsing

* Fix snapshots

* CR response

* CR response

* CR response

* Fix negative threshold, product variant preorder toggle, product variant update, and simple product creation

* Make preorder data optional

* Prevent setting past date as preorder end

* Disable replacing preorder variant in order

* Adjust fulfill view to preorder in variant

* CR response + prevent subbmiting form when endPreorderDate is in the past and display warning

* Add ErrorNoticeBar

* Translate preorder end date in past error message, fix form submissison disabling logic

* Rebase fixes

* Fix preorder form disabling logic, remove isPreorder field

* Fix edge cases aroud preorder inputs

* Update storyshots
2021-10-01 14:41:31 +02:00
Dawid Tarasiuk
da678d856a
Fix missing call for update metadata mutation (#1207)
* Fix missing call for update metadata mutation

* Update changelog
2021-07-05 11:59:08 +02:00
Dawid Tarasiuk
88e5e75563
Fix forbidden null sending as attribute value (#1201)
* Fix forbidden null value sending

* Update changelog

* Update schema and unset attribute values check

* Update test snapshots
2021-07-01 13:20:01 +02:00
Dawid Tarasiuk
d342bdb63b Variant attribute values pagination (#1133)
* Implement attribute values pagination in variant pages

* Implement attribute values pagination in variant creator

* Update variant creator design bugs

* Fix deleting attribute value error

* Refactor attribute value handling in variant creator

* Update after review

* Create local pagination state for attribute values

* Fix autocomplete select field scrolling on fetch more

* Change onAttributeSelect to onAttributeFocus

* Update cypress test function with attribute values pagination
2021-06-08 09:51:27 +02:00
Dawid Tarasiuk
453e4192fe Attribute values pagination in product details (#1125)
* Attribute values pagination in product list filters

* Update product queries and mutations to handle attribute values pagination

* Search for attribute values dynamically on product details page

* Update product attributes mutation payload

* Support attribute values pagination on product create page

* Temporary mock not implemented attribute values pagination in variants and pages

* Trigger CI

* Fix simple product update channel listings

* Add simple local pagination implementation

* Create useLocalPageInfo hook to handle client side pagination

* Allow custom values always for attribute select inputs to prevent bug
2021-06-08 09:51:26 +02:00
Jakub Majorek
a83a245654
Drop deprecated fields (#1071)
* Drop deprecated fields

* Update changelog

* Update test recordings

* Fix e2e tests

* Fix product sorting (#1079)

* update stories

Co-authored-by: Karolina Rakoczy <rakoczy.karolina@gmail.com>
2021-04-26 09:49:55 +02:00
Grzegorz Derdak
429e7b9d83
Add ability to upload video URL to product gallery (#972)
* Create a dropdown and modal for uploading Video URLs

* Add ability to upload video URL to product gallery

* Add support for other video providers, minor UI tweaks

* Extract translations

* Style changes

* Adjust dashboard to fetch media oembed data

* Update codebase to match the schema

* Changes after code review

* Update schema.graphql and fixtures

* Update defaultMessages.json

* Fix failing jest tests

* Update schema and types
2021-03-17 14:07:48 +01:00
Dominik Żegleń
6f9060144a
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 17:10:42 +01:00
dominik-zeglen
60fb2266a9 Use dedicated error fragment 2020-10-12 12:56:05 +02:00
Dominik Żegleń
b571eef598
Merge pull request #728 from mirumee/add/taxes-per-product
Allow taxes to be configured per product
2020-09-25 17:28:56 +02:00
Tomasz Szymański
4cecf238d6
Allow product variant to be set as default (#721)
* Add drag-and-drop to allow variants reordering

* Handle variants reordering

* Allow product variant to be set as default

* Display default variant and perform refresing after set

* Move ProductVariantSetDefault to separate component

* Changes to new schema


Co-authored-by: Dawid Tarasiuk <tarasiukdawid@gmail.com>
2020-09-25 14:33:01 +02:00
dominik-zeglen
2b92211b99 Add tax section to product view 2020-09-24 13:46:48 +02:00
Dawid Tarasiuk
ffaf56a51b Handle variants reordering 2020-09-21 10:33:25 +02:00
AlicjaSzu
cd88102af7
fix product availability date (#696)
* VisibilityCard - fix product availability date

* revert changes in VisibilityCard, refetch data on successfully updated availability

* fix availability in ProductCreate and ProductUpdate

* ProductUpdate - remove unneeded refetch

* create  getProductAvailabilityVariables handler
2020-09-18 15:01:00 +02:00
Maciej Korycinski
24ea28f987
Pass missing isVisibleListing variable to mutation (#712)
* Pass missing arguments

* Update types
2020-09-16 15:28:05 +02:00
AlicjaSzu
fd6c77adf7 update schema and types 2020-09-07 12:48:19 +02:00
AlicjaSzu
eba4ba2edf
update VisibilityCard component (#679)
* update VisibilityCard component

* add visibleInListings in Product

* update mutations and types with visibleInListings

* update ProductExportDialogInfo with availableForPurchase

* update defaultMessages

* update useDateLocalize hook

* update cypress tests

* update orders with availability info

* revert cypress changes

* update changelog

* update product update handlers

* fix VisibilityCard styles

* create AvailabilityCard component

* update defaultMessages

* update snapshots and messages

* fix ProductCreatePage form data types

* update defaultMessages
2020-09-03 12:25:16 +02:00
dominik-zeglen
7726bacb77 Remove ProductUpdateOperations component 2020-08-24 11:50:55 +02:00
Dominik Żegleń
df5aea6200
Add product export (#620)
* Add component backbone

* Make step component generic and typed

* Add step tabs

* Add settings view

* Encapsulate all dialog components in one directory

* Move types to separate file

* Add mutations

* Use gql types

* Add error handling

* Do not keep separate types file

* Allow products to be exported

* Fix types

* Update snapshots

* Update to latest schema

* Add disabled option

* Use wizard hook

* Update type definitions

* Queue export check task

* Fix bug causing jobs to be endless and duplicated

* Fix minor bugs

* Add accordion component

* Allow selection of fields  to be exported

* Add attribute export

* Update snapshots

* Update messages

* Update changelog

* Add missing key

* Add quick peek to accordioin

* Sort imports

* Remove unused files

* Add chiips to attribute selection

* Change menu positioning

* Add product counter

* Add select all option

* Update snapshots

* Update messages

* Remove unused import

* Add chips

* Add test tags

* Update snapshots

* Change number of max chips

* Add accordion tags

* Update messages
2020-07-30 11:54:16 +02:00
dominik-zeglen
c09fc4ce00 Apply fixes from 2.10.1 2020-07-16 13:48:00 +02:00
dominik-zeglen
eddec1a5c2 Move fragments to avoid circular imports 2020-07-07 12:14:12 +02:00
Dawid Tarasiuk
8fa7eb2b8a Revert "Remove base price from product create page"
This reverts commit 0b099e882c.
2020-06-12 12:17:17 +02:00
Dawid Tarasiuk
65e5539173 Remove basePrice from schema 2020-06-10 15:39:10 +02:00
Dawid Tarasiuk
0b099e882c Remove base price from product create page 2020-06-08 13:52:20 +02:00
Krzysztof Wolski
a82de30309
Add circleci config and enhance our linters (#519)
* Add circleci config

* Season linting config

* Apply code style
2020-05-14 11:30:32 +02:00
dominik-zeglen
6af08af910 Update product stock management to newest design 2020-05-04 18:06:36 +02:00
dominik-zeglen
1b3e304c79 Enable submitting in variant creator 2020-04-28 16:37:39 +02:00
dominik-zeglen
e41a79fe78 Make variant creator view instead of dialog 2020-04-28 16:33:27 +02:00
dominik-zeglen
d38fa42462 Add stock in product variant create view 2020-04-28 16:33:24 +02:00
dominik-zeglen
0eb7750321 Add variant stock management 2020-04-28 16:33:23 +02:00
dominik-zeglen
4b661c9bff Add simple product stock management 2020-04-28 16:33:22 +02:00
dominik-zeglen
db3b51f931 Add simple product stock management 2020-04-28 16:33:22 +02:00
dominik-zeglen
f94fdba7b9 Add warehouse stock edit prototype 2020-04-28 16:33:21 +02:00
dominik-zeglen
ff74c566ab Use error formatting in product section 2020-03-24 13:53:20 +01:00
dominik-zeglen
4d27960d79 Fix attribute errors 2019-10-21 16:52:54 +02:00
dominik-zeglen
7bb26784e6 Add error handling 2019-10-09 12:23:39 +02:00
dominik-zeglen
742523bac7 Fix variant create query 2019-10-09 12:19:06 +02:00
dominik-zeglen
bd211a6720 Update from saleor/master 2019-08-09 13:14:35 +02:00
dominik-zeglen
5d959e6d6e Initial commit 2019-06-19 16:40:52 +02:00