import React, { Component } from 'react'; import { guid } from '../diverse/guid'; import { ledetekst } from '../diverse/Ledetekst'; import classnames from 'classnames'; import { Lenke } from './Lenke'; function Tabellrad(props: any) { const { celler, vedheng, className, ...rest } = props; const id = guid(); return ( {celler.map((celle, index) => ( {celle} ))} ); } class Tabell extends Component { constructor(props) { super(props); this.state = { utvida: this.props.utvida || false, }; } render() { const klasser = classnames('avsnitt', 'tabell', this.props.className, { 'tabell-separert': this.props.separert, undertabell: this.props.undertabell, }); const id = guid(); let rader = ( typeof this.props.rader === 'function' ? this.props .rader() .map((rad, i) => ( )) : [] ) .concat(((this.props.children as []) || []).flat()) .filter((rad) => !!rad); let formange = false; if (this.props.maksrader && !this.state.utvida) { let i = 0, j = 0; while (i < rader.length && j < this.props.maksrader) { if (!rader[i++].props.vedheng) { j++; } } if (rader[i]?.props.vedheng) { i++; } if (i < rader.length) { rader = rader.slice(0, i); formange = true; } } const kolspenn = Math.max.apply( null, rader.map((rad) => rad.props.celler.length) ); return (
{this.props.vedRedigering ? ( {ledetekst.getTekst( 'arbeidsvarsling.frontendkomponenter.Tabell.rediger' )} ) : null} {this.props.tittel ? (

{this.props.tittel}

) : null} {(this.props.bredder || []).map((bredde, i) => ( ))} {(this.props.kolonner || []).map((kolonne, i) => ( ))} {rader} {formange ? ( ) : null} {this.state.utvida ? ( ) : null}
{kolonne}
); } } export { Tabell, Tabellrad };