Skip to main content
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.

Native feature forms, actions and events

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