Commit Graph

369 Commits

Author SHA1 Message Date
Jonathan Belcher da8ad49762 Re-add Render Table 2018-10-11 15:30:43 -04:00
Jonathan Belcher 27fa0bfc85 Follow new summary numbers pattern 2018-10-11 15:27:29 -04:00
Jonathan Belcher e3224a5abb Merge branch 'master' into add/410-order-summary-numbers 2018-10-11 14:45:35 -04:00
Justin Shreve c340a808a7 Break out summary number logic from chart/table (https://github.com/woocommerce/woocommerce-admin/pull/510) 2018-10-11 14:45:01 -04:00
Kelly Dwan 3d297a8f5c Reports: Update summary number label based on selected compare interval (https://github.com/woocommerce/woocommerce-admin/pull/506) 2018-10-11 13:46:56 -04:00
Jonathan Belcher 26300fb953 Adds graphs 2018-10-11 13:07:59 -04:00
Jonathan Belcher aa56621ab8 Get Order Summary working with API 2018-10-11 12:00:06 -04:00
Jonathan Belcher 0a562e6e37 Merge Commit 2018-10-11 11:43:25 -04:00
Albert Juhé Lluveras 9623898acd Add Orders table (https://github.com/woocommerce/woocommerce-admin/pull/493)
* Create Orders table

* Remove getOrderIds selector

* Create an OrdersReportTable component

* Alphabetically order extracted props

* Fix JS error for missing coupon properties

* Add TODO comment for missing customer type

* Add calculation for net revenue

* Align all table cells but identifier to the right

* Remove temporary text

* Improve cell link inline CSS

* Count several purchases of the same product as items sold

* Add TODO message to coupon link

* Add Download to Orders table

* Don't use camelCase for table column keys

* Cleanup

* Make products and coupons columns non-sortable

* Create renderList method to simplify products/coupons list creation

* Display correct currency for each order

* RTL table fixes

* Fix: products and coupons columns showing 'false' in CSV download

* Minor fixes

* Rename 'isIdentifier' with 'isLeftAligned' in table columns

* Remove toggleStatus method
2018-10-11 10:30:51 +02:00
Jonathan Belcher 8ee2a58fb3 Adds Order Summary Numbers 2018-10-10 16:29:12 -04:00
Kelly Dwan 1351997eef TableCard: Add search to table header (https://github.com/woocommerce/woocommerce-admin/pull/495)
* Add label override options to TableCard

* Add search input to the tableHeader

* Style search in table header
2018-10-10 10:12:00 -04:00
Justin Shreve 5a6749b15c Make tabular data independent of chart interval (https://github.com/woocommerce/woocommerce-admin/pull/483)
* Make Tabular data independent of Chart Interval

* Make table and summary numbers placeholders independent of chart
2018-10-10 09:57:16 -04:00
Albert Juhé Lluveras 1900bb0917 Improve charts accessibility (https://github.com/woocommerce/woocommerce-admin/pull/421)
* Add aria roles to chart elements

* Make individual points (in line charts) and individual bar (in bar charts) focusable

* Remove methods which are never used

* Reduce the number of parameters required by functions that display/hide the tooltip

* Use tooltipFormat for accessibility dates

* Rename 'formatVoiceDate' function to 'getTooltipDate'

* Use string literals for aria-label

* Remove table role which was no longer needed

* Add aria-hidden to X-axis in charts

* Remove 'key' from points/bar aria-label in charts

* Set different ARIA properties depending on chart mode (time or item comparison)

* Label should default to an empty string instead of a 0

* Use date format from params instead of hardcoded
2018-09-25 11:42:08 +02:00
Paul Sealock 58195911a7 AdvancedFilters: Add request for orders statuses 2018-09-25 11:39:47 +12:00
Albert Juhé Lluveras 31289e8c82 Transpose and update format of chart tooltip dates (https://github.com/woocommerce/woocommerce-admin/pull/467)
* Fix dates transposed in revenue chart

* Update date format in revenue chart tooltip labels

* Load point label date formats from lib/date

* Pass point label format as a prop to the chart component
2018-09-24 13:11:18 +02:00
Kelly Dwan 6d2eec1c12 Update `layout/*` file structure (https://github.com/woocommerce/woocommerce-admin/pull/463)
* Move section, header, and activity panel out of layout folder

* Update file soures

* Move documentation into component, and update generation script to handle the duplicated exports
2018-09-21 11:19:05 -04:00
Paul Sealock a299aad167 Coupons: add config, autocompleter 2018-09-21 11:54:22 +12:00
Albert Juhé Lluveras a18a9cd89a Update tooltip title and labels in standard graphs (https://github.com/woocommerce/woocommerce-admin/pull/458)
* Allow adding a label for each specific point in a chart

* Update test fixtures

* Update README with new data format

* Simplify getPreviousDate function code

* Update tooltip dates format

* Add new prop to charts 'tooltipTitle' to override the date tooltip title

* Fix totals not being calculated in charts legend

* Fix JS error when hiding lines in chart

* Fix a couple of issues with chart README

* Add quotes around prop names

* Remove unused variable

* Remove colon after tooltip label
2018-09-20 16:28:22 +02:00
Kelly Dwan 60f7c99753 Update label config to provide more specific labeling to each filter (https://github.com/woocommerce/woocommerce-admin/pull/432) 2018-09-19 13:23:57 -04:00
Kelly Dwan 1c6fe0e970 Compare Filter: Wrap up compare card functionality (https://github.com/woocommerce/woocommerce-admin/pull/431)
* Disable compare button if less than 2 items are selected

* Add a placeholder prop to the Search component

* Pass a placeholder label from filter configs for Search

* Add support for a label in Search

* Add Clear All link to reset comparison card

* Add a label when compare button is disabled

* Abstract the conditional tooltip/disabled button logic to a new component

* Add helpText as a customizable label

* Add icon to the search field

* Remove the parameter from query by passing in undefined
2018-09-19 13:16:52 -04:00
Kelly Dwan f2e0165d5f Component – Table: Add compare checkboxes (https://github.com/woocommerce/woocommerce-admin/pull/389)
* Switch to withInstanceId higher order component

* Add checkboxes to the rows in a TableCard, if a compareBy prop is set

* Add Compare button to update query param

* Populate the selected rows from the query parameter

* Update compare filter display & selected table rows when the query changes

* Skip displaying tags if the label is null/undefined

* Style table header with compare button, search placeholder

* Prevent setting just an ID list as the state, as this will wipe out already-fetched tag labels

* Update docs

* Shortcut out of fetching tag labels if the query is empty
2018-09-18 10:12:13 -04:00
Kelly Dwan 7ecd6d160b Add mock product report, helper functions (https://github.com/woocommerce/woocommerce-admin/pull/387)
* Add a mock table to Products report

* Move onQueryChange to a helper function in nav-utils

* Add function to parse out ID lists from a query parameter

* Add a default value

Prevents undefined query params from erroring on the `.split`

* Use numberFormat rather than forcing type conversion, fix table header name

* Fix duplicate export caused by merge conflict
2018-09-17 12:50:20 -04:00
Timmy Crawford 8eb0906287 Chart: Add styling needed to not be wrapped by card. (https://github.com/woocommerce/woocommerce-admin/pull/408)
* Chart: Add styling needed to not be wrapped by card.

* Add negative top margin back

* Fix placeholder css.
2018-09-14 09:17:39 -07:00
Robert Elliott b5b84fe72c Merge pull request woocommerce/woocommerce-admin#393 from woocommerce/fix/rev-report-chart-date-parser
Revenue Report: align date formats for the chart
2018-09-14 12:37:16 +02:00
Robert Elliott 45089c1602 2nd x-axis format 2018-09-14 11:53:54 +02:00
Paul Sealock 842c23201e AdvancedFilters: Update Search usage to use 'getLabels' from config 2018-09-14 10:17:35 +12:00
Robert Elliott 29113cffe8 align date formats for the chart 2018-09-12 09:22:08 +02:00
Paul Sealock 925140fc78 Merge pull request woocommerce/woocommerce-admin#349 from woocommerce/add/advanced-filters-url-support
Advanced Filters: Add url support
2018-09-12 14:31:13 +12:00
Justin Shreve baf44d030f Add interval handling to the revenue report. 2018-09-12 12:28:25 +12:00
Paul Sealock 3e7bed27cc Search: move selected from state to props 2018-09-11 16:18:10 +12:00
Robert Elliott e38284eb96 Merge pull request woocommerce/woocommerce-admin#381 from woocommerce/add/chart-legend-order
Chart Component: remove chart legend ordering for layout=standard and color scales
2018-09-10 16:04:36 +02:00
Kelly Dwan eee638b12b Component – Filters: Add "comparison" card (https://github.com/woocommerce/woocommerce-admin/pull/368)
* Add a new component with product search for the compare card

* Get product names from API when passed through URL

* Abstract out the products-related code into filter settings

* Update filters to provide multiple comparisons

Alternative to the “Compare [dropdown]” approach

* Update documentation

* Wipe selected items when the compare-type is updated

* Update labels & order of items in filter dropdown

* Add getLabels prop & description
2018-09-10 09:59:14 -04:00
Robert Elliott 3fdd9164c8 only sort on totals for layout=comparison & add dateParser prop for date formatting 2018-09-10 14:57:36 +02:00
Justin Shreve 251d9804ef Remove test code/examples and disable the inbox activity panel. (https://github.com/woocommerce/woocommerce-admin/pull/355)
* Remove test code/examples and disable the inbox activity panel.

* Remove search example
2018-09-05 14:52:48 -04:00
Justin Shreve f5479e1c18 Add loading indicators, error state, and EmptyContent to the revenue report. (#347, woocommerce/woocommerce-admin#348)
* Add loading indiciators for the revenue report.

* Improve accessibility, and fix up some documentation comments.

* Fix top border on mobile

* Add EmptyContent Component and revenue error/empty states. (https://github.com/woocommerce/woocommerce-admin/pull/348)

* Add EmptyContent Component and revenue error/empty states.

* Move relative image handling to ImageAsset, combine secondary and primary action rendering, add some missing isRequired proptypes, add empty error handling.

* Handle PR Feedback: Clean up button css, set a default for illustration, fix deprecation typo, some code cleanup.
2018-09-05 12:45:49 -04:00
Paul Sealock ab97ed02c7 Search: move selected from state to props 2018-09-04 12:02:40 +12:00
Justin Shreve 4e2661f3f1 Connect the revenue report to the api (https://github.com/woocommerce/woocommerce-admin/pull/316) 2018-09-03 11:25:38 -04:00
Albert Juhé Lluveras da2317f154 Add CSV download to Revenue table (https://github.com/woocommerce/woocommerce-admin/pull/326)
* Add CSV download to Revenue table

* Set revelant file name for revenue CSV file download

* Add package-lock.json

* Move CSV download logic inside /lib/

* Remove 'totals' from table CSV

* Check parameters are arrays in generateCSVDataFromTable

* Add @TODO comment about downloading large sets of data
2018-09-03 09:54:45 +02:00
Kelly Dwan 4b30e78ae6 Filters: Remove `filterpaths` props (https://github.com/woocommerce/woocommerce-admin/pull/315)
* Filters: Remove filterPaths, add path as property to filters object

* Set a default path, so we only need to configure it for changed paths

* Fix nav & filter fetching for nested lists

* Add “go back” functionality to all subfilter lists, not only ones with components set

* Make label optional on component options

* Update documentation to remove mention of filterpaths

* Add documentation on the filters structure
2018-08-22 16:20:19 -04:00
Timmy Crawford f4814ee46f Merge pull request woocommerce/woocommerce-admin#306 from woocommerce/update/revenue-chart
Revenue Report: Use href on SummaryNumber components.
2018-08-21 08:44:29 -07:00
Kelly Dwan 6ce012a2e7 Extensions: Add filter to allow third-party registration of reports (https://github.com/woocommerce/woocommerce-admin/pull/298)
* Create page helper function

* Enable filtering of report content for extensions to inject new reports

* Add error boundary

* Add documentation for the reports filter
2018-08-20 17:24:17 -04:00
Kelly Dwan dec97d178e Components: Export reusable components to a separate file + global (https://github.com/woocommerce/woocommerce-admin/pull/297)
* Importing all components from a root components file

* Update Ratings component to avoid circular dependencies, fix tests

* Export components on `wc.components`, use this for importing

* Move react-dates initialize to the components file

* Push query changes to history

Fixes an issues where native a links do not update the query in `history`

* Update test config for new @woocommerce/components path

* Update chart components import

* Merge simple/complex & alphabetize by first exported name

* Add a readme with info about how to call these components
2018-08-20 17:18:13 -04:00
Timmy Crawford f555fed33a Revenue Report: Use href on SummaryNumber components. 2018-08-20 13:40:17 -07:00
Timmy Crawford 9033d88b84 Remove trailing slash. 2018-08-20 09:23:33 -07:00
Timmy Crawford 85e428c2d4 Analytics: Add Chart to Revenue Report. 2018-08-17 15:47:54 -07:00
Kelly Dwan c16be4d061 Add ReportFilters Component
Add new function to merge query params into a given path

Add a new ReportFilter component, which extracts the date picker & filter picker

Add basic framework for product search

Add new AdvancedFilter to filter options

Remove duplicate CSS

Use library function for merging new query+path

Move filters folder out of reports

Use filter constant

Add README

Add path & query helper functions

Move filters into component folder

Switch to getPath/getQuery helpers

Update classes & merge styles

Remove query/path from READMEs

Add a readme to nav-utils
2018-08-15 11:15:30 +12:00
Kelly Dwan ff8217165d Table: Update style to match design (https://github.com/woocommerce/woocommerce-admin/pull/289)
* Table: Add a hover state for rows

* Expand target area for table links to take over entire cell

* Add a purple link style for default links

* Increase contrast for links-on-hover-color

* Add “isNumeric” column identifier & right-align these cols
2018-08-13 11:25:32 -04:00
Paul Sealock b427249aa1 Advanced Filters: add card and config 2018-08-09 12:16:46 +12:00
Kelly Dwan 2bea232494 Import compose from `wordpress/compose` (https://github.com/woocommerce/woocommerce-admin/pull/278)
As of Gutenberg 3.3, compose is in its own package - element.compose is deprecated
2018-08-06 17:33:55 -04:00
Kelly Dwan 4c2797d6cf Table: Add "required"/"sortable" meta to headers/columns (https://github.com/woocommerce/woocommerce-admin/pull/275)
* Switch headers to an object, use `header.label` to display title

* Change sort function to update a query param

* Clean up README

* Get the currently sorted column from the query

* Don’t allow toggling of required columns

* Add in direction-sorting (ascending/descending)

* Switch to aria-describedby so that the actual column name is read aloud

* Fix chevron orientation

* Handle hiding a sorted column

* Fall back to sorting by first item if no defaultSort col is set

* Fix arrow orientation again

* Update order_by to orderby to match wp_query param name
2018-08-06 13:01:41 -04:00
Kelly Dwan 8141a9f66d Update/table component (https://github.com/woocommerce/woocommerce-admin/pull/251)
* Update mock data to reflect latest API format

* Update Table component to create a TableCard, TableSummary, and plain Table

Use the TableCard container to display mocked revenue data

* Add horizontal scroll only on the table itself

* Remove `sortable` prop, base column sortability on whether the `value` is true/false

Checking against a strict false should prevent any real 0 or ‘’ values from triggering unsortability

* Add a checkbox to the demo table

* Update accepted props

* Update README for TableCard, Table, and TableSummary

* Update README

* Fix confused defaults
2018-08-01 12:00:45 -04:00
Paul Sealock 735dfcd272 Merge pull request woocommerce/woocommerce-admin#239 from woocommerce/fix/calendar-component
Datepicker: Refactor Calendar to fully controlled component
2018-07-31 11:10:20 +12:00
Kelly Dwan 727654ff3b SummaryNumber Component: Update to latest hifi design (https://github.com/woocommerce/woocommerce-admin/pull/237)
* Add first pass + demo of updated SummaryNumber

* Add new larger screen breakpoint

* Remove the max-width from the content wrapper

* Update previous label text

* Fix the border colors/sizing

* Create a mixin to generate the grid template pattern

* Add green/red colors based on trend, with prop to reverse

In some cases, a downward trend is good (ex, refunds), so we want to be able to color those green

* Move selected number containers up to avoid the double-border

* Document className logic, and apply 10-item layout to all cases of 10+ items

* Remove layout notes

* Update component docs, clean up optional displays

* Update style of SummaryNumbers inside cards

* Filter out any `false` or otherwise unrenderable children

* Fix card borders

* Update dashboard component to use new props

* Check that prevValue is defined

a prevValue of 0 was incorrectly outputting `0` for both label and value

* Update no-change datapoint style

* Update default data values

Rather than hiding the prevValue/label or delta section if these are not passed through, use default N/A placeholders

* Change SummaryList & SummaryNumber to a list of links

Add active, hover, and focus styles

* Add a short help text for screen reader users

* Add href to README

* Add the href prop to the readme example

* Fix border colors

The `nth-of-type` rules need to be on the `li` containers

* Fix font-weights on value & delta

* Wrap the previous label/value when the percentage wraps
2018-07-30 11:14:09 -04:00
Paul Sealock b34b2efbbc Use wp.data on Orders report
Update to Gutenberg 3.3
2018-07-30 11:17:28 +12:00
Paul Sealock 0df86cb6f6 Datepicker: Refactor Calendar to fully controlled component 2018-07-30 11:11:52 +12:00
Paul Sealock 31c055fd57 Component: Filter Picker 2018-07-17 12:25:00 +12:00
Kelly Dwan 96925f77fa Component: Fix rows prop in Table (https://github.com/woocommerce/woocommerce-admin/pull/193)
* Move component lifecycle method to top of component

* Update rows if the rows passed in via props have changed

This lets us bring in API changes, but will wipe out any sorting (revisit in a later PR, perhaps)

* Pass rows through to Table even if we don’t have rows loaded yet

Adds todo comment to remind that we should come back to add a placeholder/loading state
2018-07-13 15:36:41 -04:00
Justin Shreve 71c12e6795 Update woo-dash naming to new wc-admin name (https://github.com/woocommerce/woocommerce-admin/pull/183) 2018-07-10 08:48:06 -04:00
Justin Shreve d604f3625c Rename sidebar to activity-panel, and refactor code and behavior. 2018-06-28 09:52:45 -04:00
Timmy Crawford 88e1764720 Use swagger data in table. 2018-06-26 15:17:05 -07:00
Timmy Crawford 474f3ac5d0 use formatCurrency and update the utility to default to the WC settings currency 2018-06-26 14:39:29 -07:00
Timmy Crawford e20ccf1fe1 Use swagger mock endpoints to fetch data. 2018-06-26 14:25:42 -07:00
Justin Shreve ba68ada59d Add Pagination Component (https://github.com/woocommerce/woocommerce-admin/pull/117)
* Add pagination component

* Refactor query string/route updating so it can be done using a nav-utils helper function

* Fix typo and adjust accessibility attributes for error handling and current page

* Update styles
2018-06-26 10:59:35 -04:00
Kelly Dwan b1c2b3fdc4 Add Table component (https://github.com/woocommerce/woocommerce-admin/pull/118)
* Update package-lock

* Add data table component

* Add fake data & display revenue on the analytics test report

* Update styling

* Display table inside a card

* Update mock data to be easier to scan for testing ascending/descending

* Fix sorting function to correctly sort all columns

* Check column content before determining “sortability” — objects (links) are not sortable

* Update README

* Add translation to scroll helper text
2018-06-20 11:09:37 -04:00
Timmy Crawford 652fdd8be1 Add support for different report components, and create revenue report component. 2018-06-14 13:15:11 -07:00
Kelly Dwan bc084b7302 Add Summary Number/Performance Tile component (https://github.com/woocommerce/woocommerce-admin/pull/109)
* Add SummaryList and SummaryNumber components

* Add a demo of SummaryList/SummaryNumbers

* Pages without the sidebar displayed can use a larger max-width

* Adjust layout styles for smaller screens
2018-06-14 11:16:57 -04:00
Justin Shreve e110283997 Set document title (https://github.com/woocommerce/woocommerce-admin/pull/79)
* Set the document title based on header sections

* Set dashboard default title via PHP to avoid a title switch
2018-05-24 12:03:03 -04:00
Justin Shreve d4ade607d8 Add agenda widget base and related components (https://github.com/woocommerce/woocommerce-admin/pull/57)
* Add agenda widget with accordion

* Add AgendaItem, README, and do some cleanup

* Handle PR Feedback: Rename AgendaAccordion to AgendaGroup, accept an href prop for a non-accordion state. Accept onClick or href for AgendaItem, a11y fixes, fix some typos, update examples & README.

* Address PR Feedback: Rename AgendaGroup to AgenaHeader, use a direct link for href mode, use IconButton instead of Button & Dashicon, pull out link rendering to its own method. Use <Link /> for app links.

* Combine box-shadow focus/hover rule and add transparent background

* Make `count` optional
2018-05-22 11:19:56 -04:00
Justin Shreve e5bb7e556b Add routing capabilities with basic analytics page (https://github.com/woocommerce/woocommerce-admin/pull/44)
* Add routing capabilities with basic analytics page

* Pass query string to child component
2018-05-15 11:06:15 -04:00