* withSelect: fix for multiple select() calls
This fixes a problem with a fresh-data store implementation that was
cancelling out previous requirements when mapSelectToProps
select( 'wc-api' ) was called more than once.
* wc-api: Only clear if no requirements selected.
Small update to only clear out a component's requirements if withSelect
returns without any requirements.
* Use ReportTable in Orders report
* Get totalCount from hte X-WP-Total header
* Order props alphabetically
* Cleanup report table 'tableData' prop
* Use short-circuit evaluation
* Make sure D3Base always updates when props change
* Fix JS error when resizing the window
* d3Chart cleanup
* Update tests
* Update d3Base also when drawChart prop changes
* Save height and width without margins in params
* Remove resize listeners inside d3Base
* Remove unused param
* data: Add @fresh-data/framework to package.json
* data: Add fresh-data and replace orders in table
This PR adds fresh-data with a WooCommerce API spec to fulfill order
information. It then replaces the existing selectors for the orders
table with the new selectors as a proof-of-concept.
* wc-api: Add temporary code for `withSelect`
This adds temporary code for a `withSelect` function outside of
`@wordpress/data` until the context PR is merged:
https://github.com/WordPress/gutenberg/pull/11460
* wc-api: Update fresh-data to 0.5.0
* Use X-WP-Total header to set the total number of items in tables
* Improve naming
* Improve tests
* Make getReportItems() return a 'data' property by default
* Make getSummary prop behavior more clear
* Merge table stores
* Add Categories table
* Add numberFormat to non-currency numbers displayed to the user in the Categories Table
* Rename 'Coupons' to 'Categories' in Categories table title
* Update Categories table to use the ReportTable
expand formatting function to xFormats
adding getTooltipValueFormat
remove old chart examples
remove magic numbers and use variables
refactor getTooltipRowValue
update package-lock
allow function formatters and use @wordpress/elements
* 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
* 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
* Move components to packages folder
* Update documentation generator to handle packages/components and client/components
* Update component locations
* Update CSS build process
* Remove react-dates css, this is already included by gutenberg
* Fix CSS style - single quotes
* Fix incorrect imports
* Update package-lock with new dependencies
* Update component locations for devdocs
* Fix location of tests
* Update chart breakpoints to match the other parts or wc-admin
* Make chart have always the specified height so it matches the legend total label
* Remove obsolete test
* Remove exports no longer needed
* Remove @wordpress/viewport dependency from chart.js
* Update chart docs
* Make tooltipPosition PropType more strict
* 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
* Display comparison chart in Product detail report
* Make legend to overflow in comparison charts
* Show comparison chart also when comparing products
* Update comparison chart legend design
* Send itemsLabel and comparisonChart as props to the ReportChart component
* Update styles and create a legend.scss file
* Minor cleanup
* Fix legend test
* Sort props alphabetically
* Move filter code to the navigation package
- Moves filter-related code to navigation, so it can be shared between components and the app
- Fixes spelling of “flatten”
- Update README docs with new functions
* Use `get` to prevent errors if options is not an array/is empty
* Update documentation and tests
* 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
* fix: Remove state argument from resolvers.
State is no longer the first argument to resolvers as of @wordpress/data
version 3.0.0
* Update @wordpress/data to 3.1.0
* Adjust resolvers to work with v2 and v3 wp.data
This adds code to inspect the arguments of the resolvers to allow for
working with v2 or v3 wp.data. This is only temporary.
* resolvers: fix tests
This fixes tests by removing empty state objects from them.
* 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
* Make breadcrumbs links persist date queries
* Add tests to getTimeRelatedQuery() when query parameter not set
* Add comment explanation about navUtils self-import
* Makes stylelint config match prettier settings
* Fix/all css lints (https://github.com/woocommerce/woocommerce-admin/pull/734)
* Fix all sass lints!
* Delete settings.json
* Update newline rule, which also conflicts with prettier
* Fix remaining stylelint issues
* Disable stylelint rule for a line to avoid prettier/linter fights
* Fix charts redirecting to previous path when changing interval value
* Fix chart being reset when changing interval
* Fix chart being reset when changing filters
* Move TableSummary below pagination
* Add summary to order table
* Add new and returning customers
* Add product to totals in API
* Use get_var instead of get_results for unique products
* Change table summary styling
Remove slashes and increase padding between items based on discussion with @LevinMedia
Change margin to padding to overlap table shadow when pagination is not present.
* Fix wp_posts prefix and move to separate fxn
* Change new/returning customer column types to intval
* Add new/returning customer data to tests and fix formatting
* Adds Section Header component
* Return Card header to previous state
* Restore card header
* Fix weird format comment in markdown
* PR review comment fixes
* Add snapshot to test
* Add role to hr to remove from screen readers
* Code review fixes
* 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
* Move withSelect() inside table components
* Add isLoading prop to TableCard (https://github.com/woocommerce/woocommerce-admin/pull/713)
* Add isLoading prop to TableCard
* Add onSort prop to TablePlaceholder
* All checkbox shouldn't be checked if the number of rows is 0
* Updates default analytics menu
* Make revenue the default analytics page
* Fix header link to direct to Revenue report
* Fix highlighting with additional filters
* 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
* Tracks: Don't track if Jetpack is not present or in dev env.
* Check for JETPACK__VERSION instead.
* Fix linting errors
* Yoda conditions use you must
This (sort of) pins buble to the last good version, 0.19.4. react-live uses a ^ version, which picked up the broken release during the renovate update sweep.
* Add table shadow element to tables
* Update table shadow bg color
* Remove redundant styles
* Remove unused ref
* Update shadow relative to container table body
Use the container body so we don't have to update the transform on scroll for the table shadow. Prevents jankiness on low-end devices
* Move table shadow to pseudo element
* Refactor getXTicks
* Hide day from X axis when the time period is too long
* Fix X axis labels misaligned in charts
* Align axis ticks to the first day of the month when not displaying the day number
* Store threshold in a variable
* Add missing JSDoc
* Fix charts hanging when the number of days selected was exactly 180
* Improve function naming
* Fix dayTicksThreshold mismatch between date format and chart layout
* Send params with Orders table API calls
* Add onError case and caching for Orders calls
* Remove unused actions
* Load only 'processing', 'on-hold' and 'completed' orders
* Use NAMESPACE constant instead of hard-coded value
* Comment typos
* Add tests to Orders reducer, resolvers and selectors
* Typos
* Fix JSDoc mismatch
* Create ViewMoreList component
* Update Tag component with the new style and popover
* Display number of times an item was bought in the Orders table (2x, 1x, ...)
* Refactor ViewMoreList so the elements to display in the list and the popover are different props
* Cleanup
* Fix CSV values for products and coupons
* Minor fixes
* Rename ViewMoreList prop from 'popoverItems' to 'items'
* Cleanup props
* Add ViewMoreList to devdocs examples
* Order Tag props alphabetically
* Move withState to export line so it doesn't break docs generation
* Rename 'is-not-unique' class name to 'is-inline'
* Fix missing comma
* Remove margin from popover list
* Use pseudo-selector to replace 'is-inline' class in cell links
* 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
* Make tooltip position be relative to the hovered elements instead of the mouse
* Set tooltip margin to 24px to match CSS 'gap-large'
* When focusing a bar with value 0, set the target node to its parent so the tooltip is displayed next to it
* Make sure 'mouseout' event is not triggered when hover the tooltip box
* Make sure the tooltip is never rendered too much to the left/top of the chart
* Get the size of the tooltip box from the DOM when it's available
* Minor fixes
* 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
* Remove content from README, leaving only the example
* Rename edited READMEs
* Add a devdocs page rendering from markdown example files
* Add more components to devdocs
* Add the rest of the component examples
* Add navigation to single components, show generated readme on single component view
* Style devdocs like calypso
* Split devdocs into two columns at “desktop” sizes
* Update segmented selection example
* Update link
* Add header to avoid notices error
* Move header/row documentation into the component, so it can be rendered in the external docs
* Move project READMEs into docs folder for exposure in docs site
* Regenerate docs, generate component folder sidebar with component list
* Update format of CSS docs
* 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
* 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
* 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
* 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
* Update packages to latest versions
* Update snapshot to match updated jest format
* Add missing packages
* Pin docsify-cli to GitHub commit with security fix
* Update engines settings
* Update packages
Again, some things are already out of date from last week
* Regenerate docs
* 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
* 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
* remove circles on more than 50 x points
* x-axis interval spacing
* factorial spacing of x-axis ticks
* limit pipes too
* catch recursion infinity issue and add layout
* Hide tooltip when mouse leaves chart bars
* Allow focus on chart lines/bars and show tooltip
* Extract position calculation to a function
* Make columns focusable instead of individual points in line charts
* Make table font-size accessible
* Make TopSellingProducts table load only five products
* Make empty message on TopSellingProducts table the same height than the table
* Update breaking test
* Use font-size mixin in table items/header
react-dates developers recommend using airbnb-browser-shims, but doing some
testing I found loading the required polyfills individually instead of the
entire Airbnb Browser Shims package produces smaller builds.
* 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
* Fix Summary values not visible with IE11
* Fix Summary grid for IE11
* Move grid position mixin to _mixins file, so it can be used for other elements
* Remove set-grid-positions mixin and improve code understandability
* 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.
Update TopSellingProducts table API connection to correctly work
with the new selectors response format introduced in woocommerce/woocommerce-admin#316.
* 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
* Switch all components to default exports
This ensures we can read all components for documentation generation (plus, standardizing is good)
* Add documentation to component file
* Fix table exports
* Move readme docs into inline docs
Includes updating new props, adding prop shapes
* Add doc-generation scripts to pull exported component docs into folder
* Remove key propType, causing react special-keys warning
* Fix proptype
* Update incorrect comment
* Remove template import, we can just use string concat
* Fix typo, update docs
* Validate component with helper function
Fixes compat issue with react-docgen
* Switch all components to default exports
This ensures we can read all components for documentation generation (plus, standardizing is good)
* inValidDays -> invalidDays
Invalid is a single word, so by capitalization rules the V should be lowercase
* Export child-components of Chart
* Fix table exports