Fix MailChimp import

[MAILPOET-2157]
This commit is contained in:
Pavel Dohnal
2019-07-22 12:23:12 +02:00
committed by M. Shull
parent 8e5953cca3
commit 512bb0f7fe
3 changed files with 39 additions and 9 deletions

View File

@@ -90,7 +90,13 @@ StepDataManipulation.propTypes = {
invalid: PropTypes.arrayOf(PropTypes.string), invalid: PropTypes.arrayOf(PropTypes.string),
role: PropTypes.arrayOf(PropTypes.string), role: PropTypes.arrayOf(PropTypes.string),
subscribersCount: PropTypes.number, subscribersCount: PropTypes.number,
subscribers: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.string)), subscribers: PropTypes.arrayOf( // all subscribers
PropTypes.arrayOf( // single subscribers
PropTypes.oneOfType( // properties of a subscriber
[PropTypes.string, PropTypes.number]
)
)
),
}), }),
subscribersLimitForValidation: PropTypes.number.isRequired, subscribersLimitForValidation: PropTypes.number.isRequired,
setStepDataManipulationData: PropTypes.func.isRequired, setStepDataManipulationData: PropTypes.func.isRequired,

View File

@@ -31,7 +31,13 @@ function ColumnDataMatch({ header, subscribers }) {
} }
ColumnDataMatch.propTypes = { ColumnDataMatch.propTypes = {
header: PropTypes.arrayOf(PropTypes.string).isRequired, header: PropTypes.arrayOf(PropTypes.string).isRequired,
subscribers: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.string)).isRequired, subscribers: PropTypes.arrayOf( // all subscribers
PropTypes.arrayOf( // single subscribers
PropTypes.oneOfType( // properties of a subscriber
[PropTypes.string, PropTypes.number]
)
)
).isRequired,
}; };
function Header({ header }) { function Header({ header }) {
@@ -51,12 +57,16 @@ function Subscriber({ subscriber, index }) {
<> <>
<td>{index}</td> <td>{index}</td>
{/* eslint-disable-next-line react/no-array-index-key */} {/* eslint-disable-next-line react/no-array-index-key */}
{subscriber.map((field, i) => <td key={field + index + i}>{field}</td>)} {subscriber.map((field, i) => <td key={`${field}-${index}-${i}`}>{field}</td>)}
</> </>
); );
} }
Subscriber.propTypes = { Subscriber.propTypes = {
subscriber: PropTypes.arrayOf(PropTypes.string).isRequired, subscriber: PropTypes.arrayOf(
PropTypes.oneOfType( // properties of a subscriber
[PropTypes.string, PropTypes.number]
)
).isRequired,
index: PropTypes.node.isRequired, index: PropTypes.node.isRequired,
}; };
@@ -69,7 +79,8 @@ function Subscribers({ subscribers, subscribersCount }) {
subscribers subscribers
.slice(0, MAX_SUBSCRIBERS_SHOWN) .slice(0, MAX_SUBSCRIBERS_SHOWN)
.map((subscriber, i) => ( .map((subscriber, i) => (
<tr key={subscriber[0]}> // eslint-disable-next-line react/no-array-index-key
<tr key={`${subscriber[0]}-${i}`}>
<Subscriber subscriber={subscriber} index={i + 1} /> <Subscriber subscriber={subscriber} index={i + 1} />
</tr> </tr>
)) ))
@@ -96,7 +107,13 @@ function Subscribers({ subscribers, subscribersCount }) {
} }
Subscribers.propTypes = { Subscribers.propTypes = {
subscribersCount: PropTypes.number.isRequired, subscribersCount: PropTypes.number.isRequired,
subscribers: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.string)).isRequired, subscribers: PropTypes.arrayOf( // all subscribers
PropTypes.arrayOf( // single subscribers
PropTypes.oneOfType( // properties of a subscriber
[PropTypes.string, PropTypes.number]
)
)
).isRequired,
}; };
function MatchTable({ function MatchTable({
@@ -125,7 +142,13 @@ function MatchTable({
MatchTable.propTypes = { MatchTable.propTypes = {
subscribersCount: PropTypes.number, subscribersCount: PropTypes.number,
subscribers: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.string)), subscribers: PropTypes.arrayOf( // all subscribers
PropTypes.arrayOf( // single subscribers
PropTypes.oneOfType( // properties of a subscriber
[PropTypes.string, PropTypes.number]
)
)
),
header: PropTypes.arrayOf(PropTypes.string), header: PropTypes.arrayOf(PropTypes.string),
}; };

View File

@@ -110,8 +110,9 @@ class MailChimp {
return [ return [
'subscribers' => $subscribers, 'subscribers' => $subscribers,
'invalid' => false, 'invalid' => [],
'duplicate' => false, 'duplicate' => [],
'role' => [],
'header' => $header, 'header' => $header,
'subscribersCount' => count($subscribers), 'subscribersCount' => count($subscribers),
]; ];