From 7c09aabb4a1db9054b9e2f7f5f9cc50ec66256db Mon Sep 17 00:00:00 2001 From: Matt Gilman Date: Tue, 16 Jan 2024 08:48:22 -0500 Subject: [PATCH] NIFI-12597: Introducing a common navigation bar across all pages (#8237) * NIFI-12597: - Introducing a common navigation bar across all pages. * NIFI-12597: - Introducing navigation bar to queue listing. This closes #8237 --- .../feature/access-policies.component.html | 12 +- .../feature/access-policies.component.spec.ts | 10 +- .../feature/access-policies.module.ts | 4 +- .../feature/bulletins.component.html | 14 +- .../bulletins/feature/bulletins.module.ts | 4 +- .../counters/feature/counters.component.html | 14 +- .../feature/counters.component.spec.ts | 10 +- .../pages/counters/feature/counters.module.ts | 4 +- .../flow-status/flow-status.component.scss | 3 - .../ui/canvas/header/header.component.html | 176 +++--------------- .../ui/canvas/header/header.component.scss | 47 ----- .../ui/canvas/header/header.component.spec.ts | 39 ++-- .../ui/canvas/header/header.component.ts | 47 +---- .../feature/parameter-contexts.component.html | 14 +- .../parameter-contexts.component.spec.ts | 10 +- .../feature/parameter-contexts.module.ts | 4 +- .../feature/provenance.component.html | 14 +- .../feature/provenance.component.spec.ts | 12 +- .../provenance/feature/provenance.module.ts | 4 +- .../pages/queue/feature/queue.component.html | 12 +- .../queue/feature/queue.component.spec.ts | 10 +- .../app/pages/queue/feature/queue.module.ts | 7 +- .../app/pages/queue/service/queue.service.ts | 10 +- .../flowfile-table.component.ts | 2 - .../settings/feature/settings.component.html | 12 +- .../feature/settings.component.spec.ts | 12 +- .../pages/settings/feature/settings.module.ts | 4 +- .../summary/feature/summary.component.html | 12 +- .../summary/feature/summary.component.spec.ts | 10 +- .../pages/summary/feature/summary.module.ts | 4 +- .../pages/users/feature/users.component.html | 14 +- .../users/feature/users.component.spec.ts | 10 +- .../app/pages/users/feature/users.module.ts | 4 +- .../navigation/navigation.component.html | 145 +++++++++++++++ .../navigation/navigation.component.scss | 60 ++++++ .../navigation/navigation.component.spec.ts | 47 +++++ .../common/navigation/navigation.component.ts | 82 ++++++++ .../src/main/nifi/src/styles.scss | 5 + 38 files changed, 546 insertions(+), 358 deletions(-) create mode 100644 nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/navigation/navigation.component.html create mode 100644 nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/navigation/navigation.component.scss create mode 100644 nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/navigation/navigation.component.spec.ts create mode 100644 nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/navigation/navigation.component.ts diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/access-policies/feature/access-policies.component.html b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/access-policies/feature/access-policies.component.html index 42f3ca3285..0c95453fea 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/access-policies/feature/access-policies.component.html +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/access-policies/feature/access-policies.component.html @@ -15,14 +15,14 @@ ~ limitations under the License. --> -
-
+
+
+ +
+

Access Policies

-
-
+
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/access-policies/feature/access-policies.component.spec.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/access-policies/feature/access-policies.component.spec.ts index 21cbd7545d..035f496df0 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/access-policies/feature/access-policies.component.spec.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/access-policies/feature/access-policies.component.spec.ts @@ -21,15 +21,23 @@ import { RouterModule } from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; import { provideMockStore } from '@ngrx/store/testing'; import { initialState } from '../state/access-policy/access-policy.reducer'; +import { Component } from '@angular/core'; describe('AccessPolicies', () => { let component: AccessPolicies; let fixture: ComponentFixture; + @Component({ + selector: 'navigation', + standalone: true, + template: '' + }) + class MockNavigation {} + beforeEach(() => { TestBed.configureTestingModule({ declarations: [AccessPolicies], - imports: [RouterModule, RouterTestingModule], + imports: [RouterModule, RouterTestingModule, MockNavigation], providers: [ provideMockStore({ initialState diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/access-policies/feature/access-policies.module.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/access-policies/feature/access-policies.module.ts index 9e7a66b10b..163a532eed 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/access-policies/feature/access-policies.module.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/access-policies/feature/access-policies.module.ts @@ -26,6 +26,7 @@ import { MatDialogModule } from '@angular/material/dialog'; import { AccessPolicyEffects } from '../state/access-policy/access-policy.effects'; import { TenantsEffects } from '../state/tenants/tenants.effects'; import { PolicyComponentEffects } from '../state/policy-component/policy-component.effects'; +import { Navigation } from '../../../ui/common/navigation/navigation.component'; @NgModule({ declarations: [AccessPolicies], @@ -35,7 +36,8 @@ import { PolicyComponentEffects } from '../state/policy-component/policy-compone AccessPoliciesRoutingModule, StoreModule.forFeature(accessPoliciesFeatureKey, reducers), EffectsModule.forFeature(AccessPolicyEffects, TenantsEffects, PolicyComponentEffects), - MatDialogModule + MatDialogModule, + Navigation ] }) export class AccessPoliciesModule {} diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/bulletins/feature/bulletins.component.html b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/bulletins/feature/bulletins.component.html index 5e212d9d69..94f3467a2f 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/bulletins/feature/bulletins.component.html +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/bulletins/feature/bulletins.component.html @@ -15,14 +15,12 @@ ~ limitations under the License. --> -
-
+
+
+ +
+

NiFi Bulletin Board

- -
-
- +
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/bulletins/feature/bulletins.module.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/bulletins/feature/bulletins.module.ts index f2f180b490..8d6f02b924 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/bulletins/feature/bulletins.module.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/bulletins/feature/bulletins.module.ts @@ -25,6 +25,7 @@ import { BulletinBoardEffects } from '../state/bulletin-board/bulletin-board.eff import { BulletinsRoutingModule } from './bulletins-routing.module'; import { CounterListingModule } from '../../counters/ui/counter-listing/counter-listing.module'; import { BulletinBoard } from '../ui/bulletin-board/bulletin-board.component'; +import { Navigation } from '../../../ui/common/navigation/navigation.component'; @NgModule({ declarations: [Bulletins], @@ -35,7 +36,8 @@ import { BulletinBoard } from '../ui/bulletin-board/bulletin-board.component'; StoreModule.forFeature(bulletinsFeatureKey, reducers), EffectsModule.forFeature(BulletinBoardEffects), CounterListingModule, - BulletinBoard + BulletinBoard, + Navigation ] }) export class BulletinsModule {} diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/counters/feature/counters.component.html b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/counters/feature/counters.component.html index 73fcf5e390..6847c486aa 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/counters/feature/counters.component.html +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/counters/feature/counters.component.html @@ -15,14 +15,12 @@ ~ limitations under the License. --> -
-
+
+
+ +
+

NiFi Counters

- -
-
- +
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/counters/feature/counters.component.spec.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/counters/feature/counters.component.spec.ts index e30779c978..fba71a451e 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/counters/feature/counters.component.spec.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/counters/feature/counters.component.spec.ts @@ -22,15 +22,23 @@ import { initialState } from '../state/counter-listing/counter-listing.reducer'; import { CounterListing } from '../ui/counter-listing/counter-listing.component'; import { RouterModule } from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; +import { Component } from '@angular/core'; describe('Counters', () => { let component: Counters; let fixture: ComponentFixture; + @Component({ + selector: 'navigation', + standalone: true, + template: '' + }) + class MockNavigation {} + beforeEach(() => { TestBed.configureTestingModule({ declarations: [Counters, CounterListing], - imports: [RouterModule, RouterTestingModule], + imports: [RouterModule, RouterTestingModule, MockNavigation], providers: [provideMockStore({ initialState })] }); fixture = TestBed.createComponent(Counters); diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/counters/feature/counters.module.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/counters/feature/counters.module.ts index 0d4d5d8939..1b8acdfa5c 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/counters/feature/counters.module.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/counters/feature/counters.module.ts @@ -25,6 +25,7 @@ import { EffectsModule } from '@ngrx/effects'; import { CounterListingEffects } from '../state/counter-listing/counter-listing.effects'; import { CounterListingModule } from '../ui/counter-listing/counter-listing.module'; import { MatDialogModule } from '@angular/material/dialog'; +import { Navigation } from '../../../ui/common/navigation/navigation.component'; @NgModule({ declarations: [Counters], @@ -35,7 +36,8 @@ import { MatDialogModule } from '@angular/material/dialog'; StoreModule.forFeature(countersFeatureKey, reducers), EffectsModule.forFeature(CounterListingEffects), CounterListingModule, - MatDialogModule + MatDialogModule, + Navigation ] }) export class CountersModule {} diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/header/flow-status/flow-status.component.scss b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/header/flow-status/flow-status.component.scss index d49379d56e..090fd9bf93 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/header/flow-status/flow-status.component.scss +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/header/flow-status/flow-status.component.scss @@ -18,9 +18,6 @@ .flow-status { border-bottom: 1px solid #aabbc3; box-sizing: content-box; - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.25); - position: relative; - z-index: 2; font-size: 15px; .fa, diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/header/header.component.html b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/header/header.component.html index a4d6754461..7a2c476c19 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/header/header.component.html +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/header/header.component.html @@ -15,151 +15,37 @@ ~ limitations under the License. --> -
- +
+ + + + + + + + + { let component: HeaderComponent; let fixture: ComponentFixture; + @Component({ + selector: 'navigation', + standalone: true, + template: '' + }) + class MockNavigation {} + + @Component({ + selector: 'flow-status', + standalone: true, + template: '' + }) + class MockFlowStatus {} + const clusterSummary: ClusterSummary = { clustered: false, connectedToCluster: false, @@ -76,17 +84,16 @@ describe('HeaderComponent', () => { imports: [ HeaderComponent, NewCanvasItem, - FlowStatus, - Search, HttpClientTestingModule, + MockFlowStatus, MatMenuModule, MatDividerModule, - RouterModule, RouterTestingModule, CdkOverlayOrigin, CdkConnectedOverlay, FormsModule, - ReactiveFormsModule + ReactiveFormsModule, + MockNavigation ], providers: [ provideMockStore({ @@ -103,14 +110,6 @@ describe('HeaderComponent', () => { { selector: selectControllerBulletins, value: [] - }, - { - selector: selectCurrentUser, - value: fromUser.initialState.user - }, - { - selector: selectFlowConfiguration, - value: fromFlowConfiguration.initialState.flowConfiguration } ] }) diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/header/header.component.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/header/header.component.ts index 02e4d77bfe..5af040a7aa 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/header/header.component.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/flow-designer/ui/canvas/header/header.component.ts @@ -26,10 +26,6 @@ import { selectCurrentProcessGroupId, selectLastRefreshed } from '../../../state/flow/flow.selectors'; -import { selectCurrentUser } from '../../../../../state/current-user/current-user.selectors'; -import { CurrentUser } from '../../../../../state/current-user'; -import { AuthStorage } from '../../../../../service/auth-storage.service'; -import { AuthService } from '../../../../../service/auth.service'; import { LoadingService } from '../../../../../service/loading.service'; import { NewCanvasItem } from './new-canvas-item/new-canvas-item.component'; import { MatButtonModule } from '@angular/material/button'; @@ -38,9 +34,7 @@ import { AsyncPipe, NgIf, NgOptimizedImage } from '@angular/common'; import { MatDividerModule } from '@angular/material/divider'; import { RouterLink } from '@angular/router'; import { FlowStatus } from './flow-status/flow-status.component'; -import { getNodeStatusHistoryAndOpenDialog } from '../../../../../state/status-history/status-history.actions'; -import { getSystemDiagnosticsAndOpenDialog } from '../../../../../state/system-diagnostics/system-diagnostics.actions'; -import { selectFlowConfiguration } from '../../../../../state/flow-configuration/flow-configuration.selectors'; +import { Navigation } from '../../../../../ui/common/navigation/navigation.component'; @Component({ selector: 'fd-header', @@ -55,7 +49,8 @@ import { selectFlowConfiguration } from '../../../../../state/flow-configuration RouterLink, NgIf, FlowStatus, - NgOptimizedImage + NgOptimizedImage, + Navigation ], styleUrls: ['./header.component.scss'] }) @@ -66,46 +61,10 @@ export class HeaderComponent { lastRefreshed$ = this.store.select(selectLastRefreshed); clusterSummary$ = this.store.select(selectClusterSummary); controllerBulletins$ = this.store.select(selectControllerBulletins); - currentUser$ = this.store.select(selectCurrentUser); - flowConfiguration$ = this.store.select(selectFlowConfiguration); currentProcessGroupId$ = this.store.select(selectCurrentProcessGroupId); constructor( private store: Store, - private authStorage: AuthStorage, - private authService: AuthService, public loadingService: LoadingService ) {} - - allowLogin(user: CurrentUser): boolean { - return user.anonymous && location.protocol === 'https:'; - } - - hasToken(): boolean { - return this.authStorage.hasToken(); - } - - logout(): void { - this.authService.logout(); - } - - viewNodeStatusHistory(): void { - this.store.dispatch( - getNodeStatusHistoryAndOpenDialog({ - request: { - source: 'menu' - } - }) - ); - } - - viewSystemDiagnostics() { - 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/parameter-contexts/feature/parameter-contexts.component.html b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/parameter-contexts/feature/parameter-contexts.component.html index 21abf532d3..63474c1a0b 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/parameter-contexts/feature/parameter-contexts.component.html +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/parameter-contexts/feature/parameter-contexts.component.html @@ -15,14 +15,12 @@ ~ limitations under the License. --> -
-
+
+
+ +
+

Parameter Contexts

- -
-
- +
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/parameter-contexts/feature/parameter-contexts.component.spec.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/parameter-contexts/feature/parameter-contexts.component.spec.ts index 967273619b..36122c1452 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/parameter-contexts/feature/parameter-contexts.component.spec.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/parameter-contexts/feature/parameter-contexts.component.spec.ts @@ -23,15 +23,23 @@ import { initialState } from '../state/parameter-context-listing/parameter-conte import { ParameterContextListing } from '../ui/parameter-context-listing/parameter-context-listing.component'; import { RouterModule } from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; +import { Component } from '@angular/core'; describe('ParameterContexts', () => { let component: ParameterContexts; let fixture: ComponentFixture; + @Component({ + selector: 'navigation', + standalone: true, + template: '' + }) + class MockNavigation {} + beforeEach(() => { TestBed.configureTestingModule({ declarations: [ParameterContexts, ParameterContextListing], - imports: [RouterModule, RouterTestingModule], + imports: [RouterModule, RouterTestingModule, MockNavigation], providers: [ provideMockStore({ initialState diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/parameter-contexts/feature/parameter-contexts.module.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/parameter-contexts/feature/parameter-contexts.module.ts index f5216d10da..6d07b9dfbd 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/parameter-contexts/feature/parameter-contexts.module.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/parameter-contexts/feature/parameter-contexts.module.ts @@ -24,6 +24,7 @@ import { ParameterContextsRoutingModule } from './parameter-contexts-routing.mod import { parameterContextsFeatureKey, reducers } from '../state'; import { ParameterContextListingEffects } from '../state/parameter-context-listing/parameter-context-listing.effects'; import { ParameterContextListingModule } from '../ui/parameter-context-listing/parameter-context-listing.module'; +import { Navigation } from '../../../ui/common/navigation/navigation.component'; @NgModule({ declarations: [ParameterContexts], @@ -33,7 +34,8 @@ import { ParameterContextListingModule } from '../ui/parameter-context-listing/p ParameterContextsRoutingModule, StoreModule.forFeature(parameterContextsFeatureKey, reducers), EffectsModule.forFeature(ParameterContextListingEffects), - ParameterContextListingModule + ParameterContextListingModule, + Navigation ] }) export class ParameterContextsModule {} diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/provenance/feature/provenance.component.html b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/provenance/feature/provenance.component.html index f14af50f77..718af5c6b5 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/provenance/feature/provenance.component.html +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/provenance/feature/provenance.component.html @@ -15,14 +15,12 @@ ~ limitations under the License. --> -
-
-

Provenance

- -
-
+
+
+ +
+

Provenance

+
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/provenance/feature/provenance.component.spec.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/provenance/feature/provenance.component.spec.ts index 200affe6d8..ab5bc363f0 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/provenance/feature/provenance.component.spec.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/provenance/feature/provenance.component.spec.ts @@ -22,15 +22,25 @@ import { provideMockStore } from '@ngrx/store/testing'; import { RouterModule } from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; import { initialState } from '../state/provenance-event-listing/provenance-event-listing.reducer'; +import { Navigation } from '../../../ui/common/navigation/navigation.component'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { Component } from '@angular/core'; describe('Provenance', () => { let component: Provenance; let fixture: ComponentFixture; + @Component({ + selector: 'navigation', + standalone: true, + template: '' + }) + class MockNavigation {} + beforeEach(() => { TestBed.configureTestingModule({ declarations: [Provenance], - imports: [RouterModule, RouterTestingModule], + imports: [RouterModule, RouterTestingModule, MockNavigation], providers: [ provideMockStore({ initialState diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/provenance/feature/provenance.module.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/provenance/feature/provenance.module.ts index 6943a4db9f..c6b7c5ac76 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/provenance/feature/provenance.module.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/provenance/feature/provenance.module.ts @@ -25,6 +25,7 @@ import { provenanceFeatureKey, reducers } from '../state'; import { ProvenanceEventListingEffects } from '../state/provenance-event-listing/provenance-event-listing.effects'; import { MatDialogModule } from '@angular/material/dialog'; import { LineageEffects } from '../state/lineage/lineage.effects'; +import { Navigation } from '../../../ui/common/navigation/navigation.component'; @NgModule({ declarations: [Provenance], @@ -34,7 +35,8 @@ import { LineageEffects } from '../state/lineage/lineage.effects'; MatDialogModule, ProvenanceRoutingModule, StoreModule.forFeature(provenanceFeatureKey, reducers), - EffectsModule.forFeature(ProvenanceEventListingEffects, LineageEffects) + EffectsModule.forFeature(ProvenanceEventListingEffects, LineageEffects), + Navigation ] }) export class ProvenanceModule {} diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/feature/queue.component.html b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/feature/queue.component.html index c349efca0c..ee813dae39 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/feature/queue.component.html +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/feature/queue.component.html @@ -15,13 +15,11 @@ ~ limitations under the License. --> -
-
- -
-
+
+
+ +
+
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/feature/queue.component.spec.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/feature/queue.component.spec.ts index 1eb8b766a1..9a2cb5ce7a 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/feature/queue.component.spec.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/feature/queue.component.spec.ts @@ -22,15 +22,23 @@ import { provideMockStore } from '@ngrx/store/testing'; import { RouterModule } from '@angular/router'; import { RouterTestingModule } from '@angular/router/testing'; import { initialState } from '../state/queue-listing/queue-listing.reducer'; +import { Component } from '@angular/core'; describe('Queue', () => { let component: Queue; let fixture: ComponentFixture; + @Component({ + selector: 'navigation', + standalone: true, + template: '' + }) + class MockNavigation {} + beforeEach(() => { TestBed.configureTestingModule({ declarations: [Queue], - imports: [RouterModule, RouterTestingModule], + imports: [RouterModule, RouterTestingModule, MockNavigation], providers: [ provideMockStore({ initialState diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/feature/queue.module.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/feature/queue.module.ts index 222a2ec746..b8d398036a 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/feature/queue.module.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/feature/queue.module.ts @@ -17,17 +17,14 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { StoreModule } from '@ngrx/store'; -import { EffectsModule } from '@ngrx/effects'; import { Queue } from './queue.component'; import { QueueRoutingModule } from './queue-routing.module'; -import { queueFeatureKey, reducers } from '../state'; import { MatDialogModule } from '@angular/material/dialog'; -import { QueueListingEffects } from '../state/queue-listing/queue-listing.effects'; +import { Navigation } from '../../../ui/common/navigation/navigation.component'; @NgModule({ declarations: [Queue], exports: [Queue], - imports: [CommonModule, MatDialogModule, QueueRoutingModule] + imports: [CommonModule, MatDialogModule, QueueRoutingModule, Navigation] }) export class QueueModule {} diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/service/queue.service.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/service/queue.service.ts index 7d3322addf..afdd3e763a 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/service/queue.service.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/service/queue.service.ts @@ -16,16 +16,10 @@ */ import { Injectable } from '@angular/core'; -import { Observable, throwError } from 'rxjs'; +import { Observable } from 'rxjs'; import { HttpClient } from '@angular/common/http'; import { NiFiCommon } from '../../../service/nifi-common.service'; -import { ParameterContextUpdateRequest, SubmitParameterContextUpdate } from '../../../state/shared'; -import { - FlowFileSummary, - ListingRequest, - ListingRequestEntity, - SubmitQueueListingRequest -} from '../state/queue-listing'; +import { FlowFileSummary, ListingRequest, SubmitQueueListingRequest } from '../state/queue-listing'; @Injectable({ providedIn: 'root' }) export class QueueService { diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/ui/queue-listing/flowfile-table/flowfile-table.component.ts b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/ui/queue-listing/flowfile-table/flowfile-table.component.ts index 0f0480a3cf..2fdc7d5b76 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/ui/queue-listing/flowfile-table/flowfile-table.component.ts +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/queue/ui/queue-listing/flowfile-table/flowfile-table.component.ts @@ -22,11 +22,9 @@ import { BulletinsTip } from '../../../../../ui/common/tooltips/bulletins-tip/bu import { ValidationErrorsTip } from '../../../../../ui/common/tooltips/validation-errors-tip/validation-errors-tip.component'; import { NiFiCommon } from '../../../../../service/nifi-common.service'; import { NgForOf, NgIf } from '@angular/common'; -import { ProvenanceEventSummary } from '../../../../../state/shared'; import { RouterLink } from '@angular/router'; import { FlowFileSummary, ListingRequest } from '../../../state/queue-listing'; import { CurrentUser } from '../../../../../state/current-user'; -import { Flow } from '../../../../flow-designer/state/flow'; @Component({ selector: 'flowfile-table', diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/settings/feature/settings.component.html b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/settings/feature/settings.component.html index 7b9a734ec0..c1a6c9cf57 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/settings/feature/settings.component.html +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/settings/feature/settings.component.html @@ -15,14 +15,12 @@ ~ limitations under the License. --> -
-
+
+
+ +
+

NiFi Settings

- -
-