NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Onboarding for Laravel

Čí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 DTO

Pozí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.33

position() 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ódaVraciaÚč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 / boolNájde viditeľný krok podľa kľúča.
isCompleted()boolVšetky povinné viditeľné kroky sú dokončené.
isInProgress()boolOpak isCompleted().
isStarted()boolAspoň jeden viditeľný krok je dokončený.
isEmpty()boolŽiadne viditeľné kroky — prázdny tok sa považuje za dokončený.
currentStep()?StepPrvý nedokončený viditeľný krok — ten, na ktorom sa pokračuje.
currentStepIndex()?intIndex aktuálneho kroku od 0; null, ak žiadny nie je.
position()intPoradové číslo „krok N“ od 1, najviac count().
count() / completedCount()intPočet viditeľných / dokončených viditeľných krokov.
percentageCompleted()floatZo všetkých viditeľných krokov; 100.0 pre prázdny tok.
requiredPercentageCompleted()floatLen z povinných krokov; 100.0, ak žiadne nie sú.
sections() / groups() / section($key)Collection / ?SectionDataPostup po skupinách.
redirectToCurrentStep()?RedirectResponsePresmerovanie na cieľ aktuálneho kroku.
record(?string $key = null)FlowOdošle StepCompleted / FlowCompleted.
dismiss($key)FlowSkryje skryteľný krok — cez manager do markDismissed() v store.
toArray() / toData()array / FlowDataSerializá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 kryptomien

Odoslaní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.