NIFI-15822: Adding support to view read only configuration of connect…#11168
Merged
rfellows merged 1 commit intoapache:mainfrom Apr 24, 2026
Merged
NIFI-15822: Adding support to view read only configuration of connect…#11168rfellows merged 1 commit intoapache:mainfrom
rfellows merged 1 commit intoapache:mainfrom
Conversation
…ors in the connector canvas. - Moving all configuration dialogs into top level ui components.
Contributor
|
Reviewing... |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…ors in the connector canvas.
Summary
NIFI-15822
Adds support for viewing the read-only configuration of components in the Connector canvas, and refactors the existing flow-designer configuration dialogs into a shared, reusable location.
Read-only configuration view (Connector canvas)
viewComponentConfigurationaction and effect that opens the appropriate configuration dialog (EditProcessor,EditConnection,EditPort,EditLabel,EditProcessGroup,EditRemoteProcessGroup) in a strictly read-only mode for the Connector canvas. Permissions on the entity are forced to read-only-without-write before the dialog is opened.getConnectionSourceComponentId,calculateCollisionBends) and stubbing helper callbacks (createNewProperty,createNewService,convertToParameter,goToParameter,goToService) so users cannot trigger edit affordances. Each dialog component already guards against absent callbacks.Dialog reorganization
pages/flow-designer/ui/canvas/items/into a sharedui/common/component-dialogs/location so they can be consumed by both the flow designer and the connector canvas:edit-connectionedit-portedit-labeledit-processoredit-process-groupedit-remote-process-groupStoreinjections. Data flows in via@Input()observables (saving$,currentUser$,availablePrioritizers$,breadcrumbs$,propertyVerification*$, etc.) and user actions flow out via@Output()event emitters (editProcessor,editConnection,editPort,editLabel,editProcessGroup,editRemoteProcessGroup,openNewParameterContext,verify, plus thestart/stop/enable/disable ComponentRequestoutputs on the processor dialog).EditComponentDialogRequest,EditConnectionDialogRequest,UpdateComponentRequest,UpdateProcessorRequest,UpdateConnectionRequest,StartComponentRequest,StopComponentRequest,EnableComponentRequest,DisableComponentRequest) and theConvertToParameterResponseinterface tostate/sharedso all dialog consumers depend on canonical types rather than feature-page services.pages/flow-designer/state/flow/index.tsandpages/flow-designer/state/shared/index.tsand updates all consumers to import directly from the canonicalstate/sharedlocation.Utility extraction
CanvasUtilsto a standaloneui/common/utils/component-state.utils.tsso the promoted dialogs do not depend on the flow-designerCanvasUtilsservice:runnableSupportsModificationremoteProcessGroupSupportsModificationgetComponentTypeForSourcegetComponentTypeForDestinationgetConnectableTypeForDestinationrunnableSupportsModificationandremoteProcessGroupSupportsModificationhelpers use optional chaining and nullish coalescing so they handle entities lacking nested status fields without throwing.getConnectionSourceComponentId(lookup) andcalculateCollisionBends(positioning) into@Inputcallbacks onEditConnectionso the dialog no longer reaches intoCanvasUtils.Test additions
connector-canvas.effects.spec.tscoverage forviewComponentConfiguration$exercising every supported component type, the read-only permission overrides, and theFunnelno-op guard.component-state.utils.spec.ts(25 cases) covering all five extracted helpers including the missing-status fallback.edit-process-group.component.spec.tscovering the parameter-context permission table and the visibility of the Create Parameter Context button under differentcurrentUser.parameterContextPermissions.canWritevalues.edit-remote-process-group.component.spec.tscovering the relocated dialog.Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking
Pull Request Tracking
NIFI-15822NIFI-15822VerifiedstatusPull Request Formatting
mainbranchVerification
Please indicate the verification steps performed prior to pull request creation.
Build
./mvnw clean install -P contrib-checkLicensing
LICENSEandNOTICEfilesDocumentation