// @flow import * as React from 'react'; import Instance from './Instance'; import type { MetadataEditor, MetadataCascadingPolicyData } from '../../common/types/metadata'; import type { JSONPatchOperations } from '../../common/types/api'; type Props = { editors?: Array, isCascadingPolicyApplicable?: boolean, onModification?: (id: string, isDirty: boolean) => void, onRemove?: (id: string) => void, onSave?: ( id: string, data: JSONPatchOperations, cascadingPolicy?: MetadataCascadingPolicyData, rawData: Object, ) => void, selectedTemplateKey?: string, }; const Instances = ({ isCascadingPolicyApplicable = false, editors = [], onModification, onRemove, onSave, selectedTemplateKey, }: Props) => editors.map>( ({ isDirty = false, instance, hasError = false, template }: MetadataEditor) => { const { templateKey } = template; const isOpen = editors.length === 1 || templateKey === selectedTemplateKey; return ( ); }, ); export default Instances;