Skip to content

Commit 649abeb

Browse files
Update README.md
1 parent b3b9e21 commit 649abeb

File tree

1 file changed

+100
-82
lines changed

1 file changed

+100
-82
lines changed

README.md

+100-82
Original file line numberDiff line numberDiff line change
@@ -23,26 +23,26 @@ composer require aymanalhattami/filament-context-menu
2323
```
2424

2525
## Usage
26-
1. Define a ```getContextMenu``` method inside the page (resource page or custom page), the method should return an instance of ```AymanAlhattami\FilamentContextMenu\ContextMenu```
27-
2. Use ```ContextMenu``` class to set menu actions as an array
26+
1. Add the trait ```AymanAlhattami\FilamentContextMenu\InteractsWithContextMenuActions``` to the page you want to add context menu.
27+
2. Then, define a ```getContextMenuActions``` method inside the page, the method should return an array of [Filament Actions](https://filamentphp.com/docs/3.x/actions/installation)
2828

2929
```php
3030
use App\Filament\Resources\UserResource\Pages\CreateUser;
3131
use Filament\Resources\Pages\ListRecords;
3232
use AymanAlhattami\FilamentContextMenu\ContextMenu;
3333
use Filament\Actions\Action;
34+
use AymanAlhattami\FilamentContextMenu\InteractsWithContextMenuActions;
3435

3536
class ListUsers extends ListRecords
3637
{
37-
//
38+
use InteractsWithContextMenuActions;
3839

39-
public static function getContextMenu(): ContextMenu
40+
public function getContextMenuActions(): array
4041
{
41-
return ContextMenu::make()
42-
->actions([
43-
Action::make('Create user')
44-
->url(CreateUser::getUrl())
45-
]);
42+
return [
43+
Action::make('Create user')
44+
->url(CreateUser::getUrl())
45+
];
4646
}
4747

4848
//
@@ -57,24 +57,25 @@ Use ```AymanAlhattami\FilamentContextMenu\ContextMenuDivider``` to set divider b
5757
use App\Filament\Resources\UserResource\Pages\CreateUser;
5858
use App\Filament\Resources\UserResource\Pages\TrashedUsers;
5959
use Filament\Resources\Pages\ListRecords;
60-
use AymanAlhattami\FilamentContextMenu\ContextMenu;
6160
use Filament\Actions\Action;
6261
use AymanAlhattami\FilamentContextMenu\ContextMenuDivider;
62+
use AymanAlhattami\FilamentContextMenu\InteractsWithContextMenuActions;
6363

6464
class ListUsers extends ListRecords
6565
{
66+
use InteractsWithContextMenuActions;
67+
6668
//
6769

68-
public static function getContextMenu(): ContextMenu
70+
public static function getContextMenuActions(): array
6971
{
70-
return ContextMenu::make()
71-
->actions([
72-
Action::make('Create user')
73-
->url(CreateUser::getUrl()),
74-
ContextMenuDivider::make(),
75-
Action::make('Trashed user')
76-
->url(TrashedUsers::getUrl()),
77-
]);
72+
return [
73+
Action::make('Create user')
74+
->url(CreateUser::getUrl()),
75+
ContextMenuDivider::make(),
76+
Action::make('Trashed user')
77+
->url(TrashedUsers::getUrl()),
78+
];
7879
}
7980

8081
//
@@ -86,18 +87,20 @@ You can use ```Filament\Actions\CreateAction```
8687

8788
```php
8889
use Filament\Resources\Pages\ListRecords;
89-
use AymanAlhattami\FilamentContextMenu\ContextMenu;
90+
use AymanAlhattami\FilamentContextMenu\ContextMenuDivider;
91+
use AymanAlhattami\FilamentContextMenu\InteractsWithContextMenuActions;
9092

9193
class ListUsers extends ListRecords
9294
{
95+
use InteractsWithContextMenuActions;
96+
9397
//
9498

95-
public static function getContextMenu(): ContextMenu
99+
public static function getContextMenuActions(): array
96100
{
97-
return ContextMenu::make()
98-
->actions([
99-
\Filament\Actions\CreateAction::make()
100-
]);
101+
return [
102+
\Filament\Actions\CreateAction::make()
103+
];
101104
}
102105

103106
//
@@ -108,19 +111,21 @@ class ListUsers extends ListRecords
108111
You can use ```Filament\Actions\EditAction```
109112

110113
```php
111-
use Filament\Resources\Pages\ListRecords;
114+
use Filament\Resources\Pages\ViewRecord;
112115
use AymanAlhattami\FilamentContextMenu\ContextMenu;
116+
use AymanAlhattami\FilamentContextMenu\InteractsWithContextMenuActions;
113117

114-
class ListUsers extends ListRecords
118+
class ViewUser extends ViewRecord
115119
{
120+
use InteractsWithContextMenuActions;
121+
116122
//
117123

118-
public static function getContextMenu(): ContextMenu
124+
public static function getContextMenuActions(): array
119125
{
120-
return ContextMenu::make()
121-
->actions([
122-
\Filament\Actions\EditAction::make()
123-
]);
126+
return [
127+
\Filament\Actions\EditAction::make()
128+
];
124129
}
125130

126131
//
@@ -131,19 +136,21 @@ class ListUsers extends ListRecords
131136
You can use ```Filament\Actions\ViewAction```
132137

133138
```php
134-
use Filament\Resources\Pages\ListRecords;
139+
use Filament\Resources\Pages\EditRecord;
135140
use AymanAlhattami\FilamentContextMenu\ContextMenu;
141+
use AymanAlhattami\FilamentContextMenu\InteractsWithContextMenuActions;
136142

137-
class ListUsers extends ListRecords
143+
class EditUser extends EditRecord
138144
{
145+
use InteractsWithContextMenuActions;
146+
139147
//
140148

141-
public static function getContextMenu(): ContextMenu
149+
public static function getContextMenuActions(): array
142150
{
143-
return ContextMenu::make()
144-
->actions([
145-
\Filament\Actions\ViewAction::make()
146-
]);
151+
return [
152+
\Filament\Actions\ViewAction::make()
153+
];
147154
}
148155

149156
//
@@ -154,19 +161,21 @@ class ListUsers extends ListRecords
154161
You can use ```Filament\Actions\DeleteAction```
155162

156163
```php
157-
use Filament\Resources\Pages\ListRecords;
164+
use Filament\Resources\Pages\ViewRecord;
158165
use AymanAlhattami\FilamentContextMenu\ContextMenu;
166+
use AymanAlhattami\FilamentContextMenu\InteractsWithContextMenuActions;
159167

160-
class ListUsers extends ListRecords
168+
class ViewUser extends ViewRecord
161169
{
170+
use InteractsWithContextMenuActions;
171+
162172
//
163173

164-
public static function getContextMenu(): ContextMenu
174+
public static function getContextMenuActions(): array
165175
{
166-
return ContextMenu::make()
167-
->actions([
168-
\Filament\Actions\DeleteAction::make()
169-
]);
176+
return [
177+
\Filament\Actions\DeleteAction::make()
178+
];
170179
}
171180

172181
//
@@ -179,17 +188,19 @@ You can use ```Filament\Actions\ExportAction```
179188
```php
180189
use Filament\Resources\Pages\ListRecords;
181190
use AymanAlhattami\FilamentContextMenu\ContextMenu;
191+
use AymanAlhattami\FilamentContextMenu\InteractsWithContextMenuActions;
182192

183193
class ListUsers extends ListRecords
184194
{
195+
use InteractsWithContextMenuActions;
196+
185197
//
186198

187-
public static function getContextMenu(): ContextMenu
199+
public static function getContextMenuActions(): array
188200
{
189-
return ContextMenu::make()
190-
->actions([
191-
\Filament\Actions\ExportAction::make()
192-
]);
201+
return [
202+
\Filament\Actions\ExportAction::make()
203+
];
193204
}
194205

195206
//
@@ -200,19 +211,21 @@ class ListUsers extends ListRecords
200211
You can use ```Filament\Actions\ForceDeleteAction```
201212

202213
```php
203-
use Filament\Resources\Pages\ListRecords;
214+
use Filament\Resources\Pages\ViewRecord;
204215
use AymanAlhattami\FilamentContextMenu\ContextMenu;
216+
use AymanAlhattami\FilamentContextMenu\InteractsWithContextMenuActions;
205217

206-
class ListUsers extends ListRecords
218+
class ViewUser extends ViewRecord
207219
{
220+
use InteractsWithContextMenuActions;
221+
208222
//
209223

210-
public static function getContextMenu(): ContextMenu
224+
public static function getContextMenuActions(): array
211225
{
212-
return ContextMenu::make()
213-
->actions([
214-
\Filament\Actions\ForceDeleteAction::make()
215-
]);
226+
return [
227+
\Filament\Actions\ForceDeleteAction::make()
228+
];
216229
}
217230

218231
//
@@ -225,17 +238,19 @@ You can use ```Filament\Actions\ImportAction```
225238
```php
226239
use Filament\Resources\Pages\ListRecords;
227240
use AymanAlhattami\FilamentContextMenu\ContextMenu;
241+
use AymanAlhattami\FilamentContextMenu\InteractsWithContextMenuActions;
228242

229243
class ListUsers extends ListRecords
230244
{
245+
use InteractsWithContextMenuActions;
246+
231247
//
232248

233-
public static function getContextMenu(): ContextMenu
249+
public static function getContextMenuActions(): array
234250
{
235-
return ContextMenu::make()
236-
->actions([
237-
\Filament\Actions\ImportAction::make()
238-
]);
251+
return [
252+
\Filament\Actions\ImportAction::make()
253+
];
239254
}
240255

241256
//
@@ -248,17 +263,19 @@ You can use ```Filament\Actions\ReplicateAction```
248263
```php
249264
use Filament\Resources\Pages\ListRecords;
250265
use AymanAlhattami\FilamentContextMenu\ContextMenu;
266+
use AymanAlhattami\FilamentContextMenu\InteractsWithContextMenuActions;
251267

252-
class ListUsers extends ListRecords
268+
class ViewUser extends ViewRecord
253269
{
270+
use InteractsWithContextMenuActions;
271+
254272
//
255273

256-
public static function getContextMenu(): ContextMenu
274+
public static function getContextMenuActions(): array
257275
{
258-
return ContextMenu::make()
259-
->actions([
260-
\Filament\Actions\ReplicateAction::make()
261-
]);
276+
return [
277+
\Filament\Actions\ReplicateAction::make()
278+
];
262279
}
263280

264281
//
@@ -271,35 +288,36 @@ You can use ```Filament\Actions\RestoreAction```
271288
```php
272289
use Filament\Resources\Pages\ListRecords;
273290
use AymanAlhattami\FilamentContextMenu\ContextMenu;
291+
use AymanAlhattami\FilamentContextMenu\InteractsWithContextMenuActions;
274292

275293
class ListUsers extends ListRecords
276294
{
295+
use InteractsWithContextMenuActions;
296+
277297
//
278298

279-
public static function getContextMenu(): ContextMenu
299+
public static function getContextMenuActions(): array
280300
{
281-
return ContextMenu::make()
282-
->actions([
283-
\Filament\Actions\RestoreAction::make()
284-
]);
301+
return [
302+
\Filament\Actions\RestoreAction::make()
303+
];
285304
}
286305

287306
//
288307
}
289308
```
290309

291310
### Note
292-
For action to have a nice look, use ```->link()``` method for the action
311+
For action to have a nice style, use ```->link()``` method a the action, [link](https://filamentphp.com/docs/3.x/actions/trigger-button#choosing-a-trigger-style)
293312

294313
```php
295-
public static function getContextMenu(): ContextMenu
314+
public static function getContextMenuActions(): array
296315
{
297-
return ContextMenu::make()
298-
->actions([
299-
Action::make('Create user')
300-
->url(CreateUser::getUrl())
301-
->link()
302-
]);
316+
return [
317+
Action::make('Create user')
318+
->url(CreateUser::getUrl())
319+
->link()
320+
];
303321
}
304322
```
305323

0 commit comments

Comments
 (0)