Closed Bellukchips closed 35 minutes ago
Can you show me where in your code you put the MediaAction please?
`<?php
namespace App\Filament\Clusters\Audios\Resources;
use App\Filament\Clusters\Audios; use App\Filament\Clusters\Audios\Resources\AudioResource\Pages; use App\Filament\Clusters\Audios\Resources\AudioResource\RelationManagers; use App\Models\Audio\Audio; use Filament\Forms; use Filament\Forms\Form; use Filament\Pages\SubNavigationPosition; use Filament\Resources\Resource; use Filament\Tables; use Filament\Tables\Table; use Hugomyb\FilamentMediaAction\Actions\MediaAction; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope;
class AudioResource extends Resource { protected static ?string $model = Audio::class;
protected static ?string $navigationIcon = 'heroicon-o-list-bullet';
protected static ?string $cluster = Audios::class;
protected static SubNavigationPosition $subNavigationPosition = SubNavigationPosition::End;
public static function form(Form $form): Form
{
return $form
->schema([
Forms\Components\TextInput::make('name')->required()->maxLength('150'),
Forms\Components\Select::make('category_id')->relationship('category', 'name')->required(),
Forms\Components\TextInput::make('link')->url()
->required()
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('name')->sortable()->searchable(),
Tables\Columns\TextColumn::make('category.name')->sortable()->searchable(),
MediaAction::make('link')
->iconButton()
->icon('heroicon-o-video-camera')
->media('https://www.youtube.com/watch?v=rN9XI9KCz0c&list=PL6tf8fRbavl3jfL67gVOE9rF0jG5bNTMi'),
])
->filters([
Tables\Filters\SelectFilter::make('category')->relationship('category', 'name'),
])
->actions([
Tables\Actions\EditAction::make(),
Tables\Actions\DeleteAction::make(),
])
->bulkActions([
Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
]),
]);
}
public static function getRelations(): array
{
return [
//
];
}
public static function getPages(): array
{
return [
'index' => Pages\ListAudio::route('/'),
'create' => Pages\CreateAudio::route('/create'),
'edit' => Pages\EditAudio::route('/{record}/edit'),
];
}
}
this my code, i will play audio url from database
`
I've tried putting it in a table action, but the result is still the same.
BadMethodCallException PHP 8.2.12 10.48.22 Method Hugomyb\FilamentMediaAction\Actions\MediaAction::modal does not exist.
Bad Method Call Did you mean Hugomyb\FilamentMediaAction\Actions\MediaAction::model() ?
You can't put an Action directly as a column in a table, you have to put the MediaAction in the ->action() method of Column for example :
->columns([
Tables\Columns\TextColumn::make('name')->sortable()->searchable(),
Tables\Columns\TextColumn::make('category.name')->sortable()->searchable(),
Tables\Columns\IconColumn::make('your_media_column')
->boolean()
->trueIcon('heroicon-o-photo')
->action(\Hugomyb\FilamentMediaAction\Tables\Actions\MediaAction::make('link')
->iconButton()
->icon('heroicon-o-video-camera')
->media('https://www.youtube.com/watch?v=rN9XI9KCz0c&list=PL6tf8fRbavl3jfL67gVOE9rF0jG5bNTMi'),
),
])
And use the correct import, here you are in a table so : \Hugomyb\FilamentMediaAction\Tables\Actions\MediaAction
Not : \Hugomyb\FilamentMediaAction\Actions\MediaAction
What happened?
BadMethodCallException PHP 8.2.12 10.48.22 Method Hugomyb\FilamentMediaAction\Actions\MediaAction::modal does not exist.
i just copied example and i have error
MediaAction::make('tutorial') ->iconButton() ->icon('heroicon-o-video-camera') ->media('https://www.youtube.com/watch?v=rN9XI9KCz0c&list=PL6tf8fRbavl3jfL67gVOE9rF0jG5bNTMi'),
How to reproduce the bug
y
Package Version
latest
PHP Version
8.2.12
Laravel Version
10
Which operating systems does with happen with?
Windows
Notes
No response