Commit Graph

93 Commits

Author SHA1 Message Date
Justin Shreve 0fe061b97d Add Feature Flags (https://github.com/woocommerce/woocommerce-admin/pull/1500)
* First pass at adding feature flags. Accessible over PHP and JS.

* Hook up dev config to test enviornments, hook up features to their flags.

* Cleanup some code and add documentation. Remove beta config.

* Handle PR Feedback: Add devdocs flag, remove categories flag, fix auto-generated PHP warning.

* Add todo for beta phase.

* Handle PR feedback: Simplify is_array check, update build command, simplify test mock, remove empty webpack line.
2019-02-12 15:02:02 -05:00
Joshua T Flowers b7379def1b Format todo comments to match WC Core format (https://github.com/woocommerce/woocommerce-admin/pull/1474)
* Format todo comments to match WC Core format

* Remove variations todo comment
2019-02-06 14:41:53 +08: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
Timmy Crawford 10c6016d4c Update usage of lib/number to @woocommerce/number (https://github.com/woocommerce/woocommerce-admin/pull/1400)
* Remove usage of lib/number

* Remove formatNumber usage when currency is used.

* Add wc-number as a dependency of wc-currency.

* Add locutus as a dev dependency.

* Add number to test helper.
2019-01-29 08:48:46 -08:00
Justin Shreve b8d25c3073 Fix setting default values 2019-01-18 12:11:49 -05:00
Justin Shreve 01b96ebea5 Hook up performance indicators to the REST API 2019-01-18 08:19:19 -05:00
Joshua T Flowers 7cdbbf87e8 Update all wc-admin endpoints to v4 (https://github.com/woocommerce/woocommerce-admin/pull/1298)
* Update all wc-admin endpoints to v4

* Add namespace for products and customers controllers

* Include product quantity in orders data store

* Add coupons to extended data in the orders data store

* Format order statuses response from database

* Hook up orders table to orders endpoint

* Add namespace to data endpoint controller

* Add namespaces to remaining extended controllers

* Use NAMESPACE var in place of wc/v4

* Update product links in orders table to products reports

* Add coupons rest controller override

* Format coupon code in response

Co-Authored-By: joshuatf <joshuatf@gmail.com>
2019-01-18 10:52:58 +08:00
Jeff Stieler 25e81de952 Decode HTML entities in currency symbol and price format for use on the frontend.
The only alternative is to `dangerouslySetInnerHTML` everywhere.
2019-01-17 09:21:03 -07:00
Jeff Stieler 4bf7a79a84 Add price format, decimal separator, and thousand separator to currency settings object. 2019-01-16 17:32:48 -07:00
Joshua T Flowers ee19308254 Add initial state hydration for user data (https://github.com/woocommerce/woocommerce-admin/pull/1297)
* Hydrate initial state through localized script

* Parse user meta for default rows as integer

* Change eslint ignore to undef only

* Add currentUserData to wcSettings
2019-01-15 10:24:06 +08:00
Joshua T Flowers bdb9525afe Add dashboard chart interval preferences (https://github.com/woocommerce/woocommerce-admin/pull/1230)
* Add user interval preferences for dashboard charts

* Add interval selector styling
2019-01-09 08:12:39 +08:00
Joshua T Flowers ef6d7ec4cb Add leaderboard section (https://github.com/woocommerce/woocommerce-admin/pull/1234)
* Add leaderboard section to dashboard

* Add rows per table user preference

* Pass in rowsPerTable to leaderboards to adjust total rows

* Add styling for rows select dropdown

* Set default for total rows if tableQuery is undefined

* Remove double localization on leaderboard labels

* Simplify toggle logic for hidden leaderboards

* Move updateCurrentUserData outside of setState callback
2019-01-08 15:20:01 +08:00
Joshua T Flowers e067da06be Add dashboard chart user preferences (https://github.com/woocommerce/woocommerce-admin/pull/1225)
* Add user preferences for shown dashboard charts

* Add user preferences for dashboard chart type

* Check if user preferences are set before assigning to state

* Move API update methods out of callbacks and use xor
2019-01-08 09:49:11 +08:00
Paul Sealock 17a21e00db DateRange: use DayOfWeek from moment locale{ 2019-01-04 11:50:05 +13:00
Joshua T Flowers 8dc3398636 Extract IE11 specific styles to IE stylesheet (https://github.com/woocommerce/woocommerce-admin/pull/1199)
* Extract IE11 specific styles to IE stylesheet

* Enqueue IE stylesheet conditionally

* Use server-side http user agent to detect IE11

IE11 and up does not detect conditional comments for stylesheets so match user agent string and conditionally load stylesheet.
2018-12-28 09:58:03 -08:00
Jeff Stieler 3285ac4980 Include Date component required settings in app-wide settings object instead of using experimental retrieval from @wordpress/date. 2018-12-18 15:46:46 -07:00
Justin Shreve f18dbe373c Fix dataEndpoints notice (https://github.com/woocommerce/woocommerce-admin/pull/1095) 2018-12-18 16:08:32 -05:00
Justin Shreve 5924be5fa2 Add base downloads report page (https://github.com/woocommerce/woocommerce-admin/pull/1106) 2018-12-17 15:50:45 -05:00
Jeff Stieler 08c31151b4 Merge pull request woocommerce/woocommerce-admin#1089 from woocommerce/add/1028-advanced-numerical-value-filter
Add Advanced Numerical Value Filter
2018-12-14 18:02:16 -07:00
Albert Juhé Lluveras e4fb53b8f8 Stock report (https://github.com/woocommerce/woocommerce-admin/pull/977)
* Create Stock report

* Create Stock report page

* Display product name in Stock table

* Hide 'Parent' column in Stock table

* Add stock to endpoints map

* Remove dateRangeFilter.show from ReportFilters

* Fix stock status link

* Set the default order to 'stock_quanity'

* Add correct name to StockReport
2018-12-14 15:58:08 -08:00
Justin Shreve 43055d25a5 Add a country filter to the customers report (https://github.com/woocommerce/woocommerce-admin/pull/1080)
* Add an advanced country filter to the customers report

* Handle PR feedback: Fix PropType warnings, move filter/label logic to config getLabels() function, fix typo.

* Add flag thumbnail to the country filter

* Update README and CHANGELOG
2018-12-14 10:13:34 -05:00
Jeff Stieler 8e8e6d6d97 Use store’s currency symbol position setting to select prefix/suffix when rendering an advanced number filter input. 2018-12-13 17:30:29 -07:00
Kevin Killingsworth a7aed85244 Add column visibility prefs to all tables (https://github.com/woocommerce/woocommerce-admin/pull/1082)
* Add column prefs to the other tables

This adds column prefs to the other remaining report tables.

* Table columns: Override defaults with user prefs.

* table columns: Add remaining analytics tables

* user read/update operation: Combine responses

This combines the response handling for the read and update operations.
2018-12-13 14:34:23 -06: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 d79b490dda Add Customers Report page (https://github.com/woocommerce/woocommerce-admin/pull/1018)
* Create Customers Report page

* Hide date range filter if dateRangeFilter.show is false

* Rename dateRangeFilter.show to showDatePicker in filters config

* Add correct key 'average_order_value'

* Fix customers autocompleter not working
2018-12-10 13:26:43 -06:00
Justin Shreve 569947fb0e Remove lodash noConflict (https://github.com/woocommerce/woocommerce-admin/pull/1053) 2018-12-10 11:48:19 -05:00
Albert Juhé Lluveras d161732c0a Create Customers Report page 2018-12-06 16:25:31 -06: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
Paul Sealock 0ab5c735be Remove order statuses wc- prefix 2018-11-28 15:58:17 +13:00
Allen Snook a7667c2aff Call wp_set_script_translations when possible 2018-11-26 16:18:36 -08:00
Albert Juhé Lluveras 2acdd04d7a Remove duplicated 'Coupons' menu entry and reorder them (https://github.com/woocommerce/woocommerce-admin/pull/878) 2018-11-16 14:34:40 -06:00
Jonathan Belcher f167c27b5e Adds UI wiring for Coupons chart and summary (https://github.com/woocommerce/woocommerce-admin/pull/724)
* Adds UI wiring for Coupons chart and summary

* Update for changes in master

* Update to use current method

* Remove accidental paste

* Fix typo

* Seperate WooCommerce deps
2018-11-16 08:39:29 -05:00
Jonathan Belcher 8ddcb7ce4a Adds UI wiring for Catgories chart and summary (https://github.com/woocommerce/woocommerce-admin/pull/725)
* Adds UI wiring for Catgories chart and summary

* Use new format for charts

* Use swagger api

* Get rid of store references

* Final touch ups

* Seperate out WooCommerce dep
2018-11-16 08:33:58 -05:00
Albert Juhé Lluveras cc86233e0f Add Coupons report table (https://github.com/woocommerce/woocommerce-admin/pull/867)
* Add Coupons report table

* Fix propTypes warning in CouponsReportTable

* Remove unnecessary constructors from tables
2018-11-15 21:35:10 -06:00
Jonathan Belcher 2dbe3e8cc7 Adds UI wiring for Taxes chart and summary (https://github.com/woocommerce/woocommerce-admin/pull/779)
* Adds UI wiring for Taxes chart and summary

* Update to latest method for creating summary/chart

* Switch out API for swagger

* Fix copy pasta

* Implement swagger api

* Update config to match swagger API

* Code review fixes

* Remove store code as it isnt used
2018-11-14 16:04:59 -05:00
Boro Sitnikovski 83fdaf6cd6 Fix some PHP notices when accessing WC Settings screen (https://github.com/woocommerce/woocommerce-admin/pull/828)
* Fix some PHP notices when accessing WC Settings screen

* Add sanitization
2018-11-13 14:08:01 -05:00
Allen Snook 1a72cf2e4e Fix compatibility check to handle WP 5; call wp_get_jed_locale_data 2018-11-07 07:38:14 -05:00
Kelly Dwan 8af82f3dee Build: Move `lib/csv` to packages (https://github.com/woocommerce/woocommerce-admin/pull/756)
* Move CSV to packages

* Update CSV imports

* Add some basic usage documentation

* Add csv lib to the enqueued assets

* Change name to `csv-export`

* Update webpack build process to allow for package names with dashes

* Fix capitalization

* Update readme with docs extracted from jsdoc

* Fix merge conflict commit 😣

* Check that generateCSVFileName is called with correct params
2018-11-06 16:53:22 -05:00
Kelly Dwan 1716ebcdae Inject translations after i18n is included, so we catch the earliest instance of translation functionality (https://github.com/woocommerce/woocommerce-admin/pull/782) 2018-11-05 17:09:20 -05:00
Kelly Dwan d27cb26ef7 Build: Move `lib/nav-utils` and `lib/history` to `@woocommerce/navigation` (https://github.com/woocommerce/woocommerce-admin/pull/763)
* Move nav-utils and history to new package

* Update config to build and use new navigation package

* Update all imports to use new navigation package

* Remove unnecessary README

* Update nav-utils path
2018-11-05 16:02:04 -05:00
Kelly Dwan f62537fc17 Try: Add Lerna to split out utility packages (https://github.com/woocommerce/woocommerce-admin/pull/678)
* Add lerna & GB package-building script

* Move currency library to lerna module

* Update lerna config

* Add publish commands

* Add currency as an faux-external module

* Add separate command to build just core files

* Update dependency path

* Update build script to build all packages into `dist`

* Add packages to the jest test setup

* Move date library to packages

* Update imports to use @woocommerce/date

* Output wcSettings definition before any scripts are output

Fixes issues where wc-dates lib relies on settings object

* Add the build step into travis

* Update jest config to dynamically get package paths

* Update package postcss config to match wc-admin’s main config

* Add combined watch scripts for package+app, add a `clean` command to clean up old build files

* Ignore PHPCS error (leave todo message to fix)

* Concat files with a space, fix issue where all files join in one continuous string and fail the check
2018-10-30 14:57:48 -04:00
Jonathan Belcher 57e46e3273 Updates default analytics menu (https://github.com/woocommerce/woocommerce-admin/pull/658)
* Updates default analytics menu

* Make revenue the default analytics page

* Fix header link to direct to Revenue report

* Fix highlighting with additional filters
2018-10-27 13:38:35 -04:00
Jonathan Belcher dec6022638 Updates wc-admin menu order and entries woocommerce/woocommerce-admin#624 (https://github.com/woocommerce/woocommerce-admin/pull/656)
* Updates wc-admin menu order and entries woocommerce/woocommerce-admin#624

* Remove menu items for pages that are not ready
2018-10-24 17:58:31 -04:00
Albert Juhé Lluveras 29f68a9ce8 Products table (https://github.com/woocommerce/woocommerce-admin/pull/619)
* Add Products table

* Update tests

* Cleanup

* Make placeholder table have the correct sorted column selected

* Change default sort to items_sold & desc

* Fix wrong CSV filename

* Remove unnecessary constructor in ProductsReportTable

* Add @TODO comment to Products table summary

* Set ProductsReportTable link to wc-admin type

* Make sure categories is an array before using map
2018-10-24 09:50:05 +02:00
Jonathan Belcher a29799eb85 Fixes PHP errors caused by linting fixes (https://github.com/woocommerce/woocommerce-admin/pull/650) 2018-10-23 19:12:49 -04:00
Claudio Sanches 1fd5714162 Merge pull request woocommerce/woocommerce-admin#644 from woocommerce/fix/lints-lib-admin
Fixes lints in lib/admin.php
2018-10-23 15:08:34 -03:00
Jonathan Belcher a6243b8dbe Adds proper doc block with proper TODO 2018-10-23 13:54:20 -04:00
Jonathan Belcher 50aed9121a Update admin.php 2018-10-23 13:45:43 -04:00
Jonathan Belcher 1766f2ceb1 PHPCS ignore one line 2018-10-23 12:07:55 -04:00
Jonathan Belcher 03c8e42364 Fix errors in lib/common.php (https://github.com/woocommerce/woocommerce-admin/pull/641)
* Fix errors in lib/common.php

* Update package.json
2018-10-23 11:55:37 -04:00