You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(apollo-react): the natural-language sentence view of a decision table [ECS-2138] [ECS-2164] - #1543
Adds DecisionText, a read-only view that shows each rule of a decision table as a sentence card: the outputs on top, then the conditions. It sits next to DecisionTable, uses the same TableMarks and windowing, and reports the hovered value cell so a host can highlight it in the grid. Marks paint the cards as the grid's rule card does, a condition line shows its run verdict as a check or cross that screen readers read out, and an optional add-rule action follows the rules and fills the empty state. All copy comes in through labels, as with the grid. ECS-2138
Studio Web will host it with the sentences from @uipath/dmn-editor-utils/sentences (UiPath/PO.Frontend#8098); the story data is that package's real output for the grid story's table. Selection, keyboard and editing follow in later PRs.
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
Index-keyed tokens can leave the wrong cell highlighted when columns are replaced or reordered because the hovered span’s current cell identity is not revalidated after rendering.
Per-package coverage and bundle size on this PR. New-line coverage = of the source lines this PR adds or changes, the % hit by tests.
Package
Coverage
New-line coverage
Packed (gzip)
Unpacked
vs main
@uipath/apollo-core
—
—
42.02 MB
50.17 MB
±0
@uipath/apollo-react
60.1%
91.1% (319/350)
2.53 MB
14.20 MB
+36.3 KB
@uipath/apollo-ui-icons
—
—
2.86 MB
6.97 MB
±0
@uipath/apollo-vertex
—
—
—
—
—
@uipath/apollo-wind
—
—
909.2 KB
5.12 MB
+23 B
@uipath/ap-chat
85.8%
—
40.48 MB
46.10 MB
±0
"Coverage" is each package's own coverage.include scope (e.g. apollo-core instruments only scripts/). "Packed"/"Unpacked" come from npm pack --dry-run and only cover built packages — "—" means not measured this run (package not affected / not built). "vs main" is the packed (gzipped) delta against the last successful main build (the package-sizes artifact from the Release workflow); "—" there means no main baseline was available this run. The baseline is main's latest build, not this PR's exact merge-base, so it includes any drift since the branch diverged. Packages with no vitest config are omitted.
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
Active issues drop an Age predicate from both the sentence and overflow tooltip and leave visible blank space because mixed-height scrolling fails to mount all visible rules.
With an 800px viewport, a 1,264px sentence row followed by 64px rows leaves 159px of blank spacer visible when scrolled 1,263px into the list. The shared hook calculates the window end from the anchor's top and only advances that anchor after enough row boundaries are crossed, so scrolling within or just past a tall row does not mount all visible rules. Derive the window end from the live visible range, refresh it even when the anchor is unchanged, and add a mixed-height scrolling regression test.
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
The early return leaves subsequent oversized column runs unbounded, allowing thousands of visually truncated tokens to mount; each run needs a limit and a two-large-run regression test.
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
Human assessment is needed to evaluate the visibility and accessibility impact of diagnostics disappearing when their cells are omitted from rule sentences.
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
Consumer class names can overwrite required scrolling and positioning styles, breaking windowing, and warning/error glyphs do not display their messages on hover.
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
Matched and unmatched outcomes are indistinguishable to screen readers because the verdict icons are hidden from assistive technology and no accessible text announces the result.
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
Matched and unmatched condition icons are hidden from assistive technology without equivalent accessible text, preventing screen-reader users from distinguishing passing and failing conditions.
… past a tall item [ECS-2138]
An item taller than the viewport could leave the items after it unmounted while still visible.
The window now extends its end to the visible end, and drops that extension once the anchor jumps.
…table [ECS-2138]
DecisionText shows each rule as a sentence card painted by the grid's TableMarks, windowed,
with run verdicts read out, the hovered value cell reported and an optional add-rule action.
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
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.
Adds
DecisionText, a read-only view that shows each rule of a decision table as a sentence card: the outputs on top, then the conditions. It sits next toDecisionTable, uses the sameTableMarksand windowing, and reports the hovered value cell so a host can highlight it in the grid. Marks paint the cards as the grid's rule card does, a condition line shows its run verdict as a check or cross that screen readers read out, and an optional add-rule action follows the rules and fills the empty state. All copy comes in throughlabels, as with the grid. ECS-2138Studio Web will host it with the sentences from
@uipath/dmn-editor-utils/sentences(UiPath/PO.Frontend#8098); the story data is that package's real output for the grid story's table. Selection, keyboard and editing follow in later PRs.