CngxFilterExpressionRow
projects/forms/filter-builder/filter-builder-expression-row.component.ts
Import#
import { CngxFilterExpressionRow } from '@cngx/forms/filter-builder'
Description#
Embedded expression-row sub-component. Mounted by the builder body for
every expression node in the recursive tree; resolves its value from
CNGX_FILTER_BUILDER_HOST via [path].
Pillar 3 (Komposition statt Konfiguration): one component, one
responsibility - render the recursive renderer's expression row. The
column-header / quick-filter surface lives in CngxFilterRow.
The row brain comes from CNGX_FILTER_ROW_CONTROLLER_FACTORY; this
component is the skin plus a CNGX_FILTER_BUILDER_HOST path-mutator
write sink.
Metadata#
Relationships
Index#
Properties
Methods
Inputs#
readonly number[]Slot registry passed down from the parent CngxFilterBuilder. When the
registry's removeButton resolves to a TemplateRef, the row renders
the consumer-supplied button; otherwise it falls back to the default
<button> element.
nullInstance Properties#
Methods#
handleFieldChange(next: string | undefined)string | undefinedhandleOperatorChange(next: string | undefined)string | undefinedExpression-row variant of CngxFilterBuilderRow. The host element
cngx-filter-expression-row stays display: contents; the row div
renders as ONE inline pill - borderless picker/editor segments inside
a single bordered capsule with hairline dividers.
State modifiers
.cngx-filter-expression-incomplete- quiet unfinished-state cue: the value segment's bottom edge goes dashed; no row-level warning box
Slots
cngx-filter-expression-row- host,display: contents.cngx-filter-builder__expression- the capsule (border, radius, fit-content).cngx-filter-builder__field-select/__operator-select- content-hugging borderless segmentsinput[cngxInput]value segment - sized by--cngx-filter-builder-value-basis, capped by-value-max.cngx-filter-builder__action-button--remove- trailing ghost segment (accessible name viaaria-label), floored to--cngx-target-min
Inheritance
--cngx-filter-builder-incomplete-border-style/-incomplete-border-color- unregistered knobs for the quiet unfinished-value cue; the color falls back through--cngx-color-border
--cngx-filter-builder-gap is owned by the parent filter-builder
files and consumed here through the var() fallback chain only.
Index#
Layout / Pill
<length>128pxInline size of the value-editor segment inside the pill. Geometry
token, deliberately not density-derived. inherits: true so one
assignment at the builder root sizes every row in the tree.
<length>320pxGrowth cap of the value-editor segment - keeps a long text value from ballooning the capsule.