Skip to content
Snippets Groups Projects
Select Git revision
  • eefc88a3ba4964054f7c1fee109ad5e292b5f7ae
  • annotation-on-video default protected
  • demo_ci
  • 3-upstream-01022023
  • master
  • gh3538-captions
  • 16-adapt-for-images-annot
  • 15-api-for-annotations-on-video
  • 15-annotations-on-videos
  • video_for_annotations
  • wip-1-annotations-on-videos
  • 9-videoviewer-tests
  • 9_wip_videotests
  • 6-fix-tests-and-ci
  • _fix_ci
  • wip-webpack-from-git
16 results

ManifestListItem.js

Blame
  • AnnotationFormManifestNetwork.js 1.18 KiB
    import React from 'react';
    import {
      Grid, Paper, TextField, Typography, Button, Link,
    } from '@mui/material';
    import PropTypes from 'prop-types';
    import { isValidUrl } from '../utils';
    
    /** Form part for edit annotation content and body */
    function AnnotationFormNetwork({ manifestNetwork, updateManifestNetwork }) {
      return (
        <Paper style={{ padding: '5px' }}>
          <Typography variant="overline">
            Network
          </Typography>
          <Grid>
            <TextField
              value={manifestNetwork}
              onChange={(event) => updateManifestNetwork(event.target.value.trim())}
              label="Manifest URL"
              type="url"
            />
            {
              isValidUrl(manifestNetwork) ? (
                <Link
                  href={manifestNetwork}
                  target="_blank"
                >
                  {manifestNetwork}
                </Link>
              ) : (
                <Typography variant="caption">
                  Not a valid URL
                </Typography>
              )
            }
          </Grid>
        </Paper>
      );
    }
    
    AnnotationFormNetwork.propTypes = {
      manifestNetwork: PropTypes.string.isRequired,
      updateManifestNetwork: PropTypes.func.isRequired,
    };
    
    export default AnnotationFormNetwork;