Skip to content

docs: reconcile pie/donut and KPI chart pages, document is empty/is not empty filter operators - #11466

Open
keydunov wants to merge 1 commit into
masterfrom
claude/gallant-ramanujan-39o0of
Open

docs: reconcile pie/donut and KPI chart pages, document is empty/is not empty filter operators#11466
keydunov wants to merge 1 commit into
masterfrom
claude/gallant-ramanujan-39o0of

Conversation

@keydunov

@keydunov keydunov commented Aug 4, 2026

Copy link
Copy Markdown
Member

Summary

Found while cross-checking recent cubejs-enterprise merges against docs-mintlify for undocumented customer-facing changes.

  • Pie & donut (docs/explore-analyze/charts/chart-types/pie.mdx): the donut shape used to be documented as "drag the Inner radius slider to any non-zero value" — that control was removed in favor of an explicit Shape (Pie/Donut) toggle (CUB-3183). Also documents features that shipped with no docs at all: concentric Rings for multi-dimension pies (CUB-3180), the Measure field, the rebuilt Data labels panel (content atoms, position, labeled rings, CUB-3185), and the Tooltips field picker.
  • KPI (docs/explore-analyze/charts/chart-types/kpi.mdx):
    • Added the Label and Value format settings to the Progress bar and Sparkline block tables, and the Show percent / Show target / Show value / Show trend toggles (CUB-2945, #13113).
    • Removed two rows that don't correspond to any shipped control: Sparkline's "Chart type: Bar or line" (sparklines are a line/area only — no such selector exists) and Comparison's "Difference format" (there's no format override for Comparison blocks).
    • Added a Per-block styling section documenting the Style tab's per-block alignment (horizontal/vertical) and the color/font settings that vary by block type — previously only partially described under the Number block.
  • Filter operators: documented the new is empty / is not empty string operators (CUB-3231, cubejs-enterprise#13456) in the dashboard Filter widget's operator table (docs/explore-analyze/dashboards/widgets/controls.mdx) and in default_ui_filters's operator list (reference/data-modeling/view.mdx), with a note distinguishing them from the existing is null / is not null null-checks.

All of the above were verified by reading the shipping source in cubejs-enterprise (component code + i18n strings), not just PR titles, per the customer-facing docs criteria.

Not included in this PR: the new Dashboard Apps authoring editor (CUB-3544) is a large, brand-new feature with no existing docs home and some open product questions, so it's tracked separately as CUB-3657 rather than a surgical edit here.

Test plan

  • cd docs-mintlify && yarn dev and spot-check the four edited pages render correctly
  • Confirm the Pie & donut and KPI tables match the current console-ui builder panels
  • Confirm is empty / is not empty appear in the workbook filter bar's string operator list

🤖 Generated with Claude Code


Generated by Claude Code

…pty filter operators

- Pie & donut: replace the removed inner-radius slider with the Shape
  (Pie/Donut) toggle, and document Rings (concentric multi-dimension
  pies), the Measure field, the rebuilt Data labels panel, and the
  Tooltips field picker (CUB-3180, CUB-3183, CUB-3185).
- KPI: add Label and Value format to Progress bar and Sparkline blocks,
  add Show percent/Show target and Show value/Show trend toggles, drop
  the Sparkline 'Chart type' row and Comparison 'Difference format' row
  that don't correspond to any shipped control, and add a Per-block
  styling section covering per-block alignment and color/font settings
  (CUB-2945, CUB-3540, CUB-3113/#13113).
- Filters: document the new is empty / is not empty string operators in
  the dashboard Filter widget and in default_ui_filters (CUB-3231,
  cubejs-enterprise#13456).
@mintlify

mintlify Bot commented Aug 4, 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 4, 2026, 12:22 AM

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

@claude

claude Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Claude finished @keydunov's task in 2m 18s —— View job


Review: docs-only, no blockers — 0 high, 2 medium, 4 low

Docs-only change across 4 .mdx files, correctly scoped to /docs-mintlify per CLAUDE.md. No code, no security/perf/test surface. The filter-operator additions (is empty / is not empty) are clean and the null-vs-empty note is exactly the disambiguation readers need. Findings are all internal-consistency issues with neighbouring docs; 6 inline comments posted.

Full review — findings, checklist, and verification notes

Checklist

  • Gather context (git diff origin/master...HEAD, read all 4 pages in full)
  • Classify request → code review, no implementation
  • Cross-check against sibling/shared docs pages for contradictions
  • Check for stale anchors and dangling internal links
  • Check existing review threads (none — nothing to dedupe or resolve)
  • Post inline comments + summary

Medium

  1. pie.mdx "Data labels" contradicts the shared data-labels pagedocs/explore-analyze/charts/configuration/data-labels.mdx documents labels as a Data Labels toggle in the Fields tab with positions Outside end / Inside end / Inside center / Inside base. The new pie section says Style tab, per-atom toggles, Inside/Outside. Both may be true, but a reader following the shared page will look for controls pie doesn't have. Needs a cross-link and, ideally, scoping the shared page to stacked bars. (inline)

  2. kpi.mdx drops the Progress bar fill color entirely — the old Color | Fill color for the progress indicator row was removed, and the new Per-block styling table lists Progress bar as Background color only. If that control still exists this is lost coverage, not reconciliation. Same comment flags that Sparkline's Colors row is still in the Data table while Number/Comparison colors moved to the Style section — the Data/Style split isn't applied uniformly. (inline)

Low

  1. Sparkline Headline uses measure is prose-only — every other Sparkline control is in the table; also its relationship to Show value (visibility vs. source) reads ambiguously. (inline)
  2. pie.mdx data-label defaults are self-contradictory — "Category and Value are on by default" vs. "toggling the first atom on adds the label layer". (inline)
  3. kpi.mdx introduces a third tab name — "Data tab" where six other charts/ pages say "Fields tab". (inline)
  4. pie.mdx "## Measure" is a one-sentence H2 that adds a sidebar entry for a single field; reads better folded into the Rings/Fields discussion. Cosmetic, no inline comment posted.

What checks out

  • Removing ## Inner radius leaves no dangling links — grepped the whole docs-mintlify tree for inner radius / #inner-radius including docs.json: zero hits.
  • New in-page anchors #rings and #per-block-styling both resolve to real headings.
  • Operator lists in controls.mdx and reference/data-modeling/view.mdx are the only two places string operators are enumerated (grepped not starts with), and both were updated — no third list left stale.
  • is empty / is not empty correctly restricted to String in the dimension-type table, and view.mdx repeats the string-only constraint at the point of use.
  • Deleting the two unshipped KPI rows (Sparkline "Chart type", Comparison "Difference format") is replaced by an explicit negative statement in prose rather than silence — good, that's the version that stops the question recurring.
  • No new pages, so docs.json needed no change. Correct.

Not verified

Accuracy of the control inventories against the shipping console-ui source can't be checked from this repo — cubejs-enterprise isn't part of this checkout. I reviewed for internal consistency and doc-set coherence only; the PR description's claim that each control was read from component code + i18n strings is taken at face value. The two medium findings above are the places where I'd most want that re-confirmed against the actual panel. I also did not run yarn dev (no Mintlify build in this environment), so the render spot-check in the test plan is still open — though nothing in the diff uses unusual MDX constructs, and all tables/<Note> blocks are well-formed.

• branch [`claude/gallant-ramanujan-39o0of`](https://github.com/cube-js/cube/tree/claude/gallant-ramanujan-39o0of)

Comment on lines +39 to +41

| Atom | Description |
|---|---|

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's already a shared page at docs/explore-analyze/charts/configuration/data-labels.mdx for data labels, and it describes a different UI: labels are enabled from a Data Labels toggle in the Fields tab, settings are Format / Font size / Position, and Position offers Outside end / Inside end / Inside center / Inside base.

This new section says Style tab, per-atom toggles, and Inside/Outside only. Both can be true (pie may genuinely have its own panel), but a reader who lands on the shared page first will follow instructions that don't exist for pie. Worth a one-line cross-link plus an explicit "pie/donut labels differ from the stacked-bar data labels" note here — and ideally scoping the shared page's title/intro to stacked bars.

Fix this →

Comment on lines 61 to 63

## Color and slice ordering

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two small consistency nits against the rest of the charts docs:

  • scatter.mdx ends its Tooltips section with See [Tooltips](/docs/explore-analyze/charts/configuration/tooltips) for details. — worth doing the same here rather than leaving this as the only Tooltips section with no pointer to the shared page.
  • The shared page calls the slot Tooltip ("The Tooltip section shows…"), this says Tooltips. Pick one label so search on the UI string lands somewhere consistent.

Comment on lines +113 to +115
| **Number** | Value color, background color, and font size (in pixels) |
| **Comparison** | Positive/negative colors for the change, plus a neutral color and background for the unchanged state |
| **Progress bar, Sparkline, HTML** | Background color |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This drops the Progress bar's fill color from the docs entirely: the old table row (**Color** | Fill color for the progress indicator) was removed, and here Progress bar is listed as Background color only. If the fill color control still exists (it very likely does — a progress bar has to get its fill from somewhere), that's a regression in coverage, not a reconciliation. Please double-check the Style tab for Progress bar and add the fill/indicator color row if it's there.

Related: Sparkline's Colors | Line and area-fill colors is still in the Data tab table above while Number's and Comparison's colors were moved down into this Style section. If sparkline colors live on the Style tab too, move that row here so the split is "Data tab = fields/format, Style tab = colors/fonts" throughout.

| **Colors** | Line and area-fill colors |
| **Format** | Number formatting for the headline value |

By default, the headline value is the series measure's own latest value; toggle **Headline uses measure** off to source it from a different column instead.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Headline uses measure is a real control but it's only mentioned in prose — every other Sparkline control is in the table above. Add it as a row (and the "different column" field it reveals, if that's a separate picker), so the table stays the complete inventory of the block's settings.

Also worth reconciling with Show value two rows up: "Show value — Display the headline value above the trend line" vs. this paragraph's "the headline value is the series measure's own latest value". Reading them together it's not obvious that Show value gates visibility while Headline uses measure gates the source.

Category and Value are on by default. Toggling the first atom on adds the label layer to the chart; toggling the last one off removes it.

Additional controls appear once at least one atom is on:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These two sentences fight each other: if Category and Value are on by default, then the label layer is on by default, so "toggling the first atom on adds the label layer" only describes the recovery path after a user turns everything off. Suggest stating the default outcome first, e.g. "Labels are on by default with Category and Value. Turning every atom off removes the label layer; turning any atom back on restores it."

The KPI visualization starts with a **Number** block that compares the first and second rows of your result for the first numeric column.

To add a new block, click the **+** button inside the visualization and choose the block type. To edit a block, click it in the visualization — the configuration panel updates to show that block's settings.
To add a new block, click the **+** button inside the visualization and choose the block type. To edit a block, click it in the visualization — the configuration panel updates to show that block's settings, split into a **Data** tab and a **Style** tab.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Every other page under charts/ refers to the two panels as the Fields tab and the Style tab (tooltips.mdx, data-labels.mdx, series-mapping.mdx, scatter.mdx, axes.mdx, color-and-stacking.mdx). This introduces Data as a third name. If the KPI panel genuinely says "Data", worth a parenthetical so readers don't hunt for a Fields tab; if it says "Fields", align it here.

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.

2 participants