webpack/components/TemplateSyncResult/components/SyncedTemplate/helpers.js in foreman_templates-7.0.7 vs webpack/components/TemplateSyncResult/components/SyncedTemplate/helpers.js in foreman_templates-8.0.0
- old
+ new
@@ -5,12 +5,12 @@
import IconInfoItem from './IconInfoItem';
import EmptyInfoItem from './EmptyInfoItem';
import StringInfoItem from './StringInfoItem';
import LinkInfoItem from './LinkInfoItem';
-export const itemIteratorId = (template, attr) =>
- `${template.templateFile}-${attr}`;
+export const itemIteratorId = (template, ...rest) =>
+ `${template.templateFile}-${rest.join('-')}`;
export const additionalInfo = (template, editPath) => {
const infoAttrs = [
'name',
'locked',
@@ -70,11 +70,16 @@
return (
<StringInfoItem template={template} attr={attr} key={key} elipsed />
);
case 'name':
return (
- <LinkInfoItem template={template} editPath={editPath} attr={attr} />
+ <LinkInfoItem
+ template={template}
+ editPath={editPath}
+ attr={attr}
+ key={key}
+ />
);
default:
return '';
}
});
@@ -89,15 +94,20 @@
return <Icon name={iconName} size="sm" type="pf" />;
};
export const expandableContent = template => {
if (Object.keys(aggregatedMessages(template)).length !== 0) {
- const res = Object.keys(aggregatedMessages(template)).map(key => (
- <li key={itemIteratorId(template, key)}>
- {formatError(key, aggregatedMessages(template)[key])}
- </li>
- ));
+ const msgs = aggregatedMessages(template);
+
+ const res = Object.keys(msgs).map(key => {
+ const errorMsgs = aggregatedMessages(template)[key];
+ return errorMsgs.map((errValue, idx) => (
+ <li key={itemIteratorId(template, key, idx)}>
+ {formatError(key, errValue)}
+ </li>
+ ));
+ });
return <ul>{res}</ul>;
}
return <span>There were no errors.</span>;
};
@@ -118,10 +128,10 @@
return errors;
};
const formatError = (key, value) => {
const omitKeys = ['base', 'additional', 'info'];
- if (omitKeys.reduce((memo, item) => memo || key === item, false)) {
+ if (omitKeys.filter(item => key === item)) {
return value;
}
return `${key}: ${value}`;
};