Skip to content

feat(dashboards): table conditional formatting - #51

Merged
TanayBensuYurtturk merged 15 commits into
mainfrom
TanayBensuYurtturk/conditional-formatting
Jul 29, 2026
Merged

feat(dashboards): table conditional formatting#51
TanayBensuYurtturk merged 15 commits into
mainfrom
TanayBensuYurtturk/conditional-formatting

Conversation

@TanayBensuYurtturk

@TanayBensuYurtturk TanayBensuYurtturk commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds table conditional formatting: a per-column format (string shorthand or object) that combines number display with value-based coloring. Supports flat fills, gradients with domain anchors (value / percent / percentile), built-in schemes and dashboard-level custom palettes, rule-based styling (all operators, cross-column comparisons, text styles), and like to mirror another column. Works in both YAML and TSX, is validated by dac validate, and named colors adapt to light/dark mode.

Per-column format (string or object) combining number display with value-based
coloring: flat fills, gradients with domain anchors (value/percent/percentile),
built-in schemes and custom palettes, rule-based styling with cross-column
comparisons, text styles, and like to mirror another column.
Comment thread frontend/src/components/widgets/TableWidget.tsx Outdated
@greptile-apps

greptile-apps Bot commented Jul 28, 2026

Copy link
Copy Markdown

Fix All in Conductor

Prompt To Fix All With AI
### Issue 1
frontend/src/components/widgets/TableWidget.tsx:65-66
**Chained `like` resolves wrong source**

When column A uses `like: B` and B uses `like: C`, A adopts B's unresolved format but uses B's data index while B uses C's values, causing A to render different colors from the column it is configured to mirror.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Reviews (1): Last reviewed commit: "feat(dashboards): add table conditional ..." | Re-trigger Greptile

@greptile-apps

greptile-apps Bot commented Jul 28, 2026

Copy link
Copy Markdown

Reviews (2): Last reviewed commit: "fix(dashboards): resolve chained format...." | Re-trigger Greptile

@greptile-apps

greptile-apps Bot commented Jul 28, 2026

Copy link
Copy Markdown

Reviews (3): Last reviewed commit: "revert(dashboards): drop custom palettes..." | Re-trigger Greptile

Comment thread frontend/src/components/widgets/TableWidget.tsx Outdated
@greptile-apps

greptile-apps Bot commented Jul 29, 2026

Copy link
Copy Markdown

Fix All in Conductor

Prompt To Fix All With AI
### Issue 1
frontend/src/components/widgets/TableWidget.tsx:60-64
**Cyclic `like` resolves wrong source**

When configured columns form a multi-column cycle such as A → B → A, validation accepts it and this traversal returns the revisited A as a terminal source, causing cells to silently use the wrong format and value source.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Reviews (4): Last reviewed commit: "polish(dashboards): softer table fills a..." | Re-trigger Greptile

@greptile-apps

greptile-apps Bot commented Jul 29, 2026

Copy link
Copy Markdown

Reviews (5): Last reviewed commit: "fix(dashboards): bail out of cyclic form..." | Re-trigger Greptile

@greptile-apps

greptile-apps Bot commented Jul 29, 2026

Copy link
Copy Markdown

Reviews (6): Last reviewed commit: "polish(dashboards): let cell text follow..." | Re-trigger Greptile

@greptile-apps

greptile-apps Bot commented Jul 29, 2026

Copy link
Copy Markdown

Reviews (7): Last reviewed commit: "refactor(dashboards): format is an order..." | Re-trigger Greptile

@greptile-apps

greptile-apps Bot commented Jul 29, 2026

Copy link
Copy Markdown

Reviews (8): Last reviewed commit: "style: gofmt" | Re-trigger Greptile

@greptile-apps

greptile-apps Bot commented Jul 29, 2026

Copy link
Copy Markdown

Reviews (9): Last reviewed commit: "fix(dashboards): scaffold + example tabl..." | Re-trigger Greptile

@greptile-apps

greptile-apps Bot commented Jul 29, 2026

Copy link
Copy Markdown

Reviews (10): Last reviewed commit: "chore(dashboards): keep create-dashboard..." | Re-trigger Greptile

@greptile-apps

greptile-apps Bot commented Jul 29, 2026

Copy link
Copy Markdown

Reviews (11): Last reviewed commit: "polish(dashboards): square table cells (..." | Re-trigger Greptile

…shipped template

A/B test (8 conditional-formatting tasks x verbose/compact reference,
validated with dac validate) showed the compact section matches the
verbose one on pass rate and semantic correctness with zero
hallucinations, so align the local skill's CF section with the already
-compact bundled template. Full detail stays in docs/dashboards/widgets.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@greptile-apps

greptile-apps Bot commented Jul 29, 2026

Copy link
Copy Markdown

Reviews (12): Last reviewed commit: "docs(dashboards): compact create-dashboa..." | Re-trigger Greptile

…s, not exhaustive coverage

The prose already enumerates every operator, unit, and color, so the
worked example only needs to show each distinct shape once. Drop
redundant columns (flat fill now shown via is_empty, percentile folded
into the range/unit comment, date operators listed in prose): 10 columns
-> 7, ~54 -> ~39 lines. Applied identically to the bundled template and
the local copy.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@greptile-apps

greptile-apps Bot commented Jul 29, 2026

Copy link
Copy Markdown

Reviews (13): Last reviewed commit: "docs(dashboards): trim conditional-forma..." | Re-trigger Greptile

@TanayBensuYurtturk
TanayBensuYurtturk merged commit 888485f into main Jul 29, 2026
3 checks passed
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