Add a component for # of opens

[MAILPOET-3224]
This commit is contained in:
Pavel Dohnal
2021-04-12 10:49:10 +02:00
committed by Veljko V
parent d9ae9cc647
commit 40ea2f39af
3 changed files with 45 additions and 6 deletions

View File

@@ -9,8 +9,10 @@ import {
} from '../types';
import { EmailStatisticsFields } from './email_statistics';
import { EmailOpensAbsoluteCountFields } from './email_opens_absolute_count';
export const EmailSegmentOptions = [
{ value: 'opensAbsoluteCount', label: MailPoet.I18n.t('emailActionOpensAbsoluteCount'), group: SegmentTypes.Email },
{ value: 'opened', label: MailPoet.I18n.t('emailActionOpened'), group: SegmentTypes.Email },
{ value: 'notOpened', label: MailPoet.I18n.t('emailActionNotOpened'), group: SegmentTypes.Email },
{ value: 'clicked', label: MailPoet.I18n.t('emailActionClicked'), group: SegmentTypes.Email },
@@ -33,9 +35,23 @@ interface Props {
item: EmailFormItem;
}
export const EmailFields: React.FunctionComponent<Props> = ({ onChange, item }) => (
<EmailStatisticsFields
item={item}
onChange={onChange}
/>
);
const componentsMap = {
[EmailActionTypes.OPENS_ABSOLUTE_COUNT]: EmailOpensAbsoluteCountFields,
[EmailActionTypes.CLICKED]: EmailStatisticsFields,
[EmailActionTypes.NOT_CLICKED]: EmailStatisticsFields,
[EmailActionTypes.OPENED]: EmailStatisticsFields,
[EmailActionTypes.NOT_OPENED]: EmailStatisticsFields,
};
export const EmailFields: React.FunctionComponent<Props> = ({ onChange, item }) => {
const Component = componentsMap[item.action];
if (!Component) return null;
return (
<Component
item={item}
onChange={onChange}
/>
);
};

View File

@@ -0,0 +1,22 @@
import React from 'react';
import {
EmailFormItem,
OnFilterChange,
} from '../types';
interface Props {
onChange: OnFilterChange;
item: EmailFormItem;
}
export const EmailOpensAbsoluteCountFields: React.FunctionComponent<Props> = ({
onChange,
item,
}) => (
<>
<div className="mailpoet-form-field">
{item.name}
</div>
</>
);