Commit Graph

135 Commits

Author SHA1 Message Date
louwie17 fa2df55f04
Add/crud get total count selector (#34613)
* Add getItemsTotalCount to crud data store

* Add changelog

* Make getTotalItemsCount more generic

* Rename total count resource name function, and add resolver for getTotalCount

* Remove deprecated data-controls function

* Add defaultArgs option for applyNamespace
2022-09-09 11:32:21 -03:00
Tomek Wytrębowicz a86e387667
Update/unify jest@27 across all packages (#34322)
* Update `jest-puppeteer@5.0.4` (from `4.4.0`)

to be albe to run with jest 28.

* Update `jest` and `ts-jest@^27` (from `25`),

to match `e2e-environment` needs.

* Update api-core-tests' `jest@^27` (from `25`),

to unify the used version across the stack.

* Update e2e-env's `jest@^27` & co.  (from `25`),

to unify the used version across the stack.

* Update e2e-env's `@jest/test-sequencer@^27`  (from `25`),

to unify the used version across the stack.

* Update admin-e2e-tests' `@jest/globals@^27`  (from `26`),

to unify the used version across the stack.

* Update woocommerce's `jest@^27.5.1`  (from `25`),

to unify the used version across the stack.

* Replace `mocked` from `ts-jest` to the one from `jest`,

Update `@types/jest@27.4.1` from `27.0.2`.
Try to fix broken tsc build.

* Update `e2e-core-tests`' `@jest/globals@^27.5.1`

from `^26.4.2`.

* Remove changelog entry for bumpin jest in `api-core-tests`

It was already covered in `trunk`.

Addresses https://github.com/woocommerce/woocommerce/pull/34322#discussion_r956019567

* Updated package-lock.yaml

* Updated timeout

* Added changelogs

Co-authored-by: jamelreid <jnoelreid@gmail.com>
2022-09-06 09:29:45 -05:00
Chi-Hsuan Huang e687a48abf
Update dependencies and jest config to pass admin tests for pnpm 7 (#34428)
* Update @wordpress/data version to ^6.15.0

* Update jest.config.js to transform is-plain-obj js

* Update pnpm-lock.yaml

* Add changelog

* Add babel configs and update jest config

* Update tsconfig.json to exclude babel.config.js

* Add missing @types packages

* Add changelog

* Update pnpm-lock.yaml

* Update pnpm-lock.yaml

* Fix DateTimePickerControl type errors
2022-08-31 12:06:51 +08:00
Chi-Hsuan Huang f813153ac5
Fix country field is empty when navigating back to the store details tab (#34484)
* Add is_store_country_set to onboarding profile items

* Fix country field is empty when navigating back to store details tab

* Add changelog
2022-08-30 09:43:59 +08:00
Chi-Hsuan Huang 72d8c791e6
Migrate @woocommerce/data notes store to TS (#34220)
* Migrate wc.data.notes to TS

* Add missing field "is_read" to notes item schema

* Add changelog

* Fix test_get_notes_schema test
2022-08-30 09:42:32 +08:00
jonathansadowski 74f8d5f17a
Use syncpack to verify consistent versions for react and react-dom (#34397)
* Add GitHub action and pre-push hook for syncpack for react and react-dom

* Fix typo in pre-push script

* Don't execute suggested command to fix mismatches automatically.

* Update react and react-dom to 17.0.2

* Move changelog check to last, so that pre-push still fails if check isn't successful

* Add changelog files

* Correct issue with syncpack.yml referencing an internal action

* Add command to top-level package.json for fixing mismatches

* Update syncpack action to only run when package.json files are affected

* Update workflow to just run syncpack list-mismatches

* Add version pinning to syncpackrc
2022-08-24 10:15:22 -05:00
louwie17 78c28ae9f3
Add product link field (#34313)
* Add initial product field and modal for editing product link

* Create a product link modal for editing product link

* Only show permalink when product is published

* Add changelogs

* Add changelog for data package

* Change save button to primary

* Fix merge conflcts

* Add getPermalinkParts selector to products store

* Made use of getPermalinkParts to support draft products
2022-08-19 12:05:13 -03:00
Chi-Hsuan Huang 02b47a67db
Migrate @woocommerce/data navigation store to TS (#34239)
* Migrate woo data navigation store to TS

* Add changelog

* Fix action type

* Update packages/js/data/src/navigation/reducer.ts

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Add a doc comment to MenuItem type

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2022-08-17 14:32:38 +08:00
louwie17 a498cc8280
Add product form buttons and specific product edit page (#34211)
* Add initial product form action buttons to form

* Add new edit page and allow for updating and creating products

* Move crud functions to helper hook to keep things seperated better

* Add changelog

* ADd package changelogs

* Add isPending selector to products store

* Fix trash screen showing up when deleting product and add loading indicators

* Add extra types to Product type

* Update track names and add product data to tracks

* Update track logic when product is published

* Remove the Image section for now, to prevent confusion as it is not ready yet

* Add tests for the product form actions

* Update copy for publish & duplicate

* Remove unused code

* Set window.location correctly with href

* Reset changes in pnpm lock

* Moved pending action variables to product helper and updated buttons to reflect new suggestions

* Fix backwards compabitibility issue with Form changes

* Add switch to draft button
2022-08-11 11:04:14 -03:00
Moon dd794e8e26
Update/34063 store location skip btn (#34176)
* Make ProfileItems properties optional

* Remove skip button codes and replace them with SkipButton component

* Add SkipButton component

* Add changelog

* Add back continue button callback

* Apply popover styles globally

* Add skip button on the industry step

* Add skip button on the product types step

* Add skip button on the Business Details step

* Support onSkipped callback

* Record skip event

* Add skip event track for industry, product types, and business details

* Add SkipButton to the theme step

* Update snapshot

* Change track name to separate business details and free features

* Add changelog

* Remove unused code

* Update product types test snapshot

* Add back UsageModal on Continue click

* Update e2e tests to use Skip

* Use button selector for skip btn

* Fix duplicate event dispatch

* Do not call onClose and onContinue during the rendering -- it causes cannot update a component while rendering a different warning. Instead, call them when the button is clicked

* Skip the profiler without rendering usage modal when woocommerce_allow_tracking is set

* Skip the profiler without rendering usage modal when woocommerce_allow_tracking is set

* Go to the next step when allowTracking is yes
2022-08-08 21:08:03 -07:00
Chi-Hsuan Huang af97aaf410
Migrate @woocommerce/data settings store to TS (#34184)
* Migrate wc.data.settings to TS

* Correct data.settings type

* Fix wc admin client type errors

* Add changelog

* Add changelog

* Update types

* Update RawSetting type
2022-08-08 13:25:46 +08:00
RJ f3e436f991
fix: type definition issues related to pnpm hoisting rules in preparation for pnpm 7 upgrade (#34154)
- added missing TS definition dependencies
2022-08-05 15:19:08 +08:00
Sam Seay 5becf47d60
Simplify turbo commands (#34055)
* Change package json commands and turbo repo config to allow for greatly simplifying running turbo
* Remove require-turbo script which was causing caching issues
* Colorize CI output from scripts
* Add missing changelog script to extend-cart-checkout-block
2022-08-05 12:03:17 +12:00
Jacob Sewell f71f480027
Add product categories datastore (#33984)
* First draft of product categories datastore changes.
Heavily based on product shipping classes code.

* Fix constant name in product categories data store index.

* Create changelog for 33464/33984.

* Move changelog to correct folder.

* Remove redundant context param in product categories Query (already in BaseQueryParams).

* Apply Partial to BaseQueryParams.
2022-08-03 10:55:13 -05:00
Moon dfa8d017f3
Use the default payment suggestions when woocommerce_show_marketplace_suggestions is set to no (#34083)
* Support force_default_suggestions argument

* Use force_default_suggestions

* Support force_default_suggestions argument -- returns the default payment suggestions when both woocommerce_show_marketplace_suggestions and woocommerce_setting_payments_recommendations_hidden options are set to no

* Add changelog
2022-07-27 21:02:24 -07:00
Ilyas Foo e41c8b027d
Fix unusable historical import (#34054)
* Add resolvers to data store

* Changelog
2022-07-25 11:20:40 +08:00
Joshua T Flowers 4c1a82dc26
Add data store attribute terms (#33721)
* Add product attribute terms store

* Add ability to add params to URL

* Allow IdQuery for all crud functions

* Add tests around item parent keys

* Add tests around new utils

* Throw error when not all params are replaced in REST URL

* Add require attributes for terms

* Allow urlParameters to be specified

* Use namespace to detect url parameters

* Fix up selector return after applying namespace

* Clean queries to prevent sending URL param data to endpoint

* Add tests around new utils

* Remove unused method import

* Remove urlParameters argument no longer being used

* Add changelog entry
2022-07-21 12:28:30 -04:00
Joshua T Flowers 4f1bd278a3
Add product tags data store (#33682)
* Allow IDs to be numbers or strings

* Add product tags data store

* Remove duplicate IdType

* Add required fields

* Add changelog entry

* Prefix new data stores with EXPERIMENTAL_
2022-07-15 15:51:29 -04:00
louwie17 87e1f3106d
Add/33443 shipping zones data store (#33830)
* Add shipping zones data store

* Make query object optional in getItems call

* Make query optional

* Add changelog
2022-07-14 09:53:26 -03:00
louwie17 385fa1e3f9
Add required fields to CrudActions type (#33809) 2022-07-12 11:27:17 -03:00
github-actions[bot] c33212e612
Prepare Packages for Release (#33776)
Automated change: Prep all packages for release.

Co-authored-by: psealock <psealock@users.noreply.github.com>
2022-07-08 14:04:49 +12:00
louwie17 9e3df911c8
Add shipping class data store (#33765)
* Add initial shipping classes data store

* Add types for the product shipping class store

* Filter out undefined items in list for when an item is deleted

* Add changelog

* Add data store README
2022-07-07 13:36:50 -03:00
Paul Sealock 72925142f3
Packages: Fix postinstall errors on install (#33724) 2022-07-07 14:53:59 +12:00
Paul Sealock 7229b65bc9
Changelogger: Fix PHPCS violations (#33664) 2022-07-07 08:54:48 +12:00
Joshua T Flowers 67d9ba3b19
Add CRUD data store typing (#33680)
* Rename and export selectors for easier typing

* Add CRUD action and selector type mapping

* Add product attribute types

* Separate getItem to provide correct return type

* Rename config to type

* Add generator return types
2022-07-06 12:04:16 -04:00
Moon 76f9a1fc57
Fix export functionality on Analytic pages (#33709)
* Import correct controls

* Add changelog

* Add changelog
2022-07-04 12:55:39 +08:00
Joshua T Flowers 97f337ad8d
Add CRUD data store delete (#33596)
* Add delete actions

* Update CRUD actions in readme

* Allow IDs to be numbers or strings

* Update tests

* Update selectors to use IdType
2022-07-01 14:04:17 -04:00
RJ 04bef970ef
Dev: allow unused destructured variables in lint rules (#33548)
Allow unused destructured variables in lint rules

- there were exceptions to the rule being added everywhere and it seems to be a reasonable allowance
2022-06-29 16:56:31 +08:00
jonathansadowski d48a0b2d90
Add helper tool for making sure build, lint, and test are run through Turborepo (#33573)
* Add helper tool for making sure build, lint, and test are run through Turborepo

* Update node version for require-turbo
2022-06-28 13:17:05 -05:00
Roy Ho 98cf4e7160
Add PR numbers to changelog entries on code freeze process (#33627)
* Add PR numbers to changelog entries on code freeze process

* Add markdown links to PR
2022-06-28 11:15:39 -07:00
Joshua T Flowers adbe9f37d8
Add CRUD data store create and update actions (#33571)
* Alphabetize reducer

* Add create and update methods

* Add named dispatch actions

* Update data store tests

* Update readme to include dispatch action examples

* Add missing reducer type for update item error

* Fix whitespace issues
2022-06-27 09:36:00 -04:00
Chi-Hsuan Huang dcbae453f8
Update shipping recommendations display logic (#33529)
* Update shipping recommendations display logic

* Add todo comment

* Add changelog

* Render null for shipping recommendations if store only sells digital products

* Fix onboarding product type

* Update plugins/woocommerce-admin/client/shipping/test/experimental-shipping-recommendations.tsx

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2022-06-23 09:54:38 +08:00
Joshua T Flowers 59427def84
Add crud data store creator (#33546)
* Add initial get list data store methods

* Add product attributes data store

* Add method to retrieve single item resource

* Update use of endpoint to namespace

* Update resources naming to items to reduce ambiguity

* Use destructured object as argument for creators

* Move data store under the products namespace

* Add some tests around data store method creation

* Add readme for crud data store setup

* Add changelog entry

* Alphabetize method names

* Fix getItems selector resource name

* Remove unused vars
2022-06-22 19:35:02 -04:00
Chi-Hsuan Huang 3669426bd6
Migrate `@woocommerce/data` user and use-select-with-refresh to TS (#33512)
* Migrate wc.data user and use-select-with-refresh to TS

* Add changelog

* Update interval type

* Add doc comment

* Update use-user-preferences.ts test doc comment
2022-06-22 17:27:18 +08:00
Chi-Hsuan Huang e412d5912b
Migrate `@woocommerce/data` item store to TS (#33482)
Migrate item store to TS
2022-06-21 16:46:30 +08:00
Chi-Hsuan Huang 7068c78101
Fix JS lint errors (#33484)
* Fix @woocommerce/data lint errors

* Fix internal-e2e-builds lint error

* Fix lint errors
2022-06-21 16:37:34 +08:00
Paul Sealock b79e54eb09
Update JS packages changelogs (#33412) 2022-06-16 10:06:31 +12:00
Fernando 55eebebeba
Add product deletion via datastore API (#33285)
* Add delete products via data store api

# Conflicts:
#	packages/js/data/src/products/action-types.ts
#	packages/js/data/src/products/actions.ts
#	packages/js/data/src/products/reducer.ts
#	packages/js/data/src/products/selectors.ts

* Add tests

# Conflicts:
#	packages/js/data/src/products/test/reducer.ts

* Set `force = false` by default

* Add changelog

* Fix thrown error

* Remove error

* Remove `DeleteProductType`

# Conflicts:
#	packages/js/data/src/products/actions.ts

* Remove conditional retrun

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-06-15 09:25:10 -03:00
Joel Thiessen 183ac65c82
Adding context property to tasklist tracks event, introducing LayoutContext (#33287) 2022-06-14 11:31:50 -07:00
Chi-Hsuan Huang 94367ca559
Migrate `@woocommerce/data` onboarding store to TS (#33401)
* Migrate onboarding data store to TS

* Update deprecated-tasks.tsx type annotations

* Fix onboarding resolvers
2022-06-14 10:23:40 +08:00
Joshua T Flowers 9d98f1b1da
Add update product actions to product data store (#33282)
* Add update product actions to product data store

* Add changelog entry

* Use MutableProperties for update data

* Omit read only properties instead of picking mutable properties
2022-06-10 12:24:27 -04:00
Christopher Allford b7931409f2
Migrate From Nx to Turborepo (#33079)
This replaces all `nx` commands with `turbo` commands and removes Nx from the repository. All of the `project.json` files have been removed and any commands that broke with Turborepo have been adjusted.
2022-06-09 14:40:07 -07:00
Joshua T Flowers 17d9e8072d
Add create product actions in products data store (#33278)
* Add create product actions in products data store

* Add changelog entry

* Yield to actions in generator

* Add mutable properties type
2022-06-07 09:23:27 -04:00
Christopher Allford 112b9ac67a
Prefixed Private JS Packages (#33218)
In order to ease the identification of private packages within the monorepo, this adds an `internal-` prefix to all of the current private packages. This makes it immediately clear when reviewing `packages/js` what is and isn't a private package.
2022-05-31 15:42:00 -07:00
Christopher Allford 2101bf5c9c
Set Composer Platform Requirements (#33245)
This commit sets a platform requirement for all `composer.json` files to ensure that they are compatible with CI.
2022-05-27 14:57:33 -07:00
louwie17 83686b2980
Order product count api requests orders store (#33063)
* Add initial Order redux store

* Add unit tests for orders store

* Update fetch with headers to parse error

* Update action names, and consolidate request function

* Add chnagelog

* Update resolver to always include id and update reducer to prevent data overwrite
2022-05-27 11:12:00 -03:00
Lourens Schep defc559947 Make sure we always use id for receiving products and update reducer to handle _fields 2022-05-25 15:09:21 -03:00
Lourens Schep 1fc2f4ed22 Remove unused action 2022-05-25 12:09:39 -03:00
Lourens Schep 1299a799ab Update Product types, and allow for more extensibility 2022-05-25 12:09:10 -03:00
Lourens Schep df565786c0 Make sure we throw errors within resolvers 2022-05-25 12:09:09 -03:00