NIFI-15959: Rendering a banner when a previously selected value in a …#11270
NIFI-15959: Rendering a banner when a previously selected value in a …#11270mcgilman wants to merge 1 commit into
Conversation
…STRING_LIST property is no longer available. STRING_LIST is handled specifically because the UI automatically deselects it unlike single selection.
|
reviewing... |
rfellows
left a comment
There was a problem hiding this comment.
A few things inline... I'd also welcome some eyes on this from @scottyaslan when he has a chance.
| .banner-container { | ||
| ul { | ||
| list-style-type: disc; | ||
| list-style-position: inside; | ||
| } | ||
|
|
||
| .error-banner-message { | ||
| word-break: break-word; | ||
| } | ||
| } |
There was a problem hiding this comment.
these can all be just tailwind styles in the template.
| limitations under the License. | ||
| --> | ||
|
|
||
| <div class="status-banner-container status-variant p-4 flex gap-x-2 text-sm rounded-lg" [class]="variant"> |
There was a problem hiding this comment.
I'm concerned that we now have 2 competing flavors of warning/caution banners. one is the overlapping-connections-banner used on the canvas:
and now this one that looks much more re-usable but also not as clean to look at.

I think we should leverage the new component, but consider updating the look of it to be more pleasing to the eye.
| switch (variant) { | ||
| case 'success': | ||
| return 'fa-check-circle'; | ||
| case 'active': |
There was a problem hiding this comment.
The shared .status-variant theme only defines neutral, critical, caution, success, and info in nifi-frontend/src/main/frontend/libs/shared/src/assets/themes/material.scss:366 and :883. That means a future status-banner caller using active would get the icon choice but not the matching container styling.
I think we can get rid of this case
| case 'active': |
…STRING_LIST property is no longer available. STRING_LIST is handled specifically because the UI automatically deselects it unlike single selection.
Summary
When a connector configuration step loads allowable values for a STRING_LIST multi-select, saved selections that are no longer in the catalog are automatically removed from the form control. The configuration step shows a dismissible caution banner listing which property(ies) lost values and what was stripped. Single-select properties are unchanged: stale values remain visible as disabled “(no longer available)” options so the user can pick a replacement.
Also introduces reusable
StatusBannerandBannercomponents and migratesWizardContextBannerfrom legacyErrorBannertoBanner→StatusBanner, sovariant(e.g.critical) is honored for wizard store errors. Verify-all general errors on the config step still useErrorBannerfor now.Changes
STRING_LIST orphan detection (
connector-property-input)afterNextRender(stringListStripScheduled) and emitsstringListOrphansStrippedonce per strip pass.StringListOrphansStrippedEventinconnector-property-input.types.ts.Configuration step banner
stringListOrphansStripped, maintains per-property banner entries (replace on re-strip for same property).StatusBannerwith intro copy, property labels, removed values (cap 20 + “… and N more”), dismiss, and clear on form re-init.(stringListOrphansStripped)on eachconnector-property-inputin the step template.Banner components
StatusBanner: themed status shell (FA4 icons,fa-2xto matchErrorBanner), icon dismiss, content projection +statusBannerTitle/statusBannerDescriptiondirectives.Banner: message list wrapper (single vs list, dedupe) overStatusBanner.WizardContextBanner: thin store adapter →<banner>(replacesErrorBanner).Exports
banner,status-banner, directives, andconnector-property-input.typesexported fromlibs/sharedindex.ts.