FileComponent class final

A file upload field. readOnly defaults to true so an older server that never publishes the key — meaning it predates upload support entirely — reads as inert rather than a renderer guessing it can accept one. A current server publishes false for a writable field, single or multiple.

multiple defaults to false for the same reason in the other direction: an absent key means a server predating multi-file support, and a client must never invent a capability the server did not declare. A current server publishes the key on every file node, false for single. When true, the field's value is a List<String> everywhere — on a record, in form state, in a write body — of stored path or media uuid: an opaque string token the server round-trips.

Inheritance

Properties

accept List<String>?
Accepted MIME types/extensions, when the server configured one. Null means unconstrained, not "nothing accepted".
final
columnSpan int
Out of 12, matching Filament. A phone renderer treats anything >= 6 as full width; the value is carried so a tablet renderer can use it later.
finalinherited
direction ComponentDirection?
Optional field/entry override. Null inherits the nearest panel-level Directionality, so old servers and undeclared fields behave unchanged.
finalinherited
disabled bool
finalinherited
hashCode int
The hash code for this object.
no setterinherited
helperText String?
finalinherited
hidden bool
finalinherited
label String?
finalinherited
live bool
When true, a change to this field triggers a /state round-trip so the server can re-evaluate the schema.
finalinherited
maxFiles int?
The declared count bounds, present only when the field declared them. Hints for the add affordance, never rules: the server's write-time array max/min is the enforcement.
final
maxSizeKb int?
The field's own size limit in KB — Filament's own unit — when configured. Per file, multiple or not.
final
minFiles int?
final
multiple bool
Whether the field holds a list of stored paths rather than one. See the class doc for why an absent key reads as false.
final
name String?
Field key. Null for layout containers, which hold no value.
finalinherited
props List<Object?>
Equality is (type, name, writable) — meaningful only within a single container. name is a field key that's unique within one form or infolist, not globally, so two components from different resources, or from a form vs its infolist, can compare equal here while differing in every other property. Do not put components from different containers into the same Set or diff them against each other on this equality. writable is included: a /state round-trip can flip it on a field whose type and name are otherwise unchanged, and a rebuild that depends on that difference needs the equality to see it. translatable is included for the same reason writable is: it is what decides whether this leaf renders inside a locale-chip group at all. direction can also be closure-backed and flip on /state, so it must participate too or a widget diff may retain the old override.
no setterinherited
readOnly bool
final
rules ValidationRules
Client-side validation hints. A base-node property in the contract (§5.3), so every consumer can ask "is this required?" without switching over the sealed hierarchy. Containers and entries simply carry ValidationRules.none.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
stringify bool?
If set to true, the toString method will be overridden to output this instance's props.
no setterinherited
translatable bool
True only on a dotted leaf (caption.ar) whose head attribute (caption) is translatable on the model — the writable/placeholder precedent: published only when true, absent everywhere else, including the undotted scalar sibling. The form screen groups every leaf sharing a head-of-name into one field slot with locale chips instead of one stacked field per locale; see ResourceFormScreen's node walk.
finalinherited
type String
The raw contract discriminator, kept so an UnknownComponent can name itself and so debug output matches the JSON.
finalinherited
writable bool
False only when the server marks a field it cannot persist — distinct from disabled, which is a UI decision the user may be able to change elsewhere. Absent in the contract means true: most fields are writable, and the key exists to name the exception, not the rule.
finalinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited