argo-cd
26 строк · 1.0 Кб
1import * as React from 'react';
2import * as models from '../../../shared/models';
3
4import './application-retry-view.scss';
5
6function buildRetryOptionView(label: string, data: string | number) {
7const result = data || 'not installed';
8
9return (
10<div className='application-retry-option-view-list__item'>
11{label} - {result}
12</div>
13);
14}
15
16const retryOptionsView: Array<(initData: models.RetryStrategy) => React.ReactNode> = [
17initData => buildRetryOptionView('Limit', initData?.limit),
18initData => buildRetryOptionView('Duration', initData?.backoff?.duration),
19initData => buildRetryOptionView('Max Duration', initData?.backoff?.maxDuration),
20initData => buildRetryOptionView('Factor', initData?.backoff?.factor)
21];
22
23export const ApplicationRetryView = ({initValues}: {initValues?: models.RetryStrategy}) => {
24const result = !initValues ? 'Retry disabled' : retryOptionsView.map((render, i) => render(initValues));
25return <div className='application-retry-option-view-list'>{result}</div>;
26};
27