Browse Source

web update

main
gsd 4 months ago
parent
commit
0f5e6459af
  1. 48
      ui/src/app/app.module.ts
  2. 19
      ui/src/app/components/nodes/nodes-list.component.ts
  3. 5
      ui/src/app/entities/NodeDTO.ts

48
ui/src/app/app.module.ts

@ -26,6 +26,7 @@ import {NetworkStatusComponent} from "./components/packet/NetworkStatus.componen
import {MatRadioModule} from "@angular/material/radio";
import {DatePipe} from "@angular/common";
import {NodesMapComponent} from "./components/nodes/nodes-map.component";
import {MatTooltipModule} from "@angular/material/tooltip";
@NgModule({
declarations: [
@ -37,29 +38,30 @@ import {NodesMapComponent} from "./components/nodes/nodes-map.component";
NetworkStatusComponent,
NodesMapComponent
],
imports: [
BrowserModule,
AppRoutingModule,
BrowserAnimationsModule,
MatToolbarModule,
MatIconModule,
MatSidenavModule,
MatButtonModule,
HttpClientModule,
MatDialogModule,
MatTabsModule,
MatInputModule,
MatAutocompleteModule,
ReactiveFormsModule,
FormsModule,
MatSnackBarModule,
MatDividerModule,
MatCardModule,
NodeDtoSortPipe,
MatSelectModule,
NodeDtoSearchPipe,
MatRadioModule
],
imports: [
BrowserModule,
AppRoutingModule,
BrowserAnimationsModule,
MatToolbarModule,
MatIconModule,
MatSidenavModule,
MatButtonModule,
HttpClientModule,
MatDialogModule,
MatTabsModule,
MatInputModule,
MatAutocompleteModule,
ReactiveFormsModule,
FormsModule,
MatSnackBarModule,
MatDividerModule,
MatCardModule,
NodeDtoSortPipe,
MatSelectModule,
NodeDtoSearchPipe,
MatRadioModule,
MatTooltipModule
],
providers: [{
provide: HTTP_INTERCEPTORS,
useClass: AuthInterceptor,

19
ui/src/app/components/nodes/nodes-list.component.ts

@ -37,16 +37,24 @@ import {numToColor} from "../../utils/Utils";
*ngFor="let node of nodes | NodeDtoSort: sort.type | NodeDtoSearch: search.type: searchContent"
[style]="{'background-color':numToColor(node.num)}">
<mat-card-header>
<mat-card-title>{{node.long_name}}</mat-card-title>
<mat-card-subtitle>{{node.short_name}} ({{node.num}})</mat-card-subtitle>
<mat-card-title>
<p style="display: inline; padding-right: 8px">{{node.long_name}}</p>
<p style="display: inline" *ngIf="node.view_in_packets"><mat-icon style="font-size: 14px; height: 16px; width: 16px" matTooltip="Имеет подтвержденный пакет">done</mat-icon></p>
<p style="display: inline" *ngIf="node.havePosition"><mat-icon style="font-size: 14px; height: 16px; width: 16px" matTooltip="Доступна позиция ноды">add_location</mat-icon></p>
<p style="display: inline" *ngIf="node.haveMetrics"><mat-icon style="font-size: 14px; height: 16px; width: 16px" matTooltip="Есть данные о состоянии">battery_unknown</mat-icon></p>
</mat-card-title>
<mat-card-subtitle>
<p>{{node.short_name}} ({{node.num}})</p>
</mat-card-subtitle>
</mat-card-header>
<!--<mat-card-content>
</mat-card-content>-->
<mat-card-actions>
<button mat-button>{{node.ts * 1000 | date:"HH:mm dd.MM.yyyy"}}</button>
<button mat-button *ngIf="node.hops_away > 0">Прыжков: {{node.hops_away}}</button>
<button mat-button>SNR: {{node.snr}}</button>
<button mat-button *ngIf="node.hops_away != null" matTooltip="Прыжки">{{node.hops_away > 0 ? node.hops_away : "Прямая"}}</button>
<button mat-button *ngIf="node.snr != null" matTooltip="SNR">{{node.snr}}dB</button>
<button mat-button *ngIf="node.rssi != null" matTooltip="RSSI">{{node.rssi}}dB</button>
<button mat-button (click)="goTo('/network/status/' + node.num)">Статистика</button>
</mat-card-actions>
</mat-card>
@ -65,6 +73,9 @@ export class NodesListComponent implements OnInit {
sortVars:{name: string, type: string}[] = [
{name: "Последнему пингу", type: "ts"},
{name: "SNR", type: "snr"},
{name: "RSSI", type: "rssi"},
{name: "Хопам", type: "hops_away"},
{name: "Наличию пакетов", type: "view_in_packets"}
//{name: "Имени", type: "long_name"}
]
sort: {name: string, type: string} = this.sortVars[0]

5
ui/src/app/entities/NodeDTO.ts

@ -4,10 +4,13 @@ import {DeviceMetricsDTO} from "./node/DeviceMetricsDTO";
export interface NodeDTO extends NodeMiniDTO {
snr: number,
rssi: number,
hops_away: number,
ts: number
havePosition:boolean,
position: PositionDTO,
haveMetrics:boolean,
device_metrics: DeviceMetricsDTO
device_metrics: DeviceMetricsDTO,
last_portnum: number,
view_in_packets: boolean
}

Loading…
Cancel
Save