@@ -155,10 +155,12 @@ class LineCmd extends React.Component<{screen : LineContainerModel, line : LineT
155
155
rtnStateDiffFetched : boolean = false ;
156
156
lastHeight : number ;
157
157
isOverflow : OV < boolean > = mobx . observable . box ( false , { name : "line-overflow" } ) ;
158
+ isMinimised : OV < boolean > = mobx . observable . box ( false , { name : "line-minimised" } ) ;
158
159
isCmdExpanded : OV < boolean > = mobx . observable . box ( false , { name : "cmd-expanded" } ) ;
159
160
160
161
constructor ( props ) {
161
162
super ( props ) ;
163
+
162
164
}
163
165
164
166
checkStateDiffLoad ( ) : void {
@@ -365,6 +367,11 @@ class LineCmd extends React.Component<{screen : LineContainerModel, line : LineT
365
367
GlobalCommandRunner . lineBookmark ( line . lineid ) ;
366
368
}
367
369
370
+ @boundMethod
371
+ clickMinimise ( ) {
372
+ this . isMinimised . set ( ! this . isMinimised . get ( ) )
373
+ }
374
+
368
375
@boundMethod
369
376
handleResizeButton ( ) {
370
377
console . log ( "resize button" ) ;
@@ -583,33 +590,38 @@ class LineCmd extends React.Component<{screen : LineContainerModel, line : LineT
583
590
< div key = "bookmark" title = "Bookmark" className = { cn ( "line-icon" , "line-bookmark" ) } onClick = { this . clickBookmark } >
584
591
< i className = "fa-sharp fa-regular fa-bookmark" />
585
592
</ div >
586
- </ div >
587
- < If condition = { rendererPlugin == null && ! isNoneRenderer } >
588
- < TerminalRenderer screen = { screen } line = { line } width = { width } staticRender = { staticRender } visible = { visible } onHeightChange = { this . handleHeightChange } collapsed = { false } />
589
- </ If >
590
- < If condition = { rendererPlugin != null && rendererPlugin . rendererType == "simple" } >
591
- < SimpleBlobRenderer rendererContainer = { screen } lineId = { line . lineid } plugin = { rendererPlugin } onHeightChange = { this . handleHeightChange } initParams = { this . makeRendererModelInitializeParams ( ) } />
592
- </ If >
593
- < If condition = { rendererPlugin != null && rendererPlugin . rendererType == "full" } >
594
- < FullRenderer rendererContainer = { screen } lineId = { line . lineid } plugin = { rendererPlugin } onHeightChange = { this . handleHeightChange } initParams = { this . makeRendererModelInitializeParams ( ) } />
595
- </ If >
596
- < If condition = { cmd . getRtnState ( ) } >
597
- < div key = "rtnstate" className = "cmd-rtnstate" style = { { visibility : ( ( cmd . getStatus ( ) == "done" ) ? "visible" : "hidden" ) } } >
598
- < If condition = { rsdiff == null || rsdiff == "" } >
599
- < div className = "cmd-rtnstate-label" > state unchanged</ div >
600
- < div className = "cmd-rtnstate-sep" > </ div >
601
- </ If >
602
- < If condition = { rsdiff != null && rsdiff != "" } >
603
- < div className = "cmd-rtnstate-label" > new state</ div >
604
- < div className = "cmd-rtnstate-sep" > </ div >
605
- < div className = "cmd-rtnstate-diff" > { this . rtnStateDiff . get ( ) } </ div >
606
- </ If >
607
- </ div >
608
- </ If >
609
- < If condition = { isSelected && ! isFocused && rendererType == "terminal" } >
610
- < div className = "cmd-hints" >
611
- < div className = "hint-item color-nohover-white" > focus line ({ renderCmdText ( "L" ) } )</ div >
593
+ < div key = "minimise" title = { `${ this . isMinimised . get ( ) ? 'Maximise' : 'Minimise' } ` } className = { cn ( "line-icon" , "line-minimise" ) } onClick = { this . clickMinimise } >
594
+ < i className = { `fa-sharp fa-regular ${ this . isMinimised . get ( ) ? 'fa-plus-circle' : 'fa-minus-circle' } ` } />
612
595
</ div >
596
+ </ div >
597
+ < If condition = { ! this . isMinimised . get ( ) } >
598
+ < If condition = { rendererPlugin == null && ! isNoneRenderer } >
599
+ < TerminalRenderer screen = { screen } line = { line } width = { width } staticRender = { staticRender } visible = { visible } onHeightChange = { this . handleHeightChange } collapsed = { false } />
600
+ </ If >
601
+ < If condition = { rendererPlugin != null && rendererPlugin . rendererType == "simple" } >
602
+ < SimpleBlobRenderer rendererContainer = { screen } lineId = { line . lineid } plugin = { rendererPlugin } onHeightChange = { this . handleHeightChange } initParams = { this . makeRendererModelInitializeParams ( ) } />
603
+ </ If >
604
+ < If condition = { rendererPlugin != null && rendererPlugin . rendererType == "full" } >
605
+ < FullRenderer rendererContainer = { screen } lineId = { line . lineid } plugin = { rendererPlugin } onHeightChange = { this . handleHeightChange } initParams = { this . makeRendererModelInitializeParams ( ) } />
606
+ </ If >
607
+ < If condition = { cmd . getRtnState ( ) } >
608
+ < div key = "rtnstate" className = "cmd-rtnstate" style = { { visibility : ( ( cmd . getStatus ( ) == "done" ) ? "visible" : "hidden" ) } } >
609
+ < If condition = { rsdiff == null || rsdiff == "" } >
610
+ < div className = "cmd-rtnstate-label" > state unchanged</ div >
611
+ < div className = "cmd-rtnstate-sep" > </ div >
612
+ </ If >
613
+ < If condition = { rsdiff != null && rsdiff != "" } >
614
+ < div className = "cmd-rtnstate-label" > new state</ div >
615
+ < div className = "cmd-rtnstate-sep" > </ div >
616
+ < div className = "cmd-rtnstate-diff" > { this . rtnStateDiff . get ( ) } </ div >
617
+ </ If >
618
+ </ div >
619
+ </ If >
620
+ < If condition = { isSelected && ! isFocused && rendererType == "terminal" } >
621
+ < div className = "cmd-hints" >
622
+ < div className = "hint-item color-nohover-white" > focus line ({ renderCmdText ( "L" ) } )</ div >
623
+ </ div >
624
+ </ If >
613
625
</ If >
614
626
</ div >
615
627
) ;
0 commit comments