argo-cd

Форк
0
72 строки · 3.5 Кб
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
};
73

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.