Skip to content

docs(table): document conditional-formatting indicator icons - #11448

Merged
igorlukanin merged 1 commit into
masterfrom
igor/cub-2411-table-cf-icons
Aug 4, 2026
Merged

docs(table): document conditional-formatting indicator icons#11448
igorlukanin merged 1 commit into
masterfrom
igor/cub-2411-table-cf-icons

Conversation

@igorlukanin

@igorlukanin igorlukanin commented Aug 1, 2026

Copy link
Copy Markdown
Member

Summary

  • Documents the indicator icons a conditional-formatting case can draw beside a table cell's value — arrow up, arrow down, check mark, cross, dash, or dot, with an icon color and a left/right placement.
  • Defines rule and case in the parent section. Both are shipped UI labels (Add case, Case, Drag case), and the page previously used "case" as its primary unit without ever introducing it.
  • Describes the Add rule preset menu once, in a new Rule presets section. It has three groups — Indicators, Conditional formats, Color scales — and the middle one was undocumented, so 3-tier traffic light looked as though it had been removed when it is simply a color preset rather than an icon one.
  • Hoists the precedence rule (first matching case in the first matching rule wins) out of Indicator icons into the parent section, since it governs all conditional formatting.
  • Fixes the inline list of what a case can style, which said "(background color, text color)" and had already fallen behind the bold/italic/underline controls, and corrects the Type selector labels to the shipped Conditional / Scale.

Test plan

  • Every UI label quoted here checked against the shipped strings
  • Preset labels, conditions, and the 0 threshold default checked against presets.ts and colorScalePresets.ts
  • Anchors resolve to headings that exist on the page
  • Mintlify preview renders

@igorlukanin
igorlukanin requested a review from keydunov as a code owner August 1, 2026 16:01
@mintlify

mintlify Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
cubed3 🟢 Ready View Preview Aug 1, 2026, 4:02 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@claude

claude Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Claude finished @igorlukanin's task in 1m 29s —— View job


Docs-only change, reads accurately — 0 blocking, 3 medium (terminology, duplicated preset menu, misplaced precedence rule), 2 low

Full review
  • Read the PR diff
  • Verify anchors resolve on the page
  • Check UI labels against shipped strings in the codebase
  • Check docs conventions (docs-mintlify/CLAUDE.md)
  • Post review

Scope

One file, docs only — docs-mintlify/docs/explore-analyze/charts/chart-types/table.mdx, +16/−1. No code, tests, security, or performance surface, so the code-quality/security/performance sections of the standard checklist don't apply here.

What's correct

  • Anchors all resolve. #indicator-icons → the new ### Indicator icons heading; #inline-bars → line 101; #sparklines → line 118. No dead links introduced.
  • The line 257 fix is a real fix. The parenthetical had genuinely fallen behind — the bold/italic/underline controls are documented at line 207 for Headers/Values/Totals but were missing from the conditional-formatting list.
  • Cross-section facts line up. "totals rows are never given one" is consistent with the existing "totals rows don't take formatting rules" at line 311, and the inline-bars/sparklines interaction correctly matches the Show value toggles documented at lines 108 and 138.
  • Conventions followed — starts at ### under an existing ##, no H1, root-relative links, no committed images (screenshot placeholder convention respected), no naming-convention violations.

Findings

# Severity Where Issue
1 Medium line 267 case becomes the primary unit of explanation but is never defined; the parent section only says "rules" and "conditions"
2 Medium line 276 vs 284 The Add rule preset menu is now described in two places with two different incomplete lists; Traffic light gradient and 3-tier traffic light sit in the same menu with no disambiguation
3 Medium line 278 "first matching case in the first matching rule wins" is page-wide precedence, documented only under Indicator icons
4 Low lines 269–272 Options are prose bullets, but every comparable option set on this page (lines 105–112, 130–138, 223–229) uses an Option | Description table. A two-row table would match the page.
5 Low lines 267, 274 Slightly chatty for the "be concise, don't pad" rule in docs-mintlify/CLAUDE.md — "This is how you show a goal comparison" and "never instead of it" both restate what the surrounding sentences already establish. Trimmable, not wrong.

Details on 1–3 are in inline comments.

One caveat on the test plan

  • Every UI label quoted here checked against the shipped strings

I could not independently confirm this. The table visualization's frontend isn't in this repo — grepping for Icon placement, iconPlacement, and traffic light returns only this .mdx file itself. So Icon color, Icon placement, None, and 3-tier traffic light rest entirely on your check against the closed source. Flagging so it's on the record, not disputing it — the labels are the part most likely to drift, and there's no test in this repo that would catch it.

• [Branch `igor/cub-2411-table-cf-icons`](https://github.com/cube-js/cube/tree/igor/cub-2411-table-cf-icons)

Comment thread docs-mintlify/docs/explore-analyze/charts/chart-types/table.mdx Outdated
Comment thread docs-mintlify/docs/explore-analyze/charts/chart-types/table.mdx Outdated
Comment thread docs-mintlify/docs/explore-analyze/charts/chart-types/table.mdx Outdated
@claude

claude Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Claude finished @igorlukanin's task in 1m 36s —— View job


Re-review of the new commit — still docs-only and accurate. 0 blocking, 2 medium (both carried over), 2 low. Resolved 1 stale thread of mine.

Full review
  • Read the updated diff (5d229bd)
  • Check which of my 3 prior threads the new commit addresses
  • Verify anchors and cross-section consistency still hold
  • Resolve stale threads, post review

What changed since my last pass

5d229bd — +11/−3, same single file:

  • Shape list grew: check mark and cross added alongside arrow up / arrow down / dash / dot.
  • NoneNo icon, and "the case's formatting row" → "the icon dropdown on the case's indicator row".
  • The 3-tier traffic light sentence is gone, replaced by an Indicators preset group with three entries (Achieved or failed, Above or below, Standout or not) and a note that the threshold defaults to 0.

Anchors still resolve (#inline-bars → 101, #sparklines → 118, #indicator-icons → 265). The line 257 parenthetical fix and the totals-row consistency I confirmed last time are untouched.

Prior threads

Thread Status
Duplicated Add rule preset menu / Traffic light gradient vs 3-tier traffic light Resolved — the confusable preset is gone and the new text names the Indicators group. Residual point below.
"case" used but never defined Still applies — left unresolved. Line 267 still opens with "A conditional-formatting case", and the parent section (253–261) still speaks only of rules and conditions.
Precedence rule buried under Indicator icons (line 286) Still applies — left unresolved, text unchanged.

New findings

# Severity Where Issue
1 Low line 292 Residual of the resolved thread — the color-scale lead-in still reads as if the Add rule menu holds color-scale presets only. Inline suggestion posted (GitHub wouldn't anchor it; noting here too): naming the group, e.g. "pick a Color scales preset", makes the two descriptions of one menu non-exclusive.
2 Low line 276 The three-tier example no longer has a preset backing it — all three Indicators presets are two-case. Inline comment posted.

Also noted, not worth a thread: "indicator row" (line 269) replaces "formatting row" as the name for where the dropdown lives, and neither term is introduced anywhere on the page — same underlying gap as the undefined "case". If you address the "case" thread, defining the row alongside it costs one clause.

"Standout or not" describing strictly above while the other two say at or above looks deliberate rather than sloppy — flagging only so you can confirm it matches the shipped comparison operators.

Same caveat as last time

The new labels — No icon, Achieved or failed, Above or below, Standout or not, and the 0 threshold default — are still unverifiable from this repo; grepping finds only this .mdx. They rest on your check against the closed-source frontend. Nothing in CI here would catch drift.

• [Branch `igor/cub-2411-table-cf-icons`](https://github.com/cube-js/cube/tree/igor/cub-2411-table-cf-icons)

Comment thread docs-mintlify/docs/explore-analyze/charts/chart-types/table.mdx Outdated
@claude

claude Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Claude finished @igorlukanin's task in 1m 55s —— View job


All 3 prior threads addressed. 0 blocking, 1 medium (3-tier semantics need confirming), 2 low.

Full review
  • Read the updated diff (7943ace)
  • Check the three prior threads against the new text
  • Verify anchors and cross-section consistency
  • Post review

Prior threads

Thread Status
"case" used but never defined Addressed. Line 253 now defines rule → cases → condition + styling before the numbered list, and items 2–3 were reworded to hang off it. Teaching the shipped label rather than routing around it is the right call.
Precedence buried under Indicator icons Addressed. Line 259 carries it at the parent level; the icon section keeps only the per-case/totals part.
Preset menu documented twice, incompletely Addressed, well. The new Rule presets section (267–275) describes the menu once with all three groups, and both Indicator icons and Color scale now link to it instead of re-listing it. This also resolves the Traffic light gradient vs 3-tier traffic light confusion — they're visibly in different groups now.
Three-tier example had no landing Addressed — "Add the third case yourself; the ready-made indicator presets are all two-case" (line 288) closes the loop the preset list opened.

All threads were already resolved on GitHub, so nothing to re-affirm or clean up.

Also good in this commit

Line 300 fixes a pre-existing inconsistency that wasn't in scope. The Type selector was described as Conditional formatting / Color scale, but line 308 (already on master) says "the Scale type is disabled". Renaming to Conditional / Scale makes the two agree. Not mentioned in the PR description — worth a line there since it changes a label a reader might search for.

Anchors all resolve: #rule-presets → 267, #indicator-icons → 277, #color-scale → 298, #inline-bars → 101, #sparklines → 118. No dead links.

Findings

# Severity Where Issue
1 Medium line 272 3-tier traffic light is described as "green above, amber at, red below" — that makes amber match only cells exactly equal to the threshold (0 by default). Plausible, but it reads like loose phrasing for the two-threshold rule that name usually implies. Needs confirming against the shipped preset, and if it is one threshold, saying "exactly at it" explicitly. Inline comment posted.
2 Low line 288 vs 259 "a three-tier indicator is three cases in one rule" is now stated in both places, near-verbatim — a say-it-once violation introduced by hoisting the general point to 259. Suggestion posted inline.
3 Low line 275 vs 296 "Presets that compare against a threshold start it at 0" and "the threshold defaults to 0" are the same fact in two sections. Fine if you want Indicator icons to stand alone, but the second could shrink to "adjust the threshold to the value you're comparing against".

Not worth threads: line 269 "The menu … creates a ready-made rule" — the menu doesn't create, picking an entry does. And the Indicators bullet (271) is the only group whose members aren't named where they're listed; the link covers it.

Same caveat as the previous two passes

The UI labels this commit adds or changes — Add case, Conditional formats, Above threshold, Below threshold, 2-tier traffic light, 3-tier traffic light, Color scales, and the Conditional / Scale selector rename — are not verifiable from this repo. Grepping finds only this .mdx. They rest entirely on your check against the closed-source frontend, and nothing in CI here would catch drift. The Conditional / Scale rename is the one I'd double-check, since it contradicts what the page said before.

• [Branch `igor/cub-2411-table-cf-icons`](https://github.com/cube-js/cube/tree/igor/cub-2411-table-cf-icons)

Comment thread docs-mintlify/docs/explore-analyze/charts/chart-types/table.mdx Outdated
Comment thread docs-mintlify/docs/explore-analyze/charts/chart-types/table.mdx Outdated
@claude

claude Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Claude finished @igorlukanin's task in 50s —— View job


Both prior threads addressed by 1ae7c4b. 0 blocking, 1 low (new) — a scoping regression on line 275.

Full review
  • Read the updated diff (1ae7c4b)
  • Check the two open threads against the new text
  • Verify anchors and cross-section consistency
  • Resolve stale threads, post review

Prior threads

Thread Status
3-tier traffic light semantics ambiguous Addressed. Line 272 now reads "green above the threshold, amber exactly at it, red on the rest" — the equality tier is explicit, so it no longer reads as loose phrasing for a two-threshold rule. Parallel with the 2-tier entry's "green at or above the threshold, red on the rest". Resolved.
Three-tier example stated twice Addressed. Line 288 collapses to "a three-tier indicator — arrow up above target, dash within tolerance, arrow down below — takes three cases", and the "add the third case yourself" half moved to line 296 where the two-case preset list actually needs it. Better placement than my suggestion — the caveat now sits next to the presets it qualifies. Resolved.

Also good: line 269 "Picking an entry from the menu … adds a ready-made rule" fixes the menu-doesn't-create nit I'd noted without a thread.

New finding

# Severity Where Issue
1 Low line 275 "Every preset compares against a single threshold, which starts at 0" — the old wording ("Presets that compare against a threshold start it at 0") was self-scoping; the new one is a claim about all three groups listed above it, and the Color scales group has no threshold. Per lines 312–314 those rules anchor at Minimum / Maximum / Midpoint. Suggestion posted inline.

Anchors all still resolve: #rule-presets → 267, #indicator-icons → 277, #color-scale → 298, #inline-bars → 101, #sparklines → 118.

Same caveat as the previous three passes

Everything this commit pins down — that 3-tier traffic light uses one threshold with an exact-equality middle tier, and that the indicator presets are two-case with a 0 default — is unverifiable from this repo. Grepping finds only this .mdx; the table frontend is closed source and nothing in CI here would catch drift. These rest on your check against presets.ts / colorScalePresets.ts, which the test plan says you did.

Branch igor/cub-2411-table-cf-icons

@igorlukanin

Copy link
Copy Markdown
Member Author

On the recurring caveat about labels not being verifiable from this repo: I checked every one of them against the frontend this pass, not just the new ones. Add case, Case, Conditional formats, Color scales, Indicators, No icon, the six icon names, and the Conditional / Scale selector all come from conditionalFormatting.* in the en-US locale; the preset labels, their operators, and the 0 default come from presets.ts and colorScalePresets.ts.

The Conditional / Scale rename you flagged as the one to double-check was the right one to pick — the page had it wrong before, and line 308 already contradicted it.

Comment thread docs-mintlify/docs/explore-analyze/charts/chart-types/table.mdx Outdated
@claude

claude Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Claude finished @igorlukanin's task in 42s —— View job


Last thread addressed by ba8ac60. No open findings — reads correct end to end.

Full review
  • Read the updated diff (ba8ac60)
  • Check the open thread against the new text
  • Verify anchors and cross-section consistency
  • Check for stale threads to resolve
  • Post review

The change

One line, taking the suggestion as posted:

Both indicator and conditional-format presets compare against a single threshold, which starts at 0 — adjust it to the value you're comparing against.

Correctly scoped now — the claim covers exactly the two case-based groups, and Color scales (line 273) is excluded, which matches lines 312–314 where those rules anchor at Minimum / Center / Maximum with no threshold field. Thread was already resolved on GitHub; nothing stale of mine left open.

State of the page

All five anchors resolve: #inline-bars → 101, #sparklines → 118, #rule-presets → 267, #indicator-icons → 277, #color-scale → 298.

Cross-section facts still line up:

  • Precedence (line 259) is stated once, at the parent level; Indicator icons keeps only the per-case limit and the totals-row exclusion (288).
  • The preset menu is described once (267–275); both Indicator icons (290) and Color scale (302) link back to it instead of re-listing.
  • "Totals rows are never given an icon" (288) is consistent with the totals-rows exclusion elsewhere on the page.
  • The Conditional / Scale rename (300) now agrees with "the Scale type is disabled" (308).

On verification

Dropping the caveat I'd carried through the previous four passes. You confirmed you re-checked every label this pass against conditionalFormatting.* in the en-US locale, plus presets.ts / colorScalePresets.ts for the preset operators and the 0 default — including threeTierTrafficLight being gt → green, eq → amber, isNotNull → red, which is what line 272 now says. That's a stronger check than "the new strings in this commit," and it's the part this repo can't do for you. Recorded here so a later reader knows the labels were verified against the frontend at ba8ac60, not inferred.

Docs-only change — no code, test, security, or performance surface. Nothing blocking; good to merge.

Branch igor/cub-2411-table-cf-icons

@claude

claude Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Claude finished @igorlukanin's task in 43s —— View job


Re-review after the force-push — history squashed to one commit, content identical to the state I approved. No findings.

Full review

  • Read the updated diff (fd65d8c)
  • Compare against the previously approved state (ba8ac60)
  • Verify anchors and cross-section consistency
  • Check for stale threads of mine to resolve
  • Post review

What changed

Nothing substantive. The synchronize event is a squash of the five commits I reviewed across the previous passes into a single docs(table): document conditional-formatting indicator icons. git diff origin/master...HEAD is +38/−5 on the one file, and every line matches the text I signed off on at ba8ac60:

  • Rule → cases → condition + styling defined at line 277, precedence at 283.
  • Rule presets (342–350) describes the Add rule menu once, all three groups, with the threshold sentence correctly scoped to the two case-based groups.
  • Indicator icons (352–371) — six shapes, No icon, Icon color / Icon placement, the inline-bars/sparklines interaction, one icon per case, no icons on totals rows, and the two-case preset caveat.
  • Color scale (373–383) links back to the preset menu instead of re-listing it; the Conditional / Scale rename agrees with "the Scale type is disabled" at 383.

Anchors

All resolve against headings that exist: #conditions → 287, #rule-presets → 342, #indicator-icons → 352, #color-scale → 373, #inline-bars → 105, #sparklines → 121.

Threads

All seven of my prior threads are resolved and outdated — the squash rewrote the blobs they anchored to. Nothing stale left open, nothing to re-affirm.

Verification

As recorded on the previous pass: the UI labels, preset operators, and the 0 threshold default were verified by @igorlukanin against conditionalFormatting.* in the en-US locale plus presets.ts / colorScalePresets.ts, including threeTierTrafficLight being gt → green, eq → amber, isNotNull → red. That's the part this repo can't check for itself. Re-noting it here since the squash means the earlier review comments no longer sit on live lines.

Docs-only — no code, test, security, or performance surface. Good to merge.

Branch igor/cub-2411-table-cf-icons

@igorlukanin
igorlukanin force-pushed the igor/cub-2411-table-cf-icons branch from fd65d8c to 85e941b Compare August 4, 2026 14:01
@claude

claude Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Claude finished @igorlukanin's task in 1m 3s —— View job


Re-review after the rebase — content unchanged from the approved state, anchors still resolve. No findings.

Full review

  • Read the updated diff (85e941b)
  • Compare against the previously approved state (fd65d8c)
  • Verify anchors and cross-section consistency
  • Check for stale threads of mine to resolve
  • Post review

What changed

Nothing in the content. The synchronize event is a rebase of the single squashed commit onto the new master tip (9052c68, dimension links in Workbooks). git diff origin/master...HEAD is +38/−5 on the one file, and the diff body is line-for-line the text I signed off on at ba8ac60 / fd65d8c. Only the line numbers moved — the rebase shifted the section down by ~24 lines.

Current positions:

  • Rule → cases → condition + styling defined at 291; precedence at 297.
  • Rule presets (356–364) — all three groups, threshold sentence scoped to the two case-based groups.
  • Indicator icons (366–385) — six shapes, No icon, Icon color / Icon placement, inline-bars/sparklines interaction, one icon per case, no icons on totals rows, two-case preset caveat.
  • Color scale (387–397) links back to the preset menu; the Conditional / Scale rename agrees with "the Scale type is disabled" at 397.

Anchors

All six resolve against headings that exist: #conditions → 301, #rule-presets → 356, #indicator-icons → 366, #color-scale → 387, #inline-bars → 119, #sparklines → 135.

Cross-section consistency

  • "Totals rows are never given an icon" (377) still agrees with the totals-rows exclusion in Which cells a rule styles (342–352).
  • The precedence rule is stated once, at the parent level; the icon section keeps only the per-case limit.
  • The preset menu is described once; both subsections link rather than re-list.

Threads

All seven of my prior threads are resolved and outdated. Nothing stale left open, nothing to re-affirm.

Verification

Unchanged from the previous pass: the UI labels, preset operators, and the 0 threshold default were verified by @igorlukanin against conditionalFormatting.* in the en-US locale plus presets.ts / colorScalePresets.ts — including threeTierTrafficLight being gt → green, eq → amber, isNotNull → red, which is what line 361 says. That's the part this repo can't check for itself; recording it again since the rebase means the earlier review comments no longer sit on live lines.

Docs-only — no code, test, security, or performance surface. Good to merge.

• [Branch `igor/cub-2411-table-cf-icons`](https://github.com/cube-js/cube/tree/igor/cub-2411-table-cf-icons)

@igorlukanin
igorlukanin merged commit c7a1275 into master Aug 4, 2026
9 checks passed
@igorlukanin
igorlukanin deleted the igor/cub-2411-table-cf-icons branch August 4, 2026 15:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant