@@ -11,14 +11,17 @@ import ActionButton from './ActionButton';
11
11
import OutputFieldsChooser from './OutputFieldsChooser' ;
12
12
import ProgressBar from './ProgressBar' ;
13
13
import DelaySelector from './DelaySelector' ;
14
+ import ParallelSelector from './ParallelSelector' ;
14
15
15
16
export default function BatchDialog ( { context, request} ) {
16
17
const [ csvPath , setCsvPath ] = useState ( "" ) ;
17
18
const [ csvHeaders , setCsvHeaders ] = useState ( [ ] ) ;
18
19
const [ csvData , setCsvData ] = useState ( [ ] ) ;
19
20
const [ outputConfig , setOutputConfig ] = useState ( [ ] ) ;
20
21
const [ sent , setSent ] = useState ( 0 ) ;
22
+
21
23
const [ delay , setDelay ] = useState ( 0 ) ;
24
+ const [ parallelism , setParallelism ] = useState ( 1 ) ;
22
25
23
26
// Load default delay from plugin settings on mount
24
27
useEffect ( ( ) => {
@@ -47,7 +50,7 @@ export default function BatchDialog({context, request}) {
47
50
setSent ( 0 ) ;
48
51
49
52
const queue = new Queue ( {
50
- concurrent : 4 ,
53
+ concurrent : parallelism ,
51
54
interval : 0 ,
52
55
start : false ,
53
56
} ) ;
@@ -89,10 +92,11 @@ export default function BatchDialog({context, request}) {
89
92
90
93
< FormRow label = "Run config" >
91
94
< DelaySelector value = { delay } onChange = { onChangeDelay } />
95
+ < ParallelSelector value = { parallelism } onChange = { ( { target : { value} } ) => setParallelism ( value ) } />
92
96
</ FormRow >
93
97
94
98
< FormRow label = "Progress" >
95
- < ProgressBar bgcolor = "#a11 " completed = { sent * 100 / totalRequests } text = { `${ sent } /${ totalRequests } ` } />
99
+ < ProgressBar bgcolor = "#ff6b6b " completed = { sent * 100 / totalRequests } text = { `${ sent } /${ totalRequests } ` } />
96
100
</ FormRow >
97
101
98
102
< ActionButton title = "Run!" icon = "fa-person-running" onClick = { onRun } disabled = { ! canRun } />
0 commit comments