Čítanie postupu
Tok odvodzuje všetko za behu z krokov a naviazaného subjektu — nič sa neukladá:
use RoundlyConsulting\Onboarding\Facades\Onboarding;
$flow = Onboarding::for($user); // a copy bound to $user — or $user->onboarding()
$flow?->title; // "Profile Onboarding"
$flow?->isCompleted(); // bool — every required, non-excluded step is complete
$flow?->isInProgress(); // bool — at least one required step remains
$flow?->currentStep(); // the first incomplete Step (the one to resume on), or null
$flow?->steps(); // Collection<int, Step> visible to this model (excluded steps removed)
$flow?->all(); // Collection<int, Step> including excluded steps
$flow?->percentageCompleted(); // float across all visible steps, e.g. 66.67
$flow?->sections(); // Collection<int, SectionData> grouped by step group
$flow?->redirectToCurrentStep(); // ?RedirectResponse to the current step's target
$flow?->toArray(); // a JSON-ready array for your API/frontend
$flow?->toData(); // a typed FlowData DTOPozícia a pokračovanie
// three visible steps, only the first one complete
$flow->count(); // 3
$flow->completedCount(); // 1
$flow->position(); // 2 — "step 2 of 3"
$flow->currentStepIndex(); // 1 — 0-based, null when complete
$flow->isStarted(); // true — at least one step complete
$flow->isEmpty(); // false
$flow->percentageCompleted(); // 33.33position() je completedCount() + 1, najviac počet viditeľných krokov (a nikdy menej ako 1) — teda ľudské číslo „krok N z M“. currentStepIndex() je index prvého nedokončeného kroku od 0, takže pri plnení krokov mimo poradia sa tieto dve hodnoty môžu líšiť:
<p>Step {{ $flow->position() }} of {{ $flow->count() }}</p>Referencia toku
| Metóda | Vracia | Účel |
|---|---|---|
steps() | Collection<int, Step> | Viditeľné kroky — bez vylúčených a skrytých. |
all() | Collection<int, Step> | Všetky kroky vrátane vylúčených, naviazané a zoradené. |
requiredSteps() / optionalSteps() | Collection<int, Step> | Viditeľné povinné / voliteľné kroky. |
step($key) / hasStep($key) | ?Step / bool | Nájde viditeľný krok podľa kľúča. |
isCompleted() | bool | Všetky povinné viditeľné kroky sú dokončené. |
isInProgress() | bool | Opak isCompleted(). |
isStarted() | bool | Aspoň jeden viditeľný krok je dokončený. |
isEmpty() | bool | Žiadne viditeľné kroky — prázdny tok sa považuje za dokončený. |
currentStep() | ?Step | Prvý nedokončený viditeľný krok — ten, na ktorom sa pokračuje. |
currentStepIndex() | ?int | Index aktuálneho kroku od 0; null, ak žiadny nie je. |
position() | int | Poradové číslo „krok N“ od 1, najviac count(). |
count() / completedCount() | int | Počet viditeľných / dokončených viditeľných krokov. |
percentageCompleted() | float | Zo všetkých viditeľných krokov; 100.0 pre prázdny tok. |
requiredPercentageCompleted() | float | Len z povinných krokov; 100.0, ak žiadne nie sú. |
sections() / groups() / section($key) | Collection / ?SectionData | Postup po skupinách. |
redirectToCurrentStep() | ?RedirectResponse | Presmerovanie na cieľ aktuálneho kroku. |
record(?string $key = null) | Flow | Odošle StepCompleted / FlowCompleted. |
dismiss($key) | Flow | Skryje skryteľný krok — cez manager do markDismissed() v store. |
toArray() / toData() | array / FlowData | Serializácia pripravená pre frontend. |
Medzi viditeľné kroky nepatria tie, ktorých pravidlo vylúčenia platí, a pri nastavenom store ani voliteľné kroky, ktoré subjekt skryl. all() vráti všetky kroky, naviazané a zoradené.
Prejavte 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.