diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/common/summary-table-filter/summary-table-filter.component.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/common/summary-table-filter/summary-table-filter.component.ts
index b7af555626..d11fc4d66d 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/common/summary-table-filter/summary-table-filter.component.ts
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/common/summary-table-filter/summary-table-filter.component.ts
@@ -37,13 +37,14 @@ export interface SummaryTableFilterArgs {
})
export class SummaryTableFilter implements AfterViewInit {
filterForm: FormGroup;
- private _filteredCount: number = 0;
- private _totalCount: number = 0;
- private _initialFilterColumn: string = 'name';
+ private _filteredCount = 0;
+ private _totalCount = 0;
+ private _initialFilterColumn = 'name';
+ showFilterMatchedLabel = false;
@Input() filterableColumns: SummaryTableFilterColumn[] = [];
- @Input() includeStatusFilter: boolean = false;
- @Input() includePrimaryNodeOnlyFilter: boolean = false;
+ @Input() includeStatusFilter = false;
+ @Input() includePrimaryNodeOnlyFilter = false;
@Output() filterChanged: EventEmitter = new EventEmitter();
@Input() set filterTerm(term: string) {
@@ -133,5 +134,6 @@ export class SummaryTableFilter implements AfterViewInit {
filterTerm,
primaryOnly
});
+ this.showFilterMatchedLabel = filterTerm?.length > 0 || filterStatus !== 'All' || primaryOnly;
}
}
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/common/summary-table-filter/summary-table-filter.module.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/common/summary-table-filter/summary-table-filter.module.ts
index 44a61bd465..f9ee1db698 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/common/summary-table-filter/summary-table-filter.module.ts
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/common/summary-table-filter/summary-table-filter.module.ts
@@ -22,7 +22,7 @@ import { MatInputModule } from '@angular/material/input';
import { MatOptionModule } from '@angular/material/core';
import { MatSelectModule } from '@angular/material/select';
import { ReactiveFormsModule } from '@angular/forms';
-import { NgForOf, NgIf } from '@angular/common';
+import { NgClass, NgForOf, NgIf } from '@angular/common';
import { MatCheckboxModule } from '@angular/material/checkbox';
@NgModule({
@@ -35,7 +35,8 @@ import { MatCheckboxModule } from '@angular/material/checkbox';
ReactiveFormsModule,
NgForOf,
NgIf,
- MatCheckboxModule
+ MatCheckboxModule,
+ NgClass
],
exports: [SummaryTableFilter],
providers: []
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-listing.component.html b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-listing.component.html
index 74cdcc50e0..96ad2a71c7 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-listing.component.html
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-listing.component.html
@@ -21,30 +21,16 @@
-
-
-
-
-
-
-
-
-
-
Last updated:
-
{{ loadedTimestamp$ | async }}
-
-
-
-
+
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-listing.component.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-listing.component.ts
index 1209253335..6ac94d3ed8 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-listing.component.ts
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-listing.component.ts
@@ -17,18 +17,13 @@
import { Component } from '@angular/core';
import { Store } from '@ngrx/store';
-import {
- ConnectionStatusSnapshotEntity,
- PortStatusSnapshotEntity,
- SummaryListingState
-} from '../../state/summary-listing';
+import { ConnectionStatusSnapshotEntity, SummaryListingState } from '../../state/summary-listing';
import { initialState } from '../../state/summary-listing/summary-listing.reducer';
import * as SummaryListingActions from '../../state/summary-listing/summary-listing.actions';
import {
selectConnectionIdFromRoute,
selectConnectionStatus,
selectConnectionStatusSnapshots,
- selectProcessorStatus,
selectSummaryListingLoadedTimestamp,
selectSummaryListingStatus,
selectViewStatusHistory
@@ -36,12 +31,8 @@ import {
import { selectCurrentUser } from '../../../../state/current-user/current-user.selectors';
import { filter, switchMap, take } from 'rxjs';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
-import {
- getStatusHistoryAndOpenDialog,
- openStatusHistoryDialog
-} from '../../../../state/status-history/status-history.actions';
+import { getStatusHistoryAndOpenDialog } from '../../../../state/status-history/status-history.actions';
import { ComponentType } from '../../../../state/shared';
-import { getSystemDiagnosticsAndOpenDialog } from '../../../../state/system-diagnostics/system-diagnostics.actions';
@Component({
selector: 'connection-status-listing',
@@ -101,6 +92,10 @@ export class ConnectionStatusListing {
);
}
+ clearSelection() {
+ this.store.dispatch(SummaryListingActions.clearConnectionStatusSelection());
+ }
+
viewStatusHistory(connection: ConnectionStatusSnapshotEntity): void {
this.store.dispatch(
SummaryListingActions.navigateToViewConnectionStatusHistory({
@@ -108,14 +103,4 @@ export class ConnectionStatusListing {
})
);
}
-
- openSystemDiagnostics() {
- this.store.dispatch(
- getSystemDiagnosticsAndOpenDialog({
- request: {
- nodewise: false
- }
- })
- );
- }
}
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-listing.module.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-listing.module.ts
index 58d6ec4b34..62d10360e9 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-listing.module.ts
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-listing.module.ts
@@ -21,10 +21,11 @@ import { CommonModule } from '@angular/common';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { PortStatusTable } from '../common/port-status-table/port-status-table.component';
import { ConnectionStatusTable } from './connection-status-table/connection-status-table.component';
+import { ProcessorStatusTable } from '../processor-status-listing/processor-status-table/processor-status-table.component';
@NgModule({
declarations: [ConnectionStatusListing],
exports: [ConnectionStatusListing],
- imports: [CommonModule, NgxSkeletonLoaderModule, PortStatusTable, ConnectionStatusTable]
+ imports: [CommonModule, NgxSkeletonLoaderModule, PortStatusTable, ConnectionStatusTable, ProcessorStatusTable]
})
export class ConnectionStatusListingModule {}
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-table/connection-status-table.component.html b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-table/connection-status-table.component.html
index 61743aeab1..31cfc53bdd 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-table/connection-status-table.component.html
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-table/connection-status-table.component.html
@@ -14,192 +14,236 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
-
-
-
+
+
+
+
+
+
-
-
-
-
-
- |
- |
-
+
+
+
+
+
+ |
+ |
+
-
-
-
- Name
- |
-
- {{ formatName(item) }}
- |
-
+
+
+
+ Name
+ |
+
+ {{ formatName(item) }}
+ |
+
-
-
-
-
- Queue
- (Size)
- 5 min
-
- |
-
- {{ formatQueue(item) }}
- |
-
+
+
+
+
+ Queue
+ (Size)
+ 5 min
+
+ |
+
+ {{ formatQueue(item) }}
+ |
+
-
-
-
-
- Threshold %:
- Queue
- |
- Size
-
- |
-
- {{ formatThreshold(item) }}
- |
-
+
+
+
+
+ Threshold %:
+ Queue
+ |
+ Size
+
+ |
+
+ {{ formatThreshold(item) }}
+ |
+
-
-
-
-
- In
- (Size)
- 5 min
-
- |
-
- {{ formatIn(item) }}
- |
-
+
+
+
+
+ In
+ (Size)
+ 5 min
+
+ |
+
+ {{ formatIn(item) }}
+ |
+
-
-
-
- From Source
- |
-
- {{ formatSource(item) }}
- |
-
+
+
+
+
+ From Source
+
+ |
+
+ {{ formatSource(item) }}
+ |
+
-
-
-
-
- Out
- (Size)
- 5 min
-
- |
-
- {{ formatOut(item) }}
- |
-
+
+
+
+
+ Out
+ (Size)
+ 5 min
+
+ |
+
+ {{ formatOut(item) }}
+ |
+
-
-
-
- To Destination
- |
-
- {{ formatDestination(item) }}
- |
-
+
+
+
+
+ To Destination
+
+ |
+
+ {{ formatDestination(item) }}
+ |
+
-
- |
-
-
+ |
+
-
-
-
+
|
+
|
+
+
+
+
+
+
+
+
+
+
Last updated:
+
{{ loadedTimestamp }}
+
+
+
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-table/connection-status-table.component.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-table/connection-status-table.component.ts
index 6cf5c2699e..a5c9c40a06 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-table/connection-status-table.component.ts
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/connection-status-listing/connection-status-table/connection-status-table.component.ts
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-import { Component, EventEmitter, Input, Output } from '@angular/core';
+import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
import { CommonModule } from '@angular/common';
import { SummaryTableFilterModule } from '../../common/summary-table-filter/summary-table-filter.module';
import { MatSortModule, Sort, SortDirection } from '@angular/material/sort';
@@ -29,13 +29,14 @@ import { ConnectionStatusSnapshot, ConnectionStatusSnapshotEntity } from '../../
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
import { ComponentType } from '../../../../../state/shared';
import { RouterLink } from '@angular/router';
+import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
export type SupportedColumns = 'name' | 'queue' | 'in' | 'out' | 'threshold' | 'sourceName' | 'destinationName';
@Component({
selector: 'connection-status-table',
standalone: true,
- imports: [CommonModule, SummaryTableFilterModule, MatSortModule, RouterLink, MatTableModule],
+ imports: [CommonModule, SummaryTableFilterModule, MatSortModule, RouterLink, MatTableModule, MatPaginatorModule],
templateUrl: './connection-status-table.component.html',
styleUrls: ['./connection-status-table.component.scss', '../../../../../../assets/styles/listing-table.scss']
})
@@ -49,8 +50,8 @@ export class ConnectionStatusTable {
{ key: 'destinationName', label: 'destination' }
];
- totalCount: number = 0;
- filteredCount: number = 0;
+ totalCount = 0;
+ filteredCount = 0;
multiSort: MultiSort = {
active: this._initialSortColumn,
@@ -73,8 +74,15 @@ export class ConnectionStatusTable {
dataSource: MatTableDataSource
=
new MatTableDataSource();
+
+ @ViewChild(MatPaginator) paginator!: MatPaginator;
+
constructor(private nifiCommon: NiFiCommon) {}
+ ngAfterViewInit(): void {
+ this.dataSource.paginator = this.paginator;
+ }
+
@Input() set initialSortColumn(initialSortColumn: SupportedColumns) {
this._initialSortColumn = initialSortColumn;
this.multiSort = { ...this.multiSort, active: initialSortColumn };
@@ -116,14 +124,36 @@ export class ConnectionStatusTable {
}
}
+ @Input() summaryListingStatus: string | null = null;
+ @Input() loadedTimestamp: string | null = null;
+
+ @Output() refresh: EventEmitter = new EventEmitter();
@Output() viewStatusHistory: EventEmitter =
new EventEmitter();
@Output() selectConnection: EventEmitter =
new EventEmitter();
+ @Output() clearSelection: EventEmitter = new EventEmitter();
+
+ resetPaginator(): void {
+ if (this.dataSource.paginator) {
+ this.dataSource.paginator.firstPage();
+ }
+ }
applyFilter(filter: SummaryTableFilterArgs) {
this.dataSource.filter = JSON.stringify(filter);
this.filteredCount = this.dataSource.filteredData.length;
+ this.resetPaginator();
+ this.selectNone();
+ }
+
+ paginationChanged(): void {
+ // clear out any selection
+ this.selectNone();
+ }
+
+ private selectNone() {
+ this.clearSelection.next();
}
getConnectionLink(connection: ConnectionStatusSnapshotEntity): string[] {
@@ -222,7 +252,7 @@ export class ConnectionStatusTable {
}
return data.slice().sort((a, b) => {
const isAsc: boolean = sort.direction === 'asc';
- let retVal: number = 0;
+ let retVal = 0;
switch (sort.active) {
case 'name':
retVal = this.nifiCommon.compareString(
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/input-port-status-listing/input-port-status-listing.component.html b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/input-port-status-listing/input-port-status-listing.component.html
index bfa04941d0..c97f872a13 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/input-port-status-listing/input-port-status-listing.component.html
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/input-port-status-listing/input-port-status-listing.component.html
@@ -21,30 +21,16 @@
-
-
-
-
-
-
Last updated:
-
{{ loadedTimestamp$ | async }}
-
-
-
-
+
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/input-port-status-listing/input-port-status-listing.component.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/input-port-status-listing/input-port-status-listing.component.ts
index dc432c3d90..a45a3a96e7 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/input-port-status-listing/input-port-status-listing.component.ts
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/input-port-status-listing/input-port-status-listing.component.ts
@@ -27,7 +27,6 @@ import { PortStatusSnapshotEntity, SummaryListingState } from '../../state/summa
import { Store } from '@ngrx/store';
import { initialState } from '../../state/summary-listing/summary-listing.reducer';
import * as SummaryListingActions from '../../state/summary-listing/summary-listing.actions';
-import { getSystemDiagnosticsAndOpenDialog } from '../../../../state/system-diagnostics/system-diagnostics.actions';
@Component({
selector: 'input-port-status-listing',
@@ -61,13 +60,7 @@ export class InputPortStatusListing {
);
}
- openSystemDiagnostics() {
- this.store.dispatch(
- getSystemDiagnosticsAndOpenDialog({
- request: {
- nodewise: false
- }
- })
- );
+ clearSelection() {
+ this.store.dispatch(SummaryListingActions.clearInputPortStatusSelection());
}
}
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/input-port-status-listing/input-port-status-listing.module.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/input-port-status-listing/input-port-status-listing.module.ts
index 4418cf3b0d..ffa2213866 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/input-port-status-listing/input-port-status-listing.module.ts
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/input-port-status-listing/input-port-status-listing.module.ts
@@ -21,9 +21,10 @@ import { InputPortStatusListing } from './input-port-status-listing.component';
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
import { ProcessGroupStatusTable } from '../process-group-status-listing/process-group-status-table/process-group-status-table.component';
import { PortStatusTable } from '../common/port-status-table/port-status-table.component';
+import { ProcessorStatusTable } from '../processor-status-listing/processor-status-table/processor-status-table.component';
@NgModule({
declarations: [InputPortStatusListing],
- imports: [CommonModule, NgxSkeletonLoaderModule, ProcessGroupStatusTable, PortStatusTable]
+ imports: [CommonModule, NgxSkeletonLoaderModule, ProcessGroupStatusTable, PortStatusTable, ProcessorStatusTable]
})
export class InputPortStatusListingModule {}
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/output-port-status-listing/output-port-status-listing.component.html b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/output-port-status-listing/output-port-status-listing.component.html
index 33a965bcd7..baa5cfadcc 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/output-port-status-listing/output-port-status-listing.component.html
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/summary/ui/output-port-status-listing/output-port-status-listing.component.html
@@ -21,30 +21,16 @@