github.com/argoproj/argo-cd/v2@v2.10.9/ui/src/app/applications/components/application-deployment-history/revision-metadata-rows.tsx (about) 1 import {DataLoader} from 'argo-ui'; 2 import * as React from 'react'; 3 import {Timestamp} from '../../../shared/components/timestamp'; 4 import {ApplicationSource, RevisionMetadata, ChartDetails} from '../../../shared/models'; 5 import {services} from '../../../shared/services'; 6 7 export const RevisionMetadataRows = (props: {applicationName: string; applicationNamespace: string; source: ApplicationSource}) => { 8 if (props.source.chart) { 9 return ( 10 <DataLoader input={props} load={input => services.applications.revisionChartDetails(input.applicationName, input.applicationNamespace, input.source.targetRevision)}> 11 {(m: ChartDetails) => ( 12 <div> 13 <div className='row'> 14 <div className='columns small-3'>Helm Chart:</div> 15 <div className='columns small-9'> 16 {props.source.chart} 17 {m.home && ( 18 <a 19 title={m.home} 20 onClick={e => { 21 e.stopPropagation(); 22 window.open(m.home); 23 }}> 24 <i className='fa fa-external-link-alt' /> 25 </a> 26 )} 27 </div> 28 </div> 29 {m.description && ( 30 <div className='row'> 31 <div className='columns small-3'>Description:</div> 32 <div className='columns small-9'>{m.description}</div> 33 </div> 34 )} 35 {m.maintainers && m.maintainers.length > 0 && ( 36 <div className='row'> 37 <div className='columns small-3'>Maintainers:</div> 38 <div className='columns small-9'>{m.maintainers.join(', ')}</div> 39 </div> 40 )} 41 </div> 42 )} 43 </DataLoader> 44 ); 45 } 46 return ( 47 <DataLoader input={props} load={input => services.applications.revisionMetadata(input.applicationName, input.applicationNamespace, input.source.targetRevision)}> 48 {(m: RevisionMetadata) => ( 49 <div> 50 <div className='row'> 51 <div className='columns small-3'>Authored by</div> 52 <div className='columns small-9'> 53 {m.author || 'unknown'} 54 <br /> 55 {m.date && <Timestamp date={m.date} />} 56 </div> 57 </div> 58 {m.message && ( 59 <div className='row'> 60 <div className='columns small-3' /> 61 <div className='columns small-9'>{m.message?.split('\n')[0].slice(0, 64)}</div> 62 </div> 63 )} 64 <div className='row'> 65 <div className='columns small-3'>GPG signature</div> 66 <div className='columns small-9'>{m.signatureInfo || '-'}</div> 67 </div> 68 </div> 69 )} 70 </DataLoader> 71 ); 72 };