Commit Graph

21108 Commits

Author SHA1 Message Date
John Oleksowicz
f297ba0251 Memoize combined options to avoid re-renders
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
3888aa4113 Extract attribute values onChange handler
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
897daa184f Extract initial attribute values calculation
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
1e36b6d999 Don't include attributes with no known values
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
56cffdfb59 Refactor attribute option value generation
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
4203348340 Refactor attribute value/onChange
This extracts some logic out of the JSX for readability and memoizes
more of the data to avoid unnecessary re-renders

MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
604de62af6 Add filter data mapper tests
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
a4a2ef3b1f Add support for local variation attributes
In WooCommerce it's possible to create attributes that are local to a
specific product. When these attributes are used to generate variations,
 they are stored in the postmeta table.

MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
24e38d6752 Add explanation of the getLookupData method
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
6307cfdcff Add filter data validation
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
6b8fc3df83 Only load WC data when WC is active
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
fe4621f503 Ensure selected terms appear in dropdown on load
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
ac27dc1446 Add tracking for purchased with attribute filter
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
bfa3770d99 Add backend logic for purchase by attribute filter
MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
477557d22c Use taxonomy slug instead of id
The lookup table, wc_product_attributes_lookup, that we'll use for the
queries, includes the slug but not the taxonomy id.

MAILPOET-5467
2024-03-11 10:52:30 +01:00
John Oleksowicz
2e8a757432 Make attribute term ids a multiselect
MAILPOET-5467
2024-03-11 10:52:30 +01:00
Rodrigo Primo
acc8dde47d Add purchased with attribute segment UI code
[MAILPOET-5467]
2024-03-11 10:52:30 +01:00
Jan Jakes
e90f984379 Fix enum filter validation
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
9327485441 Use "comment_date_gmt" for "in the last" condition
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
b5b21c9f7a Add check for product post type when fetching customer review data
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
46a462ee23 Add test for an automation with if/else step and "in the last X days" filter
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
d7f4f1a137 Fix non-translatable strings
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
1d27d51753 Render "in the last X days" in parameter values
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
5439db1e5a Unify parameter naming
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
1a0eb90402 Mark which fields support the "in the last" parameter for UI
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
5f7362282d Add "in the last" parameter and schema to number and enum filters
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
7f63445f5a Pass filter-provided parameters to field value factories
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
467f1f8c8c Add ability for filters to provide field params
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
1e3d6347fc Add validation for "in the last" parameter
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
4637349a60 Implement filter args validation
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
2303a7480c Add filter type defintions, extract value formatting to each of them
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
d0889a436f Add a way to manage filter types in automation editor store
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
7cb75e77c5 Add explicit casts for WordPressDotOrg.sniffs.DirectDB.UnescapedDBParameter
None of these are needed, but the sniff reports them as false positives, so this is a workaround.

[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
d4fd0bec71 Check for empty array when getting parent term IDs
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
5b2d75dc1f Add "in the last" parameter to "woocommerce:customer:purchased-tags" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
176b2dbd53 Add "in the last" parameter to "woocommerce:customer:purchased-categories" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
399e61d7b9 Add "in the last" parameter to "woocommerce:customer:review-count" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
d0d9c223b4 Simplify factory in integration tester
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
67786c1eee Add "in the last" parameter to "mailpoet:subscriber:automations-exited" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
44b65d10be Add "in the last" parameter to "mailpoet:subscriber:automations-processing" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
2ef7bf6fac Add "in the last" parameter to "mailpoet:subscriber:automations-entered" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
f1b1ca882c Add "in the last" filter for fetching automation IDs by subject
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
504510d724 Simplify fetching automation IDs by subject
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
f36b117987 Add "in the last" parameter to "mailpoet:subscriber:email-clicked-count" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
1c7ed9602f Add "in the last" parameter to "mailpoet:subscriber:email-machine-opened-count" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
c87fc5ab7e Add "in the last" parameter to "mailpoet:subscriber:email-opened-count" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
2421a1b8ea Add "in the last" parameter to "mailpoet:subscriber:email-sent-count" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
3dbe1bd049 Add "in the last" parameter to "woocommerce:customer:spent-average" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
adff3b61a6 Add "in the last" parameter to "woocommerce:customer:order-count" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00
Jan Jakes
d9be326aa7 Add "in the last" parameter to "woocommerce:customer:spent-total" field
[PREMIUM-253]
2024-03-11 10:31:15 +01:00