/* Lager plantelistemenyen */ class Forsidemeny extends React.Component { constructor(props) { super(props); this.state = { apen: false } const typeliste = { tre:"trær og busker", urt:"urter og stauder", gre:"gressplanter", lyng:"lyngplanter", bre:"bregner", kra:"kråkefotplanter", mose:"moser" }; const farger = { rød:"rød", brun:"brun", oransje:"oransje", gul:"gul", grønn:"grønn", blå:"blå", lilla:"lilla", rosa:"rosa", hvit:"hvit",grå:"grå", svart:"svart"}; this.typeliste = typeliste; this.farger = farger; this.toggleMeny = this.toggleMeny.bind(this); } render() { let typeliste = this.typeliste; let farger = this.farger; let meny = []; let rader = []; rader.push(

Plantetype

); Object.keys(typeliste).forEach( function(e) { rader.push(
  • {typeliste[e]}
  • ); }); meny.push() rader = []; rader.push(

    Blomsterfarge

    ); Object.keys(farger).forEach( function(e) { rader.push(
  • {farger[e]}
  • ); }); meny.push() return ( ); } toggleMeny(e) { if (this.state.apen) { this.setState({ apen:false }); } else { this.setState({ apen:true }); } } } class Planteliste extends React.Component { constructor(props) { super(props); let planter = this.props.planter; this.state = { scrollet: 0, skjermbredde: 0 }; const kolonner = { nonavn: [ "Norsk navn", "", () => {sorterTekstAlfabetisk(planter,"nonavn")}, ], navn: [ "Botanisk navn", //tabell overskrift "",// CSS-klasse () => {sorterTekstAlfabetisk(planter,"navn")}, //sorteringsfunksjon ], type: [ "Type", "text-left", () => {sorterTekstAlfabetisk(planter,"type")}, ], hoyde: [ "Høyde", "text-right", () => {sorterTallFallende(planter,"hoyde")}, ], farge: [ "Farge", "text-center", () => {sorterTekstAlfabetisk(planter,"farge")}, ], tax: [ "Taksonomisk", "text-center", () => {sorterTallStigende(planter,"familiesortering")}, ], } this.planter = this.props.planter; this.kolonner = kolonner; this.byttSortering = this.byttSortering.bind(this); this.selectByttSortering = this.selectByttSortering.bind(this); this.byttPlante = this.byttPlante.bind(this); this.handleScroll = this.handleScroll.bind(this); this.updateWindowDimensions = this.updateWindowDimensions.bind(this); } byttPlante(e,navn) { if (this.props.sidetype == "plante") { e.preventDefault(); this.props.byttPlante(navn); } } byttSortering(el,e) { el.preventDefault(); this.props.byttSortering(e); } selectByttSortering(e) { this.props.byttSortering(e.target.value); } componentDidMount() { window.addEventListener('scroll', this.handleScroll); this.updateWindowDimensions(); window.addEventListener('resize', this.updateWindowDimensions); } componentWillUnmount() { window.removeEventListener('scroll', this.handleScroll); window.removeEventListener('resize', this.updateWindowDimensions); } handleScroll(event) { this.setState({ scrollet:event.target.scrollingElement.scrollTop }); } updateWindowDimensions() { this.setState({ skjermbredde: window.innerWidth}); } render() { let klasser = this.klasser; let byttPlante = this.byttPlante; let kolonner = this.kolonner; let sorteringsliste = []; Object.keys(kolonner).forEach(function(c) { sorteringsliste.push() }); //sorter plantelista ut fra state sorterTekstAlfabetisk(this.planter,"navn"); kolonner[this.props.sortering][2](); /* gå gjennom alle plantene */ /* skriv ut som kort */ let plantekort = []; for (let i = 0; i {(p.bilder && p.bilder.length) ? :
    } {p.nonavn.length ?

    {p.nonavn}

    :

    {p.navn}

    }

    {p.hoyde.length ? {lagIkon("hoyde")}{lagHoyde(p.hoyde)} : null} {(p.farge.length && p.farge != "sporer" && p.farge != "miks") ? • {lagIkon("fargeblomst","black", lagFargekode(p.farge), "5")} : null} {(p.farge.length && (p.farge == "sporer" || p.farge == "miks")) ? • - : null} {p.bladfarge ? • {lagBlad(p.bladfarge)} : null}

    {p.navn}

    {p.nofamilie}

    {hentOrd(p.type)[1].charAt(0).toUpperCase() + hentOrd(p.type)[1].slice(1)}

    ; plantekort.push(
    byttPlante(e,p.navn)}>{innhold}
    ); }; return (
    {plantekort}
    ); } } /* går gjennom planteliste, setter egenskaper fra arten inn på sorter og legger til div. */ function fiksPlanteliste(list) { //gå gjennom og ta ut bare de norsk plantene, som ikke er navnesorter) let nyliste = []; nyliste.push(list[0]); for (let i=1; i { if(list[0][e]) { p[e] = list[0][e]; } }); } list.shift(); return (list); } /* Tekst om vippsing */ class Stotte extends React.Component{ render() { return (

    Støtt norskflora.no

    Støtt vårt arbeid med å lage en gratis flora på nettet, vipps 20 kroner til #727519!

    ); } }