forked from theforeman/foreman_remote_execution
-
Notifications
You must be signed in to change notification settings - Fork 0
/
AdvancedFields.js
112 lines (110 loc) · 3.23 KB
/
AdvancedFields.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
import React from 'react';
import PropTypes from 'prop-types';
import { useSelector } from 'react-redux';
import { Form } from '@patternfly/react-core';
import {
selectEffectiveUser,
selectAdvancedTemplateInputs,
selectTemplateInputs,
} from '../../JobWizardSelectors';
import {
EffectiveUserField,
TimeoutToKillField,
PasswordField,
KeyPassphraseField,
EffectiveUserPasswordField,
ConcurrencyLevelField,
TimeSpanLevelField,
TemplateInputsFields,
} from './Fields';
import { DescriptionField } from './DescriptionField';
import { WIZARD_TITLES } from '../../JobWizardConstants';
import { WizardTitle } from '../form/WizardTitle';
export const AdvancedFields = ({ advancedValues, setAdvancedValues }) => {
const effectiveUser = useSelector(selectEffectiveUser);
const advancedTemplateInputs = useSelector(selectAdvancedTemplateInputs);
const templateInputs = useSelector(selectTemplateInputs);
return (
<>
<WizardTitle
title={WIZARD_TITLES.advanced}
className="advanced-fields-title"
/>
<Form id="advanced-fields-job-template" autoComplete="off">
<TemplateInputsFields
inputs={advancedTemplateInputs}
value={advancedValues.templateValues}
setValue={newValue => setAdvancedValues({ templateValues: newValue })}
/>
{effectiveUser?.overridable && (
<EffectiveUserField
value={advancedValues.effectiveUserValue}
setValue={newValue =>
setAdvancedValues({
effectiveUserValue: newValue,
})
}
/>
)}
<DescriptionField
inputs={templateInputs}
value={advancedValues.description}
setValue={newValue => setAdvancedValues({ description: newValue })}
/>
<TimeoutToKillField
value={advancedValues.timeoutToKill}
setValue={newValue =>
setAdvancedValues({
timeoutToKill: newValue,
})
}
/>
<PasswordField
value={advancedValues.password}
setValue={newValue =>
setAdvancedValues({
password: newValue,
})
}
/>
<KeyPassphraseField
value={advancedValues.keyPassphrase}
setValue={newValue =>
setAdvancedValues({
keyPassphrase: newValue,
})
}
/>
<EffectiveUserPasswordField
value={advancedValues.effectiveUserPassword}
setValue={newValue =>
setAdvancedValues({
effectiveUserPassword: newValue,
})
}
/>
<ConcurrencyLevelField
value={advancedValues.concurrencyLevel}
setValue={newValue =>
setAdvancedValues({
concurrencyLevel: newValue,
})
}
/>
<TimeSpanLevelField
value={advancedValues.timeSpan}
setValue={newValue =>
setAdvancedValues({
timeSpan: newValue,
})
}
/>
</Form>
</>
);
};
AdvancedFields.propTypes = {
advancedValues: PropTypes.object.isRequired,
setAdvancedValues: PropTypes.func.isRequired,
};
export default AdvancedFields;