The collection components MapMarkersField, MapZonesField and MapEditorField share these APIs. They customize each feature inside a map field; saving geometry in the parent model still follows the normal form lifecycle.
Markers, zones and mixed-editor fields accept actual Filament schemas. Edit
details opens a native modal with normal validation and on-demand field assets.
The closure receives feature, properties, geometry and standard Filament
dependencies. Different geometry can use different schemas. Extend the supplied
form with FeatureFormAction::defaultSchema(). Omitted fields keep their current
properties. Declared custom values support bounded JSON, including multiple
selection/repeater data.
Built-in popup text remains plain text. The arbitrary schema is a modal form;
the optional inline quick editor is intentionally small.
DeliveryStops is an illustrative application service, not a package class. It
owns authorization, transactions and idempotency. In Create, record may be null;
defer parent-dependent persistence or maintain pending data. Native actions expose
authorization, confirmation and form configuration. Resolve/authorize their target
on the server; browser snapshots are not authority.
Registering a PHP callback enables live, renderless state synchronization. Identical
state and drag previews do not invoke callbacks. Batched requests observe accepted
server differences; undo/redo/clear can invoke callbacks. Exactly-once database
execution is not promised. No database writes happen without your callback/action.
Client UI integrations can listen for bubbling fff-map-feature-added,
fff-map-feature-updated, fff-map-feature-deleted. Detail includes feature,
previousFeature, statePath, and origin (edit or history). Database side
effects belong to validated PHP code. Last modified on October 16, 2026