* Remove setup_experiment_1 and setup_experiment_2 tests and css
* Remove setup_experiment_1 and 2 from the client code
* Copy over setup_experiment_1 options to the setup tasklist and remove setup_experiment_1 and 2
* Add changelog
* Determine the default component to use by task id
* Update plugins/woocommerce-admin/client/tasks/hooks/useActiveSetupList.ts
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Remove orderCount and publishedProductCount setting and make use of data stores
* Add test
* Add changelog
* Make use of orders data store instead of items data store
* Add users param to reports customers API params to allow filtering by user_id
* Fix invalidateResolution call that was misspelled
In order to ease the identification of private packages within the monorepo, this adds an `internal-` prefix to all of the current private packages. This makes it immediately clear when reviewing `packages/js` what is and isn't a private package.
* Allow the support of multiple task lists with overlapping tasks
* Add filter by task ids
* Revert getTaskListById call
* Fix notices
* Move prefix event to task and task list classes instead
* Fix track events and extended task list
* Fix php unit tests
* Remove the seperate task list classes as this was unnecessary.
* Fix tests
* Remove unneeded allowed-tasks
* Change onboarding task list redux store structure
* Add extra id for handling hidden param for experimental task lists
* Fix lint errors
* Fix forgotten change
* Add changelog
* Copied .tsconfig into ./client to enable ts checking
- Made sub-repos composite typescript packages where necessary
* Prevent tsc from transpiling ./client
- we use webpack for transpiling so no need for this
* Added tsc resolution path for @automattic/explat-client
- Seems like there's a type export issue (?) with @automattic/explat-client and @automattic/explat-client-react-helpers
- adding the node_modules/@automattic/explat-client path in tsconfig seems to help TS resolve this using the source .ts files
- found answer here: https://github.com/microsoft/TypeScript/issues/42873
- should figure out what's actually wrong with the type exports and fix that there instead
* Removed mandatory checking from webpack
- removed this for now as it will block all development until all type inconsistencies are fixed
- for now, run the optional ts:check task either in console or vscode for highlighting type errors
* Added vscode tasks for typescript checking
* Patch @automattic/explat-client-react-helpers
- this changes the installed code in node_modules (post-installation) for @automattic/explat-client-react-helpers so that it exports the necessary type interfaces required by us
- attempted unsuccessfully to override type exports using declare module
- not too sure how to fix this internally by other means
- have to investigate what fixes to propose to @automattic/explat-client-react-helpers team
* changed tests in ./client to use ts-jest instead of babel-jest
- rewrote jest config to use ts-jest instead of babel-jest
- set ts errors to warnings instead so that tests don't fail on type errors
- created new tsconfig for ./packages/js-tests so that build and ts-check are separate, as js-tests need to be built for commonjs
* Add hook reference README
* update hook reference
* better
* changelog
* add pr number
* remove example
* add desc
* add stats
* jsdoc REPORTS_FILTER
* Category configs
* configs
* data
* dashboard
* dashboard charts
* save
* save
* save
* done with filters
* Add scope to slotFill docs
* data
* add all slotfills
* data
* Fix error when scope is not present, and make use of typedef imports
* Move chart and filter jsdoc definitions to the reports index file
* Update hook reference data.json
* Make use of import for filter typedef and address some typos
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
* Remove use of wc-admin-settings from packages
* Move getSetting to getAdminSetting and remove wc-admin-settings package
* Add changelog
* Update package.json and remove last use of wc-admin-settings
* Add SlotFill area to header
* Add activity panel fill
* Move activity panel to root client folder
* Move activity panel registration to its own folder
* Add navigation fill
* Add page title slotfill
* Slot fill the back button
* Move mobile banner to slot fill
* Fix navigation fill on embed pages
* Add changelog entry
* Allow order prop to header item fill
* Split header into before and after
* Fix header title gaps
* Fix nav and mobile app banner placement
* Fix display options import
* Only use last item for page header title fill
* Use function to pass fill props instead of bind
* Rename header slots
* Fix mobile banner dismissal check
* Fix up inbox panel rename
* Update task title in tests
* Fix up task status retrieval
* Add endpoint to unhide task list
* Rename show method to unhide
* Replace requests for hidden task list options
* Replace unhide task list requests
* Replace task list complete checks
* Replace dismiss option requests
* Remove complete task option check
* Fix up panel buttons
* Update finished setup to wait for task list resolution
* Create selector for getting a single task list
* Add selector for single task
* Fix task list panel visibility
* Add changelog entry
* Fix empty product types in profiler data
* Revert to checking for hidden task list
* Add extra status properties to tasks
* Convert extra properties to camelcase
* Replace task status usage in client
* Remove task status data store
* Remove task status endpoint
* Remove remaining task status references
* Add has products to appearance task data
* Handle PR feedback
* Fix up additional data for Avalara task
* Add changelog entry
* Render extended task list
* Remove margin-bottom when the extended task list is empty
* Fix typo
* Remove redundant isVisible check
* Remove unallowedTasks and move it to concat
* Remove woocommerce_tasklist_progression experiment
* Remove duplicate array items
* Use isVisible to check the visibility
* Remove redundant logic
* Add two column version of task list with a new design
* Show number in the status circle
* Set background for the active task
* Remove border top
* Changes in single column
* Task list does not render in the left column if two column task list has been rendered already.
* Your store today and activity panel does not render if user is running two column experiment
* Update the circle border color
* Fix lint issue
* Support single column mode
* Add box-shadow transition
* Fix max width
* Set the first card as the default if all tasks are complete
* Adjust font-weight for the complete tasks
* Use experiment
* Remove unnecessary placeholder
* Use two-column placeholder
* Use the new task REST API
* Remove unused code -- these are no longer used as we are using the new task list REST API
* Update logic to use the new fields
* Update css to fit the homescreen card
* Remove unused var
* Sync changelog from 2.8.0-rc.2 (https://github.com/woocommerce/woocommerce-admin/pull/7783)
* Remove changelogs that were picked into 2.8.0-beta.2
* Update changelog for 7690
* Update changelog for 7743
* Update changelog for 7734
* Update changelog for 7763, 7771
* Remove changelog for 7763 from 2.8.0 since it was in 2.7.2
* Update changelog for 7798
* Show keep & dismiss page when tasks are complete (https://github.com/woocommerce/woocommerce-admin/pull/7684)
* Add two column version of task list with a new design
* Changes in single column
* Task list does not render in the left column if two column task list has been rendered already.
* Your store today and activity panel does not render if user is running two column experiment
* Prompt a modal when hiding the task list
* Add completed compoent
* Move completed task to task-list
* Implement hide and keep list buttons
* Fix keep task list button
* Rename hideTaskCard to hideTasks and keepTaskCard to keepTasks
* Add two column version of task list with a new design
* Show number in the status circle
* Set background for the active task
* Remove border top
* Changes in single column
* Task list does not render in the left column if two column task list has been rendered already.
* Your store today and activity panel does not render if user is running two column experiment
* Update the circle border color
* Fix lint issue
* Support single column mode
* Add box-shadow transition
* Fix max width
* Set the first card as the default if all tasks are complete
* Adjust font-weight for the complete tasks
* Use experiment
* Remove unnecessary placeholder
* Use two-column placeholder
* Use the new task REST API
* Remove unused code -- these are no longer used as we are using the new task list REST API
* Update logic to use the new fields
* Update css to fit the homescreen card
* Remove unused var
* Show keep & dismiss page when tasks are complete (https://github.com/woocommerce/woocommerce-admin/pull/7684)
* Add two column version of task list with a new design
* Changes in single column
* Task list does not render in the left column if two column task list has been rendered already.
* Your store today and activity panel does not render if user is running two column experiment
* Prompt a modal when hiding the task list
* Add completed compoent
* Move completed task to task-list
* Implement hide and keep list buttons
* Fix keep task list button
* Rename hideTaskCard to hideTasks and keepTaskCard to keepTasks
* Remove unnecessary feature checking logic
* Separate && operator for Activity Header and Panel since one of them can be empty
* Add changelog
Co-authored-by: Matt Sherman <matt.sherman@automattic.com>
* Added first set of task-list tests
* Fix event prefix and add two extra task list tests
* Add test for task list item
* Update package to allow tests with slotfill to work
* Add tests for Task component
* Add tasks tests
* Revert package.json changes
* Update prefixEvent function and revert package.json changes
* Remove class additions to body tag
* Add missing styles to tasks container as well
* Remove feature flag
* Remove unused task status items
* Remove old task list components
* Remove more unused task status items
* Move completion checking to TaskList class
* Move completion checking to Task class
* Add changelog entry
* Fix up old task-list component references
* Remove flag around slotfill area
* Add back missing task stylesheet
* Move task specific styles to respective fills
* Add PR number to changelog entry
* Add initial task list render
* Add task list item render
* Separate task list menu component
* Fix click handling for tasks
* Add task started count data
* Scroll to top after selecting task
* Handle PR feedback
* Handle PR feedback round 2
* Set default value for orders var
* Add changelog
* Add PR # to the changelog
* Return default orders in the early return statement
* Adding the default value for the order var
* Revert the early return changes
* Sentence case all the things
* Update a few more things that were missed on the first round
* update documentation titles to use title case
* Add changelog
* Handle PR feedback
* Revert readme changelog changes
* Revert changes to ALT text in dev documentation
* Revert a change to ALT text in dev documentation
* Fix failing tests
Co-authored-by: David Levin <davidlevin@Davids-MacBook-Pro-2.local>
Co-authored-by: Joshua Flowers <joshuatf@gmail.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Using order items endpoint instead of reports and added customer and products support
* Add total_formatted key
* Converted component to functional component and memoized getItems function
* Using orders meta table instead of reports product_lookup table
* Add changelog entry
* Add a new endpoint to get low in stock products.
* Set images and attributes property
* WIP -- set last order date
* Do not join postmeta if store does not have any custom stock threshold
* Combine get_query() and get_query_for_sitewide_threshold() into one method and a few code clean ups
* Support status field
* Use new products/low-in-stock endpoint to count low in stock products.
* Use new products/low-in-stock to get low in stock products data.
* Remove low_in_stock support
* Deprecate low_in_stock
* Use the new ProductsLowInStock when low_in_stock is set
* Set cache-control header for the new endpoint
* Use wc_rest_prepare_date_response to format the response date
* Extract low in stock test to a separate file
* Make is_using_sitewide_stock_threshold_only protected
* Revert Products.php changes
* Add back low in stock test to products test
* Remove unnecessary if
* Make the controller final
* Deprecate low_in_stock
* Bug fix -- last_order_date was not setting correctly for variation post type. This commit fixes it
* Add changelog
* add @slotFill to process
* add types
* committing data
* use filter instead of hook
* changelog
* add action type
* update paths to ignore builds and node_modules
* changelog
* Add action data type
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Add appropriate text props to supplement variant revamp
* Add font styles to navigation title since its removed in wp.components
* Add more missing styles
* Accidental change
* Add changelog
* Fix lint
* Update jest snapshots
* Close activity panels by default and track shown
* Add task list shown data to tracks
* Add changelog and testing instructions
* Fire the panel tracks again when the task list is hidden
* Move user data store folder
* Add user capability check hook
* Don't limit script loading by user capability
* Convert ActivityPanel to functional component
* Update ActivityPanel to use useSelect
* Check that a user can manage woocommerce for the store setup tab
* Add capabilities to pages
* Add testing instructions
* Move inbox panel to left column, to increase user interaction
* Add changelog
* Fix and add test
* Remove old loading banner-block
* Remove unused css
* Fix test with new props
* Fixed reviews and inventory panels visibility
This commit fixes the reviews and inventory panels visibility when setup task list is enabled
* Fixed tests
* Fixed control and small refactor
* Fixed useSelect
* Fixed multiple useSelect
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Fixed hiding core task list
This commit fixes the hiding of the core task list
* Added tests
* Added fix to readme.txt
* Fixed readme.txt
* Added new test
* Hooks were fixed
* Refactored task lists handling
This commit refactors a few things related to the task lists handling
* Added tests
* Fixed task lists handling
* Fixed tests
* Renamed 'taskListHidden' to 'taskListsHidden'
* Added taskListsHidden util
* Fix completed tasks tracking infinite loop
This commit fixes the completed tasks tracking infinite loop (for multiple extended tasks)
* Refactored update check
* Hide task list if there aren't any visible tasks
* Fixed comment
* Fixed typo
* Renamed example method
* Fixed example extension
* Added tab to the extension example
* Fixed extended task list enabling option
* Added more tests
* Added PHP tests
* Fixed some comments
* Removed utils.js file
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* update @wordpress/eslint-plugin dependency to latest version
* local prettier config isn’t needed anymore because of fix in upstream package
* add jsdoc config to use typescript format for jsdocs
* update changelog
* update packages and include .prettierrc.js back in for code editor support of prettier
* add docs
* minor prettier fix in test file
* Convert all new eslint rules throwing errors to warnings temporarily to be handled in separate prs
* updated changelog
* fix package-lock.json
* prettier auto-fixes
* add prettier dependency at root
* sigh prettier is being finicky
* version bump
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Add welcome modal when coming from Calypso
* add to changelog
* do some important work for prettier
* udpated with final copy
* Add PR number to readme
* Possibly use safe Text component
* Possibly use safe navigation components
* Add experimental package
* Update components to import from woocommerce/experimental
* Make experimental package private
* Reference experimental package relatively
* Update packages/experimental/README.md
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Update packages/experimental/CHANGELOG.md
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Update history state instead of mocking getQuery in tests
* Handle PR feedback
* Create excluded externals array and return early
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Show highlight help panel popup after user enters uncompleted task more then once
* Updated styling of highlight tooltip
* Removed empty array from the useSelect to prevent unnecessary re-renders
* Updated styling of the highlight tooltip to match wireframe and wrote tests
* Fix close button location
* Add event tracking
* Add changelog
* Make use of user preferences meta data for task visit tracking
* Add support for toggling the show boolean
* Make sure the delay works correctly for highlight tooltip
* Continue tracking tasks visit count, and added onShow callback for tooltip
* Added tasks extensibility
This commit addes tasks extensibility
* Fixed tests
This commit fixes the tests
* Fixed add task example
This commit fixes the add task example
* Fixed method possiblyCompleteTaskList
This commit fixes the method "possiblyCompleteTaskList"
* Fixed method getIncompleteTasks
This commit fixes the method getIncompleteTasks
* Fixed add task example
* Added callback onDismiss
This commit adds the callback for the "onDismiss"
* Added onDismiss and isDismissable to add task example
This commit adds the props "onDismiss" and "isDismissable" to add task example
* Not showing extensions task list if empty
* Fixed onDismiss callback
* Add changelog
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Sam Seay <samueljseay@gmail.com>
* style changes to tax task
* Fix undefined variable use.
* Set plugin install dismissal actions as tertiary.
* change back to variable
* add margin to primary
* text-button-styles-homescreen
* Add specificity to the task caption selector.
We need to beat out the styles from Gutenberg.
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
* Create initial reviews panel and displaying it on the home screen
* Update reviews package to support updating and deleting reviews
* Allow custom icons to be defined for rating component
* Add approve, spam, and delete actions to home screen review panel
* Show entire list as updating when items are still in the store
* Update rating to only import the required icons, and allow icons to be passed in instead of strings
* Prune out reviews header panel, as we are not using it anymore
* Showing just a header if collapsible is false for activity panel
* Add tests for reviews panel and accordion changes
* Fix undoing a deleted item by using status - untrash
* Several styling changes to match wireframe as mentioned in PR review
* Moved review rating into the subtitle in relation to new design
* Update clear cache logic for last item
* Remove activity panel unused css
* Use invalideResolution instead of invalidateResolutionForStoreSelector
* Don't return an action-like object in action creators.
* Add missing itemType param to setError() calls.
* Add setItem() action (singular).
* Use singular setItem() when updating product stock.
* Split setting items and totals counts into separate actions.
* Refactor totals count resolvers not to use getItems().
* Refactor low stock variable to be the count instead of a boolean.
* Add initial render of the Stock panel on the homescreen.
* Move existing Stock panel to homescreen accordion.
* Ensure int value for low stock product count.
* Update ProductImage styling.
* Update stock activity car styles.
* Only show 5 low stock products.
* Add "undo" action to the stock updated snackbar.
* Fix check for explicit notice dismissal when taking actions.
* Hide now-in-stock products after updating.
By cllearing "edited" flag on successful update.
* Fetch more products after updating stock.
* Fix the number of product placeholders shown.
* Only show products placeholders on the initial fetch.
* Fix placeholder style.
* Fetch low stock count dynamically.
* Let initialOpen prop toggle Accordion panels if they haven't been toggled by the user.
* Refactor item total count state.
Allows for auto-updating item totals whenever identical queries (from a totals perspective) are issued.
* Add last order date to low stock products API response.
* Allow non-date strings in ActivityCard date prop.
* Add last order date to stock panel cards.
* Remove empty stock panel view.
* Add test file for StockPanel.
* Only request necessary fields from products endpoint.
* Add test for products fetch after stock update.
* Fix field name.
* Add test for last order date in low stock products API response.
* Stock panel should be initially closed.
* Skip updating a product if the quantity is unchanged.
* Add order count to shared component settings.
* Hide the Orders panel when the store has no orders.
* Check for all order statuses except drafts from the checkout block.