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);
|
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) {
|
if (formItems.action === SubscriberActionTypes.SUBSCRIBED_VIA_FORM) {
|
||||||
return validateSubscribedViaForm(formItems);
|
return validateSubscribedViaForm(formItems);
|
||||||
}
|
}
|
||||||
@ -90,6 +102,11 @@ const componentsMap = {
|
|||||||
[SubscriberActionTypes.SUBSCRIBER_LAST_NAME]: TextField,
|
[SubscriberActionTypes.SUBSCRIBER_LAST_NAME]: TextField,
|
||||||
[SubscriberActionTypes.SUBSCRIBER_EMAIL]: TextField,
|
[SubscriberActionTypes.SUBSCRIBER_EMAIL]: TextField,
|
||||||
[SubscriberActionTypes.SUBSCRIBED_VIA_FORM]: SubscribedViaForm,
|
[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 {
|
export function SubscriberFields({ filterIndex }: FilterProps): JSX.Element {
|
||||||
|
@ -22,6 +22,31 @@ export const SubscriberSegmentOptions = [
|
|||||||
label: MailPoet.I18n.t('lastName').toLowerCase(),
|
label: MailPoet.I18n.t('lastName').toLowerCase(),
|
||||||
group: SegmentTypes.WordPressRole,
|
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,
|
value: SubscriberActionTypes.MAILPOET_CUSTOM_FIELD,
|
||||||
label: MailPoet.I18n.t('mailpoetCustomField'),
|
label: MailPoet.I18n.t('mailpoetCustomField'),
|
||||||
|
@ -27,6 +27,11 @@ export enum SubscriberActionTypes {
|
|||||||
SUBSCRIBER_FIRST_NAME = 'subscriberFirstName',
|
SUBSCRIBER_FIRST_NAME = 'subscriberFirstName',
|
||||||
SUBSCRIBER_LAST_NAME = 'subscriberLastName',
|
SUBSCRIBER_LAST_NAME = 'subscriberLastName',
|
||||||
SUBSCRIBER_EMAIL = 'subscriberEmail',
|
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',
|
SUBSCRIBER_TAG = 'subscriberTag',
|
||||||
SUBSCRIBED_VIA_FORM = 'subscribedViaForm',
|
SUBSCRIBED_VIA_FORM = 'subscribedViaForm',
|
||||||
}
|
}
|
||||||
|
@ -132,6 +132,13 @@
|
|||||||
'lastName': __('Last name'),
|
'lastName': __('Last name'),
|
||||||
'email': __('Email'),
|
'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"'),
|
'before': _x('before', 'Meaning: "Subscriber subscribed before April"'),
|
||||||
'after': _x('after', 'Meaning: "Subscriber subscribed after April'),
|
'after': _x('after', 'Meaning: "Subscriber subscribed after April'),
|
||||||
'onOrBefore': __('on or before'),
|
'onOrBefore': __('on or before'),
|
||||||
|
Reference in New Issue
Block a user