Skip to content

Commit 758671a

Browse files
authored
Merge pull request #1 from commandlinedev/minimize_line
Minimize line
2 parents 139639b + 21e6aad commit 758671a

File tree

2 files changed

+42
-26
lines changed

2 files changed

+42
-26
lines changed

src/linecomps.tsx

Lines changed: 38 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -155,10 +155,12 @@ class LineCmd extends React.Component<{screen : LineContainerModel, line : LineT
155155
rtnStateDiffFetched : boolean = false;
156156
lastHeight : number;
157157
isOverflow : OV<boolean> = mobx.observable.box(false, {name: "line-overflow"});
158+
isMinimised : OV<boolean> = mobx.observable.box(false, {name: "line-minimised"});
158159
isCmdExpanded : OV<boolean> = mobx.observable.box(false, {name: "cmd-expanded"});
159160

160161
constructor(props) {
161162
super(props);
163+
162164
}
163165

164166
checkStateDiffLoad() : void {
@@ -365,6 +367,11 @@ class LineCmd extends React.Component<{screen : LineContainerModel, line : LineT
365367
GlobalCommandRunner.lineBookmark(line.lineid);
366368
}
367369

370+
@boundMethod
371+
clickMinimise() {
372+
this.isMinimised.set(!this.isMinimised.get())
373+
}
374+
368375
@boundMethod
369376
handleResizeButton() {
370377
console.log("resize button");
@@ -583,33 +590,38 @@ class LineCmd extends React.Component<{screen : LineContainerModel, line : LineT
583590
<div key="bookmark" title="Bookmark" className={cn("line-icon", "line-bookmark")} onClick={this.clickBookmark}>
584591
<i className="fa-sharp fa-regular fa-bookmark"/>
585592
</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'}`}/>
612595
</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>
613625
</If>
614626
</div>
615627
);

src/lines.less

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@
5656
.line-bookmark:hover {
5757
color: white;
5858
}
59+
60+
.line-minimise:hover {
61+
color: white;
62+
}
5963

6064
.line-icon + .line-icon {
6165
margin-left: 5px;

0 commit comments

Comments
 (0)