github.com/argoproj/argo-cd/v2@v2.10.9/ui/src/app/applications/components/application-status-panel/revision-metadata-panel.tsx (about)

     1  import {DataLoader, Tooltip} from 'argo-ui';
     2  import * as React from 'react';
     3  import {Timestamp} from '../../../shared/components/timestamp';
     4  import {services} from '../../../shared/services';
     5  
     6  export const RevisionMetadataPanel = (props: {appName: string; appNamespace: string; type: string; revision: string}) => {
     7      if (props.type === 'helm') {
     8          return <React.Fragment />;
     9      }
    10      return (
    11          <DataLoader load={() => services.applications.revisionMetadata(props.appName, props.appNamespace, props.revision)} errorRenderer={() => <div />}>
    12              {m => (
    13                  <Tooltip
    14                      popperOptions={{
    15                          modifiers: {
    16                              preventOverflow: {
    17                                  enabled: false
    18                              },
    19                              hide: {
    20                                  enabled: false
    21                              },
    22                              flip: {
    23                                  enabled: false
    24                              }
    25                          }
    26                      }}
    27                      content={
    28                          <span>
    29                              {m.author && <React.Fragment>Authored by {m.author}</React.Fragment>}
    30                              <br />
    31                              {m.date && <Timestamp date={m.date} />}
    32                              <br />
    33                              {m.tags && (
    34                                  <span>
    35                                      Tags: {m.tags}
    36                                      <br />
    37                                  </span>
    38                              )}
    39                              {m.signatureInfo}
    40                              <br />
    41                              {m.message}
    42                          </span>
    43                      }
    44                      placement='bottom'
    45                      allowHTML={true}>
    46                      <div className='application-status-panel__item-name'>
    47                          {m.author && (
    48                              <div className='application-status-panel__item__row'>
    49                                  <div>Author:</div>
    50                                  <div>
    51                                      {m.author} - {m.signatureInfo}
    52                                  </div>
    53                              </div>
    54                          )}
    55                          <div className='application-status-panel__item__row'>
    56                              <div>Comment:</div>
    57                              <div>{m.message?.split('\n')[0].slice(0, 64)}</div>
    58                          </div>
    59                      </div>
    60                  </Tooltip>
    61              )}
    62          </DataLoader>
    63      );
    64  };