Všetky balíky
Onboarding for Laravel
Serializácia pre API
Flow::toArray() vytvorí štruktúru, ktorú môžete rovno odovzdať frontendu:
[
'title' => 'Profile Onboarding',
'percentage' => 50.0,
'next_step' => [
'key' => 'upload-photo',
'title' => 'Upload Photo',
'cta' => 'Upload Now',
'action' => 'users@photo@upload',
'is_completed' => false,
'is_optional' => false,
'meta' => [],
'group' => null,
],
'current_step' => [
// same shape as next_step
],
'is_completed' => false,
'steps' => [
// each step as ['key', 'title', 'cta', 'action', 'is_completed', 'is_optional', 'meta', 'group']
],
]next_step a current_step nesú ten istý krok; oba sú null, keď už nezostáva žiadny nedokončený viditeľný krok. Názvy a CTA sú preložené texty.
Typované DTO
Typovaný ekvivalent vráti Flow::toData() ako DTO FlowData a Step::toData() ako StepData. Každé DTO je final readonly a implementuje Arrayable a JsonSerializable:
use RoundlyConsulting\Onboarding\DataTransferObjects\FlowData;
$data = Onboarding::for($user)?->toData(); // ?FlowData
$data?->title; // ?string
$data?->percentage; // float
$data?->currentStep; // ?StepData — the same step as $data->nextStep
$data?->steps; // list<StepData>
$data?->isCompleted; // bool
$data?->currentStep?->key; // 'upload-photo'
$data?->currentStep?->title; // resolved title| DTO | Vlastnosti | Zdroj |
|---|---|---|
FlowData | title, percentage, nextStep, currentStep, steps, isCompleted | Vracia ho Flow::toData(). |
StepData | key, title, cta, action, isCompleted, isOptional, meta, group | Vracia ho Step::toData(); title a cta sú preložené. |
SectionData | key, title, percentage, isCompleted, steps | Vracajú ho sections(), groups() a section(). |
V API route
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use RoundlyConsulting\Onboarding\Facades\Onboarding;
Route::middleware('auth')->get('/api/onboarding', function (Request $request) {
return response()->json(Onboarding::for($request->user())?->toData());
});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.