Skip to content

Commit

Permalink
Statistikk: tilpasset tekst for ulike katalogelement (#1178)
Browse files Browse the repository at this point in the history
  • Loading branch information
bjornreppen authored Mar 23, 2019
1 parent 005dce5 commit 5affd2c
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 20 deletions.
2 changes: 2 additions & 0 deletions src/Kodetre/Kodeliste/KodeVindu.js
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,8 @@ const KodeVindu = ({
onExpand={() => setExpand({ ...expand, stats: !expand.stats })}
>
<Statistikk
prefiks={prefiks}
overordnet={overordnet}
tittel={språk(meta.tittel)}
infoUrl={infoUrl}
stats={stats}
Expand Down
66 changes: 46 additions & 20 deletions src/Kodetre/Kodeliste/Statistikk.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,20 @@ const styles = {
};

const Statistikk = ({
prefiks,
overordnet,
stats,
tittel,
prefix,
arealPrefix,
toppnavn,
classes,
...props
}) => {
const { areal, arter } = stats;
if (!areal) return null;
if (!stats.areal) return null;
const arter = stats.arter + " ulike arter";
const areal = stats.areal;
const prosent = ((100 * stats.areal) / arealPrefix).toFixed(1) + " %";
return (
<ListItem className={classes.liroot}>
<ListItemText
Expand All @@ -37,27 +42,48 @@ const Statistikk = ({
root: classes.liroot
}}
>
Det er kartlagt <b>{prettyprint.prettyPrintAreal(areal)}</b>
&nbsp;
{tittel.toLowerCase()}
.&nbsp;
{toppnavn && (
<span>
Dette utgjør&nbsp;
<b>{((100 * areal) / arealPrefix).toFixed(1)} %</b> av
kartlagte&nbsp;
{toppnavn.toLowerCase()}.
</span>
)}
{arter && (
<span>
&nbsp;Det er observert <b>{arter}</b> ulike arter i områder som er
kartlagt som {tittel.toLowerCase()}.
</span>
)}
{tekst({
tittel: tittel,
overordnet: overordnet,
prefiks: prefiks,
areal,
arter,
prosent
})}
</ListItemText>
</ListItem>
);
};

function tekst(props) {
const { prefiks, overordnet, areal, arter, tittel } = props;
switch (prefiks) {
case "NA":
case "LA":
const topp = overordnet[overordnet.length - 3];
console.log("topp", topp, topp.areal);
return `Det er kartlagt ${prettyprint.prettyPrintAreal(
areal
)} ${tittel.toLowerCase()}. Dette utgjør ${prosent(
areal,
topp.areal
)} av kartlagte ${topp.tittel.nb.toLowerCase()}. Det er observert ${arter} i områder som er kartlagt som ${tittel.toLowerCase()}.`;
case "VV":
const mor = overordnet[0];
const morareal = mor.areal;
return `${tittel} er ${prettyprint.prettyPrintAreal(areal)}. ${
morareal
? `Dette utgjør ${prosent(
areal,
morareal
)} av vernet areal i Norge inkludert Svalbard og Jan Mayen.`
: ""
} Det er observert ${arter} i ${tittel}.`;
default:
return null;
}
}

const prosent = (over, under) => ((100 * over) / under).toFixed(1) + " %";

export default withStyles(styles)(Statistikk);

0 comments on commit 5affd2c

Please sign in to comment.