feat: update firmware version after update (#649)

* feat: add clipboard copy icon to the x-term-component

* feat: start device poll after firmware upgrade

* feat: remove the OK button from the firmware upgrade page

* feat: read the firmware after firmware upgrade

* fix: scrolling of the x-term-component

* feat: refresh the firmware version after recovery device

* fix: remove the scrollbar styling

* fix: stay on device firmware upgrade screen
This commit is contained in:
Róbert Kiss
2018-05-21 10:57:34 +02:00
committed by László Monda
parent 6c4f580fc2
commit a6678bd537
17 changed files with 182 additions and 116 deletions

View File

@@ -1,5 +1,17 @@
<div class="wrapper">
<ul class="list-unstyled">
<li *ngFor="let log of logs" [ngClass]="log.cssClass"><span>{{ log.message }}</span></li>
</ul>
<div class="x-term-container">
<div class="x-term-wrapper" #scrollMe>
<ul class="list-unstyled">
<li *ngFor="let log of logs" [ngClass]="log.cssClass"><span>{{ log.message }}</span></li>
</ul>
</div>
<div class="copy-container-wrapper">
<div class="copy-container">
<span class="fa fa-2x fa-copy"
ngxClipboard
[cbContent]="getClipboardContent()"
title="Copy to clipboard"
data-toggle="tooltip"
data-placement="top"></span>
</div>
</div>
</div>

View File

@@ -1,9 +1,36 @@
$scrollbar-color: #ffffff;
$scrollbar-radius: 6px;
:host {
background-color: yellow;
display: flex;
flex-direction: column;
align-items: stretch;
width: 100%;
height: 100%;
}
.wrapper {
.x-term-container {
display: flex;
flex: 1;
flex-direction: column;
align-items: stretch;
position: relative;
}
.x-term-wrapper {
background-color: black;
overflow: auto;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.copy-container-wrapper {
position: absolute;
top: 2px;
right: 14px;
}
.xterm-standard {

View File

@@ -1,4 +1,4 @@
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
import { ChangeDetectionStrategy, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild } from '@angular/core';
import { XtermLog } from '../../models/xterm-log';
@Component({
@@ -7,6 +7,21 @@ import { XtermLog } from '../../models/xterm-log';
styleUrls: ['./xterm.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class XtermComponent {
export class XtermComponent implements OnChanges {
@Input() logs: Array<XtermLog> = [];
@ViewChild('scrollMe') divElement: ElementRef;
ngOnChanges(changes: SimpleChanges): void {
if (changes.logs && this.divElement && this.divElement.nativeElement) {
setTimeout(() => {
this.divElement.nativeElement.scrollTop = this.divElement.nativeElement.scrollHeight;
});
}
}
getClipboardContent(): string {
return this.logs.reduce((value, line) => value + line.message + '\n', '');
}
}