@@ -7,9 +7,66 @@ navigation:
77
88Flowforge provides three flexible integration patterns to fit different use cases and application architectures.
99
10- ## Custom Page
10+ ## Standalone Livewire
11+
12+ Use in any Laravel application - complete flexibility for custom interfaces.
13+
14+ ``` php
15+ <?php
16+
17+ namespace App\Livewire;
18+
19+ use App\Models\Task;
20+ use Filament\Actions\Concerns\InteractsWithActions;
21+ use Filament\Actions\Contracts\HasActions;
22+ use Filament\Forms\Concerns\InteractsWithForms;
23+ use Filament\Forms\Contracts\HasForms;
24+ use Livewire\Component;
25+ use Relaticle\Flowforge\Board;
26+ use Relaticle\Flowforge\Column;
27+ use Relaticle\Flowforge\Concerns\InteractsWithBoard;
28+ use Relaticle\Flowforge\Contracts\HasBoard;
29+
30+ class TaskBoard extends Component implements HasBoard, HasActions, HasForms
31+ {
32+ use InteractsWithBoard;
33+ use InteractsWithActions;
34+ use InteractsWithForms;
35+
36+ public function board(Board $board): Board
37+ {
38+ return $board
39+ ->query(Task::query())
40+ ->columnIdentifier('status')
41+ ->positionIdentifier('position')
42+ ->columns([
43+ Column::make('todo')->label('To Do')->color('gray'),
44+ Column::make('in_progress')->label('In Progress')->color('blue'),
45+ Column::make('completed')->label('Completed')->color('green'),
46+ ]);
47+ }
48+
49+ public function render()
50+ {
51+ return view('livewire.task-board');
52+ }
53+ }
54+ ```
55+
56+ ``` blade
57+ {{-- resources/views/livewire/task-board.blade.php --}}
58+ <div>
59+ <h1 class="text-2xl font-bold mb-6">Task Board</h1>
60+ {{ $this->board }}
61+ </div>
62+ ```
63+
64+ ** Use when:** Building customer-facing apps, custom dashboards, or non-Filament applications
65+ ** Benefits:** Maximum flexibility, custom styling, independent routing, works anywhere
66+
67+ ## Filament Page
1168
12- Perfect for dedicated board pages in your admin panel.
69+ Perfect for dedicated Kanban pages in your Filament admin panel.
1370
1471``` php
1572<?php
@@ -94,62 +151,5 @@ public static function getPages(): array
94151}
95152```
96153
97- ** Use when:** You want to add Kanban to existing Filament resources
98- ** Benefits:** Inherits resource permissions, policies, and global scopes
99-
100- ## Standalone Livewire
101-
102- Use outside of Filament or in custom applications.
103-
104- ``` php
105- <?php
106-
107- namespace App\Livewire;
108-
109- use App\Models\Task;
110- use Filament\Actions\Concerns\InteractsWithActions;
111- use Filament\Actions\Contracts\HasActions;
112- use Filament\Forms\Concerns\InteractsWithForms;
113- use Filament\Forms\Contracts\HasForms;
114- use Livewire\Component;
115- use Relaticle\Flowforge\Board;
116- use Relaticle\Flowforge\Column;
117- use Relaticle\Flowforge\Concerns\InteractsWithBoard;
118- use Relaticle\Flowforge\Contracts\HasBoard;
119-
120- class TaskBoard extends Component implements HasBoard, HasActions, HasForms
121- {
122- use InteractsWithBoard;
123- use InteractsWithActions;
124- use InteractsWithForms;
125-
126- public function board(Board $board): Board
127- {
128- return $board
129- ->query(Task::query())
130- ->columnIdentifier('status')
131- ->positionIdentifier('position')
132- ->columns([
133- Column::make('todo')->label('To Do')->color('gray'),
134- Column::make('in_progress')->label('In Progress')->color('blue'),
135- Column::make('completed')->label('Completed')->color('green'),
136- ]);
137- }
138-
139- public function render()
140- {
141- return view('livewire.task-board');
142- }
143- }
144- ```
145-
146- ``` blade
147- {{-- resources/views/livewire/task-board.blade.php --}}
148- <div>
149- <h1 class="text-2xl font-bold mb-6">Task Board</h1>
150- {{ $this->board }}
151- </div>
152- ```
153-
154- ** Use when:** Building custom interfaces or non-Filament applications
155- ** Benefits:** Maximum flexibility, custom styling, independent routing
154+ ** Use when:** Adding Kanban views to existing Filament resources
155+ ** Benefits:** Inherits resource permissions, policies, and global scopes automatically
0 commit comments