@@ -39,6 +39,7 @@ interface PipelineConsoleState {
39
39
hasScrolled : boolean ;
40
40
isComplete : boolean ;
41
41
hasUnmounted : boolean ;
42
+ isStageViewExpanded : boolean ,
42
43
}
43
44
44
45
// Determines the default selected step.
@@ -135,6 +136,7 @@ export default class PipelineConsole extends React.Component<
135
136
hasScrolled : false ,
136
137
isComplete : false ,
137
138
hasUnmounted : false ,
139
+ isStageViewExpanded : true ,
138
140
} ;
139
141
}
140
142
@@ -502,14 +504,23 @@ export default class PipelineConsole extends React.Component<
502
504
}
503
505
return null ;
504
506
}
507
+
508
+ handlePaneCollapse = ( sizes : Array < number | null > ) => {
509
+ const isStageViewExpanded = sizes [ 0 ] === null ;
510
+
511
+ if ( this . state . isStageViewExpanded !== isStageViewExpanded ) {
512
+ this . setState ( { isStageViewExpanded } ) ;
513
+ }
514
+ } ;
505
515
506
516
render ( ) {
507
517
const buttonPositionOffset = 10 ;
508
518
const collapseDirection = "left" ;
509
519
const collapseTransition = 500 ;
510
- const grabberSize = 10 ;
520
+ const grabberSize = 50 ;
511
521
const buttonTransition = "grow" ;
512
-
522
+ const stageViewPaneClass = `split-pane ${ this . state . isStageViewExpanded ? '' : 'collapsed' } ` ;
523
+
513
524
return (
514
525
< React . Fragment >
515
526
< div className = "App" >
@@ -518,14 +529,17 @@ export default class PipelineConsole extends React.Component<
518
529
initialSizes = { [ 2 , 8 ] }
519
530
// minSize in Pixels (for all panes)
520
531
minSizes = { 250 }
521
- className = "split-pane"
532
+ className = { stageViewPaneClass }
522
533
split = "vertical"
523
534
collapse = { {
524
535
collapseTransitionTimeout : collapseTransition ,
525
536
buttonTransition,
526
537
collapseDirection,
527
538
buttonPositionOffset,
528
539
} }
540
+ hooks = { {
541
+ onCollapse : this . handlePaneCollapse ,
542
+ } }
529
543
resizerOptions = { {
530
544
grabberSize,
531
545
} }
@@ -543,7 +557,7 @@ export default class PipelineConsole extends React.Component<
543
557
</ div >
544
558
545
559
< div
546
- className = "split-pane split-pane--stage-view"
560
+ className = { stageViewPaneClass }
547
561
key = "stage-view"
548
562
id = "stage-view-pane"
549
563
>
0 commit comments