Commit Graph

179 Commits

Author SHA1 Message Date
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 ac91a8fd60 Summary number bg (https://github.com/woocommerce/woocommerce-admin/pull/4858) 2020-07-28 11:45:36 +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
Paul Sealock 03db742cdd Currency package: make naming clearer (https://github.com/woocommerce/woocommerce-admin/pull/4560) 2020-06-18 11:33:40 +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 134be1c08b Update/@wordpress components base styles (https://github.com/woocommerce/woocommerce-admin/pull/4427) 2020-06-10 13:55:06 +12:00
Paul Sealock 16cb332f28 IconButton: Replace with Button (https://github.com/woocommerce/woocommerce-admin/pull/4415) 2020-05-29 14:32:37 +12:00
Paul Sealock f45fecfbed Advanced Filters: fix currency initialization (https://github.com/woocommerce/woocommerce-admin/pull/4356)
* Advanced Filters: fix currency initialization

* fix readme

* get formatCurrency method
2020-05-19 14:38:02 +12:00
Paul Sealock cb4ba39e30 Dynamic Currency with Context API (https://github.com/woocommerce/woocommerce-admin/pull/4027)
* Make currency setting dynamic with context API

* reference Currency

* what is 'this'

* remove comment

* All report tables

* Customers report

* activity panel

* leaderboard test

* business details

* store details

* single source of truth

* shipping rates

* remove currency-format.js

* tidy up

* make Currency a factory function

* factory revenue table

* tables

* Chart y-axis labels

* customers table

* cleanup

* business details

* shipping

* number-format

* stock and downloads tables

* changelog

* cleanup

* SQL example: update to dynamic currencies (https://github.com/woocommerce/woocommerce-admin/pull/4033)
2020-04-03 10:54:38 +13: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 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
Timmy Crawford f5d0da0b19 Merge final `version/1.0` branch with `master` (https://github.com/woocommerce/woocommerce-admin/pull/3848)
* Try: Moving Customers to main Woo Menu (https://github.com/woocommerce/woocommerce-admin/pull/3632)

* Only add onboarding settings on wc-admin pages when task list should be shown. (https://github.com/woocommerce/woocommerce-admin/pull/3722)

* Use cron for unsnoozing admin notes (https://github.com/woocommerce/woocommerce-admin/pull/3662)

* Use wp-cron for admin note snoozing.

* Remove "unsnooze" scheduled action.

* Use correct version.

* Avoid using deprecated method for unscheduling actions.

* Onboarding: Fix toggle tracking events (https://github.com/woocommerce/woocommerce-admin/pull/3645)

* Fix errant wcadmin prefix on event name

* Track the onboarding toggle on the option in case enable_onboarding isn't used

* Move toggle actions to separate function

* Move onboarding actions

* Move onboarding filters

* Move help tab updates to add_toggle_actions

* Only run onboarding actions when enabled

* Onboarding: Add tracks events when profiler steps are completed (https://github.com/woocommerce/woocommerce-admin/pull/3726)

* Add tracks for store profiler step completion

* Record event when profiler is completed

* Ensure continue setup loads the onboarding profiler (https://github.com/woocommerce/woocommerce-admin/pull/3646)

* 'All that include' option removed when input field is empty (https://github.com/woocommerce/woocommerce-admin/pull/3700)

* 'All that include' option removed when input field is empty

Added a control to check that when the input field 'Search by customer name' is empty, the 'All that include' option is not appearing.

* Const name improved

The constant name hasValues was changed to optionsHaveValues (more descriptive)

* Fix select text alignment (https://github.com/woocommerce/woocommerce-admin/pull/3723)

* Stock panel indicator - cache and use lookup tables. (https://github.com/woocommerce/woocommerce-admin/pull/3729)

* Stock panel indicator - cache and use lookup tables.

* Revise query, clear transient on product update.

* Fix error, ht Josh.

* Checklist: Remove sideloaded images to reduce build size, take 2 (https://github.com/woocommerce/woocommerce-admin/pull/3731)

* Remove homepage template images.

* Use other-small on all industries, adjust text color.

* Remove background dim and opacity set to 0

* Fix/3631 (https://github.com/woocommerce/woocommerce-admin/pull/3730)

* Added CBD as an industry type

CBD was added as an industry type in API

* Industries options modified

Modified the industries options. Now we are able to choose if we will use an input or not in the option.

* API control changed for industries.

API control changed for industries. Now it accepts the data type we need.

* Added input in Industries list for the option "Other"

Added an input for the option "Other" in the industries list

* Added suggested changes in review comments.

* Added data preparation for recordEvent

* Changed variable to snake_case

The variable "industriesWithDetail" was changed to "industries_with_detail" (snake_case)

* Onboarding: Create homepage without redirect (https://github.com/woocommerce/woocommerce-admin/pull/3727)

* Add link to edit homepage instead of redirect

* Add busy state to homepage creation button

* Publish homepage on create via API

* Update homepage notice to show on first post update

* Update homepage creation notice per design

* Record event on customize homepage

* Set homepage to frontpage on creation

* Add deactivation note for feature plugin (https://github.com/woocommerce/woocommerce-admin/pull/3687)

* Add version deactivation note

* Add the note to deactivate if the version is older than the current WC version

* Deactivate wc admin feature plugin on action click

* Add notes version hooks

* change the Package class namespace to exclude from standalone autoloader

* add use statement for FeaturePlugin

* add note explaining namespace

* use wc-admin-deactivate-plugin note name

* Rename file and class to WC_Admin_Notes_Deactivate_Plugin

Co-authored-by: Ron Rennick <ron@ronandandrea.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>

* Add Travis tests on GH for release branch (https://github.com/woocommerce/woocommerce-admin/pull/3751)

* Add Travis tests on GH for release branch

* fix linter errors

* ActivityPanels.php -> use public static functions

* Remove free text Search option when no query exists (https://github.com/woocommerce/woocommerce-admin/pull/3755)

* Revert changes in woocommerce/woocommerce-admin#3700

* Don't add free text search if no query exists

* Add tests for Search without query

* Add test for showing free text search option

* Fix image sideloading for store industries. (https://github.com/woocommerce/woocommerce-admin/pull/3743)

* Fix image sideloading for store industries.

Data format changed in https://github.com/woocommerce/woocommerce-admin/pull/3730

* Fix industry image sideload in cases where the count is less than requested.

* Be backwards compatible with the old industry data format.

* Added event props to identify stores with WCS and Jetpack installed (https://github.com/woocommerce/woocommerce-admin/pull/3750)

* Added event props to identify stores with WCS and Jetpack installed

Also, added Jeckpack connected status

* Improved variable name

* Simplified method

Simplified method. "intersection" check was removed

* Tests errors repeared

The method "clear_low_out_of_stock_count_transient" now is static.

* OBW: fix sideloading image test error (https://github.com/woocommerce/woocommerce-admin/pull/3762)

* Release 0.26.0 changes (https://github.com/woocommerce/woocommerce-admin/pull/3753)

* add deactivation hook to Package.php (https://github.com/woocommerce/woocommerce-admin/pull/3770)

* Add active version functions (https://github.com/woocommerce/woocommerce-admin/pull/3772)

* add active version functions to Package.php

Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>

* 0.26.1 changes (https://github.com/woocommerce/woocommerce-admin/pull/3773)

* Customers Report: fix missing report param in search (https://github.com/woocommerce/woocommerce-admin/pull/3778)

* Product titles include encoded entities (https://github.com/woocommerce/woocommerce-admin/pull/3765)

* Stripped HTML from product titles and decoded before displaying them

Stripped html from product titles and entities are decoded before displaying them

* Stripped HTML from product titles and decoded in Stock report

Stripped html from product titles and entities are decoded before displaying them. Now in Stock report

* Added support for HTML tags and encoded entities on product titles

Added support for HTML tags and encoded entities on filtered product list, dropdown menus and tag names.
Also, strip_tags() function was replaced with wp_strip_all_tags() instead.

* strip_tags() function was replaced with wp_strip_all_tags() instead.

* Added control for a variable

Added control for "item->data" before applying wp_strip_all_tags method.

* pre-commit changes

* Test text corrected

* Enable taxes on automatic tax setup (https://github.com/woocommerce/woocommerce-admin/pull/3795)

* Update Country Labeling to Match Core (https://github.com/woocommerce/woocommerce-admin/pull/3790)

* Updated country labeling

Country labeling on Customer Report was updated

* Updated country labeling in other files

* remove .jitm-card notice padding (https://github.com/woocommerce/woocommerce-admin/pull/3814)

* OBW Connect: Fix requesting state (https://github.com/woocommerce/woocommerce-admin/pull/3786)

* OBW Connect: Fix requesting state

* pass down setIsPending

* setIspending propType

* defaultProps

* test

* Revert "test"

This reverts commit e921092b19401931cc1aec8ee84fa53c53b67f36.

* better comparison for redirect

* Fixes Taxes Report search bug and adds initial documentation. (https://github.com/woocommerce/woocommerce-admin/pull/3816)

* Initial Taxes Report documentation.

* Fix taxes endpoint search parameter.

* OBW: Fix retry plugin install button disappearing (https://github.com/woocommerce/woocommerce-admin/pull/3787)

* OBW: Fix retry plugin install btn disappearing

* try suggestion

* Revert "try suggestion"

This reverts commit 5b9386957a501ac3e729e5f16b0ee71c9d792859.

* Fix special character escaping in search. (https://github.com/woocommerce/woocommerce-admin/pull/3826)

* Properly prepare/escape special characters in Product search.

* Properly prepare/escape special characters in Coupon search.

* Properly prepare/escape special characters in Tax code search.

* Fix tracking on migrated options (https://github.com/woocommerce/woocommerce-admin/pull/3828)

* Don't track onboarding toggle if migrating options

* Prevent WC_Tracks from recording event post types not yet registered

* Activity Panels: Remove W Panel (https://github.com/woocommerce/woocommerce-admin/pull/3827)

* Remove W Notif Panel.

* Add back in trapping logic, and hide on non-embed pages.

* add npm run test:zip command (https://github.com/woocommerce/woocommerce-admin/pull/3823)

* add npm run test:zip command

* 1.0.0 release changes🎉 (https://github.com/woocommerce/woocommerce-admin/pull/3831)

* 1.0.0 release changes🎉

* changelog

* 0.26.1 changelog

* Add Report Extension Example: Add default props to ReportFilters (https://github.com/woocommerce/woocommerce-admin/pull/3830)

* ReportFilters component: Add sane defaults

* styles

* add required column

* add left join to sku ordering (https://github.com/woocommerce/woocommerce-admin/pull/3845)

* Deal with lint errors, and improperly merged files

* regenerate package-lock.json

* attempting to resolve package lock conflict.

Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
Co-authored-by: Ron Rennick <ron@ronandandrea.com>
Co-authored-by: Fernando <ultimoround@gmail.com>
Co-authored-by: edmundcwm <edmundcwm@gmail.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-03-10 15:47:39 +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 9f5826ee61 Fix Search component token display in ReportTable (https://github.com/woocommerce/woocommerce-admin/pull/3618)
* Fix parsing of report table search terms.

* Fix styling of Search component "clear all" button.

* Add components changelog entry.
2020-01-23 08:32:28 -07:00
Jeff Stieler 5c37dd0374 Fix styling of search control in report table header and filters. (https://github.com/woocommerce/woocommerce-admin/pull/3603) 2020-01-22 08:33:44 -07:00
Joshua T Flowers 83f1bf8db9 Fix mobile table header styling (https://github.com/woocommerce/woocommerce-admin/pull/3547)
* Move search comparison beneath table header title

* Fix search label positioning
2020-01-13 10:58:43 +08:00
Jeff Stieler 6a826600c2 Fix WC-Admin component styles for WP 5.3 (https://github.com/woocommerce/woocommerce-admin/pull/3357)
* Style Search component for 5.3.

* Reset native select control styles.

* Fix styling of selected radio options.

* Fix bottom margin on select inputs in filters and pagination.

* Update DropdownButton styles for WP 5.3.

* Style DropdownButton arrow as a chevron.

* Fix tooltip arrow styling.

* Style TextControlWithAffixes for WP 5.3.

* Flatten pagination button style.

* Use SelectControl for StoreAlert snooze action.

* Remove 3D look and use chevron on SplitButton.

* Add changelog entry.

* Fix stylelint issues.

* Update test snapshots.

* Add TextControlWithAffixes disabled prop to documentation and proptypes.

* Use WP checkboxes in ReportTable columns.

* Fix TableCard header background colors.

* Add padding to EllipsisMenu toggle controls.

* Remove version-specific styles.

We require WP 5.3 as a minimum now.
2019-12-13 12:35:29 -05: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 17514872ad Decouple currency and numbers packages from `wcSettings`. (https://github.com/woocommerce/woocommerce-admin/pull/3277)
* Remove wcSettings dependency from currency and number packages.

Either take a configuration object in function calls or in a new class constructor.

* Use new Currency class and number format methods in client/.

Compose with store settings to keep the same API.

* Don't reintroduce lodash dependency to currency package.

* Add changelog entries to currency and number packages.

* Update docs, example, and changelog for AdvancedFilters component.

* Use precision-less formatValue() for integer report values.

* Make Currency instance immutable.
2019-11-21 16:51:52 -05:00
Joshua T Flowers 940716d7f5 Add wc admin card classes to leaderboards (https://github.com/woocommerce/woocommerce-admin/pull/3267) 2019-11-21 20:10:37 +08:00
Ron Rennick f78c143f3b Move in-house rest endpoints to private namespace (https://github.com/woocommerce/woocommerce-admin/pull/3204)
* move in-house rest endpoints to private namespace

* PHPCS sniff fixes
2019-11-12 14:15:55 -04:00
Darren Ethier fee65dd6ac Decouple wcSettings from published packages. (https://github.com/woocommerce/woocommerce-admin/pull/3001)
* refactor wcSettings in components to use new api

* update test snapshot

* refactor wcSettings in other packages

* fix how defaults are set for setting

* decouple siteLocale from ReportsFilters and AdvancedFilters

* Decouple currency settings from packages

AdvancedFilters, ReportFilters, and NumberFilters now receive currency info as props.

* decouple currency settings from `ReportChart`

* decouple `wcAdminAssetsUrl` setting from `EmptyContent`

- also refactors to remove the need for `ImageAsset` component.

* decouple OrderStatus from wcSettings

* decouple wcAdminUrl setting from ProductImage component

- this also implements a SVG for default product image.

* remove export for image-asset that is no longer present

* remove console.log

* update test snapshots for ProductImage
2019-10-11 11:45:45 -04: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
Darren Ethier d728d38219 Refactor: Alternative approach to implementing extendable settings from the server (https://github.com/woocommerce/woocommerce-admin/pull/2917)
* integrate with new asset data registration (php side)

- includes back-compatibility.

* update js configuration and implement settings alias

- this aliases `@woocommerce/wc-admin-settings` to the settings api exposed via blocks (either the blocks plugin or core) and all the settings provided via the server.
- Adds fallback for back-compat if `wc.wcSettings` is not available in the environment (fallsback to `wcSettings`).

* initial pass to update all wcSettings direct usage to the new api

- this is just an initial pass, more can be done in separate pulls.

* missed one spot for adding new filter implementation

* fix incorrect jest config

* Avoid unnecessary assignment and directly return.

* Remove unnecessary defaults

* Fix inline comment text case.

Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>

* Remove unnecessary inline comment.

* use @todo instead of TODO

Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>

* fix incorrect reference in webpack config.

* add missing import and slightly delay dependency injection for scripts

* update get-setting and set-setting callbacks

* disable lint rule for console.error on dev doc builds
2019-09-23 17:47:08 -04:00
Jeff Stieler 2fed2f2467 Fix report column labels on client side. 2019-09-04 07:49:37 -07:00
Jeff Stieler 6a4616765d Merge pull request woocommerce/woocommerce-admin#2806 from woocommerce/fix/report-column-visibility
Fix bug with checking user preferences for report column visibility.
2019-08-19 10:18:35 -07:00
Jeff Stieler 974566ea0c Fix bug with checking user preferences for report column visibility. 2019-08-16 13:06:19 -07:00
Jeff Stieler 4f4ab5e076 Pass "show data picker" prop to underlying component in ReportFilters.
Fixes errant date picker on the Customers Report.
2019-08-16 10:04:42 -07:00
Jeff Stieler 1da8aba8e8 Send a tracks event for report table pagination actions. 2019-07-12 11:46:37 -06:00
Jeff Stieler 7a7283dffa Send a tracks event when the report table filter search is used. 2019-07-10 08:37:02 -06:00
Jeff Stieler ce731b958a Send tracks event when advanced filter match type is changed. 2019-07-09 16:45:31 -06:00
Jeff Stieler a13487265c Send tracks event when table sorting is changed. 2019-07-09 14:38:53 -06:00
Jeff Stieler f7c48e6738 Send tracks event when report table columns are toggled. 2019-07-09 13:55:51 -06:00
Paul Sealock 314ed6da56 Tracks: Fix Link onclick 2019-07-09 07:51:20 +12:00
Timmy Crawford 799d0266b1 ReportTable: Add back in ids array generation. (https://github.com/woocommerce/woocommerce-admin/pull/2571) 2019-07-05 07:12:32 -07:00
Timmy Crawford aaab16086d Header: Adjust sizes at all breakpoints (https://github.com/woocommerce/woocommerce-admin/pull/2562)
* Adjust activity panel sizes.

* one header size to rule them all.
2019-07-04 08:58:08 -07:00
Paul Sealock 7f898194b4 Tracks: add events to chart and table 2019-07-03 11:42:06 +12:00
Paul Sealock e32b5560c0 Advanced Filters: Add Tracks events 2019-06-28 12:34:41 +12:00
Paul Sealock 68c8bfedd9 Table extension: fix page error and jsDoc 2019-06-26 10:28:32 +12:00
Paul Sealock 68a95f8a83 Report Tables: extend columns 2019-06-20 20:03:56 +12:00
Albert Juhé Lluveras 3123c4e047 Fix wrong average numbers in chart legends (https://github.com/woocommerce/woocommerce-admin/pull/2352)
* Fix wrong average numbers in chart legends

* Dashboard Extension example: update legend totals

* Rename 'totals' to 'legendTotals'

* Make sure legendTotals includes key property
2019-06-11 14:31:53 +02: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 ee895e0f77 Check for config.defaultValue in Report Chart 2019-05-08 08:46:58 +12:00
Albert Juhé Lluveras 1c67b40d76 Scroll to top of the table when navigating table pages (https://github.com/woocommerce/woocommerce-admin/pull/2051)
* Scroll to top of the table when navigating table pages

* Cleanup

* Avoid using scroll-padding-top

* Add space between the table top and the scroll point

* Only call  if the page is different

* Move focus to the top of the table when switching pages

* Use CSS variables in the Activity Panel and breadcrumbs CSS (https://github.com/woocommerce/woocommerce-admin/pull/2096)

* Use CSS variables in the Activity Panel and breadcrumbs CSS

* Cleanup

* Focus on table element when navigating pages
2019-04-30 11:43:55 +02:00
Hardip Parmar e39a8e6e35 Remove CSV Download button when no data is available (https://github.com/woocommerce/woocommerce-admin/pull/2084) 2019-04-22 11:15:01 +08:00
Joshua T Flowers eb0b137020 Hook up leaderboards endpoint to dashboard (https://github.com/woocommerce/woocommerce-admin/pull/2004)
* Add allowed leaderboards endpoint to prefetch list

* Hook up leadboards endpoint to dashboard

* Skip data fetch for leaderboard if per page is less than 1

* Add tests to check for rendered html display
2019-04-11 10:53:05 +08:00
Albert Juhé Lluveras 6862d05e2f Update packages with vulnerabilities (https://github.com/woocommerce/woocommerce-admin/pull/1913)
* Update packages with vulnerabilities

* Fix tests

* Replace require.requireActual with jest.requireActual
2019-03-26 12:31:57 +01:00
Paul Sealock b29b232a46 pass in filters 2019-03-25 13:03:53 +13:00
Albert Juhé Lluveras 9038bdfdae Table: update columns visibility on headers change (https://github.com/woocommerce/woocommerce-admin/pull/1846)
* Typos

* Table: update columns visibility on headers change

* Make sure initial user pref columns are loaded in all reports

* Return early filterShownHeaders when hiddenKeys is an empty array

* Undo 'headers', 'prevHeaders' order switch
2019-03-21 11:35:00 +01: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
Albert Juhé Lluveras 1bbf79c105 Avoid useless Chart re-renders and clean-up component state (https://github.com/woocommerce/woocommerce-admin/pull/1780)
* Improve Chart rendering performance

* Avoid reassigning yFormat prop in Chart

* Update focused keys on legend toggle

* Use selectionLimit constant instead of a hardcoded value

* Minor improvements
2019-03-13 11:38:43 +01:00
Paul Sealock fd019c4c35 Chart: don't switch to comparison mode directly 2019-03-12 12:03:58 +13:00
Albert Juhé Lluveras a7e3cf78a0 Show compared keys in chart legends even if their values are 0 (https://github.com/woocommerce/woocommerce-admin/pull/1754)
* Show compared keys in chart legends

* Fix JS error if filters is missing

* Add docs
2019-03-06 21:12:28 +01:00
Albert Juhé Lluveras 5d3aa58a5d Use IDs instead of labels to identify chart legend items (https://github.com/woocommerce/woocommerce-admin/pull/1730)
* Use instanceId to generate unique ids for chart legend items

* Decouple item key and label in Chart components

* Remove more duplicate IDs in the chart legend

* Use double underscores in element IDs following BEM rules

* Move 'withInstanceId' inside D3Legend component

* Simplify screen reader labels logic

* Add CHANGELOG message

* Use 'primary' and 'secondary' as items keys in time-comparison charts
2019-03-05 19:27:20 +01:00
Albert Juhé Lluveras a8ee12e1f9 Fix empty chart and summary numbers when searching in the Categories report (https://github.com/woocommerce/woocommerce-admin/pull/1698) 2019-02-27 17:28:18 +01:00
Albert Juhé Lluveras 4e4f04b8d8 Display chart and summary numbers placeholder when loading search terms (https://github.com/woocommerce/woocommerce-admin/pull/1694) 2019-02-27 15:43:34 +01:00
Albert Juhé Lluveras 53bac8700e Screen readers: read date instead of data keys in 'time-comparison' bar charts (https://github.com/woocommerce/woocommerce-admin/pull/1586)
* Screen readers: read date instead of data keys in 'time-comparison' bar charts

* Make previous period labels more verbose

* Revert "Make previous period labels more verbose"

This reverts commit 34d13deaa982425ca2cba76dacfd2c89c96f06c0.

* Improve isSameDay check

* Add date to hour tooltip and improve screen reader label

* Add CHANGELOG message
2019-02-26 11:56:49 +01:00
Albert Juhé Lluveras b85eef53fd Display table placeholder instead of empty table when loading search terms (https://github.com/woocommerce/woocommerce-admin/pull/1682) 2019-02-26 10:28:50 +01: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 00b640e2f0 Merge pull request woocommerce/woocommerce-admin#1567 from woocommerce/fix/1450
update chart type query string key to chartType
2019-02-15 12:58:22 -04:00
Albert Juhé Lluveras b61dff32f9 Sort tabular data when selecting a Summary Number (https://github.com/woocommerce/woocommerce-admin/pull/1564)
* Sort tabular data when selecting a Summary Number

* Fix 'orderby' param in orders endpoint
2019-02-15 11:54:41 +01:00
Paul Sealock 2e82211616 Add products/stats endpoint to categories 2019-02-15 09:44:46 +13:00
Ron Rennick 7f4bb8df63 update chart type query string key to chartType 2019-02-14 13:35:08 -04:00
Albert Juhé Lluveras 4962ee5e4e Empty chart message (https://github.com/woocommerce/woocommerce-admin/pull/1499)
* Show empty chart and summary numbers when search returns no results

* Preserve chart mode in empty searches

* Show message in empty charts

* Improve code order

* Add CHANGELOG message

* Rename emptySearch to emptySearchResults

* Improve emptyMessage propTypes comment

* Remove duplicated code

* Improve CHANGELOG message

* Create util function to check if chart is empty

* Update CHANGELOG message

* Add baseValue prop to Chart
2019-02-12 22:42:02 +01:00
Albert Juhé Lluveras b3e028bc81 Show empty chart and summary numbers when search returns no results (https://github.com/woocommerce/woocommerce-admin/pull/1491)
* Show empty chart and summary numbers when search returns no results

* Add changelog message

* Preserve chart mode in empty searches

* Add tests

* Fix CSS Lint error

* Make sure the legend updates when there is no data and it's not requesting

* Rename 'emptySearch' to 'emptySearchResults'

* Fix tests
2019-02-07 10:57:47 +01: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
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 84ef5ffb89 Show empty table when search returns no results (https://github.com/woocommerce/woocommerce-admin/pull/1452)
* Show empty table when search returns no results

* Fix singular wrong string for 'orders'

Co-Authored-By: Aljullu <aljullu@gmail.com>

* Check if search returned 0 results inside table components instead of passing a prop
2019-02-05 13:00:37 +01:00
Albert Juhé Lluveras 9dd4c10d7d Fix autocompleters in customers and taxes report (https://github.com/woocommerce/woocommerce-admin/pull/1458) 2019-02-04 09:51:29 +01:00
Justin Shreve 53a6e49874 Finish cleaning up client/store. (https://github.com/woocommerce/woocommerce-admin/pull/1403) 2019-01-30 02:22:10 -05: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
Joshua T Flowers 81b6f0f61b Use tableQuery sorting when url query is not present (https://github.com/woocommerce/woocommerce-admin/pull/1378) 2019-01-24 09:36:11 +08:00
Paul Sealock c7b705fb08 SummaryNumbers: close on click for mobile 2019-01-22 11:31:37 +13: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
Joshua T Flowers 4b3df7732b Add showMenu prop to TableCard to hide ellipsis menu (https://github.com/woocommerce/woocommerce-admin/pull/1296)
* Add showMenu prop to TableCard to hide ellipsis menu

* Fix proptype description
2019-01-15 10:13:15 +08:00
Justin Shreve 350e296d2c Allow sorting by title and SKU to report tables (https://github.com/woocommerce/woocommerce-admin/pull/1266) 2019-01-10 12:10:31 -05: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 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
Albert Juhé Lluveras a0f23c93c9 Improve Charts X-axis when displaying a single date (https://github.com/woocommerce/woocommerce-admin/pull/1195)
* Improve Charts X-axis when displaying a single date

* Add tests for getXTicks

* Fix typo in tests

* Add assertion in compareStrings test for dates with commas

* Update interval options

* Fix secondaryDate always showing 12AM

* Don't convert dates to UTC when checking if they belong to the same date
2018-12-27 19:51:58 +01:00
Albert Juhé Lluveras 5c8cfbc03f Report components docs (https://github.com/woocommerce/woocommerce-admin/pull/1140)
* Extend docs to report components

* Improve inline documentation in some files

* Update doc files

* Undo unnecessary doc changes

* Remove unnecessary line breaks in sidebar

* Rename 'Client components' to 'Analytics components'

* Minor docs fixes

* Rename toc contents to toc sections

* Update endpoint props doc to add an example and more information

* Fix outdated comment

* Fix merge error
2018-12-22 12:46:10 +01:00
Joshua T Flowers 9a4e613a2e Make user column preferences refer to hidden columns (https://github.com/woocommerce/woocommerce-admin/pull/1150)
* Make user column preferences refer to hidden columns

* Destructure props in onColumnsChange
2018-12-22 10:27:30 +08:00
Robert Elliott ebd857cefa Add/chart dashboard block (https://github.com/woocommerce/woocommerce-admin/pull/1002)
* added new block and dashboard charts

section title and filters... lots of duplicate keys

toggle chart types in block heading

* Updates per feedback.

* Add some documentaiton about new interactive prop on chart/legend

* Revert a few files that only had whitespace changes.
2018-12-21 16:24:26 -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
Albert Juhé Lluveras 77381c0e20 Rename isError to getError in report table props 2018-12-15 13:15:13 +01:00
Albert Juhé Lluveras f9533afdda Rename 'totalCount' to 'totalResults' (https://github.com/woocommerce/woocommerce-admin/pull/1093) 2018-12-14 15:56:52 -08:00
Albert Juhé Lluveras 346ed578ae Update comment to specify extendItemsMethodNames must be available in 'wc-api' 2018-12-14 18:12:56 +01: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 c0ee524d6b Remove unnecessary query parameters 2018-12-12 15:51:24 +01:00
Albert Juhé Lluveras 9b4e7ad963 Extract extendTableData to a utils file 2018-12-12 15:25:36 +01:00
Albert Juhé Lluveras c679c8bad7 Extend customers data with data from WC endpoint 2018-12-12 15:22:25 +01:00
Albert Juhé Lluveras bb3e66ef32 Fix wrong default data structure in 'getReportTableData' (https://github.com/woocommerce/woocommerce-admin/pull/1042)
* Fix wrong default data structure in 'getReportTableData'

* Update tests

* Change default prop for tableData from null to an empty object in ReportTable
2018-12-10 09:51:11 -06:00
Jeff Stieler 16f24a31ba Hook up ReportTable to wc-api. 2018-12-07 16:39:42 -07:00
Jeff Stieler 98478653e4 Attempt to include report stats type in resource name prefix rather than identifier. 2018-12-07 16:39:42 -07:00
Jeff Stieler de1da53aaa Use wc-api for Report Chart data. 2018-12-07 16:39:41 -07:00
Albert Juhé Lluveras a393ba543b Fix ReportNumber sometimes receiving NaN values (https://github.com/woocommerce/woocommerce-admin/pull/1026)
* Fix ReportNumber sometimes receiving NaN values

* Remove unnecessary utils function

* Destructure summaryData
2018-12-07 15:13:02 -06:00