Skip to content
Snippets Groups Projects
Select Git revision
  • b48cf78b7534b60df762cec7b3bb22df488f6fa8
  • master default protected
  • greenkeeper/webpack-4.10.1
  • greenkeeper/webpack-4.10.0
  • greenkeeper/webpack-4.9.2
  • greenkeeper/promise-polyfill-8.0.0
  • greenkeeper/webpack-4.9.1
  • greenkeeper/webpack-4.9.0
  • greenkeeper/webpack-manifest-plugin-2.0.3
  • greenkeeper/update-to-node-10
  • gh-pages
  • greenkeeper/webpack-4.8.3
  • greenkeeper/webpack-4.8.2
  • greenkeeper/webpack-4.7.0
  • greenkeeper/webpack-manifest-plugin-2.0.2
  • greenkeeper/webpack-manifest-plugin-2.0.1
  • greenkeeper/style-loader-0.21.0
  • greenkeeper/webpack-4.6.0
  • greenkeeper/sass-loader-7.0.1
  • greenkeeper/sass-loader-7.0.0
  • greenkeeper/webpack-manifest-plugin-2.0.0
  • 2.7.3
  • 2.7.2
  • 2.7.1
  • 2.7.0
  • 2.6.6
  • 2.6.5
  • 2.6.4
  • 2.6.3
  • 2.6.2
  • 2.6.1
  • 2.6.0
  • 2.5.5
  • 2.5.4
  • 2.5.3
  • 2.5.2
  • 2.5.1
  • 2.5.0
  • 2.4.0
  • 2.3.0
  • 2.2.6
41 results

webpack.config.js

Blame
  • ImageMetadataView.tsx 9.50 KiB
    import {Fragment} from "react";
    import {ImageMetadata, ratioToDistance, ratioToTime} from "../metadata/ImageMetadata";
    import {ratioToFloat} from "../metadata/Ratio";
    import {ExposureMode} from "../metadata/ExposureMode";
    import {ExposureProgram} from "../metadata/ExposureProgram";
    import {LightSource} from "../metadata/LightSource";
    import {MeteringMode} from "../metadata/MeteringMode";
    import {WhiteBalance} from "../metadata/WhiteBalance";
    import {SceneMode} from "../metadata/SceneMode";
    import {ContrastProcessing} from "../metadata/ContrastProcessing";
    import {SharpnessProcessing} from "../metadata/SharpnessProcessing";
    import {SubjectDistanceRange} from "../metadata/SubjectDistanceRange";
    import {BrightnessMedium, Camera, Copyright, Event, Exposure, PhotoCamera, ZoomIn} from "@material-ui/icons";
    import {AngleAcute, ArrowExpandHorizontal, Blur, CameraTimer, Flash, WhiteBalanceIncandescent} from "mdi-material-ui";
    import {FlashMode} from "../metadata/FlashMode";
    import {ListItem, ListItemIcon, ListItemText} from "@material-ui/core";
    
    export interface ImageMetadataViewProps {
        metadata: ImageMetadata
    }
    
    export function ImageMetadataView({metadata}: ImageMetadataViewProps) {
        return (
            <Fragment>
                {metadata.make !== undefined && (
                    <ListItem dense>
                        <ListItemIcon><PhotoCamera/></ListItemIcon>
                        <ListItemText primary="Make" secondary={metadata.make}/>
                    </ListItem>
                )}
                {metadata.model !== undefined && (
                    <ListItem dense>
                        <ListItemText inset primary="Model" secondary={metadata.model}/>
                    </ListItem>
                )}
                {metadata.software !== undefined && (
                    <ListItem dense>
                        <ListItemText inset primary="Software" secondary={metadata.software}/>
                    </ListItem>
                )}
                {metadata.copyright !== undefined && (
                    <ListItem dense>
                        <ListItemIcon><Copyright/></ListItemIcon>
                        <ListItemText primary="Copyright" secondary={metadata.copyright}/>
                    </ListItem>
                )}
                {metadata.dateTimeCreated !== undefined && (
                    <ListItem dense>
                        <ListItemIcon><Event/></ListItemIcon>
                        <ListItemText primary="Created At" secondary={metadata.dateTimeCreated.toISOString()}/>
                    </ListItem>
                )}
                {metadata.dateTimeDigitized !== undefined && (
                    <ListItem dense>
                        <ListItemText inset primary="Digitized At"
                                      secondary={metadata.dateTimeDigitized.toISOString()}/>
                    </ListItem>
                )}
                {metadata.dateTimeOriginal !== undefined && (
                    <ListItem dense>
                        <ListItemText inset primary="Shot At" secondary={metadata.dateTimeOriginal.toISOString()}/>
                    </ListItem>
                )}
                {metadata.digitalZoomRatio !== undefined && (
                    <ListItem dense>
                        <ListItemIcon><ZoomIn/></ListItemIcon>
                        <ListItemText primary="Zoom" secondary={`${ratioToFloat(metadata.digitalZoomRatio)}x`}/>
                    </ListItem>
                )}
                {metadata.focalLength !== undefined && (
                    <ListItem dense>
                        <ListItemIcon><AngleAcute/></ListItemIcon>
                        <ListItemText primary="Focal Length" secondary={`${ratioToFloat(metadata.focalLength)}mm`}/>
                    </ListItem>
                )}
                {metadata.focalLength35mm !== undefined && (
                    <ListItem dense>
                        <ListItemText inset primary="35mm equivalent"
                                      secondary={`${ratioToFloat(metadata.focalLength35mm)}mm`}/>
                    </ListItem>
                )}
                {metadata.shutterSpeed !== undefined && (
                    <ListItem dense>
                        <ListItemIcon><CameraTimer/></ListItemIcon>
                        <ListItemText primary="Shutter Speed" secondary={ratioToTime(metadata.shutterSpeed)}/>
                    </ListItem>
                )}
                {metadata.aperture !== undefined && (
                    <ListItem dense>
                        <ListItemIcon><Camera/></ListItemIcon>
                        <ListItemText primary="Aperture" secondary={ratioToFloat(metadata.aperture)}/>
                    </ListItem>
                )}
                {metadata.isoSpeedRating !== undefined && (
                    <ListItem dense>
                        <ListItemIcon>ISO</ListItemIcon>
                        <ListItemText primary="ISO" secondary={metadata.isoSpeedRating}/>
                    </ListItem>
                )}
                {metadata.exposure !== undefined && (
                    <ListItem dense>
                        <ListItemIcon><Exposure/></ListItemIcon>
                        <ListItemText primary="Exposure" secondary={ratioToFloat(metadata.exposure)}/>
                    </ListItem>
                )}
                {metadata.exposureMode !== undefined && (
                    <ListItem dense>
                        <ListItemText inset primary="Mode" secondary={ExposureMode[metadata.exposureMode]}/>
                    </ListItem>
                )}
                {metadata.exposureProgram !== undefined && (
                    <ListItem dense>
                        <ListItemText inset primary="Program" secondary={ExposureProgram[metadata.exposureProgram]}/>
                    </ListItem>
                )}
                {metadata.meteringMode !== undefined && (
                    <ListItem dense>
                        <ListItemText inset primary="Metering mode" secondary={MeteringMode[metadata.meteringMode]}/>
                    </ListItem>
                )}
                {metadata.flash !== undefined && (
                    <Fragment>
                        <ListItem dense>
                            <ListItemIcon><Flash/></ListItemIcon>
                            <ListItemText primary="Flash"
                                          secondary={metadata.flash.available ? "Available" : "Unavailable"}/>
                        </ListItem>
                        <ListItem dense>
                            <ListItemText inset primary="Fired" secondary={metadata.flash.fired ? "Yes" : "No"}/>
                        </ListItem>
                        <ListItem dense>
                            <ListItemText inset primary="Red Eye Reduction"
                                          secondary={metadata.flash.redEyeReduction ? "Yes" : "No"}/>
                        </ListItem>
                        {metadata.flash.mode !== undefined && (
                            <ListItem dense>
                                <ListItemText inset primary="Mode" secondary={FlashMode[metadata.flash.mode]}/>
                            </ListItem>
                        )}
                        {metadata.flash.strength !== undefined && (
                            <ListItem dense>
                                <ListItemText inset primary="Strength" secondary={`${metadata.flash.strength} BCPS`}/>
                            </ListItem>
                        )}
                        <ListItem dense>
                            <ListItemText inset primary="Strobe Detection"
                                          secondary={!metadata.flash.strobeDetection.available ? "Unvailable" :
                                              metadata.flash.strobeDetection.detected ? "Strobe detected" :
                                                  "No strobe detected"}
                            />
                        </ListItem>
                    </Fragment>
                )}
                {metadata.lightSource !== undefined && (
                    <ListItem dense>
                        <ListItemIcon><WhiteBalanceIncandescent/></ListItemIcon>
                        <ListItemText primary="Light Source" secondary={LightSource[metadata.lightSource]}/>
                    </ListItem>
                )}
                {metadata.whiteBalance !== undefined && (
                    <ListItem dense>
                        <ListItemIcon><WhiteBalanceIncandescent/></ListItemIcon>
                        <ListItemText primary="White balance" secondary={WhiteBalance[metadata.whiteBalance]}/>
                    </ListItem>
                )}
                {metadata.subjectDistance !== undefined && (
                    <ListItem dense>
                        <ListItemIcon><ArrowExpandHorizontal/></ListItemIcon>
                        <ListItemText primary="Subject Distance" secondary={ratioToDistance(metadata.subjectDistance)}/>
                    </ListItem>
                )}
                {metadata.subjectDistanceRange !== undefined && (
                    <ListItem dense>
                        <ListItemIcon><ArrowExpandHorizontal/></ListItemIcon>
                        <ListItemText primary="Subject Distance Range"
                                      secondary={SubjectDistanceRange[metadata.subjectDistanceRange]}/>
                    </ListItem>
                )}
                {metadata.sceneMode !== undefined && (
                    <p><b>Scene Mode</b>: {SceneMode[metadata.sceneMode]}</p>
                )}
                {metadata.contrast !== undefined && (
                    <ListItem dense>
                        <ListItemIcon><BrightnessMedium/></ListItemIcon>
                        <ListItemText primary="Contrast Processing" secondary={ContrastProcessing[metadata.contrast]}/>
                    </ListItem>
                )}
                {metadata.sharpness !== undefined && (
                    <ListItem dense>
                        <ListItemIcon><Blur/></ListItemIcon>
                        <ListItemText primary="Sharpness Processing" secondary={SharpnessProcessing[metadata.sharpness]}/>
                    </ListItem>
                )}
            </Fragment>
        );
    }