<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
infinityxtech / filament-world-map-widget example snippets
use App\Filament\Widgets\VisitorGeoMap;
public function getWidgets(): array
{
return [
VisitorGeoMap::class,
];
}
namespace App\Filament\Widgets;
use Filament\Widgets\Concerns\InteractsWithPageFilters;
use InfinityXTech\FilamentWorldMapWidget\Widgets\WorldMapWidget;
class VisitorGeoMap extends WorldMapWidget
{
use InteractsWithPageFilters;
public function stats(): array
{
$range = $this->pageFilters['range'] ?? null;
return [
'US' => filled($range) ? 70000 : 35000,
'RS' => filled($range) ? 30000 : 15000,
];
}
}
namespace App\Filament\Pages;
use App\Filament\Widgets\VisitorGeoMap;
use Filament\Forms\Components\DatePicker;
use Filament\Pages\Dashboard as BaseDashboard;
use Filament\Pages\Dashboard\Concerns\HasFiltersForm;
use Filament\Schemas\Components\Section;
use Filament\Schemas\Schema;
class Dashboard extends BaseDashboard
{
use HasFiltersForm;
public function filtersForm(Schema $schema): Schema
{
return $schema
->components([
Section::make()
->schema([
DatePicker::make('range')
->label('Date range')
->live(),
])
->columns(2)
->columnSpanFull(),
]);
}
public function getWidgets(): array
{
return [
VisitorGeoMap::class,
];
}
}
use Illuminate\Contracts\Support\Htmlable;
use InfinityXTech\FilamentWorldMapWidget\Enums\Map;
public function stats(): array
{
return [
'US' => 35000,
'RS' => 15000,
];
}
public function heading(): string | Htmlable | null
{
return 'World Map';
}
public function tooltip(): string | Htmlable
{
return 'stats';
}
public function map(): Map | string
{
return Map::WORLD;
}
public function customMapUrl(): ?string
{
return null;
}
public function color(): array
{
return [0, 120, 215];
}
public function height(): string
{
return '332px';
}
public function additionalOptions(): array
{
return [];
}
public function map(): Map | string
{
return 'custom-map';
}
public function customMapUrl(): ?string
{
return 'https://example.test/js/custom-map.js';
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.