MishkaGervaz.Form.Transformers.ResolveFields (MishkaGervaz v0.0.1-alpha.3)

Copy Markdown View Source

Resolves field configurations from the form DSL.

Stages, in order (see transform/1):

  • resolve_auto_fields/1 — expands auto_fields do … end into explicit Field entities, detecting types from the resource's Ash attributes.
  • resolve_explicit_field_types/1 — fills in the type, type_module, options, and nested_fields for fields that omit type: or use :nested.
  • resolve_field_sources/1 — defaults field.source to the field's name when not set.
  • resolve_relation_resources/1 — links :relation fields to their target resource via the Ash relationship table.
  • resolve_field_positions/1 — applies field_order and the :first / :last / integer / {:before, …} / {:after, …} position tokens, persisting the resolved order under :mishka_gervaz_form_field_order.
  • detect_preloads/1 — collects required preloads from :relation and :select fields, persisting them under :mishka_gervaz_form_detected_preloads.

Runs after MishkaGervaz.Form.Transformers.MergeDefaults and the Ash SetTypes transformer; output is consumed by MishkaGervaz.Form.Transformers.BuildRuntimeConfig.

Summary

Functions

after_compile?()

Callback implementation for Spark.Dsl.Transformer.after_compile?/0.

before?(_)

Callback implementation for Spark.Dsl.Transformer.before?/1.