Skip to content
Snippets Groups Projects
Select Git revision
  • b15cbb61a7b60118b50469675d66e672748cb39e
  • mui5-annotation-on-video-stable default
  • get_setter_canvasSizeInformations
  • fix-error-div-into-p
  • annotation-on-video-v2
  • detached
  • annotation-on-video-r17
  • mui5
  • mui5-react-18
  • jacob-test
  • annotation-on-video protected
  • master
  • test-antoinev1
  • 20-fetch-thumbnail-on-annotation
  • add-research-field
  • Save
  • add-plugin
  • 14-wip-no-seek-to
  • 14-bug-on-video-time-control
  • 9_wip_videotests
  • _upgrade_material_ui
  • latest-tetras-16
  • v3.3.0
  • v3.2.0
  • v3.1.1
  • v3.1.0
  • v3.0.0
  • v3.0.0-rc.7
  • v3.0.0-rc.6
  • v3.0.0-rc.5
  • v3.0.0-rc.4
  • v3.0.0-rc.3
  • v3.0.0-rc.2
  • v3.0.0-rc.1
  • v3.0.0-beta.10
  • v3.0.0-beta.9
  • v3.0.0-beta.8
  • v3.0.0-beta.7
  • v3.0.0-beta.6
  • v3.0.0-beta.5
  • v3.0.0-beta.3
41 results

AuthenticationSender.test.js

Blame
  • LabelValueMetadata.js 1.37 KiB
    import React, { Component } from 'react';
    import PropTypes from 'prop-types';
    import Typography from '@material-ui/core/Typography';
    import { SanitizedHtml } from './SanitizedHtml';
    
    /**
     * Renders label/value pair metadata in a dl
     * @prop {object} labelValuePair
     */
    export class LabelValueMetadata extends Component {
      /**
       * render
       * @return {String} - HTML markup for the component
       */
      render() {
        const { labelValuePairs } = this.props;
    
        if (labelValuePairs.length === 0) {
          return (<></>);
        }
    
        /* eslint-disable react/no-array-index-key */
        // Disabling array index key for dt/dd elements as
        // they are intended to display metadata that will not
        // need to be re-rendered internally in any meaningful way
        return (
          <dl>
            {labelValuePairs.reduce((acc, labelValuePair, i) => acc.concat([
              <dt key={`label-${i}`}>
                <Typography variant="body2">{labelValuePair.label}</Typography>
              </dt>,
              <dd key={`value-${i}`}>
                <Typography variant="body2">
                  <SanitizedHtml htmlString={labelValuePair.value} ruleSet="iiif" />
                </Typography>
              </dd>,
            ]), [])}
          </dl>
        );
        /* eslint-enable react/no-array-index-key */
      }
    }
    
    LabelValueMetadata.propTypes = {
      labelValuePairs: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types,
    };