in packages/issue-dashboard-widgets/widgets/youtrack-activities-widget/app/components/issue-card.js [71:114]
static getColoredSquareModel(issue) {
const makeColorFieldPresentationObject = issueField => {
const coloredValue = IssueCard.toArray(issueField.value).filter(
IssueCard.isColoredValue
)[0];
if (!coloredValue) {
return null;
}
const fieldName = IssueCard.getName(
issueField.projectCustomField.field || {}
);
return {
style: IssueCard.fieldColorToCss(coloredValue.color),
letter: IssueCard.getFirstLetter(coloredValue),
title: `${fieldName}: ${IssueCard.getName(coloredValue)}`,
issueField
};
};
const bundleFields = (issue.fields || []).filter(
issueField => !!issueField.projectCustomField.bundle
);
const priorityField = bundleFields.filter(
issueField => {
const field = issueField.projectCustomField.field || {};
return (field.name || '').toLowerCase() === 'priority';
}
)[0];
if (priorityField) {
if (priorityField.value) {
return makeColorFieldPresentationObject(priorityField);
}
return null;
}
const fieldWithColoredValues = (issue.fields || []).filter(
field =>
IssueCard.toArray(field.value || []).some(IssueCard.isColoredValue)
)[0];
if (!fieldWithColoredValues) {
return null;
}
return makeColorFieldPresentationObject(fieldWithColoredValues);
}