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}&nbsp;
    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  };