@@ -8,12 +8,15 @@ import {InfoPane, WarningType} from '../ui-components/InfoPane';
8
8
import { EXPLOITERS_PATH_PROPAGATION } from './PropagationConfig' ;
9
9
import MarkdownDescriptionTemplate from './MarkdownDescriptionTemplate' ;
10
10
11
+ export const CREDENTIALS_COLLECTORS_CONFIG_PATH = 'credentials_collectors' ;
12
+ const PLUGIN_SCHEMA_PATH = { 'propagation' : EXPLOITERS_PATH_PROPAGATION , 'credentials_collectors' : CREDENTIALS_COLLECTORS_CONFIG_PATH }
13
+
11
14
12
15
export default function PluginSelectorTemplate ( props : ObjectFieldTemplateProps ) {
13
16
14
17
let [ activePlugin , setActivePlugin ] = useState ( null ) ;
15
18
16
- useEffect ( ( ) => updateUISchema ( ) , [ props . formContext . selectedExploiters ] ) ;
19
+ useEffect ( ( ) => updateUISchema ( ) , [ props . formContext . selectedPlugins ] ) ;
17
20
18
21
function getPluginDisplay ( plugin , allPlugins ) {
19
22
let activePlugins = allPlugins . filter ( ( pluginInArray ) => pluginInArray . name == plugin ) ;
@@ -41,26 +44,26 @@ export default function PluginSelectorTemplate(props: ObjectFieldTemplateProps)
41
44
}
42
45
43
46
function togglePluggin ( pluginName ) {
44
- let plugins = new Set ( props . formContext . selectedExploiters ) ;
45
- if ( props . formContext . selectedExploiters . has ( pluginName ) ) {
47
+ let plugins = new Set ( props . formContext . selectedPlugins ) ;
48
+ if ( props . formContext . selectedPlugins . has ( pluginName ) ) {
46
49
plugins . delete ( pluginName ) ;
47
50
} else {
48
51
plugins . add ( pluginName ) ;
49
52
}
50
- props . formContext . setSelectedExploiters ( plugins ) ;
53
+ props . formContext . setSelectedPlugins ( plugins , props . formContext . section ) ;
51
54
}
52
55
53
56
function updateUISchema ( ) {
54
57
let uiSchema = _ . cloneDeep ( props . uiSchema ) ;
55
58
for ( let pluginName of Object . keys ( generateDefaultConfig ( ) ) ) {
56
- if ( ! props . formContext . selectedExploiters . has ( pluginName ) ) {
59
+ if ( ! props . formContext . selectedPlugins . has ( pluginName ) ) {
57
60
uiSchema [ pluginName ] = { "ui:readonly" : true ,
58
61
'ui:DescriptionFieldTemplate' : MarkdownDescriptionTemplate } ;
59
62
} else {
60
63
uiSchema [ pluginName ] = { 'ui:DescriptionFieldTemplate' : MarkdownDescriptionTemplate } ;
61
64
}
62
65
}
63
- props . formContext . setUiSchema ( uiSchema , EXPLOITERS_PATH_PROPAGATION ) ;
66
+ props . formContext . setUiSchema ( uiSchema , PLUGIN_SCHEMA_PATH [ props . formContext . section ] ) ;
64
67
}
65
68
66
69
function getMasterCheckboxState ( selectValues ) {
@@ -82,11 +85,12 @@ export default function PluginSelectorTemplate(props: ObjectFieldTemplateProps)
82
85
}
83
86
84
87
function onMasterPluginCheckboxClick ( ) {
85
- let checkboxState = getMasterCheckboxState ( [ ...props . formContext . selectedExploiters ] ) ;
88
+ let checkboxState = getMasterCheckboxState ( [ ...props . formContext . selectedPlugins ] ) ;
89
+ let selectedSection = props . formContext . section
86
90
if ( checkboxState == MasterCheckboxState . ALL ) {
87
- props . formContext . setSelectedExploiters ( new Set ( ) ) ;
91
+ props . formContext . setSelectedPlugins ( new Set ( ) , selectedSection ) ;
88
92
} else {
89
- props . formContext . setSelectedExploiters ( new Set ( Object . keys ( generateDefaultConfig ( ) ) ) ) ;
93
+ props . formContext . setSelectedPlugins ( new Set ( Object . keys ( generateDefaultConfig ( ) ) ) , selectedSection ) ;
90
94
}
91
95
}
92
96
@@ -104,9 +108,9 @@ export default function PluginSelectorTemplate(props: ObjectFieldTemplateProps)
104
108
}
105
109
106
110
function onResetClick ( ) {
107
- let safePluginNames = [ ...props . formContext . selectedExploiters ] . filter (
111
+ let safePluginNames = [ ...props . formContext . selectedPlugins ] . filter (
108
112
pluginName => isPluginSafe ( pluginName ) ) ;
109
- props . formContext . setSelectedExploiters ( new Set ( safePluginNames ) ) ;
113
+ props . formContext . setSelectedPlugins ( new Set ( safePluginNames ) , props . formContext . section ) ;
110
114
}
111
115
112
116
return (
@@ -115,14 +119,14 @@ export default function PluginSelectorTemplate(props: ObjectFieldTemplateProps)
115
119
onCheckboxClick = { onMasterPluginCheckboxClick }
116
120
checkboxState = {
117
121
getMasterCheckboxState (
118
- [ ...props . formContext . selectedExploiters ] ) }
122
+ [ ...props . formContext . selectedPlugins ] ) }
119
123
hideReset = { getHideResetState (
120
- [ ...props . formContext . selectedExploiters ] ) }
124
+ [ ...props . formContext . selectedPlugins ] ) }
121
125
onResetClick = { onResetClick }
122
- resetButtonTitle = { 'Disable unsafe exploiters ' } />
126
+ resetButtonTitle = { 'Disable unsafe' } />
123
127
< ChildCheckboxContainer multiple = { true } required = { false }
124
128
autoFocus = { true }
125
- selectedValues = { [ ...props . formContext . selectedExploiters ] }
129
+ selectedValues = { [ ...props . formContext . selectedPlugins ] }
126
130
onCheckboxClick = { togglePluggin }
127
131
isSafe = { isPluginSafe }
128
132
onPaneClick = { setActivePlugin }
0 commit comments