in src/content/components/ReleaseReport/ReleaseReport.js [20:83]
render() {
const release = this.props.release;
return (
<div>
<div className={styles.summary}>
<p>
Bugs in this release must have an iteration of{" "}
<strong>
<code>{release}.x</code>
</strong>{" "}
to be counted towards the total and part of a prioritized feature.
Note that resolved bugs other than <code>FIXED</code> (e.g.{" "}
<code>DUPLICATE</code>) are <em>not</em> included.
</p>
<p>
See <a href={RELEASE_DOC_LINK}>this document</a> for more
information.
</p>
</div>
<div>
{this.props.loaded ? (
this.context.metas
.filter(meta => meta.priority === "P1")
.map(meta => {
const bugs = this.props.bugs.filter(b =>
b.blocks.includes(meta.id)
);
if (!bugs.length) {
return null;
}
const completionPercentage = Math.round(
(bugs.filter(isBugResolved).length / bugs.length) * 100
);
return (
<div key={meta.id} className={styles.feature}>
<h3 className={styles.h3}>
{meta.displayName} ({completionPercentage}% complete)
</h3>
<p className={styles.featureSummary}>{meta.description}</p>
<CompletionBar
bugs={bugs}
startDate="2018-03-01"
endDate="2018-04-29"
/>
<ul className={styles.bugList}>
{bugs.map(bug => (
<li
key={bug.id}
className={isBugResolved(bug) ? styles.resolved : ""}>
<a href={OPEN_BUG_URL + bug.id}>{bug.summary}</a>
</li>
))}
</ul>
</div>
);
})
) : (
<Loader />
)}
</div>
</div>
);
}