download countries, teams/player and tournaments for txodds
This commit is contained in:
1 parent
cf37530dd2
commit
356dabb0c1
14 files changed
+294
-17
No files matched your search
@@ -3,17 +3,9 @@
|
||||
namespace App\Filament\Clusters\StaticData\Resources\Bettypes\Pages;
|
||||
|
||||
use App\Filament\Clusters\StaticData\Resources\Bettypes\BettypeResource;
|
||||
use Filament\Actions\CreateAction;
|
||||
use Filament\Resources\Pages\ListRecords;
|
||||
|
||||
class ListBettypes extends ListRecords
|
||||
{
|
||||
protected static string $resource = BettypeResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
CreateAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -4,11 +4,14 @@ namespace App\Filament\Clusters\StaticData\Resources\Bettypes\Tables;
|
||||
|
||||
use App\Models\Sport;
|
||||
use Filament\Actions\EditAction;
|
||||
use Filament\Forms\Components\Select;
|
||||
use Filament\Tables\Columns\IconColumn;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Enums\FiltersLayout;
|
||||
use Filament\Tables\Filters\Filter;
|
||||
use Filament\Tables\Filters\SelectFilter;
|
||||
use Filament\Tables\Table;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
|
||||
class BettypesTable
|
||||
{
|
||||
@@ -38,11 +41,28 @@ class BettypesTable
|
||||
IconColumn::make('q1')->boolean()->trueIcon('phosphor-check-circle-fill')->falseIcon('phosphor-circle')->falseColor('gray'),
|
||||
])
|
||||
->filters([
|
||||
SelectFilter::make('sport_id')
|
||||
->label('Sport')
|
||||
->options(fn () => Sport::where('is_active', 1)->pluck('name', 'id')
|
||||
->toArray()),
|
||||
Filter::make('sport_id')
|
||||
->schema([
|
||||
Select::make(name: 'sport_id')
|
||||
->placeholder('Filter Sport')
|
||||
->hiddenLabel()
|
||||
->preload()
|
||||
->options(fn () => Sport::where('is_active', 1)->pluck('name', 'id'))
|
||||
->live(),
|
||||
])
|
||||
->query(function (Builder $query, array $data): Builder {
|
||||
return $query
|
||||
->when(
|
||||
$data['sport_id'],
|
||||
fn (Builder $query, $sport_id) => $query->where('sport_id', $sport_id)
|
||||
);
|
||||
}),
|
||||
// SelectFilter::make('sport_id')
|
||||
// ->label('')
|
||||
// ->options(fn () => Sport::where('is_active', 1)->pluck('name', 'id')
|
||||
// ->toArray()),
|
||||
], layout: FiltersLayout::AboveContent)
|
||||
->deferFilters(false)
|
||||
->recordActions([
|
||||
EditAction::make()->hiddenLabel(),
|
||||
]);
|
||||
|
||||
@@ -4,8 +4,11 @@ namespace App\Filament\Clusters\StaticData\Resources\Countries;
|
||||
|
||||
use App\Filament\Clusters\StaticData\Resources\Countries\Pages\ManageCountries;
|
||||
use App\Filament\Clusters\StaticData\StaticDataCluster;
|
||||
use App\Filament\Exports\CountryExporter;
|
||||
use App\Models\Country;
|
||||
use Filament\Actions\EditAction;
|
||||
use Filament\Actions\ExportAction;
|
||||
use Filament\Actions\Exports\Enums\ExportFormat;
|
||||
use Filament\Forms\Components\TextInput;
|
||||
use Filament\Forms\Components\Toggle;
|
||||
use Filament\Resources\Resource;
|
||||
@@ -13,6 +16,7 @@ use Filament\Schemas\Schema;
|
||||
use Filament\Support\Enums\IconSize;
|
||||
use Filament\Tables\Columns\IconColumn;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Enums\FiltersLayout;
|
||||
use Filament\Tables\Filters\Filter;
|
||||
use Filament\Tables\Filters\TernaryFilter;
|
||||
use Filament\Tables\Table;
|
||||
@@ -77,6 +81,22 @@ class CountryResource extends Resource
|
||||
Filter::make('icon')
|
||||
->label('Missing Icons')
|
||||
->query(fn (Builder $query): Builder => $query->whereNull('icon')),
|
||||
], layout: FiltersLayout::AboveContent)
|
||||
->deferFilters(false)
|
||||
->headerActions([
|
||||
ExportAction::make()
|
||||
->modalHeading('Download Countries')
|
||||
->label('Export')
|
||||
->icon('phosphor-download')
|
||||
->modalDescription('This will download the Countries (id, name) from TxOdds.')
|
||||
->modalIcon('phosphor-microsoft-excel-logo')
|
||||
->exporter(CountryExporter::class)
|
||||
->columnMapping(false)
|
||||
->modifyQueryUsing(fn (Builder $query) => $query->where('is_country', true))
|
||||
->formats([
|
||||
ExportFormat::Xlsx,
|
||||
ExportFormat::Csv,
|
||||
]),
|
||||
])
|
||||
->recordActions([
|
||||
EditAction::make()->hiddenLabel(),
|
||||
|
||||
@@ -29,7 +29,6 @@ class TxoddsMarketsTable
|
||||
Select::make(name: 'sport_market')
|
||||
->placeholder('Filter Sport')
|
||||
->hiddenLabel()
|
||||
->label('')
|
||||
->preload()
|
||||
->options(function () {
|
||||
return [
|
||||
|
||||
Reference in new issue
Block a user