Dataface Tasks

M2 conditional formatting and row-level styling engine

IDGRAPH_LIBRARY-M2_CONDITIONAL_FORMATTING_AND_ROW_LEVEL_STYLING_ENGINE
Statusnot_started
Priorityp1
Milestonem2-internal-adoption-design-partners
Ownerdata-viz-designer-engineer
Initiativem2-table-formatting-and-linking-architecture

Problem

Implement conditional formatting primitives and row-level style application with deterministic rule ordering and conflict handling.

Context

  • Table formatting work needs deterministic styling rules, especially when row-level and column-level rules overlap.
  • Query-layer logic should keep data meaning and condition computation, while the table layer maps that data to presentation.
  • The engine must be predictable enough for docs, examples, and QA to rely on.

Possible Solutions

  • A - Support only static formatting and leave conditional behavior to custom render code: easy, but too limited.
  • B - Allow freeform rule evaluation with broad override powers at every scope: flexible, but hard to reason about.
  • C - Recommended: implement a bounded conditional-formatting engine with explicit rule order, limited style targets, and clear conflict resolution.

Plan

  1. Define the rule model, supported predicates, and allowed style outputs.
  2. Specify precedence between table defaults, column config, and row-level conditional rules.
  3. Implement the engine with deterministic merge behavior and compile-time validation.
  4. Add examples and tests for overlapping rules, invalid configs, and common BI-style use cases.

Implementation Progress

QA Exploration

  • [ ] QA exploration completed (or N/A for non-UI tasks)

Review Feedback

  • [ ] Review cleared