Pri rozsiahlejších tokoch kroky zoskupte a čítajte postup po sekciách. Kroky bez skupiny patria do rezervovanej sekcie general (Flow::UNGROUPED_SECTION):
$flow = Onboarding::flow('default')->title('Account setup');
$flow->add('Upload photo')->group('profile')->completeWhenFilled('avatar_path');
$flow->add('Add card')->group('billing')->completeWhenFilled('card_last4');
$flow->add('Accept terms')->completeWhenFilled('terms_accepted_at'); // no group: "general"$flow = Onboarding::for($user);
$flow?->sections(); // Collection<int, SectionData>
$flow?->groups(); // alias of sections()
$flow?->section('billing')?->percentage; // float
$flow?->section('billing')?->isCompleted; // bool — required steps in the group completeSekcie nasledujú v poradí, v akom sa každá skupina prvýkrát objaví v zoradenom zozname krokov. Percento sekcie zahŕňa všetky jej viditeľné kroky; isCompleted je true, keď sú dokončené jej povinné kroky.
SectionData
Každá sekcia je final readonly DTO SectionData — key, title (zatiaľ kľúč skupiny), percentage, isCompleted a steps (zoznam StepData) — s rozhraniami Arrayable a JsonSerializable. Serializované kroky nesú aj kľúč svojej skupiny:
[
'key' => 'billing',
'title' => 'billing',
'percentage' => 0.0,
'is_completed' => false,
'steps' => [ /* list of StepData shapes */ ],
]Viacdielny sprievodca
@foreach ($user->onboarding()?->sections() ?? [] as $section)
<h3>{{ $section->title }} — {{ $section->percentage }}%</h3>
<ul>
@foreach ($section->steps as $step)
<li @class(['is-done' => $step->isCompleted])>{{ $step->title }}</li>
@endforeach
</ul>
@endforeachPrejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.