Commit Graph

54 Commits

Author SHA1 Message Date
Joshua T Flowers 8d99e637c5 Update dashboard charts to use WP Card (https://github.com/woocommerce/woocommerce-admin/pull/5897)
* Update dashboard charts to use WP Card

* Fix lint and test errors
2020-12-21 14:06:41 -05:00
Sam Seay be47d9d795 Only import the Gridicons we need, to reduce package size. (https://github.com/woocommerce/woocommerce-admin/pull/5668) 2020-11-19 09:52:24 +13:00
Daniel Bitzer d8098d6fd7 Adds `@woocommerce/tracks` package (https://github.com/woocommerce/woocommerce-admin/pull/5017)
* Add @woocommerce/tracks package.json

* Add @woocommerce/tracks .npmrc

* Move lib/tracks.js in to tracks package

* Add tracks package debug dependency

* Add readme for tracks package

* Add changelog for tracks package

* Add info about debugging and opt-ins to tracks package readme

* Load tracks package script

* Add tracks package to packages readme

* Add tracks package to webpack config

* Add tracks package external to starter-pack

* Replace lib/tracks uses with @woocommerce/tracks

* Update package-lock.json
2020-08-20 14:29:52 +09:30
Paul Sealock 8afad405d4 Remove unused lib/date (https://github.com/woocommerce/woocommerce-admin/pull/4987) 2020-08-18 09:53:13 +12:00
Paul Sealock c145783e0a Fix dependency declarations (https://github.com/woocommerce/woocommerce-admin/pull/4972)
* renmove WC comment block

* client routes

* more fixes

* moar search

* getting there

* by hand now

* david beating goliath

* mission accomplished

* client filepath

* save

* got it

* remove script

* fixes

* deal with package internal dep

* remove webpack alias

* fix webpack relative paths

* remove commented rule

* remove extra line

* remove unused modules entry
2020-08-13 14:05:22 +12:00
Darren Ethier dc5304823b Add @woocommerce/eslint-plugin (https://github.com/woocommerce/woocommerce-admin/pull/4714)
* add new woocommerce/eslint-plugin

* implement eslint-plugin (switch scripts to use wp-scripts etc)

* various linting fixes

* more lint fixes

* improve fix script

* more eslint fixes

* more eslint fixes

* temporary convert rules to warnings until they are all handled

* linting fixes

* update package-lock.json

* remove duplicates

* remove unnecessary `@wordpress/dependency-group` rule config

* add docs and adjust rules

* prettier fix

* fix merge artifact

* convert more rules to warnings

* change order to reflect importance

* install babel-preset-default

* remove unnecessary configuration for babel

* fix dependency group rule and test

* fix test

* handle collapsible whitespace

* add react testing library eslint plugin

* linter errors

* Add back in prettierrc

* package-lock update

* js lint fix with --fix

* disable whitespace in translation

* package-lock update

* make eslint actual dependency, not peer dependency

* pin eslint to v7

* I don't know why, but its working

* fix lint js

Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-07-28 14:32:58 +12:00
Paul Sealock 2b56a9c015 Dashboard: Fix filter extensibility (https://github.com/woocommerce/woocommerce-admin/pull/4758)
* pass filterQuery to components

* pass filters to charts

* apply formatting
2020-07-21 10:17:28 +12:00
Sam Seay b448ff60b7 Update @wordpress/base-styles and replace deprecated variables (https://github.com/woocommerce/woocommerce-admin/pull/4759)
Fixes woocommerce/woocommerce-admin#4732

This updates `@wordpress/base-styles`, and because `@wordpress/components` depends on variables from it, that must be updated as well.

There are 3 major changes required as part of updating:

1. The $theme-color variable is no longer exposed by base-styles. Instead there are 3 css vars exposed. These are made available by use of a provided mixin. Situations where $theme-color was darkened using scss have been mapped as best as possible to the 2 other darkened shades of the css var that are available such as `--wp-admin-theme-color-darker-20` and `--wp-admin-theme-color-darker-10`. In some cases this means the colors are not exactly the same as before.

2. The post css `theme()` call is no longer available. All uses of this have been consolidated to use of the main theme css var `--wp-admin-theme-color`. This means that calls like `theme(secondary)` or `theme(outline)` etc have all been consolidated to the one color.

3. Many of the variables used for different shades of gray have been deprecated. These have been mapped across to the new gray variables. (Mapped according to the list described in woocommerce/woocommerce-admin#4732)
2020-07-17 12:11:42 +12:00
Jeff Stieler 8a2750c973 Migrate user store to wp.data (https://github.com/woocommerce/woocommerce-admin/pull/4505)
* Initial user preferences custom hook (wc meta).

* Organize dependencies.

* Specify dependencies in useSelect() call.

* Remove specifying preference keys.

There's currently no performance benefit to be had.

* Add HoC for hydrating current user data.

* Add user prefs update method.

* Export user prefs hook and HoC in data package.

* Handle error condition when updating user preferences.

* Use closure to get user ID for prefs update.

* Refactor analytics dashboard to use new user hook.

* Refactor ReportTable component to use new user hook.

* Move prop access to top of function component.

* Add todo for potential manual resolution logic.

* Refactor DashboardCharts component to use new user preferences hook.

* Move code out of functional component where possible.

* Fix chart interval query property.

* Refactor Leaderboards component to use new user preferences hook.

* Move code out of functional component where possible.

* Refactor Inbox panel to use user prefs hook.

@todo - updating last read isn't working.

* Use user prefs hook in StatsOverview component.

* Export user preferences store name.

* Use new store for unread inbox indicator.

* Hydrate current user data higher up in the app.

* Update "last read" timestamp in inbox panel.

* Fix StatsOverview test.

* Remove unused dispatch method from StorePerformance component.

* Remove now defunct user methods from wc-api spec.

* Add tests for isRequesting.

* JSON decode WC meta on updated user object.

* Test user prefs retrieval and save.

* Remove todo comment.

* Use user prefs hook in Jetpack install CTA on homepage.
2020-06-10 11:46:46 -05:00
Paul Sealock 16cb332f28 IconButton: Replace with Button (https://github.com/woocommerce/woocommerce-admin/pull/4415) 2020-05-29 14:32:37 +12:00
Jeff Stieler f8bc173cfb Only query requested stat totals in reports. (https://github.com/woocommerce/woocommerce-admin/pull/4009)
* Pass specified totals/intervals fields parameter to the Order Stats Query.

* Only request stats used in render for report summaries and charts.

Implement Orders as an example.

* Specify stats fields for all report requests.

* Add 'fields' parameter handling to all stats endpoint controllers.

* Reduce stats fields requested by dashboard charts.
2020-03-31 09:08:40 -06: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
Timmy Crawford 41986bd8f0 Analytics: Change Refunds to Returns (https://github.com/woocommerce/woocommerce-admin/pull/3514)
* Change Refunds to Returns

* Also rename the chart

* Rename dashboard chart
2020-01-03 15:12:53 -08:00
Jeff Stieler 9469663379 Decouple date package from `wcSettings`. (https://github.com/woocommerce/woocommerce-admin/pull/3278)
* Decouple date package from wcSettings.

* Update missed documentation and example.

* Expect simpler prop values for date filter.

* Remove unused props from primary/secondary dates.

* Avoid introducing moment dependency for type checking.

* Handle null moment/date values in DateRangeFilterPicker.

* Fix missing ISO date format.

* Fix moment instance detection.
2019-11-26 14:39:40 -05:00
Jeff Stieler c2020507e3 Decouple Navigation from `wcSettings`. (https://github.com/woocommerce/woocommerce-admin/pull/3294)
* Move getAdminLink to wc-admin-settings.

* Add changelog entries.

* Look for `getAdminLink()` in @woocommerce/settings first.
2019-11-22 12:07:26 -05:00
David Levin 52cb35f4de Correcting and clarifying analytics terms and calculations (https://github.com/woocommerce/woocommerce-admin/pull/3104)
* Relabel Net Revenue to Net Sales, revert previous refund work on Gross revenue and rename to total sales. Update the orer of all the things

* Add gross sales calculation to revenue stats endpoint.

* Restore coupon_total when updating order stats.

* Wire up gross sales to revenue report.

* Fix revenue report refunds calculation when there are no refunds.

* update net sales labels and cases in order, product and category tables

* Subtract refunded shipping and taxes from gross sales.

* pluses to minuses to fix the gross revenue and refund totals when refunding

* Add gross_sales to revenue stats orderby enum.

* Change refund labels to Returns

* Remove usage of defunct coupon_total column.

* Store refunded amount in stats table.

* Rename "gross_total" column to "total_sales".

* Net total for refund orders can be used instead of a new column.

* Rename gross_revenue to total_sales.

* Coalesce coupons total in order stats query.

SUM()ing all nulls gives null, not zero.

* Use segmentation selections to backfill missing data.

Fo when report columns and segmentation columns don't match.

* Remove errant gross_sales from expected interval test data.

* Fix gross sales tests for revenue/stats.

* Move missing segment fills back to their original locations.

* Fix remaining tests failing because of gross sales.

* Fix db upgrade function rename of gross_total column.

* Fix linter errors.
2019-11-22 10:06:14 -05:00
Jeff Stieler c55bc5f22d Remove "show" prefix from dashboard store performance toggles.
Also nix an unnecessary translation on chart toggles.
2019-09-04 08:39:22 -07:00
Jeff Stieler c820c92fe4 Send a tracks event when the dashboard chart type is toggled. 2019-07-12 11:46:36 -06:00
Jeff Stieler 9e217fbcaf Send tracks event when dashboard chart interval changes. 2019-07-12 11:46:36 -06:00
Paul Sealock b3bde09814 Merge pull request woocommerce/woocommerce-admin#2444 from woocommerce/update/route-handling
Route handling: Remove hash in favor of path parameter
2019-07-03 13:16:04 +12:00
Paul Sealock b19e1dd261 Tracks: Add dashboard events 2019-07-02 12:31:48 +12:00
Paul Sealock 563e94b7a2 add leading slash in path for Leaderboards 2019-07-02 12:19:55 +12:00
Daniel Rey López eef988239e Change all remaining URLs from #/style to ?path=style 2019-07-01 09:15:46 +01:00
Albert Juhé Lluveras 61fda5af56 Update Dashboard Charts naming and order (https://github.com/woocommerce/woocommerce-admin/pull/2429) 2019-06-15 14:12:19 +02:00
Albert Juhé Lluveras d6e37124c7 Fix some Dashboard charts using wrong endpoint (https://github.com/woocommerce/woocommerce-admin/pull/2417) 2019-06-14 10:54:12 +02:00
Paul Sealock 68f2af7722 Dashboard: Move title edit to Controls 2019-05-23 08:43:45 +12:00
Joshua T Flowers 633177bdea Update Card component to use Muriel design (https://github.com/woocommerce/woocommerce-admin/pull/2252)
* Use Muriel card styling and override card styles in reports

* Add card description prop

* Add isInactive prop and styling to card component
2019-05-22 16:38:25 +08:00
Paul Sealock 34aa71cfbb Dashboard Charts: simplify data 2019-05-21 08:09:49 +12:00
Paul Sealock b4fa697a71 Dashboard: re-arrange section dropdown order 2019-05-15 08:54:03 +12:00
Paul Sealock c9f738dec8 Dashboard: Fix index and extension issues 2019-05-13 07:20:14 +12:00
Timmy Crawford d51845930a Dashboard: Rename class/feature to remove conflict with legacy dashboard widget (https://github.com/woocommerce/woocommerce-admin/pull/2138)
* Dashboard: Rename class/feature to remove conflict with legacy dashboard class

* Updates per feedback, and fixes.
2019-05-08 09:10:05 -07:00
Albert Juhé Lluveras cab0e38c30 Save section/block preferences in user data (https://github.com/woocommerce/woocommerce-admin/pull/2148)
* Save section/block preferences in user data

* Optimize updateSection code

* Remove no longer used prop

* Refactor dashboard blocks to make them extendable

* Check that defaultSection exists before merging

* Rename 'sectionsDefinion' to 'defaultSections'

* Add Dashboard README

* Update README with new props

* Update settings when moving/removing dashboard sections

* Add missing props to README example

* Move 'section.js' inside 'components' folder

* Fix README sentence
2019-05-07 09:21:34 +02:00
Paul Sealock e012af7add EllipsisMenu: Refactor to expose renderContent args 2019-05-06 10:56:20 +12:00
Paul Sealock b90f5ecb98 Merge pull request woocommerce/woocommerce-admin#2134 from woocommerce/add/dashboard-section-toggle
Dashboard: Section add, remove, move up, and move down
2019-05-06 10:54:17 +12:00
Albert Juhé Lluveras beb3a93d4c Persist chart interval in Dashboard (https://github.com/woocommerce/woocommerce-admin/pull/2156) 2019-05-03 19:53:07 +02:00
Paul Sealock 9f7497fa12 Dashboard: add section toggle 2019-05-03 09:26:55 +12:00
Albert Juhé Lluveras 0162adf532 Allow renaming Dashboard sections (https://github.com/woocommerce/woocommerce-admin/pull/2131)
* Allow renaming Dashboard sections

* Create a wrapper 'Section' component that handles the section title events

* Add blank lines in ellipsis-menu code

* PR feedback

* Remove onToggle prop from EllipsisMenu

* Get rid of default title
2019-05-02 12:22:34 +02:00
Joshua T Flowers b885ae4157 Update default hidden dashboard items (https://github.com/woocommerce/woocommerce-admin/pull/1973) 2019-04-03 09:36:20 +08:00
Jeff Stieler bfe5a75e98 Update text domain. (https://github.com/woocommerce/woocommerce-admin/pull/1795)
* Translation call text domain change from “wc-admin” to “woocommerce-admin”.

* Fix .pot file generation.

* Fix errantly closed array item in /revenue/stats controller.

* Rename plugin zip, main file, and repo name to "woocommerce-admin".
2019-03-13 11:14:02 -06:00
Joshua T Flowers 37e1ddfbd1 Don't update state on user preferences props change (https://github.com/woocommerce/woocommerce-admin/pull/1688) 2019-02-26 11:34:43 +08:00
Albert Juhé Lluveras 4a19d27ec1 Add 'isCheckbox' prop to 'MenuItem' (https://github.com/woocommerce/woocommerce-admin/pull/1620)
* Make column filter menu items not focusable

* Check if onInvoke exists before calling it

* Revert "Check if onInvoke exists before calling it"

This reverts commit e3b63edd51395c0f967991e2d20fccf867e37b91.

* Revert "Make column filter menu items not focusable"

This reverts commit 3e0ac949fa057a0c235876731768b6f312ced998.

* Add isCheckbox prop to MenuItem component

* Fix arrow keys navigation in checkbox menu items

* Table: don't update showCols state when the headers prop changes
2019-02-25 20:25:19 +01:00
Ron Rennick 9f911df053 update changelog, coding style per review 2019-02-15 10:37:56 -04:00
Ron Rennick 7f4bb8df63 update chart type query string key to chartType 2019-02-14 13:35:08 -04:00
Kevin Killingsworth 8b7e309e6f navigation: Lazy-create history (https://github.com/woocommerce/woocommerce-admin/pull/1472)
history.createHashHistory() is being called whenever this package is
imported, which causes the URL to redirect to a hash. This is
unnecessary in cases where elements of wc-admin are used outside of a
completely controlled/routed page.

This lazy-creates the history object only when it's needed and therefore
avoids the URL redirection unless history features are in use.
2019-02-06 13:28:29 -06:00
Albert Juhé Lluveras 37d6fa0b60 CSS Lint fixes (https://github.com/woocommerce/woocommerce-admin/pull/1367) 2019-01-21 19:09:16 +01:00
Albert Juhé Lluveras 279bc142bb Fix chart blocks not being responsive (https://github.com/woocommerce/woocommerce-admin/pull/1265) 2019-01-10 10:55:15 +01: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
Albert Juhé Lluveras 03e17d372b Add new props to chart component (https://github.com/woocommerce/woocommerce-admin/pull/1247)
* Add different props to chart component that were inferred from 'mode'

* Add new chart props to packages CHANGELOG
2019-01-08 10:21:47 +01:00
Joshua T Flowers 9fef5d4f5d Add dashboard chart links to reports (https://github.com/woocommerce/woocommerce-admin/pull/1236)
* Add dashboard chart links to reports

* Remove extra css background property from screen reader text

* Remove elements from previous click handler attempt

* Concat translation strings with sprintf

* Change chart hover interactions

* Move i18n to external dependencies

* Make legend buttons match background on hover
2019-01-08 14:48:39 +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