Commit Graph

28 Commits

Author SHA1 Message Date
Darren Ethier 783f613815 wp.data Settings refactor
add data store for settings using wp.data

add use-select-with-refresh example

replace fresh-data usage with new settings data store for settings page

Add data package

move to packages

Fix isDirty after save

Add isBusy to primary button when saving

update Readme

remove comment

readme to use useSelect

Revert "update Readme"

This reverts commit 7402fd49b8f384fde5878e0bee0616f0a87bb4f6.

Data Layer: Settings page to use Settings store (https://github.com/woocommerce/woocommerce-admin/pull/3430)

* Data Layer: Settings store as source of truth for settings page

This reverts commit 7402fd49b8f384fde5878e0bee0616f0a87bb4f6.

* fixup

* save on reset

* non mutable constants

* add set/getSettings

* save using setSettings

* separate HOC

* cleanup

* remove settingsToData

* withHydration

* remove withSettings HOC

* renmove useSettins for now

* withSettingsHydration updates

* Revert "withSettingsHydration updates"

This reverts commit f2adf108fbe19b574978fea5925a1a18e7ed3007.

* rename withSettingsHydration

* redo withSettingsHydration simplification

* restore

* useSettings

* render using useSettings

* handleInputChange working

* get setIsDirty working

* saving works

* reset and cleanup

* cleanup

* use snake case on hook files

* use clearIsDirty

* Avoid mutation on setting update

* remove @todo

* persiting -> isPersisting

* better reducer ternaries

* add wcSettings as arg to withSettingsHydration

reset package-lock

Settings: split out mutable wcAdminSettings (https://github.com/woocommerce/woocommerce-admin/pull/3675)

Settings: handle async settings groups (https://github.com/woocommerce/woocommerce-admin/pull/3707)
2020-03-25 16:20:17 +13:00
Darren Ethier 33c5b41e3f Align WooCommerce javascript code standards/linting/styles with WordPress core. (https://github.com/woocommerce/woocommerce-admin/pull/3674)
* align code styles with the same configuration as Woo-Blocks

* initial pass of reformat-files

* applies manual fixes to various new linting errors surfaced by the configuration change.

* Fix state mutation in image-upload

* remove unused pre-commit-hook.js

* requestAnimationFrame -> window.requestAnimationFrame

* wc-api eslint changes

* eslint fixes on client/lib and client/settings

* client/header eslint changes

* fixes for client/dashboard part 1

* fixes client/dashboard part 2 of 2

* client/analytics part 1

* client/analytics continued

* client/analytics, last batch

* rename __mock__ directory

* pass in useEffect, useState from React component or function

* remove '+' from sprintf string argument

* use ref instead of findDOMNode

* reformat and repaply package.json changes

* install deps before running linter in Travis

* useGetCountryStateAutofill

* counryStateAutofill

* countryStateAutofill

Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-02-14 15:23:21 +13:00
Jeff Stieler e53d5daa94 Hook up download button to export endpoint. (https://github.com/woocommerce/woocommerce-admin/pull/2900)
* Move TableCard actions from packaged component to ReportTable.

* Build an IE stylesheet for the main app.

* Remove defunct TableCard download test.

* Update components changelog.

* Fix pagination.

Pull query from table data instead of ReportTable props.

* Initiate report export from download button (https://github.com/woocommerce/woocommerce-admin/pull/2951)

* Add report export operations to API spec.

* Initiate a report export job when there is more than one page of report data.

* Add report download "type" to Tracks event.

* Ensure WC_Emails class is hooked in before sending report download emails.

* Set email parameter for background CSV download requests.
2019-10-08 15:02:26 -07:00
Joshua T Flowers 7bce0b710f Onboarding: Add "Customize Appearance" task (https://github.com/woocommerce/woocommerce-admin/pull/2857)
* Add initial Customize Appearance task

* Add options wc endpoint

* Add wc-api specs to manage options
2019-09-02 11:45:56 +08:00
Albert Juhé Lluveras 808143d7c9 Remove updated stock products from Activity Panel (https://github.com/woocommerce/woocommerce-admin/pull/2442)
* Remove updated stock products from Activity Panel

* Use prefers-reduced-motion preference

* Update comparison to check if stock quantity is 'lower or equal to' lowStockAmount

* Focus quantityInput on 'beginEdit' instead of 'componentDidUpdate'

* Add comment explaining why we hide cards

* Refactor updateProductStock action

* Add type and parent_id properties to update
2019-06-27 11:21:43 +02:00
coderkevin 78e85f87c3 Improve hidden tab suppression/fix rapid requests
This fixes the rapid request problem that was happening when switching
tabs while having timed out requests. It changes the approach from
suppressing the actions sent out to preventing the read function from
being called at all.

I think the original problem has occurred because the original approach
was relying on an internal implementation of apiFetch from wp.data. This
new approach does not have such a dependency. It prevents apiFetch from
even being called. However, in the process, it will also prevent any
newly required resources from being fetched if the user manages to
switch tabs before it is requested. (e.g. refresh, then switch tabs
quickly).
2019-06-10 17:03:08 -05:00
Joshua T Flowers 3b945b4bba Add profile onboarding mutators and selectors to wc-api (https://github.com/woocommerce/woocommerce-admin/pull/2310)
* Add onboarding profile selectors and mutators to wc-api

* Show onboarding profiler depending on API results

* Add initial state hydration for onboarding profile

* Add onboarding namespace constant
2019-05-28 22:45:52 +08:00
Jeff Stieler 3c243ffe00 Remove errant import update operation from wp-api spec. 2019-05-21 13:36:01 -06:00
Albert Juhé Lluveras a382fd6143 Hook up import/totals endpoint to Historical Data Import screen (https://github.com/woocommerce/woocommerce-admin/pull/2208)
* Hook up import/totals endpoint to Historical Data Import screen

* Remove getImportTotalsError and isGetImportTotalsRequesting selectors which were not used

* Remove duplicate style import

* Fix RTL displays
2019-05-20 22:50:25 +02:00
Jeff Stieler ef0fd73f2c Merge pull request woocommerce/woocommerce-admin#1998 from woocommerce/add/247-stock-panel
Hook up Stock panel
2019-04-12 09:19:21 -06:00
Kevin Killingsworth 85fda4d61f Add fresh-data dev info support for dev builds. (https://github.com/woocommerce/woocommerce-admin/pull/1978)
* Add fresh-data dev info support for dev builds.

This adds support for dev info to be accessed from the JavaScript
console for more information about resources handled by fresh-data.

* Update fresh-data to 0.6.0
2019-04-09 09:55:01 -05:00
Jeff Stieler 68e49a9574 Add update method for products to wc-api. 2019-04-01 11:28:10 -06:00
Justin Shreve 1348245406 Add store notice around processing historical data. (https://github.com/woocommerce/woocommerce-admin/pull/1763)
* Add store notice around processing historical data.

* Cleanup

* Handle PR feedback.

* Clean up `add` logic and add empty content_data. Also add logic to get_notes_count so that we can hide unactioned statuses.

* Add the ability to update a note, and to also mark a status when an alert is clicked.

* Remove mark_actioned call on sync

* add missing todo
2019-03-12 09:13:20 -04:00
Justin Shreve a1bbd22ca2 Update product details report to use getItems (https://github.com/woocommerce/woocommerce-admin/pull/1488) 2019-02-06 11:24:40 -05:00
Justin Shreve 949afce248 Add Product Detail Report & Finish Comparison Chart Mode Functionality (https://github.com/woocommerce/woocommerce-admin/pull/1391)
Product detail report and comparison

Code cleanup

Fix 404 on product variations endpoint after rebase

Fix up tests

Fix loading indicators and add some checks around malformed variation response

Add date filtering SQL bits to the variations query

Handle PR feedback: Fix viewport, fix duplicate product issue, fix legend display reset, fix bargraph overflow, fix some coding standards/whitespace, add extra variation santiziation.

Fix scroll on wide charts, and fix undefined prop getting passed into report chart render
2019-02-05 13:12:58 -05:00
Albert Juhé Lluveras 666d8e4a3b Merge getOrders and getItems (https://github.com/woocommerce/woocommerce-admin/pull/1438)
* Move labels loading logic into a lib

* Move lib/labels into lib/async-requests

* Implement tabular data filtering

* Allow searching for string in report tables

* Add table filtering to customers table

* Get ids from searched string to populate the table

* Fix autocompleter keyboard interactions

* Improve props naming

* Cleanup report customers data store

* Prevent an edge case issue that might not update the selectedOptions when directily modifying the URL

* Fix wrong selected autocompleter option

* Add missing translation domain

* Move searchItemsByString to wc-api/items/utils.js

* Avoid autocompleter results appearing when there was no search string

* Alphabetically order 'allowFreeTextSearch' prop

* Reset selected table rows when directly modifying the URL

* Simplify props destructuring

* Undo customers data store change

* Simplify isProductDetailsView expression

* Improve order

* Merge getOrders and getItems
2019-02-01 11:01:42 +01:00
Albert Juhé Lluveras d8ed3b6614 Implement tabular data filtering (https://github.com/woocommerce/woocommerce-admin/pull/1381)
* Move labels loading logic into a lib

* Move lib/labels into lib/async-requests

* Implement tabular data filtering

* Allow searching for string in report tables

* Add table filtering to customers table

* Get ids from searched string to populate the table

* Fix autocompleter keyboard interactions

* Improve props naming

* Cleanup report customers data store

* Prevent an edge case issue that might not update the selectedOptions when directily modifying the URL

* Fix wrong selected autocompleter option

* Add missing translation domain

* Move searchItemsByString to wc-api/items/utils.js

* Avoid autocompleter results appearing when there was no search string

* Alphabetically order 'allowFreeTextSearch' prop

* Reset selected table rows when directly modifying the URL

* Simplify props destructuring

* Undo customers data store change

* Simplify isProductDetailsView expression

* Improve order

* Filter tax code parts before modifying them
2019-02-01 10:55:19 +01:00
Joshua T Flowers 49e78b90cf Add settings page with excluded order statuses (https://github.com/woocommerce/woocommerce-admin/pull/1364)
* Add settings page routes

* Add control options for excluded statuses

* Add control options for excluded statuses

* Add excluded order statuses to rest api

* Add wc settings to wc-api

* Add wc settings to wc-api

* Split and validate multiselect values in settings controller

* Add wcAdminSettings to wcSettings global

* Set initial excluded statuses from serverside wcSettings data

* Add extensible filter for wcSettings global

* Split arrays into comma separated strings in wc-api

* Extract setting as separate component

* Extra settings to config file

* Add checkboxGroup option as input type

* Separate status types into default and custom groups

* Add setting option styling

* Add responsive styling for settings

* Fix wpClosedMenu and wpOpenMenu for settings page

* Add support for resetting to default values

* Only show checkbox group if options are available

* Add proptypes to Setting component

* Add extensible filter to analytics settings

* Add readme for settings config and extensibility

* Hook up excluded status settings to reports

* Pass object to settings API instead of comma delimited string

* Fix inpuType -> inputType typo

* Remove hasError from constructor

* Bump settings API to v4

* Use interpolateComponents instead of dangerously setting html

* Use empty array in initial excldued statuses setting value if none is retrieved

* Remove double check for refunded status in default order statuses

* Update settings wc-api to use namespace

* Add aria=labelledby to checkbox group
2019-01-31 09:04:11 +08:00
Albert Juhé Lluveras 5dcea1af6f Remove wc-api customers (https://github.com/woocommerce/woocommerce-admin/pull/1338) 2019-01-17 19:07:21 +01:00
Joshua T Flowers f83b0e0615 Add product categories wc-api and breadcrumbs (https://github.com/woocommerce/woocommerce-admin/pull/1131)
* Add support for product cats in wp rest api

* Add categories to WC API

* Add category breadcrumbs component

* Increase per_page limit size for product cat API

* Use wc/v3 API to pull product categories

* Return category IDs in API

* Add categories to product reports

* Add category IDs test for REST API

* Switch to getResource instead of require for total count selector
2018-12-21 10:44:27 +08:00
Albert Juhé Lluveras 9ef07a41b6 Merge pull request woocommerce/woocommerce-admin#1075 from woocommerce/add/extend-customers-data-from-endpoint
Extend customers table data with data from WC endpoint
2018-12-18 09:30:03 +01:00
Kevin Killingsworth 11176f7b0e wc-api: Add user meta for UI preferences (https://github.com/woocommerce/woocommerce-admin/pull/1057)
* wc-api: Add user meta for UI preferences

This adds wc-api code to store UI preferences and provides one example
of updating the revenue table to save column preferences.

* wc-api user: fix returns of operations to arrays

Before, a function was returning undefined when the resourceNames didn't
include what we wanted for the user operations. This was causing some
console errors.

* ReportTable: use columnPrefsKey

This uses `columnPrefsKey` for the user preferences key instead of some
erroneously hard-coded values.

* Fix formatting/comments

These are a couple of small formatting and comment fixes.

* Replace woocommerce_meta_ prefix with wc_admin_

This changes the prefix for the meta fields for the `woocommerce_meta`
user meta array to be `wc_admin_` which better hints at the purpose of
these settings.
2018-12-13 13:24:54 -06:00
Albert Juhé Lluveras c679c8bad7 Extend customers data with data from WC endpoint 2018-12-12 15:22:25 +01:00
Justin Shreve 20e202080a Add Live Data to Reviews Panel (https://github.com/woocommerce/woocommerce-admin/pull/1055)
* Add Live Data to Reviews Panel
Adds the ability to embed the product in a product review response

* Clean up code needed to embed some product fields.

* Add API response tests
2018-12-12 08:35:56 -05:00
Jeff Stieler 16f24a31ba Hook up ReportTable to wc-api. 2018-12-07 16:39:42 -07:00
Jeff Stieler 0d6cd1a776 Add report stats to the `wc-api` spec. 2018-12-07 16:39:40 -07:00
Justin Shreve 8d4b0fcc07 Fix Activity Panel on existing WooCommerce pages (https://github.com/woocommerce/woocommerce-admin/pull/1004)
* Fix Activity Panel on embedded pages

* Fix comment typo
2018-12-06 17:08:40 -05:00
Kevin Killingsworth 847131c6c9 Add wc-api and "Fresh Data" (https://github.com/woocommerce/woocommerce-admin/pull/833)
* data: Add @fresh-data/framework to package.json

* data: Add fresh-data and replace orders in table

This PR adds fresh-data with a WooCommerce API spec to fulfill order
information. It then replaces the existing selectors for the orders
table with the new selectors as a proof-of-concept.

* wc-api: Add temporary code for `withSelect`

This adds temporary code for a `withSelect` function outside of
`@wordpress/data` until the context PR is merged:

https://github.com/WordPress/gutenberg/pull/11460

* wc-api: Update fresh-data to 0.5.0
2018-11-29 09:57:49 -06:00