* 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 field key to 'woocommerce_checkout_required_field_notice' filter. Currently if we want to hook any field we can only hooked on field's label. This is not good because field can have duplicate label. And field label can hae many variation because of translations. We need to add field key to the filter so we can hook on it instead.
This is the behaviour that normally happens when a user updates version by version, but if the user skips several versions, db version and WC version could diverge.
* Add loading icon and disable continue until free extensions are loaded.
* Add changelog
* Only show dropdown when we have installable extensions listed
* Revert spinner addition and add loading to Continue button
* Add wait for dropdown to be enabled
The "Advanced" section in the product settings page exists only
if the product attributes lookup table exists. The table will
eventually exist for everybody, so a temporary check has been added.
When a filter by attribute widget was configured as OR, the query
to return the product counts was overfiltering and returning
less results than it should. It now works as in the case of not
using the lookup table.
* Query both actioned and unactioned notes
* Fix note title style issue when the component is rendered in the sidebar
* Add changelog
* Update changelog
* Adjust styling
* Fix lint error
* Simplify title style by using title class selector
* Add ellipsis menu and styling
* Add dismissed option to pseudo payment gateway
* Check if the suggested gateway has been dismissed
* Add visibility and transition rules
* Remove CSSTransition wrapper due to invalid tags
* Fix padding on ellipsis menu
* Add dismiss tracks event
* Add changelog entry
* Check dismissal of promotion server-side
* Make note title clickable
* Note title is clickable
* Updated styles to make title link look like H3
* Clicking title does not trigger busy state
* Add changelog
* Added a new update callback for 3.0 version to migrate is_read col from last_read user pref value
* Remove unnecessary comments
* Remove add column logic -- not needed as tables are updates during the bootstrap
* Remove column existence check
* Use the latest woocommerce_admin_activity_panel_inbox_last_read value
* Clean up woocommerce_admin_activity_panel_inbox_last_read after updating is_read
* Remove unnecessary var
* Update includes/wc-admin-update-functions.php
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Update test to use ms
* Use get_users() to get the latest meta value
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
PHP 7.x and 8.1 will throw a fatal error, thus causing the unit tests
suite to abruptly end, if a method from an implemented interface doesn't
fully match the signature as defined in the interface. In WooCommerce
that's the case for the classes that implement ArrayAccess: in
PHP 8.0+ these signatures have type hints and return types (as in
"offsetUnset( mixed $offset ):void" ) but the code in WooCommerce
doesn't. We can't just add the missing types to the signatures because
then the same error appears in PHP 7.x, in which there aren't
types in the method signatures of ArrayAccess.
The fix consists of adding the ReturnTypeWillChange attribute,
introduced in PHP 8.1, which instructs the runtime to not throw the
error. PHP 7.x doesn't support attributes, but in this case the
attribute declaration is seen as a comment.
See https://php.watch/versions/8.1/ReturnTypeWillChange
* Introduce a 320 char limit for inbox notes
* Extract truncateRenderableHTML to utils and use truncate from lodash to support word break
* Replace omission with blank so that lodash does not add ... at the end
* Add test cases for truncateRenderableHTML
* Add a test case with unicode string
* Add changelog
* Add a test case for preserving whole words
* add colombia states
* update label for state (colombia)
* change to english string
* fixes CLDR names, sorting
* sorting
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
Until now the product attributes lookup table had to be created
and its usage had to be activated manually, via the tools page.
This commit does the following:
1. Remove the tools to create and delete the table
(but keeps the tool to regenerate the table data for one or for
all the products)
2. Creates a data migration that triggers the table creation and
filling (unless the table already existed) for Woo 6.1
3. After the migration finishes, activates the table usage for
product filtering (site admin can still disable it via
Settings - Products - Advanced)
As far as I can see, this count param is not really needed, but it will still be good to keep it updated in case its getting used in an edge case that I have not considered.
* Preserve stock metadata for refunded items.
Prevents fully restocked items on partially refunded orders from having stock reduced on subsequent order updates.
* Add E2E test covering errant restocking fix.
- Replaced `intval` calls with faster type casting.
- Showing more informative error messages.
- Using ternary for better legibility in `WC_Admin_Addons::output`.
- Added `is_wp_error` check to avoid warning from `count` call in `html-admin-page-addons.php`.
- Always showing error message as detail in error output.
- Showing error detail message above "To start growing your business, head over to WooCommerce.com" text, instead of below.
* Wrap notes with Card component -- Added header, badge, and cllipsis menu
* Add hover state
* Dismiss note immediately without prompting a confirmation (https://github.com/woocommerce/woocommerce-admin/pull/7868)
* use woocommerce-admin-dismiss-notification class to target the dissmiss btn
* Add changelog
* Specify CSS styles so tha they dont get overridden by other plugins
* Update changelog
* Add is_read column
* Do not update activity_panel_inbox_last_read upon viewing the homepage
* Remove use of last_read variable
* Return is_read field from the note api
* Use is_read field and remove last_read from the test
* Set is_read to true when an action is triggered
* CSS changes for the read state
* Apply padding and border if there are multiple actions
* Remove unread indicator
* Add changelog
* Update changelog
* Revert package-lock.json
* Fix onDismiss not being called after rebasing
* Check is_read before setting it to the obj -- this prevents uninteded error messages piling up in case is_read col is missing for some reason
* Revert changs added by mistake during rebasing
* Revert changes to package-lock.json
* Remove incorrect changelog
* Commit to triger Github workflows
Improve (by a lot) the performance of the queries for the
product attributes lookup table by doing the following:
1. Fallback the query for the "AND" case to thequery for the "OR" case
when there's only one term being filtered for the category
(the subquery for the "OR" case is much simpler)
2. Collapse all of the "AND" queries (for all the categories)
into a simple one (this is possible since term ids are unique
even across categories)
3. The most important change: introduce an extra derived query,
so
...AND posts.ID in ( SELECT product_id FROM lookup_table WHERE...
becomes
...AND posts.ID in ( SELECT product_id FROM (
SELECT product_id FROM lookup_table WHERE...
This causes the filtering subquery to be executed only once.
This was needed to activate the feature for filtering products
by attribute using the new lookup table. The lookup table still
needs to be created and filled via the tools page.
* Wrap notes with Card component -- Added header, badge, and cllipsis menu
* CSS changes to adjust padding and margin
* Update text and classname
* Add dismiss all modal
* Render dismiss all modal
* Dismiss all notes
* Update client/inbox-panel/index.scss
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Update client/inbox-panel/index.scss
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Move text to inline
* Pass onClose callback instead
* Move dismissAllNotes into the modal component
* Rename dismissNote to onDismiss
* Alias setShowDismissAllModal as onDismissAll
* Reset margin-bottom to prevent the latest GB to add unwanted margin-bottom
* Commit to triger Github workflows
* Add changelog
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
Previously we were increasing coupon usage count on every apply_coupon method. This was causing double usages because, we would also increase on order save callback.
We instead now call `wc_update_coupon_usage_counts` in apply_method itself, which would increase the usage and also set the `_recorded_coupon_usage_counts` order meta.
Additional, we also manually call $couon->increase_usage_count if `_recorded_coupon_usage_counts` is because in this case, we are likely applying more than one coupon to the order. And `_recorded_coupon_usage_counts` meta would have already been set by the first coupon. This is not a good solution, ideally we should revamp how we store the coupon recorded information to support multiple coupon information from the get-go.
* Create more sample orders data.
* Code formatting.
* Add tests for pagination.
* Formatting.
* Add test case for inclusion and exclusion parameters.
* Add test for parent and parent_exclude parameters.
* Add test case for status parameter.
* Add test case for customer parameter.
* Add test case for product parameter.
* Create a test order with all numerical properties populated.
* Add test case for precision parameter.
* Add test case for search parameter.
* Add test case for orderby parameter.
* Move missed api-core-tests files.
* Force tests to run in band (sequentially).
* Allow empty arrays to be cached
* Fix second check
* Add tests for attribute function changes
* Use InvokedRecorder to explicitly assert invocation count.
Provides more friendly failure messages and self documenting code.
* Code format fixes
* Add class check to added tasks
* Make Task class asbtract
* Update tasks to use abstraction
* Update task property calls to methods and add extended class
* Fix up task tests
* Reorder script enqueing to check less expensive operations first
* Fix up dismissable and snoozeable checks
* Fix up typos
* Load default task classes on init
* Handle PR feedback
* Fix extended tasks not showing
* Update is_visible to can_view in deprecated tasks
* Use TestTask class for unit tests
* Add changelog entry
* Fix up API tests
* Update ExtendedClass name to DeprecatedExtendedClass
* Fix up rebase
* Initial refactor
* Update payment recommendations to use new endpoint data
* Make sure to run specs
* Fix test
* Delete old PaymentPlugins class
* Update url to point to woocommerce.com
* Remove unused displayable prop
* Move option name
* Fix js tests
* Add changelog
* Reverting changes in https://github.com/woocommerce/woocommerce/pull/30380, preparatory to merging the My Subscriptions and Marketplace pages back into one Extensions page.
* Moved category nav to a separate file.
* Added main nav tabs.
* Added category nav, styled the mobile version.
* Experiments with doing category tabs as a list.
* Styling category menu as a list of links in rectangular pills on desktop.
* Adjusting margins of product list in in-app marketplace.
* Removed `submenu_file` filter which called deleted `update_menu_highlight` method.
* Restored styling for update count bubble on My Subscriptions tab.
* Styling update bubble on My Subscriptions tab.
* Addressing design feedback. Restyled category pills to make them more obvious. Added `Browse categories` title before category menu on desktop. Changed `.addon-product-group-title` to an h2.
* Addressing feedback from https://github.com/woocommerce/woocommerce/pull/31085#pullrequestreview-806319880.
- Removing addition of `admin_title` filter calling deleted `update_my_subscriptions_title` method.
- Prepending `__DIR__` constant before path in `require` call.
* If the navigation feature does not exist, have the NavigationNudge note self-action.
* Create delete_if_not_supported method on NavigationNudge note.
If we encounter this situation again we might consider adding a version of this method to NoteTraits.
* Add possibly_delete_notes() to do_wc_admin_daily().
* Add changelog entry for Issue 7807.
* Add should_note_exist() method to NavigationNudge note.
* Add should_note_exist() and delete_if_not_supported() to NavigationFeedback.
* Add NavigationFeedback::delete_if_not_supported() to possibly_delete_notes() in daily cron.
* Fix changelog missing PR number.
* Update changelog to include navigation feedback note.
* Rename should_note_exist and delete_if_not_supported to is_applicable and delete_if_not_applicable, add to NoteTraits.
* Removed Changlogger Autoload
* Changed Jetpack Changelogger Formatter Loading
Rather than using the Composer autoload, we should use the
changelogger's "filename" option to point directly at the file.
This keeps the file out of the autoloads, since it's possible that
plugins or packages may be symlinked and break the relative
path to the plugin.
* 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
Autocomplete is default to on in most browsers, this is usually fine, but FireFox will overwrite actual value with whatever user entered last. This means if we change the quanity in some other page, and then refresh the cart page, the last entered value in cart page will be displayed, overwriting the actual value passed by server.
So autcomplete is disabled by default for quanity input field, further a filter is added like other fields in case this needs to be modified.
The symbol for the Swaziland (now Eswatini) Lilangeni is not L (for Lilangeni),
but E (for Emalangeni, plural). Even if it is just one Lilangeni, it is written as
E1.00.
* Add promoted card to in-App marketplace page
* Change name of transient
Changed name of transient for v2.0 of in-app marketplace featured page
content, so sites upgrading to WooCommerce 5.9 will get the correct
data for the new version of the page.
* 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
* Move woocommerce tax flow to subdirectory
* Add partner cards
* Use png for logo files
* Add partner card other actions
* Add partner card styling
* Add in mobile styles
* Interpolate links and html elements
* Redirect to tax configuration if Avalara not supported
* Mark task complete if Alavara is installed
* Record events when task partners are shown or selected
* Add changelog entry
* Update task card flow based on visible partners
* Skip plugin step if all plugins installed
* Move reusable components into subdirectory
* Record available partner options
* Fix type reference
* Wrap callback functions in useCallback to avoid rerenders
* Handle PR feedback
* Add key to partner card container
* Add testing instructions
Modify wc_get_price_excluding_tax so that when there's no user
available from a passed order and the
'woocommerce_adjust_non_base_location_prices' filter returns false,
the shop base location is used for the tax calculation instead of
the location of the currently logged in user.
PR #30692 modified 'wc_get_price_excluding_tax' so that if an order
is passed its customer will be passed to WC_Tax::get_rates in order
to use the proper location for the taxes to be discounted. The problem
is that when the order has no customer (it's "Guest") an invalid
customer (id=0) is passed, which has no location, and thus no taxes
are deducted whatsoever.
The fix consists of checking if the customer id from the order is 0,
and in that case no customer is passed to WC_Tax::get_rates, thus
the shop location is used for the taxes.
* - Increased `per_page` parameter of API request in `getRecommendedPlugins` from 6 to 9, to accommodate additional MailPoet item.
- Added new `mailpoet.js` with SVG icon for MailPoet, and corresponding entry to list of product icons.
* Changelog for this change.
* Renamed changelog.
* Added PR number to changelog content.
* Fix formatting
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Wrap notes with Card component -- Added header, badge, and cllipsis menu
* CSS changes to adjust padding and margin
* Change buttons to link style
* Render image only when the layout is thumbnail
* Add hover state
* Update text and classname
* Dismiss note immediately without prompting a confirmation (https://github.com/woocommerce/woocommerce-admin/pull/7868)
* use woocommerce-admin-dismiss-notification class to target the dissmiss btn
* Add changelog
* Specify CSS styles so tha they dont get overridden by other plugins
* Update changelog
* Remove message gap
* Remove unwanted changes from package-lock.json
* Update changelog
Moving this to `admin_init` also ensures that WC_Notes_Run_Db_Update has been instantiated before it can hook into the `woocommerce_hide_update_notice` action. See:
- WC_Install:init()
- WC_Notes_Run_Db_Update::construct()
closes#30781
* Update WCPay in person text
* Remove div wrapping finish setup button
* Add changelog entry
* Add US specific WooCommerce Payment suggestion
* Allow different gateway suggestion IDs for wcpay
* Add older fallback version of WCPay
* Change check to dev version of 2.9.0
* Use 5.10.0-dev for WC checks
* Add wc-admin-update-store-details note
* Add wc-admin-complete-store-details note
* Add notes to daily cron
* Add conditional display of notes if in experiment
* Fix bug preventing control experience being cached in transient
* Add filtering of experiment notes in REST API
* Revert "Add conditional display of notes if in experiment"
This reverts commit 99908b83d7868ae69dd1ccca1b565ee2de4dff0d.
* Add changelog
* Update changelog
* Refactor experiment condition for performance
* Add back in extension list title
* Separate task list and obw plugin lists
* Remove mailpoet from basics list
* Bump extensions REST API to v3
* Add changelog entry
* Add illustration images
* Refactor the way clicking task is handled, tracking clicks should be during CTA
* Refactor task list on select and rendering
* Add WCPay task and update existing tasks to use new API
* Change payments task behaviour to show after wcpay is connected
* Add couple more tasks
* Add marketing and appearance tasks, customize styles
* Refactor to use svg components instead of images, add custom task titles for experiment
* Updated tracking to be like existing task list
* Change default task shown to be the last
* Cleanup css
* Changelog
* Fix ellipsis menu css to be more specific to the respective tasklist
* 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
Revert changes in 9d06c74339?branch=9d06c74339c2ae190b40acc7f0aef38a53140e94&diff=unified#diff-122b62121f7a3deb664f05d12fb2af1c40cf819712b5f2db935017ce4a4c45cbR11
* Initial refactor and consolidation of the DataSourcePoller code
* Move transient logic into DataSourcePoller class
* Fix function name
* Fix tests
* Add changelog
* Fix tests and update use of DataSourcePoller
* Make use of ID's in the DataSourcePoller
* Fix parsing error
* Update data_sources filter
* 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>
* 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
* 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
* Add route and layout for unmatched path
* Add NoMatch to catch missing report pages
* Load WooCommerce Admin scripts on all pages
* Move NoMatch inside default page layout
* Add permission checks to tabs
* Allow update_option_extended_task_list to be called on non-admin pages
* Check for task list task count in extended list update function
* Add changelog entry
* Add PR number to changelog entry
* Remove deprecated extended task list filter and tests
* initial push
* Add E2E test for onboarding currency
* Wait for navigation to complete
* Change method for value check
* Fix dropdown selector
* Add more country tests
* Add changelog entry
* Add test to runner
* Change the call order
* Fix country specs
* Fix country specs for UK
* Try changelog again
* Move changelog record to e2e-tests
* Convert string concats to template literals
* Remove spaces
* Fix linter errors
* Add check for WCPay supported countries
* Add an 'onBlur' property to the 'DateInput' component
This allows passing a callback function for the input's onBlur event.
* Close the calendar when an element outside the parent dropdown gets focused
Previously, you had to click on the calendar and then click anywhere else for it to be closed without selecting a date. Now the calendar gets closed when any element outside the parent's dropdown element gets thefocus.
* Remove redundant code for dismissing the calendar when pressing the tab key
Dismissing the calendar this way doesn't seem to be good for accessibility. That aside, the introduced dismissal on blur handles the scenario of when the calendar isn't needed anymore and the user is navigating with the keyboard.
* Add changelog entry
* Use the PR ID instead of the issue ID for the changelog entry
* Separate new declaration on a new line instead of using a comma
* Add an entry to the packages/components/ changelog
* Move some of the deprecated tasks stuff outside of the main components
* Do not add data to request when no depreciated tasks
* Move possiblePruneTaskData function to the deprecated-tasks class
* Make sure the depreciated onClick is triggered and container is used
* Fix the extended tasks condition
* Add sort by support for task list
* Revert extension example changes back
* Move sorting tasks to the API and add asc/desc support
* Revert extension example changes
* Update sort function naming
* Remove background color from marketing tool list header, increasee padding in plugin list, rearrange list borders.
* Changelog entry for 7642.
* Section heading tweaks: bottom padding, force uppercase.
* Move Marketing task plugin list changes into more specific stylesheet.
* 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 checks for actioned task status
* Update completion logic for task
* Add rest route for actioning tasks
* Add action in data store for actioning tasks
* Add test for actioning task
* Only prune isActioned from task data
* Add extended task list support to the new REST api task lists
* Some small refactors
* Small refactors from PR review
* Create extended tasks on the fly if added on the client
* Remove unneeded change
* Add level and additionalInfo support, also adding it to the WooCommerce Payments task
* Fix a mis-type in a comment
* Bumps version to 2.9.0-dev
* Delete changelog files from 2.7.x and 2.8.0
* Update changelog for 2.7.1 and 2.8.0
* Update testing instructions for 2.7.1
* Add changelog and enable promotion in core and plugin configs
* Add PR number
* Make variation name a constant
* Clone spec as we are overwriting the is_visible prop
* Fix unit tests and support array and object
* Revert explat variation name
* Update changelog entry
* Update changelog once more
* Make sure the recommendations show up if marketplace suggestions is not defined defaulting to 'yes'
* Include yoast phpunit polyfills in phpunit tests
* Do a normal composer install
* Use original composer.lock
* Remove the use of composer 1
* Fix asset url
* Fix failed test with file rename
* Make sure plugin_dir_url is pointing at a file
* Fix asset url take 3
* Fix lint error
* Assign parent order status as children order status if refund order
* Handle feedback
* Add changelog entry
* Check order type before calling get_refunds
* Add France to list of countries that get Square as an option if selling venues includes brick-mortar or brick-mortar-other.
* Changelog for 7631_include_square_in_fr.
* Add a command to sort PRs by merge date in asc -- this can be useful when we cherry-pick PRs for the releases
* Check # of arguments
* Convert PHP to shell script
* Fix Marketing tools header: add missing page title for marketing task.
* Add changelog.
* Add PR number to changelog entry for issue woocommerce/woocommerce-admin#7548.
Co-authored-by: Jacob Sewell <jacob.sewell@automattic.com>
* Add woocommerce.com data source poller
* Change data source back to .com
* Fix namespace
* Make use of the sub_title prop to display payment cards
* Fix some styling issue and add TS types
* Rename admin script to keep it more generic
* Add br tag as allowed, and update expected data format
* Update styling
* Address PR feedback
* Render psuedo wc pay payment gateway in payment method table
* Fix lint errors
* Fix lint error
* Add setup event and make use of script_assets file
* Left align payment icons
* Fix feature import and update pageview track
* Fix broken test and add an extra one
* Fix payment method ordering persistance
* Remove the use of psuedo and addressed several PR related feedback
* Fix PHP lint errors
* Make sure track props use underscore
* Fix test
* Update comment
* Add await
* Add optional parameter to `/currency`'s `formatAmount` to display currency code.
To support rendering non-ambiguous results.
* Add the changelog entry.
* Add hide and show task list tests
* The start to adding tests for the activity panel
* Add activity panel tests and WP-API plugin on initialize
* Update task list tests to be more flexible
* Add changelog in package
* Update the re-enable task list logic to be more robust
* Use a more generic selector
* Make sure task list is shown in previous test
* Add test screenshot
* Remove screenshot and update logic
* Address PR feedback
* Add endpoint to hide task lists
* Migrate old setup task list hidden option
* Use option to store all hidden lists
* Add getter for deprecated options
* Migrate old task list options
* Move task lists into separate class
* Add TaskList class for individual task list control
* Update hidden checks to use TaskList api
* Update docs for hidden lists
* Update use of should_show_tasks to check for visible task lists
* Remove hide endpoint to reduce scope on PR
* Fix up failing tests
* Fix up rebase
* Add back in should_show_tasks with deprecation notice
* Add delay between payment tests
* 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
* Add woocommerce_task_list_visited_tasks option for marketing task completion
* Add changelog
* Use trackedCompletedActions to track completed actions
* Change completed action name
* Check # of installed extension for the completion logic
* Do not update completed action if marketing already exists
Co-authored-by: Moon <moon.kyong@automattic.com>
* Add evaluation logger
* Update readme
* Use simplified log format
* Add a new line at the end
* Move constant checking to consumer level
* Rename constant name
* Check constant before checking the value
* Fix test
* Add changelog
* Move initialization of the logger to RuleEvaluator and use more generic constant name
* Remove the default source value
* Update readme.txt
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Update src/RemoteInboxNotifications/README.md
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Update src/RemoteInboxNotifications/RuleEvaluator.php
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Add soruce -- remote-inbox-notifications
* Move WC_ADMIN_DEBUG_RULE_EVALUATOR check to the logger
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Add a new command to build testing instructions by a given version
* Check - [ ] Include test instructions in the release checkbox
* Fix code format
* Code cleanup
* Fix config error
* Update README.md
* Update README.md
* Update README.md
* Remove js version
* Remove test file
* A minor refactor
* Reuse parse() method from the WCAdminFormatter.php
* Exclude PRs with "no release testing instructions" label
* Remove Requests:multi_request dependency
* Remove wp load script
* show Pinterest for WooCommerce in `Marketing > Installed`
* tweak Pinterest bounding rect so padding is consistent with other icons
* add changelog entry
* add testing instructions
* tweak wording for clarity
* link to correct Pinterest admin settings URL
* detect if Pinterest is set up & link to onboarding if appropriate
* add utm_medium campaign link tracker tag to docs link
* change all the logs 🪵
* Remove redundant changelog entry from readme
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* remove todo for Pinterest onboarded/setup status (now implemented)
Co-authored-by: Rua Haszard <rua@automattic.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Initial set up for the WCAdminSettingsRegistry
* Make use of filter for admin settings
* Add wc/settings package and remove depreciated dropzone wrapper
* Make use of the getSetting function instead of accessing window directly
* Add comments
* Add changelog
* Remove un needed changes
* Update dropzone provider logic and fix styling
* Remove old css
* initial refactor
* Fix auto fill and write tests
* Removed autofill from country/region and added support for abbreviation regions
* Add changelog
* Add changelog for the component package
* Fix clear form for autofill
* Remove dollar sign and space to fix the syntax error.
Remove dollar sign and space
* , separated file list does not work with phpcs. Use space instead
* 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>
* Fix end date for last periods
* Test February end date for leap year
* Add changelog and testing instructions
* Handle feedback
* Fix merge conflict
* Add changelog
* Split the Extensions page into Marketplace and My Subscriptions.
* Add changelog entry.
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Update Table components to align texts and numeric a bit smarter
Text fields are left-aligned and numeric values should be right-aligned.
* Update a snapshot test
npm run test:client -- --updateSnapshot client/analytics/components/leaderboard/test/index.js
* Add tests for property isLeftAligned
* Do not retain values when switching between rules in the DateFilter component
* Add changelog entry
* Remove unnecessary use of the ternary operator
* Fix the changelog entry
* Add tests
* Add changelog entry
Co-authored-by: Chris <chris.aprea@automattic.comchris.aprea@automattic.comchris.aprea@automattic.com>
* Add default free extensions to REST API response
* Use data store to retrieve free extensions
* Add back in product link click tracks
* Handle visibility and evaluation server-side
* Update sprintf to use entire link tag
* Fix up remote free extensions rule evaluation
* Add visibility rules to mailpoet
* Fix fallback to default payment gateways if polling fails
* Add changelog entry
* Fix empty array check
Co-authored-by: Matt Sherman <matt@jam123.com>
* Extract extension list transformation logic
* Check for installed marketing extensions in the task list
* Add tests for marketing extension utils
* Remove use of useMemo in non-component
* Separate installed plugins from plugin lists
* Only show plugin lists when plugins exist
* Use installedExtensions for tracks
* Fix boolean check on list plugin length
* Fix text style changes with Gutenberg Text component
* Update to match new designs for plugin list
* Skip non-allowed lists for installed plugins
* Add changelog entry
* Handle styling feedback
* Add initial plugin list components and marketing task
* Add marketing task styles
* Fix action button alignment
* Only allow specific plugin lists
* Add button to activate already installed plugins
* Record event when marketing plugin is installed
* Update plugin list when plugins are installed or activated
* Disable and set buttons as busy when installing/activating
* Update data source to use v2 controller
* Add changelog entry
By adding a `isReverseTrend` prop we can pass to `SummaryNumber` we can indicate that a negative trend in refunds is a good thing and therefore display a green indicator.
* Match stock status in CSV download to the table
* Add changelog
* Set status value from stockStatuses
* Update stock status for server-side export
* Replace status value in the controller
* Remove unnecessary call to constructor
* Remove changelog from readme
* Add changelog
* Add `hidden` legendPosition to `Chart`.
Sometimes, for example, when there is a single data set, there is no need for rendering the legend. It may even introduce more confusion than value. It seems interactive, but there is nothing you can do with it.
Fixes: https://github.com/woocommerce/google-listings-and-ads/issues/618
* Add `@storybook/addon-knobs` to devDependencies.
It was used but not explicitely stated.
* Add a changelog entry.
* Add tests for legendPosition in Chart component
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
The deprecated (but not removed) `onChangeCallback` and `onSubmitCallback` props were not being called because of an error in the logic that checked for presence of the new callbacks (it was always truthy due to it having a fallback to an empty function).
This reverses the logic so that if the deprecated props are provided they will be called, if the new props (only) are provided they will be called instead.
This also pushes the removal of these back to 9.0.0, because in the past these deprecated version numbers had little thought behind them, but this gives a more realistic time frame for removal and an understanding that a *major* version will break compatibility, not a patch version as the old version number suggested.
* Register a fake wc-admin homepage to for users without permission
* Update removal cap to manage_woocommerce
* Fix WooCommerce menu item position and icon
* Fix up admin user checks
* Handle PR feedback
* Only disable redirection on wc-admin pages
* Remove woocommerce_prevent_admin_access filter
* Add changelog entry
* 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
* Pre-release for 2.5.0-beta.1
* update changelog
* revert version bump
* revert package.lock
* entry for 2.5.0
* Sync with 2.4 release and removed some duplicates
* add changelog from 7186
Co-authored-by: Rebecca Scott <me@becdetat.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Add components-dropdown__content class -- this is for Safari as Safari returns parent element as a related target in this case
* Remove unnecessary style
* Add TableSummaryPlaceholder
* Expose TableSummaryPlaceholder to package @woocommerce/components
* Add test instructions and changelog entries to MD files
* Add tests for TableSummaryPlaceholder
* Add storybook for TableSummaryPlaceholder
* bump E2E package versions to latest
* first pass on E2E test package.json
* move e2e specs to admin-e2e-tests
* add global types, reimplement tests/e2e/specs
* use consistent build dir with other packages
* add documentation, improve test:e2e script
* fix linting issues in admin-e2e-tests
* fix more linting issues
* disable lint on requires
* use e2e in the E2E container names
* move analytics overview test to package
* change extension on analytics-overview test file
* fix linting issues in e2e analytics overview
* remove package scripts from e2e package
* change test specs extensions to .tsx
* remove import from analytics overview test spec
* add .tsx to e2e test spec file extension list
* update e2e business features count expected
* Remove facebook marketing extension from fallback config
* Update changelog and testing instructions
* Update changelog to use the shiny new Jetpack changelogger
* 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>
* Make action button optional, and disable VerticalCSSTransition when expandable is false
* Update collapsible list to support nested element transitions
* Add changelog
* Address some small PR feedback, and fix tests
* Add expanded class, and remove cursor when expanded
* Make sure margin is added to container height
* Update broken tests
* Add radix to parseInt method
* on Filter update, keep all queries
* changelog
* package changelog
* instead of keeping everything else, remove advancedFilters when main filter is set to 'all'
* remove all queries associated with filter in question
* dedupe params
* add tests
* Added onDelete prop to `task-item`.
* Added `onDelete` and `Remid me later` options to task example in docs.
* Added changelog
* Fixed lint error
* Fixed another lint error
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
- Use headings in issues templates,
instead of bold paragraphs.
To match with PR template, to improve readability and accessibility.
- Add the "Actual behavior" section.
The reviewer, would not have to get that from the description or test locally.
- Reorder sections,
Screenshots (and actual behavior) describes what you have immediately after you perform "steps to reproduce", so therefore could be stated there. It's hard to make a screenshot of the "expected behavior", which is not happening.
- Move section descriptions to comments.
This way the issuer could still keep them in place while filling the sections, answering those requests.
- Use ellipsis character instead of three dots.
To make it more readable, by fully sighted and visually impaired readers https://tosbourn.com/the-importance-of-using-the-ellipsis-character not to read it as "dot dot dot"