Add frontend for subscriber engagement filters
MAILPOET-4989
This commit is contained in:
committed by
Aschepikov
parent
7b461d904b
commit
ef7d19e49d
@ -65,6 +65,18 @@ export function validateSubscriber(formItems: WordpressRoleFormItem): boolean {
|
||||
) {
|
||||
return validateTextField(formItems);
|
||||
}
|
||||
if (
|
||||
[
|
||||
SubscriberActionTypes.SUBSCRIBER_LAST_ENGAGEMENT_DATE,
|
||||
SubscriberActionTypes.SUBSCRIBER_LAST_PURCHASE_DATE,
|
||||
SubscriberActionTypes.SUBSCRIBER_LAST_OPEN_DATE,
|
||||
SubscriberActionTypes.SUBSCRIBER_LAST_CLICK_DATE,
|
||||
SubscriberActionTypes.SUBSCRIBER_LAST_PAGE_VIEW_DATE,
|
||||
].includes(formItems.action as SubscriberActionTypes)
|
||||
) {
|
||||
return validateDateField(formItems);
|
||||
}
|
||||
|
||||
if (formItems.action === SubscriberActionTypes.SUBSCRIBED_VIA_FORM) {
|
||||
return validateSubscribedViaForm(formItems);
|
||||
}
|
||||
@ -90,6 +102,11 @@ const componentsMap = {
|
||||
[SubscriberActionTypes.SUBSCRIBER_LAST_NAME]: TextField,
|
||||
[SubscriberActionTypes.SUBSCRIBER_EMAIL]: TextField,
|
||||
[SubscriberActionTypes.SUBSCRIBED_VIA_FORM]: SubscribedViaForm,
|
||||
[SubscriberActionTypes.SUBSCRIBER_LAST_ENGAGEMENT_DATE]: DateFields,
|
||||
[SubscriberActionTypes.SUBSCRIBER_LAST_PURCHASE_DATE]: DateFields,
|
||||
[SubscriberActionTypes.SUBSCRIBER_LAST_OPEN_DATE]: DateFields,
|
||||
[SubscriberActionTypes.SUBSCRIBER_LAST_CLICK_DATE]: DateFields,
|
||||
[SubscriberActionTypes.SUBSCRIBER_LAST_PAGE_VIEW_DATE]: DateFields,
|
||||
};
|
||||
|
||||
export function SubscriberFields({ filterIndex }: FilterProps): JSX.Element {
|
||||
|
@ -22,6 +22,31 @@ export const SubscriberSegmentOptions = [
|
||||
label: MailPoet.I18n.t('lastName').toLowerCase(),
|
||||
group: SegmentTypes.WordPressRole,
|
||||
},
|
||||
{
|
||||
value: SubscriberActionTypes.SUBSCRIBER_LAST_CLICK_DATE,
|
||||
label: MailPoet.I18n.t('lastClickDate').toLowerCase(),
|
||||
group: SegmentTypes.WordPressRole,
|
||||
},
|
||||
{
|
||||
value: SubscriberActionTypes.SUBSCRIBER_LAST_ENGAGEMENT_DATE,
|
||||
label: MailPoet.I18n.t('lastEngagementDate').toLowerCase(),
|
||||
group: SegmentTypes.WordPressRole,
|
||||
},
|
||||
{
|
||||
value: SubscriberActionTypes.SUBSCRIBER_LAST_OPEN_DATE,
|
||||
label: MailPoet.I18n.t('lastOpenDate').toLowerCase(),
|
||||
group: SegmentTypes.WordPressRole,
|
||||
},
|
||||
{
|
||||
value: SubscriberActionTypes.SUBSCRIBER_LAST_PAGE_VIEW_DATE,
|
||||
label: MailPoet.I18n.t('lastPageViewDate').toLowerCase(),
|
||||
group: SegmentTypes.WordPressRole,
|
||||
},
|
||||
{
|
||||
value: SubscriberActionTypes.SUBSCRIBER_LAST_PURCHASE_DATE,
|
||||
label: MailPoet.I18n.t('lastPurchaseDate').toLowerCase(),
|
||||
group: SegmentTypes.WordPressRole,
|
||||
},
|
||||
{
|
||||
value: SubscriberActionTypes.MAILPOET_CUSTOM_FIELD,
|
||||
label: MailPoet.I18n.t('mailpoetCustomField'),
|
||||
|
@ -27,6 +27,11 @@ export enum SubscriberActionTypes {
|
||||
SUBSCRIBER_FIRST_NAME = 'subscriberFirstName',
|
||||
SUBSCRIBER_LAST_NAME = 'subscriberLastName',
|
||||
SUBSCRIBER_EMAIL = 'subscriberEmail',
|
||||
SUBSCRIBER_LAST_CLICK_DATE = 'lastClickDate',
|
||||
SUBSCRIBER_LAST_ENGAGEMENT_DATE = 'lastEngagementDate',
|
||||
SUBSCRIBER_LAST_PURCHASE_DATE = 'lastPurchaseDate',
|
||||
SUBSCRIBER_LAST_OPEN_DATE = 'lastOpenDate',
|
||||
SUBSCRIBER_LAST_PAGE_VIEW_DATE = 'lastPageViewDate',
|
||||
SUBSCRIBER_TAG = 'subscriberTag',
|
||||
SUBSCRIBED_VIA_FORM = 'subscribedViaForm',
|
||||
}
|
||||
|
@ -132,6 +132,13 @@
|
||||
'lastName': __('Last name'),
|
||||
'email': __('Email'),
|
||||
|
||||
'lastClickDate': __('Last click date'),
|
||||
'lastEngagementDate': __('Last engagement date'),
|
||||
'lastOpenDate': __('Last open date'),
|
||||
'lastPageViewDate': __('Last page view date'),
|
||||
'lastPurchaseDate': __('Last purchase date'),
|
||||
'lastSendingDate': __('Last sending date'),
|
||||
|
||||
'before': _x('before', 'Meaning: "Subscriber subscribed before April"'),
|
||||
'after': _x('after', 'Meaning: "Subscriber subscribed after April'),
|
||||
'onOrBefore': __('on or before'),
|
||||
|
Reference in New Issue
Block a user