mirror of
https://github.com/apache/nifi.git
synced 2025-03-01 15:09:11 +00:00
[NIFI-13355] move view cluster details and view flow configuration details into action kebab menus (#8921)
This closes #8921
This commit is contained in:
parent
cfcae70d37
commit
89f153aad8
@ -36,19 +36,6 @@
|
|||||||
(matSortChange)="sortData($event)"
|
(matSortChange)="sortData($event)"
|
||||||
[matSortActive]="initialSortColumn"
|
[matSortActive]="initialSortColumn"
|
||||||
[matSortDirection]="initialSortDirection">
|
[matSortDirection]="initialSortDirection">
|
||||||
<!-- More Details Column -->
|
|
||||||
<ng-container matColumnDef="moreDetails">
|
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
|
||||||
<td mat-cell *matCellDef="let item">
|
|
||||||
<div class="flex items-center gap-x-2">
|
|
||||||
<div
|
|
||||||
class="pointer fa fa-info-circle primary-color"
|
|
||||||
(click)="moreDetail(item)"
|
|
||||||
title="Detail"></div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</ng-container>
|
|
||||||
|
|
||||||
<!-- Node Address -->
|
<!-- Node Address -->
|
||||||
<ng-container matColumnDef="address">
|
<ng-container matColumnDef="address">
|
||||||
<th mat-header-cell *matHeaderCellDef mat-sort-header title="Node Address">
|
<th mat-header-cell *matHeaderCellDef mat-sort-header title="Node Address">
|
||||||
@ -161,6 +148,10 @@
|
|||||||
</button>
|
</button>
|
||||||
}
|
}
|
||||||
<mat-menu #actionMenu="matMenu" xPosition="before">
|
<mat-menu #actionMenu="matMenu" xPosition="before">
|
||||||
|
<button mat-menu-item (click)="moreDetail(item)">
|
||||||
|
<i class="fa fa-info-circle primary-color mr-2"></i>
|
||||||
|
Detail
|
||||||
|
</button>
|
||||||
@if (item.status === 'CONNECTED' || item.status === 'CONNECTING') {
|
@if (item.status === 'CONNECTED' || item.status === 'CONNECTING') {
|
||||||
<button mat-menu-item (click)="disconnect(item)">
|
<button mat-menu-item (click)="disconnect(item)">
|
||||||
<i class="fa fa-power-off primary-color mr-2"></i>
|
<i class="fa fa-power-off primary-color mr-2"></i>
|
||||||
|
@ -18,10 +18,6 @@
|
|||||||
.cluster-node-table {
|
.cluster-node-table {
|
||||||
.listing-table {
|
.listing-table {
|
||||||
table {
|
table {
|
||||||
.mat-column-moreDetails {
|
|
||||||
width: 32px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mat-column-address {
|
.mat-column-address {
|
||||||
width: 25%;
|
width: 25%;
|
||||||
}
|
}
|
||||||
|
@ -80,15 +80,7 @@ export class ClusterNodeTable extends ClusterTable<ClusterNode> {
|
|||||||
{ key: 'status', label: 'Status' }
|
{ key: 'status', label: 'Status' }
|
||||||
];
|
];
|
||||||
|
|
||||||
displayedColumns: string[] = [
|
displayedColumns: string[] = ['address', 'activeThreadCount', 'queued', 'status', 'nodeStartTime', 'heartbeat'];
|
||||||
'moreDetails',
|
|
||||||
'address',
|
|
||||||
'activeThreadCount',
|
|
||||||
'queued',
|
|
||||||
'status',
|
|
||||||
'nodeStartTime',
|
|
||||||
'heartbeat'
|
|
||||||
];
|
|
||||||
|
|
||||||
constructor(private nifiCommon: NiFiCommon) {
|
constructor(private nifiCommon: NiFiCommon) {
|
||||||
super();
|
super();
|
||||||
|
@ -25,22 +25,6 @@
|
|||||||
(matSortChange)="sortData($event)"
|
(matSortChange)="sortData($event)"
|
||||||
[matSortActive]="initialSortColumn"
|
[matSortActive]="initialSortColumn"
|
||||||
[matSortDirection]="initialSortDirection">
|
[matSortDirection]="initialSortDirection">
|
||||||
<ng-container matColumnDef="moreDetails">
|
|
||||||
<th mat-header-cell *matHeaderCellDef></th>
|
|
||||||
<td mat-cell *matCellDef="let item">
|
|
||||||
<ng-container>
|
|
||||||
<div class="flex items-center gap-x-2">
|
|
||||||
@if (canRead(item)) {
|
|
||||||
<div
|
|
||||||
class="pointer fa fa-info-circle primary-color"
|
|
||||||
title="View Details"
|
|
||||||
(click)="moreDetails(item)"></div>
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
</ng-container>
|
|
||||||
</td>
|
|
||||||
</ng-container>
|
|
||||||
|
|
||||||
<!-- Date/Time Column -->
|
<!-- Date/Time Column -->
|
||||||
<ng-container matColumnDef="timestamp">
|
<ng-container matColumnDef="timestamp">
|
||||||
<th mat-header-cell *matHeaderCellDef mat-sort-header>
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>
|
||||||
@ -103,6 +87,30 @@
|
|||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
<!-- Actions Column -->
|
||||||
|
<ng-container matColumnDef="actions">
|
||||||
|
<th mat-header-cell *matHeaderCellDef></th>
|
||||||
|
<td mat-cell *matCellDef="let item">
|
||||||
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
|
<button
|
||||||
|
mat-icon-button
|
||||||
|
type="button"
|
||||||
|
[matMenuTriggerFor]="actionMenu"
|
||||||
|
class="h-16 w-16 flex items-center justify-center icon global-menu">
|
||||||
|
<i class="fa fa-ellipsis-v"></i>
|
||||||
|
</button>
|
||||||
|
<mat-menu #actionMenu="matMenu" xPosition="before">
|
||||||
|
@if (canRead(item)) {
|
||||||
|
<button mat-menu-item (click)="moreDetails(item)">
|
||||||
|
<i class="fa fa-info-circle primary-color mr-2"></i>
|
||||||
|
View Details
|
||||||
|
</button>
|
||||||
|
}
|
||||||
|
</mat-menu>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</ng-container>
|
||||||
|
|
||||||
<tr mat-header-row *matHeaderRowDef="displayedColumns; sticky: true"></tr>
|
<tr mat-header-row *matHeaderRowDef="displayedColumns; sticky: true"></tr>
|
||||||
<tr
|
<tr
|
||||||
mat-row
|
mat-row
|
||||||
|
@ -17,10 +17,6 @@
|
|||||||
|
|
||||||
.flow-configuration-history-table {
|
.flow-configuration-history-table {
|
||||||
.listing-table {
|
.listing-table {
|
||||||
.mat-column-moreDetails {
|
|
||||||
width: 32px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mat-column-sourceName {
|
.mat-column-sourceName {
|
||||||
width: 25%;
|
width: 25%;
|
||||||
}
|
}
|
||||||
|
@ -20,11 +20,13 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|||||||
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
|
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
|
||||||
import { MatSortModule, Sort } from '@angular/material/sort';
|
import { MatSortModule, Sort } from '@angular/material/sort';
|
||||||
import { ActionEntity } from '../../../state/flow-configuration-history-listing';
|
import { ActionEntity } from '../../../state/flow-configuration-history-listing';
|
||||||
|
import { MatIconButton } from '@angular/material/button';
|
||||||
|
import { MatMenu, MatMenuItem, MatMenuTrigger } from '@angular/material/menu';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'flow-configuration-history-table',
|
selector: 'flow-configuration-history-table',
|
||||||
standalone: true,
|
standalone: true,
|
||||||
imports: [MatTableModule, MatSortModule],
|
imports: [MatTableModule, MatSortModule, MatIconButton, MatMenu, MatMenuTrigger, MatMenuItem],
|
||||||
templateUrl: './flow-configuration-history-table.component.html',
|
templateUrl: './flow-configuration-history-table.component.html',
|
||||||
styleUrls: ['./flow-configuration-history-table.component.scss']
|
styleUrls: ['./flow-configuration-history-table.component.scss']
|
||||||
})
|
})
|
||||||
@ -50,13 +52,13 @@ export class FlowConfigurationHistoryTable {
|
|||||||
};
|
};
|
||||||
|
|
||||||
displayedColumns: string[] = [
|
displayedColumns: string[] = [
|
||||||
'moreDetails',
|
|
||||||
'timestamp',
|
'timestamp',
|
||||||
'sourceId',
|
'sourceId',
|
||||||
'sourceName',
|
'sourceName',
|
||||||
'sourceType',
|
'sourceType',
|
||||||
'operation',
|
'operation',
|
||||||
'userIdentity'
|
'userIdentity',
|
||||||
|
'actions'
|
||||||
];
|
];
|
||||||
dataSource: MatTableDataSource<ActionEntity> = new MatTableDataSource<ActionEntity>();
|
dataSource: MatTableDataSource<ActionEntity> = new MatTableDataSource<ActionEntity>();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user