This is an automated email from the ASF dual-hosted git repository.
scottyaslan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push:
new d78e817fe8 General improvements (#8627)
d78e817fe8 is described below
commit d78e817fe87c0168be49f71b871da2ef463b17e5
Author: Rob Fellows <[email protected]>
AuthorDate: Thu Apr 11 13:48:36 2024 -0400
General improvements (#8627)
* [NIFI-13021] - Fix - Status History dialog changes size when switching
selected metric
* [NIFI-13018] - Fix - Refreshing Node Status History when open for the
cluster, makes the incorrect backend call
* [NIFI-13023] - Fix - Right click on canvas while search results open
shows browser right-click menu
* [NIFI-13024] - Improvement - Support Enter to create selected extension
type
* [NIFI-13000] - Improvement - Prevent text selection in header, flow
status, canvas, extension creation dialog table.
* prettier
* color udpates for new theme classes, turn of text selection on the status
history charts
---
.../flow-designer/ui/canvas/canvas.component.html | 5 +-
.../header/flow-status/flow-status.component.html | 2 +-
.../ui/canvas/header/header.component.scss | 4 ++
.../new-canvas-item/new-canvas-item.component.scss | 4 ++
.../ui/canvas/header/search/search.component.html | 20 ++++----
.../ui/canvas/header/search/search.component.ts | 4 +-
.../change-version-progress-dialog.html | 4 +-
.../edit-parameter-context.component.html | 2 +-
.../flowfile-table/flowfile-table.component.html | 2 +-
.../parameter-groups-table.component.html | 4 +-
.../parameter-providers-table.component.html | 4 +-
.../state/status-history/status-history.effects.ts | 36 ++++++++++++-
.../component-state/component-state.component.html | 4 +-
.../controller-service-references.component.html | 10 +---
.../disable-controller-service.component.html | 6 +--
.../enable-controller-service.component.html | 6 +--
.../extension-creation.component.html | 33 ++++++++----
.../extension-creation.component.ts | 60 ++++++++++++++++++++--
.../ui/common/navigation/navigation.component.html | 2 +-
.../parameter-references.component.html | 10 +---
.../status-history-chart.component.html | 2 +-
.../status-history/status-history.component.scss | 5 ++
22 files changed, 161 insertions(+), 68 deletions(-)
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/canvas.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/canvas.component.html
index 9054ddb323..85fb83e8ab 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/canvas.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/canvas.component.html
@@ -18,7 +18,10 @@
<div class="flex flex-col h-screen justify-between">
<fd-header></fd-header>
<div class="flex-1">
- <div id="canvas-container" class="canvas-background h-full"
[cdkContextMenuTriggerFor]="contextMenu.menu"></div>
+ <div
+ id="canvas-container"
+ class="canvas-background h-full select-none"
+ [cdkContextMenuTriggerFor]="contextMenu.menu"></div>
<fd-context-menu #contextMenu [menuProvider]="canvasContextMenu"
menuId="root"></fd-context-menu>
<graph-controls></graph-controls>
</div>
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.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/flow-status/flow-status.component.html
index ff5d3bd30f..6be27a229f 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.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/flow-status/flow-status.component.html
@@ -15,7 +15,7 @@
~ limitations under the License.
-->
-<div class="h-8 flow-status">
+<div class="h-8 flow-status select-none">
<div class="flex justify-between">
<div class="flex flex-1 justify-around pr-20">
@if (clusterSummary?.clustered) {
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.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/header.component.scss
index 2944f98194..f0dfba977a 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.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/header.component.scss
@@ -14,3 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
+new-canvas-item:focus-visible {
+ outline: none;
+}
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/new-canvas-item/new-canvas-item.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/new-canvas-item/new-canvas-item.component.scss
index f02f654e26..423d8ab3b2 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/new-canvas-item/new-canvas-item.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/new-canvas-item/new-canvas-item.component.scss
@@ -32,6 +32,10 @@
}
}
+ button:focus-visible {
+ outline: none;
+ }
+
.icon-import-from-registry-add:before {
margin-left: 1px;
}
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/search/search.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/search/search.component.html
index abf20a2b40..899e434cb2 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/search/search.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/search/search.component.html
@@ -18,15 +18,6 @@
<div class="h-8 flex justify-around search-container"
[class.open]="searchInputVisible">
<button class="w-8" (click)="toggleSearchVisibility()"><i class="fa
fa-search primary-color"></i></button>
<form [formGroup]="searchForm">
- <input
- type="text"
- matInput
- placeholder="Search"
- class="search-input on-surface-default"
- [class.open]="searchInputVisible"
- cdkOverlayOrigin
- #searchInput="cdkOverlayOrigin"
- formControlName="searchBar" />
<ng-template
cdkConnectedOverlay
[cdkConnectedOverlayOrigin]="searchInput"
@@ -34,7 +25,7 @@
[cdkConnectedOverlayPositions]="positions"
[cdkConnectedOverlayHasBackdrop]="true"
[cdkConnectedOverlayBackdropClass]="'cdk-overlay-transparent-backdrop'"
- (backdropClick)="backdropClicked()">
+ (overlayOutsideClick)="backdropClicked($event)">
<div class="search-results w-96 border p-2 text-sm max-h-96
overflow-y-auto">
@if (searching) {
<div class="unset nifi-surface-default
italic">Searching</div>
@@ -185,6 +176,15 @@
}
</div>
</ng-template>
+ <input
+ type="text"
+ matInput
+ placeholder="Search"
+ class="search-input on-surface-default"
+ [class.open]="searchInputVisible"
+ cdkOverlayOrigin
+ #searchInput="cdkOverlayOrigin"
+ formControlName="searchBar" />
<ng-template #renderResults let-results let-header="header"
let-icon="icon" let-path="path">
<li class="flex items-center">
<span class="icon mr-1" [class]="icon"></span>
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/search/search.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/search/search.component.ts
index b5e3134104..aa49279a03 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/search/search.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/search/search.component.ts
@@ -170,7 +170,9 @@ export class Search implements OnInit {
);
}
- backdropClicked() {
+ backdropClicked(event: MouseEvent): void {
+ event.stopPropagation();
+ event.preventDefault();
this.searchingResultsVisible = false;
this.searchForm.get('searchBar')?.setValue('');
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/items/flow/change-version-progress-dialog/change-version-progress-dialog.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/items/flow/change-version-progress-dialog/change-version-progress-dialog.html
index cbe532f053..bea31874c3 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/items/flow/change-version-progress-dialog/change-version-progress-dialog.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/items/flow/change-version-progress-dialog/change-version-progress-dialog.html
@@ -31,9 +31,7 @@
<mat-progress-bar
mode="determinate"
[value]="versionChangeRequest.request.percentCompleted"></mat-progress-bar>
- <div class="accent-color font-medium">
- {{ versionChangeRequest.request.percentCompleted }}%
- </div>
+ <div class="accent-color font-medium">{{
versionChangeRequest.request.percentCompleted }}%</div>
</div>
}
</div>
diff --git
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/parameter-contexts/ui/parameter-context-listing/edit-parameter-context/edit-parameter-context.component.html
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/parameter-contexts/ui/parameter-context-listing/edit-parameter-context/edit-parameter-context.component.html
index 4360eaf715..585b4209a1 100644
---
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/parameter-contexts/ui/parameter-context-listing/edit-parameter-context/edit-parameter-context.component.html
+++
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/parameter-contexts/ui/parameter-context-listing/edit-parameter-context/edit-parameter-context.component.html
@@ -30,7 +30,7 @@
{{ updateStep.description }}
</div>
@if (updateStep.failureReason) {
- <div class="fa fa-times mat-warn"></div>
+ <div class="fa fa-times warn-color"></div>
} @else {
@if (updateStep.complete) {
<div class="fa fa-check
nifi-success-default"></div>
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.html
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.html
index 0ecde1a1dd..9fd134b593 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.html
+++
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.html
@@ -24,7 +24,7 @@
formatBytes(queueSizeByteCount)
}}) bytes
</div>
- <div class="listing-message mat-warn">
+ <div class="listing-message warn-color">
@if (sourceRunning && destinationRunning) {
The source and destination of this queue are currently
running. This listing may no longer be accurate.
} @else {
diff --git
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/settings/ui/parameter-providers/fetch-parameter-provider-parameters/parameter-groups-table/parameter-groups-table.component.html
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/settings/ui/parameter-providers/fetch-parameter-provider-parameters/parameter-groups-table/parameter-groups-table.component.html
index fa6854bda4..ea13206db4 100644
---
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/settings/ui/parameter-providers/fetch-parameter-provider-parameters/parameter-groups-table/parameter-groups-table.component.html
+++
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/settings/ui/parameter-providers/fetch-parameter-provider-parameters/parameter-groups-table/parameter-groups-table.component.html
@@ -38,9 +38,7 @@
<td mat-cell *matCellDef="let item">
<div class="flex items-center gap-x-3">
@if (isSyncedToParameterContext(item)) {
- <div
- class="fa fa-star primary-color"
- title="Synced to a parameter
context."></div>
+ <div class="fa fa-star primary-color"
title="Synced to a parameter context."></div>
}
</div>
</td>
diff --git
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/settings/ui/parameter-providers/parameter-providers-table/parameter-providers-table.component.html
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/settings/ui/parameter-providers/parameter-providers-table/parameter-providers-table.component.html
index 243e353ce2..6ab8237df8 100644
---
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/settings/ui/parameter-providers/parameter-providers-table/parameter-providers-table.component.html
+++
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/pages/settings/ui/parameter-providers/parameter-providers-table/parameter-providers-table.component.html
@@ -34,9 +34,7 @@
@if (canRead(item)) {
<div class="flex items-center gap-x-3">
<!-- TODO: open details -->
- <div
- class="pointer fa fa-info-circle
primary-color"
- title="View details"></div>
+ <div class="pointer fa fa-info-circle
primary-color" title="View details"></div>
<div
class="pointer fa fa-book
primary-color"
diff --git
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/state/status-history/status-history.effects.ts
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/state/status-history/status-history.effects.ts
index dea6e81c2a..6a8469e0b9 100644
---
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/state/status-history/status-history.effects.ts
+++
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/state/status-history/status-history.effects.ts
@@ -22,7 +22,7 @@ import { NiFiState } from '../index';
import { StatusHistoryService } from '../../service/status-history.service';
import * as StatusHistoryActions from './status-history.actions';
import { StatusHistoryRequest } from './index';
-import { catchError, from, map, of, switchMap, tap } from 'rxjs';
+import { catchError, filter, from, map, of, switchMap, tap } from 'rxjs';
import { MatDialog } from '@angular/material/dialog';
import { StatusHistory } from
'../../ui/common/status-history/status-history.component';
@@ -35,10 +35,11 @@ export class StatusHistoryEffects {
private dialog: MatDialog
) {}
- reloadStatusHistory$ = createEffect(() =>
+ reloadComponentStatusHistory$ = createEffect(() =>
this.actions$.pipe(
ofType(StatusHistoryActions.reloadStatusHistory),
map((action) => action.request),
+ filter((request) => !!request.componentId &&
!!request.componentType),
switchMap((request: StatusHistoryRequest) =>
from(
this.statusHistoryService
@@ -67,6 +68,37 @@ export class StatusHistoryEffects {
)
);
+ reloadNodeStatusHistory$ = createEffect(() =>
+ this.actions$.pipe(
+ ofType(StatusHistoryActions.reloadStatusHistory),
+ map((action) => action.request),
+ filter((request) => !request.componentId &&
!request.componentType),
+ switchMap(() =>
+ from(
+ this.statusHistoryService.getNodeStatusHistory().pipe(
+ map((response: any) =>
+ StatusHistoryActions.reloadStatusHistorySuccess({
+ response: {
+ statusHistory: {
+ canRead: response.canRead,
+ statusHistory: response.statusHistory
+ }
+ }
+ })
+ ),
+ catchError((error) =>
+ of(
+ StatusHistoryActions.statusHistoryApiError({
+ error: error.error
+ })
+ )
+ )
+ )
+ )
+ )
+ )
+ );
+
getStatusHistoryAndOpenDialog$ = createEffect(() =>
this.actions$.pipe(
ofType(StatusHistoryActions.getStatusHistoryAndOpenDialog),
diff --git
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/component-state/component-state.component.html
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/component-state/component-state.component.html
index d2cac26ff8..3ec36528de 100644
---
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/component-state/component-state.component.html
+++
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/component-state/component-state.component.html
@@ -33,9 +33,7 @@
</div>
<div>
<form [formGroup]="filterForm" class="flex flex-col gap-y-2">
- <div class="accent-color font-medium">
- Displaying {{ filteredEntries }} of {{ totalEntries }}
- </div>
+ <div class="accent-color font-medium">Displaying {{
filteredEntries }} of {{ totalEntries }}</div>
<div class="flex justify-between items-center">
<mat-form-field>
<mat-label>Filter</mat-label>
diff --git
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/controller-service/controller-service-references/controller-service-references.component.html
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/controller-service/controller-service-references/controller-service-references.component.html
index f8c0c77649..42f6a96b6f 100644
---
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/controller-service/controller-service-references/controller-service-references.component.html
+++
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/controller-service/controller-service-references/controller-service-references.component.html
@@ -121,11 +121,7 @@
<ng-template #service let-references>
@if (references.length > 0) {
<li>
- <h4>
- <span class="accent-color font-medium">Controller
Services</span> ({{
- references.length
- }})
- </h4>
+ <h4><span class="accent-color font-medium">Controller
Services</span> ({{ references.length }})</h4>
<div class="references">
@for (service of references; track service) {
<div class="flex flex-col">
@@ -179,9 +175,7 @@
<ng-template #unauthorized let-references>
@if (references.length > 0) {
<li>
- <h4>
- <span class="accent-color
font-medium">Unauthorized</span> ({{ references.length }})
- </h4>
+ <h4><span class="accent-color
font-medium">Unauthorized</span> ({{ references.length }})</h4>
<div class="references">
@for (reference of references; track reference) {
<div class="flex">
diff --git
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/controller-service/disable-controller-service/disable-controller-service.component.html
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/controller-service/disable-controller-service/disable-controller-service.component.html
index a86b5d2dd2..3b0024ec76 100644
---
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/controller-service/disable-controller-service/disable-controller-service.component.html
+++
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/controller-service/disable-controller-service/disable-controller-service.component.html
@@ -114,9 +114,7 @@
</div>
}
<div class="flex justify-between
items-center">
- <div class="accent-color font-medium">
- Disabling this controller service
- </div>
+ <div class="accent-color
font-medium">Disabling this controller service</div>
<ng-container
*ngTemplateOutlet="
getTemplateForStep(SetEnableStep.DisableService, disableRequest)
@@ -165,6 +163,6 @@
<div class="complete fa fa-check nifi-success-default"></div>
</ng-template>
<ng-template #stepError>
- <div class="fa fa-times mat-warn"></div>
+ <div class="fa fa-times warn-color"></div>
</ng-template>
<ng-template #stepNotStarted><div class="w-3.5"></div></ng-template>
diff --git
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/controller-service/enable-controller-service/enable-controller-service.component.html
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/controller-service/enable-controller-service/enable-controller-service.component.html
index 5edf7f35ee..fe5cebc955 100644
---
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/controller-service/enable-controller-service/enable-controller-service.component.html
+++
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/controller-service/enable-controller-service/enable-controller-service.component.html
@@ -94,9 +94,7 @@
</div>
<div class="flex flex-col gap-y-1.5">
<div class="flex justify-between
items-center">
- <div class="accent-color font-medium">
- Enabling this controller service
- </div>
+ <div class="accent-color
font-medium">Enabling this controller service</div>
<ng-container
*ngTemplateOutlet="
getTemplateForStep(SetEnableStep.EnableService, enableRequest)
@@ -186,6 +184,6 @@
<div class="complete fa fa-check nifi-success-default"></div>
</ng-template>
<ng-template #stepError>
- <div class="fa fa-times mat-warn"></div>
+ <div class="fa fa-times warn-color"></div>
</ng-template>
<ng-template #stepNotStarted><div class="w-3.5"></div></ng-template>
diff --git
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/extension-creation/extension-creation.component.html
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/extension-creation/extension-creation.component.html
index 565a46a69a..63f6958f92 100644
---
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/extension-creation/extension-creation.component.html
+++
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/extension-creation/extension-creation.component.html
@@ -15,7 +15,7 @@
~ limitations under the License.
-->
-<section tabindex="0">
+<section tabindex="0" (keyup)="navigateSelectionList($event)">
<div class="extension-creation-dialog p-4 flex flex-col justify-between
gap-y-3">
<div class="flex justify-between items-center">
<h3 class="text-lg">Add {{ componentType }}</h3>
@@ -32,7 +32,7 @@
</mat-form-field>
</div>
</div>
- <div class="listing-table">
+ <div class="listing-table select-none">
<div class="h-96 overflow-y-auto overflow-x-hidden">
<table
mat-table
@@ -46,14 +46,27 @@
<ng-container matColumnDef="type">
<th mat-header-cell *matHeaderCellDef
mat-sort-header>Type</th>
<td mat-cell *matCellDef="let item">
- <div
- class="fa"
- [class.fa-shield]="item.restricted"
- [class.mat-warn]="item.restricted"
- nifiTooltip
- [tooltipComponentType]="RestrictionsTip"
-
[tooltipInputData]="getRestrictionTipData(item)"></div>
- {{ formatType(item) }}
+ @if (isSelected(item)) {
+ <div #selectedRow>
+ <div
+ class="fa"
+ [class.fa-shield]="item.restricted"
+ [class.warn-color]="item.restricted"
+ nifiTooltip
+
[tooltipComponentType]="RestrictionsTip"
+
[tooltipInputData]="getRestrictionTipData(item)"></div>
+ {{ formatType(item) }}
+ </div>
+ } @else {
+ <div
+ class="fa"
+ [class.fa-shield]="item.restricted"
+ [class.warn-color]="item.restricted"
+ nifiTooltip
+ [tooltipComponentType]="RestrictionsTip"
+
[tooltipInputData]="getRestrictionTipData(item)"></div>
+ {{ formatType(item) }}
+ }
</td>
</ng-container>
diff --git
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/extension-creation/extension-creation.component.ts
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/extension-creation/extension-creation.component.ts
index 9ff1185960..d7a3338640 100644
---
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/extension-creation/extension-creation.component.ts
+++
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/extension-creation/extension-creation.component.ts
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-import { Component, EventEmitter, Input, Output } from '@angular/core';
+import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from
'@angular/core';
import { MatButtonModule } from '@angular/material/button';
import { MatDialogModule } from '@angular/material/dialog';
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
@@ -68,6 +68,8 @@ export class ExtensionCreation {
@Output() extensionTypeSelected: EventEmitter<DocumentedType> = new
EventEmitter<DocumentedType>();
+ @ViewChild('selectedRow', { static: false }) selectedRow: ElementRef |
null | undefined;
+
protected readonly RestrictionsTip = RestrictionsTip;
protected readonly ControllerServiceApiTip = ControllerServiceApiTip;
@@ -133,10 +135,23 @@ export class ExtensionCreation {
return '';
}
- filterTypes(event: Event): void {
+ filterTypes(event: KeyboardEvent): void {
+ switch (event.key) {
+ case 'Enter':
+ case 'ArrowUp':
+ case 'ArrowDown':
+ // handled in navigateSelectionList
+ return;
+ }
+
const filterText: string = (event.target as HTMLInputElement).value;
this.dataSource.filter = filterText.trim().toLowerCase();
- this.selectedType = null;
+
+ if (this.dataSource.filteredData.length > 0) {
+ this.selectType(this.dataSource.filteredData[0]);
+ } else {
+ this.selectedType = null;
+ }
}
selectType(documentedType: DocumentedType): void {
@@ -156,6 +171,45 @@ export class ExtensionCreation {
}
}
+ navigateSelectionList(event: KeyboardEvent): void {
+ if (this.selectedType !== null) {
+ switch (event.key) {
+ case 'Enter':
+ this.createExtension(this.selectedType);
+ break;
+ case 'ArrowUp':
+ this.selectRow(-1);
+ break;
+ case 'ArrowDown':
+ this.selectRow(1);
+ break;
+ }
+ if (this.selectedRow) {
+ this.selectedRow?.nativeElement.scrollIntoView({
+ behavior: 'instant',
+ block: 'center',
+ inline: 'nearest'
+ });
+ }
+ }
+ }
+
+ private selectRow(offset: number) {
+ if (this.selectedType && this.dataSource.filteredData.length > 0) {
+ // find the index of the currently selected row
+ const selectedIndex = this.dataSource.filteredData.findIndex(
+ (data) => data.type === this.selectedType?.type
+ );
+
+ if (selectedIndex > -1) {
+ const newSelectedIndex = selectedIndex + offset;
+ if (newSelectedIndex > -1 && newSelectedIndex <
this.dataSource.filteredData.length) {
+
this.selectType(this.dataSource.filteredData[newSelectedIndex]);
+ }
+ }
+ }
+ }
+
sortData(sort: Sort) {
this.activeSort = sort;
this.dataSource.data = this.sortEntities(this.dataSource.data, sort);
diff --git
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/navigation/navigation.component.html
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/navigation/navigation.component.html
index 6adb28f7c8..5f442bbd37 100644
---
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/navigation/navigation.component.html
+++
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/navigation/navigation.component.html
@@ -15,7 +15,7 @@
~ limitations under the License.
-->
-<nav class="nifi-navigation">
+<nav class="nifi-navigation select-none">
<div class="flex justify-between items-center h-16 pl-4">
<div class="flex">
<div class="h-16 w-28 mr-6 relative">
diff --git
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/parameter-references/parameter-references.component.html
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/parameter-references/parameter-references.component.html
index 526c36d819..7de673df91 100644
---
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/parameter-references/parameter-references.component.html
+++
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/parameter-references/parameter-references.component.html
@@ -90,11 +90,7 @@
<ng-template #service let-references>
@if (references.length > 0) {
<li>
- <h4>
- <span class="accent-color font-medium">Controller
Services</span> ({{
- references.length
- }})
- </h4>
+ <h4><span class="accent-color font-medium">Controller
Services</span> ({{ references.length }})</h4>
<div class="references">
@for (service of references; track service) {
<div class="flex flex-col">
@@ -132,9 +128,7 @@
<ng-template #unauthorized let-references>
@if (references.length > 0) {
<li>
- <h4>
- <span class="accent-color
font-medium">Unauthorized</span> ({{ references.length }})
- </h4>
+ <h4><span class="accent-color
font-medium">Unauthorized</span> ({{ references.length }})</h4>
<div class="references">
@for (reference of references; track reference) {
<div class="flex">
diff --git
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/status-history/status-history-chart/status-history-chart.component.html
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/status-history/status-history-chart/status-history-chart.component.html
index 823d73664f..8847edc710 100644
---
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/status-history/status-history-chart/status-history-chart.component.html
+++
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/status-history/status-history-chart/status-history-chart.component.html
@@ -15,7 +15,7 @@
~ limitations under the License.
-->
-<div id="status-history-container" class="flex-1 flex flex-col">
+<div id="status-history-container" class="flex-1 flex flex-col select-none">
<div id="status-history-chart-container" class="grow"></div>
<div id="status-history-chart-control-container"></div>
</div>
diff --git
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/status-history/status-history.component.scss
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/status-history/status-history.component.scss
index 165ea615f2..0d420ac1ca 100644
---
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/status-history/status-history.component.scss
+++
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-frontend/src/main/nifi/src/app/ui/common/status-history/status-history.component.scss
@@ -41,6 +41,11 @@
.chart-panel {
min-width: 495px;
}
+
+ .component-details {
+ min-width: 300px;
+ max-width: 300px;
+ }
}
}